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

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*!
 * 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: source-han-sans-japanese, sans-serif;
  color: #333333;
  -webkit-text-size-adjust: 100%; }

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

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

a {
  color: inherit;
  text-decoration: none;
  transition: .3s; }
  a:hover {
    opacity: .6; }

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

.inner-small {
  max-width: 800px;
  margin: 0 auto;
  width: calc(100% - 80px); }

body {
  padding-top: 85px; }

.footer {
  background-color: #F2F2F2; }
  .footer .section1 {
    display: block; }
    .footer .section1 .img-box {
      background-image: url(../images/footer/main-bg.jpg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media only screen and (min-width: 768px) {
        .footer .section1 .img-box {
          height: 300px; } }
      @media only screen and (max-width: 767px) {
        .footer .section1 .img-box {
          flex-direction: column;
          background-image: url(../images/footer/main-bg-sp.jpg);
          flex-direction: column; } }
      .footer .section1 .img-box .contents-3 {
        text-align: center;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        justify-content: flex-end;
        flex-direction: column;
        position: relative;
        height: 300px; }
        @media only screen and (min-width: 768px) {
          .footer .section1 .img-box .contents-3:nth-of-type(1) {
            width: 35.78125%; }
            .footer .section1 .img-box .contents-3:nth-of-type(1) a {
              padding-left: 100px; }
          .footer .section1 .img-box .contents-3:nth-of-type(2) {
            width: 26%; }
            .footer .section1 .img-box .contents-3:nth-of-type(2) a {
              padding-right: 30px; }
          .footer .section1 .img-box .contents-3:nth-of-type(3) {
            width: 33.3%; }
            .footer .section1 .img-box .contents-3:nth-of-type(3) a {
              padding-right: 60px; } }
        @media only screen and (max-width: 767px) {
          .footer .section1 .img-box .contents-3 {
            width: 100%;
            height: 240px;
            justify-content: center; } }
        .footer .section1 .img-box .contents-3:after {
          content: '';
          position: absolute;
          width: 3px;
          height: 81%;
          background-image: url(../images/footer/border-dec.svg);
          background-repeat: no-repeat; }
          @media only screen and (min-width: 768px) {
            .footer .section1 .img-box .contents-3:after {
              right: 0;
              top: 50%;
              transform: translateY(-50%); } }
          @media only screen and (max-width: 767px) {
            .footer .section1 .img-box .contents-3:after {
              background-image: url(../images/footer/border-dec-sp.svg);
              bottom: -3px;
              left: 50%;
              transform: translateX(-50%);
              width: 325px;
              height: 3px; } }
        .footer .section1 .img-box .contents-3:last-child:after {
          display: none; }
        .footer .section1 .img-box .contents-3 .icons {
          transition: .3s;
          fill: #fff; }
        .footer .section1 .img-box .contents-3:hover a {
          color: #F4B73B;
          opacity: 1; }
        .footer .section1 .img-box .contents-3:hover .icons {
          fill: #F4B73B; }
        .footer .section1 .img-box .contents-3 .arrow-svg:hover {
          fill: #fb8c00; }
        .footer .section1 .img-box .contents-3 a {
          flex-direction: column;
          align-items: center;
          justify-content: flex-end;
          display: flex;
          height: 100%;
          width: 100%;
          color: #fff;
          transition: .3s; }
          @media only screen and (min-width: 768px) {
            .footer .section1 .img-box .contents-3 a {
              padding-bottom: 70px; } }
          @media only screen and (max-width: 767px) {
            .footer .section1 .img-box .contents-3 a {
              justify-content: center; }
              .footer .section1 .img-box .contents-3 a .img {
                width: 53.3px;
                margin: 0 auto; }
              .footer .section1 .img-box .contents-3 a .img2 {
                width: 72.83px;
                margin: 0 auto; }
              .footer .section1 .img-box .contents-3 a .img3 {
                width: 61.24px;
                margin: 0 auto; } }
          .footer .section1 .img-box .contents-3 a .en {
            font-size: 52px;
            font-size: 5.2rem;
            letter-spacing: 0.08em;
            font-weight: 300;
            font-family: din-2014-narrow, sans-serif;
            display: block;
            line-height: 1.769230769; }
          .footer .section1 .img-box .contents-3 a .ja {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.2em;
            font-weight: 500;
            display: block; }
  .footer .section2 {
    margin-top: 77px; }
    @media only screen and (max-width: 767px) {
      .footer .section2 {
        margin-top: 60px; } }
    .footer .section2 .inner {
      color: #002d5f;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        .footer .section2 .inner {
          flex-direction: column; } }
      .footer .section2 .inner .info {
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: 0.06em;
        line-height: 2.2;
        width: 33%; }
        @media only screen and (max-width: 767px) {
          .footer .section2 .inner .info {
            width: 100%;
            line-height: 2.1; } }
        @media screen and (min-width: 768px) and (max-width: 1029px) {
          .footer .section2 .inner .info {
            font-size: 12px;
            font-size: 1.2rem; } }
        .footer .section2 .inner .info .img {
          width: 215px;
          margin-bottom: 15px;
          margin-top: -7px; }
          @media only screen and (max-width: 767px) {
            .footer .section2 .inner .info .img {
              width: 285px;
              margin-bottom: 30px; } }
        @media only screen and (max-width: 767px) {
          .footer .section2 .inner .info .address {
            margin-bottom: 20px;
            display: block; } }
      .footer .section2 .inner .sitemap {
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: 0.1em;
        line-height: 2.7;
        width: 39%;
        display: flex;
        justify-content: space-between; }
        @media only screen and (max-width: 767px) {
          .footer .section2 .inner .sitemap {
            width: 100%;
            flex-direction: column;
            line-height: 2.3; } }
        @media only screen and (min-width: 768px) {
          .footer .section2 .inner .sitemap {
            margin-left: 15px; } }
        @media screen and (min-width: 768px) and (max-width: 938px) {
          .footer .section2 .inner .sitemap {
            font-size: 10px;
            font-size: 1rem; } }
        .footer .section2 .inner .sitemap h3 {
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.1em;
          line-height: 2.333333333;
          margin-bottom: 24px; }
          @media only screen and (min-width: 768px) {
            .footer .section2 .inner .sitemap h3 {
              display: inline-block; } }
          @media only screen and (max-width: 767px) {
            .footer .section2 .inner .sitemap h3 {
              margin-bottom: 10px; } }
          @media screen and (min-width: 768px) and (max-width: 988px) {
            .footer .section2 .inner .sitemap h3 {
              font-size: 13px;
              font-size: 1.3rem; } }
          .footer .section2 .inner .sitemap h3:after {
            content: '';
            width: 19.2307692%;
            height: 1px;
            display: block;
            background-color: #F4B73B; }
            @media only screen and (max-width: 767px) {
              .footer .section2 .inner .sitemap h3:after {
                width: 100%; } }
        .footer .section2 .inner .sitemap .box1 {
          width: 30.7297297%; }
          @media only screen and (min-width: 768px) {
            .footer .section2 .inner .sitemap .box1 {
              margin-left: 2px; } }
          @media only screen and (max-width: 767px) {
            .footer .section2 .inner .sitemap .box1 {
              width: 100%; } }
        .footer .section2 .inner .sitemap .box2 {
          width: 58.3%; }
          @media only screen and (max-width: 767px) {
            .footer .section2 .inner .sitemap .box2 {
              width: 100%;
              margin-top: 13px; } }
      .footer .section2 .inner .shop-link {
        width: 21.4%;
        padding-top: 15px; }
        @media only screen and (min-width: 768px) {
          .footer .section2 .inner .shop-link {
            margin-right: -10px; } }
        @media only screen and (max-width: 767px) {
          .footer .section2 .inner .shop-link {
            width: 100%;
            padding-top: 27px; } }
        .footer .section2 .inner .shop-link a {
          font-size: 13px;
          font-size: 1.3rem;
          letter-spacing: 0.1em;
          border-bottom: 1px solid #002d5f;
          display: flex;
          align-items: center;
          padding-bottom: 8px; }
          @media screen and (min-width: 768px) and (max-width: 1046px) {
            .footer .section2 .inner .shop-link a {
              font-size: 12px;
              font-size: 1.2rem; } }
          .footer .section2 .inner .shop-link a:nth-child(n + 2) {
            margin-top: 27px; }
          .footer .section2 .inner .shop-link a span {
            width: 90%; }
          .footer .section2 .inner .shop-link a img {
            margin-left: 10px; }
  .footer .section3 {
    margin-top: 50px;
    margin-bottom: 60px; }
    @media only screen and (max-width: 767px) {
      .footer .section3 {
        margin-top: 47px;
        margin-bottom: 45px; } }
    .footer .section3 .inner {
      max-width: 750px; }
      .footer .section3 .inner .banner {
        display: flex;
        justify-content: center; }
        @media only screen and (max-width: 767px) {
          .footer .section3 .inner .banner {
            flex-direction: column; } }
        .footer .section3 .inner .banner .box {
          width: calc((100% - 30px)/3);
          display: flex;
          background-color: #fff;
          border: 1px solid #002d5f; }
          @media only screen and (min-width: 768px) {
            .footer .section3 .inner .banner .box:last-child {
              margin-right: 0; } }
          @media only screen and (min-width: 768px) {
            .footer .section3 .inner .banner .box {
              margin-right: 15px; } }
          @media only screen and (max-width: 767px) {
            .footer .section3 .inner .banner .box {
              width: 100%; }
              .footer .section3 .inner .banner .box:nth-child(n + 2) {
                margin-top: 22px; } }
          .footer .section3 .inner .banner .box .img {
            width: 45.5833333%; }
          .footer .section3 .inner .banner .box .txt {
            text-align: center;
            color: #002d5f;
            display: -webkit-flex;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: center;
            justify-content: center;
            flex-direction: column;
            width: 70%; }
            @media only screen and (max-width: 767px) {
              .footer .section3 .inner .banner .box .txt {
                padding-bottom: 8px; } }
            .footer .section3 .inner .banner .box .txt .en {
              display: block;
              font-size: 20px;
              font-size: 2rem;
              letter-spacing: 0.08em;
              font-weight: 300;
              font-family: din-2014-narrow, sans-serif; }
              @media only screen and (min-width: 768px) {
                .footer .section3 .inner .banner .box .txt .en {
                  margin-bottom: 8px; } }
              @media only screen and (max-width: 767px) {
                .footer .section3 .inner .banner .box .txt .en {
                  font-size: 24px;
                  font-size: 2.4rem;
                  line-height: 1.5; } }
            .footer .section3 .inner .banner .box .txt .ja {
              font-size: 12px;
              font-size: 1.2rem;
              letter-spacing: 0.06em; }
              @media only screen and (max-width: 767px) {
                .footer .section3 .inner .banner .box .txt .ja {
                  font-size: 14px;
                  font-size: 1.4rem; } }
          .footer .section3 .inner .banner .box.box-jobway {
            align-items: center;
            justify-content: center; }
            .footer .section3 .inner .banner .box.box-jobway .img {
              width: 100px; }
              @media only screen and (max-width: 767px) {
                .footer .section3 .inner .banner .box.box-jobway .img {
                  width: 43.1254237%;
                  padding: 21px 0; } }
  .footer .seotext {
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: 0.1em;
    line-height: 2.545454545;
    color: #002d5f; }
  .footer .footer-copy-right {
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: 54px 0; }
    @media only screen and (min-width: 768px) {
      .footer .footer-copy-right {
        margin-top: 67px; } }
    @media only screen and (max-width: 767px) {
      .footer .footer-copy-right {
        height: 140px;
        margin-top: 75px; } }
    .footer .footer-copy-right .inner {
      display: flex; }
      @media only screen and (max-width: 767px) {
        .footer .footer-copy-right .inner {
          flex-direction: column; } }
      @media only screen and (max-width: 767px) {
        .footer .footer-copy-right .inner .page-link {
          position: relative;
          top: 5px; } }
    .footer .footer-copy-right span {
      font-size: 13px;
      font-size: 1.3rem;
      letter-spacing: 0.06em;
      margin-right: 25px; }
      .footer .footer-copy-right span:last-child {
        margin-right: 0; }
    .footer .footer-copy-right .copy {
      color: #707070;
      display: inline-block; }
      @media only screen and (min-width: 768px) {
        .footer .footer-copy-right .copy {
          margin-left: 30px; } }
      @media only screen and (max-width: 767px) {
        .footer .footer-copy-right .copy {
          line-height: 1.7;
          margin-top: 31px; } }
  .footer button {
    border: none;
    background-color: transparent;
    cursor: pointer;
    position: fixed;
    right: 35px;
    bottom: 35px;
    opacity: 0;
    z-index: 99;
    transition: .3s; }
    @media only screen and (max-width: 767px) {
      .footer button {
        right: 14px;
        bottom: 22px; } }
  .footer #to-top.is-visible {
    opacity: 1; }

.header {
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100; }
  .header .header-h1 {
    padding-top: 10px;
    padding-left: 39px; }
  .header .header-main {
    padding: 0 30px;
    height: 65px;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .header .header-main {
        z-index: 1;
        height: 85px;
        padding: 10px 30px 0 15px;
        position: relative; }
        .header .header-main:before {
          content: '';
          width: 100%;
          height: 100px;
          display: block;
          position: absolute;
          top: auto;
          bottom: 0px;
          left: 0;
          right: 0;
          background-color: #fff;
          z-index: 2; } }
    .header .header-main .menu-contents {
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      height: 50px;
      background-color: #F4B73B;
      z-index: 1;
      display: none; }
      .header .header-main .menu-contents .inner {
        height: 100%; }
        .header .header-main .menu-contents .inner ul {
          display: -webkit-flex;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          -webkit-justify-content: center;
          justify-content: center;
          height: 100%; }
          .header .header-main .menu-contents .inner ul li {
            font-size: 12px;
            font-size: 1.2rem;
            letter-spacing: 0.15em;
            font-weight: 500;
            color: #fff;
            margin-right: 50px; }
            .header .header-main .menu-contents .inner ul li:last-child {
              margin-right: 0; }
            .header .header-main .menu-contents .inner ul li:nth-child(n + 2) {
              margin-left: 0; }
            .header .header-main .menu-contents .inner ul li:nth-of-type(3) a:before {
              display: none; }
            .header .header-main .menu-contents .inner ul li a {
              display: flex;
              align-items: center; }
    .header .header-main .logo {
      cursor: pointer;
      transition: 0.3s;
      width: 163px;
      align-items: center;
      display: flex; }
      @media only screen and (max-width: 767px) {
        .header .header-main .logo {
          position: relative;
          z-index: 2;
          width: 208px; } }
      @media all and (-ms-high-contrast: none) {
        .header .header-main .logo img {
          width: 163px; } }
    .header .header-main .hamburger {
      width: 35px;
      height: 35px;
      position: relative;
      right: -5px;
      top: 15px;
      z-index: 3;
      background: linear-gradient(97deg, #002d5f 0%, #93b5ed 100%); }
      .header .header-main .hamburger.is-active > div span {
        margin: 0 !important; }
        .header .header-main .hamburger.is-active > div span:nth-child(1) {
          -webkit-transform: rotate(45deg) translate(5px, 4px);
          -moz-transform: rotate(45deg) translate(5px, 4px);
          -ms-transform: rotate(45deg) translate(5px, 4px);
          -o-transform: rotate(45deg) translate(5px, 4px);
          transform: rotate(45deg) translate(5px, 4px); }
        .header .header-main .hamburger.is-active > div span:nth-child(2) {
          opacity: 0; }
        .header .header-main .hamburger.is-active > div span:nth-child(3) {
          width: 100%;
          -webkit-transform: rotate(-45deg) translate(-3px, 3px);
          -moz-transform: rotate(-45deg) translate(-3px, 3px);
          -ms-transform: rotate(-45deg) translate(-3px, 3px);
          -o-transform: rotate(-45deg) translate(-3px, 3px);
          transform: rotate(-45deg) translate(-3px, 3px); }
      .header .header-main .hamburger > div {
        width: 15px;
        height: 15px;
        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%); }
        .header .header-main .hamburger > div span {
          height: 1px;
          -webkit-transition: 0.3s ease all;
          -moz-transition: 0.3s ease all;
          -o-transition: 0.3s ease all;
          transition: 0.3s ease all;
          display: block;
          background-color: #fff; }
          .header .header-main .hamburger > div span:nth-child(1) {
            width: 100%; }
          .header .header-main .hamburger > div span:nth-child(2) {
            width: 100%;
            margin: 5px 0 0; }
          .header .header-main .hamburger > div span:nth-child(3) {
            width: 100%;
            margin: 5px 0 0 auto; }
    @media only screen and (max-width: 767px) {
      .header .header-main .gnav {
        position: fixed;
        top: 0;
        left: 0;
        background-color: #FFF;
        width: 100%;
        -webkit-transform: translateY(-100%);
        -moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        -o-transform: translateY(-100%);
        transform: translateY(-100%);
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
        z-index: 1;
        height: 100%;
        overflow-y: scroll; }
        .header .header-main .gnav.is-active {
          -webkit-transform: translateY(0);
          -moz-transform: translateY(0);
          -ms-transform: translateY(0);
          -o-transform: translateY(0);
          transform: translateY(0); } }
    .header .header-main .gnav nav {
      display: -webkit-flex;
      display: flex;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        .header .header-main .gnav nav {
          display: block;
          width: 100%;
          padding-top: 85px; } }
      @media only screen and (max-width: 767px) {
        .header .header-main .gnav nav .inner {
          width: calc(100% - 80px);
          padding-bottom: 60px; } }
      .header .header-main .gnav nav ul {
        display: flex; }
        @media only screen and (max-width: 767px) {
          .header .header-main .gnav nav ul {
            flex-direction: column;
            width: 100%;
            padding-top: 30px; } }
        .header .header-main .gnav nav ul li {
          display: flex;
          align-items: flex-end;
          height: 65px; }
          @media only screen and (max-width: 767px) {
            .header .header-main .gnav nav ul li {
              justify-content: center;
              height: 76px;
              border-bottom: 1px solid #F4B73B; } }
          .header .header-main .gnav nav ul li a {
            font-size: 12px;
            font-size: 1.2rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            align-items: center;
            display: flex;
            height: 100%; }
            @media only screen and (max-width: 767px) {
              .header .header-main .gnav nav ul li a {
                color: #002d5f;
                font-size: 18px;
                font-size: 1.8rem;
                letter-spacing: 0.1em;
                display: flex;
                width: 100%;
                justify-content: center; }
                .header .header-main .gnav nav ul li a span {
                  white-space: nowrap; } }
          @media only screen and (min-width: 768px) {
            .header .header-main .gnav nav ul li:nth-child(n + 2) {
              margin-left: 25px; }
            .header .header-main .gnav nav ul li:nth-of-type(3) {
              margin: 0 -5px 0 30px; }
              .header .header-main .gnav nav ul li:nth-of-type(3) a {
                position: relative; } }
    @media only screen and (min-width: 768px) and (min-width: 768px) {
      .header .header-main .gnav nav ul li:nth-of-type(3) a span {
        white-space: nowrap; } }
          .header .header-main .gnav nav ul li .icn {
            margin-right: 10px;
            display: inline-block; }
          .header .header-main .gnav nav ul li .arw {
            display: block;
            margin-left: 5px;
            transition: .3s; }
      .header .header-main .gnav nav .tel {
        flex-direction: column;
        display: flex;
        align-items: center;
        margin: 0px 15px 0 30px;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .header .header-main .gnav nav .tel {
            margin: 35px 19px 25px 30px; } }
        .header .header-main .gnav nav .tel a {
          font-size: 28px;
          font-size: 2.8rem;
          color: #002d5f;
          margin-bottom: 5px;
          font-family: din-2014-narrow, sans-serif;
          letter-spacing: 0.1em; }
          @media only screen and (max-width: 767px) {
            .header .header-main .gnav nav .tel a {
              margin-bottom: 10px;
              font-size: 30px;
              font-size: 3rem;
              letter-spacing: 0.18em; }
              .header .header-main .gnav nav .tel a img {
                width: 20px;
                height: 27px; }
              .header .header-main .gnav nav .tel a span {
                padding-right: 8px;
                margin-left: -5px; } }
        .header .header-main .gnav nav .tel .open {
          font-size: 12px;
          font-size: 1.2rem;
          letter-spacing: 0.06em;
          padding-left: 29px; }
          @media only screen and (max-width: 767px) {
            .header .header-main .gnav nav .tel .open {
              font-size: 15px;
              font-size: 1.5rem;
              padding-left: 20px; } }
          .header .header-main .gnav nav .tel .open .time {
            font-size: 14px;
            font-size: 1.4rem;
            font-family: din-2014-narrow, sans-serif; }
            @media only screen and (max-width: 767px) {
              .header .header-main .gnav nav .tel .open .time {
                font-size: 17px;
                font-size: 1.7rem; } }
          .header .header-main .gnav nav .tel .open .day {
            font-size: 11px;
            font-size: 1.1rem; }
            @media only screen and (max-width: 767px) {
              .header .header-main .gnav nav .tel .open .day {
                font-size: 13px;
                font-size: 1.3rem; } }
      .header .header-main .gnav nav .contact {
        width: 152.16px;
        height: 38.79px;
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        letter-spacing: 0.15em;
        font-weight: 500;
        background: linear-gradient(97deg, #002d5f 0%, #93b5ed 100%);
        padding: 14px 13px;
        color: #fff;
        text-align: center;
        transition: none; }
        @media only screen and (max-width: 767px) {
          .header .header-main .gnav nav .contact {
            width: 220px;
            margin: 0 auto;
            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 (device-aspect-ratio: 139 / 199) {
          .header .header-main .gnav nav .contact {
            font-size: 9px;
            font-size: 0.9rem; } }

.header-main.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  height: 85px;
  background: #fff; }
  .header-main.fixed .gnav {
    display: flex; }

.menu-box.is-open .arw {
  transform: rotate(180deg);
  margin-top: 5px; }

.bg_list-box {
  background-image: url(../images/strength/rule-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 35px 65px 83px;
  margin-top: 65px; }
  @media only screen and (max-width: 767px) {
    .bg_list-box {
      padding: 38px 20px 65px;
      margin-top: 50px;
      background-image: url(../images/system/rule-bg-sp.jpg); } }
  .bg_list-box .sec-title_sub {
    text-align: center;
    color: #fff; }
    .bg_list-box .sec-title_sub:after {
      margin: 23px auto 0;
      background-image: url(../images/strength/bottom-bar-w.svg); }
  .bg_list-box ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      .bg_list-box ul {
        flex-direction: column;
        margin-top: 40px; } }
    .bg_list-box ul li {
      background-color: #fff;
      color: #002d5f;
      width: calc((100% - 25px) / 2);
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.06em;
      line-height: 1.733333333;
      padding: 12px 0;
      text-align: center;
      position: relative; }
      @media only screen and (min-width: 768px) {
        .bg_list-box ul li {
          margin-right: 25px; }
          .bg_list-box ul li:nth-child(2n + 2) {
            margin-right: 0; }
          .bg_list-box ul li:nth-child(n + 3) {
            margin-top: 25px; } }
      @media only screen and (max-width: 767px) {
        .bg_list-box ul li {
          letter-spacing: 0em;
          width: 100%;
          padding: 14px 5px; }
          .bg_list-box ul li:nth-child(n + 2) {
            margin-top: 15px; } }
      @media all and (-ms-high-contrast: none) {
        .bg_list-box ul li {
          padding-top: 9px; } }
      .bg_list-box ul li:before {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        right: -5px;
        bottom: -5px;
        background-color: transparent;
        border: 1px solid #fff; }
  .bg_list-box.no-title {
    background-image: url(../images/system/rule-bg2.jpg); }
    @media only screen and (min-width: 768px) {
      .bg_list-box.no-title {
        padding: 11px 133px 58px; } }
    @media only screen and (max-width: 767px) {
      .bg_list-box.no-title {
        background-image: url(../images/system/rule-bg2-sp.jpg);
        padding: 10px 25px 55px;
        margin: 50px -15px 0; } }

#breadcrumbs {
  display: block;
  line-height: 1.6;
  padding-top: 20px;
  padding-left: 20px; }
  @media only screen and (max-width: 767px) {
    #breadcrumbs {
      padding: 15px 25px 0; } }
  #breadcrumbs ul li {
    display: inline;
    font-size: 12px;
    font-size: 1.2rem;
    letter-spacing: 0.06em;
    color: #002d5f; }
    #breadcrumbs ul li a, #breadcrumbs ul li span {
      display: inline; }
    @media only screen and (min-width: 768px) {
      #breadcrumbs ul li a:hover {
        opacity: .7; } }
    #breadcrumbs ul li:after {
      content: '';
      width: 4px;
      height: 4px;
      border-right: 1px solid #002d5f;
      border-bottom: 1px solid #002d5f;
      display: inline-block;
      transform: rotateZ(-45deg);
      margin: 0 8px 0 10px;
      position: relative;
      top: -2px; }
      @media only screen and (max-width: 767px) {
        #breadcrumbs ul li:after {
          margin: 0 8px 0 12px;
          width: 3px;
          height: 3px;
          top: -3px; } }
    #breadcrumbs ul li:last-child:after {
      display: none; }

.cms-cont {
  max-width: 800px;
  margin: 0 auto; }
  .cms-cont h3 {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 43px;
    letter-spacing: 0.1em;
    padding-bottom: 20px;
    border-bottom: 10px solid #002D5F;
    margin-bottom: 33px;
    color: #002D5F;
    font-weight: 500; }
    @media only screen and (max-width: 767px) {
      .cms-cont h3 {
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 38px;
        padding-bottom: 10px;
        border-bottom: 6px solid #002D5F; } }
  .cms-cont h4 {
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 62px;
    letter-spacing: 0.1em;
    display: inline;
    background: url(../images/news/under_bg.png) repeat-x bottom left;
    text-decoration: none !important;
    padding-bottom: 15px;
    position: relative;
    font-weight: 500; }
    .cms-cont h4::before {
      content: "";
      display: table; }
    .cms-cont h4:after {
      content: "";
      display: table;
      height: 30px; }
    @media only screen and (max-width: 767px) {
      .cms-cont h4 {
        font-size: 19px;
        font-size: 1.9rem;
        line-height: 52px; } }
  .cms-cont h5 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 36px;
    letter-spacing: 0.1em;
    border-left: 1px solid #002D5F;
    color: #002D5F;
    position: relative;
    font-weight: bold;
    padding-left: 20px;
    margin-bottom: 24px;
    font-weight: 500; }
    .cms-cont h5:before, .cms-cont h5:after {
      content: "";
      position: absolute;
      width: 11px;
      height: 14px;
      background: #fff url(../images/news/ico_cir.svg) no-repeat center bottom/5px 5px; }
    .cms-cont h5:before {
      top: 0;
      left: -6px; }
    .cms-cont h5:after {
      bottom: 0;
      left: -6px;
      background-position: center top; }
    @media only screen and (max-width: 767px) {
      .cms-cont h5 {
        font-weight: 500;
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 36px; } }
  .cms-cont p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 38px;
    letter-spacing: 0.06em;
    margin-bottom: 50px;
    display: block; }
    @media only screen and (max-width: 767px) {
      .cms-cont p {
        margin-bottom: 40px; } }
  .cms-cont a {
    text-decoration: underline;
    color: #F4B73B; }
  .cms-cont em {
    font-style: normal; }
  .cms-cont span[style*="text-decoration: underline;"] {
    background: url(../images/news/under2_bg.png) repeat-x bottom left;
    text-decoration: none !important; }
  .cms-cont blockquote {
    padding: 20px 30px 20px;
    background: #F2F8FF;
    border: 1px solid #002D5F;
    margin-bottom: 30px;
    position: relative; }
    .cms-cont blockquote:before, .cms-cont blockquote:after {
      position: absolute;
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #002D5F;
      top: -2px; }
    .cms-cont blockquote:before {
      left: -3px; }
    .cms-cont blockquote:after {
      right: -3px; }
    .cms-cont blockquote p:last-of-type {
      margin-bottom: 0; }
    .cms-cont blockquote i {
      position: absolute;
      bottom: -2px;
      width: 100%;
      left: 0; }
      .cms-cont blockquote i:before, .cms-cont blockquote i:after {
        position: absolute;
        content: "";
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #002D5F;
        bottom: -1px; }
      .cms-cont blockquote i:before {
        left: -3px; }
      .cms-cont blockquote i:after {
        right: -3px; }
  .cms-cont ul,
  .cms-cont ol {
    padding-left: 16px;
    margin-bottom: 30px;
    list-style: unset; }
    .cms-cont ul li,
    .cms-cont ol li {
      margin-bottom: 10px; }
  .cms-cont ul[style*="list-style-type: circle;"] li {
    list-style-type: circle; }
  .cms-cont ul[style*="list-style-type: square;"] li {
    list-style-type: square; }
  .cms-cont ul li {
    list-style: disc; }
  .cms-cont ol[style*="list-style-type: lower-roman;"] li {
    list-style-type: lower-roman; }
  .cms-cont ol[style*="list-style-type: lower-alpha;"] li {
    list-style-type: lower-alpha; }
  .cms-cont ol[style*="list-style-type: lower-greek;"] li {
    list-style-type: lower-greek; }
  .cms-cont ol[style*="list-style-type: upper-alpha;"] li {
    list-style-type: upper-alpha; }
  .cms-cont ol[style*="list-style-type: upper-roman;"] li {
    list-style-type: upper-roman; }
  .cms-cont ol li {
    list-style-type: decimal; }

.link-btn {
  background-color: #F4B73B;
  text-align: center;
  display: inline-block;
  color: #fff;
  border: 1px solid #F4B73B; }
  @media only screen and (max-width: 767px) {
    .link-btn {
      width: 152px;
      display: block;
      margin: 30px auto 0; } }
  .link-btn a {
    display: inline-block;
    padding: 10px 42px;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    width: 100%; }
    @media only screen and (max-width: 767px) {
      .link-btn a {
        padding: 12px 0; } }
    @media all and (-ms-high-contrast: none) {
      .link-btn a {
        padding-top: 7px; } }
    .link-btn a:hover {
      background-color: #fff;
      color: #F4B73B;
      opacity: 1; }

.c-btn {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.15em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 152px;
  height: 38px;
  color: #fff;
  background-color: #F4B73B;
  border: 1px solid #F4B73B; }
  @media only screen and (min-width: 768px) {
    .c-btn:hover {
      background-color: #fff;
      color: #F4B73B; } }
  .c-btn.blank {
    background: #F4B73B url(../images/common/ico_target_blank.svg) right 20px center/9px 9px no-repeat; }
    @media only screen and (min-width: 768px) {
      .c-btn.blank:hover {
        background-color: #fff;
        background-image: url(../images/common/ico_target_blank_yellow.svg); } }
  .c-btn--line {
    width: 220px;
    height: 50px;
    position: relative;
    justify-content: flex-start;
    padding: 0 20px 0 50px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    .c-btn--line:before, .c-btn--line:after {
      content: '';
      width: 20px;
      height: 1px;
      background: #fff;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
    .c-btn--line:before {
      left: -20px;
      background: #F4B73B; }
    @media only screen and (min-width: 768px) {
      .c-btn--line:hover {
        background: #F4B73B;
        color: #fff;
        padding: 0 20px 0 70px; }
        .c-btn--line:hover:before {
          left: 0; }
        .c-btn--line:hover:after {
          left: 20px;
          width: 0; } }
  .c-btn--white {
    background-color: #fff;
    border: 1px solid #fff;
    color: #002d5f; }
    @media only screen and (min-width: 768px) {
      .c-btn--white:hover {
        color: #F4B73B;
        border: 1px solid #F4B73B; } }
  @media only screen and (max-width: 767px) {
    .c-btn {
      width: 210px;
      height: 52px;
      font-size: 15px;
      font-size: 1.5rem; }
      .c-btn--line {
        width: 183px; }
      .c-btn.blank {
        padding: 0 45px 0 9px;
        background-size: 13px 13px;
        background-position: right 24px center; } }

.btn-more {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 99px;
  height: 32px;
  background-color: #fff;
  padding: 0 27px 0 8px;
  position: relative;
  font-size: 19px;
  font-size: 1.9rem;
  line-height: 1;
  letter-spacing: 0.072em;
  font-weight: 600;
  font-family: din-2014-narrow, sans-serif;
  color: #002d5f; }
  .btn-more:before {
    content: '';
    width: 17px;
    height: 17px;
    background: url(../images/common/ico_arr.svg) 0 0/17px 17px no-repeat;
    position: absolute;
    top: calc(50% - 8px);
    right: 14px; }

#mv .mv-bg {
  height: 400px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right bottom;
  position: relative; }
  @media only screen and (max-width: 767px) {
    #mv .mv-bg {
      height: 280px; } }

#mv .mv-catch {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 140px; }
  @media only screen and (max-width: 767px) {
    #mv .mv-catch {
      left: 25px; } }
  #mv .mv-catch h2 {
    color: #fff; }
    #mv .mv-catch h2 .ja {
      font-size: 28px;
      font-size: 2.8rem;
      letter-spacing: 0.25em;
      display: inline-block;
      margin-top: 7px;
      border-bottom: 1px solid #F4B73B;
      padding-bottom: 10px; }
      @media only screen and (max-width: 767px) {
        #mv .mv-catch h2 .ja {
          font-size: 24px;
          font-size: 2.4rem;
          letter-spacing: 0.05em;
          padding-bottom: 15px;
          line-height: 1.75;
          margin-top: -7px; } }
    #mv .mv-catch h2 .en {
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.3em;
      font-family: din-2014-narrow, sans-serif;
      margin-top: 10px;
      display: block;
      opacity: .7; }
      @media only screen and (max-width: 767px) {
        #mv .mv-catch h2 .en {
          margin-top: 13px; } }

.nav-link_3 {
  margin-top: 120px; }
  @media only screen and (max-width: 767px) {
    .nav-link_3 {
      margin-top: 60px; } }
  .nav-link_3 .inner {
    width: calc(100% - 80px); }
    .nav-link_3 .inner ul {
      display: flex;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .nav-link_3 .inner ul {
          flex-direction: column; } }
      @media only screen and (min-width: 768px) {
        .nav-link_3 .inner ul li {
          margin-right: 57px; } }
      @media only screen and (max-width: 767px) {
        .nav-link_3 .inner ul li:nth-child(n + 2) {
          margin-top: 22px; } }
      @media only screen and (min-width: 768px) {
        .nav-link_3 .inner ul li:first-child {
          margin-left: 6px; } }
      @media only screen and (max-width: 767px) {
        .nav-link_3 .inner ul li:first-child {
          width: 100%; } }
      @media only screen and (min-width: 768px) {
        .nav-link_3 .inner ul li:nth-child(2) {
          margin-right: 50px; } }
      @media only screen and (max-width: 767px) {
        .nav-link_3 .inner ul li:nth-child(2) {
          width: 100%; } }
      .nav-link_3 .inner ul li:last-child {
        margin-right: 0; }
        @media only screen and (min-width: 768px) {
          .nav-link_3 .inner ul li:last-child {
            padding-left: 10px; } }
        @media only screen and (max-width: 767px) {
          .nav-link_3 .inner ul li:last-child {
            width: 100%; } }
      .nav-link_3 .inner ul li a {
        display: flex; }
        .nav-link_3 .inner ul li a .txt {
          margin-left: 20px; }
          .nav-link_3 .inner ul li a .txt .en {
            display: block;
            font-size: 28px;
            font-size: 2.8rem;
            font-weight: 300;
            letter-spacing: 0.08em;
            color: #002d5f;
            font-family: din-2014-narrow, sans-serif;
            margin-bottom: 3px; }
            @media only screen and (max-width: 767px) {
              .nav-link_3 .inner ul li a .txt .en {
                margin-bottom: 2px; } }
          .nav-link_3 .inner ul li a .txt .ja {
            font-size: 11px;
            font-size: 1.1rem;
            letter-spacing: 0.06em;
            color: #707070; }
  .nav-link_3.nav-link_5 .inner ul {
    justify-content: space-between; }
    @media only screen and (min-width: 768px) {
      .nav-link_3.nav-link_5 .inner ul li {
        margin-right: 0px; }
        .nav-link_3.nav-link_5 .inner ul li:nth-child(n + 3) {
          margin-right: 54px; } }
    @media only screen and (min-width: 768px) {
      .nav-link_3.nav-link_5 .inner ul li:first-child {
        margin-left: 0;
        margin-right: 10px; } }
    @media only screen and (max-width: 767px) {
      .nav-link_3.nav-link_5 .inner ul li:first-child {
        width: 100%; } }
    @media only screen and (min-width: 768px) {
      .nav-link_3.nav-link_5 .inner ul li:nth-of-type(3) {
        padding-left: 10px; } }
    .nav-link_3.nav-link_5 .inner ul li:nth-child(n + 3) {
      margin-right: 0; }

.cmn_pagenavi {
  text-align: center;
  position: relative;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto; }
  .cmn_pagenavi .count_pages {
    display: none; }
  .cmn_pagenavi .wp-pagenavi {
    letter-spacing: 0;
    margin: 0 auto;
    display: block; }
    .cmn_pagenavi .wp-pagenavi .pages {
      display: none; }
    .cmn_pagenavi .wp-pagenavi a,
    .cmn_pagenavi .wp-pagenavi span {
      font-size: 21px;
      font-size: 2.1rem;
      line-height: 38px;
      letter-spacing: 0;
      width: 38px;
      height: 38px;
      border: 1px solid #002D5F;
      display: inline-block;
      border-radius: 50%;
      color: #002D5F;
      margin: 0 13px;
      border-radius: 50%;
      font-family: din-2014-narrow, sans-serif; }
      @media only screen and (max-width: 767px) {
        .cmn_pagenavi .wp-pagenavi a,
        .cmn_pagenavi .wp-pagenavi span {
          margin: 0 5px; } }
      .cmn_pagenavi .wp-pagenavi a.extend,
      .cmn_pagenavi .wp-pagenavi span.extend {
        width: 13px; }
    .cmn_pagenavi .wp-pagenavi a {
      background: #fff; }
      .cmn_pagenavi .wp-pagenavi a .last {
        display: none; }
      .cmn_pagenavi .wp-pagenavi a.previouspostslink, .cmn_pagenavi .wp-pagenavi a.nextpostslink {
        border: none;
        position: absolute;
        top: -5px;
        width: 51px;
        height: 50px;
        content: ""; }
        .cmn_pagenavi .wp-pagenavi a.previouspostslink::before, .cmn_pagenavi .wp-pagenavi a.nextpostslink::before {
          display: none; }
      .cmn_pagenavi .wp-pagenavi a.previouspostslink {
        background: url(../images/news/btn_prev2.svg) no-repeat center center/100% 100%;
        left: -15px; }
        @media only screen and (max-width: 767px) {
          .cmn_pagenavi .wp-pagenavi a.previouspostslink {
            left: 2px; } }
      .cmn_pagenavi .wp-pagenavi a.nextpostslink {
        background: url(../images/news/btn_next2.svg) no-repeat center center/100% 100%;
        right: -15px; }
        @media only screen and (max-width: 767px) {
          .cmn_pagenavi .wp-pagenavi a.nextpostslink {
            right: 2px; } }
      @media only screen and (min-width: 768px) {
        .cmn_pagenavi .wp-pagenavi a.page:hover {
          color: #fff;
          background: #002D5F;
          opacity: 1 !important; } }
    .cmn_pagenavi .wp-pagenavi span.current {
      color: #fff;
      background: #002D5F; }
    .cmn_pagenavi .wp-pagenavi span.extend {
      border: none; }
    .cmn_pagenavi .wp-pagenavi a:hover,
    .cmn_pagenavi .wp-pagenavi span.current {
      border-color: #002D5F; }

.sec_flow {
  background-color: #F2F2F2;
  padding: 50px 0 180px; }
  @media only screen and (max-width: 767px) {
    .sec_flow {
      padding: 28px 0 180px; } }
  .sec_flow .sec-title_main2 {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .sec_flow .sec-title_main2 .em {
        margin: 25px 0 15px; } }
    .sec_flow .sec-title_main2:before {
      margin: 50px auto 0; }
  .sec_flow .flow-box {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    margin-top: 75px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .sec_flow .flow-box {
        flex-direction: column;
        padding: 35px 33px 40px;
        margin: 50px -15px 0; } }
    .sec_flow .flow-box:nth-of-type(n + 2) {
      margin-top: 60px; }
      @media only screen and (max-width: 767px) {
        .sec_flow .flow-box:nth-of-type(n + 2) {
          margin-top: 48px; } }
    .sec_flow .flow-box:before {
      content: '';
      width: 118px;
      height: 73px;
      position: absolute;
      top: -17px;
      right: 47px;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
      @media only screen and (max-width: 767px) {
        .sec_flow .flow-box:before {
          width: 95px;
          height: 59px;
          top: -26px;
          right: 17px; } }
    .sec_flow .flow-box:first-of-type:before {
      background-image: url(../images/toner/number1.png); }
    .sec_flow .flow-box:nth-of-type(2):before {
      background-image: url(../images/toner/number2.png); }
    .sec_flow .flow-box:nth-of-type(3):before {
      background-image: url(../images/toner/number3.png); }
    .sec_flow .flow-box:nth-of-type(4):before {
      background-image: url(../images/toner/number4.png); }
    .sec_flow .flow-box:nth-of-type(5):before {
      background-image: url(../images/toner/number5.png); }
    .sec_flow .flow-box .img-cont {
      width: 30%; }
      @media only screen and (max-width: 767px) {
        .sec_flow .flow-box .img-cont {
          width: 100%;
          margin-top: 30px; } }
    .sec_flow .flow-box .txt-cont {
      width: 64%;
      padding: 43px 58px 50px 0; }
      @media only screen and (max-width: 767px) {
        .sec_flow .flow-box .txt-cont {
          width: 100%;
          padding: 0; } }
      .sec_flow .flow-box .txt-cont .sec-title_sub:after {
        margin-top: 23px; }
      .sec_flow .flow-box .txt-cont P {
        margin-top: 45px; }
        @media only screen and (max-width: 767px) {
          .sec_flow .flow-box .txt-cont P {
            margin-top: 34px; } }
      .sec_flow .flow-box .txt-cont .link-btn {
        margin-top: 37px; }
        @media only screen and (max-width: 767px) {
          .sec_flow .flow-box .txt-cont .link-btn {
            margin-top: 20px;
            margin-bottom: 10px; } }
      .sec_flow .flow-box .txt-cont ul {
        margin-top: 11px; }
        @media only screen and (max-width: 767px) {
          .sec_flow .flow-box .txt-cont ul {
            margin-top: 13px; } }
        .sec_flow .flow-box .txt-cont ul li {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.1em;
          line-height: 2.5;
          color: #002d5f;
          margin-left: 13px;
          position: relative; }
          @media only screen and (max-width: 767px) {
            .sec_flow .flow-box .txt-cont ul li {
              line-height: 2.3; }
              .sec_flow .flow-box .txt-cont ul li:nth-of-type(n + 2) {
                margin-top: 1px; } }
          .sec_flow .flow-box .txt-cont ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 14px;
            left: -13px;
            background-color: #fff;
            border: 1px solid rgba(0, 45, 95, 0.5);
            border-radius: 1000px; }
            @media all and (-ms-high-contrast: none) {
              .sec_flow .flow-box .txt-cont ul li:before {
                top: 15px; } }

.sec-title_main {
  font-size: 28px;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 1.857142857;
  color: #002d5f;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .sec-title_main {
      font-size: 22px;
      font-size: 2.2rem; } }
  .sec-title_main:before {
    content: '';
    width: 57px;
    height: 2px;
    display: block;
    background-color: #F4B73B;
    margin: 0 auto 45px; }
    @media only screen and (max-width: 767px) {
      .sec-title_main:before {
        width: 40px; } }

.sec-title_main2 {
  color: #002d5f; }
  @media only screen and (max-width: 767px) {
    .sec-title_main2 {
      text-align: center; } }
  .sec-title_main2 .en {
    font-size: 52px;
    font-size: 5.2rem;
    letter-spacing: 0.072em;
    font-weight: 300;
    display: block;
    margin: 35px 0 25px;
    font-family: din-2014-narrow, sans-serif; }
    @media only screen and (max-width: 767px) {
      .sec-title_main2 .en {
        font-size: 42px;
        font-size: 4.2rem;
        letter-spacing: 0.08em;
        margin: 23px 0 13px; } }
  .sec-title_main2 .ja {
    font-size: 23px;
    font-size: 2.3rem;
    letter-spacing: 0.1em;
    line-height: 1.826086957; }
    @media only screen and (max-width: 767px) {
      .sec-title_main2 .ja {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2; } }
  .sec-title_main2:before {
    content: '';
    width: 57px;
    height: 2px;
    display: block;
    background-color: #F4B73B; }
    @media only screen and (max-width: 767px) {
      .sec-title_main2:before {
        margin: 0 auto; } }

.sec_ttl {
  position: relative;
  color: #002d5f; }
  .sec_ttl:before {
    content: '';
    width: 57px;
    height: 2px;
    display: block;
    background-color: #F4B73B;
    margin: 0 0 27px; }
  .sec_ttl__en {
    display: block;
    font-size: 72px;
    font-size: 7.2rem;
    line-height: 1.27778;
    letter-spacing: 0.08em;
    font-weight: 300;
    font-family: din-2014-narrow, sans-serif;
    margin-bottom: 18px; }
  .sec_ttl__jp {
    display: block;
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 1.82609;
    letter-spacing: 0.1em;
    font-weight: 400; }
  .sec_ttl--small .sec_ttl__en {
    font-size: 52px;
    font-size: 5.2rem;
    line-height: 1.38462;
    letter-spacing: 0.08em;
    font-weight: 300;
    margin-bottom: 14px; }
  .sec_ttl--center {
    text-align: center; }
    .sec_ttl--center:before {
      margin: 0 auto 27px; }
  @media only screen and (max-width: 767px) {
    .sec_ttl:before {
      margin-bottom: 15px; }
    .sec_ttl__en {
      font-size: 52px;
      font-size: 5.2rem;
      line-height: 1.38462;
      letter-spacing: 0.08em;
      font-weight: 300;
      margin-bottom: 5px; }
    .sec_ttl__jp {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 2;
      letter-spacing: 0.1em;
      font-weight: 400; }
    .sec_ttl--small .sec_ttl__en {
      margin-bottom: 7px; }
    .sec_ttl--small .sec_ttl__jp {
      font-size: 23px;
      font-size: 2.3rem;
      line-height: 1.82609;
      letter-spacing: 0.1em;
      font-weight: 400; } }

.sec-title_sub {
  font-size: 28px;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  color: #002d5f;
  line-height: 1.857142857; }
  @media only screen and (max-width: 767px) {
    .sec-title_sub {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.909090909; } }
  .sec-title_sub:after {
    content: '';
    width: 50px;
    height: 5px;
    display: block;
    margin-top: 23px;
    background-image: url(../images/strength/bottom-bar.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }
    @media only screen and (max-width: 767px) {
      .sec-title_sub:after {
        margin-top: 25px; } }
  .sec-title_sub.sec-title_sub-w {
    color: #fff; }
    .sec-title_sub.sec-title_sub-w:after {
      background-image: url(../images/toner/bar-w.svg);
      margin-top: 24px; }

.img_thumb {
  position: relative;
  width: 100%;
  z-index: 1;
  transition: 0.3s ease; }
  .img_thumb span {
    position: absolute;
    width: 100%;
    content: "";
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }

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

body.page404 .sec--page_404 {
  padding: 100px 0; }
  body.page404 .sec--page_404 .sec_ttl {
    margin-bottom: 50px; }
  body.page404 .sec--page_404 .text-center {
    text-align: center; }
    body.page404 .sec--page_404 .text-center p {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 2.5;
      letter-spacing: 0.05em;
      font-weight: 500; }
  @media only screen and (max-width: 767px) {
    body.page404 .sec--page_404 {
      padding: 50px 0 70px; }
      body.page404 .sec--page_404 .sec_ttl {
        margin-bottom: 30px; }
      body.page404 .sec--page_404 .text-center p {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2.375;
        letter-spacing: 0.05em;
        font-weight: 500; } }

body.about #breadcrumbs {
  position: relative;
  z-index: 1; }

@media only screen and (max-width: 767px) {
  body.about .sec .sec_ttl__en {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.47619;
    letter-spacing: 0.08em;
    font-weight: 300;
    margin-bottom: 1px; }
  body.about .sec .sec_ttl__jp {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.4;
    letter-spacing: 0.1em;
    font-weight: 400; } }

body.about .sec--intro {
  padding: 159px 0 150px;
  position: relative; }
  body.about .sec--intro:before {
    content: '';
    width: 57%;
    height: 100%;
    background: url(../images/about/bg_intro.jpg) center center/cover no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1; }
  body.about .sec--intro .inner {
    max-width: 1120px; }
  body.about .sec--intro .block_intro {
    display: flex; }
    body.about .sec--intro .block_intro__text {
      width: 50%; }
      body.about .sec--intro .block_intro__text .ttl {
        color: #002d5f;
        margin-bottom: 25px;
        margin-top: 23px; }
        body.about .sec--intro .block_intro__text .ttl__jp, body.about .sec--intro .block_intro__text .ttl__en {
          display: block; }
        body.about .sec--intro .block_intro__text .ttl__jp {
          font-size: 28px;
          font-size: 2.8rem;
          line-height: 1.5;
          letter-spacing: 0.1em;
          font-weight: 400;
          margin-bottom: 4px; }
        body.about .sec--intro .block_intro__text .ttl__en {
          font-size: 15px;
          font-size: 1.5rem;
          line-height: 1.5;
          letter-spacing: 0.3em;
          font-weight: 300;
          font-family: din-2014-narrow, sans-serif; }
      body.about .sec--intro .block_intro__text .txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.53333;
        letter-spacing: 0.06em;
        font-weight: 400;
        margin-top: 53px;
        max-width: 500px; }
    body.about .sec--intro .block_intro__image {
      width: 50%; }
      body.about .sec--intro .block_intro__image .lst_item {
        display: flex;
        flex-flow: row wrap;
        margin: 0 auto;
        position: relative;
        max-width: 540px; }
        body.about .sec--intro .block_intro__image .lst_item:before {
          content: '';
          width: 116px;
          height: 120px;
          position: absolute;
          top: calc(50% - 61px);
          left: calc(50% - 60px);
          background: url(../images/about/ico_cross.svg) 0 0/116px 120px no-repeat; }
        body.about .sec--intro .block_intro__image .lst_item li {
          width: 50%;
          padding: 0 25px;
          margin-bottom: 50px; }
          body.about .sec--intro .block_intro__image .lst_item li:nth-child(3), body.about .sec--intro .block_intro__image .lst_item li:nth-child(4) {
            margin-bottom: 0; }
        body.about .sec--intro .block_intro__image .lst_item__inner {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 220px;
          height: 220px;
          background: rgba(0, 45, 95, 0.9);
          border-radius: 50%;
          padding: 30px 20px 12px; }
          body.about .sec--intro .block_intro__image .lst_item__inner .ttl {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 2;
            letter-spacing: 0;
            font-weight: 500;
            color: #fff;
            text-align: center;
            padding-bottom: 60px;
            position: relative; }
            body.about .sec--intro .block_intro__image .lst_item__inner .ttl:before {
              content: '';
              width: 36px;
              height: 33px;
              position: absolute;
              bottom: 0;
              left: calc(50% - 18px);
              background: url(../images/about/ico_arr_white.svg) 0 0/36px 33px no-repeat; }
  @media only screen and (max-width: 767px) {
    body.about .sec--intro {
      padding: 56px 0 0; }
      body.about .sec--intro:before {
        display: none; }
      body.about .sec--intro .inner {
        width: calc(100% - 74px); }
      body.about .sec--intro .block_intro {
        flex-flow: row wrap; }
        body.about .sec--intro .block_intro__text {
          width: 100%;
          margin-bottom: 70px; }
          body.about .sec--intro .block_intro__text .ttl {
            margin-bottom: 18px;
            margin-top: 13px; }
            body.about .sec--intro .block_intro__text .ttl__jp {
              font-size: 20px;
              font-size: 2rem;
              line-height: 1.5;
              letter-spacing: 0;
              font-weight: 400;
              margin-bottom: 7px; }
            body.about .sec--intro .block_intro__text .ttl__en {
              font-size: 13px;
              font-size: 1.3rem;
              line-height: 1.5;
              letter-spacing: 0.3em;
              font-weight: 400;
              margin-left: 5px; }
              body.about .sec--intro .block_intro__text .ttl__en.ml-10 {
                margin-left: 10px; }
          body.about .sec--intro .block_intro__text .txt {
            margin-top: 31px; }
        body.about .sec--intro .block_intro__image {
          width: calc(100% + 74px);
          margin: 0 -37px;
          padding: 52px 0;
          position: relative; }
          body.about .sec--intro .block_intro__image:before {
            content: '';
            width: 100%;
            height: 100%;
            background: url(../images/about/bg_intro_sp.jpg) center center/cover no-repeat;
            position: absolute;
            top: 0;
            right: 0;
            z-index: -1; }
          body.about .sec--intro .block_intro__image .lst_item {
            max-width: 354px; }
            body.about .sec--intro .block_intro__image .lst_item li {
              padding: 0 16px;
              margin-bottom: 33px; }
              body.about .sec--intro .block_intro__image .lst_item li:nth-child(3), body.about .sec--intro .block_intro__image .lst_item li:nth-child(4) {
                margin-bottom: 0; }
            body.about .sec--intro .block_intro__image .lst_item__inner {
              width: 145px;
              height: 145px;
              padding: 30px 0 12px; }
              body.about .sec--intro .block_intro__image .lst_item__inner .ttl {
                font-size: 14px;
                font-size: 1.4rem;
                line-height: 1.57143;
                letter-spacing: 0;
                font-weight: 500;
                padding-bottom: 30px;
                position: relative; }
                body.about .sec--intro .block_intro__image .lst_item__inner .ttl:before {
                  width: 26px;
                  height: 23px;
                  left: calc(50% - 13px);
                  background-size: 26px 23px; } }

body.about .sec--philosophy {
  padding: 120px 0;
  background: #F2F2F2; }
  body.about .sec--philosophy .sec_ttl {
    margin-bottom: 90px; }
  body.about .sec--philosophy .block_philo {
    display: flex;
    position: relative;
    max-width: 1110px;
    margin: 0 auto; }
    body.about .sec--philosophy .block_philo__img {
      width: 50%;
      position: relative; }
      body.about .sec--philosophy .block_philo__img img {
        position: absolute;
        top: 6px;
        right: 30px;
        max-width: none; }
    body.about .sec--philosophy .block_philo__lst {
      width: 50%;
      padding-left: 15px; }
      body.about .sec--philosophy .block_philo__lst > li {
        position: relative; }
        body.about .sec--philosophy .block_philo__lst > li:before {
          content: '';
          width: calc(200% - 100px);
          height: 1px;
          background: #CCCCCC;
          position: absolute;
          right: 0;
          bottom: 0; }
          @media only screen and (max-width: 1110px) {
            body.about .sec--philosophy .block_philo__lst > li:before {
              width: 976px; } }
        @media only screen and (min-width: 768px) {
          body.about .sec--philosophy .block_philo__lst > li:nth-child(1) .block_philo__lst__inner {
            height: 139px; } }
        body.about .sec--philosophy .block_philo__lst > li:nth-child(1) .block_philo__lst__inner .ttl_en {
          color: #F4B73B;
          bottom: auto;
          top: -61px; }
        @media only screen and (min-width: 768px) {
          body.about .sec--philosophy .block_philo__lst > li:nth-child(3) .block_philo__lst__inner, body.about .sec--philosophy .block_philo__lst > li:nth-child(4) .block_philo__lst__inner {
            height: 137px; } }
        @media only screen and (min-width: 768px) {
          body.about .sec--philosophy .block_philo__lst > li:nth-child(2) .block_philo__lst__inner .ttl_en, body.about .sec--philosophy .block_philo__lst > li:nth-child(3) .block_philo__lst__inner .ttl_en, body.about .sec--philosophy .block_philo__lst > li:nth-child(4) .block_philo__lst__inner .ttl_en {
            bottom: -2px; } }
        body.about .sec--philosophy .block_philo__lst > li:last-child:before {
          display: none; }
      body.about .sec--philosophy .block_philo__lst__inner {
        display: flex;
        height: 138px;
        flex-direction: column;
        justify-content: center; }
        body.about .sec--philosophy .block_philo__lst__inner .ttl_en {
          font-size: 40px;
          font-size: 4rem;
          line-height: 1;
          letter-spacing: 0.1em;
          font-weight: 300;
          font-family: din-2014-narrow, sans-serif;
          color: #fff;
          position: absolute;
          bottom: 0;
          left: -100%;
          width: 190px;
          text-align: center; }
          @media only screen and (max-width: 1110px) {
            body.about .sec--philosophy .block_philo__lst__inner .ttl_en {
              left: -538px; } }
        body.about .sec--philosophy .block_philo__lst__inner .ttl_jp {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.45455;
          letter-spacing: 0.1em;
          font-weight: 500;
          color: #002d5f;
          margin-bottom: 15px; }
        body.about .sec--philosophy .block_philo__lst__inner .txt {
          font-size: 15px;
          font-size: 1.5rem;
          line-height: 2.13333;
          letter-spacing: 0.06em;
          font-weight: 400; }
        body.about .sec--philosophy .block_philo__lst__inner .lst_item {
          display: flex;
          flex-flow: row wrap; }
          body.about .sec--philosophy .block_philo__lst__inner .lst_item li {
            margin-right: 10px; }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item li:last-child {
              margin-right: 0; }
          body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue {
            display: flex;
            align-items: center;
            font-size: 15px;
            font-size: 1.5rem;
            line-height: 1.73333;
            letter-spacing: 0.06em;
            font-weight: 400;
            color: #fff;
            background: #002d5f;
            margin-right: 7px;
            margin-bottom: 5px; }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue:last-child {
              margin-right: 0; }
            @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
              body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue {
                padding-bottom: 2px; } }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue__num {
              padding: 2px 0 0 15px;
              font-family: din-2014-narrow, sans-serif; }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue__txt {
              padding: 0 17px 2px; }
  @media only screen and (max-width: 767px) {
    body.about .sec--philosophy {
      padding: 80px 25px 98px; }
      body.about .sec--philosophy .sec_ttl {
        margin-bottom: 50px; }
      body.about .sec--philosophy .block_philo__img {
        display: none; }
      body.about .sec--philosophy .block_philo__lst {
        width: 100%;
        padding-left: 0;
        background: url(../images/about/bg_philosophy_sp.png) 0 0/cover no-repeat; }
        body.about .sec--philosophy .block_philo__lst li {
          margin-bottom: 10px; }
          body.about .sec--philosophy .block_philo__lst li:before {
            width: 100%;
            height: 10px;
            background: #F2F2F2;
            bottom: -10px; }
          body.about .sec--philosophy .block_philo__lst li:nth-child(1) .block_philo__lst__inner {
            height: 250px;
            padding: 20px; }
            body.about .sec--philosophy .block_philo__lst li:nth-child(1) .block_philo__lst__inner:before {
              content: '';
              position: absolute;
              width: 100%;
              height: 100%;
              background: rgba(240, 187, 79, 0.9);
              top: 0;
              left: 0; }
          body.about .sec--philosophy .block_philo__lst li:last-child {
            margin-bottom: 0; }
        body.about .sec--philosophy .block_philo__lst__inner {
          height: 250px;
          padding: 20px; }
          body.about .sec--philosophy .block_philo__lst__inner:before {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background: rgba(0, 45, 95, 0.6);
            top: 0;
            left: 0; }
          body.about .sec--philosophy .block_philo__lst__inner .ttl_en {
            font-size: 36px;
            font-size: 3.6rem;
            position: relative;
            top: 0 !important;
            bottom: 0;
            left: 0;
            width: 100%;
            margin-bottom: 16px;
            color: #fff !important; }
          body.about .sec--philosophy .block_philo__lst__inner .ttl_jp, body.about .sec--philosophy .block_philo__lst__inner .txt {
            color: #fff;
            position: relative;
            text-align: center; }
          body.about .sec--philosophy .block_philo__lst__inner .ttl_jp {
            margin-bottom: 23px; }
          body.about .sec--philosophy .block_philo__lst__inner .txt {
            line-height: 2.53; }
          body.about .sec--philosophy .block_philo__lst__inner .lst_item {
            position: relative;
            max-width: 281px;
            margin: 0 auto;
            justify-content: space-between; }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item li:nth-child(2) {
              margin-right: 0; }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item li:nth-child(3) {
              width: 100%; }
              body.about .sec--philosophy .block_philo__lst__inner .lst_item li:nth-child(3) a {
                width: 100%; }
            body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue {
              color: #002d5f;
              background: #fff;
              margin-bottom: 5px;
              padding-bottom: 1px; }
              body.about .sec--philosophy .block_philo__lst__inner .lst_item .btn_blue__num {
                padding-top: 1px; } }

body.about .sec--message .inner {
  max-width: 1360px; }
  @media only screen and (max-width: 1280px) {
    body.about .sec--message .inner {
      max-width: 1280px;
      width: 100%; } }

body.about .sec--message .block_message {
  display: flex;
  align-items: flex-start; }
  body.about .sec--message .block_message .floatingColumn {
    padding-top: 174px; }
    @media only screen and (min-width: 1360px) {
      body.about .sec--message .block_message .floatingColumn {
        width: calc(50vw - 160px);
        margin-left: calc(680px - 50vw);
        position: relative; } }
    @media only screen and (min-width: 768px) {
      body.about .sec--message .block_message .floatingColumn {
        width: 42vw; } }
    body.about .sec--message .block_message .floatingColumn__inner {
      transition: margin-top .4s ease-out; }
    body.about .sec--message .block_message .floatingColumn.-fixed {
      position: fixed; }
      body.about .sec--message .block_message .floatingColumn.-fixed .floatingColumn__inner {
        margin-top: 20px; }
    body.about .sec--message .block_message .floatingColumn.-abs {
      position: absolute; }
  body.about .sec--message .block_message__left {
    width: 42%;
    max-width: 520px;
    position: relative; }
    body.about .sec--message .block_message__left .sec_ttl {
      position: absolute;
      top: 96px;
      left: 0;
      width: 100%; }
  body.about .sec--message .block_message__right {
    width: 58%;
    padding: 93px 80px; }
    body.about .sec--message .block_message__right .item {
      margin-top: 87px; }
      body.about .sec--message .block_message__right .item:first-child {
        margin-top: 0; }
      body.about .sec--message .block_message__right .item__ttl {
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1.85714;
        letter-spacing: 0.1em;
        font-weight: 400;
        color: #002d5f;
        margin-bottom: 52px;
        padding-bottom: 30px;
        background: url(../images/strength/bottom-bar.svg) left bottom/50px 5px no-repeat; }
      body.about .sec--message .block_message__right .item p {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.56667;
        letter-spacing: 0.06em;
        font-weight: 400; }
    body.about .sec--message .block_message__right .txt_right {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2.56667;
      letter-spacing: 0.06em;
      font-weight: 400;
      margin-top: 60px; }
      body.about .sec--message .block_message__right .txt_right .txt_signature {
        margin-left: 10px; }

@media only screen and (max-width: 767px) {
  body.about .sec--message {
    padding: 80px 0 94px; }
    body.about .sec--message .inner {
      padding: 0 40px; }
    body.about .sec--message .block_message {
      flex-flow: row wrap; }
      body.about .sec--message .block_message .floatingColumn {
        padding-top: 0; }
      body.about .sec--message .block_message__left {
        width: 100%;
        max-width: none; }
        body.about .sec--message .block_message__left .sec_ttl {
          position: relative;
          top: 0;
          margin-bottom: 51px; }
        body.about .sec--message .block_message__left .img {
          display: block;
          margin: 0 -15px 56px; }
      body.about .sec--message .block_message__right {
        width: 100%;
        padding: 0; }
        body.about .sec--message .block_message__right .item {
          margin-top: 70px; }
          body.about .sec--message .block_message__right .item:first-child {
            margin-top: 0; }
          body.about .sec--message .block_message__right .item__ttl {
            font-size: 22px;
            font-size: 2.2rem;
            line-height: 1.90909;
            letter-spacing: 0.1em;
            font-weight: 400;
            margin-bottom: 42px; }
        body.about .sec--message .block_message__right .txt_right {
          margin-top: 26px; }
          body.about .sec--message .block_message__right .txt_right .txt_signature {
            margin-left: 19px; } }

body.about .sec--goal {
  padding: 118px 0 142px;
  background: #F1F1F1; }
  body.about .sec--goal .inner {
    max-width: 1000px;
    position: relative; }
  body.about .sec--goal .sec_ttl {
    margin-bottom: 48px; }
  body.about .sec--goal .txt_goal {
    width: 75%;
    position: absolute;
    top: 37px;
    right: 0;
    display: flex;
    justify-content: flex-end; }
  body.about .sec--goal p {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 2.53333;
    letter-spacing: 0.06em;
    font-weight: 400; }
  body.about .sec--goal .lst_goal {
    display: flex;
    margin: 75px -16px 0; }
    body.about .sec--goal .lst_goal li {
      width: 33.33%;
      padding: 0 16px; }
    body.about .sec--goal .lst_goal__inner {
      border: 1px solid #002d5f;
      padding: 45px 37px 50px;
      height: 100%;
      position: relative; }
      body.about .sec--goal .lst_goal__inner .dot:before, body.about .sec--goal .lst_goal__inner .dot:after {
        content: '';
        width: 5px;
        height: 5px;
        background-color: #002d5f;
        position: absolute;
        top: -3px;
        left: -3px;
        border-radius: 50%; }
      body.about .sec--goal .lst_goal__inner .dot:after {
        left: auto;
        right: -3px; }
      body.about .sec--goal .lst_goal__inner .dot:nth-child(2):before, body.about .sec--goal .lst_goal__inner .dot:nth-child(2):after {
        top: auto;
        bottom: -3px; }
      body.about .sec--goal .lst_goal__inner figure {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 86px;
        margin-bottom: 27px; }
      body.about .sec--goal .lst_goal__inner .ttl {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.625;
        letter-spacing: 0;
        font-weight: 500;
        color: #002d5f;
        text-align: center;
        margin-bottom: 20px; }
      body.about .sec--goal .lst_goal__inner p {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.53333;
        letter-spacing: 0.06em;
        font-weight: 400; }
      body.about .sec--goal .lst_goal__inner .c-btn {
        margin: 60px auto 0;
        width: 100%; }
  @media only screen and (max-width: 767px) {
    body.about .sec--goal {
      padding: 79px 0 76px; }
      body.about .sec--goal .sec_ttl {
        text-align: center;
        margin-bottom: 51px; }
        body.about .sec--goal .sec_ttl:before {
          margin: 0 auto 15px; }
      body.about .sec--goal .txt_goal {
        width: 100%;
        position: relative;
        top: 0;
        justify-content: flex-start;
        margin-bottom: 42px; }
      body.about .sec--goal .lst_goal {
        flex-flow: row wrap;
        margin: 50px -15px 0; }
        body.about .sec--goal .lst_goal li {
          width: 100%;
          padding: 0;
          margin-bottom: 24px; }
        body.about .sec--goal .lst_goal__inner {
          padding: 34px 20px 41px; }
          body.about .sec--goal .lst_goal__inner figure {
            height: auto;
            margin-bottom: 24px; }
          body.about .sec--goal .lst_goal__inner .ttl {
            margin-bottom: 20px; }
          body.about .sec--goal .lst_goal__inner .c-btn {
            margin-top: 30px;
            margin-bottom: 20px;
            max-width: 250px; } }

body.about .sec--profile {
  padding: 100px 0 180px; }
  body.about .sec--profile .sec_ttl {
    margin-bottom: 78px; }
  body.about .sec--profile .tbl_profile {
    width: 100%; }
    body.about .sec--profile .tbl_profile tr:first-child th, body.about .sec--profile .tbl_profile tr:first-child td {
      border-top: 1px solid #002d5f; }
      body.about .sec--profile .tbl_profile tr:first-child th:before, body.about .sec--profile .tbl_profile tr:first-child td:before {
        content: '';
        width: 5px;
        height: 5px;
        background-color: #002d5f;
        position: absolute;
        top: -3px;
        left: -3px;
        border-radius: 50%; }
    body.about .sec--profile .tbl_profile tr:first-child td:before {
      left: auto;
      right: -3px; }
    body.about .sec--profile .tbl_profile tr th, body.about .sec--profile .tbl_profile tr td {
      padding: 24px 0 23px;
      border-bottom: 1px solid #002d5f;
      position: relative; }
      body.about .sec--profile .tbl_profile tr th:after, body.about .sec--profile .tbl_profile tr td:after {
        content: '';
        width: 5px;
        height: 5px;
        background-color: #002d5f;
        position: absolute;
        bottom: -3px;
        left: -3px;
        border-radius: 50%; }
    body.about .sec--profile .tbl_profile tr th {
      width: 36%;
      font-size: 17px;
      font-size: 1.7rem;
      line-height: 2.47059;
      letter-spacing: 0.1em;
      font-weight: 500;
      text-align: right;
      vertical-align: top; }
      body.about .sec--profile .tbl_profile tr th em {
        display: inline-block;
        width: 135px;
        color: #002d5f;
        text-align: left; }
    body.about .sec--profile .tbl_profile tr td {
      width: 64%;
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2.53333;
      letter-spacing: 0.06em;
      font-weight: 400; }
      body.about .sec--profile .tbl_profile tr td:after {
        left: auto;
        right: -3px; }
      body.about .sec--profile .tbl_profile tr td .bullet {
        margin-bottom: 12px;
        margin-top: 3px; }
        body.about .sec--profile .tbl_profile tr td .bullet li {
          padding-left: 15px;
          position: relative;
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 2.57143;
          letter-spacing: 0.06em;
          font-weight: 400; }
          body.about .sec--profile .tbl_profile tr td .bullet li:before {
            content: '';
            width: 5px;
            height: 5px;
            border: 1px solid #707070;
            border-radius: 50%;
            position: absolute;
            top: 15px;
            left: 0; }
  body.about .sec--profile .access {
    margin-top: 81px; }
    body.about .sec--profile .access__ttl {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1.5;
      letter-spacing: 0.1em;
      font-weight: 400;
      color: #002d5f;
      text-align: center;
      margin-bottom: 50px; }
      body.about .sec--profile .access__ttl:after {
        content: '';
        width: 50px;
        height: 5px;
        display: block;
        background: url(../images/strength/bottom-bar.svg) center/contain no-repeat;
        margin: 30px auto 0; }
    body.about .sec--profile .access p {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2.53333;
      letter-spacing: 0.06em;
      font-weight: 400;
      text-align: center; }
    body.about .sec--profile .access .map {
      margin-top: 34px; }
      body.about .sec--profile .access .map iframe {
        width: 100% !important;
        height: 250px !important; }
  @media only screen and (max-width: 767px) {
    body.about .sec--profile {
      padding: 80px 0 175px; }
      body.about .sec--profile .sec_ttl {
        margin-bottom: 43px; }
      body.about .sec--profile .tbl_profile {
        width: calc(100% + 30px);
        margin: 0 -15px; }
        body.about .sec--profile .tbl_profile tr:first-child th:before, body.about .sec--profile .tbl_profile tr:first-child th:after {
          display: block; }
        body.about .sec--profile .tbl_profile tr:first-child th:after {
          right: -3px;
          top: -3px;
          bottom: auto;
          left: auto; }
        body.about .sec--profile .tbl_profile tr:first-child td:before {
          bottom: -3px;
          left: -3px;
          top: auto; }
        body.about .sec--profile .tbl_profile tr:last-child td {
          border-bottom: 0; }
          body.about .sec--profile .tbl_profile tr:last-child td:before, body.about .sec--profile .tbl_profile tr:last-child td:after {
            display: none; }
        body.about .sec--profile .tbl_profile tr th, body.about .sec--profile .tbl_profile tr td {
          display: block;
          padding: 0 15px; }
        body.about .sec--profile .tbl_profile tr th {
          width: 100%;
          text-align: left;
          padding-top: 24px;
          padding-bottom: 8px;
          border-bottom: 0; }
          body.about .sec--profile .tbl_profile tr th:before, body.about .sec--profile .tbl_profile tr th:after {
            display: none; }
          body.about .sec--profile .tbl_profile tr th em {
            width: 100%; }
        body.about .sec--profile .tbl_profile tr td {
          width: 100%;
          padding-bottom: 29px;
          line-height: 1.86;
          border-top: 0 !important; }
          body.about .sec--profile .tbl_profile tr td:before {
            content: '';
            width: 5px;
            height: 5px;
            background-color: #002d5f;
            position: absolute;
            border-radius: 50%;
            bottom: -3px;
            left: -3px; }
          body.about .sec--profile .tbl_profile tr td .bullet {
            margin-top: 12px; }
            body.about .sec--profile .tbl_profile tr td .bullet li {
              line-height: 1.85;
              margin-bottom: 10px; }
              body.about .sec--profile .tbl_profile tr td .bullet li:before {
                top: 10px; }
      body.about .sec--profile .access {
        margin-top: 40px; }
        body.about .sec--profile .access__ttl {
          font-size: 22px;
          font-size: 2.2rem;
          margin-bottom: 42px; }
        body.about .sec--profile .access .map {
          margin: 35px -15px 0; } }

body.contact .header {
  z-index: 1000; }

body.contact .sec-tel {
  padding: 57px 0 53px; }
  @media only screen and (min-width: 768px) {
    body.contact .sec-tel {
      padding: 97px 0 101px; } }
  body.contact .sec-tel__title {
    margin-bottom: 38px;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-tel__title {
        margin-bottom: 68px; } }
    body.contact .sec-tel__title:before {
      margin: 0 auto; }
  body.contact .sec-tel__text {
    margin-bottom: 44px;
    letter-spacing: 0.06em;
    line-height: 38px;
    font-size: 15px;
    font-size: 1.5rem; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-tel__text {
        text-align: center;
        margin-bottom: 44px; } }
  body.contact .sec-tel__box {
    position: relative;
    text-align: center;
    border: solid 1px #002D5F;
    padding: 30px 0 23px;
    width: calc(100% + 30px);
    margin-left: -15px; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-tel__box {
        width: auto;
        max-width: 796px;
        margin: 0 auto;
        padding: 39px 0 34px; } }
    body.contact .sec-tel__box:before, body.contact .sec-tel__box:after,
    body.contact .sec-tel__box .box-in:before,
    body.contact .sec-tel__box .box-in:after {
      content: '';
      position: absolute;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #002d5f; }
    body.contact .sec-tel__box:before {
      left: -2.5px;
      top: -2.5px; }
    body.contact .sec-tel__box:after {
      right: -2.5px;
      top: -2.5px; }
    body.contact .sec-tel__box .box-in:before {
      left: -2.5px;
      bottom: -2.5px; }
    body.contact .sec-tel__box .box-in:after {
      right: -2.5px;
      bottom: -2.5px; }
    body.contact .sec-tel__box .number {
      margin-bottom: 7px;
      font-weight: normal;
      font-size: 51px;
      letter-spacing: 0.19em;
      color: #002d5f;
      font-family: din-2014-narrow, sans-serif;
      font-size: 36px;
      font-size: 3.6rem; }
      @media only screen and (min-width: 768px) {
        body.contact .sec-tel__box .number {
          margin-bottom: 16px;
          font-size: 51px;
          font-size: 5.1rem; } }
      body.contact .sec-tel__box .number a {
        padding-left: 38px;
        display: inline-block;
        background-position: 10px 5px;
        background-repeat: no-repeat;
        background-size: 19px auto;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.514' height='41.226' viewBox='0 0 30.514 41.226'%3E%3Cpath d='M86.3,308.2a11.612,11.612,0,0,0-4.747,7.526c-.68,3.93,2.558,11.9,6.174,17.97s9.084,12.713,12.862,13.986a11.622,11.622,0,0,0,8.878-.59c1.807-.909,2.38-1.474,2.506-2.836.09-.974-1.252-2.946-2.581-4.335s-2.866-2.716-3.7-2.83a2.18,2.18,0,0,0-2.281,1.526c-.249.987-2.357,3.083-4.184,1.989S92.513,332.02,92,331.153s-4.782-8.73-4.873-10.856,2.754-2.985,3.742-2.733a2.181,2.181,0,0,0,2.427-1.278c.3-.788-.14-2.77-.727-4.6s-1.683-3.948-2.582-4.334C88.725,306.811,87.956,307.046,86.3,308.2Z' transform='translate(-81.458 -307.074)' fill='%23002d5f'/%3E%3C/svg%3E%0A"); }
        @media only screen and (min-width: 768px) {
          body.contact .sec-tel__box .number a {
            padding-left: 56px;
            background-size: auto;
            background-position: 7px 6px; } }
    body.contact .sec-tel__box .time {
      font-weight: normal;
      letter-spacing: 0.06em;
      line-height: 38px;
      text-align: center;
      color: #333;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (min-width: 768px) {
        body.contact .sec-tel__box .time {
          font-size: 16px;
          font-size: 1.6rem; } }
      body.contact .sec-tel__box .time .label {
        vertical-align: 0;
        margin-right: 15px;
        margin-left: 17px;
        padding-top: 5px;
        text-indent: 4px;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 1;
        text-align: center;
        color: #fff;
        display: inline-block;
        height: 23px;
        width: 40px;
        background: linear-gradient(#acd2e3 0%, #93b5ed 100%);
        font-size: 12px;
        font-size: 1.2rem; }
        @media only screen and (min-width: 768px) {
          body.contact .sec-tel__box .time .label {
            padding-top: 5px;
            margin-right: 16px;
            margin-left: 0;
            width: 50px;
            text-indent: 6px;
            font-size: 13px;
            font-size: 1.3rem; } }

body.contact .sec-mail {
  background: #f2f2f2;
  padding: 49px 0 180px; }
  @media only screen and (min-width: 768px) {
    body.contact .sec-mail {
      padding: 99px 0 180px; } }
  body.contact .sec-mail__title {
    margin-bottom: 38px;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-mail__title {
        margin-bottom: 68px; } }
    body.contact .sec-mail__title:before {
      margin: 0 auto; }
  body.contact .sec-mail__text {
    margin-bottom: 46px;
    letter-spacing: 0.06em;
    line-height: 38px;
    font-size: 15px;
    font-size: 1.5rem; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-mail__text {
        margin-bottom: 87px;
        text-align: center; } }
  body.contact .sec-mail__step {
    margin-bottom: 30px;
    text-align: center; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-mail__step {
        margin-bottom: 50px; } }
    @media only screen and (max-width: 767px) {
      body.contact .sec-mail__step img {
        width: 295px; } }
  body.contact .sec-mail__form {
    background: #FFF;
    width: calc(100% + 30px);
    margin-left: -15px;
    padding: 26px 30px 42px; }
    @media only screen and (min-width: 768px) {
      body.contact .sec-mail__form {
        width: auto;
        max-width: 980px;
        margin: 0 auto;
        padding: 40px 100px 50px; } }
    @media only screen and (min-width: 769px) and (max-width: 1000px) {
      body.contact .sec-mail__form {
        padding: 40px 40px 50px; } }
    body.contact .sec-mail__form .tableContact {
      width: 100%; }
      body.contact .sec-mail__form .tableContact th {
        font-weight: 500;
        line-height: 30px;
        font-size: 15px;
        font-size: 1.5rem; }
      @media only screen and (min-width: 768px) {
        body.contact .sec-mail__form .tableContact th, body.contact .sec-mail__form .tableContact td {
          padding: 10px 0 10px; }
        body.contact .sec-mail__form .tableContact th {
          width: 220px;
          vertical-align: center; }
          body.contact .sec-mail__form .tableContact th.vtop {
            vertical-align: top;
            padding-top: 20px; }
        body.contact .sec-mail__form .tableContact .tr_type td {
          padding-top: 17px;
          padding-bottom: 19px; } }
      @media only screen and (max-width: 767px) {
        body.contact .sec-mail__form .tableContact th, body.contact .sec-mail__form .tableContact td {
          display: block;
          width: 100%; }
        body.contact .sec-mail__form .tableContact td {
          padding-top: 11px;
          padding-bottom: 21px; } }
    body.contact .sec-mail__form .radio-type {
      padding-top: 6px; }
      @media only screen and (min-width: 768px) {
        body.contact .sec-mail__form .radio-type {
          padding-top: 0; } }
      body.contact .sec-mail__form .radio-type li {
        margin-bottom: 10px; }
        @media only screen and (min-width: 768px) {
          body.contact .sec-mail__form .radio-type li {
            margin-bottom: -2px; } }
        body.contact .sec-mail__form .radio-type li:last-child {
          margin-bottom: 0; }
      @media only screen and (min-width: 769px) and (max-width: 850px) {
        body.contact .sec-mail__form .radio-type label {
          font-size: 13px;
          font-size: 1.3rem;
          letter-spacing: 0.03em; } }
    body.contact .sec-mail__form .buttons {
      text-align: center;
      margin-top: 19px;
      padding-left: 16px; }
      @media only screen and (min-width: 768px) {
        body.contact .sec-mail__form .buttons {
          margin-top: 39px;
          padding-left: 19px; } }

body.contact.confirm .sec-mail {
  margin-top: 13px; }
  @media only screen and (min-width: 768px) {
    body.contact.confirm .sec-mail {
      margin-top: 18px; } }
  body.contact.confirm .sec-mail__title {
    margin-bottom: 52px; }
    @media only screen and (min-width: 768px) {
      body.contact.confirm .sec-mail__title {
        margin-bottom: 83px; } }
  body.contact.confirm .sec-mail__form .tableContact tr {
    border-bottom: 1px solid #D5D5D5; }
  body.contact.confirm .sec-mail__form .tableContact td {
    line-height: 26px; }
  @media only screen and (min-width: 768px) {
    body.contact.confirm .sec-mail__form .tableContact th, body.contact.confirm .sec-mail__form .tableContact td {
      padding: 30px 0; } }
  @media only screen and (max-width: 767px) {
    body.contact.confirm .sec-mail__form .tableContact th {
      padding-top: 15px; }
    body.contact.confirm .sec-mail__form .tableContact td {
      padding-top: 0;
      padding-bottom: 20px; } }
  body.contact.confirm .sec-mail__form .button-back {
    text-align: right;
    margin-top: 30px; }
    body.contact.confirm .sec-mail__form .button-back a {
      text-decoration: underline; }
  body.contact.confirm .sec-mail__form .buttons {
    margin-top: 29px; }
    @media only screen and (min-width: 768px) {
      body.contact.confirm .sec-mail__form .buttons {
        margin-top: 59px; } }

body.contact.thanks .sec-mail {
  margin-top: 13px; }
  @media only screen and (min-width: 768px) {
    body.contact.thanks .sec-mail {
      margin-top: 18px; } }
  body.contact.thanks .sec-mail__title {
    margin-bottom: 52px; }
    @media only screen and (min-width: 768px) {
      body.contact.thanks .sec-mail__title {
        margin-bottom: 83px; } }
  body.contact.thanks .sec-mail .box_text {
    padding-top: 6px; }
    @media only screen and (min-width: 768px) {
      body.contact.thanks .sec-mail .box_text {
        padding-top: 2px; } }
    body.contact.thanks .sec-mail .box_text p {
      font-size: 15px;
      letter-spacing: 0.06em;
      line-height: 38px;
      font-size: 15px;
      font-size: 1.5rem; }
  body.contact.thanks .sec-mail .btn-top {
    margin-top: 31px;
    padding-left: 20px; }
    @media only screen and (min-width: 768px) {
      body.contact.thanks .sec-mail .btn-top {
        margin-top: 41px; } }
    body.contact.thanks .sec-mail .btn-top a {
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all .3s;
      position: relative;
      cursor: pointer;
      width: 245px;
      height: 52px;
      background: #F4B73B;
      border: none;
      color: #FFF;
      font-weight: 500;
      padding-left: 9px;
      padding-top: 7px;
      letter-spacing: 0.15em;
      line-height: 20px;
      font-size: 15px;
      font-size: 1.5rem; }
      @media only screen and (min-width: 768px) {
        body.contact.thanks .sec-mail .btn-top a {
          padding-left: 0px;
          padding-top: 0;
          text-indent: -7px;
          width: 230px;
          height: 50px;
          font-size: 12px;
          font-size: 1.2rem; } }
      body.contact.thanks .sec-mail .btn-top a:hover {
        opacity: 0.6; }
      body.contact.thanks .sec-mail .btn-top a .line {
        position: absolute;
        background: #F4B73B;
        width: 40px;
        height: 1px;
        left: -20px;
        top: 50%; }
        body.contact.thanks .sec-mail .btn-top a .line:before {
          content: '';
          width: 20px;
          height: 1px;
          background: #FFF;
          right: 0;
          top: 0;
          position: absolute; }

body.contact .formBlock {
  /* dislay */ }
  body.contact .formBlock .errMsg {
    margin-left: 1em;
    padding-bottom: 1px;
    display: block;
    line-height: 1.4;
    text-indent: -.9em; }
  body.contact .formBlock .formError {
    padding-bottom: 13px;
    display: block; }
  body.contact .formBlock .fixed {
    padding-bottom: 0px; }
  body.contact .formBlock .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; }
  body.contact .formBlock .formError .formErrorClose:hover {
    background: #666; }
  body.contact .formBlock .fixed .formErrorClose {
    display: none; }
  body.contact .formBlock .formError .formErrorContent {
    padding: 6px 10px;
    width: 240px;
    line-height: 18px;
    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;
    font-size: 1.1rem;
    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; }
  body.contact .formBlock .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; }
  body.contact .formBlock .fadeOut {
    opacity: .2;
    filter: alpha(opacity=20); }
  body.contact .formBlock .formError .formErrorArrow {
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 0;
    left: 20px;
    margin: 0 0 30px 0;
    z-index: 0;
    display: none; }
  body.contact .formBlock .fixed .formErrorArrow {
    display: none; }
  body.contact .formBlock .formError .formErrorArrowBottom {
    margin: -6px;
    top: 0; }
  body.contact .formBlock .fixed .formErrorArrowBottom {
    display: none; }
  body.contact .formBlock .formError .formErrorArrow div {
    margin: 0 auto;
    display: block;
    height: 1px;
    background: #252525;
    line-height: 0px;
    font-size: 0px;
    font-size: 0rem;
    -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; }
  body.contact .formBlock .formError .formErrorArrowBottom div {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none; }
  body.contact .formBlock .formError .formErrorArrow .line10 {
    width: 19px; }
  body.contact .formBlock .formError .formErrorArrow .line9 {
    width: 17px; }
  body.contact .formBlock .formError .formErrorArrow .line8 {
    width: 15px; }
  body.contact .formBlock .formError .formErrorArrow .line7 {
    width: 13px; }
  body.contact .formBlock .formError .formErrorArrow .line6 {
    width: 11px; }
  body.contact .formBlock .formError .formErrorArrow .line5 {
    width: 9px; }
  body.contact .formBlock .formError .formErrorArrow .line4 {
    width: 7px; }
  body.contact .formBlock .formError .formErrorArrow .line3 {
    width: 5px; }
  body.contact .formBlock .formError .formErrorArrow .line2 {
    width: 3px; }
  body.contact .formBlock .formError .formErrorArrow .line1 {
    width: 1px; }
  body.contact .formBlock .hid_url {
    display: none; }
  body.contact .formBlock form p.test {
    position: relative;
    color: #C1C0BC; }
  body.contact .formBlock form p.test label {
    position: absolute;
    top: 3px;
    left: 10px;
    font-weight: normal; }
  body.contact .formBlock form p.test br {
    display: none; }
  body.contact .formBlock input, body.contact .formBlock textarea, body.contact .formBlock select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    outline: none;
    border-radius: 4px;
    background: #fff;
    border: 1px solid rgba(112, 112, 112, 0.3);
    font-size: 12px;
    font-size: 1.2rem; }
    body.contact .formBlock input::placeholder, body.contact .formBlock textarea::placeholder, body.contact .formBlock select::placeholder {
      /* Chrome, Firefox, Opera, Safari 10.1+ */
      color: rgba(112, 112, 112, 0.3);
      opacity: 1;
      /* Firefox */ }
    body.contact .formBlock input:-ms-input-placeholder, body.contact .formBlock textarea:-ms-input-placeholder, body.contact .formBlock select:-ms-input-placeholder {
      /* Internet Explorer 10-11 */
      color: rgba(112, 112, 112, 0.3); }
    body.contact .formBlock input::-ms-input-placeholder, body.contact .formBlock textarea::-ms-input-placeholder, body.contact .formBlock select::-ms-input-placeholder {
      /* Microsoft Edge */
      color: rgba(112, 112, 112, 0.3); }
  body.contact .formBlock input[type="text"],
  body.contact .formBlock input[type="email"],
  body.contact .formBlock input[type="number"],
  body.contact .formBlock input[type="url"],
  body.contact .formBlock input[type="tel"] {
    width: 100%;
    height: 50px;
    padding: 10px 10px 10px;
    font-weight: normal;
    letter-spacing: 0.06em;
    line-height: 38px;
    text-align: left;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock input[type="text"],
      body.contact .formBlock input[type="email"],
      body.contact .formBlock input[type="number"],
      body.contact .formBlock input[type="url"],
      body.contact .formBlock input[type="tel"] {
        padding: 10px 19px 10px;
        font-size: 15px;
        font-size: 1.5rem; } }
  body.contact .formBlock textarea {
    width: 100% !important;
    height: 160px;
    padding: 10px 14px 10px;
    font-weight: normal;
    letter-spacing: 0.06em;
    line-height: 38px;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock textarea {
        padding: 10px 14px 10px;
        font-size: 15px;
        font-size: 1.5rem; } }
  body.contact .formBlock input[type="radio"] {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin: 0 10px 0 0;
    display: inline-block;
    vertical-align: -6px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Crect width='16' height='16' rx='8' fill='%23f4b73b'/%3E%3C/svg%3E%0A");
    background-size: 0 auto;
    transition: all .1s; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock input[type="radio"] {
        width: 24px;
        height: 24px; } }
    body.contact .formBlock input[type="radio"]:checked {
      background-size: 12px auto; }
      @media only screen and (min-width: 768px) {
        body.contact .formBlock input[type="radio"]:checked {
          background-size: 16px auto; } }
  body.contact .formBlock label {
    letter-spacing: 0.06em;
    line-height: 20px;
    font-size: 13px;
    font-size: 1.3rem; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock label {
        line-height: 38px;
        font-size: 15px;
        font-size: 1.5rem; } }
  body.contact .formBlock button {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: all .3s;
    position: relative;
    cursor: pointer;
    width: 245px;
    height: 50px;
    background: #F4B73B;
    border: none;
    color: #FFF;
    font-weight: 500;
    padding-left: 9px;
    padding-top: 2px;
    letter-spacing: 0.15em;
    line-height: 20px;
    font-family: source-han-sans-japanese, sans-serif;
    font-size: 15px;
    font-size: 1.5rem; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock button {
        padding-left: 0px;
        padding-top: 2px;
        width: 230px;
        height: 50px;
        font-size: 12px;
        font-size: 1.2rem; } }
    body.contact .formBlock button:hover {
      opacity: 0.6; }
    body.contact .formBlock button .line {
      position: absolute;
      background: #F4B73B;
      width: 40px;
      height: 1px;
      left: -20px;
      top: 50%; }
      body.contact .formBlock button .line:before {
        content: '';
        width: 20px;
        height: 1px;
        background: #FFF;
        right: 0;
        top: 0;
        position: absolute; }
  body.contact .formBlock .radio-list label {
    display: inline-block;
    position: relative;
    padding-left: 28px;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock .radio-list label {
        padding-left: 34px; } }
  body.contact .formBlock .radio-list input[type="radio"] {
    position: absolute;
    left: 0;
    top: 1px; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock .radio-list input[type="radio"] {
        top: 7px; } }
  body.contact .formBlock .ttl {
    position: relative;
    padding-left: 63px; }
    @media only screen and (min-width: 768px) {
      body.contact .formBlock .ttl {
        padding-left: 70px; } }
    body.contact .formBlock .ttl .required,
    body.contact .formBlock .ttl .optional {
      position: absolute;
      left: 0;
      top: 4px;
      color: transparent;
      text-indent: -9999px;
      width: 50px;
      height: 23px;
      background-position: center;
      background-repeat: no-repeat;
      background-size: 100% auto; }
    body.contact .formBlock .ttl .required {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='23' viewBox='0 0 50 23'%3E%3Cg transform='translate(-168 -1842)'%3E%3Crect width='50' height='23' transform='translate(168 1842)' fill='%23002d5f'/%3E%3Cpath d='M8.021-8.814c-.741-.572-2.054-1.534-3.107-2.21l-1,1.131c1.014.7,2.34,1.716,3.094,2.34ZM1.69-7.5A13.415,13.415,0,0,1,.325-3.211l1.5.559A15.176,15.176,0,0,0,3.159-7.124ZM6.175-.559c-.663,0-.767-.091-.767-.754v-.793a24.242,24.242,0,0,0,6.071-7.527l-1.56-.611A20.868,20.868,0,0,1,5.408-4.16V-8.086H3.757v5.317A17.448,17.448,0,0,1,.351-.715,9.032,9.032,0,0,1,1.365.507,18.361,18.361,0,0,0,3.77-.884C3.861.546,4.407.988,6.006.988H8.281c1.6,0,2.054-.767,2.262-3.107a4.937,4.937,0,0,1-1.521-.65c-.091,1.833-.208,2.21-.871,2.21ZM9.308-5.967A17.708,17.708,0,0,1,11.18-2l1.482-.754A16.989,16.989,0,0,0,10.7-6.63ZM24.791-6.4H21.385v-.819h3.406Zm0,1.872H21.385v-.819h3.406Zm0,1.9H21.385v-.819h3.406ZM19.942-8.359V-1.5h6.37V-8.359H23.621c.091-.26.195-.533.286-.806h2.834v-1.3H19.4v1.3h2.769c-.039.26-.091.533-.156.806ZM18.005-7.15a9.735,9.735,0,0,1-3.185,2.6,6.988,6.988,0,0,1,1.131,1.209,13.971,13.971,0,0,0,3.484-3.2Zm-.286-3.64a9.374,9.374,0,0,1-3.068,2.522,6.2,6.2,0,0,1,1.131,1.131,13.216,13.216,0,0,0,3.406-3.042Zm.572,7.241A8.363,8.363,0,0,1,14.664-.377,6.127,6.127,0,0,1,15.756.884a10.789,10.789,0,0,0,4-3.874Zm3.094,2.08A10.068,10.068,0,0,1,18.369.052a7.744,7.744,0,0,1,.936,1.066A11.845,11.845,0,0,0,22.633-.6Zm1.963.9a19.438,19.438,0,0,1,2.509,1.716l1.222-.91a19.254,19.254,0,0,0-2.587-1.625Z' transform='translate(180 1858)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A"); }
    body.contact .formBlock .ttl .optional {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='23' viewBox='0 0 50 23'%3E%3Cg transform='translate(-168 -1842)'%3E%3Cg transform='translate(168 1842)' fill='%23fff' stroke='%23707070' stroke-width='1'%3E%3Crect width='50' height='23' stroke='none'/%3E%3Crect x='0.5' y='0.5' width='49' height='22' fill='none'/%3E%3C/g%3E%3Cpath d='M12.506-4.121v-1.5H9.256V-8.788a21.527,21.527,0,0,0,2.938-.741l-1.131-1.3A34.211,34.211,0,0,1,4.55-9.451c.169-.351.312-.689.455-1.04l-1.534-.481A13.53,13.53,0,0,1,.221-5.967a12.087,12.087,0,0,1,.91,1.625,12.114,12.114,0,0,0,1.053-1.2V1.118H3.731v-8.97a14.762,14.762,0,0,0,.806-1.56,6.035,6.035,0,0,1,.442,1.287c.871-.1,1.794-.221,2.7-.377v2.886H4.16v1.5H7.683V-.793h-3V.689h7.7V-.793H9.256V-4.121Zm9.919-5.005c-.1.273-.26.6-.377.845l.182.039H19.344l.169-.039a7.92,7.92,0,0,0-.312-.845Zm4.017.884H23.569c.169-.234.351-.52.546-.845l-.195-.039h1.833v-1.2h-4.2v-.689H20.02v.689H15.834v1.2h1.885l-.065.013a7.89,7.89,0,0,1,.325.871H15.2v1.2H26.442ZM15.9.871A4.961,4.961,0,0,0,17.693-1.69l-1.3-.455a4.3,4.3,0,0,1-1.7,2.2Zm2.132-4.979h5.616v.585H18.031Zm0-1.456h5.616v.572H18.031Zm2.2,5.317c-.585,0-.689-.039-.689-.39v-1.3A8.112,8.112,0,0,1,21.372-.819l.936-.962a8.266,8.266,0,0,0-1.352-.793h4.225V-6.513H16.562v3.939h3.25l-.533.52.156.065h-1.4V-.624c0,1.235.4,1.612,2.041,1.612h2.093c1.209,0,1.625-.364,1.794-1.807a4.171,4.171,0,0,1-1.313-.494c-.065.923-.143,1.066-.624,1.066Zm3.354-1.391A10.776,10.776,0,0,1,25.623.793L26.9.052A9.547,9.547,0,0,0,24.778-2.3Z' transform='translate(180 1858)' fill='%23707070'/%3E%3C/g%3E%3C/svg%3E%0A"); }

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

@media only screen and (min-width: 768px) {
  body.faq main .nav-link_3 .inner ul li:first-child {
    margin-left: 85px; }
  body.faq main .nav-link_3 .inner ul li a .txt {
    margin-left: 18px; }
  body.faq main .nav-link_3 .inner ul li {
    margin-right: 50px; } }

body.faq main .faq-wrapper h3 {
  text-align: center;
  color: #002d5f;
  padding-top: 30px;
  position: relative;
  margin-bottom: 90px; }
  @media only screen and (max-width: 767px) {
    body.faq main .faq-wrapper h3 {
      margin-bottom: 55px; } }
  body.faq main .faq-wrapper h3:before {
    content: '';
    width: 57px;
    height: 2px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    background-color: #F4B73B; }
  body.faq main .faq-wrapper h3 .en {
    font-size: 52px;
    font-size: 5.2rem;
    letter-spacing: 0.072em;
    font-weight: 300;
    display: block;
    margin-bottom: 40px;
    font-family: din-2014-narrow, sans-serif; }
    @media only screen and (max-width: 767px) {
      body.faq main .faq-wrapper h3 .en {
        font-size: 42px;
        font-size: 4.2rem;
        letter-spacing: 0.08em;
        margin-bottom: 17px; } }
  body.faq main .faq-wrapper h3 .ja {
    font-size: 23px;
    font-size: 2.3rem;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 767px) {
      body.faq main .faq-wrapper h3 .ja {
        font-size: 15px;
        font-size: 1.5rem; } }

body.faq main .faq-wrapper .faq-list {
  border: 1px solid #002d5f;
  background-color: #fff;
  position: relative; }
  body.faq main .faq-wrapper .faq-list.toners {
    border: none; }
  body.faq main .faq-wrapper .faq-list .dot {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    position: absolute;
    background-color: #002d5f;
    transition: .3s; }
    body.faq main .faq-wrapper .faq-list .dot:nth-of-type(1) {
      top: -3px;
      left: -3px; }
    body.faq main .faq-wrapper .faq-list .dot:nth-of-type(2) {
      top: -3px;
      right: -3px; }
    body.faq main .faq-wrapper .faq-list .dot:nth-of-type(3) {
      bottom: -3px;
      left: -3px; }
    body.faq main .faq-wrapper .faq-list .dot:nth-of-type(4) {
      bottom: -3px;
      right: -3px; }
  body.faq main .faq-wrapper .faq-list:nth-of-type(n + 2) {
    margin-top: 24px; }
    @media only screen and (max-width: 767px) {
      body.faq main .faq-wrapper .faq-list:nth-of-type(n + 2) {
        margin-top: 13px; } }
  body.faq main .faq-wrapper .faq-list .question {
    display: flex;
    align-items: center;
    position: relative;
    padding: 40px 50px; }
    @media only screen and (max-width: 767px) {
      body.faq main .faq-wrapper .faq-list .question {
        padding: 31px 0px 25px; } }
    body.faq main .faq-wrapper .faq-list .question:before {
      content: '';
      width: 20px;
      height: 54px;
      display: block;
      position: absolute;
      left: 50px;
      top: 27px;
      background-image: url(../images/faq/icn-Q.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
      @media only screen and (max-width: 767px) {
        body.faq main .faq-wrapper .faq-list .question:before {
          left: 25px;
          top: 16px; } }
    body.faq main .faq-wrapper .faq-list .question:after {
      content: '';
      width: 16px;
      height: 17px;
      display: block;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 48px;
      background-image: url(../images/faq/icn-arw.svg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      transition: .3s; }
      @media only screen and (max-width: 767px) {
        body.faq main .faq-wrapper .faq-list .question:after {
          right: 25px;
          top: 41px; } }
    body.faq main .faq-wrapper .faq-list .question p {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.1em;
      line-height: 1.555555556;
      margin-left: 55px;
      padding-right: 100px;
      text-align: justify; }
      @media only screen and (max-width: 767px) {
        body.faq main .faq-wrapper .faq-list .question p {
          font-size: 16px;
          font-size: 1.6rem;
          letter-spacing: 0.06em;
          margin-left: 60px;
          line-height: 1.75;
          padding-right: 70px; } }
  body.faq main .faq-wrapper .faq-list .answer-wrapper {
    display: none;
    margin-top: -17px; }
    body.faq main .faq-wrapper .faq-list .answer-wrapper .answer {
      padding: 12px 50px 38px;
      position: relative; }
      @media only screen and (max-width: 767px) {
        body.faq main .faq-wrapper .faq-list .answer-wrapper .answer {
          padding: 15px 50px 26px; } }
      body.faq main .faq-wrapper .faq-list .answer-wrapper .answer:before {
        content: '';
        width: 20px;
        height: 54px;
        display: block;
        position: absolute;
        left: 50px;
        top: 30px;
        transform: translateY(-50%);
        background-image: url(../images/faq/icn-A.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center; }
        @media only screen and (max-width: 767px) {
          body.faq main .faq-wrapper .faq-list .answer-wrapper .answer:before {
            left: 25px;
            top: 30px; } }
      body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .dot {
        content: '';
        width: 5px;
        height: 5px;
        border-radius: 50%;
        position: absolute;
        background-color: #002d5f;
        transition: .3s; }
        body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .dot:nth-of-type(1) {
          bottom: -3px;
          left: -3px; }
        body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .dot:nth-of-type(2) {
          bottom: -3px;
          right: -3px; }
      body.faq main .faq-wrapper .faq-list .answer-wrapper .answer p {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        line-height: 2.133333333;
        padding-right: 70px;
        margin-left: 55px;
        text-align: justify; }
        @media only screen and (max-width: 767px) {
          body.faq main .faq-wrapper .faq-list .answer-wrapper .answer p {
            margin-left: 9px;
            padding-right: 15px;
            line-height: 1.866666667; } }
      body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .link-btn {
        margin: 23px 0 13px 55px;
        width: 152px;
        font-size: 12px;
        font-size: 1.2rem; }
        @media only screen and (max-width: 767px) {
          body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .link-btn {
            margin: 29px auto 0;
            width: 98%;
            font-size: 15px;
            font-size: 1.5rem; } }
        body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .link-btn a {
          padding: 13px 0;
          width: 100%; }
          @media only screen and (max-width: 767px) {
            body.faq main .faq-wrapper .faq-list .answer-wrapper .answer .link-btn a {
              padding: 20px 0px; } }
  body.faq main .faq-wrapper .faq-list.is-open .question:after {
    transform: rotate(-180deg);
    margin-top: -5px; }
  body.faq main .faq-wrapper .faq-list.is-open .question:before {
    background-image: url(../images/faq/icn-Q2.png); }

body.faq main .system {
  padding: 100px 0 140px;
  padding: 80px 0 100px; }
  body.faq main .system .faq-wrapper .faq-list .answer-wrapper .answer .link-btn {
    width: 200px; }
    body.faq main .system .faq-wrapper .faq-list .answer-wrapper .answer .link-btn a {
      font-size: 13px;
      font-size: 1.3rem;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        body.faq main .system .faq-wrapper .faq-list .answer-wrapper .answer .link-btn a {
          font-size: 12px;
          font-size: 1.2rem; } }

body.faq main .toner {
  padding: 100px 0 140px;
  background-color: #F2F2F2; }
  @media only screen and (max-width: 767px) {
    body.faq main .toner {
      padding: 80px 0 100px; } }

body.faq main .office {
  padding: 100px 0 180px; }
  @media only screen and (max-width: 767px) {
    body.faq main .office {
      padding: 80px 0 180px; } }

body.faq main #system {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.faq main #system {
      position: relative;
      top: -30px; } }

body.faq main #toner {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.faq main #toner {
      position: relative;
      top: -30px; } }

body.faq main #office {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.faq main #office {
      position: relative;
      top: -30px; } }

@media only screen and (min-width: 768px) {
  .news #mv .mv-catch h2 .ja {
    padding-bottom: 13px; } }

@media only screen and (max-width: 767px) {
  .news #mv .mv-catch h2 .ja {
    padding-bottom: 24px; } }

.news .list-cat {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .news .list-cat li {
    width: 25%; }
    @media only screen and (max-width: 767px) {
      .news .list-cat li {
        width: 50%; } }
    .news .list-cat li a {
      display: block;
      background: #002D5F;
      color: #fff;
      text-align: center;
      padding: 19px 5px;
      font-size: 12px;
      font-size: 1.2rem; }
      .news .list-cat li a.all {
        color: #002D5F;
        background: #E5E9EF; }

.news .arc {
  max-width: 800px;
  width: 100%;
  margin: 130px auto 90px; }
  @media only screen and (max-width: 767px) {
    .news .arc {
      margin: 60px auto 130px; } }
  .news .arc .list-post {
    padding: 82px 0 30px; }
    @media only screen and (max-width: 767px) {
      .news .arc .list-post {
        padding: 45px 0 30px; } }
    .news .arc .list-post__item {
      display: block;
      width: 100%;
      margin-bottom: 32px;
      position: relative;
      flex-shrink: 3; }
      @media only screen and (max-width: 767px) {
        .news .arc .list-post__item {
          border-bottom: 1px solid #002D5F;
          margin-bottom: 30px; }
          .news .arc .list-post__item:before, .news .arc .list-post__item:after {
            position: absolute;
            content: "";
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: #002D5F;
            bottom: -3px; }
          .news .arc .list-post__item:before {
            left: 0; }
          .news .arc .list-post__item:after {
            right: 0; } }
      .news .arc .list-post__item .ins {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        position: relative; }
        @media only screen and (min-width: 768px) {
          .news .arc .list-post__item .ins {
            white-space: nowrap; } }
        @media only screen and (max-width: 767px) {
          .news .arc .list-post__item .ins {
            padding: 0 0 30px 0; } }
        .news .arc .list-post__item .ins:after {
          content: "";
          position: absolute;
          width: 16px;
          height: 17px;
          background: url(../images/news/ico_arr.svg) no-repeat center center/100% 100%;
          right: 0;
          top: 0; }
          @media only screen and (max-width: 767px) {
            .news .arc .list-post__item .ins:after {
              top: 50%;
              margin-top: -28px; } }
      .news .arc .list-post__item .gr-info {
        display: inline-block;
        max-width: 170px; }
        @media only screen and (max-width: 767px) {
          .news .arc .list-post__item .gr-info {
            max-width: 100%;
            margin-bottom: 5px; } }
        .news .arc .list-post__item .gr-info .date {
          font-family: din-2014-narrow, sans-serif;
          color: #002D5F;
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.08em;
          display: inline-block;
          margin-right: 13px;
          font-weight: 100; }
        .news .arc .list-post__item .gr-info .cat {
          position: relative;
          top: -2px;
          margin-right: 13px; }
          .news .arc .list-post__item .gr-info .cat em {
            color: #002D5F;
            font-size: 10px;
            font-size: 1rem;
            letter-spacing: 0.08em;
            display: inline-block;
            border: 1px solid #002D5F;
            padding: 5px 5px;
            min-width: 60px;
            text-align: center; }
            @media only screen and (max-width: 767px) {
              .news .arc .list-post__item .gr-info .cat em {
                padding: 3px 5px; } }
      .news .arc .list-post__item p {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        width: calc(100% - 170px);
        color: #333;
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        padding-left: 10px;
        padding-right: 100px; }
        @media only screen and (max-width: 767px) {
          .news .arc .list-post__item p {
            width: 100%;
            text-overflow: unset;
            white-space: normal;
            padding-right: 27px;
            padding-left: 0;
            line-height: 28px; } }

.news .arc-side {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 180px;
  display: inherit;
  position: relative;
  padding: 36px 0 30px; }
  @media only screen and (max-width: 767px) {
    .news .arc-side {
      width: calc(100% + 30px);
      margin-left: -15px;
      padding: 36px 0 36px; } }
  .news .arc-side .tit {
    text-align: center;
    color: #707070;
    font-size: 15px;
    font-size: 1.5rem;
    margin-bottom: 25px;
    letter-spacing: 0.08em; }
    .news .arc-side .tit span {
      font-family: din-2014-narrow, sans-serif;
      color: #002D5F;
      font-size: 32px;
      font-size: 3.2rem;
      font-weight: 100;
      margin-right: 10px;
      letter-spacing: 0.08em; }
      @media only screen and (max-width: 767px) {
        .news .arc-side .tit span {
          display: block;
          padding-bottom: 18px; } }
  .news .arc-side ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 700px;
    margin: 0 auto;
    font-size: 0;
    letter-spacing: 0; }
    @media only screen and (max-width: 767px) {
      .news .arc-side ul {
        padding: 0 33px 0; } }
    .news .arc-side ul li {
      width: calc(100%/6);
      text-align: center;
      padding: 5px 5px;
      margin: 0 0 10px; }
      @media only screen and (max-width: 767px) {
        .news .arc-side ul li {
          width: 33.333%;
          margin: 0 0 5px; } }
      .news .arc-side ul li a {
        color: #002D5F;
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.08em;
        font-family: din-2014-narrow, sans-serif;
        font-weight: 100; }
  .news .arc-side .icon-line {
    position: absolute;
    width: 100%;
    height: 1px;
    display: block;
    content: ""; }
    .news .arc-side .icon-line:before, .news .arc-side .icon-line:after {
      position: absolute;
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #002D5F;
      top: -2px; }
    .news .arc-side .icon-line.i1 {
      top: 0px;
      border-bottom: 1px solid #002D5F; }
      .news .arc-side .icon-line.i1:before {
        left: 0;
        top: -2px; }
      .news .arc-side .icon-line.i1:after {
        right: 0;
        top: -2px; }
    .news .arc-side .icon-line.i2 {
      bottom: 0px;
      border-top: 1px solid #002D5F; }
      .news .arc-side .icon-line.i2:before {
        left: 0;
        top: -3px; }
      .news .arc-side .icon-line.i2:after {
        right: 0;
        top: -3px; }

.news--detail .single-top {
  padding-top: 7px;
  background: #E5E9EF; }
  @media only screen and (max-width: 767px) {
    .news--detail .single-top {
      padding-top: 0; } }
  .news--detail .single-top #breadcrumbs {
    padding-right: 20px; }
    .news--detail .single-top #breadcrumbs ul li {
      line-height: 27px; }
  .news--detail .single-top .tit-page {
    padding: 90px 40px 56px;
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    line-height: 52px;
    text-align: center;
    color: #002D5F;
    font-weight: bold;
    max-width: 880px;
    margin: auto;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .news--detail .single-top .tit-page {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 42px;
        padding: 90px 40px 56px;
        font-weight: 500;
        padding: 47px 40px 56px; } }

.news--detail .single-post .gr-post {
  max-width: 800px;
  margin: 64px auto 64px; }
  @media only screen and (max-width: 767px) {
    .news--detail .single-post .gr-post {
      margin: 51px ​auto 64px; } }

.news--detail .single-post .gr-info {
  display: inline-block;
  max-width: 170px;
  margin-bottom: 42px; }
  @media only screen and (min-width: 768px) {
    .news--detail .single-post .gr-info {
      white-space: nowrap; } }
  @media only screen and (max-width: 767px) {
    .news--detail .single-post .gr-info {
      max-width: 100%;
      margin-bottom: 35px; } }
  .news--detail .single-post .gr-info .date {
    font-family: din-2014-narrow, sans-serif;
    color: #002D5F;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    display: inline-block;
    margin-right: 13px;
    font-weight: 100; }
  .news--detail .single-post .gr-info .cat {
    position: relative;
    top: -3px;
    margin-right: 13px; }
    .news--detail .single-post .gr-info .cat em {
      color: #002D5F;
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: 0.08em;
      display: inline-block;
      border: 1px solid #002D5F;
      padding: 5px 5px;
      min-width: 60px;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .news--detail .single-post .gr-info .cat em {
          padding: 3px 5px; } }

.news--detail .single-post .gr-rel {
  padding: 58px 0 93px; }
  .news--detail .single-post .gr-rel ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .news--detail .single-post .gr-rel ul li a {
      color: #fff;
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.15em;
      line-height: 38px;
      width: 152px;
      background: #002D5F;
      display: inline-block;
      text-align: center; }
    .news--detail .single-post .gr-rel ul li.mid {
      margin: 0 60px; }
      @media only screen and (max-width: 767px) {
        .news--detail .single-post .gr-rel ul li.mid {
          margin: 0 20px; } }
    .news--detail .single-post .gr-rel ul li.prev, .news--detail .single-post .gr-rel ul li.next {
      width: 51px;
      position: relative;
      top: -6px; }
      .news--detail .single-post .gr-rel ul li.prev a, .news--detail .single-post .gr-rel ul li.next a {
        width: 51px;
        height: 50px;
        content: ""; }
    .news--detail .single-post .gr-rel ul li.prev a {
      background: url(../images/news/btn_prev.svg) no-repeat center center/100% 100%; }
    .news--detail .single-post .gr-rel ul li.next a {
      background: url(../images/news/btn_next.svg) no-repeat center center/100% 100%; }

body.office main p {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  line-height: 2.533333333; }
  @media only screen and (max-width: 767px) {
    body.office main p {
      line-height: 2.267; } }

@media only screen and (max-width: 767px) {
  body.office main .inner {
    width: calc(100% - 80px); } }

body.office main .service {
  background-image: url(../images/office/service_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 98px 0 133px;
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    body.office main .service {
      background-image: url(../images/office/service_bg-sp.jpg);
      padding: 80px 0 120px;
      margin-top: 60px; } }
  body.office main .service .sec-title_main2 {
    text-align: center;
    color: #fff; }
    body.office main .service .sec-title_main2:before {
      margin: 0 auto; }
  body.office main .service .cont {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.office main .service .cont {
        position: relative; } }
    body.office main .service .cont .left-cont {
      width: 84%; }
      @media only screen and (max-width: 767px) {
        body.office main .service .cont .left-cont {
          width: 100%; } }
      body.office main .service .cont .left-cont .txt {
        margin-top: 72px; }
        body.office main .service .cont .left-cont .txt:nth-of-type(2) {
          margin-top: 65px; }
          @media only screen and (max-width: 767px) {
            body.office main .service .cont .left-cont .txt:nth-of-type(2) {
              margin-top: 25px; } }
        @media only screen and (max-width: 767px) {
          body.office main .service .cont .left-cont .txt:first-of-type {
            margin-top: 42px; } }
      body.office main .service .cont .left-cont p {
        color: #fff;
        margin-top: 42px; }
        @media only screen and (max-width: 767px) {
          body.office main .service .cont .left-cont p {
            margin-top: 44px; } }
      body.office main .service .cont .left-cont .btn {
        display: flex;
        align-items: center;
        color: #fff;
        margin-top: 40px;
        width: 200px;
        font-size: 20px;
        font-size: 2rem;
        letter-spacing: 0.06em; }
        body.office main .service .cont .left-cont .btn > div {
          margin-right: 17px; }
    @media only screen and (min-width: 768px) {
      body.office main .service .cont .right-cont {
        width: 5%;
        padding-top: 75px; } }
    @media only screen and (max-width: 767px) {
      body.office main .service .cont .right-cont {
        position: absolute;
        top: 49px;
        right: -30px;
        height: 100%;
        white-space: nowrap; } }
    body.office main .service .cont .right-cont span {
      font-size: 46px;
      font-size: 4.6rem;
      letter-spacing: 0.08em;
      font-weight: 300;
      color: #fff;
      font-family: din-2014-narrow, sans-serif;
      writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      white-space: nowrap; }
      @media only screen and (max-width: 767px) {
        body.office main .service .cont .right-cont span {
          opacity: .3;
          font-size: 52px;
          font-size: 5.2rem;
          width: 100%; } }

body.office main .feature {
  padding: 120px 0; }
  @media only screen and (max-width: 767px) {
    body.office main .feature {
      position: relative;
      padding: 50px 0 80px; } }
  body.office main .feature .top-cont {
    display: flex;
    justify-content: space-between;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.office main .feature .top-cont {
        flex-direction: column;
        padding-left: 10px; } }
  body.office main .feature .sec-title_main2 {
    width: 38.6%; }
    @media only screen and (max-width: 767px) {
      body.office main .feature .sec-title_main2 {
        width: 100%;
        text-align: left; }
        body.office main .feature .sec-title_main2:before {
          margin: 50px 0 0 0; } }
  body.office main .feature .img {
    width: 34%;
    top: -206px;
    right: 0;
    position: absolute; }
    @media only screen and (max-width: 767px) {
      body.office main .feature .img {
        width: 165px;
        position: absolute;
        top: -139px;
        right: -20px; } }
  body.office main .feature .bottom-cont {
    margin-top: 90px; }
    @media only screen and (max-width: 767px) {
      body.office main .feature .bottom-cont {
        margin-top: 43px; } }
    @media only screen and (max-width: 767px) {
      body.office main .feature .bottom-cont .txt:nth-of-type(4) .sec-title_sub {
        letter-spacing: 0em; } }
    body.office main .feature .bottom-cont .txt:nth-child(n + 2) {
      margin-top: 95px; }
      @media only screen and (max-width: 767px) {
        body.office main .feature .bottom-cont .txt:nth-child(n + 2) {
          margin-top: 55px; } }
    @media only screen and (max-width: 767px) {
      body.office main .feature .bottom-cont .txt .sec-title_sub {
        width: 103%; } }
    body.office main .feature .bottom-cont .txt p {
      margin-top: 43px;
      text-align: justify; }
    body.office main .feature .bottom-cont .txt .no-list-box ul {
      justify-content: center; }
    body.office main .feature .bottom-cont .txt .bottom-txt {
      margin-top: 95px;
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.06em;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        body.office main .feature .bottom-cont .txt .bottom-txt {
          margin-top: 43px; } }
    body.office main .feature .bottom-cont .txt .btn {
      width: 442px;
      margin: 0 auto;
      border: 1px solid #002d5f;
      position: relative;
      margin-top: 50px; }
      @media only screen and (max-width: 767px) {
        body.office main .feature .bottom-cont .txt .btn {
          width: 295px;
          margin-top: 30px; } }
      body.office main .feature .bottom-cont .txt .btn:after {
        content: '';
        width: 17px;
        height: 17px;
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 30px;
        background-image: url(../images/office/icn-arw.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center; }
        @media only screen and (max-width: 767px) {
          body.office main .feature .bottom-cont .txt .btn:after {
            width: 11px;
            height: 11px;
            right: 25px; } }
      body.office main .feature .bottom-cont .txt .btn a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        justify-content: center;
        padding: 10px 60px; }
        @media only screen and (max-width: 767px) {
          body.office main .feature .bottom-cont .txt .btn a {
            padding: 12px 38px; } }
        @media only screen and (min-width: 768px) {
          body.office main .feature .bottom-cont .txt .btn a .logo {
            width: 323px; } }
      body.office main .feature .bottom-cont .txt .btn .dot {
        content: '';
        width: 5px;
        height: 5px;
        border-radius: 50%;
        position: absolute;
        background: #002d5f; }
        body.office main .feature .bottom-cont .txt .btn .dot:first-of-type {
          top: -3px;
          left: -3px; }
        body.office main .feature .bottom-cont .txt .btn .dot:nth-of-type(2) {
          top: -3px;
          right: -3px; }
        body.office main .feature .bottom-cont .txt .btn .dot:nth-of-type(3) {
          bottom: -3px;
          right: -3px; }
        body.office main .feature .bottom-cont .txt .btn .dot:nth-of-type(4) {
          bottom: -3px;
          left: -3px; }
    body.office main .feature .bottom-cont .calc-box {
      margin-top: 60px;
      padding: 55px 50px 60px;
      background-color: rgba(112, 112, 112, 0.1);
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        body.office main .feature .bottom-cont .calc-box {
          flex-direction: column;
          margin: 40px -15px;
          padding: 43px 10px 60px; } }
      body.office main .feature .bottom-cont .calc-box .block {
        width: 23.6607143%;
        text-align: center;
        position: relative; }
        @media only screen and (max-width: 767px) {
          body.office main .feature .bottom-cont .calc-box .block {
            width: 100%; } }
        body.office main .feature .bottom-cont .calc-box .block:first-of-type .bottom-txt ul li {
          padding: 10px 15px; }
        @media only screen and (max-width: 767px) {
          body.office main .feature .bottom-cont .calc-box .block:nth-of-type(n + 2) {
            margin-top: 80px; } }
        @media only screen and (min-width: 768px) {
          body.office main .feature .bottom-cont .calc-box .block:nth-of-type(n + 2) .bottom-txt ul {
            justify-content: space-between; } }
        body.office main .feature .bottom-cont .calc-box .block:nth-of-type(n + 2) .bottom-txt li {
          width: 44.8113208%; }
          @media only screen and (min-width: 768px) {
            body.office main .feature .bottom-cont .calc-box .block:nth-of-type(n + 2) .bottom-txt li {
              margin-left: 10px;
              margin-right: 0; } }
          @media only screen and (max-width: 767px) {
            body.office main .feature .bottom-cont .calc-box .block:nth-of-type(n + 2) .bottom-txt li {
              width: 31%;
              padding: 10px 0px; } }
          @media only screen and (min-width: 768px) {
            body.office main .feature .bottom-cont .calc-box .block:nth-of-type(n + 2) .bottom-txt li:nth-of-type(2) {
              margin-right: 10px; } }
        body.office main .feature .bottom-cont .calc-box .block:last-of-type {
          width: 34.2222222%; }
          @media only screen and (max-width: 767px) {
            body.office main .feature .bottom-cont .calc-box .block:last-of-type {
              width: 100%; } }
          body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt em {
            color: #F4B73B; }
            body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt em:after {
              width: 98%; }
              @media only screen and (max-width: 767px) {
                body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt em:after {
                  width: 100%; } }
          body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt .dot:first-of-type {
            left: 0px; }
          body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt .dot:nth-of-type(2) {
            right: 0px; }
            @media only screen and (min-width: 768px) {
              body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt .dot:nth-of-type(2) {
                right: 1px; } }
            @media all and (-ms-high-contrast: none) {
              body.office main .feature .bottom-cont .calc-box .block:last-of-type .top-txt .dot:nth-of-type(2) {
                right: 2px; } }
          @media only screen and (min-width: 768px) {
            body.office main .feature .bottom-cont .calc-box .block:last-of-type .bottom-txt ul {
              justify-content: space-between; } }
          body.office main .feature .bottom-cont .calc-box .block:last-of-type .bottom-txt li {
            width: 45.4545455%;
            color: #F4B73B;
            margin-left: 10px;
            margin-right: 0; }
            @media only screen and (max-width: 767px) {
              body.office main .feature .bottom-cont .calc-box .block:last-of-type .bottom-txt li {
                width: 40%; } }
            body.office main .feature .bottom-cont .calc-box .block:last-of-type .bottom-txt li:nth-of-type(2) {
              margin-right: 10px; }
        body.office main .feature .bottom-cont .calc-box .block:first-of-type:after {
          content: '';
          width: 24px;
          height: 24px;
          display: block;
          position: absolute;
          top: 50%;
          background-image: url(../images/office/icn-cross.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center; }
          @media only screen and (min-width: 768px) {
            body.office main .feature .bottom-cont .calc-box .block:first-of-type:after {
              transform: translateY(-50%);
              right: -55px; } }
          @media only screen and (max-width: 767px) {
            body.office main .feature .bottom-cont .calc-box .block:first-of-type:after {
              left: 50%;
              transform: translateX(-50%);
              top: 177px; } }
        body.office main .feature .bottom-cont .calc-box .block:nth-of-type(2):after {
          content: '';
          width: 30px;
          height: 20px;
          display: block;
          position: absolute;
          top: 50%;
          background-image: url(../images/office/icn-equal.svg);
          background-repeat: no-repeat;
          background-size: contain;
          background-position: center; }
          @media only screen and (min-width: 768px) {
            body.office main .feature .bottom-cont .calc-box .block:nth-of-type(2):after {
              transform: translateY(-50%);
              right: -55px; } }
          @media only screen and (max-width: 767px) {
            body.office main .feature .bottom-cont .calc-box .block:nth-of-type(2):after {
              left: 50%;
              transform: translateX(-50%) rotate(90deg);
              top: 120%; } }
        body.office main .feature .bottom-cont .calc-box .block .top-txt {
          position: relative; }
          body.office main .feature .bottom-cont .calc-box .block .top-txt em {
            color: #002d5f;
            font-family: din-2014-narrow, sans-serif;
            font-size: 46px;
            font-size: 4.6rem;
            letter-spacing: 0.08em;
            font-weight: 300;
            position: relative; }
            @media only screen and (max-width: 767px) {
              body.office main .feature .bottom-cont .calc-box .block .top-txt em {
                letter-spacing: 0.06em; } }
            body.office main .feature .bottom-cont .calc-box .block .top-txt em:after {
              content: '';
              width: 100%;
              height: 1px;
              display: block;
              background: #707070;
              margin: 10px 0 20px; }
              @media only screen and (max-width: 767px) {
                body.office main .feature .bottom-cont .calc-box .block .top-txt em:after {
                  width: 67%;
                  margin: 10px auto 20px; } }
          body.office main .feature .bottom-cont .calc-box .block .top-txt .dot {
            content: '';
            width: 5px;
            height: 5px;
            border-radius: 50%;
            position: absolute;
            bottom: -2px;
            background: #707070; }
            body.office main .feature .bottom-cont .calc-box .block .top-txt .dot:first-of-type {
              left: -3px; }
              @media only screen and (max-width: 767px) {
                body.office main .feature .bottom-cont .calc-box .block .top-txt .dot:first-of-type {
                  left: 15%; } }
            body.office main .feature .bottom-cont .calc-box .block .top-txt .dot:nth-of-type(2) {
              right: -3px; }
              @media only screen and (max-width: 767px) {
                body.office main .feature .bottom-cont .calc-box .block .top-txt .dot:nth-of-type(2) {
                  right: 15%; } }
        body.office main .feature .bottom-cont .calc-box .block .bottom-txt span {
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.1em; }
        body.office main .feature .bottom-cont .calc-box .block .bottom-txt ul {
          display: flex;
          justify-content: center;
          margin-top: 20px; }
          @media only screen and (max-width: 767px) {
            body.office main .feature .bottom-cont .calc-box .block .bottom-txt ul {
              margin-top: 23px; } }
          body.office main .feature .bottom-cont .calc-box .block .bottom-txt ul li {
            padding: 10px 9px;
            background-color: #fff;
            font-size: 13px;
            font-size: 1.3rem;
            letter-spacing: 0.1em;
            color: #002d5f;
            margin-right: 15px; }
            @media only screen and (max-width: 767px) {
              body.office main .feature .bottom-cont .calc-box .block .bottom-txt ul li {
                margin-right: 10px;
                padding: 7px 15px; } }
            body.office main .feature .bottom-cont .calc-box .block .bottom-txt ul li:last-child {
              margin-right: 0; }
  body.office main .feature .no-list-box {
    background-color: #F2F2F2;
    padding: 50px 60px 65px 65px;
    margin-top: 90px; }
    @media only screen and (max-width: 767px) {
      body.office main .feature .no-list-box {
        padding: 40px 15px 43px;
        margin: 40px -15px; } }
    body.office main .feature .no-list-box .sec-title_sub {
      text-align: center; }
      body.office main .feature .no-list-box .sec-title_sub:after {
        margin: 30px auto 0; }
        @media only screen and (max-width: 767px) {
          body.office main .feature .no-list-box .sec-title_sub:after {
            margin: 23px auto 0; } }
    body.office main .feature .no-list-box ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media only screen and (max-width: 767px) {
        body.office main .feature .no-list-box ul {
          flex-direction: column; } }
      body.office main .feature .no-list-box ul li {
        background-color: #fff;
        color: #002d5f;
        width: calc((100% - 25px) / 2);
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        line-height: 1.733333333;
        padding: 13px 0 10px;
        text-align: center;
        position: relative; }
        @media only screen and (min-width: 768px) {
          body.office main .feature .no-list-box ul li {
            margin-right: 25px; }
            body.office main .feature .no-list-box ul li:nth-child(2n + 2) {
              margin-right: 0; }
            body.office main .feature .no-list-box ul li:nth-child(n + 3) {
              margin-top: 27px; } }
        @media only screen and (max-width: 767px) {
          body.office main .feature .no-list-box ul li {
            letter-spacing: 0em;
            width: 100%;
            padding: 13px 0; }
            body.office main .feature .no-list-box ul li:nth-child(n + 2) {
              margin-top: 14px; } }
        @media all and (-ms-high-contrast: none) {
          body.office main .feature .no-list-box ul li {
            padding-top: 9px; } }
        body.office main .feature .no-list-box ul li:before {
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          right: -5px;
          bottom: -5px;
          background-color: transparent;
          border: 1px solid #fff; }

@media only screen and (min-width: 768px) {
  body.office main .sec_flow .txt-cont .link-btn a {
    padding: 13px 42px; } }

body.office main #service {
  display: block; }

body.office main #features {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.office main #features {
      position: relative;
      top: -30px; } }

body.office main #flow {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.office main #flow {
      position: relative;
      top: -30px; } }

body.policy main .top-cont {
  padding: 120px 0 100px; }
  @media only screen and (max-width: 767px) {
    body.policy main .top-cont {
      padding: 60px 0; } }
  body.policy main .top-cont .inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      body.policy main .top-cont .inner {
        position: relative; } }
    body.policy main .top-cont .inner p {
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.06em;
      line-height: 2.533333333;
      width: 80%; }
      @media only screen and (max-width: 767px) {
        body.policy main .top-cont .inner p {
          width: 82%;
          line-height: 2.267; } }
    body.policy main .top-cont .inner .txt {
      font-size: 46px;
      font-size: 4.6rem;
      letter-spacing: 0.08em;
      font-weight: 300;
      line-height: 1.47826087;
      font-family: din-2014-narrow, sans-serif;
      color: #002d5f;
      writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl; }
      @media only screen and (max-width: 767px) {
        body.policy main .top-cont .inner .txt {
          font-size: 38px;
          font-size: 3.8rem;
          line-height: 1.789473684;
          position: absolute;
          right: -25px;
          top: 10px; } }

body.policy main .bottom-cont {
  padding-bottom: 180px; }
  body.policy main .bottom-cont .box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #002d5f;
    position: relative;
    padding: 68px 60px 51px 70px; }
    @media only screen and (max-width: 767px) {
      body.policy main .bottom-cont .box {
        flex-direction: column;
        padding: 50px 0 52px;
        margin: 0 -15px; } }
    body.policy main .bottom-cont .box:first-of-type {
      border-top: 1px solid #002d5f; }
      body.policy main .bottom-cont .box:first-of-type:before, body.policy main .bottom-cont .box:first-of-type:after {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: -3px;
        border-radius: 50%;
        background-color: #002d5f; }
      body.policy main .bottom-cont .box:first-of-type:before {
        left: 0; }
      body.policy main .bottom-cont .box:first-of-type:after {
        right: 0; }
      @media only screen and (max-width: 767px) {
        body.policy main .bottom-cont .box:first-of-type .img {
          width: 64px; } }
    body.policy main .bottom-cont .box:before, body.policy main .bottom-cont .box:after {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      bottom: -3px;
      border-radius: 50%;
      background-color: #002d5f; }
    body.policy main .bottom-cont .box:before {
      left: 0; }
    body.policy main .bottom-cont .box:after {
      right: 0; }
    @media only screen and (min-width: 768px) {
      body.policy main .bottom-cont .box:first-of-type .img {
        width: 11.5%;
        margin-left: 12px; } }
    body.policy main .bottom-cont .box .img {
      width: 13%;
      margin-left: 5px; }
      @media only screen and (max-width: 767px) {
        body.policy main .bottom-cont .box .img {
          width: 80px;
          margin-bottom: 28px; } }
      @media all and (-ms-high-contrast: none) {
        body.policy main .bottom-cont .box .img {
          position: relative;
          left: -40px; } }
    body.policy main .bottom-cont .box .txt {
      width: 78%;
      text-align: justify; }
      @media only screen and (max-width: 767px) {
        body.policy main .bottom-cont .box .txt {
          width: 100%; } }
      body.policy main .bottom-cont .box .txt h3 {
        font-size: 23px;
        font-size: 2.3rem;
        letter-spacing: 0.1em;
        position: relative;
        color: #002d5f; }
        @media only screen and (max-width: 767px) {
          body.policy main .bottom-cont .box .txt h3 {
            text-align: center;
            line-height: 1.826086957; } }
        body.policy main .bottom-cont .box .txt h3:after {
          content: '';
          width: 60px;
          height: 1px;
          display: block;
          background-color: #F4B73B;
          margin-top: 33px; }
          @media only screen and (max-width: 767px) {
            body.policy main .bottom-cont .box .txt h3:after {
              margin: 25px auto 0; } }
      body.policy main .bottom-cont .box .txt p {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        line-height: 2.533333333;
        margin-top: 35px; }
        @media only screen and (max-width: 767px) {
          body.policy main .bottom-cont .box .txt p {
            padding: 0 19px;
            margin-top: 30px;
            line-height: 2.267; } }
      body.policy main .bottom-cont .box .txt ul {
        margin-top: 25px; }
        @media only screen and (max-width: 767px) {
          body.policy main .bottom-cont .box .txt ul {
            margin-top: 28px;
            margin-bottom: 7px;
            padding: 0 15px; } }
        body.policy main .bottom-cont .box .txt ul li {
          font-size: 14px;
          font-size: 1.4rem;
          letter-spacing: 0.1em;
          line-height: 2.5;
          color: #002d5f;
          margin-left: 13px;
          position: relative; }
          @media only screen and (max-width: 767px) {
            body.policy main .bottom-cont .box .txt ul li {
              line-height: 1.857142857; }
              body.policy main .bottom-cont .box .txt ul li:nth-of-type(n + 2) {
                margin-top: 9px; } }
          body.policy main .bottom-cont .box .txt ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 14px;
            left: -13px;
            background-color: #fff;
            border: 1px solid rgba(0, 45, 95, 0.5);
            border-radius: 1000px; }
            @media only screen and (max-width: 767px) {
              body.policy main .bottom-cont .box .txt ul li:before {
                top: 11px; } }
            @media all and (-ms-high-contrast: none) {
              body.policy main .bottom-cont .box .txt ul li:before {
                top: 16px; } }
    body.policy main .bottom-cont .box .dot {
      position: absolute;
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      bottom: -3px;
      border-radius: 50%;
      background-color: #002d5f; }
      body.policy main .bottom-cont .box .dot:first-of-type {
        left: 0; }
      body.policy main .bottom-cont .box .dot:nth-of-type(2) {
        right: 0; }
    body.policy main .bottom-cont .box .link-btn {
      margin: 28px 0 10px; }
      @media only screen and (max-width: 767px) {
        body.policy main .bottom-cont .box .link-btn {
          margin: 40px auto 10px;
          width: 210px; } }
      body.policy main .bottom-cont .box .link-btn a {
        padding: 13px 33px; }
        @media only screen and (max-width: 767px) {
          body.policy main .bottom-cont .box .link-btn a {
            padding: 20px 0; } }

@media only screen and (min-width: 768px) {
  body.printer .d-inlineblock {
    display: inline-block; } }

body.printer .subscription {
  padding: 47px 0 91px; }
  @media only screen and (max-width: 767px) {
    body.printer .subscription {
      padding: 57px 0 41px; } }
  body.printer .subscription__inner {
    max-width: 880px; }
  body.printer .subscription__title {
    text-align: center;
    margin-bottom: 68px; }
    @media only screen and (max-width: 767px) {
      body.printer .subscription__title {
        width: calc(100% + 60px);
        margin-left: -30px;
        margin-bottom: 34px; }
        body.printer .subscription__title .en {
          margin: 24px 0 10px; }
        body.printer .subscription__title .ja {
          line-height: 36px; } }
    @media only screen and (min-width: 768px) {
      body.printer .subscription__title:before {
        margin: 50px auto 0; } }
  body.printer .subscription__text p {
    letter-spacing: 0.06em;
    line-height: 38px;
    font-size: 15px;
    font-size: 1.5rem; }

body.printer .plan {
  background: #f2f2f2;
  padding: 49px 0 40px; }
  @media only screen and (min-width: 768px) {
    body.printer .plan {
      padding: 100px 0 80px; } }
  body.printer .plan__inner {
    position: relative; }
  body.printer .plan__head {
    margin-bottom: 42px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; }
    @media only screen and (min-width: 768px) {
      body.printer .plan__head {
        margin-bottom: 0;
        width: calc(50% - 10px);
        position: absolute;
        top: -32px;
        left: 0; } }
    body.printer .plan__head .title {
      width: 128px;
      text-align: left; }
      @media only screen and (min-width: 768px) {
        body.printer .plan__head .title {
          width: 30.5%; } }
      body.printer .plan__head .title:before {
        margin: 0; }
      body.printer .plan__head .title .en {
        margin: 35px 0 25px;
        font-size: 52px;
        font-size: 5.2rem; }
      body.printer .plan__head .title .ja {
        font-size: 23px;
        font-size: 2.3rem; }
    body.printer .plan__head .text {
      width: calc(100% - 128px);
      padding-top: 37px; }
      @media only screen and (min-width: 768px) {
        body.printer .plan__head .text {
          width: 69.5%;
          padding-top: 37px; } }
      body.printer .plan__head .text p {
        letter-spacing: 0.06em;
        line-height: 30px;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (min-width: 768px) {
          body.printer .plan__head .text p {
            max-width: 285px;
            line-height: 38px; } }
        @media only screen and (min-width: 769px) and (max-width: 860px) {
          body.printer .plan__head .text p {
            font-size: 13px;
            font-size: 1.3rem; } }
  body.printer .plan__list {
    display: flex;
    flex-wrap: wrap; }
    body.printer .plan__list .item {
      width: 100%;
      margin-bottom: 10px;
      background-color: #002D5F;
      position: relative;
      overflow: hidden; }
      @media only screen and (min-width: 768px) {
        body.printer .plan__list .item {
          width: calc(50% - 10px);
          margin-right: 20px;
          margin-bottom: 20px; }
          body.printer .plan__list .item:first-child {
            margin-left: calc(50% + 10px); }
          body.printer .plan__list .item:nth-child(2n - 1) {
            margin-right: 0; } }
      body.printer .plan__list .item:before {
        content: '';
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-position: right center;
        background-size: cover;
        background-repeat: no-repeat;
        transition: transform .3s;
        transform-origin: right center; }
      body.printer .plan__list .item:hover {
        opacity: 1; }
        body.printer .plan__list .item:hover:before {
          transform: scale(1.08); }
        body.printer .plan__list .item:hover .ttl .arrow:before {
          transform: rotate(45deg); }
      body.printer .plan__list .item .ttl {
        position: relative;
        z-index: 2;
        padding: 24px 10px 16px 20px; }
        @media only screen and (min-width: 768px) {
          body.printer .plan__list .item .ttl {
            padding: 38px 10px 32px 30px; } }
        body.printer .plan__list .item .ttl .en {
          font-weight: 300;
          letter-spacing: 0.08em;
          line-height: 28px;
          color: #fff;
          font-family: din-2014-narrow, sans-serif;
          font-size: 28px;
          font-size: 2.8rem; }
        body.printer .plan__list .item .ttl .ja {
          letter-spacing: 0.06em;
          line-height: 22px;
          color: #fff;
          font-size: 11px;
          font-size: 1.1rem; }
        body.printer .plan__list .item .ttl .arrow {
          position: absolute;
          right: 20px;
          top: 50%;
          transform: translateY(-50%);
          width: 42px;
          height: 42px;
          background-size: 40px auto;
          background-position: center;
          background-repeat: no-repeat;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cg transform='translate(-1046 -1184.5)'%3E%3Cg transform='translate(1094 1232.5) rotate(180)' fill='none' stroke='%23fff' stroke-width='1'%3E%3Ccircle cx='24' cy='24' r='24' stroke='none'/%3E%3Ccircle cx='24' cy='24' r='23.5' fill='none'/%3E%3C/g%3E%3Cg transform='translate(1077.348 1198.953) rotate(90)'%3E%3Cpath d='M10.559,0V10.559H0' transform='translate(0 7.467) rotate(-45)' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); }
          @media only screen and (min-width: 768px) {
            body.printer .plan__list .item .ttl .arrow {
              right: 29px;
              width: 52px;
              height: 52px;
              background-size: 50px auto; } }
          body.printer .plan__list .item .ttl .arrow:before {
            content: '';
            z-index: 2;
            position: absolute;
            width: 100%;
            height: 100%;
            background-position: center;
            background-repeat: no-repeat;
            background-size: 40px auto;
            transition: all .3s; }
          body.printer .plan__list .item .ttl .arrow:before {
            top: 0;
            left: 0;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='51' viewBox='0 0 50 51'%3E%3Cg transform='translate(-1069 -1389)'%3E%3Cg transform='translate(1119 1440) rotate(180)'%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(47 23.5)' fill='%23fff'/%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(26.5 48) rotate(90)' fill='%23fff'/%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(0 23.5)' fill='%23fff'/%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(26.5) rotate(90)' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A"); }
            @media only screen and (min-width: 768px) {
              body.printer .plan__list .item .ttl .arrow:before {
                background-size: 52px auto; } }
      body.printer .plan__list .item .txt {
        position: relative;
        z-index: 3;
        background-color: #FFF;
        padding: 1px 20px 4px;
        letter-spacing: 0.03em;
        line-height: 25px;
        color: #002d5f;
        font-size: 11px;
        font-size: 1.1rem; }
        @media only screen and (min-width: 768px) {
          body.printer .plan__list .item .txt {
            padding: 1px 20px;
            letter-spacing: 0.06em;
            line-height: 38px;
            font-size: 14px;
            font-size: 1.4rem; } }
        @media only screen and (min-width: 769px) and (max-width: 860px) {
          body.printer .plan__list .item .txt {
            font-size: 13px;
            font-size: 1.3rem;
            padding: 1px 10px;
            letter-spacing: 0.02em; } }
    @media only screen and (max-width: 767px) {
      body.printer .plan__list .item-sublow:before {
        background-image: url(../../images/printer/bg_plan_01-sp.jpg); }
      body.printer .plan__list .item-coleto:before {
        background-image: url(../../images/printer/bg_plan_02-sp.jpg); }
      body.printer .plan__list .item-start:before {
        background-image: url(../../images/printer/bg_plan_03-sp.jpg); }
      body.printer .plan__list .item-event:before {
        background-image: url(../../images/printer/bg_plan_04-sp.jpg); }
      body.printer .plan__list .item-medical:before {
        background-image: url(../../images/printer/bg_plan_05-sp.jpg); } }
    @media only screen and (min-width: 768px) {
      body.printer .plan__list .item-sublow:before {
        transform-origin: center center;
        background-image: url(../../images/printer/bg_plan_01.jpg); }
      body.printer .plan__list .item-coleto:before {
        transform-origin: right bottom;
        background-image: url(../../images/printer/bg_plan_02.jpg); }
      body.printer .plan__list .item-start:before {
        transform-origin: center center;
        background-image: url(../../images/printer/bg_plan_03.jpg); }
      body.printer .plan__list .item-event:before {
        transform-origin: right center;
        background-image: url(../../images/printer/bg_plan_04.jpg); }
      body.printer .plan__list .item-medical:before {
        transform-origin: right center;
        background-image: url(../../images/printer/bg_plan_05.jpg); } }

body.printer .sublow {
  width: 100%;
  overflow: hidden;
  position: relative; }
  body.printer .sublow .anchor {
    position: absolute;
    left: 0;
    top: -135px;
    width: 1px;
    height: 1px; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow .anchor {
        top: -140px; } }
  body.printer .sublow__content-1 {
    margin-bottom: 41px;
    position: relative; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow__content-1 {
        margin-bottom: 91px;
        position: relative;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        body.printer .sublow__content-1 .box-in {
          width: 60%;
          max-width: 560px; } }
    body.printer .sublow__content-1 .title {
      margin-bottom: 45px;
      text-align: left; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-1 .title {
          margin-bottom: 38px; } }
      body.printer .sublow__content-1 .title:before {
        margin: 0; }
    body.printer .sublow__content-1 .img {
      margin-bottom: 32px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-1 .img {
          position: absolute;
          right: 0;
          top: 61px;
          width: 36%;
          margin-bottom: 0; } }
      body.printer .sublow__content-1 .img img {
        width: 100%; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-1 .img img {
            width: 111%;
            max-width: none; } }
        @media only screen and (min-width: 769px) and (max-width: 1090px) {
          body.printer .sublow__content-1 .img img {
            width: calc(100% + 40px); } }
    body.printer .sublow__content-1 .text p {
      letter-spacing: 0.06em;
      line-height: 38px;
      font-size: 15px;
      font-size: 1.5rem; }
  body.printer .sublow__content-2 {
    position: relative;
    padding: 45px 0 50px 0;
    width: 100%; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow__content-2 {
        padding: 95px 0 100px 0;
        width: 104%; } }
    @media only screen and (min-width: 769px) and (max-width: 1160px) {
      body.printer .sublow__content-2 {
        width: 100%; } }
    body.printer .sublow__content-2:before {
      content: '';
      position: absolute;
      z-index: 1;
      width: 100vw;
      left: -40px;
      top: 0;
      bottom: 0;
      background: #F2F2F2; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2:before {
          left: 50%;
          margin-left: -380px; } }
      @media only screen and (min-width: 769px) and (max-width: 1090px) {
        body.printer .sublow__content-2:before {
          left: 12%;
          margin-left: 0; } }
    body.printer .sublow__content-2 > * {
      position: relative;
      z-index: 2; }
    body.printer .sublow__content-2 .box-1 {
      margin-bottom: 31px;
      position: relative; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2 .box-1 {
          margin-bottom: 61px; } }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2 .box-1 .box-in {
          width: 69%;
          max-width: 700px;
          margin: 0 0 0 auto; } }
      body.printer .sublow__content-2 .box-1 .ttl {
        margin-bottom: 40px;
        position: relative; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-2 .box-1 .ttl {
            margin-bottom: 42px; } }
        @media only screen and (min-width: 769px) and (max-width: 1160px) {
          body.printer .sublow__content-2 .box-1 .ttl {
            font-size: 24px;
            font-size: 2.4rem; } }
        body.printer .sublow__content-2 .box-1 .ttl:before {
          content: '';
          position: absolute;
          z-index: 1;
          width: 94px;
          height: 62px;
          background-size: auto 100%;
          background-position: right center;
          background-repeat: no-repeat;
          right: 3px; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-2 .box-1 .ttl:before {
              width: 152px;
              height: 100px;
              right: -24px; } }
        body.printer .sublow__content-2 .box-1 .ttl > * {
          position: relative;
          z-index: 2; }
        body.printer .sublow__content-2 .box-1 .ttl.number-1:before {
          bottom: -9px;
          right: 17px;
          background-image: url(../../images/printer/ico_number_01.svg); }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-2 .box-1 .ttl.number-1:before {
              bottom: auto;
              top: 5px;
              right: -24px; } }
        body.printer .sublow__content-2 .box-1 .ttl.number-2:before {
          bottom: -9px;
          background-image: url(../../images/printer/ico_number_02.svg); }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-2 .box-1 .ttl.number-2:before {
              bottom: auto;
              top: -4px; } }
        body.printer .sublow__content-2 .box-1 .ttl.number-3:before {
          bottom: -9px;
          background-image: url(../../images/printer/ico_number_03.svg); }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-2 .box-1 .ttl.number-3:before {
              bottom: auto;
              top: 5px; } }
        body.printer .sublow__content-2 .box-1 .ttl.number-4:before {
          bottom: -9px;
          background-image: url(../../images/printer/ico_number_04.svg); }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-2 .box-1 .ttl.number-4:before {
              bottom: auto;
              top: -4px; } }
      body.printer .sublow__content-2 .box-1 .img {
        margin-bottom: 22px; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-2 .box-1 .img {
            width: 27%;
            position: absolute;
            left: 0;
            top: -5px; } }
        body.printer .sublow__content-2 .box-1 .img img {
          width: 100%; }
      body.printer .sublow__content-2 .box-1 .txt {
        letter-spacing: 0.06em;
        line-height: 38px;
        font-size: 15px;
        font-size: 1.5rem; }
    body.printer .sublow__content-2 .box-2 {
      width: calc(100% + 40px);
      margin-bottom: 55px;
      padding: 35px 35px 34px 35px;
      color: #fff;
      background-position: right center;
      background-repeat: no-repeat;
      background-size: cover; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2 .box-2 {
          width: 100%;
          margin-bottom: 76px;
          padding: 45px 60px 44px 60px; } }
      body.printer .sublow__content-2 .box-2 .ttl {
        margin-bottom: 10px;
        letter-spacing: 0.1em;
        line-height: 36px;
        font-size: 18px;
        font-size: 1.8rem; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-2 .box-2 .ttl {
            margin-bottom: 20px; } }
      body.printer .sublow__content-2 .box-2 .txt {
        letter-spacing: 0.06em;
        line-height: 32px;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-2 .box-2 .txt {
            max-width: 740px; } }
      @media only screen and (max-width: 767px) {
        body.printer .sublow__content-2 .box-2.bg-1 {
          background-image: url(../../images/printer/bg_sublow_01-sp.png); }
        body.printer .sublow__content-2 .box-2.bg-2 {
          background-image: url(../../images/printer/bg_sublow_02-sp.png); }
        body.printer .sublow__content-2 .box-2.bg-3 {
          background-image: url(../../images/printer/bg_sublow_03-sp.png); } }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2 .box-2.bg-1 {
          background-image: url(../../images/printer/bg_sublow_01.png); }
        body.printer .sublow__content-2 .box-2.bg-2 {
          background-image: url(../../images/printer/bg_sublow_02.png); }
        body.printer .sublow__content-2 .box-2.bg-3 {
          background-image: url(../../images/printer/bg_sublow_03.png); } }
    body.printer .sublow__content-2 .row-1 {
      margin-bottom: 46px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2 .row-1 {
          margin-bottom: 78px; }
          body.printer .sublow__content-2 .row-1 .img {
            top: 4px; } }
    @media only screen and (min-width: 768px) {
      body.printer .sublow__content-2 .row-4 {
        margin-bottom: 51px; }
        body.printer .sublow__content-2 .row-4 .img {
          top: 4px; } }
    @media only screen and (min-width: 768px) {
      body.printer .sublow__content-2 .row-5 {
        margin-bottom: 84px; }
        body.printer .sublow__content-2 .row-5 .img {
          top: 4px; } }
    body.printer .sublow__content-2 .row-7 {
      padding-bottom: 40px;
      margin-bottom: 0; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-2 .row-7 {
          padding-bottom: 50px; } }
      body.printer .sublow__content-2 .row-7 .ttl {
        margin-bottom: 15px; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-2 .row-7 .ttl {
            margin-bottom: 25px; } }
  body.printer .sublow__content-3 {
    padding: 45px 0 39px; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow__content-3 {
        padding: 95px 0 120px; } }
    body.printer .sublow__content-3 .box-1 {
      margin-bottom: 37px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .box-1 {
          margin-bottom: 90px;
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          align-items: center; } }
      body.printer .sublow__content-3 .box-1 .ttl {
        padding-bottom: 32px; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-1 .ttl {
            width: 28%;
            padding-bottom: 8px; } }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .box-1 .text {
          width: 68%;
          max-width: 676px; } }
      body.printer .sublow__content-3 .box-1 .text p {
        letter-spacing: 0.06em;
        line-height: 38px;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-1 .text p {
            line-height: 32px; } }
    body.printer .sublow__content-3 .box-2 {
      margin-bottom: 36px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .box-2 {
          margin-bottom: 45px; } }
      body.printer .sublow__content-3 .box-2 .ttl {
        position: relative;
        border-bottom: solid 1px #F4B73B;
        padding-bottom: 16px;
        margin-bottom: 40px; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-2 .ttl {
            padding-bottom: 29px;
            margin-bottom: 45px; } }
        body.printer .sublow__content-3 .box-2 .ttl .txt {
          margin: 7px 0 0;
          letter-spacing: 0.1em;
          line-height: 34px;
          color: #002d5f;
          font-size: 20px;
          font-size: 2rem; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .box-2 .ttl .txt {
              width: calc(100% - 272px);
              margin: 0;
              line-height: 38px;
              font-size: 23px;
              font-size: 2.3rem; } }
        body.printer .sublow__content-3 .box-2 .ttl .price {
          color: #f4b73b;
          font-weight: bold;
          letter-spacing: 0.06em;
          line-height: 38px;
          font-size: 12px;
          font-size: 1.2rem; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .box-2 .ttl .price {
              position: absolute;
              right: 0;
              bottom: 24px; } }
          body.printer .sublow__content-3 .box-2 .ttl .price .label {
            font-weight: bold;
            letter-spacing: 0.15em;
            line-height: 1;
            text-align: center;
            color: #fff;
            display: inline-block;
            width: 46px;
            height: 27px;
            border-radius: 4px;
            background: #f4b73b;
            padding: 8px 0 0;
            margin: 0 14px 0 0;
            vertical-align: 3px; }
          body.printer .sublow__content-3 .box-2 .ttl .price .number {
            font-weight: 400;
            letter-spacing: 0.14em;
            line-height: 38px;
            font-family: din-2014-narrow, sans-serif;
            font-size: 24px;
            font-size: 2.4rem; }
            @media only screen and (min-width: 768px) {
              body.printer .sublow__content-3 .box-2 .ttl .price .number {
                font-size: 26px;
                font-size: 2.6rem; } }
          body.printer .sublow__content-3 .box-2 .ttl .price .yen {
            margin: 0 -1px 0 5px;
            font-weight: bold;
            letter-spacing: 0.06em;
            line-height: 38px;
            font-size: 15px;
            font-size: 1.5rem; }
            @media only screen and (min-width: 768px) {
              body.printer .sublow__content-3 .box-2 .ttl .price .yen {
                font-size: 16px;
                font-size: 1.6rem; } }
      body.printer .sublow__content-3 .box-2 .info {
        margin-bottom: 45px; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-2 .info {
            margin-bottom: 45px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            flex-direction: row-reverse; } }
        body.printer .sublow__content-3 .box-2 .info:last-child {
          margin-bottom: 0; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-2 .info .text {
            width: 52%;
            max-width: 500px; } }
        body.printer .sublow__content-3 .box-2 .info .text p {
          letter-spacing: 0.06em;
          line-height: 30px;
          font-size: 15px;
          font-size: 1.5rem; }
        body.printer .sublow__content-3 .box-2 .info .gallery {
          margin-bottom: 30px; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .box-2 .info .gallery {
              width: 44%;
              padding-top: 4px;
              margin-bottom: 0; } }
          body.printer .sublow__content-3 .box-2 .info .gallery .big-img {
            border: solid 1px #D5D5D5;
            margin-bottom: 9px; }
            @media only screen and (max-width: 767px) {
              body.printer .sublow__content-3 .box-2 .info .gallery .big-img {
                height: 59.1vw; } }
            @media only screen and (min-width: 768px) {
              body.printer .sublow__content-3 .box-2 .info .gallery .big-img {
                margin-bottom: 14px;
                height: 331px; } }
            body.printer .sublow__content-3 .box-2 .info .gallery .big-img img {
              max-height: calc(59.1vw - 2px);
              width: auto; }
              @media only screen and (min-width: 768px) {
                body.printer .sublow__content-3 .box-2 .info .gallery .big-img img {
                  max-height: 329px; } }
            body.printer .sublow__content-3 .box-2 .info .gallery .big-img .slick-list {
              height: 100%; }
            body.printer .sublow__content-3 .box-2 .info .gallery .big-img .slick-track {
              display: flex;
              height: 100%; }
            body.printer .sublow__content-3 .box-2 .info .gallery .big-img .slick-slide {
              height: inherit !important; }
              body.printer .sublow__content-3 .box-2 .info .gallery .big-img .slick-slide > div {
                height: 100%; }
              body.printer .sublow__content-3 .box-2 .info .gallery .big-img .slick-slide .item {
                height: 100%;
                display: flex !important;
                align-items: center;
                justify-content: center; }
          body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img {
            display: flex;
            flex-wrap: wrap;
            justify-content: center; }
            @media only screen and (min-width: 768px) {
              body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img {
                margin-left: -1px;
                margin-right: -1px; } }
            body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img li {
              cursor: pointer;
              position: relative;
              width: 20%;
              border: solid 1px #FFF;
              margin-bottom: 2px; }
              @media only screen and (max-width: 767px) {
                body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img li {
                  height: 12vw; } }
              body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img li:nth-child(5n) {
                margin-right: 0; }
              body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img li:before {
                content: '';
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                background: rgba(255, 255, 255, 0.8);
                opacity: 0;
                transition: all .3s; }
            body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img .active::before {
              opacity: 1; }
            body.printer .sublow__content-3 .box-2 .info .gallery .thumb-img img {
              max-height: 65px; }
          body.printer .sublow__content-3 .box-2 .info .gallery img {
            width: 100%; }
    body.printer .sublow__content-3 .table-ttl-1 {
      position: relative;
      z-index: 3 !important;
      margin-bottom: -1px;
      background: rgba(0, 45, 95, 0.8);
      padding: 9px 29px 9px;
      font-weight: 500;
      letter-spacing: 0.1em;
      line-height: 42px;
      color: #fff;
      font-size: 18px;
      font-size: 1.8rem; }
      @media only screen and (max-width: 767px) {
        body.printer .sublow__content-3 .table-ttl-1 {
          border: solid 1px #D5D5D5;
          padding: 13px 19px 14px;
          line-height: 22px;
          font-size: 16px;
          font-size: 1.6rem; } }
    body.printer .sublow__content-3 .table-1 {
      width: 100%;
      margin-bottom: 40px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .table-1 {
          margin-bottom: 50px; } }
      body.printer .sublow__content-3 .table-1 th, body.printer .sublow__content-3 .table-1 td {
        padding: 10px 30px 10px;
        border: solid 1px #D5D5D5;
        width: 50%; }
        @media only screen and (max-width: 767px) {
          body.printer .sublow__content-3 .table-1 th, body.printer .sublow__content-3 .table-1 td {
            display: block;
            width: 100%;
            padding: 15px 18px 14px;
            border-top: none;
            overflow: hidden; } }
      body.printer .sublow__content-3 .table-1 th {
        background: #F2F2F2;
        letter-spacing: 0.1em;
        line-height: 22px;
        color: #002d5f;
        font-size: 14px;
        font-size: 1.4rem; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .table-1 th {
            line-height: 38px;
            font-size: 16px;
            font-size: 1.6rem; } }
      body.printer .sublow__content-3 .table-1 td {
        color: #002d5f;
        line-height: 38px;
        letter-spacing: 0.14em;
        font-family: din-2014-narrow, sans-serif;
        font-size: 20px;
        font-size: 2rem; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .table-1 td {
            text-align: center;
            font-size: 24px;
            font-size: 2.4rem; } }
        @media only screen and (max-width: 767px) {
          body.printer .sublow__content-3 .table-1 td {
            padding: 3px 18px 6px; } }
        body.printer .sublow__content-3 .table-1 td span {
          display: inline-block;
          vertical-align: middle; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .table-1 td img {
            margin-left: 12px;
            display: inline-block;
            vertical-align: middle; } }
        @media only screen and (max-width: 767px) {
          body.printer .sublow__content-3 .table-1 td img {
            margin: 7px -6px 2px 0;
            width: 108px;
            float: right; } }
        body.printer .sublow__content-3 .table-1 td .fsize1 {
          margin-right: 7px;
          letter-spacing: 0.06em;
          font-size: 12px;
          font-weight: bold;
          font-family: source-han-sans-japanese, sans-serif; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .table-1 td .fsize1 {
              margin-right: 9px; } }
        body.printer .sublow__content-3 .table-1 td .fsize2 {
          margin-left: 5px;
          letter-spacing: 0.06em;
          font-weight: bold;
          font-family: source-han-sans-japanese, sans-serif;
          font-size: 12px;
          font-size: 1.2rem; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .table-1 td .fsize2 {
              margin-left: 4px;
              font-size: 15px;
              font-size: 1.5rem; } }
        body.printer .sublow__content-3 .table-1 td .fsize3 {
          margin-right: 7px;
          letter-spacing: 0.06em;
          font-size: 12px;
          font-family: source-han-sans-japanese, sans-serif; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .table-1 td .fsize3 {
              margin-left: -1px;
              margin-right: -5px; } }
          @media only screen and (max-width: 767px) {
            body.printer .sublow__content-3 .table-1 td .fsize3 {
              font-size: 11px;
              font-size: 1.1rem; } }
        body.printer .sublow__content-3 .table-1 td .bold {
          font-weight: bold; }
        body.printer .sublow__content-3 .table-1 td .color-red {
          color: #e20303; }
        @media only screen and (max-width: 767px) {
          body.printer .sublow__content-3 .table-1 td .quantity {
            padding-top: 26px; } }
        @media only screen and (max-width: 767px) {
          body.printer .sublow__content-3 .table-1 td.noImg .quantity {
            padding-top: 0; } }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .table-1 tr:first-child th, body.printer .sublow__content-3 .table-1 tr:first-child td {
          border-top: none; } }
    body.printer .sublow__content-3 .box-buttons {
      margin-bottom: 46px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .box-buttons {
          margin-bottom: 97px; } }
      body.printer .sublow__content-3 .box-buttons:last-child {
        margin-bottom: 0; }
      body.printer .sublow__content-3 .box-buttons .item {
        width: 100%;
        height: 90px;
        margin-bottom: 10px;
        color: #fff;
        text-align: center;
        background: url(../../images/printer/bg_button.jpg) center center no-repeat;
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all .3s; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-buttons .item {
            width: calc(100% / 3 - 7px);
            height: 120px;
            margin-bottom: 0;
            margin-right: 10px; }
            body.printer .sublow__content-3 .box-buttons .item:last-child {
              margin-right: 0; } }
        body.printer .sublow__content-3 .box-buttons .item:hover {
          opacity: .6; }
        body.printer .sublow__content-3 .box-buttons .item .en {
          font-weight: 300;
          letter-spacing: 0.08em;
          font-family: din-2014-narrow, sans-serif;
          line-height: 23px;
          font-size: 28px;
          font-size: 2.8rem; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .box-buttons .item .en {
              line-height: 28px;
              font-size: 32px;
              font-size: 3.2rem; } }
          @media only screen and (min-width: 769px) and (max-width: 1000px) {
            body.printer .sublow__content-3 .box-buttons .item .en {
              line-height: 32px;
              font-size: 28px;
              font-size: 2.8rem; } }
          body.printer .sublow__content-3 .box-buttons .item .en span {
            display: inline-block;
            padding: 7px 0 6px 37px;
            background-repeat: no-repeat; }
            @media only screen and (min-width: 768px) {
              body.printer .sublow__content-3 .box-buttons .item .en span {
                padding: 7px 0 6px 39px; } }
            @media only screen and (min-width: 769px) and (max-width: 1000px) {
              body.printer .sublow__content-3 .box-buttons .item .en span {
                padding: 4px 0 3px 39px; } }
        body.printer .sublow__content-3 .box-buttons .item .ja {
          letter-spacing: 0.06em;
          line-height: 26px;
          font-size: 11px;
          font-size: 1.1rem; }
          @media only screen and (min-width: 768px) {
            body.printer .sublow__content-3 .box-buttons .item .ja {
              font-size: 14px;
              font-size: 1.4rem; } }
          @media only screen and (min-width: 769px) and (max-width: 1000px) {
            body.printer .sublow__content-3 .box-buttons .item .ja {
              font-size: 12px;
              font-size: 1.2rem; } }
      body.printer .sublow__content-3 .box-buttons .item-download .en span {
        background-size: 22px auto;
        background-position: 4px 9px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26.959' height='22.773' viewBox='0 0 26.959 22.773'%3E%3Cg transform='translate(0 -39.75)'%3E%3Cpath d='M155.477,53.946a.782.782,0,0,0,1.307,0l4.718-6.218a.519.519,0,0,0-.451-.908h-1.806a.888.888,0,0,1-.887-.887V40.8A1.056,1.056,0,0,0,157.3,39.75h-2.346A1.056,1.056,0,0,0,153.9,40.8v5.129a.888.888,0,0,1-.887.887h-1.806a.52.52,0,0,0-.451.908Z' transform='translate(-142.651)' fill='%23fff'/%3E%3Cpath d='M23.443,294.16v5.861H3.516V294.16H0V302.2a1.341,1.341,0,0,0,1.34,1.34h24.28a1.341,1.341,0,0,0,1.34-1.34V294.16Z' transform='translate(0 -241.014)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A"); }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-buttons .item-download .en span {
            background-size: auto;
            background-position: 0 10px; } }
      body.printer .sublow__content-3 .box-buttons .item-download.disabled {
        cursor: default;
        pointer-events: none; }
      body.printer .sublow__content-3 .box-buttons .item-contact .en span {
        background-size: 23px auto;
        background-position: 2px 10px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24.533' height='18.445' viewBox='0 0 24.533 18.445'%3E%3Cg transform='translate(-6.471 149.237)'%3E%3Cpath d='M27.811-138.9l-3.166-3.289,3.166-2.729Z' transform='translate(3.193 0.76)' fill='%23fff'/%3E%3Cpath d='M9.641-142.184l-3.17,3.293v-6.022Z' transform='translate(0 0.76)' fill='%23fff'/%3E%3Cpath d='M31-136.517v3.029a1.326,1.326,0,0,1-1.326,1.326H7.8a1.326,1.326,0,0,1-1.326-1.326v-3.029l4.742-4.921,5.416,4.665a3.227,3.227,0,0,0,2.108.751,3.242,3.242,0,0,0,2.113-.751l5.412-4.665Z' transform='translate(0 1.37)' fill='%23fff'/%3E%3Cpath d='M31-147.914v1.326l-11.569,9.966a1.127,1.127,0,0,1-1.394,0L6.471-146.588v-1.326A1.323,1.323,0,0,1,7.8-149.237H29.677A1.323,1.323,0,0,1,31-147.914Z' transform='translate(0)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A"); }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-buttons .item-contact .en span {
            background-size: auto;
            background-position: 2px 14px; } }
      body.printer .sublow__content-3 .box-buttons .item-line .en span {
        background-size: 24px auto;
        background-position: 2px 7px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28.494' height='27.196' viewBox='0 0 28.494 27.196'%3E%3Cg transform='translate(-852.777 -497.843)'%3E%3Cpath d='M12.992,26.2h0a.456.456,0,0,1-.367-.142,1.024,1.024,0,0,1-.074-.756l.008-.038c.035-.207.2-1.178.2-1.178a2.836,2.836,0,0,0-.045-1.244c-.148-.376-.742-.576-1.213-.677A14.739,14.739,0,0,1,3.271,18.4,10.019,10.019,0,0,1,0,11.157C0,5.005,6.168,0,13.748,0S27.494,5.005,27.494,11.157a9.979,9.979,0,0,1-2.945,6.862,34.151,34.151,0,0,1-5.93,5A36.52,36.52,0,0,1,13.748,26,2.086,2.086,0,0,1,12.992,26.2Zm6.066-18.01a.258.258,0,0,0-.264.259v6a.266.266,0,0,0,.264.268h3.859a.265.265,0,0,0,.266-.264V13.47a.265.265,0,0,0-.266-.264H20.293V12.2h2.625a.266.266,0,0,0,.266-.26V10.96a.265.265,0,0,0-.266-.264H20.293V9.685h2.625a.265.265,0,0,0,.266-.264V8.445a.266.266,0,0,0-.266-.259H19.059ZM16.5,14.679l.006,0,.008,0,.006,0h0l0,0a.007.007,0,0,0,.006,0c.008,0,.012,0,.012,0l.006,0,.01,0a.285.285,0,0,0,.064.009H17.6a.261.261,0,0,0,.258-.264v-6a.259.259,0,0,0-.258-.259h-.977a.258.258,0,0,0-.264.259V12.01L13.617,8.3,13.611,8.3s0,0,0-.006a.033.033,0,0,0-.014-.015.017.017,0,0,0-.006-.009.046.046,0,0,1-.012-.013l0,0,0,0s-.006-.005-.01-.005a.039.039,0,0,0-.01-.009s-.008,0-.012-.009h0l-.006,0a.018.018,0,0,0-.01-.006l-.008,0s0,0-.008,0l-.006,0h0l-.008,0-.008,0h0c-.008,0-.012,0-.012,0h-.006s-.01,0-.01,0h-.018l-.008,0H12.424a.261.261,0,0,0-.262.259v6a.263.263,0,0,0,.262.264H13.4a.263.263,0,0,0,.264-.264V10.885l0,0L16.408,14.6a.287.287,0,0,0,.068.066l.008.005a.037.037,0,0,1,.01.008c.006,0,.006,0,.01,0ZM10.473,8.186a.747.747,0,0,0-.746.747v5.025a.749.749,0,1,0,1.5,0V8.933A.75.75,0,0,0,10.473,8.186Zm-5.7,0a.262.262,0,0,0-.264.259v6a.267.267,0,0,0,.264.268H8.639a.263.263,0,0,0,.26-.264V13.47a.263.263,0,0,0-.26-.264H6.016V8.445a.265.265,0,0,0-.264-.259Z' transform='translate(853.277 498.343)' fill='%23fff' stroke='rgba(0,0,0,0)' stroke-miterlimit='10' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A"); }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .box-buttons .item-line .en span {
            background-size: auto;
            background-position: 0 10px; } }
    body.printer .sublow__content-3 .box-text {
      margin-bottom: 35px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .box-text {
          margin-bottom: 44px; } }
      body.printer .sublow__content-3 .box-text p {
        letter-spacing: 0.06em;
        line-height: 30px;
        font-size: 15px;
        font-size: 1.5rem; }
    body.printer .sublow__content-3 .list-tags {
      margin-bottom: 34px; }
      @media only screen and (min-width: 768px) {
        body.printer .sublow__content-3 .list-tags {
          margin-bottom: 43px; } }
      body.printer .sublow__content-3 .list-tags li {
        display: inline-block;
        letter-spacing: 0.1em;
        line-height: 32px;
        color: #002d5f;
        text-align: center;
        border-radius: 5px;
        background: #f2f2f2;
        padding: 5px 12px 4px;
        margin-right: 2px;
        margin-bottom: 5px;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (min-width: 768px) {
          body.printer .sublow__content-3 .list-tags li {
            padding: 9px 20px 10px;
            margin-right: 3px;
            margin-bottom: 6px;
            line-height: 42px;
            font-size: 16px;
            font-size: 1.6rem; } }
  body.printer .sublow .bg-head {
    position: relative;
    z-index: 1;
    padding: 50px 0 41px; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow .bg-head {
        padding: 100px 0 70px; } }
    body.printer .sublow .bg-head:before {
      content: '';
      background: #F2F2F2;
      position: absolute;
      z-index: 1;
      left: 50%;
      width: 100vw;
      top: 0;
      bottom: -200px;
      transform: translateX(-50%); }
    body.printer .sublow .bg-head > * {
      position: relative;
      z-index: 2; }
    body.printer .sublow .bg-head .sublow__content-1 {
      margin-bottom: 0; }
    body.printer .sublow .bg-head + .sublow__content-2,
    body.printer .sublow .bg-head + .sublow__content-3 {
      position: relative;
      z-index: 3; }
      body.printer .sublow .bg-head + .sublow__content-2:before,
      body.printer .sublow .bg-head + .sublow__content-3:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        background: #FFF;
        width: calc(50vw + 570px);
        left: 50%;
        margin-left: -570px; }
      body.printer .sublow .bg-head + .sublow__content-2 > *,
      body.printer .sublow .bg-head + .sublow__content-3 > * {
        position: relative;
        z-index: 2; }

body.printer .sublow-first {
  padding: 50px 0 0; }
  @media only screen and (min-width: 768px) {
    body.printer .sublow-first {
      padding: 99px 0 0; } }
  @media only screen and (min-width: 768px) {
    body.printer .sublow-first .sublow__content-1 .box-in {
      max-width: 565px; }
    body.printer .sublow-first .sublow__content-1 .title {
      margin-bottom: 34px; } }

body.printer .sublow-coleto .sublow__content-3 {
  padding-top: 50px; }
  @media only screen and (min-width: 768px) {
    body.printer .sublow-coleto .sublow__content-3 {
      padding-top: 82px; } }
  body.printer .sublow-coleto .sublow__content-3 .table-1 tbody td {
    padding: 4px 18px 6px; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow-coleto .sublow__content-3 .table-1 tbody td {
        padding: 10px 55px 10px 30px; } }
    @media only screen and (min-width: 768px) {
      body.printer .sublow-coleto .sublow__content-3 .table-1 tbody td p {
        text-align: right;
        max-width: 220px;
        margin: 0 auto; } }

body.printer .sublow-start .sublow__content-3 {
  padding-top: 46px; }
  @media only screen and (min-width: 768px) {
    body.printer .sublow-start .sublow__content-3 {
      padding-top: 78px; } }
  @media only screen and (max-width: 767px) {
    body.printer .sublow-start .sublow__content-3 .box-2 .ttl {
      margin-bottom: 36px; } }

@media only screen and (min-width: 768px) {
  body.printer .sublow-event .sublow__content-1 .img {
    top: 20px; } }

body.printer .sublow-event .sublow__content-3 {
  padding-top: 46px; }
  @media only screen and (min-width: 768px) {
    body.printer .sublow-event .sublow__content-3 {
      padding-top: 76px; } }
  @media only screen and (max-width: 767px) {
    body.printer .sublow-event .sublow__content-3 .box-2 .info {
      margin-bottom: 34px; } }

body.printer .sublow-medical {
  padding-bottom: 131px; }
  @media only screen and (min-width: 768px) {
    body.printer .sublow-medical {
      padding-bottom: 60px; } }
  body.printer .sublow-medical .sublow__content-3 {
    padding-top: 51px; }
    @media only screen and (min-width: 768px) {
      body.printer .sublow-medical .sublow__content-3 {
        padding-top: 81px; } }

body.printer .download__title {
  text-align: center;
  color: #FFF;
  margin-bottom: 20px; }
  @media only screen and (min-width: 768px) {
    body.printer .download__title {
      margin-bottom: 35px; } }
  body.printer .download__title:before {
    margin: 0 auto; }
  body.printer .download__title .en {
    margin-bottom: 12px; }
    @media only screen and (min-width: 768px) {
      body.printer .download__title .en {
        margin-bottom: 21px; } }
  @media only screen and (max-width: 767px) {
    body.printer .download__title .ja {
      line-height: 36px; } }
  @media only screen and (min-width: 768px) {
    body.printer .download__title .ja {
      font-size: 20px;
      font-size: 2rem; } }

body.printer .download__form {
  background: #FFF;
  padding: 26px 30px 40px; }
  @media only screen and (min-width: 768px) {
    body.printer .download__form {
      padding: 50px 50px 40px; } }
  body.printer .download__form .item-row {
    margin-bottom: 20px; }
    @media only screen and (min-width: 768px) {
      body.printer .download__form .item-row {
        margin-bottom: 20px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center; } }
    body.printer .download__form .item-row__ttl {
      position: relative;
      font-weight: 500;
      line-height: 30px;
      padding-left: 64px;
      margin-bottom: 10px;
      font-size: 15px;
      font-size: 1.5rem; }
      @media only screen and (min-width: 768px) {
        body.printer .download__form .item-row__ttl {
          width: 219px;
          padding-left: 70px;
          margin-bottom: 0; } }
      body.printer .download__form .item-row__ttl .required,
      body.printer .download__form .item-row__ttl .optional {
        position: absolute;
        left: 0;
        top: 4px;
        color: transparent;
        text-indent: -9999px;
        width: 50px;
        height: 23px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      body.printer .download__form .item-row__ttl .required {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='23' viewBox='0 0 50 23'%3E%3Cg transform='translate(-168 -1842)'%3E%3Crect width='50' height='23' transform='translate(168 1842)' fill='%23002d5f'/%3E%3Cpath d='M8.021-8.814c-.741-.572-2.054-1.534-3.107-2.21l-1,1.131c1.014.7,2.34,1.716,3.094,2.34ZM1.69-7.5A13.415,13.415,0,0,1,.325-3.211l1.5.559A15.176,15.176,0,0,0,3.159-7.124ZM6.175-.559c-.663,0-.767-.091-.767-.754v-.793a24.242,24.242,0,0,0,6.071-7.527l-1.56-.611A20.868,20.868,0,0,1,5.408-4.16V-8.086H3.757v5.317A17.448,17.448,0,0,1,.351-.715,9.032,9.032,0,0,1,1.365.507,18.361,18.361,0,0,0,3.77-.884C3.861.546,4.407.988,6.006.988H8.281c1.6,0,2.054-.767,2.262-3.107a4.937,4.937,0,0,1-1.521-.65c-.091,1.833-.208,2.21-.871,2.21ZM9.308-5.967A17.708,17.708,0,0,1,11.18-2l1.482-.754A16.989,16.989,0,0,0,10.7-6.63ZM24.791-6.4H21.385v-.819h3.406Zm0,1.872H21.385v-.819h3.406Zm0,1.9H21.385v-.819h3.406ZM19.942-8.359V-1.5h6.37V-8.359H23.621c.091-.26.195-.533.286-.806h2.834v-1.3H19.4v1.3h2.769c-.039.26-.091.533-.156.806ZM18.005-7.15a9.735,9.735,0,0,1-3.185,2.6,6.988,6.988,0,0,1,1.131,1.209,13.971,13.971,0,0,0,3.484-3.2Zm-.286-3.64a9.374,9.374,0,0,1-3.068,2.522,6.2,6.2,0,0,1,1.131,1.131,13.216,13.216,0,0,0,3.406-3.042Zm.572,7.241A8.363,8.363,0,0,1,14.664-.377,6.127,6.127,0,0,1,15.756.884a10.789,10.789,0,0,0,4-3.874Zm3.094,2.08A10.068,10.068,0,0,1,18.369.052a7.744,7.744,0,0,1,.936,1.066A11.845,11.845,0,0,0,22.633-.6Zm1.963.9a19.438,19.438,0,0,1,2.509,1.716l1.222-.91a19.254,19.254,0,0,0-2.587-1.625Z' transform='translate(180 1858)' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E%0A"); }
      body.printer .download__form .item-row__ttl .optional {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='23' viewBox='0 0 50 23'%3E%3Cg transform='translate(-168 -1842)'%3E%3Cg transform='translate(168 1842)' fill='%23fff' stroke='%23707070' stroke-width='1'%3E%3Crect width='50' height='23' stroke='none'/%3E%3Crect x='0.5' y='0.5' width='49' height='22' fill='none'/%3E%3C/g%3E%3Cpath d='M12.506-4.121v-1.5H9.256V-8.788a21.527,21.527,0,0,0,2.938-.741l-1.131-1.3A34.211,34.211,0,0,1,4.55-9.451c.169-.351.312-.689.455-1.04l-1.534-.481A13.53,13.53,0,0,1,.221-5.967a12.087,12.087,0,0,1,.91,1.625,12.114,12.114,0,0,0,1.053-1.2V1.118H3.731v-8.97a14.762,14.762,0,0,0,.806-1.56,6.035,6.035,0,0,1,.442,1.287c.871-.1,1.794-.221,2.7-.377v2.886H4.16v1.5H7.683V-.793h-3V.689h7.7V-.793H9.256V-4.121Zm9.919-5.005c-.1.273-.26.6-.377.845l.182.039H19.344l.169-.039a7.92,7.92,0,0,0-.312-.845Zm4.017.884H23.569c.169-.234.351-.52.546-.845l-.195-.039h1.833v-1.2h-4.2v-.689H20.02v.689H15.834v1.2h1.885l-.065.013a7.89,7.89,0,0,1,.325.871H15.2v1.2H26.442ZM15.9.871A4.961,4.961,0,0,0,17.693-1.69l-1.3-.455a4.3,4.3,0,0,1-1.7,2.2Zm2.132-4.979h5.616v.585H18.031Zm0-1.456h5.616v.572H18.031Zm2.2,5.317c-.585,0-.689-.039-.689-.39v-1.3A8.112,8.112,0,0,1,21.372-.819l.936-.962a8.266,8.266,0,0,0-1.352-.793h4.225V-6.513H16.562v3.939h3.25l-.533.52.156.065h-1.4V-.624c0,1.235.4,1.612,2.041,1.612h2.093c1.209,0,1.625-.364,1.794-1.807a4.171,4.171,0,0,1-1.313-.494c-.065.923-.143,1.066-.624,1.066Zm3.354-1.391A10.776,10.776,0,0,1,25.623.793L26.9.052A9.547,9.547,0,0,0,24.778-2.3Z' transform='translate(180 1858)' fill='%23707070'/%3E%3C/g%3E%3C/svg%3E%0A"); }
    body.printer .download__form .item-row__input {
      position: relative; }
      @media only screen and (min-width: 768px) {
        body.printer .download__form .item-row__input {
          width: calc(100% - 219px); } }
  body.printer .download__form .item-button {
    text-align: center;
    margin-top: 40px;
    padding-left: 20px; }
  body.printer .download__form input, body.printer .download__form textarea, body.printer .download__form select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    letter-spacing: 0.08em;
    border-radius: 0;
    background: #F2F2F2;
    border: none;
    font-size: 12px;
    font-size: 1.2rem; }
  body.printer .download__form input[type="text"],
  body.printer .download__form input[type="email"],
  body.printer .download__form input[type="number"],
  body.printer .download__form input[type="url"],
  body.printer .download__form input[type="tel"] {
    width: 100%;
    height: 52px;
    padding: 10px 14px 10px; }
    @media only screen and (min-width: 768px) {
      body.printer .download__form input[type="text"],
      body.printer .download__form input[type="email"],
      body.printer .download__form input[type="number"],
      body.printer .download__form input[type="url"],
      body.printer .download__form input[type="tel"] {
        height: 50px;
        padding: 10px 14px 10px; } }
  body.printer .download__form button {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    transition: all .3s;
    position: relative;
    cursor: pointer;
    width: 245px;
    height: 50px;
    background: #F4B73B;
    border: none;
    color: #FFF;
    font-weight: 500;
    padding-left: 9px;
    padding-top: 1px;
    letter-spacing: 0.15em;
    line-height: 20px;
    font-family: source-han-sans-japanese, sans-serif;
    font-size: 15px;
    font-size: 1.5rem; }
    @media only screen and (min-width: 768px) {
      body.printer .download__form button {
        padding-left: 20px;
        padding-top: 0;
        width: 230px;
        height: 50px;
        font-size: 12px;
        font-size: 1.2rem; } }
    body.printer .download__form button:hover {
      opacity: 0.6; }
    body.printer .download__form button .line {
      position: absolute;
      background: #F4B73B;
      width: 40px;
      height: 1px;
      left: -20px;
      top: 50%; }
      body.printer .download__form button .line:before {
        content: '';
        width: 20px;
        height: 1px;
        background: #FFF;
        right: 0;
        top: 0;
        position: absolute; }

body.printer .download__inner {
  position: relative;
  max-width: 940px;
  margin: 0 auto; }

body.printer .download__loading {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  transition: all .5s; }
  body.printer .download__loading svg {
    height: 90px; }
  body.printer .download__loading.isShow {
    visibility: visible;
    opacity: 1; }

body.printer .modaal-container {
  width: 100%;
  background: none;
  box-shadow: none;
  height: 100%; }

body.printer .modaal-close {
  position: absolute;
  width: 54px;
  height: 54px;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 0;
  top: 0;
  right: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 23px auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.461' height='30.461' viewBox='0 0 30.461 30.461'%3E%3Cg transform='translate(-1239.038 -19.04)'%3E%3Cpath d='M0,0H42.078' transform='translate(1239.392 19.393) rotate(45)' fill='none' stroke='%23fff' stroke-width='1'/%3E%3Cpath d='M0,0H42.077' transform='translate(1269.146 19.394) rotate(135)' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E%0A"); }
  @media only screen and (min-width: 768px) {
    body.printer .modaal-close {
      width: 70px;
      height: 70px;
      background-size: auto; } }
  body.printer .modaal-close:before, body.printer .modaal-close:after {
    display: none; }
  body.printer .modaal-close:hover {
    background-color: rgba(255, 255, 255, 0.4); }

body.printer .modaal-inner-wrapper {
  padding: 0; }

body.printer .modaal-content-container {
  padding: 55px 25px;
  width: 100%; }

body.printer .modaal-content {
  width: 100%;
  height: 100%; }
  @media only screen and (min-width: 768px) {
    body.printer .modaal-content {
      display: flex;
      align-items: center;
      justify-content: center; } }

body.printer .formBlock {
  /* dislay */ }
  body.printer .formBlock .errMsg {
    margin-left: 1em;
    padding-bottom: 1px;
    display: block;
    line-height: 1.4;
    text-indent: -.9em; }
  body.printer .formBlock .formError {
    padding-bottom: 13px;
    display: block;
    left: 0 !important; }
  body.printer .formBlock .fixed {
    padding-bottom: 0px; }
  body.printer .formBlock .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; }
  body.printer .formBlock .formError .formErrorClose:hover {
    background: #666; }
  body.printer .formBlock .fixed .formErrorClose {
    display: none; }
  body.printer .formBlock .formError .formErrorContent {
    padding: 6px 10px;
    width: 240px;
    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;
    font-size: 1.1rem;
    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; }
  body.printer .formBlock .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; }
  body.printer .formBlock .fadeOut {
    opacity: .2;
    filter: alpha(opacity=20); }
  body.printer .formBlock .formError .formErrorArrow {
    width: 15px;
    height: 15px;
    position: absolute;
    bottom: 0;
    left: 20px;
    margin: 0 0 30px 0;
    z-index: 0;
    display: none; }
  body.printer .formBlock .fixed .formErrorArrow {
    display: none; }
  body.printer .formBlock .formError .formErrorArrowBottom {
    margin: -6px;
    top: 0; }
  body.printer .formBlock .fixed .formErrorArrowBottom {
    display: none; }
  body.printer .formBlock .formError .formErrorArrow div {
    margin: 0 auto;
    display: block;
    height: 1px;
    background: #252525;
    line-height: 0px;
    font-size: 0px;
    font-size: 0rem;
    -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; }
  body.printer .formBlock .formError .formErrorArrowBottom div {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -ms-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none; }
  body.printer .formBlock .formError .formErrorArrow .line10 {
    width: 19px; }
  body.printer .formBlock .formError .formErrorArrow .line9 {
    width: 17px; }
  body.printer .formBlock .formError .formErrorArrow .line8 {
    width: 15px; }
  body.printer .formBlock .formError .formErrorArrow .line7 {
    width: 13px; }
  body.printer .formBlock .formError .formErrorArrow .line6 {
    width: 11px; }
  body.printer .formBlock .formError .formErrorArrow .line5 {
    width: 9px; }
  body.printer .formBlock .formError .formErrorArrow .line4 {
    width: 7px; }
  body.printer .formBlock .formError .formErrorArrow .line3 {
    width: 5px; }
  body.printer .formBlock .formError .formErrorArrow .line2 {
    width: 3px; }
  body.printer .formBlock .formError .formErrorArrow .line1 {
    width: 1px; }
  body.printer .formBlock .hid_url {
    display: none; }
  body.printer .formBlock form p.test {
    position: relative;
    color: #C1C0BC; }
  body.printer .formBlock form p.test label {
    position: absolute;
    top: 3px;
    left: 10px;
    font-weight: normal; }
  body.printer .formBlock form p.test br {
    display: none; }

body.sitemap main .section {
  padding: 110px 0 168px; }
  @media only screen and (max-width: 767px) {
    body.sitemap main .section {
      padding: 60px 0 183px; } }
  body.sitemap main .section .list:nth-of-type(n + 2) {
    margin-top: 77px; }
    @media only screen and (max-width: 767px) {
      body.sitemap main .section .list:nth-of-type(n + 2) {
        margin-top: 48px; } }
  body.sitemap main .section .list h3 {
    font-size: 23px;
    font-size: 2.3rem;
    letter-spacing: 0.1em;
    padding-bottom: 23px;
    margin-bottom: 21px;
    border-bottom: 1px solid #F4B73B;
    color: #002d5f; }
    @media only screen and (max-width: 767px) {
      body.sitemap main .section .list h3 {
        padding-bottom: 12px; } }
  body.sitemap main .section .list ul {
    display: flex;
    flex-wrap: wrap;
    color: #002d5f; }
    @media only screen and (max-width: 767px) {
      body.sitemap main .section .list ul {
        flex-direction: column; } }
    body.sitemap main .section .list ul li {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      line-height: 2.625;
      width: 33%; }
      @media only screen and (max-width: 767px) {
        body.sitemap main .section .list ul li {
          width: 100%;
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.06em;
          line-height: 1; }
          body.sitemap main .section .list ul li:nth-child(n + 2) {
            margin-top: 21px; } }
      @media only screen and (min-width: 768px) {
        body.sitemap main .section .list ul li:nth-child(2) {
          padding-left: 30px; }
        body.sitemap main .section .list ul li:nth-child(3) {
          padding-left: 10px; }
        body.sitemap main .section .list ul li:nth-child(5) {
          padding-left: 37px; }
        body.sitemap main .section .list ul li:nth-child(n + 4) {
          margin-top: 12px; } }
  @media only screen and (min-width: 768px) {
    body.sitemap main .section .list:nth-of-type(2) li:nth-child(2) {
      padding-left: 35px; }
    body.sitemap main .section .list:nth-of-type(2) li:nth-child(3) {
      width: 34%; } }
  @media only screen and (min-width: 768px) {
    body.sitemap main .section .list:nth-of-type(3) li:nth-child(2) {
      padding-left: 35px;
      width: 31%; }
    body.sitemap main .section .list:nth-of-type(3) li:nth-child(3) {
      width: 36%;
      padding-left: 23px; } }

body.strength main .section1 {
  display: block; }

body.strength main p {
  margin-top: 65px;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  line-height: 2.533333333; }
  @media only screen and (max-width: 767px) {
    body.strength main p {
      margin-top: 25px;
      line-height: 2.267; } }

body.strength main .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    body.strength main .btn {
      margin-top: 50px; } }
  body.strength main .btn > div {
    margin-right: 19.5px; }
  body.strength main .btn span {
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: 0.06em;
    color: #002d5f; }
    @media only screen and (max-width: 767px) {
      body.strength main .btn span {
        white-space: nowrap; } }

body.strength main .rule-box {
  padding: 47px 65px 85px;
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    body.strength main .rule-box {
      padding: 44px 15px 65px;
      margin-top: 50px; } }
  body.strength main .rule-box .sec-title_sub {
    text-align: center; }
    body.strength main .rule-box .sec-title_sub:after {
      margin: 30px auto 0; }
      @media only screen and (max-width: 767px) {
        body.strength main .rule-box .sec-title_sub:after {
          margin: 23px auto 0; } }
  body.strength main .rule-box ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 50px; }
    @media only screen and (max-width: 767px) {
      body.strength main .rule-box ul {
        flex-direction: column;
        margin-top: 40px; } }
    body.strength main .rule-box ul li {
      background-color: #fff;
      color: #002d5f;
      width: calc((100% - 25px) / 2);
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.06em;
      line-height: 1.733333333;
      padding: 10px 0;
      text-align: center;
      position: relative; }
      @media only screen and (min-width: 768px) {
        body.strength main .rule-box ul li {
          margin-right: 25px; } }
      @media only screen and (max-width: 767px) {
        body.strength main .rule-box ul li {
          letter-spacing: 0em;
          width: 100%;
          padding: 14px 0; }
          body.strength main .rule-box ul li:nth-child(n + 2) {
            margin-top: 15px; } }
      @media only screen and (min-width: 768px) {
        body.strength main .rule-box ul li:nth-child(2n + 2) {
          margin-right: 0; }
        body.strength main .rule-box ul li:nth-child(n + 3) {
          margin-top: 25px; } }
      body.strength main .rule-box ul li:before {
        content: '';
        width: 100%;
        height: 100%;
        position: absolute;
        right: -5px;
        bottom: -5px;
        background-color: transparent;
        border: 1px solid #fff; }

@media only screen and (max-width: 767px) {
  body.strength main .inner {
    width: calc(100% - 80px); } }

body.strength main .section1 {
  margin-top: 182px;
  padding-bottom: 162px;
  background-color: #f7f7f7; }
  @media only screen and (max-width: 767px) {
    body.strength main .section1 {
      margin-top: 120px;
      padding-bottom: 140px; } }
  body.strength main .section1 .cont-1 {
    padding-top: 100px; }
    body.strength main .section1 .cont-1 .inner {
      position: relative; }
      body.strength main .section1 .cont-1 .inner:after {
        content: '';
        width: 133px;
        height: 101px;
        position: absolute;
        top: -40px;
        right: -9%;
        background-image: url(../images/strength/number1.png);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center; }
        @media only screen and (max-width: 767px) {
          body.strength main .section1 .cont-1 .inner:after {
            width: 83px;
            height: 63px;
            top: -50px;
            right: -25px; } }
      body.strength main .section1 .cont-1 .inner img {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -162px; }
        @media only screen and (max-width: 767px) {
          body.strength main .section1 .cont-1 .inner img {
            top: -163px; } }
    @media only screen and (max-width: 767px) {
      body.strength main .section1 .cont-1 p {
        margin-top: 45px; } }
  body.strength main .section1 .cont-2 {
    padding: 85px 0; }
    @media only screen and (max-width: 767px) {
      body.strength main .section1 .cont-2 {
        padding: 130px 0; } }
    body.strength main .section1 .cont-2 .box {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.strength main .section1 .cont-2 .box {
          flex-direction: column; } }
      body.strength main .section1 .cont-2 .box:nth-child(n + 2) {
        margin-top: 90px; }
        @media only screen and (max-width: 767px) {
          body.strength main .section1 .cont-2 .box:nth-child(n + 2) {
            margin-top: 68px; } }
      body.strength main .section1 .cont-2 .box .txt-cont {
        width: 57%; }
        @media only screen and (max-width: 767px) {
          body.strength main .section1 .cont-2 .box .txt-cont {
            width: 100%; } }
        @media only screen and (max-width: 767px) {
          body.strength main .section1 .cont-2 .box .txt-cont .sec-title_sub {
            margin-bottom: 50px; } }
        body.strength main .section1 .cont-2 .box .txt-cont p {
          margin-top: 43px; }
          @media only screen and (max-width: 767px) {
            body.strength main .section1 .cont-2 .box .txt-cont p {
              margin-top: 33px; } }
      body.strength main .section1 .cont-2 .box .img-cont {
        width: 35%; }
        @media only screen and (max-width: 767px) {
          body.strength main .section1 .cont-2 .box .img-cont {
            width: 100%; } }
  @media only screen and (max-width: 767px) {
    body.strength main .section1 .cont-3 .inner {
      width: calc(100% - 50px); } }
  body.strength main .section1 .cont-3 .inner .rental-box {
    background-color: #fff;
    padding: 54px 80px 67px 80px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.strength main .section1 .cont-3 .inner .rental-box {
        padding: 50px 40px 50px 40px; } }
  body.strength main .section1 .cont-3 .inner .sec-title_sub {
    text-align: center; }
    body.strength main .section1 .cont-3 .inner .sec-title_sub:after {
      margin: 23px auto 0; }
  body.strength main .section1 .cont-3 .inner p {
    margin-top: 33px; }
  body.strength main .section1 .cont-3 .inner .icon {
    position: absolute;
    width: 40px;
    height: 40px;
    background-image: url(../images/strength/icn-arrw.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }
    body.strength main .section1 .cont-3 .inner .icon:nth-of-type(1) {
      left: 20px;
      top: 20px; }
      @media only screen and (max-width: 767px) {
        body.strength main .section1 .cont-3 .inner .icon:nth-of-type(1) {
          display: none; } }
    body.strength main .section1 .cont-3 .inner .icon:nth-of-type(2) {
      right: 20px;
      top: 20px;
      transform: rotate(90deg); }
      @media only screen and (max-width: 767px) {
        body.strength main .section1 .cont-3 .inner .icon:nth-of-type(2) {
          display: none; } }
    body.strength main .section1 .cont-3 .inner .icon:nth-of-type(3) {
      left: 20px;
      bottom: 20px;
      transform: rotate(-90deg); }
      @media only screen and (max-width: 767px) {
        body.strength main .section1 .cont-3 .inner .icon:nth-of-type(3) {
          left: 10px;
          bottom: 10px; } }
    body.strength main .section1 .cont-3 .inner .icon:nth-of-type(4) {
      right: 20px;
      bottom: 20px;
      transform: rotate(180deg); }
      @media only screen and (max-width: 767px) {
        body.strength main .section1 .cont-3 .inner .icon:nth-of-type(4) {
          right: 10px;
          bottom: 10px; } }

body.strength main .section2 {
  padding-top: 100px;
  padding-bottom: 182px; }
  @media only screen and (max-width: 767px) {
    body.strength main .section2 {
      padding-top: 103px;
      padding-bottom: 140px; } }
  body.strength main .section2 .cont-1 .inner {
    position: relative; }
    body.strength main .section2 .cont-1 .inner:after {
      content: '';
      width: 163px;
      height: 226px;
      position: absolute;
      top: -40px;
      right: -9%;
      background-image: url(../images/strength/number2.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
      @media only screen and (max-width: 767px) {
        body.strength main .section2 .cont-1 .inner:after {
          width: 101px;
          top: -93px;
          right: -25px; } }
    body.strength main .section2 .cont-1 .inner img {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -165px; }
      @media only screen and (max-width: 767px) {
        body.strength main .section2 .cont-1 .inner img {
          width: 124px;
          top: -162px; } }
    body.strength main .section2 .cont-1 .inner p {
      margin-top: 67px; }
      @media only screen and (max-width: 767px) {
        body.strength main .section2 .cont-1 .inner p {
          margin-top: 40px; } }
  @media only screen and (max-width: 767px) {
    body.strength main .section2 .bg_list-box {
      background-image: url(../images/strength/rule-bg-sp.jpg);
      margin: 50px -15px 0; } }
  @media only screen and (min-width: 768px) {
    body.strength main .section2 .bg_list-box {
      margin-top: 65px; } }

body.strength main .section3 {
  padding: 100px 0 164px;
  background-image: url(../images/strength/sec3-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media only screen and (max-width: 767px) {
    body.strength main .section3 {
      padding: 110px 0 120px; } }
  body.strength main .section3 .cont-1 .inner {
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.strength main .section3 .cont-1 .inner {
        width: 100%; } }
    body.strength main .section3 .cont-1 .inner:after {
      content: '';
      width: 163px;
      height: 101px;
      position: absolute;
      top: -45px;
      right: -9%;
      background-image: url(../images/strength/number3.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
      @media only screen and (max-width: 767px) {
        body.strength main .section3 .cont-1 .inner:after {
          width: 101px;
          top: -70px;
          right: -15px; } }
    body.strength main .section3 .cont-1 .inner .icon {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -165px; }
      @media only screen and (max-width: 767px) {
        body.strength main .section3 .cont-1 .inner .icon {
          top: -170px; } }
  body.strength main .section3 .cont-1 .sec-title_main {
    color: #fff; }
  body.strength main .section3 .cont-1 .img {
    margin-top: 70px; }
    @media only screen and (max-width: 767px) {
      body.strength main .section3 .cont-1 .img {
        margin-top: 50px; } }
    @media only screen and (max-width: 767px) {
      body.strength main .section3 .cont-1 .img .inner-small {
        width: 100%; } }
  body.strength main .section3 .cont-1 p {
    color: #fff; }
    @media only screen and (min-width: 768px) {
      body.strength main .section3 .cont-1 p {
        margin: 75px -40px 0; } }
    @media only screen and (max-width: 767px) {
      body.strength main .section3 .cont-1 p {
        margin-top: 33px; } }
  body.strength main .section3 .btn span {
    color: #fff; }
  body.strength main .section3 .list-box {
    padding: 35px 65px 63px;
    margin-top: 65px;
    background: #F2F2F2; }
    @media only screen and (max-width: 767px) {
      body.strength main .section3 .list-box {
        padding: 38px 15px 40px;
        margin: 50px -15px 0; } }
    body.strength main .section3 .list-box .sec-title_sub {
      text-align: center; }
      body.strength main .section3 .list-box .sec-title_sub:after {
        margin: 23px auto 0;
        background-image: url(../images/strength/bottom-bar.svg); }
        @media only screen and (max-width: 767px) {
          body.strength main .section3 .list-box .sec-title_sub:after {
            margin: 18px auto 0; } }
    body.strength main .section3 .list-box ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-top: 40px; }
      @media only screen and (max-width: 767px) {
        body.strength main .section3 .list-box ul {
          flex-direction: column;
          margin-top: 40px; } }
      body.strength main .section3 .list-box ul li {
        background-color: #fff;
        color: #002d5f;
        width: calc((100% - 25px) / 2);
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        line-height: 1.733333333;
        padding: 12px 0;
        text-align: center;
        position: relative; }
        @media only screen and (min-width: 768px) {
          body.strength main .section3 .list-box ul li {
            margin-right: 25px; } }
        @media only screen and (max-width: 767px) {
          body.strength main .section3 .list-box ul li {
            letter-spacing: 0em;
            width: 100%;
            padding: 14px 0; }
            body.strength main .section3 .list-box ul li:nth-child(n + 2) {
              margin-top: 13px; } }
        @media only screen and (min-width: 768px) {
          body.strength main .section3 .list-box ul li:nth-child(2n + 2) {
            margin-right: 0; }
          body.strength main .section3 .list-box ul li:nth-child(n + 3) {
            margin-top: 25px; } }
        body.strength main .section3 .list-box ul li:before {
          content: '';
          width: 100%;
          height: 100%;
          position: absolute;
          right: -5px;
          bottom: -5px;
          background-color: transparent;
          border: 1px solid #fff; }

body.strength main .section4 {
  padding: 100px 0 152px; }
  @media only screen and (max-width: 767px) {
    body.strength main .section4 {
      padding: 102px 0 170px; } }
  body.strength main .section4 .cont-1 {
    position: relative; }
    body.strength main .section4 .cont-1:after {
      content: '';
      width: 163px;
      height: 226px;
      position: absolute;
      top: -40px;
      right: -9%;
      background-image: url(../images/strength/number4.png);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
      @media only screen and (max-width: 767px) {
        body.strength main .section4 .cont-1:after {
          width: 101px;
          top: -95px;
          right: -15px; } }
    body.strength main .section4 .cont-1 img {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: -165px; }
      @media only screen and (max-width: 767px) {
        body.strength main .section4 .cont-1 img {
          top: -160px; } }
    @media only screen and (max-width: 767px) {
      body.strength main .section4 .cont-1 p {
        margin-top: 42px; } }

body.strength main #anchor1 {
  display: block;
  position: relative;
  top: -150px; }

body.strength main #anchor2 {
  display: block;
  position: relative;
  top: -170px; }
  @media only screen and (max-width: 767px) {
    body.strength main #anchor2 {
      top: -200px; } }

body.strength main #anchor3 {
  display: block;
  position: relative;
  top: -150px; }
  @media only screen and (max-width: 767px) {
    body.strength main #anchor3 {
      top: -200px; } }

body.strength main #anchor4 {
  display: block;
  position: relative;
  top: -170px; }
  @media only screen and (max-width: 767px) {
    body.strength main #anchor4 {
      top: -200px; } }

body.system main p {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  line-height: 2.533333333;
  text-align: justify; }
  @media only screen and (max-width: 767px) {
    body.system main p {
      letter-spacing: 0.05em;
      line-height: 2.267; } }

body.system main .service {
  margin-top: 80px;
  padding-top: 48px;
  background-image: url(../images/system/service_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top; }
  @media only screen and (max-width: 767px) {
    body.system main .service {
      padding: 30px 0 120px;
      margin-top: 60px;
      background-image: url(../images/system/service_bg-sp.jpg);
      position: relative; } }
  body.system main .service .sec-title_main2 {
    text-align: center;
    color: #fff; }
    body.system main .service .sec-title_main2:before {
      margin: 50px auto 0; }
  body.system main .service p {
    color: #fff;
    margin-top: 70px; }
    @media only screen and (max-width: 767px) {
      body.system main .service p {
        margin-top: 37px; } }
  body.system main .service .inner {
    display: flex;
    justify-content: space-between; }
    body.system main .service .inner .left-box {
      width: 83.7%; }
      @media only screen and (max-width: 767px) {
        body.system main .service .inner .left-box {
          width: 100%; } }
      @media only screen and (max-width: 767px) {
        body.system main .service .inner .left-box .box1 p {
          padding-right: 10px; } }
      body.system main .service .inner .left-box .box1 .sec-title_sub-w {
        margin-top: 60px; }
        @media only screen and (max-width: 767px) {
          body.system main .service .inner .left-box .box1 .sec-title_sub-w {
            margin-top: 37px; } }
      body.system main .service .inner .left-box .box1 .items {
        margin-top: 40px; }
        @media only screen and (max-width: 767px) {
          body.system main .service .inner .left-box .box1 .items {
            margin: 40px -15px 0; } }
        body.system main .service .inner .left-box .box1 .items > div {
          display: flex;
          justify-content: space-between;
          align-items: center;
          color: #fff;
          padding: 34px 0 35px 55px;
          border: 1px solid #fff;
          position: relative; }
          body.system main .service .inner .left-box .box1 .items > div:nth-of-type(2) {
            padding: 40px 0 38px 60px; }
            @media only screen and (max-width: 767px) {
              body.system main .service .inner .left-box .box1 .items > div:nth-of-type(2) {
                padding: 45px 8.5px 40px; }
                body.system main .service .inner .left-box .box1 .items > div:nth-of-type(2) .txt em {
                  margin: 33px 0 20px; } }
          body.system main .service .inner .left-box .box1 .items > div:nth-of-type(3) {
            padding: 35px 0 37px 60px; }
            @media only screen and (max-width: 767px) {
              body.system main .service .inner .left-box .box1 .items > div:nth-of-type(3) {
                padding: 43px 8.5px 40px; }
                body.system main .service .inner .left-box .box1 .items > div:nth-of-type(3) .txt em {
                  margin: 35px 0 16px; } }
          @media only screen and (max-width: 767px) {
            body.system main .service .inner .left-box .box1 .items > div {
              flex-direction: column;
              padding: 37px 8.5px 41px; } }
          body.system main .service .inner .left-box .box1 .items > div:nth-child(n + 2) {
            margin-top: 23px; }
          body.system main .service .inner .left-box .box1 .items > div .img {
            width: 11.2137767%; }
            @media only screen and (max-width: 767px) {
              body.system main .service .inner .left-box .box1 .items > div .img {
                width: 86px; } }
          body.system main .service .inner .left-box .box1 .items > div .txt {
            width: 81.534442%; }
            @media only screen and (max-width: 767px) {
              body.system main .service .inner .left-box .box1 .items > div .txt {
                width: 100%;
                text-align: center; } }
            body.system main .service .inner .left-box .box1 .items > div .txt em {
              font-size: 18px;
              font-size: 1.8rem;
              letter-spacing: 0.06em;
              font-weight: bold;
              display: block;
              margin-bottom: 22px; }
              @media only screen and (max-width: 767px) {
                body.system main .service .inner .left-box .box1 .items > div .txt em {
                  margin: 33px 0 16px;
                  letter-spacing: 0em; } }
            body.system main .service .inner .left-box .box1 .items > div .txt span {
              font-size: 15px;
              font-size: 1.5rem;
              letter-spacing: 0.1em; }
          body.system main .service .inner .left-box .box1 .items > div .dot {
            content: '';
            width: 5px;
            height: 5px;
            border-radius: 50%;
            position: absolute;
            background-color: #fff; }
            body.system main .service .inner .left-box .box1 .items > div .dot:nth-of-type(1) {
              top: -3px;
              left: -3px; }
            body.system main .service .inner .left-box .box1 .items > div .dot:nth-of-type(2) {
              top: -3px;
              right: -3px; }
            body.system main .service .inner .left-box .box1 .items > div .dot:nth-of-type(3) {
              bottom: -3px;
              left: -3px; }
            body.system main .service .inner .left-box .box1 .items > div .dot:nth-of-type(4) {
              bottom: -3px;
              right: -3px; }
      body.system main .service .inner .left-box .box2 {
        margin-top: 75px; }
        @media only screen and (max-width: 767px) {
          body.system main .service .inner .left-box .box2 {
            margin-top: 57px; } }
        body.system main .service .inner .left-box .box2 ul {
          margin-top: 40px;
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          position: relative; }
          @media only screen and (min-width: 768px) {
            body.system main .service .inner .left-box .box2 ul {
              margin-right: 5px; } }
          @media only screen and (max-width: 767px) {
            body.system main .service .inner .left-box .box2 ul {
              flex-direction: column;
              margin-top: 30px;
              padding-right: 5px; } }
          body.system main .service .inner .left-box .box2 ul li {
            width: calc((100% - 15px*2) / 3);
            margin-right: 15px;
            background-color: #fff;
            color: #002d5f;
            padding: 15px 0;
            text-align: center;
            position: relative;
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0em; }
            @media only screen and (min-width: 768px) {
              body.system main .service .inner .left-box .box2 ul li:nth-child(3n + 3) {
                margin-right: 0; }
              body.system main .service .inner .left-box .box2 ul li:nth-last-child(2) {
                margin-right: 0; }
              body.system main .service .inner .left-box .box2 ul li:nth-child(n + 4) {
                margin-top: 13px; } }
            @media only screen and (max-width: 767px) {
              body.system main .service .inner .left-box .box2 ul li {
                width: 100%; }
                body.system main .service .inner .left-box .box2 ul li:nth-child(n + 2) {
                  margin-top: 11px; } }
            @media all and (-ms-high-contrast: none) {
              body.system main .service .inner .left-box .box2 ul li {
                padding-top: 12px; } }
            body.system main .service .inner .left-box .box2 ul li:last-child {
              margin-right: 0;
              background-color: transparent;
              border: 1px solid #fff;
              width: calc((100% - 15px) / 2);
              color: #fff;
              width: 66.7%;
              height: 50px;
              position: absolute;
              bottom: -5px;
              right: -5px; }
              @media only screen and (max-width: 767px) {
                body.system main .service .inner .left-box .box2 ul li:last-child {
                  bottom: -120px;
                  right: 0;
                  width: 100%;
                  line-height: 1.733333333;
                  height: 86px; } }
              body.system main .service .inner .left-box .box2 ul li:last-child:before {
                display: none; }
              body.system main .service .inner .left-box .box2 ul li:last-child:after {
                content: "";
                width: 17px;
                height: 17px;
                position: absolute;
                top: 100%;
                right: 30px;
                background-image: url(../images/system/triangle.svg);
                background-repeat: no-repeat;
                background-position: center; }
                @media only screen and (max-width: 767px) {
                  body.system main .service .inner .left-box .box2 ul li:last-child:after {
                    background-image: url(../images/system/triangle-sp.svg);
                    top: calc(100% - .5px);
                    border-top: .9px solid #33577F; } }
            body.system main .service .inner .left-box .box2 ul li:before {
              content: '';
              width: 100%;
              height: 100%;
              position: absolute;
              right: -5px;
              bottom: -5px;
              background-color: transparent;
              border: 1px solid #fff; }
        body.system main .service .inner .left-box .box2 .box-bottom {
          background-color: #fff;
          padding: 33px 60px 52px 60px;
          margin-top: 87px; }
          @media only screen and (min-width: 768px) {
            body.system main .service .inner .left-box .box2 .box-bottom {
              margin-bottom: 132px; } }
          @media only screen and (max-width: 767px) {
            body.system main .service .inner .left-box .box2 .box-bottom {
              margin-top: 200px;
              padding: 34px 30px 50px 30px; } }
          body.system main .service .inner .left-box .box2 .box-bottom p {
            color: #333333;
            margin-top: 32px; }
            @media only screen and (max-width: 767px) {
              body.system main .service .inner .left-box .box2 .box-bottom p {
                padding-right: 8px; } }
    body.system main .service .inner .right-box {
      width: 4.6%;
      margin-top: 85px; }
      @media only screen and (max-width: 767px) {
        body.system main .service .inner .right-box {
          margin-top: -115px;
          width: 0; } }
      @media all and (-ms-high-contrast: none) {
        body.system main .service .inner .right-box {
          margin-top: 70px; } }
      body.system main .service .inner .right-box .scroll-txt {
        font-size: 46px;
        font-size: 4.6rem;
        letter-spacing: 0.08em;
        font-weight: 300;
        font-family: din-2014-narrow, sans-serif;
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        color: #fff;
        display: block; }
        @media all and (-ms-high-contrast: none) {
          body.system main .service .inner .right-box .scroll-txt {
            height: 0;
            white-space: nowrap; } }
        @media all and (-ms-high-contrast: none) {
          body.system main .service .inner .right-box .scroll-txt .pin-spacer {
            height: 0; } }
      body.system main .service .inner .right-box .not-scroll-txt {
        font-size: 52px;
        font-size: 5.2rem;
        letter-spacing: 0.08em;
        font-weight: 300;
        font-family: din-2014-narrow, sans-serif;
        opacity: .3;
        writing-mode: vertical-rl;
        color: #fff;
        position: absolute;
        height: 100%;
        right: 8px;
        top: 75px; }

body.system main .features {
  padding: 100px 0 120px; }
  @media only screen and (max-width: 767px) {
    body.system main .features {
      padding: 28px 0 100px; } }
  body.system main .features .top-cont {
    display: flex;
    justify-content: space-between;
    position: relative; }
    @media only screen and (max-width: 767px) {
      body.system main .features .top-cont {
        flex-direction: column; } }
    body.system main .features .top-cont .sec-title_main2 {
      width: 44%; }
      @media only screen and (max-width: 767px) {
        body.system main .features .top-cont .sec-title_main2 {
          width: 100%;
          text-align: left; }
          body.system main .features .top-cont .sec-title_main2:before {
            margin: 50px 0 0 0; } }
    body.system main .features .top-cont .img {
      width: 34%;
      position: absolute;
      right: 0;
      top: -174px; }
      @media only screen and (max-width: 767px) {
        body.system main .features .top-cont .img {
          width: 188px;
          position: absolute;
          top: -173px;
          right: -41px; } }
  body.system main .features .middle-cont .box {
    margin-top: 91px; }
    @media only screen and (max-width: 767px) {
      body.system main .features .middle-cont .box {
        margin-top: 40px; } }
    body.system main .features .middle-cont .box:nth-child(n + 2) {
      margin-top: 47px; }
    body.system main .features .middle-cont .box p {
      margin-top: 42px; }
  @media only screen and (max-width: 767px) {
    body.system main .features .bottom-cont {
      margin: 0 -15px; } }
  body.system main .features .bottom-cont .bg_list-box {
    background-position: center top; }
    @media only screen and (max-width: 767px) {
      body.system main .features .bottom-cont .bg_list-box {
        margin-top: 40px; } }

body.system main #service {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.system main #service {
      position: relative;
      top: -30px; } }

body.system main #features {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.system main #features {
      position: relative;
      top: -30px; } }

body.system main #flow {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.system main #flow {
      position: relative;
      top: -30px; } }

body.toner main .section1 {
  display: block; }

body.toner main p {
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  line-height: 2.533333333; }
  @media only screen and (max-width: 767px) {
    body.toner main p {
      line-height: 2.267; } }

body.toner main .service {
  background-color: #F2F2F2;
  padding: 50px 0 120px;
  margin-top: 80px; }
  @media only screen and (max-width: 767px) {
    body.toner main .service {
      margin-top: 60px;
      padding: 30px 0 100px; } }
  body.toner main .service .sec-title_main2 {
    text-align: center; }
    body.toner main .service .sec-title_main2:before {
      margin: 50px auto 0; }
  body.toner main .service p {
    color: #333333; }
  body.toner main .service .inner {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 767px) {
      body.toner main .service .inner {
        flex-direction: column; } }
    body.toner main .service .inner .box-left {
      width: 84.1%; }
      @media only screen and (max-width: 767px) {
        body.toner main .service .inner .box-left {
          width: 100%; } }
      body.toner main .service .inner .box-left p {
        margin-top: 70px; }
        @media only screen and (max-width: 767px) {
          body.toner main .service .inner .box-left p {
            margin-top: 35px; } }
      body.toner main .service .inner .box-left .maker {
        background-color: #fff;
        padding: 4% 12.7229489% 6% 6.8%;
        margin-top: 50px; }
        @media only screen and (max-width: 767px) {
          body.toner main .service .inner .box-left .maker {
            padding: 36px 15px 40px;
            margin: 50px -15px 0; } }
        body.toner main .service .inner .box-left .maker ul {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          margin-top: 34px; }
          @media only screen and (max-width: 767px) {
            body.toner main .service .inner .box-left .maker ul {
              justify-content: space-around;
              margin-top: 40px; } }
          @media only screen and (min-width: 768px) {
            body.toner main .service .inner .box-left .maker ul li {
              margin-right: 5.9453032%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(4n + 4) {
            margin-right: 0; }
          @media only screen and (min-width: 768px) {
            body.toner main .service .inner .box-left .maker ul li:nth-child(n + 5) {
              margin-top: 2.140787%; } }
          @media only screen and (max-width: 767px) {
            body.toner main .service .inner .box-left .maker ul li:nth-child(n + 3) {
              margin-top: 20px; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(1) {
            width: 16.6421208%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(1) {
                width: 38.3050847%;
                margin-right: 20px;
                margin-left: 20px; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(2) {
            width: 16.0530191%; }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(2) {
                margin-left: 1.4727541%; } }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(2) {
                width: 35.5932203%;
                margin-right: 10px; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(3) {
            width: 21.2076583%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(3) {
                width: 35.5932203%;
                margin-left: 10px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(3) {
                margin-left: 1.4727541%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(4) {
            width: 23.8586156%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(4) {
                width: 38.6440678%;
                margin-left: 12px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(4) {
                margin-left: 1.3254786%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(5) {
            width: 10.4565538%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(5) {
                width: 24.0677966%;
                margin-right: 50px;
                margin-left: 34px;
                margin-top: 25px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(5) {
                margin-right: 13.2547865%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(6) {
            width: 11.3402062%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(6) {
                width: 27.4576271%;
                margin-right: 20px;
                margin-top: 25px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(6) {
                margin-right: 12.2238586%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(7) {
            width: 12.6656848%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(7) {
                width: 29.1525424%;
                margin-left: 7px;
                margin-top: 15px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(7) {
                margin-right: 15.1693667%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(8) {
            width: 16.9366716%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(8) {
                width: 33.8983051%;
                margin-top: 15px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(8) {
                margin-left: 0.736377%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(9) {
            width: 20.1767305%; }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(9) {
                width: 44.4067797%;
                margin-top: 15px; } }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(9) {
                margin-right: 0.736377%;
                margin-top: -1%; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(10) {
            width: 43.2989691%; }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(10) {
                margin-right: 11.0456554%;
                margin-top: -3px; } }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(10) {
                order: 11;
                width: 100%;
                margin-top: 10px; } }
          body.toner main .service .inner .box-left .maker ul li:nth-child(11) {
            width: 22.2385862%;
            margin-right: 0; }
            @media only screen and (min-width: 768px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(11) {
                margin-top: 0; } }
            @media only screen and (max-width: 767px) {
              body.toner main .service .inner .box-left .maker ul li:nth-child(11) {
                width: 37.9661017%;
                margin-top: 15px; } }
        body.toner main .service .inner .box-left .maker p {
          font-size: 12px;
          font-size: 1.2rem;
          margin-top: 18px; }
          @media only screen and (max-width: 767px) {
            body.toner main .service .inner .box-left .maker p {
              padding: 0 13px; } }
    body.toner main .service .inner .box-right {
      width: 15.9%;
      display: flex;
      align-items: flex-start;
      padding-top: 75px; }
      body.toner main .service .inner .box-right span {
        writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        font-size: 46px;
        font-size: 4.6rem;
        letter-spacing: 0.08em;
        font-weight: 300;
        color: #002d5f;
        font-family: din-2014-narrow, sans-serif;
        padding-left: 105px; }

body.toner main .merit {
  padding: 90px 0 140px; }
  @media only screen and (max-width: 767px) {
    body.toner main .merit {
      padding: 80px 0 101px; } }
  body.toner main .merit .inner .top-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      body.toner main .merit .inner .top-wrapper {
        flex-direction: column; } }
    body.toner main .merit .inner .top-wrapper .left-cont {
      width: 50%; }
      @media only screen and (min-width: 768px) {
        body.toner main .merit .inner .top-wrapper .left-cont {
          margin-right: 50px; } }
      @media only screen and (max-width: 767px) {
        body.toner main .merit .inner .top-wrapper .left-cont {
          width: 100%; } }
      body.toner main .merit .inner .top-wrapper .left-cont p {
        margin-top: 49px;
        text-align: justify;
        color: #333333; }
        @media only screen and (max-width: 767px) {
          body.toner main .merit .inner .top-wrapper .left-cont p {
            margin-top: 38px; } }
    body.toner main .merit .inner .top-wrapper .right-cont {
      width: 54.0018399%; }
      @media only screen and (min-width: 768px) {
        body.toner main .merit .inner .top-wrapper .right-cont {
          margin-right: -87px; } }
      @media only screen and (max-width: 767px) {
        body.toner main .merit .inner .top-wrapper .right-cont {
          width: 325px;
          margin-top: 40px; } }
  body.toner main .merit .inner .bottom-wrapper {
    margin-top: 88px;
    background-color: #F2F2F2;
    padding: 75px 80px 100px; }
    @media only screen and (max-width: 767px) {
      body.toner main .merit .inner .bottom-wrapper {
        padding: 45px 30px 60px;
        margin: 120px -15px 0; } }
    @media only screen and (min-width: 768px) {
      body.toner main .merit .inner .bottom-wrapper .sec-title_sub {
        text-align: center; }
        body.toner main .merit .inner .bottom-wrapper .sec-title_sub:after {
          margin: 23px auto; } }
    body.toner main .merit .inner .bottom-wrapper h4 {
      font-size: 18px;
      font-size: 1.8rem;
      letter-spacing: 0.06em;
      color: #002d5f;
      text-align: center;
      margin-top: 55px; }
      @media only screen and (max-width: 767px) {
        body.toner main .merit .inner .bottom-wrapper h4 {
          line-height: 1.777777778;
          margin-top: 38px; } }
    body.toner main .merit .inner .bottom-wrapper p {
      margin-top: 53px; }
      @media only screen and (max-width: 767px) {
        body.toner main .merit .inner .bottom-wrapper p {
          margin-top: 43px; } }
    body.toner main .merit .inner .bottom-wrapper .risk {
      display: flex;
      justify-content: space-between;
      margin-top: 46px; }
      @media only screen and (min-width: 768px) {
        body.toner main .merit .inner .bottom-wrapper .risk {
          padding: 0 50px; } }
      @media only screen and (max-width: 767px) {
        body.toner main .merit .inner .bottom-wrapper .risk {
          flex-direction: column;
          margin-top: 28px; } }
      body.toner main .merit .inner .bottom-wrapper .risk .list {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-direction: column;
        height: 226px;
        width: calc((100% - 35px*2) / 3);
        border: 1px solid #002d5f;
        position: relative;
        padding-bottom: 42px; }
        @media only screen and (min-width: 768px) {
          body.toner main .merit .inner .bottom-wrapper .risk .list {
            margin-right: 35px; } }
        @media only screen and (max-width: 767px) {
          body.toner main .merit .inner .bottom-wrapper .risk .list {
            width: 100%;
            height: 222px;
            padding-bottom: 45px; }
            body.toner main .merit .inner .bottom-wrapper .risk .list:nth-child(n + 2) {
              margin-top: 22px; } }
        body.toner main .merit .inner .bottom-wrapper .risk .list:last-child {
          margin-right: 0; }
          @media only screen and (min-width: 768px) {
            body.toner main .merit .inner .bottom-wrapper .risk .list:last-child > div {
              padding-left: 25px; } }
        body.toner main .merit .inner .bottom-wrapper .risk .list .txt {
          margin-top: 30px;
          display: block;
          color: #002d5f;
          font-size: 15px;
          font-size: 1.5rem;
          letter-spacing: 0.1em; }
        body.toner main .merit .inner .bottom-wrapper .risk .list .dot {
          content: '';
          width: 5px;
          height: 5px;
          border-radius: 50%;
          position: absolute;
          background-color: #002d5f; }
          body.toner main .merit .inner .bottom-wrapper .risk .list .dot:nth-of-type(2) {
            top: -3px;
            left: -3px; }
          body.toner main .merit .inner .bottom-wrapper .risk .list .dot:nth-of-type(3) {
            top: -3px;
            right: -3px; }
          body.toner main .merit .inner .bottom-wrapper .risk .list .dot:nth-of-type(4) {
            bottom: -3px;
            left: -3px; }
          body.toner main .merit .inner .bottom-wrapper .risk .list .dot:nth-of-type(5) {
            bottom: -3px;
            right: -3px; }

body.toner main .thought {
  background-image: url(../images/toner/thought-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 113px 0 132px; }
  @media only screen and (max-width: 767px) {
    body.toner main .thought {
      padding: 80px 0 95px;
      background-image: url(../images/toner/thought-bg-sp.jpg); } }
  body.toner main .thought .sec-title_main2 {
    color: #fff;
    margin-bottom: 70px; }
    @media only screen and (max-width: 767px) {
      body.toner main .thought .sec-title_main2 {
        margin-bottom: 52px; } }
  body.toner main .thought p {
    color: #fff;
    margin-top: 42px; }
  body.toner main .thought .sec-title_sub-w:nth-of-type(n + 2) {
    margin-top: 67px; }
    @media only screen and (max-width: 767px) {
      body.toner main .thought .sec-title_sub-w:nth-of-type(n + 2) {
        margin-top: 47px; } }

body.toner main .strength {
  padding: 70px 0 142px; }
  @media only screen and (max-width: 767px) {
    body.toner main .strength {
      padding: 30px 0 100px; } }
  body.toner main .strength .sec-title_main2 {
    text-align: center;
    margin-bottom: 75px; }
    @media only screen and (max-width: 767px) {
      body.toner main .strength .sec-title_main2 {
        margin-bottom: 55px; } }
    body.toner main .strength .sec-title_main2:before {
      margin: 50px auto 0; }
  body.toner main .strength p {
    margin-top: 40px; }
    @media only screen and (max-width: 767px) {
      body.toner main .strength p {
        margin-top: 33px; } }
  body.toner main .strength .box {
    position: relative;
    border: 1px solid #002d5f;
    padding: 55px 60px 70px 60px; }
    @media only screen and (max-width: 767px) {
      body.toner main .strength .box {
        padding: 45px 28px 37px;
        margin: 0 -15px; } }
    body.toner main .strength .box:nth-of-type(n + 2) {
      margin-top: 53px; }
      @media only screen and (max-width: 767px) {
        body.toner main .strength .box:nth-of-type(n + 2) {
          margin-top: 33px; } }
    body.toner main .strength .box .cont {
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 767px) {
        body.toner main .strength .box .cont {
          flex-direction: column; } }
      body.toner main .strength .box .cont .txt-cont {
        width: 60.9%; }
        @media only screen and (max-width: 767px) {
          body.toner main .strength .box .cont .txt-cont {
            width: 100%; } }
        @media only screen and (max-width: 767px) {
          body.toner main .strength .box .cont .txt-cont .sec-title_sub {
            text-align: center; }
            body.toner main .strength .box .cont .txt-cont .sec-title_sub:after {
              margin: 25px auto 0; } }
      body.toner main .strength .box .cont .img-cont {
        width: 32.7%; }
        @media only screen and (max-width: 767px) {
          body.toner main .strength .box .cont .img-cont {
            width: 97%;
            margin-top: 30px; } }
    body.toner main .strength .box .dot {
      content: '';
      width: 5px;
      height: 5px;
      border-radius: 50%;
      position: absolute;
      background-color: #002d5f; }
      body.toner main .strength .box .dot:nth-of-type(1) {
        top: -3px;
        left: -3px; }
      body.toner main .strength .box .dot:nth-of-type(2) {
        top: -3px;
        right: -3px; }
      body.toner main .strength .box .dot:nth-of-type(3) {
        bottom: -3px;
        left: -3px; }
      body.toner main .strength .box .dot:nth-of-type(4) {
        bottom: -3px;
        right: -3px; }

@media only screen and (max-width: 767px) {
  body.toner main .sec_flow .flow-box .txt-cont P {
    margin-top: 30px; } }

@media only screen and (min-width: 768px) {
  body.toner main .sec_flow .flow-box:nth-of-type(3) .link-btn a {
    padding: 13px 35px; } }

@media all and (-ms-high-contrast: none) {
  body.toner main .sec_flow .flow-box:nth-of-type(3) .link-btn a {
    padding-top: 10px; } }

body.toner main .sec_flow .flow-box:last-child {
  background-color: #002d5f;
  padding: 0; }
  body.toner main .sec_flow .flow-box:last-child .sec-title_sub {
    color: #fff; }
  body.toner main .sec_flow .flow-box:last-child:before {
    display: none; }
  @media only screen and (max-width: 767px) {
    body.toner main .sec_flow .flow-box:last-child .img-cont {
      margin-top: 0; } }
  @media only screen and (max-width: 767px) {
    body.toner main .sec_flow .flow-box:last-child .txt-cont {
      padding: 37px 30px 37px; } }
  body.toner main .sec_flow .flow-box:last-child P {
    color: #fff; }

@media only screen and (min-width: 768px) {
  body.toner main .sec_flow .flow-box .link-btn {
    margin-top: 43px; } }

@media only screen and (max-width: 767px) {
  body.toner main .sec_flow .flow-box .link-btn {
    margin-top: 25px; } }

@media only screen and (min-width: 768px) {
  body.toner main .sec_flow .flow-box .link-btn a {
    padding: 13px 42px; } }

body.toner main #service {
  display: block; }

body.toner main #merit {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.toner main #merit {
      position: relative;
      top: -30px; } }

body.toner main #thought {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.toner main #thought {
      position: relative;
      top: -30px; } }

body.toner main #strength {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.toner main #strength {
      position: relative;
      top: -30px; } }

body.toner main #flow {
  display: block; }
  @media only screen and (max-width: 767px) {
    body.toner main #flow {
      position: relative;
      top: -30px; } }

body.top .sec--visual {
  position: relative; }
  body.top .sec--visual__background .bg {
    background-size: cover;
    height: 100%; }
  body.top .sec--visual .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1114px;
    height: 100%;
    position: absolute;
    top: 0;
    left: calc(50% - 550px); }
    @media only screen and (max-width: 1114px) {
      body.top .sec--visual .inner {
        left: 30px;
        width: calc(100% - 60px); } }
  body.top .sec--visual__text {
    display: inline-block;
    max-width: 505px;
    margin-top: -45px; }
    body.top .sec--visual__text .ttl {
      display: inline-block;
      margin-bottom: 44px;
      color: #fff; }
      body.top .sec--visual__text .ttl:first-child {
        margin-bottom: 36px; }
      body.top .sec--visual__text .ttl > span {
        display: block; }
      body.top .sec--visual__text .ttl__jp {
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1.5;
        letter-spacing: 0.2em;
        font-weight: 400;
        padding-bottom: 2px;
        border-bottom: 1px solid #F4B73B;
        margin-bottom: 5px; }
      body.top .sec--visual__text .ttl__en {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.5;
        letter-spacing: 0.3em;
        font-weight: 400;
        font-family: din-2014-narrow, sans-serif; }
    body.top .sec--visual__text .txt_bg {
      display: inline-block;
      background-color: #fff;
      padding: 0 18px; }
      body.top .sec--visual__text .txt_bg span {
        display: inline-block;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.5;
        letter-spacing: 0.35em;
        font-weight: 700;
        color: #002D5F;
        padding: 8px 0; }
    body.top .sec--visual__text .bnr {
      margin-top: 70px;
      width: 390px;
      height: 120px;
      border: solid 1px #FFFFFF;
      background: #004789;
      display: flex;
      position: relative;
      z-index: 2;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 5px 8px rgba(0, 23, 38, 0.2);
      overflow: hidden; }
      @media only screen and (max-width: 767px) {
        body.top .sec--visual__text .bnr {
          margin-top: 15px;
          width: calc(100% + 10px);
          max-width: 325px;
          height: 110px;
          position: absolute;
          bottom: 25px;
          left: 50%;
          transform: translateX(-50%); } }
      body.top .sec--visual__text .bnr:before {
        content: '';
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        transition: all .5s;
        transform-origin: center right; }
        @media only screen and (max-width: 767px) {
          body.top .sec--visual__text .bnr:before {
            background-image: url(../../images/top/bg_bnr_subflow_sp.jpg); } }
        @media only screen and (min-width: 768px) {
          body.top .sec--visual__text .bnr:before {
            background-image: url(../../images/top/bg_bnr_subflow.jpg); } }
      body.top .sec--visual__text .bnr__inner {
        position: relative;
        z-index: 2;
        padding: 30px 0 0 29px; }
        @media only screen and (max-width: 767px) {
          body.top .sec--visual__text .bnr__inner {
            padding: 24px 0 0 21px; } }
      body.top .sec--visual__text .bnr__txt1 {
        font-weight: normal;
        letter-spacing: 0.06em;
        line-height: 26px;
        text-align: left;
        color: #fff;
        text-shadow: 0px 3px 6px rgba(0, 44, 88, 0.4);
        font-size: 11px;
        font-size: 1.1rem; }
        @media only screen and (max-width: 767px) {
          body.top .sec--visual__text .bnr__txt1 {
            padding-left: 3px;
            font-size: 12px;
            font-size: 1.2rem; } }
        body.top .sec--visual__text .bnr__txt1 .en {
          display: inline-block;
          margin-right: 12px;
          font-weight: 300;
          vertical-align: -3px;
          letter-spacing: 0.08em;
          line-height: 28px;
          text-align: left;
          color: #fff;
          text-shadow: 0px 3px 6px rgba(0, 44, 88, 0.4);
          font-family: din-2014-narrow, sans-serif;
          font-size: 28px;
          font-size: 2.8rem; }
        body.top .sec--visual__text .bnr__txt1 .icon {
          position: relative; }
          body.top .sec--visual__text .bnr__txt1 .icon:before {
            content: '';
            position: absolute;
            right: -28px;
            top: 0;
            width: 18px;
            height: 18px;
            background-position: center;
            background-repeat: no-repeat;
            background-size: auto;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.095' height='17' viewBox='0 0 16.095 17'%3E%3Cpath d='M10.559,0V10.559H0' transform='translate(0 8.571) rotate(-45)' fill='none' stroke='%23fff' stroke-width='1'/%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(13.095 7)' fill='%23fff'/%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(6.095)' fill='%23fff'/%3E%3Ccircle cx='1.5' cy='1.5' r='1.5' transform='translate(6.095 14)' fill='%23fff'/%3E%3C/svg%3E%0A");
            transition: all .5s; }
      body.top .sec--visual__text .bnr__txt2 {
        margin-top: 5px;
        font-weight: normal;
        letter-spacing: 0.06em;
        line-height: 38px;
        text-align: left;
        color: #fff;
        text-shadow: 0px 3px 6px rgba(0, 44, 88, 0.4);
        font-size: 14px;
        font-size: 1.4rem; }
      body.top .sec--visual__text .bnr:hover {
        opacity: 1; }
        body.top .sec--visual__text .bnr:hover:before {
          transform: scale(1.04); }
        body.top .sec--visual__text .bnr:hover .bnr__txt1 .icon:before {
          transform: translateX(10px); }
  body.top .sec--visual__image {
    margin-bottom: -212px;
    margin-right: 15px; }
  @media only screen and (max-width: 767px) {
    body.top .sec--visual .inner {
      flex-flow: row wrap;
      justify-content: flex-end; }
    body.top .sec--visual__text {
      display: inline-block;
      width: 100%;
      margin-top: 60px; }
      body.top .sec--visual__text .ttl {
        margin-bottom: 27px; }
        body.top .sec--visual__text .ttl:first-child {
          margin-bottom: 20px; }
        body.top .sec--visual__text .ttl__jp {
          font-size: 20px;
          font-size: 2rem;
          line-height: 1.5;
          letter-spacing: 0.05em;
          font-weight: 400;
          padding-bottom: 5px; }
        body.top .sec--visual__text .ttl__en {
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 1.5;
          letter-spacing: 0.2em;
          font-weight: 400; }
      body.top .sec--visual__text .txt_bg {
        padding: 0;
        background-color: transparent; }
        body.top .sec--visual__text .txt_bg span {
          font-size: 15px;
          font-size: 1.5rem;
          line-height: 1.5;
          letter-spacing: 0.3em;
          font-weight: 700;
          background-color: #fff;
          padding: 2px 10px;
          margin-bottom: 10px; }
    body.top .sec--visual__image {
      width: 80%;
      margin: -60px -30px 0 0;
      overflow: hidden; }
      body.top .sec--visual__image img {
        position: relative;
        right: -20px; } }

body.top .sec--about {
  padding: 120px 0;
  background: url(../images/top/bg_about.jpg) top right/cover no-repeat; }
  body.top .sec--about .inner {
    max-width: 1240px;
    padding: 0 40px; }
  body.top .sec--about .block_about {
    padding-left: calc(50% - 20px);
    position: relative; }
    body.top .sec--about .block_about .sec_ttl {
      margin-bottom: 37px; }
    body.top .sec--about .block_about .img {
      width: calc(50% - 57px);
      position: absolute;
      top: 45px;
      left: 0; }
    body.top .sec--about .block_about p {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2.56667;
      letter-spacing: 0.06em;
      font-weight: 400; }
    body.top .sec--about .block_about .c-btn {
      margin-top: 35px; }
  @media only screen and (max-width: 767px) {
    body.top .sec--about {
      padding: 79px 0 100px;
      background: #F2F2F2; }
      body.top .sec--about .inner {
        width: 100%; }
      body.top .sec--about .block_about {
        padding-left: 0; }
        body.top .sec--about .block_about .sec_ttl {
          margin-bottom: 34px; }
        body.top .sec--about .block_about .img {
          width: calc(100% + 8px);
          position: relative;
          top: 0;
          margin: 0 -4px 39px; }
        body.top .sec--about .block_about .c-btn {
          margin: 42px auto 0; } }

body.top .sec--feature .lst_feature {
  display: flex;
  flex-flow: row wrap; }
  body.top .sec--feature .lst_feature li {
    width: 33.33%;
    position: relative;
    overflow: hidden; }
    body.top .sec--feature .lst_feature li:before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border: 0;
      opacity: 0;
      z-index: -1;
      -webkit-transition: border 0.3s;
      -moz-transition: border 0.3s;
      -ms-transition: border 0.3s;
      -o-transition: border 0.3s;
      transition: border 0.3s;
      box-sizing: border-box; }
    @media only screen and (min-width: 768px) {
      body.top .sec--feature .lst_feature li:hover .lst_feature__bg {
        transform: scale(1.1); }
      body.top .sec--feature .lst_feature li:hover:before {
        opacity: 1;
        z-index: 1;
        border: 20px solid #D8E1EB; } }
  body.top .sec--feature .lst_feature__bg {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
    body.top .sec--feature .lst_feature__bg:before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: rgba(0, 45, 95, 0.4); }
  body.top .sec--feature .lst_feature__inner {
    display: block;
    padding: 80px 60px;
    position: relative;
    z-index: 1; }
    body.top .sec--feature .lst_feature__inner .sec_ttl {
      margin-bottom: 38px; }
      body.top .sec--feature .lst_feature__inner .sec_ttl__en, body.top .sec--feature .lst_feature__inner .sec_ttl__jp {
        color: #fff; }
    body.top .sec--feature .lst_feature__inner p {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2.53333;
      letter-spacing: 0.06em;
      font-weight: 400;
      color: #fff;
      margin-bottom: 50px; }
    @media only screen and (min-width: 768px) {
      body.top .sec--feature .lst_feature__inner:hover {
        opacity: 1; }
        body.top .sec--feature .lst_feature__inner:hover .btn-more {
          background: #002d5f;
          color: #fff; }
          body.top .sec--feature .lst_feature__inner:hover .btn-more:before {
            background-image: url(../images/common/ico_arr_white.svg); } }
  @media only screen and (max-width: 767px) {
    body.top .sec--feature .lst_feature li {
      width: 100%; }
    body.top .sec--feature .lst_feature__inner {
      padding: 79px 40px 75px; }
      body.top .sec--feature .lst_feature__inner:before {
        content: '';
        width: 28px;
        height: 31px;
        background: url(../images/common/ico_arr_white.svg) 0 0/28px 31px no-repeat;
        position: absolute;
        top: calc(50% - 11px);
        right: 44px; }
      body.top .sec--feature .lst_feature__inner .sec_ttl {
        margin-bottom: 0; }
      body.top .sec--feature .lst_feature__inner p {
        display: none; }
      body.top .sec--feature .lst_feature__inner .btn-more {
        display: none; } }

body.top .sec--worcation {
  display: block;
  padding: 67px 0;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    body.top .sec--worcation {
      padding: 36px 0 53px; } }
  @media only screen and (min-width: 768px) {
    body.top .sec--worcation:hover {
      opacity: 1;
      background: #F4EBDB; } }
  body.top .sec--worcation .inner {
    max-width: 1132px; }
    @media only screen and (max-width: 767px) {
      body.top .sec--worcation .inner {
        width: calc(100% - 50px); } }
  body.top .sec--worcation .block {
    position: relative; }
    @media only screen and (min-width: 768px) {
      body.top .sec--worcation .block {
        padding-right: 424px; } }
    body.top .sec--worcation .block .sec_ttl {
      display: flex;
      align-items: center;
      margin-bottom: 18px; }
      body.top .sec--worcation .block .sec_ttl:before {
        display: none; }
      body.top .sec--worcation .block .sec_ttl__en, body.top .sec--worcation .block .sec_ttl__jp {
        display: inline-block; }
      body.top .sec--worcation .block .sec_ttl__en {
        font-size: 42px;
        font-size: 4.2rem;
        line-height: 1.47619;
        letter-spacing: 0.08em;
        font-weight: 300;
        margin-bottom: 0; }
        body.top .sec--worcation .block .sec_ttl__en em {
          color: #F4B73B;
          font-style: normal; }
      body.top .sec--worcation .block .sec_ttl__jp {
        font-size: 20px;
        font-size: 2rem;
        line-height: 3.1;
        letter-spacing: 0;
        font-weight: 400;
        margin-left: 15px; }
    @media only screen and (min-width: 768px) {
      body.top .sec--worcation .block .img {
        position: absolute;
        top: -26px;
        right: 0;
        width: 367px; } }
    body.top .sec--worcation .block .img img {
      display: block;
      width: 100%; }
    body.top .sec--worcation .block .txt {
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 2.53333;
      letter-spacing: 0;
      font-weight: 400;
      color: #002d5f; }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
      body.top .sec--worcation .block {
        padding-right: 335px; }
        body.top .sec--worcation .block .img {
          width: 280px;
          top: 0; } }
    @media only screen and (max-width: 767px) {
      body.top .sec--worcation .block .sec_ttl {
        justify-content: center;
        margin-bottom: 25px; }
        body.top .sec--worcation .block .sec_ttl__jp {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 3.44444;
          letter-spacing: 0;
          font-weight: 400;
          margin-left: 10px; }
      body.top .sec--worcation .block .img {
        margin-bottom: 24px; }
      body.top .sec--worcation .block .txt {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 2.14286;
        letter-spacing: 0;
        font-weight: 400;
        padding: 0 15px; } }

body.top .sec--strength {
  padding: 120px 0 140px;
  background: url(../images/top/bg_strength.jpg);
  position: relative;
  overflow: hidden; }
  @media only screen and (min-width: 768px) {
    body.top .sec--strength:before, body.top .sec--strength:after {
      content: '';
      width: 100%;
      height: 50%;
      background: url(../images/top/bg_strength_top.jpg) top right/contain no-repeat;
      position: absolute;
      top: 0;
      left: 0; }
    body.top .sec--strength:after {
      top: auto;
      bottom: 0;
      background: url(../images/top/bg_strength_bottom.jpg) bottom center/100% auto no-repeat; } }
  body.top .sec--strength .inner {
    position: relative;
    max-width: 1080px;
    z-index: 1; }
  body.top .sec--strength .sec_ttl {
    margin-bottom: 78px; }
  body.top .sec--strength .lst_strength {
    display: flex; }
    body.top .sec--strength .lst_strength li {
      width: 25%; }
      body.top .sec--strength .lst_strength li:nth-child(2) {
        margin-top: -40px; }
      body.top .sec--strength .lst_strength li:nth-child(3) {
        margin-top: -80px; }
      body.top .sec--strength .lst_strength li:nth-child(4) {
        margin-top: -120px; }
    body.top .sec--strength .lst_strength__inner {
      display: block;
      background-color: #fff;
      position: relative;
      padding: 54px 15px 43px;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -ms-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s; }
      @media only screen and (min-width: 768px) {
        body.top .sec--strength .lst_strength__inner:hover {
          background-color: #CCE4FF;
          margin-top: -10px; } }
      body.top .sec--strength .lst_strength__inner .num {
        width: 72px;
        height: 45px;
        position: absolute;
        top: -21px;
        left: calc(50% - 36px);
        text-align: center; }
        body.top .sec--strength .lst_strength__inner .num img {
          height: 45px; }
      body.top .sec--strength .lst_strength__inner .ico {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 119px;
        margin-bottom: 25px; }
      body.top .sec--strength .lst_strength__inner .ttl {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.77778;
        letter-spacing: 0.1em;
        font-weight: 500;
        color: #002d5f;
        text-align: center; }
  body.top .sec--strength .c-btn {
    position: absolute;
    right: -100px;
    margin-top: -50px; }
    @media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
      body.top .sec--strength .c-btn {
        right: -40px; } }
  @media only screen and (max-width: 767px) {
    body.top .sec--strength {
      padding: 97px 0 128px;
      background: #F2F2F2 url(../images/top/bg_strength_sp.jpg) top right/100% auto no-repeat; }
      body.top .sec--strength .inner {
        width: 100%;
        padding: 0 40px; }
      body.top .sec--strength .sec_ttl {
        margin-bottom: 96px; }
      body.top .sec--strength .lst_strength {
        flex-flow: row wrap;
        margin: 0 -23px; }
        body.top .sec--strength .lst_strength li {
          width: 50%;
          padding: 0 5px;
          margin-bottom: 44px; }
          body.top .sec--strength .lst_strength li:nth-child(1) .ico img {
            width: 82px; }
          body.top .sec--strength .lst_strength li:nth-child(2) {
            margin-top: -30px; }
            body.top .sec--strength .lst_strength li:nth-child(2) .ico img {
              width: 94px; }
          body.top .sec--strength .lst_strength li:nth-child(3) {
            margin-top: 0; }
            body.top .sec--strength .lst_strength li:nth-child(3) .ico img {
              width: 82px; }
          body.top .sec--strength .lst_strength li:nth-child(4) {
            margin-top: -30px; }
            body.top .sec--strength .lst_strength li:nth-child(4) .ico img {
              width: 89px; }
        body.top .sec--strength .lst_strength__inner {
          padding: 44px 20px 33px; }
          body.top .sec--strength .lst_strength__inner .num {
            left: 17px;
            width: auto; }
          body.top .sec--strength .lst_strength__inner .ico {
            height: 94px;
            margin-bottom: 20px; }
          body.top .sec--strength .lst_strength__inner .ttl {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.75;
            letter-spacing: 0.02em;
            font-weight: 500;
            text-align: left; }
      body.top .sec--strength .c-btn {
        right: 0;
        margin-top: 0; } }

body.top .sec--voice {
  padding: 80px 0 100px;
  background: url(../images/top/bg_voice.jpg) center center/cover no-repeat;
  position: relative; }
  body.top .sec--voice:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 45, 95, 0.6);
    z-index: 0; }
  body.top .sec--voice .sec_ttl {
    color: #fff;
    position: relative;
    margin-bottom: 45px; }
  body.top .sec--voice .lst_voice {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 96px; }
    body.top .sec--voice .lst_voice li {
      padding: 0 10px; }
    body.top .sec--voice .lst_voice__inner {
      display: flex;
      align-items: center;
      background: #fff; }
      @media only screen and (min-width: 768px) {
        body.top .sec--voice .lst_voice__inner {
          width: 540px; }
          body.top .sec--voice .lst_voice__inner:hover {
            opacity: 1;
            background: #F4EBDB; } }
      body.top .sec--voice .lst_voice__inner .image {
        width: 50%; }
        body.top .sec--voice .lst_voice__inner .image .img_thumb {
          position: relative; }
          body.top .sec--voice .lst_voice__inner .image .img_thumb:before {
            display: block;
            content: " ";
            width: 100%;
            padding-top: 100%; }
          body.top .sec--voice .lst_voice__inner .image .img_thumb > .content {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0; }
      body.top .sec--voice .lst_voice__inner .text {
        width: 50%;
        padding: 22px 37px 30px; }
        body.top .sec--voice .lst_voice__inner .text .ttl {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.77778;
          letter-spacing: 0.1em;
          font-weight: 400;
          color: #002d5f;
          margin-bottom: 27px; }
          @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
            body.top .sec--voice .lst_voice__inner .text .ttl {
              max-height: 100px;
              overflow: hidden; } }
        body.top .sec--voice .lst_voice__inner .text .txt {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1.84615;
          letter-spacing: 0.1em;
          font-weight: 400;
          color: #808080; }
    body.top .sec--voice .lst_voice .slick-dots {
      bottom: -45px; }
      body.top .sec--voice .lst_voice .slick-dots li {
        width: 16px;
        height: 16px;
        padding: 3px;
        border-radius: 50%;
        margin: 0 6px; }
        body.top .sec--voice .lst_voice .slick-dots li button {
          background: #fff;
          width: 8px;
          height: 8px;
          text-indent: -9999px;
          border-radius: 50%;
          padding: 0; }
          body.top .sec--voice .lst_voice .slick-dots li button:before {
            display: none; }
        body.top .sec--voice .lst_voice .slick-dots li.slick-active {
          border: 1px solid #F4B73B; }
          body.top .sec--voice .lst_voice .slick-dots li.slick-active button {
            background: #F4B73B; }
  body.top .sec--voice .c-btn {
    position: relative;
    margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    body.top .sec--voice {
      padding: 80px 0 79px;
      background-image: url(../images/top/bg_voice_sp.jpg); }
      body.top .sec--voice .sec_ttl {
        margin-bottom: 55px; }
      body.top .sec--voice .lst_voice {
        margin-bottom: 110px; }
        body.top .sec--voice .lst_voice li {
          padding: 0 7.5px; }
        body.top .sec--voice .lst_voice__inner {
          flex-flow: row wrap;
          min-width: auto;
          height: 100%;
          align-items: flex-start; }
          body.top .sec--voice .lst_voice__inner .image {
            width: 100%; }
            body.top .sec--voice .lst_voice__inner .image .img_thumb {
              position: relative; }
              body.top .sec--voice .lst_voice__inner .image .img_thumb:before {
                display: block;
                content: " ";
                width: 100%;
                padding-top: 73.89831%; }
              body.top .sec--voice .lst_voice__inner .image .img_thumb > .content {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0; }
          body.top .sec--voice .lst_voice__inner .text {
            width: 100%;
            height: 100%;
            padding: 25px 30px 40px; }
            body.top .sec--voice .lst_voice__inner .text .ttl {
              margin-bottom: 13px; }
        body.top .sec--voice .lst_voice .slick-dots {
          bottom: -61px; }
          body.top .sec--voice .lst_voice .slick-dots li {
            width: 20px;
            height: 20px; }
            body.top .sec--voice .lst_voice .slick-dots li button {
              width: 12px;
              height: 12px; }
        body.top .sec--voice .lst_voice .slick-track {
          display: flex;
          height: 100%; }
          body.top .sec--voice .lst_voice .slick-track .slick-slide > div, body.top .sec--voice .lst_voice .slick-track .slick-slide > div > li {
            height: 100%; }
          body.top .sec--voice .lst_voice .slick-track .slick-slide {
            height: auto !important; } }

body.top .sec--faq_news {
  display: flex;
  flex-flow: row wrap; }
  body.top .sec--faq_news .block {
    width: 50%;
    padding: 48px 20px;
    background: #fff; }
    body.top .sec--faq_news .block:nth-child(2) {
      background: #F2F2F2; }
    body.top .sec--faq_news .block__inner {
      max-width: 484px;
      margin: 0 auto;
      position: relative; }
    body.top .sec--faq_news .block .sec_ttl {
      display: flex;
      align-items: center;
      margin-bottom: 33px; }
      body.top .sec--faq_news .block .sec_ttl:before {
        display: none; }
      body.top .sec--faq_news .block .sec_ttl__en, body.top .sec--faq_news .block .sec_ttl__jp {
        display: inline-block; }
      body.top .sec--faq_news .block .sec_ttl__en {
        font-size: 62px;
        font-size: 6.2rem;
        line-height: 1.32258;
        letter-spacing: 0.07em;
        font-weight: 300;
        margin-bottom: 0; }
        body.top .sec--faq_news .block .sec_ttl__en em {
          color: #F4B73B;
          font-style: normal; }
      body.top .sec--faq_news .block .sec_ttl__jp {
        font-size: 20px;
        font-size: 2rem;
        line-height: 4.1;
        letter-spacing: 0.1em;
        font-weight: 400;
        margin-left: 15px; }
    body.top .sec--faq_news .block .lst_faq li {
      margin-bottom: 22px; }
    body.top .sec--faq_news .block .lst_faq__inner {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 107px;
      padding: 10px 0 12px 30px;
      border: 1px solid #002d5f;
      position: relative; }
      body.top .sec--faq_news .block .lst_faq__inner .dot:before, body.top .sec--faq_news .block .lst_faq__inner .dot:after {
        content: '';
        width: 5px;
        height: 5px;
        background-color: #002d5f;
        position: absolute;
        top: -3px;
        left: -3px;
        border-radius: 50%; }
      body.top .sec--faq_news .block .lst_faq__inner .dot:after {
        left: auto;
        right: -3px; }
      body.top .sec--faq_news .block .lst_faq__inner .dot:nth-child(2):before, body.top .sec--faq_news .block .lst_faq__inner .dot:nth-child(2):after {
        top: auto;
        bottom: -3px; }
      body.top .sec--faq_news .block .lst_faq__inner .question {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        letter-spacing: 0.06em;
        font-weight: 400;
        padding: 0 60px 0 46px;
        position: relative; }
        body.top .sec--faq_news .block .lst_faq__inner .question:before {
          content: '';
          width: 24px;
          height: 39px;
          background: url(../images/top/ico_Q.svg) 0 0/24px 39px no-repeat;
          position: absolute;
          left: 0;
          top: calc(50% - 19px);
          -webkit-transition: all 0.5s;
          -moz-transition: all 0.5s;
          -ms-transition: all 0.5s;
          -o-transition: all 0.5s;
          transition: all 0.5s; }
        body.top .sec--faq_news .block .lst_faq__inner .question:after {
          content: '';
          width: 17px;
          height: 17px;
          background: url(../images/common/ico_arr.svg) 0 0/17px 17px no-repeat;
          position: absolute;
          right: 30px;
          top: calc(50% - 9px);
          -webkit-transition: all 0.5s;
          -moz-transition: all 0.5s;
          -ms-transition: all 0.5s;
          -o-transition: all 0.5s;
          transition: all 0.5s; }
      @media only screen and (min-width: 768px) {
        body.top .sec--faq_news .block .lst_faq__inner:hover {
          opacity: 1; }
          body.top .sec--faq_news .block .lst_faq__inner:hover .question:before {
            background-image: url(../images/top/ico_Q2.svg); }
          body.top .sec--faq_news .block .lst_faq__inner:hover .question:after {
            right: 20px; } }
    body.top .sec--faq_news .block .lst_news li {
      margin-bottom: 22px; }
    body.top .sec--faq_news .block .lst_news__inner {
      display: block;
      height: 107px;
      padding: 25px 35px 25px 30px;
      background: #fff;
      position: relative;
      -webkit-transition: all 0.5s;
      -moz-transition: all 0.5s;
      -ms-transition: all 0.5s;
      -o-transition: all 0.5s;
      transition: all 0.5s; }
      body.top .sec--faq_news .block .lst_news__inner:after {
        content: '';
        width: 17px;
        height: 17px;
        background: url(../images/common/ico_arr.svg) 0 0/17px 17px no-repeat;
        position: absolute;
        right: 25px;
        top: calc(50% - 9px);
        -webkit-transition: all 0.5s;
        -moz-transition: all 0.5s;
        -ms-transition: all 0.5s;
        -o-transition: all 0.5s;
        transition: all 0.5s; }
      body.top .sec--faq_news .block .lst_news__inner .meta {
        display: flex;
        align-items: center;
        margin-bottom: 9px; }
        body.top .sec--faq_news .block .lst_news__inner .meta .date {
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.11111;
          letter-spacing: 0.06em;
          font-weight: 300;
          font-family: din-2014-narrow, sans-serif;
          margin-right: 15px;
          color: #002d5f; }
        body.top .sec--faq_news .block .lst_news__inner .meta .cate {
          display: flex;
          align-items: center;
          justify-content: center;
          min-width: 60px;
          padding: 0 7px;
          font-size: 10px;
          font-size: 1rem;
          line-height: 2;
          letter-spacing: 0.08em;
          font-weight: 400;
          text-align: center;
          border: 1px solid #002d5f;
          color: #002d5f; }
      body.top .sec--faq_news .block .lst_news__inner .ttl {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.86667;
        letter-spacing: 0.06em;
        font-weight: 400; }
      @media only screen and (min-width: 768px) {
        body.top .sec--faq_news .block .lst_news__inner:hover {
          opacity: 1;
          background: #CCE4FF; }
          body.top .sec--faq_news .block .lst_news__inner:hover:after {
            right: 15px; } }
    body.top .sec--faq_news .block .c-btn {
      position: absolute;
      top: 22px;
      right: 0;
      width: 120px; }
  @media only screen and (max-width: 767px) {
    body.top .sec--faq_news .block {
      width: 100%;
      padding: 57px 27px 81px; }
      body.top .sec--faq_news .block .sec_ttl {
        justify-content: center; }
        body.top .sec--faq_news .block .sec_ttl__en {
          letter-spacing: .02em; }
      body.top .sec--faq_news .block .lst_faq li {
        margin-bottom: 14px; }
      body.top .sec--faq_news .block .lst_faq__inner {
        height: auto;
        min-height: 146px;
        padding: 10px 22px; }
        body.top .sec--faq_news .block .lst_faq__inner .question {
          padding-right: 30px; }
          body.top .sec--faq_news .block .lst_faq__inner .question:after {
            right: 0; }
      body.top .sec--faq_news .block .lst_news li {
        margin-bottom: 14px; }
      body.top .sec--faq_news .block .lst_news__inner {
        height: auto;
        min-height: 138px;
        padding: 28px 56px 23px 30px; }
      body.top .sec--faq_news .block .c-btn {
        position: relative;
        top: auto;
        right: auto;
        width: 209px;
        margin: 50px auto 0; } }

@media only screen and (min-width: 768px) {
  .voice #mv .mv-catch h2 .ja {
    padding-bottom: 13px; } }

@media only screen and (max-width: 767px) {
  .voice #mv .mv-catch h2 .ja {
    padding-bottom: 24px; } }

@media only screen and (min-width: 768px) {
  .voice #breadcrumbs {
    padding-top: 20px; } }

.voice .list-cat {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .voice .list-cat li {
    width: 20%; }
    @media only screen and (max-width: 767px) {
      .voice .list-cat li {
        width: 50%; } }
    .voice .list-cat li a {
      display: block;
      background: #002D5F;
      color: #fff;
      text-align: center;
      padding: 18px 5px; }
      .voice .list-cat li a.all {
        color: #002D5F;
        background: #E5E9EF; }
    @media only screen and (max-width: 767px) {
      .voice .list-cat li:first-child {
        width: 100%; } }

.voice .arc {
  width: 100%;
  margin: 120px auto 90px; }
  @media only screen and (max-width: 767px) {
    .voice .arc {
      margin: 60px auto 130px; } }
  .voice .arc .list-post {
    padding: 96px 0 0px;
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 50px);
    margin-left: -25px; }
    @media only screen and (max-width: 767px) {
      .voice .arc .list-post {
        padding: 60px 0 22px; } }
    .voice .arc .list-post__item {
      display: block;
      width: 33.3333%;
      margin-bottom: 78px;
      position: relative;
      padding: 0 25px; }
      @media only screen and (max-width: 767px) {
        .voice .arc .list-post__item {
          margin-bottom: 30px;
          width: 100%;
          padding: 0 10px; } }
      .voice .arc .list-post__item .ins {
        position: relative; }
        @media only screen and (max-width: 767px) {
          .voice .arc .list-post__item .ins {
            padding: 0 0 0px 0;
            display: flex;
            flex-wrap: wrap;
            align-items: center; } }
      .voice .arc .list-post__item .avt {
        position: relative;
        margin-bottom: 32px; }
        .voice .arc .list-post__item .avt:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 66.66667%; }
        .voice .arc .list-post__item .avt > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
        @media only screen and (max-width: 767px) {
          .voice .arc .list-post__item .avt {
            position: relative;
            width: 120px;
            margin-bottom: 0; }
            .voice .arc .list-post__item .avt:before {
              display: block;
              content: " ";
              width: 100%;
              padding-top: 123.33333%; }
            .voice .arc .list-post__item .avt > .content {
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0; } }
        @media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (device-aspect-ratio: 40 / 71) and (-webkit-device-pixel-ratio: 2) {
          .voice .arc .list-post__item .avt {
            width: 100px; } }
        .voice .arc .list-post__item .avt span {
          content: '';
          position: absolute;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          background-size: cover;
          background-position: center center;
          background-repeat: no-repeat; }
      @media only screen and (max-width: 767px) {
        .voice .arc .list-post__item .bx {
          width: calc(100% - 120px);
          padding-left: 20px; } }
      @media only screen and (min-device-width: 320px) and (max-device-width: 568px) and (device-aspect-ratio: 40 / 71) and (-webkit-device-pixel-ratio: 2) {
        .voice .arc .list-post__item .bx {
          width: calc(100% - 100px); } }
      .voice .arc .list-post__item .gr-info {
        display: inline-block;
        width: 100%;
        margin-bottom: 15px; }
        @media only screen and (max-width: 767px) {
          .voice .arc .list-post__item .gr-info {
            max-width: 100%;
            margin-bottom: 8px;
            padding-top: 10px; } }
        .voice .arc .list-post__item .gr-info .date {
          font-family: din-2014-narrow, sans-serif;
          color: #002D5F;
          font-size: 18px;
          font-size: 1.8rem;
          letter-spacing: 0.08em;
          display: inline-block;
          margin-right: 13px;
          font-weight: 100; }
          @media only screen and (max-width: 767px) {
            .voice .arc .list-post__item .gr-info .date {
              margin-right: 3px; } }
        .voice .arc .list-post__item .gr-info .cat {
          position: relative;
          top: -3px; }
          .voice .arc .list-post__item .gr-info .cat em {
            color: #002D5F;
            font-size: 10px;
            font-size: 1rem;
            letter-spacing: 0.08em;
            display: inline-block;
            border: 1px solid #002D5F;
            padding: 5px 8px;
            min-width: 105px;
            text-align: center; }
            @media only screen and (max-width: 767px) {
              .voice .arc .list-post__item .gr-info .cat em {
                padding: 3px 5px;
                min-width: 99px; } }
      .voice .arc .list-post__item .tit {
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.1em;
        line-height: 32px;
        margin-bottom: 15px;
        color: #002D5F; }
        @media only screen and (max-width: 767px) {
          .voice .arc .list-post__item .tit {
            font-size: 15px;
            font-size: 1.5rem;
            letter-spacing: 0.06em;
            line-height: 28px;
            color: #333;
            margin-bottom: 2px; } }
      .voice .arc .list-post__item .compa {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        line-height: 28px;
        color: #808080; }
        @media only screen and (max-width: 767px) {
          .voice .arc .list-post__item .compa {
            font-size: 13px;
            font-size: 1.3rem;
            line-height: 24px; } }
      .voice .arc .list-post__item .posi {
        font-size: 15px;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
        line-height: 28px;
        color: #808080; }
        @media only screen and (max-width: 767px) {
          .voice .arc .list-post__item .posi {
            font-size: 13px;
            font-size: 1.3rem;
            line-height: 24px; } }

.voice .arc-side {
  text-align: center;
  max-width: 900px;
  margin: 0 auto 180px;
  display: inherit;
  position: relative;
  padding: 36px 0 30px; }
  @media only screen and (max-width: 767px) {
    .voice .arc-side {
      width: calc(100% + 30px);
      margin-left: -15px;
      padding: 36px 0 36px; } }
  .voice .arc-side .tit {
    text-align: center;
    color: #707070;
    font-size: 15px;
    font-size: 1.5rem;
    margin-bottom: 25px;
    letter-spacing: 0.08em; }
    .voice .arc-side .tit span {
      font-family: din-2014-narrow, sans-serif;
      color: #002D5F;
      font-size: 32px;
      font-size: 3.2rem;
      font-weight: 100;
      margin-right: 10px;
      letter-spacing: 0.08em; }
      @media only screen and (max-width: 767px) {
        .voice .arc-side .tit span {
          display: block;
          padding-bottom: 18px; } }
  .voice .arc-side ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 700px;
    margin: 0 auto; }
    @media only screen and (max-width: 767px) {
      .voice .arc-side ul {
        padding: 0 33px 0; } }
    .voice .arc-side ul li {
      width: calc(100%/6);
      text-align: center;
      padding: 5px 5px;
      margin: 0 0 10px; }
      @media only screen and (max-width: 767px) {
        .voice .arc-side ul li {
          width: 33.333%;
          margin: 0 0 5px; } }
      .voice .arc-side ul li a {
        color: #002D5F;
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.08em;
        font-family: din-2014-narrow, sans-serif;
        font-weight: 100; }
  .voice .arc-side .icon-line {
    position: absolute;
    width: 100%;
    height: 1px;
    display: block;
    content: ""; }
    .voice .arc-side .icon-line:before, .voice .arc-side .icon-line:after {
      position: absolute;
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #002D5F;
      top: -2px; }
    .voice .arc-side .icon-line.i1 {
      top: 0px;
      border-bottom: 1px solid #002D5F; }
      .voice .arc-side .icon-line.i1:before {
        left: 0;
        top: -2px; }
      .voice .arc-side .icon-line.i1:after {
        right: 0;
        top: -2px; }
    .voice .arc-side .icon-line.i2 {
      bottom: 0px;
      border-top: 1px solid #002D5F; }
      .voice .arc-side .icon-line.i2:before {
        left: 0;
        top: -3px; }
      .voice .arc-side .icon-line.i2:after {
        right: 0;
        top: -3px; }

.voice--detail .single-top {
  padding-top: 7px;
  background: #E5E9EF; }
  @media only screen and (max-width: 767px) {
    .voice--detail .single-top {
      padding-top: 0; } }
  .voice--detail .single-top #breadcrumbs {
    padding-right: 20px; }
    .voice--detail .single-top #breadcrumbs ul li {
      line-height: 27px; }
  .voice--detail .single-top .tit-page {
    padding: 90px 40px 56px;
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    line-height: 52px;
    text-align: center;
    color: #002D5F;
    font-weight: 500;
    max-width: 880px;
    margin: auto;
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .voice--detail .single-top .tit-page {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 42px;
        font-weight: 500;
        padding: 47px 40px 50px; } }
  .voice--detail .single-top .img-main {
    position: relative;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    .voice--detail .single-top .img-main:before {
      display: block;
      content: " ";
      width: 100%;
      padding-top: 66.625%; }
    .voice--detail .single-top .img-main > .content {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    @media only screen and (min-width: 768px) {
      .voice--detail .single-top .img-main {
        bottom: -263px;
        margin-top: -269px; } }
    .voice--detail .single-top .img-main span {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      content: "";
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
    @media only screen and (max-width: 767px) {
      .voice--detail .single-top .img-main {
        width: calc(100% - 80px);
        margin-left: 40px;
        position: relative;
        bottom: -100px;
        margin-top: -100px; } }

.voice--detail .single-post .gr-post {
  max-width: 800px;
  margin: 330px auto 64px; }
  .voice--detail .single-post .gr-post.has {
    margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .voice--detail .single-post .gr-post {
      margin: 150px auto 64px; } }

.voice--detail .single-post .gr-info {
  display: inline-block;
  margin-bottom: 42px; }
  @media only screen and (max-width: 767px) {
    .voice--detail .single-post .gr-info {
      max-width: 100%;
      margin-bottom: 35px; } }
  .voice--detail .single-post .gr-info .more {
    display: inline-block; }
    @media only screen and (max-width: 767px) {
      .voice--detail .single-post .gr-info .more {
        display: block;
        padding-top: 5px; } }
    .voice--detail .single-post .gr-info .more .compa {
      font-size: 13px;
      font-size: 1.3rem;
      letter-spacing: 0.06em;
      line-height: 28px;
      color: #808080;
      display: inline-block;
      margin-right: 10px; }
      @media only screen and (max-width: 767px) {
        .voice--detail .single-post .gr-info .more .compa {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 24px; } }
    .voice--detail .single-post .gr-info .more .posi {
      font-size: 13px;
      font-size: 1.3rem;
      letter-spacing: 0.06em;
      line-height: 28px;
      color: #808080;
      display: inline-block; }
      @media only screen and (max-width: 767px) {
        .voice--detail .single-post .gr-info .more .posi {
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 24px; } }
  .voice--detail .single-post .gr-info .date {
    font-family: din-2014-narrow, sans-serif;
    color: #002D5F;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: 0.08em;
    display: inline-block;
    margin-right: 13px;
    font-weight: 100; }
  .voice--detail .single-post .gr-info .cat {
    position: relative;
    top: -3px;
    margin-right: 13px; }
    .voice--detail .single-post .gr-info .cat em {
      color: #002D5F;
      font-size: 10px;
      font-size: 1rem;
      letter-spacing: 0.08em;
      display: inline-block;
      border: 1px solid #002D5F;
      padding: 5px 5px;
      min-width: 102px;
      text-align: center; }
      @media only screen and (max-width: 767px) {
        .voice--detail .single-post .gr-info .cat em {
          padding: 3px 5px; } }

.voice--detail .single-post .gr-rel {
  padding: 58px 0 93px; }
  .voice--detail .single-post .gr-rel ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .voice--detail .single-post .gr-rel ul li a {
      color: #fff;
      font-size: 12px;
      font-size: 1.2rem;
      letter-spacing: 0.15em;
      line-height: 38px;
      width: 152px;
      background: #002D5F;
      display: inline-block;
      text-align: center; }
    .voice--detail .single-post .gr-rel ul li.mid {
      margin: 0 60px; }
      @media only screen and (max-width: 767px) {
        .voice--detail .single-post .gr-rel ul li.mid {
          margin: 0 20px; } }
    .voice--detail .single-post .gr-rel ul li.prev, .voice--detail .single-post .gr-rel ul li.next {
      width: 51px;
      position: relative;
      top: -6px; }
      .voice--detail .single-post .gr-rel ul li.prev a, .voice--detail .single-post .gr-rel ul li.next a {
        width: 51px;
        height: 50px;
        content: ""; }
    .voice--detail .single-post .gr-rel ul li.prev a {
      background: url(../images/news/btn_prev.svg) no-repeat center center/100% 100%; }
    .voice--detail .single-post .gr-rel ul li.next a {
      background: url(../images/news/btn_next.svg) no-repeat center center/100% 100%; }
