@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, optgroup, select, textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"], [type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  font-size: 62.5%;
}

body {
  word-break: break-all;
  word-wrap: break-word;
  text-size-adjust: none;
  line-height: 1.6;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #000;
}

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

a {
  color: #158b91;
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}

.bold {
  font-weight: bold;
}

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

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #b5b5b6;
}

input::placeholder, textarea::placeholder {
  color: #b5b5b6;
}

input:-ms-input-placeholder, textarea:-ms-textarea-placeholder {
  color: #b5b5b6;
}

input::-ms-input-placeholder, textarea::-ms-textarea-placeholder {
  color: #b5b5b6;
}

@media print, screen and (min-width: 48em) {
  body {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .small {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .xsmall {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .large {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .xlarge {
    font-size: 20px;
    font-size: 2rem;
  }
  .pc-hide {
    display: none !important;
  }
  .sp-only {
    display: none !important;
  }
  .largeLines {
    line-height: 2.14286;
  }
  .xlargeLines {
    line-height: 2.5;
  }
}

@media screen and (max-width: 47.9375em) {
  body {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .sp-wide {
    margin-right: -15px;
    margin-left: -15px;
  }
  .sp-text-center {
    text-align: center;
  }
  .sp-large {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .sp-xlarge {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .sp-hide {
    display: none !important;
  }
  .pc-only {
    display: none !important;
  }
  .sp-bold {
    font-weight: bold;
  }
  .sp-largeLines {
    line-height: 1.66667;
  }
  .xlargeLines {
    line-height: 2.08333;
  }
}

.wrapper {
  overflow: hidden;
}

@media print, screen and (min-width: 48em) {
  .wrapper {
    min-width: 1180px;
  }
  .content._form {
    padding-top: 1px;
    min-height: calc(100vh - 100px - 95px);
    margin-top: 100px;
    transition: margin .2s;
  }
  body.is-header-fixed .content._form {
    margin-top: 60px;
  }
  .content-block {
    width: 1160px;
    margin-right: auto;
    margin-left: auto;
  }
  .content-block._medium {
    width: 860px;
  }
  .content-block._narrow {
    width: 780px;
  }
  .content-block._min {
    width: 550px;
  }
  .section-type01 {
    margin: 50px 0 150px;
  }
  .section-type02 {
    margin: 40px 0 60px;
  }
  .section-type03 {
    margin: 30px 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .content {
    margin-right: 15px;
    margin-left: 15px;
  }
  .content._form {
    padding-top: 1px;
    margin-top: 50px;
  }
  .section-type01 {
    margin: 40px 0 70px;
  }
  .section-type02 {
    margin: 30px 0 30px;
  }
  .section-type03 {
    margin: 20px 0;
  }
}

@media print, screen and (min-width: 48em) {
  body.is-local-nav-fixed .content {
    overflow: hidden;
  }
}

@media screen and (max-width: 47.9375em) {
  .header, .header-main, .mainvisual, .breadcrumb, .content, .footer {
    transition: transform .2s;
  }
  body.is-open {
    overflow: hidden;
  }
  body.is-open .header, body.is-open .header-main, body.is-open .mainvisual, body.is-open .breadcrumb, body.is-open .content, body.is-open .footer {
    transform: translateX(calc(-100% + 70px));
  }
}

.header._form {
  border-bottom: 1px solid #f5f5f5;
}

.header__close a {
  display: block;
  background-image: url(/common/img/icon_close01.png);
  background-repeat: no-repeat;
  background-position: center;
}

@media print, screen and (min-width: 48em) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1180px;
    z-index: 30;
    background-color: #fff;
  }
  .header__inner {
    width: 1160px;
    height: 100px;
    margin: 0 auto;
    overflow: hidden;
  }
  .header__logo {
    float: left;
    margin: 30px 10px 0 0;
    font-size: 0;
    transition: margin .2s;
  }
  .header__logo img {
    width: 198px;
    transition: width .2s;
  }
  body.is-header-fixed .header__inner {
    height: 60px;
  }
  body.is-header-fixed .header__logo {
    margin-top: 15px;
  }
  body.is-header-fixed .header__logo img {
    width: 170px;
  }
  body.is-header-fixed .header__close {
    margin-top: 15px;
  }
  .header__close {
    float: right;
    margin: 32px 0 0;
    transition: margin .2s;
  }
  .header__close a {
    width: 30px;
    height: 30px;
    background-size: 30px;
  }
}

@media screen and (max-width: 47.9375em) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
    background-color: #fff;
  }
  .header__inner {
    height: 50px;
  }
  .header__inner:after {
    content: "";
    display: block;
    clear: both;
  }
  .header__logo {
    float: left;
    margin: 15px 0 0 15px;
    font-size: 0;
  }
  .header__logo img {
    width: 111px;
  }
  .header__close {
    float: right;
    margin: 11px 15px 0 0;
  }
  .header__close a {
    width: 25px;
    height: 25px;
    background-size: 25px;
  }
}

/*
header-main

The main header block.

Markup: <header class="header-main">
  <div class="header-main__inner">
    <h1 class="header-main__logo">
      <a href="{{ path }}/">
        <img src="{{ path }}/common/img/logo.svg" alt="トライテラス">
      </a>
    </h1>
    <div class="header-main__nav">
      <!-- global-nav -->
    </div>
    <div class="header-main__button">
      <!-- global-button -->
    </div>
    <!-- sp-menu -->
  </div>
</header>

Style guide: header-main
*/
.header-main {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  background-color: #fff;
}
.header-main::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #f5f5f5;
}
.header-main__inner {
  display: block;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .header-main__inner {
    width: 1160px;
    height: 101px;
  }
}
@media screen and (max-width: 47.9375em) {
  .header-main__inner {
    width: 100%;
    height: 50px;
  }
}
.header-main__logo {
  margin: 0;
  font-size: 0;
}
@media print, screen and (min-width: 48em) {
  .header-main__logo {
    width: 198px;
    height: 32px;
    padding: 15px 0 14px;
  }
}
@media screen and (max-width: 47.9375em) {
  .header-main__logo {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    width: 111px;
    margin: auto 0;
  }
}
.header-main__logo a {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
}
.header-main__logo img {
  width: 100%;
}
@media screen and (max-width: 47.9375em) {
  .header-main__nav {
    display: none;
  }
}
@media print, screen and (min-width: 48em) {
  .header-main__button {
    position: absolute;
    top: 10px;
    right: 0;
    width: 330px;
  }
}
@media screen and (max-width: 47.9375em) {
  .header-main__button {
    display: none;
  }
}
.header-main--sticky {
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
}

/*
global-nav

The global navigation block for the desktop.

Markup: <nav class="global-nav">
  <ul class="global-nav__list">
    <li class="global-nav__item"><a href="/01_top.html" class="_current">ホーム</a></li>
    <li class="global-nav__item"><a href="/A-01.html">トライテラスの強み</a></li>
    <li class="global-nav__item"><a href="/C-01.html">製品ラインアップ</a></li>
    <li class="global-nav__item"><a href="/B-01.html">照明受託開発</a></li>
    <li class="global-nav__item"><a href="/F-01.html">導入事例</a></li>
    <li class="global-nav__item"><a href="/G-01.html">お問い合わせ</a></li>
    <li class="global-nav__item"><a href="/H-01.html">企業情報</a></li>
  </ul>
</nav>

Style guide: global-nav
*/
.global-nav {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.global-nav__list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: center;
  justify-content: flex-start;
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.global-nav__item {
  display: block;
  box-sizing: border-box;
  flex-basis: auto;
  flex-grow: 1;
  flex-shrink: 1;
  width: auto;
  height: 40px;
  font-weight: bold;
  border-color: #f5f5f5;
  border-style: solid;
  border-width: 1px;
  border-right: none;
  border-left: none;
}
@media print, screen and (min-width: 48em) {
  .global-nav__item {
    font-size: 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .global-nav__item {
    font-size: 12px;
  }
}
.global-nav__item + .global-nav__item {
  border-left: 1px solid #f5f5f5;
}
.global-nav__item > a {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding: 0 5px;
  line-height: 38px;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.2s;
  transition-property: color, background-color;
  transition-timing-function: ease-in-out;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  /* autoprefixer: ignore next */
  -webkit-box-orient: vertical;
}
.global-nav__item > a:link, .global-nav__item > a:visited {
  color: #000;
  background-color: #fff;
}
.global-nav__item > a:hover, .global-nav__item > a:focus, .global-nav__item > a._current {
  color: #158b91;
  background-color: #e7f3f4;
}

@use "@hidoo/unit/src/settings";
/*
global-button

The global button navigation block for the desktop.

Markup: <div class="global-button">
  <ul class="global-button__list">
    <li class="global-button__item">
      <a href="{{ path }}/G-03.html">資料ダウンロード</a>
    </li>
    <li class="global-button__item">
      <a href="https://triterasu.theshop.jp/" target="_blank" rel="noopener">
        <svg xmlns="http://www.w3.org/2000/svg" width="19" height="15" viewBox="0 0 19 15">
          <rect width="19" height="15" fill-opacity="0" />
          <path d="M5,5.529a0.5,0.5,0,0,0,.5.5h0L8.221,6a0.459,0.459,0,0,1,.482.366l2.7,10.05a1.848,1.848,0,1,0,2.48,1.735,1.823,1.823,0,0,0-.217-0.85h5.437a1.814,1.814,0,0,0-.217.849A1.857,1.857,0,1,0,20.747,16.3H12.416L12.1,15.142h9.229a0.5,0.5,0,0,0,.485-0.371l2.168-8.095A0.5,0.5,0,0,0,23.9,6.242a0.5,0.5,0,0,0-.4-0.2H9.646A1.5,1.5,0,0,0,8.225,5H8.212L5.5,5.024A0.5,0.5,0,0,0,5,5.529ZM20.747,17.3a0.849,0.849,0,1,1-.853.849A0.852,0.852,0,0,1,20.747,17.3Zm-9.57.85a0.853,0.853,0,1,1,.853.85A0.852,0.852,0,0,1,11.177,18.15Z" transform="translate(-5 -5)"/>
        </svg>ONLINE SHOP
      </a>
    </li>
  </ul>
</div>

Style guide: global-button
*/
.global-button {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.global-button__list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: center;
  justify-content: flex-start;
  column-gap: 10px;
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
.global-button__item {
  display: block;
  box-sizing: border-box;
  flex-basis: 150px;
  flex-grow: 1;
  flex-shrink: 1;
  width: auto;
  height: 40px;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .global-button__item {
    font-size: 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .global-button__item {
    font-size: 12px;
  }
}
.global-button__item > a {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  height: 100%;
  padding: 0 5px;
  line-height: 38px;
  text-align: center;
  text-decoration: none;
  border-style: solid;
  border-width: 1px;
  transition-duration: 0.2s;
  transition-property: color, background-color, border-color;
  transition-timing-function: ease-in-out;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  /* autoprefixer: ignore next */
  -webkit-box-orient: vertical;
}
.global-button__item > a > svg {
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  fill: currentColor;
  transform: translate(0, -1px);
}
.global-button__item > a:link, .global-button__item > a:visited {
  color: #000;
  background-color: #fff;
  border-color: #000;
}
.global-button__item > a:hover, .global-button__item > a:focus, .global-button__item > a._current {
  color: #158b91;
  background-color: #e7f3f4;
  border-color: #e7f3f4;
}

@media print, screen and (min-width: 48em) {
  .sp-nav {
    display: none;
  }
}

@media screen and (max-width: 47.9375em) {
  .sp-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 70px;
    z-index: 40;
    background-color: #fff;
    overflow: auto;
    transform: translateX(100%) translateX(70px);
    transition: transform .2s;
  }
  body.is-open .sp-nav {
    transform: translateX(0%);
  }
  .sp-nav__inner {
    position: relative;
    padding: 15px 0 0;
  }
  .sp-nav__logo {
    margin: 0 0 15px 15px;
    font-size: 0;
  }
  .sp-nav__logo img {
    width: 111px;
  }
  .sp-nav__close {
    position: absolute;
    top: 10px;
    right: 12px;
  }
  .sp-nav__close a {
    display: block;
    width: 26px;
    height: 26px;
    text-decoration: none;
    border-radius: 50%;
    text-align: center;
    position: relative;
  }
  .sp-nav__close a:before, .sp-nav__close a:after {
    content: "";
    width: 2px;
    height: 20px;
    position: absolute;
    top: 13px;
    left: 50%;
    background-color: #000;
  }
  .sp-nav__close a:before {
    transform: translateY(-50%) rotate(45deg);
  }
  .sp-nav__close a:after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .sp-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #f5f5f5;
  }
  .sp-nav__item {
    font-size: 12px;
    font-size: 1.2rem;
    border-top: 1px solid #f5f5f5;
  }
  .sp-nav__item a {
    display: block;
    text-decoration: none;
    color: #000;
    line-height: 40px;
    position: relative;
    padding: 0 30px 0 17px;
  }
  .sp-nav__item a:after {
    content: "";
    width: 6px;
    height: 6px;
    border: 2px solid #000;
    border-left: 0;
    border-top: 0;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(-45deg);
  }
  .sp-nav__item._current a, .sp-nav__item a._current {
    background-color: #e7f3f4;
    color: #158b91;
  }
  .sp-nav__item._current a:after, .sp-nav__item a._current:after {
    border-color: #158b91;
  }
  .sp-nav__button {
    margin: 30px;
  }
  .sp-nav__button a {
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 40px;
    height: 40px;
    border: 1px solid #000;
    color: #000;
    text-decoration: none;
    text-align: center;
  }
  .sp-nav__button i {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 15px;
    height: 40px;
    position: relative;
  }
  .sp-nav__button i:before, .sp-nav__button i:after {
    content: "";
    width: 2px;
    height: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
    background-color: #000;
  }
  .sp-nav__button i:before {
    transform: translateY(-50%) rotate(45deg);
  }
  .sp-nav__button i:after {
    transform: translateY(-50%) rotate(-45deg);
  }
  .sp-nav-bg {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 30;
    visibility: hidden;
    opacity: 0;
    transition: visibility .2s, opacity .2s;
  }
  body.is-open .sp-nav-bg {
    visibility: visible;
    opacity: 1;
  }
}

@media print, screen and (min-width: 48em) {
  .sp-menu {
    display: none;
  }
}

@media screen and (max-width: 47.9375em) {
  .sp-menu {
    margin: 0;
    position: relative;
    z-index: 110;
    position: absolute;
    right: 15px;
    top: 15px;
  }
  .sp-menu__link {
    display: block;
    text-decoration: none;
    width: 20px;
    height: 20px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .sp-menu__button {
    display: block;
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0;
  }
  .sp-menu__icon {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 2px;
    margin: -1px 0 0 -10px;
    background: #000;
  }
  .sp-menu__icon:before, .sp-menu__icon:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    width: 20px;
    height: 2px;
    transition: transform .2s;
    background: #000;
  }
  .sp-menu__icon:before {
    top: 50%;
    margin-top: -8px;
  }
  .sp-menu__icon:after {
    bottom: 50%;
    margin-bottom: -8px;
  }
}

.footer {
  background-color: #f5f5f5;
}
.footer._form {
  background-color: #fff;
  border-top: 1px solid #f5f5f5;
  box-sizing: border-box;
}

.footer__inner {
  overflow: hidden;
}

.footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__list li {
  padding-left: 1em;
  position: relative;
}
.footer__list li:before {
  content: "";
  width: 3px;
  height: 3px;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
}

@media print, screen and (min-width: 48em) {
  .footer {
    margin-top: 60px;
  }
  .footer._form {
    height: 95px;
  }
  .footer._form .footer__copyright {
    text-align: center;
  }
  .footer__inner {
    width: 1160px;
    margin: 0 auto;
    padding: 50px 10px;
  }
  .footer__list li {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
  }
  .footer__list li:before {
    top: 8px;
  }
  .footer__copyright {
    margin: 40px 0 0;
  }
  .footer__copyright small {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .footer {
    margin-top: 80px;
  }
  .footer._form {
    height: 70px;
  }
  .footer__inner {
    padding: 15px 20px;
  }
  .footer__list li {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 5px;
  }
  .footer__list li:before {
    top: 6px;
  }
  .footer__copyright {
    margin: 20px 0 0;
    text-align: center;
  }
}

.footer-nav {
  background-color: #fff;
}

.footer-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav__item a {
  display: block;
  color: #000;
  text-decoration: none;
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .footer-nav {
    border-top: 1px solid #d8d8d8;
    padding: 28px 0;
  }
  .footer-nav__list {
    display: flex;
    justify-content: center;
  }
  .footer-nav__item {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
    margin: 0 30px;
  }
  .footer-nav__item a {
    padding: 10px;
  }
  .footer-nav__item a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 47.9375em) {
  .footer-nav__list {
    padding: 0 15px;
  }
  .footer-nav__item {
    font-size: 12px;
    font-size: 1.2rem;
    border-bottom: 1px solid #d8d8d8;
  }
  .footer-nav__item:last-child {
    border-bottom: 0;
  }
  .footer-nav__item a {
    line-height: 30px;
  }
}

.pagetop {
  font-size: 1px;
  text-indent: -9999px;
}

@media print, screen and (min-width: 48em) {
  .pagetop {
    position: fixed;
    bottom: 10px;
    right: 20px;
    z-index: 10;
  }
  .pagetop a {
    display: block;
    background-color: #f5f5f5;
    width: 50px;
    height: 50px;
    position: relative;
  }
  .pagetop a:after {
    content: "";
    width: 20px;
    height: 20px;
    border-width: 1px;
    border-style: solid;
    border-color: #000;
    border-left: 0;
    border-top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-135deg);
    margin-top: 8px;
  }
}

@media screen and (max-width: 47.9375em) {
  .pagetop a {
    display: block;
    background-color: #f5f5f5;
    height: 30px;
    position: relative;
  }
  .pagetop a:after {
    content: "";
    width: 10px;
    height: 10px;
    border-width: 2px;
    border-style: solid;
    border-color: #000;
    border-left: 0;
    border-top: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-135deg);
    margin-top: 3px;
  }
}

.mainvisual__slider.owl-carousel {
  display: block;
  overflow: hidden;
}

.mainvisual__item {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.mainvisual__item._type01 {
  color: #fff;
  background-color: #04091c;
}

.mainvisual__inner {
  overflow: hidden;
}

.mainvisual__text {
  margin: 0;
}

@media print, screen and (min-width: 48em) {
  .mainvisual {
    margin-top: 100px;
    transition: all .2s;
  }
  body.is-header-fixed .mainvisual {
    margin-top: 60px;
  }
  .mainvisual__slider.owl-carousel {
    height: 540px;
  }
  .mainvisual__item {
    transition: all .2s;
  }
  .mainvisual__item:hover {
    opacity: 0.9;
  }
  .mainvisual__item._type01 .mainvisual__inner {
    max-width: 1030px;
  }
  .mainvisual__item._type01 .mainvisual__img img {
    width: 481px;
  }
  .mainvisual__item._type01 .mainvisual__text {
    width: 480px;
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.53846;
    letter-spacing: .05em;
    text-align: center;
    margin: 50px 0 30px;
  }
  .mainvisual__inner {
    height: 540px;
    padding: 0 10px;
    margin: 0 auto;
    overflow: hidden;
  }
}

@media screen and (max-width: 47.9375em) {
  .mainvisual {
    margin-top: 50px;
  }
  .mainvisual__slider.owl-carousel {
    height: 170px;
  }
  .mainvisual__item._type01 {
    background-position: center;
  }
  .mainvisual__item._type01 .mainvisual__img {
    text-align: center;
    margin-right: 130px;
  }
  .mainvisual__item._type01 .mainvisual__img img {
    width: 142px;
  }
  .mainvisual__item._type01 .mainvisual__text {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: center;
    margin: 20px 0 15px;
  }
  .mainvisual__inner {
    height: 170px;
    margin: 0 auto;
    overflow: hidden;
  }
}

.breadcrumb {
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
}

.breadcrumb__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}

.breadcrumb__item {
  display: inline-block;
  vertical-align: top;
  line-height: 1.4;
}
.breadcrumb__item:after {
  content: "＞";
  margin: 0 8px;
}
.breadcrumb__item:last-child:after {
  display: none;
}
.breadcrumb__item a {
  color: #000;
  text-decoration: none;
}
.breadcrumb__item span {
  color: #158b91;
}

@media print, screen and (min-width: 48em) {
  .breadcrumb {
    padding: 11px 10px;
    margin-top: 100px;
    transition: margin .2s;
  }
  body.is-header-fixed .breadcrumb {
    margin-top: 60px;
  }
  .breadcrumb__list {
    width: 1160px;
    margin: 0 auto;
  }
  .breadcrumb__item {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .breadcrumb {
    padding: 7px 15px;
    margin-top: 50px;
  }
  .breadcrumb__item {
    font-size: 10px;
    font-size: 1rem;
  }
}

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

.page-title__title {
  font-weight: bold;
  margin: 0;
  line-height: 1.4;
  color: #158b91;
}

.page-title__subtitle {
  font-weight: bold;
  margin: 0;
  line-height: 1.4;
  letter-spacing: .06em;
  color: #000;
}

.page-title__lead {
  margin: 0;
  letter-spacing: .06em;
}

.page-title__icon svg {
  fill: #158b91;
}

@media print, screen and (min-width: 48em) {
  .page-title {
    margin: 70px 0 130px;
  }
  .page-title._no-margin {
    margin-bottom: 0;
  }
  .page-title__title {
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: .06em;
    margin: 70px 0;
  }
  .page-title__icon + .page-title__title {
    margin-top: 0;
  }
  .page-title__subtitle {
    font-size: 20px;
    font-size: 2rem;
    margin-top: -50px;
  }
  .page-title__lead {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 40px;
    line-height: 2.22222;
  }
  .page-title__visual {
    margin-bottom: 80px;
  }
  .page-title__icon .icon_contact01 {
    width: 101px;
    height: 101px;
    margin-left: 30px;
  }
  .page-title__icon .icon_download02 {
    width: 90px;
    height: 120px;
  }
  .page-title__icon .icon_showroom01 {
    width: 109px;
    height: 109px;
  }
  .page-title__icon .icon_faq01 {
    width: 72px;
    height: 72px;
    margin-bottom: 15px;
  }
  .page-title__icon .icon_company01 {
    width: 82px;
    height: 82px;
    margin-bottom: 10px;
  }
  .page-title__icon .icon_product01 {
    width: 77px;
    height: 77px;
    margin-bottom: 20px;
  }
  .page-title__icon .icon_greeting01 {
    width: 70px;
    height: 70px;
    margin-bottom: 10px;
  }
  .page-title__icon .icon_shop01 {
    width: 109px;
    height: 109px;
  }
}

@media screen and (max-width: 47.9375em) {
  .page-title {
    margin: 50px 0 60px;
  }
  .page-title._no-margin {
    margin-bottom: 0;
  }
  .page-title__subtitle {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: -15px;
  }
  .page-title__title {
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .06em;
    margin: 50px 0 25px;
  }
  .page-title__icon + .page-title__title {
    margin-top: 0;
  }
  .page-title__lead {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
    margin: 0 0 25px;
  }
  .page-title__visual {
    margin: 0 -15px 20px;
  }
  .page-title__icon .icon_contact01 {
    width: 76px;
    height: 76px;
    margin-left: 20px;
  }
  .page-title__icon .icon_download02 {
    width: 68px;
    height: 68px;
    margin-bottom: 5px;
  }
  .page-title__icon .icon_showroom01 {
    width: 82px;
    height: 82px;
  }
  .page-title__icon .icon_faq01 {
    width: 54px;
    height: 54px;
    margin-bottom: 10px;
  }
  .page-title__icon .icon_company01 {
    width: 62px;
    height: 62px;
    margin-bottom: 5px;
  }
  .page-title__icon .icon_product01 {
    width: 57px;
    height: 57px;
    margin-bottom: 10px;
  }
  .page-title__icon .icon_greeting01 {
    width: 53px;
    height: 53px;
    margin-bottom: 5px;
  }
  .page-title__icon .icon_shop01 {
    width: 82px;
    height: 82px;
  }
}

@media print, screen and (min-width: 48em) {
  .top-block01 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .top-block01__inner {
    width: 1160px;
    margin: 80px auto;
  }
  .top-block01._width-auto {
    padding-left: 0;
    padding-right: 0;
  }
  .top-block01._width-auto .top-block01__inner {
    width: auto;
  }
  .top-block01 {
    padding-left: 10px;
    padding-right: 10px;
  }
  .top-block02 {
    position: relative;
  }
  .top-block02:before {
    content: "";
    width: 120%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #f5f5f5;
    transform-origin: left center;
    transform: rotate(-2deg);
  }
  .top-block02 .button-list01 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .top-block02__inner {
    width: 1160px;
    margin: 0 auto;
    padding: 1px 10px 70px;
    position: relative;
    z-index: 1;
  }
  .top-block02__title {
    text-align: center;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: normal;
    line-height: 1.4;
    margin: 20px 0 25px;
  }
  .top-block03 {
    background-image: url(/common/img/top_customer_bg01.png);
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    padding: 0 10px;
    margin: -30px 0 0;
    min-height: 640px;
    z-index: 1;
  }
  .top-block03__inner {
    width: 1160px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 70px 0 120px;
  }
  .top-block04 {
    position: relative;
  }
  .top-block04:before {
    content: "";
    width: 120%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #f5f5f5;
    transform-origin: left center;
    transform: rotate(-2deg);
  }
  .top-block04__inner {
    width: 1160px;
    margin: 0 auto;
    padding: 30px 10px 70px;
    position: relative;
    z-index: 1;
  }
}

@media screen and (max-width: 47.9375em) {
  .top-block01._sp-narrow {
    padding-left: 15px;
    padding-right: 15px;
  }
  .top-block02 {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
  }
  .top-block02:before {
    content: "";
    width: 120%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #f5f5f5;
    transform-origin: left center;
    transform: rotate(-2deg);
  }
  .top-block02 .button-list01 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .top-block02__inner {
    margin: 0 auto;
    padding: 1px 15px 30px;
    position: relative;
    z-index: 1;
  }
  .top-block02__title {
    text-align: center;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.4;
    margin: 20px 0 15px;
  }
  .top-block03 {
    background-image: url(/common/img/top_customer_bg02.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-color: #000;
    background-size: auto 500px;
    position: relative;
    margin: 0 -15px 60px;
    z-index: 1;
  }
  .top-block03:after {
    content: "";
    background-image: url(/common/img/top_customer_bg03.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    height: 100px;
    position: absolute;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 768px;
  }
  .top-block03__inner {
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 70px 30px 40px;
  }
  .top-block04 {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
  }
  .top-block04:before {
    content: "";
    width: 120%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #f5f5f5;
    transform-origin: left center;
    transform: rotate(-4deg);
  }
  .top-block04__inner {
    margin: 0 auto;
    padding: 40px 30px 50px;
    position: relative;
    z-index: 1;
  }
}

.heading-type01 {
  text-align: center;
  line-height: 1;
  margin: 0;
}
.heading-type01 span {
  display: block;
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.heading-type01 i {
  display: block;
  font-style: normal;
  font-weight: normal;
}

@media print, screen and (min-width: 48em) {
  .heading-type01 {
    margin: 70px 0 50px;
  }
  .heading-type01 span {
    font-size: 40px;
    font-size: 4rem;
  }
  .heading-type01 i {
    font-size: 16px;
    font-size: 1.6rem;
    margin-top: 10px;
  }
  .heading-type01._small span {
    font-size: 34px;
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type01 {
    margin: 25px 0 20px;
  }
  .heading-type01 span {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .heading-type01 i {
    font-size: 10px;
    font-size: 1rem;
    margin-top: 10px;
  }
}

.heading-type02 {
  color: #158b91;
  font-weight: bold;
  margin: 0;
  line-height: 1.4;
  text-align: center;
  letter-spacing: .06em;
  position: relative;
}
.heading-type02:after {
  content: "";
  background-color: #158b91;
  width: 50px;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media print, screen and (min-width: 48em) {
  .heading-type02 {
    font-size: 26px;
    font-size: 2.6rem;
    padding-bottom: 30px;
    margin: 60px 0 40px;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type02 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5625;
    padding-bottom: 20px;
    margin: 40px 0 15px;
  }
}

.heading-type03 {
  text-align: center;
  font-weight: bold;
  color: #000;
  margin: 0;
  line-height: 1.4;
}

@media print, screen and (min-width: 48em) {
  .heading-type03 {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 35px 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type03 {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 20px 0;
  }
}

.heading-type04 {
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: .025em;
}
.heading-type04._no-margin {
  margin: 0;
}

@media print, screen and (min-width: 48em) {
  .heading-type04 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 30px 0 25px;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type04 {
    font-size: 13px;
    font-size: 1.3rem;
    margin: 20px 0 15px;
  }
}

.heading-type05 {
  background-image: url(/common/img/bg_heading05.png);
  font-weight: bold;
  letter-spacing: .06em;
  line-height: 1.4;
}

@media print, screen and (min-width: 48em) {
  .heading-type05 {
    font-size: 22px;
    font-size: 2.2rem;
    padding: 15px 0;
    margin: 60px 0;
  }
  .heading-type05 span {
    display: block;
    width: 1160px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type05 {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 15px 15px;
    margin: 20px -15px;
  }
}

.heading-type06 {
  text-align: center;
  font-weight: bold;
  letter-spacing: .06em;
  line-height: 1.4;
  border-bottom: 1px solid #969696;
}

@media print, screen and (min-width: 48em) {
  .heading-type06 {
    font-size: 18px;
    font-size: 1.8rem;
    padding-bottom: 18px;
    margin: 30px 0 20px;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type06 {
    font-size: 14px;
    font-size: 1.4rem;
    padding-bottom: 15px;
    margin: 30px 0 20px;
  }
}

.heading-type07 {
  font-weight: bold;
  letter-spacing: .06em;
  line-height: 1.4;
}

@media print, screen and (min-width: 48em) {
  .heading-type07 {
    font-size: 26px;
    font-size: 2.6rem;
    margin: 50px 0 30px;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type07 {
    font-size: 15px;
    font-size: 1.5rem;
    margin: 40px 0 20px;
  }
}

.heading-type08 {
  font-weight: bold;
}
.heading-type08._center {
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .heading-type08 {
    font-size: 22px;
    font-size: 2.2rem;
    margin: 25px 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .heading-type08 {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 20px 0 15px;
  }
}

.button-type01 {
  display: inline-block;
  vertical-align: top;
  border: 1px solid #000;
  background-color: #fff;
  text-align: center;
  text-decoration: none;
  position: relative;
  line-height: 1.4;
  color: #000;
  box-sizing: border-box;
}
.button-type01 span {
  position: relative;
  display: inline-block;
}
.button-type01 span:after {
  content: "";
  width: 6px;
  height: 6px;
  border-width: 2px;
  border-style: solid;
  border-color: #158b91;
  border-left: 0;
  border-top: 0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(-45deg);
}
.button-type01._prev span:after {
  right: auto;
  left: 0;
  transform: translateY(-50%) rotate(135deg);
}
.button-type01._more {
  font-weight: bold;
}
.button-type01._download {
  font-weight: bold;
}
.button-type01._download span:after {
  border: 0;
  background-image: url(/common/img/icon_download01.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px;
  width: 13px;
  height: 13px;
  transform: translateY(-50%);
}
.button-type01._plus span:after {
  border: 0;
  background-image: url(/common/img/icon_plus01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
  width: 11px;
  height: 11px;
  transform: translateY(-50%);
}
.button-type01._close span:after {
  border: 0;
  background-image: url(/common/img/icon_plus01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 11px;
  width: 11px;
  height: 11px;
  transform: translateY(-50%) rotate(45deg);
}
.button-type01._current {
  border-color: #e7f3f4;
  background-color: #e7f3f4;
  color: #158b91;
}
.button-type01._new {
  overflow: hidden;
}
.button-type01._new::before {
  content: "NEW";
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 59.3964px;
  padding-top: 45.3964px;
  line-height: 1.4;
  color: #fff;
  background-color: #f00;
  font-size: 10px;
  font-weight: bold;
  transform-origin: -37% 85%;
  transform: rotate(-45deg);
}

@media print, screen and (min-width: 48em) {
  .button-type01 {
    width: 200px;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 17px 20px;
    transition: background-color .2s, border .2s, color .2s;
  }
  .button-type01 span {
    transition: transform .2s;
  }
  .button-type01 span:after {
    opacity: 0;
    transition: opacity .2s, right .2s, left .2s;
  }
  .button-type01._low, .button-type01._pc-low {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .button-type01._high {
    padding-top: 35px;
    padding-bottom: 35px;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .button-type01._medium {
    width: 300px;
  }
  .button-type01._large {
    width: 360px;
  }
  .button-type01._xlarge {
    width: 500px;
  }
  .button-type01._xxlarge {
    width: 565px;
    font-size: 22px;
    font-size: 2.2rem;
  }
  .button-type01._max {
    width: 100%;
  }
  .button-type01._prev:hover span {
    transform: translate3d(1rem, 0, 0);
  }
  .button-type01._prev:hover span:after {
    left: -1.5rem;
  }
  .button-type01._download:hover span:after {
    background-image: url(/common/img/icon_download01_on.png);
    right: -2rem;
  }
  .button-type01._download:active span:after {
    background-image: url(/common/img/icon_download01_active.png);
  }
  .button-type01._plus:hover span:after {
    right: -2rem;
  }
  .button-type01._close:hover span:after {
    right: -2rem;
  }
  .button-type01._current:hover span {
    transform: translate3d(0, 0, 0);
  }
  .button-type01._current:hover span:after {
    opacity: 0;
  }
  .button-type01:hover {
    border-color: #e7f3f4;
    background-color: #e7f3f4;
    color: #158b91;
  }
  .button-type01:hover span {
    transform: translate3d(-1rem, 0, 0);
  }
  .button-type01:hover span:after {
    opacity: 1;
    right: -1.5rem;
  }
  .button-type01:active {
    border-color: #158b91;
    background-color: #158b91;
    color: #fff;
  }
  .button-type01:active span:after {
    border-color: #fff;
  }
}

@media screen and (max-width: 47.9375em) {
  .button-type01 {
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 10px;
    width: 100%;
    line-height: 58px;
  }
  .button-type01 span:after {
    border-color: #000;
    right: -1.5rem;
  }
  .button-type01._low {
    line-height: 45px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .button-type01._download span:after {
    right: -2rem;
  }
  .button-type01._plus span:after {
    right: -2rem;
  }
  .button-type01._close span:after {
    right: -2rem;
  }
  .button-type01._prev span:after {
    right: auto;
    left: -1.5rem;
  }
  .button-type01._sp-multi {
    line-height: 1.4;
    padding: 15px 40px 15px 15px;
  }
  .button-type01._sp-multi span {
    text-align: left;
  }
  .button-type01._current span:after {
    display: none;
  }
}

@media print, screen and (min-width: 48em) {
  .button-list01 {
    display: flex;
    flex-wrap: wrap;
  }
  .button-list01 > * {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .button-list01._column2 {
    margin: 40px -20px;
  }
  .button-list01._column2 > * {
    width: calc((100% / 2.001) - 40px);
    margin: 40px 20px 0;
  }
  .button-list01._column2 > *:nth-child(-n+2) {
    margin-top: 0;
  }
  .button-list01._column3 {
    margin: 40px -12px;
  }
  .button-list01._column3 > * {
    width: calc((100% / 3.001) - 24px);
    margin: 24px 12px 0;
  }
  .button-list01._column3 > *:nth-child(-n+3) {
    margin-top: 0;
  }
  .button-list01._column4 {
    margin: 40px -20px;
  }
  .button-list01._column4 > * {
    width: calc((100% / 4.001) - 40px);
    margin: 40px 20px 0;
  }
  .button-list01._column4 > *:nth-child(-n+4) {
    margin-top: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .button-list01 > * {
    margin: 15px 0;
  }
}

.button-group01._center {
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .button-group01 {
    margin: 50px 0;
  }
  .button-group01._column3 {
    margin-left: -20px;
    margin-right: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  .button-group01._column3 .button-group01__item {
    width: calc((100% / 3.001) - 40px);
    margin: 30px 20px 0;
  }
  .button-group01._column3 .button-group01__item:nth-child(-n+3) {
    margin-top: 0;
  }
  .button-group01._column3 .button-group01__item > *:first-child {
    margin-top: 0 !important;
  }
  .button-group01._column3 .button-group01__item > *:last-child {
    margin-bottom: 0 !important;
  }
  .button-list01 + .button-group01 {
    margin-top: 60px;
  }
}

@media screen and (max-width: 47.9375em) {
  .button-group01 {
    margin: 30px 0;
  }
  .button-list01 + .button-group01 {
    margin-top: 60px;
  }
  .button-group01__item {
    margin-top: 25px;
  }
  .button-group01__item:first-child {
    margin-top: 0;
  }
}

.item-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list01__inner {
  display: block;
  text-decoration: none;
  position: relative;
}

.item-list01__main {
  overflow: hidden;
  color: #000;
  background-color: #f5f5f5;
}

.item-list01__title {
  font-weight: normal;
  text-align: center;
  margin: 0;
  line-height: 1.4;
}

@media print, screen and (min-width: 48em) {
  .item-list01__item {
    margin: 50px 0;
  }
  .item-list01__item:nth-child(odd) .item-list01__img {
    left: -80px;
    right: 415px;
  }
  .item-list01__item:nth-child(odd) .item-list01__main {
    margin-left: 41.37931%;
  }
  .item-list01__item:nth-child(odd) .item-list01__text {
    float: right;
  }
  .item-list01__item:nth-child(even) .item-list01__img {
    right: -80px;
    left: 415px;
  }
  .item-list01__item:nth-child(even) .item-list01__main {
    margin-right: 41.37931%;
  }
  .item-list01__item:nth-child(even) .item-list01__text {
    float: left;
  }
  .item-list01__inner {
    padding-top: 50px;
  }
  .item-list01__inner:hover .item-list01__img img {
    transform: translate(-50%, -50%) scale(1.1, 1.1);
  }
  .item-list01__img {
    position: absolute;
    top: 0;
    height: 310px;
    overflow: hidden;
  }
  .item-list01__img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform .45s;
  }
  .item-list01__main {
    overflow: hidden;
    min-height: 310px;
    box-sizing: border-box;
  }
  .item-list01__text {
    width: 340px;
    margin: 60px 40px 30px;
  }
  .item-list01__title {
    font-size: 28px;
    font-size: 2.8rem;
  }
  .item-list01__description {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.78571;
    letter-spacing: .06em;
    margin: 15px 0 20px;
  }
  .item-list01__button {
    text-align: center;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list01__item {
    margin-bottom: 40px;
  }
  .item-list01__main {
    padding: 30px 15px;
  }
  .item-list01__title {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .item-list01__description {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.6;
    letter-spacing: .08em;
    margin: 5px 0 15px;
  }
}

.item-list02__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list02__inner {
  display: block;
  text-decoration: none;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.item-list02__img {
  overflow: hidden;
}
.item-list02__img img {
  width: 100%;
}

.item-list02__title {
  position: absolute;
  margin: 0;
  font-weight: bold;
}

.item-list02__description {
  position: absolute;
  margin: 0;
  border-right: 2px solid #fff;
  text-align: right;
}

@media print, screen and (min-width: 48em) {
  .item-list02 {
    overflow: hidden;
  }
  .infinit-scroll-container > .item-list02 {
    margin-top: 30px;
  }
  .item-list02._large .item-list02__list {
    width: 100%;
    max-width: 920px;
    margin-right: -30px;
    margin-left: -30px;
  }
  .item-list02._large .item-list02__item {
    width: calc(50% - 60px);
    margin: 0 30px;
  }
  .item-list02._slider {
    overflow: hidden;
    position: relative;
  }
  .item-list02._slider .item-list02__list {
    width: calc((400px + 40px) * 4 - 40px);
    flex-wrap: nowrap;
    transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
  .item-list02._slider .item-list02__item {
    width: 400px;
    margin: 0 20px;
    flex-shrink: 0;
  }
  .item-list02._slider > .js-carousel-single {
    display: block;
  }
  .item-list02._slider > .js-carousel-single .item-list02__item {
    margin: 0 auto !important;
  }
  .item-list02._column2 .item-list02__item {
    width: calc((100% / 2.001) - 40px);
    margin: 30px 20px 0;
  }
  .item-list02._column2 .item-list02__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .item-list02._column3 .item-list02__item {
    width: calc((100% / 3.001) - 40px);
    margin: 30px 20px 0;
  }
  .item-list02._column3 .item-list02__item:nth-child(-n+3) {
    margin-top: 0;
  }
  .item-list02__list {
    margin-right: -20px;
    margin-left: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list02__list + .item-list02__list {
    margin-top: 60px;
  }
  .item-list02__list._right {
    float: right;
  }
  .item-list02__inner:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.2);
    transition: transform 0.6s;
    transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, -110%, 0);
  }
  .item-list02__inner:hover:after {
    transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, 110%, 0);
  }
  .item-list02__inner:hover .item-list02__description {
    opacity: 1;
    visibility: visible;
  }
  .item-list02__inner:hover .item-list02__img img {
    transform: scale(1, 1);
  }
  .item-list02__img img {
    transform: scale(1.1, 1.1);
    transition: transform .35s;
  }
  .item-list02__title {
    font-size: 20px;
    font-size: 2rem;
    top: 20px;
    left: 15px;
  }
  .item-list02__description {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.35714;
    padding-right: 12px;
    bottom: 18px;
    right: 20px;
    left: 30px;
    opacity: 0;
    visibility: hidden;
    transition: visibility .2s, opacity .2s;
  }
}

@media screen and (max-width: 47.9375em) {
  .infinit-scroll-container > .item-list02 {
    margin-top: 20px;
  }
  .item-list02._slider {
    overflow: hidden;
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
  }
  .item-list02._slider .item-list02__list {
    display: flex;
    width: calc((290px + 20px) * 3);
    flex-wrap: nowrap;
    transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
  .item-list02._slider .item-list02__item {
    width: 290px;
    margin: 0 10px;
    flex-shrink: 0;
  }
  .item-list02._slider .item-list02__item:nth-child(4) {
    display: none;
  }
  .item-list02._slider > .js-carousel-single {
    display: block;
  }
  .item-list02._slider > .js-carousel-single .item-list02__item {
    display: block;
    margin: 0 auto !important;
  }
  .item-list02__item {
    margin: 20px 0 0;
  }
  .item-list02__title {
    font-size: 14px;
    font-size: 1.4rem;
    top: 20px;
    left: 15px;
  }
  .item-list02__description {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.3;
    padding-right: 12px;
    bottom: 18px;
    right: 20px;
    left: 30px;
  }
}

.item-list03__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list03__inner {
  background-color: rgba(255, 255, 255, 0.85);
  display: block;
  text-decoration: none;
  overflow: hidden;
  color: #000;
}

.item-list03__title {
  text-align: center;
  margin: 0;
}

.item-list03__description {
  margin: 0;
}

.item-list03__img {
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .item-list03__list {
    margin-right: -15px;
    margin-left: -15px;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list03__item {
    width: calc((100% / 3.001) - 30px);
    margin: 30px 15px 0;
  }
  .item-list03__item:nth-child(-n+3) {
    margin-top: 0;
  }
  .item-list03__inner {
    transition: opacity .2s;
  }
  .item-list03__inner:hover .item-list03__img .png {
    opacity: 0;
  }
  .item-list03__inner:hover .item-list03__img .gif {
    visibility: visible;
  }
  .item-list03__img {
    margin: 30px 0 20px;
    position: relative;
  }
  .item-list03__img .gif {
    visibility: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .item-list03__title {
    font-size: 20px;
    font-size: 2rem;
  }
  .item-list03__description {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 10px 21.73913% 35px;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list03__item {
    margin: 20px 0 0;
  }
  .item-list03__img {
    margin: 30px 0 20px;
  }
  .item-list03__img .gif {
    display: none;
  }
  .item-list03__title {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .item-list03__description {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.5;
    margin: 10px 21.15385% 35px;
  }
}

.item-list04__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list04__inner {
  display: block;
  text-decoration: none;
  color: #000;
}

.item-list04__title {
  margin: 0;
}

.item-list04__img img {
  width: 100%;
}

@media print, screen and (min-width: 48em) {
  .item-list04._column2 .item-list04__item {
    width: calc((100% / 2.001) - 40px);
  }
  .item-list04._column2 .item-list04__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .item-list04._column2 .item-list04__title {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .item-list04._column3 .item-list04__item {
    width: calc((100% / 3.001) - 40px);
  }
  .item-list04._column3 .item-list04__item:nth-child(-n+3) {
    margin-top: 0;
  }
  .item-list04._column3 .item-list04__title {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .item-list04._column3 .item-list04__title._large {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .item-list04__list {
    margin-right: -20px;
    margin-left: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list04__item {
    margin: 55px 20px 0;
  }
  a.item-list04__inner {
    transition: color .2s;
  }
  a.item-list04__inner:hover {
    color: #158b91;
  }
  a.item-list04__inner:hover .item-list04__img {
    opacity: .5;
  }
  .item-list04__title + .list-type01 {
    margin-top: 10px;
  }
  .item-list04__img {
    margin: 0 0 15px;
    transition: opacity .2s;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list04__item {
    margin: 20px 0 0;
  }
  .item-list04__item .list-type01 {
    margin-bottom: 30px;
  }
  .item-list04__item:last-child .list-type01 {
    margin-bottom: 0;
  }
  .item-list04__img {
    margin: 0 0 10px;
  }
  .item-list04__title {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.item-list05__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list05__item {
  position: relative;
  box-sizing: border-box;
}
.item-list05__item:before {
  content: "";
  width: 2px;
  background-color: #158b91;
  position: absolute;
  left: 0;
  top: 0;
}

.item-list05__lead {
  color: #158b91;
  font-weight: bold;
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  margin: 0;
  line-height: 1;
}

.item-list05__title {
  font-weight: bold;
  margin: 0;
  line-height: 1.4;
}

.item-list05__description {
  margin: 0;
}

@media print, screen and (min-width: 48em) {
  .item-list05._column3 {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
  }
  .item-list05._column3 .item-list05__item {
    width: calc((100% / 3.001) - 40px);
    margin: 60px 20px 0;
    padding-left: 30px;
  }
  .item-list05._column3 .item-list05__item:nth-child(-n+3) {
    margin-top: 0;
  }
  .item-list05__list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list05__item:before {
    bottom: 3px;
  }
  .item-list05__lead {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0 0 15px;
  }
  .item-list05__title {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 20px;
  }
  .item-list05__description {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list05__item {
    margin: 30px 0 0;
    padding-left: 14px;
  }
  .item-list05__item:before {
    bottom: 3px;
  }
  .item-list05__lead {
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 0 10px;
  }
  .item-list05__title {
    font-size: 13px;
    font-size: 1.3rem;
    margin: 0 0 10px;
  }
  .item-list05__description {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
  }
}

.item-list06__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list06__title {
  font-weight: bold;
  margin: 0;
}

.item-list06__list2 {
  list-style: none;
  margin: 0;
  padding: 0;
}
.item-list06__list2 li {
  text-indent: -1em;
  padding-left: 1em;
}
.item-list06__list2 li:before {
  content: "・";
}

.item-list06__description {
  margin: 0;
}

@media print, screen and (min-width: 48em) {
  .item-list06._narrow .item-list06__item {
    margin-right: 180px;
    margin-left: 180px;
  }
  .item-list06._narrow .item-list06__img {
    width: 140px;
  }
  .item-list06._narrow .item-list06__title {
    font-size: 20px;
    font-size: 2rem;
  }
  .item-list06__item {
    margin: 0 0 60px;
    display: flex;
  }
  .item-list06__img {
    width: 200px;
    flex-shrink: 0;
  }
  .item-list06__text {
    width: 100%;
    margin: 10px 0 0 50px;
  }
  .item-list06__title {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 15px;
  }
  .item-list06__list2 {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .item-list06__list2 li {
    margin-top: 15px;
  }
  .item-list06__description {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2.22222;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list06._narrow .item-list06__img img {
    width: 120px;
  }
  .item-list06__item {
    margin-bottom: 30px;
  }
  .item-list06__img {
    text-align: center;
    margin: 0 0 15px;
  }
  .item-list06__img img {
    width: 135px;
  }
  .item-list06__title {
    font-size: 13px;
    font-size: 1.3rem;
  }
  .item-list06__list2 {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .item-list06__list2 li {
    margin-top: 10px;
  }
  .item-list06__description {
    margin: 10px 0 0;
    line-height: 2.08333;
  }
}

.item-list07__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list07__item {
  background-color: #f5f5f5;
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .item-list07__list {
    margin-left: -20px;
    margin-right: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list07__item {
    width: calc((100% / 3.001) - 40px);
    margin: 40px 20px 0;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 100px;
  }
  .item-list07__item:nth-child(-n+3) {
    margin-top: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list07__item {
    margin: 20px 0 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 60px;
  }
}

.item-list08__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list08__inner {
  display: block;
  text-decoration: none;
  color: #000;
  text-align: center;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.item-list08__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.item-list08__icon svg {
  fill: currentColor;
}

@media print, screen and (min-width: 48em) {
  .item-list08._column2 .item-list08__item {
    width: calc((100% / 2.001) - 40px);
    margin: 40px 20px 0;
  }
  .item-list08._column2 .item-list08__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .item-list08__list {
    margin-left: -20px;
    margin-right: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list08__inner {
    height: 200px;
    transition: background .2s, color .2s;
  }
  .item-list08__inner:hover {
    background-color: #e7f3f4;
    color: #158b91;
  }
  .item-list08__inner:active {
    background-color: #158b91;
    color: #fff;
  }
  .item-list08__icon {
    height: 109px;
  }
  .item-list08__icon .icon_contact01 {
    width: 101px;
    height: 101px;
    margin-left: 30px;
  }
  .item-list08__icon .icon_showroom01 {
    width: 109px;
    height: 109px;
  }
  .item-list08__icon .icon_download02 {
    width: 90px;
    height: 90px;
  }
  .item-list08__icon .icon_faq01 {
    width: 72px;
    height: 72px;
  }
  .item-list08__icon .icon_company01 {
    width: 82px;
    height: 82px;
  }
  .item-list08__icon .icon_product01 {
    width: 77px;
    height: 77px;
  }
  .item-list08__icon .icon_greeting01 {
    width: 70px;
    height: 70px;
  }
  .item-list08__icon .icon_shop01 {
    width: 109px;
    height: 109px;
  }
  .item-list08__title {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list08__item {
    margin-top: 20px;
  }
  .item-list08__inner {
    height: 150px;
  }
  .item-list08__icon {
    height: 82px;
  }
  .item-list08__icon .icon_contact01 {
    width: 76px;
    height: 76px;
    margin-left: 20px;
  }
  .item-list08__icon .icon_showroom01 {
    width: 82px;
    height: 82px;
  }
  .item-list08__icon .icon_download02 {
    width: 63px;
    height: 63px;
  }
  .item-list08__icon .icon_faq01 {
    width: 51px;
    height: 51px;
  }
  .item-list08__icon .icon_company01 {
    width: 62px;
    height: 62px;
  }
  .item-list08__icon .icon_product01 {
    width: 57px;
    height: 57px;
  }
  .item-list08__icon .icon_greeting01 {
    width: 53px;
    height: 53px;
  }
  .item-list08__icon .icon_shop01 {
    width: 82px;
    height: 82px;
  }
  .item-list08__title {
    font-size: 15px;
    font-size: 1.5rem;
    margin-bottom: 5px;
  }
}

.item-list09__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-list09__text {
  overflow: hidden;
}

.item-list09__title {
  font-weight: bold;
  margin: 0;
}

.item-list09__description {
  margin: 0;
}

.item-list09__data {
  background-color: #f5f5f5;
  list-style: none;
  margin: 0;
  padding: 0;
  display: table;
  width: 100%;
  box-sizing: border-box;
}
.item-list09__data > div {
  display: table-row;
}
.item-list09__data dt {
  display: table-cell;
  white-space: nowrap;
}
.item-list09__data dd {
  display: table-cell;
  width: 100%;
}

.item-list09__button .button-type01 {
  width: 100%;
}

@media print, screen and (min-width: 48em) {
  .item-list09__list {
    margin-left: -40px;
    margin-right: -40px;
    display: flex;
    flex-wrap: wrap;
  }
  .item-list09__item {
    width: calc((100% / 2.001) - 80px);
    margin: 80px 40px 0;
  }
  .item-list09__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .item-list09__inner {
    display: flex;
  }
  .item-list09__img {
    width: 250px;
    margin-right: 30px;
    flex-shrink: 0;
  }
  .item-list09__text {
    width: 100%;
  }
  .item-list09__title {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.36364;
    margin: 0 0 15px;
  }
  .item-list09__description {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875;
    margin: 0 0 15px;
  }
  .item-list09__data {
    margin: 0 0 20px;
    padding: 15px 20px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .item-list09__data > div:not(:first-child) {
    margin-top: 5px;
  }
}

@media screen and (max-width: 47.9375em) {
  .item-list09__item + .item-list09__item {
    margin-top: 50px;
  }
  .item-list09__img {
    margin: 0 25px 20px;
    text-align: center;
  }
  .item-list09__title {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857;
    margin: 0 0 10px;
  }
  .item-list09__description {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
    margin: 0 0 15px;
  }
  .item-list09__data {
    margin: 0 0 20px;
    padding: 10px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .item-list09__data > div:not(:first-child) {
    margin-top: 5px;
  }
}

.banner-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media print, screen and (min-width: 48em) {
  .banner-list01._column3 .banner-list01__list {
    margin-right: -15px;
    margin-left: -15px;
  }
  .banner-list01._column3 .banner-list01__item {
    width: calc((100% / 3.001) - 30px);
    margin: 30px 15px 0;
  }
  .banner-list01._column3 .banner-list01__item:nth-child(-n+3) {
    margin-top: 0;
  }
  .banner-list01__list {
    display: flex;
    flex-wrap: wrap;
  }
  .banner-list01__item {
    transition: opacity .2s;
  }
  .banner-list01__item:hover {
    opacity: .5;
  }
}

@media screen and (max-width: 47.9375em) {
  .banner-list01__item {
    margin: 20px 0 0;
    text-align: center;
  }
  .banner-list01__item:first-child {
    margin-top: 0;
  }
}

.topics-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.topics-list01__date {
  color: #999;
}

.topics-list01__title {
  text-decoration: none;
  color: #000;
}

@media print, screen and (min-width: 48em) {
  .topics-list01__item {
    margin: 20px 0 0;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .06em;
    display: flex;
  }
  .topics-list01__date {
    width: 135px;
    flex-shrink: 0;
  }
  .topics-list01__title:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 47.9375em) {
  .topics-list01__item {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
    margin: 15px 0 0;
  }
  .topics-list01__date {
    display: block;
  }
  .topics-list01__title {
    display: block;
  }
}

.topics-list02__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.topics-list02__item {
  border-bottom: 1px dashed #969696;
}

.topics-list02__inner {
  display: block;
  text-decoration: none;
  color: #000;
  overflow: hidden;
}

.topics-list02__head {
  display: flex;
  flex-wrap: wrap;
}

.topics-list02__category {
  font-size: 0;
}
.topics-list02__category i, .topics-list02__category a {
  display: inline-block;
  vertical-align: top;
  font-style: normal;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #158b91;
  background-color: #e7f3f4;
  box-sizing: border-box;
}

.topics-list02__img img {
  border: 1px solid #d8d8d8;
  box-sizing: border-box;
}

.topics-list02__title {
  font-weight: bold;
  margin: 0;
}

.topics-list02__description {
  margin: 0;
}

@media print, screen and (min-width: 48em) {
  .topics-list02__item {
    margin: 50px 0 65px;
  }
  .topics-list02__item:last-child {
    margin-bottom: 60px;
  }
  .topics-list02__inner {
    margin: 0 0 60px;
  }
  a.topics-list02__inner {
    transition: opacity .2s;
  }
  a.topics-list02__inner:hover {
    opacity: .5;
  }
  .topics-list02__head {
    margin: 0 0 30px;
  }
  .topics-list02__category i, .topics-list02__category a {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 20px;
    min-width: 80px;
    padding: 0 5px;
    margin-right: 10px;
  }
  .topics-list02__date {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 20px;
  }
  .topics-list02__main {
    display: flex;
  }
  .topics-list02__img {
    width: 360px;
    flex-shrink: 0;
  }
  .topics-list02__text {
    width: 100%;
    margin-left: 40px;
  }
  .topics-list02__title {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875;
    margin: 0 0 20px;
  }
  .topics-list02__description {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875;
  }
}

@media screen and (max-width: 47.9375em) {
  .topics-list02__item {
    margin: 25px 0 30px;
  }
  .topics-list02__item:last-child {
    margin-bottom: 50px;
  }
  .topics-list02__inner {
    margin: 0 0 25px;
  }
  .topics-list02__head {
    margin: 0 0 20px;
  }
  .topics-list02__category i, .topics-list02__category a {
    font-size: 10px;
    font-size: 1rem;
    line-height: 20px;
    min-width: 80px;
    padding: 0 5px;
    margin-right: 10px;
  }
  .topics-list02__date {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 20px;
  }
  .topics-list02__img {
    text-align: center;
    margin: 0 0 15px;
  }
  .topics-list02__title {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
    margin: 0 0 10px;
  }
  .topics-list02__description {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.66667;
  }
}

.product-contact {
  background-color: #19222d;
  color: #fff;
}

.product-contact__inner {
  overflow: hidden;
  line-height: 1;
}

.product-contact__title {
  text-align: center;
  font-weight: bold;
  letter-spacing: .01em;
}

.product-contact__num {
  background-image: url(/common/img/icon_tel01.svg);
  background-repeat: no-repeat;
  background-position: left center;
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.product-contact__num a {
  display: block;
  color: #fff;
}

.product-contact__info {
  margin: 0;
  display: flex;
  align-items: center;
}

.product-contact__info01 {
  letter-spacing: .06em;
  margin-right: 5px;
}

.product-contact__info02 {
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  margin-right: 5px;
}

.product-contact__button a {
  display: block;
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
  transition: background .2s, border .2s, color .2s;
}
.product-contact__button a span {
  display: inline-block;
  position: relative;
  background-image: url(/common/img/icon_mail01.svg);
  background-repeat: no-repeat;
  background-position: left center;
  transition: background .2s;
}
.product-contact__button a span:after {
  content: "";
  width: 6px;
  height: 6px;
  border-width: 2px;
  border-style: solid;
  border-color: #fff;
  border-left: 0;
  border-top: 0;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%) rotate(-45deg);
}

@media print, screen and (min-width: 48em) {
  .product-contact {
    width: 1160px;
    margin: 130px auto;
  }
  .product-contact-wrapper .product-contact {
    margin: 60px auto;
  }
  .product-contact__inner {
    padding: 40px 40px 40px 123px;
  }
  .product-contact__title {
    font-size: 22px;
    font-size: 2.2rem;
    margin: 0 0 30px;
  }
  .product-contact__row {
    display: flex;
    justify-content: space-between;
  }
  .product-contact__num {
    font-size: 50px;
    font-size: 5rem;
    padding-left: 50px;
  }
  .product-contact__info {
    margin-top: 5px;
  }
  .product-contact__info01 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .product-contact__info02 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .product-contact__info03 {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .product-contact__button {
    width: 510px;
    font-size: 20px;
    font-size: 2rem;
  }
  .product-contact__button a {
    line-height: 73px;
  }
  .product-contact__button a span {
    padding-left: 50px;
  }
  .product-contact__button a:hover {
    border-color: #e7f3f4;
    background-color: #e7f3f4;
    color: #158b91;
  }
  .product-contact__button a:hover span {
    background-image: url(/common/img/icon_mail01_on.svg);
  }
  .product-contact__button a:hover span:after {
    border-color: #158b91;
  }
  .product-contact__button a:active {
    border-color: #158b91;
    background-color: #158b91;
    color: #fff;
  }
  .product-contact__button a:active span {
    background-image: url(/common/img/icon_mail01.svg);
  }
  .product-contact__button a:active span:after {
    border-color: #fff;
  }
}

@media screen and (max-width: 47.9375em) {
  .product-contact {
    margin: 80px auto;
  }
  .product-contact-wrapper .product-contact {
    margin: 40px auto 30px;
  }
  .product-contact__inner {
    padding: 30px 5px 30px 5px;
    text-align: center;
  }
  .product-contact__title {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5625;
    margin: 0 0 20px;
  }
  .product-contact__num {
    display: inline-block;
    vertical-align: top;
    font-size: 35px;
    font-size: 3.5rem;
    padding-left: 25px;
    background-size: 23px auto;
    white-space: nowrap;
  }
  .product-contact__info {
    margin-top: 5px;
    justify-content: center;
  }
  .product-contact__info01 {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .product-contact__info02 {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .product-contact__info03 {
    font-size: 10px;
    font-size: 1rem;
  }
  .product-contact__button {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 25px;
    margin: 30px 0 0;
  }
  .product-contact__button a {
    line-height: 58px;
  }
  .product-contact__button a span {
    padding: 0 10px 0 25px;
    background-size: 20px auto;
  }
  .product-contact__button a span:after {
    right: 0;
  }
}

.change-img01 {
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .change-img01._type01 img {
    width: 928px;
  }
  .change-img01._type03 {
    margin: 0 0 50px;
  }
  .change-img01._type03 img {
    width: 643px;
  }
  .change-img01._type04, .change-img01._type05 {
    margin: 60px 0;
  }
  .change-img01._type06 {
    margin: 25px 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .change-img01._type01 img {
    width: 256px;
  }
  .change-img01._type02 img {
    width: 179px;
  }
  .change-img01._type03 {
    margin: 0 0 20px;
  }
  .change-img01._type03 img {
    width: 290px;
  }
  .change-img01._type04 {
    margin: 25px 0;
  }
  .change-img01._type04 img {
    width: 179px;
  }
  .change-img01._type05 {
    margin: 25px 0;
  }
  .change-img01._type05 img {
    width: 194px;
  }
  .change-img01._type06 {
    margin: 25px 0;
  }
  .change-img01._type06 img {
    width: 194px;
  }
}

.list-type01 {
  list-style: none;
  padding: 0;
}
.list-type01 li {
  padding-left: 1em;
  text-indent: -1em;
  position: relative;
}
.list-type01 li:before {
  content: "・";
}
.list-type01._largeMt li {
  margin-top: 1em;
}

@media print, screen and (min-width: 48em) {
  .list-type01 li {
    margin-top: 5px;
  }
}

@media screen and (max-width: 47.9375em) {
  .list-type01 li {
    margin-top: 5px;
  }
}

.list-type02 {
  list-style: none;
  padding: 0;
}
.list-type02._level2 li {
  text-indent: -2.2em;
  padding-left: 2.2em;
}
.list-type02 li {
  padding-left: 1em;
}

@media print, screen and (min-width: 48em) {
  .list-type02 li {
    margin-top: 5px;
  }
}

@media screen and (max-width: 47.9375em) {
  .list-type02 li {
    margin-top: 5px;
  }
}

.list-type03 {
  padding-left: 1.5em;
}
.list-type03 li {
  margin-top: 1em;
}

@media print, screen and (min-width: 48em) {
  .product-column01 {
    display: flex;
    flex-wrap: wrap;
  }
  .product-column01 + .product-column01, .product-column01 + .mod-post, .mod-post + .product-column01 {
    margin-top: 50px;
  }
  .product-column01._column2 {
    margin-left: -20px;
    margin-right: -20px;
  }
  .product-column01._column2 .product-column01__item {
    width: calc(50% - 40px);
    margin: 50px 20px 0;
  }
  .product-column01._column2 .product-column01__item:nth-child(-n+2) {
    margin-top: 0;
  }
  .product-column01__item > *:first-child {
    margin-top: 0 !important;
  }
  .product-column01__item > *:last-child {
    margin-bottom: 0 !important;
  }
  .product-column01__inner + .product-column01__inner {
    margin-top: 50px;
  }
  .product-column01__inner > *:first-child {
    margin-top: 0 !important;
  }
  .product-column01__inner > *:last-child {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 47.9375em) {
  .product-column01 + .product-column01, .product-column01 + .mod-post, .mod-post + .product-column01 {
    margin-top: 35px;
  }
  .product-column01__item {
    margin-top: 35px;
  }
  .product-column01__inner {
    margin-top: 35px;
  }
}

.media-block._media-center .media-block__media {
  text-align: center;
}
.media-block._media-center .media-block__media figure {
  display: inline-block;
}
.media-block._media-center .media-block__media figcaption {
  text-align: left;
}

.media-block figure {
  margin: 0;
}

.media-block__text *:first-child {
  margin-top: 0 !important;
}

.media-block__text *:last-child {
  margin-bottom: 0 !important;
}

@media print, screen and (min-width: 48em) {
  .media-block:after {
    content: "";
    display: block;
    clear: both;
  }
  .media-block._media-left .media-block__media {
    float: left;
    margin-right: 30px;
    margin-bottom: 20px;
  }
  .media-block._media-right .media-block__media {
    float: right;
    margin-left: 30px;
    margin-bottom: 20px;
  }
  .media-block._nowrap .media-block__text {
    overflow: hidden;
  }
}

@media screen and (max-width: 47.9375em) {
  .media-block {
    margin: 20px 0;
  }
  .media-block:after {
    content: "";
    display: block;
    clear: both;
  }
  .media-block._type-sp-reverse {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  .media-block._type-sp-reverse .media-block__media, .media-block._type-sp-reverse .media-block__text {
    width: 100%;
  }
  .media-block._type-sp-reverse .media-block__media {
    margin-bottom: 0;
  }
  .media-block._type-sp-reverse .media-block__text {
    margin-bottom: 30px;
  }
  .media-block._sp-media-left .media-block__media {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
    max-width: 40%;
  }
  .media-block._sp-media-right .media-block__media {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
    max-width: 40%;
  }
  .media-block._nowrap .media-block__text {
    overflow: hidden;
  }
  .media-block__media {
    margin-bottom: 15px;
  }
  .media-block__media._type-sp-center {
    text-align: center;
  }
  .media-block__media._type-sp-center figure {
    display: inline-block;
    text-align: left;
  }
}

.icon-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 48em) {
  .icon-list01__item {
    width: calc((100% / 5.001) - 10px);
    margin: 10px 5px 0;
  }
  .icon-list01__item:nth-child(-n+5) {
    margin-top: 0;
  }
  .icon-list01__item img {
    max-width: 100px;
  }
}

@media screen and (max-width: 47.9375em) {
  .icon-list01__list {
    margin-top: -10px;
    margin-right: -5px;
    margin-left: -5px;
  }
  .icon-list01__item {
    width: 90px;
    margin: 10px 5px 0;
  }
}

.visual-slider01 {
  position: relative;
}

.visual-slider01__list.owl-carousel {
  display: block;
  overflow: hidden;
}

.visual-slider01__text {
  overflow: hidden;
  position: absolute;
  z-index: 10;
}

.visual-slider01__tag {
  background-color: #f00;
  color: #fff;
  text-align: center;
  margin: 0;
  font-family: "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.visual-slider01__title {
  margin: 0;
  font-weight: bold;
  line-height: 1.4;
}
.visual-slider01__title span {
  display: block;
}

@media print, screen and (min-width: 48em) {
  .visual-slider01__container {
    margin: 100px 0 160px;
  }
  .visual-slider01 {
    margin: 0;
  }
  .visual-slider01__list.owl-carousel {
    height: 438px;
  }
  .visual-slider01__text {
    top: 50px;
    left: 50px;
  }
  .visual-slider01__tag {
    width: 60px;
    line-height: 30px;
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 30px;
  }
  .visual-slider01__title {
    font-size: 40px;
    font-size: 4rem;
  }
  .visual-slider01__title span {
    font-size: 30px;
    font-size: 3rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .visual-slider01__container {
    margin: 55px -15px 70px;
  }
  .visual-slider01 {
    margin: 0;
  }
  .visual-slider01__list.owl-carousel {
    height: 38vw;
  }
  .visual-slider01__text {
    top: 15px;
    left: 15px;
  }
  .visual-slider01__tag {
    width: 40px;
    line-height: 20px;
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 15px;
  }
  .visual-slider01__title {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .visual-slider01__title span {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 5px;
  }
}

@media print, screen and (min-width: 48em) {
  .figure-type01 {
    margin: 1em 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .figure-type01 {
    margin: 1em 0;
  }
}

@media print, screen and (min-width: 48em) {
  .indent-block01._level1 {
    padding-left: 15px;
  }
}

@media screen and (max-width: 47.9375em) {
  .indent-block01._level1 {
    padding-left: 15px;
  }
}

/*
local-nav01

The local navigation block.

Markup: <div class="local-nav01 js-fixed-localnav">
  <div class="local-nav01__inner">
    <div class="local-nav01__list">
      <a href="#a" class="local-nav01__item"><span>仕様</span></a>
      <a href="#b" class="local-nav01__item"><span>機能</span></a>
      <a href="#c" class="local-nav01__item"><span>補足</span></a>
      <a href="#d" class="local-nav01__item"><span>資料ダウンロード</span></a>
      <a href="#e" class="local-nav01__item"><span>導入事例</span></a>
      <a href="#f" class="local-nav01__item"><span>関連・周辺機器</span></a>
      <a href="#g" class="local-nav01__item"><span>関連ブログ記事</span></a>
    </div>
  </div>
</div>

Style guide: local-nav01
*/
.local-nav01 {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .local-nav01 {
    margin: 50px 0 160px;
  }
}
.local-nav01__inner {
  display: block;
  position: relative;
  z-index: 20;
  margin: 0;
  padding: 0;
  background-color: #fff;
  border-bottom: 1px solid #969696;
}
@media screen and (max-width: 47.9375em) {
  .local-nav01__inner {
    margin-left: -15px;
    margin-right: -15px;
  }
}
.local-nav01__list {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-start;
  align-items: center;
  justify-content: flex-start;
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .local-nav01__list {
    width: 1160px;
    margin: 0 auto;
  }
}
.local-nav01__item {
  display: flex;
  box-sizing: border-box;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 40px;
  padding: 0 5px;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  color: #000;
  font-size: 0;
  transition-duration: 0.2s;
  transition-property: background-color;
  transition-timing-function: ease-in-out;
  flex-basis: auto;
  flex-grow: 1;
  flex-shrink: 1;
}
.local-nav01__item:hover, .local-nav01__item:focus {
  background-color: #e7f3f4;
}
.local-nav01__item + .local-nav01__item {
  border-left: 1px solid #969696;
}
.local-nav01__item:first-child {
  border-left: 1px solid #969696;
}
.local-nav01__item:last-child {
  border-right: 1px solid #969696;
}
@media print, screen and (min-width: 48em) {
  .local-nav01__item {
    max-width: 290px;
  }
}
.local-nav01__item span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* autoprefixer: ignore next */
  -webkit-box-orient: vertical;
}
@media print, screen and (min-width: 48em) {
  .local-nav01__item span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .local-nav01__item span {
    font-size: 10px;
    font-size: 1rem;
  }
}
.local-nav01__item span:after {
  content: "";
  display: inline-block;
  position: relative;
  vertical-align: middle;
  border-color: #000;
  border-style: solid;
  border-width: 2px;
  border-left: 0;
  border-top: 0;
  transform: rotate(45deg);
}
@media print, screen and (min-width: 48em) {
  .local-nav01__item span:after {
    top: -4.2426px;
    width: 6px;
    height: 6px;
    margin: 0 2px 0 7px;
  }
}
@media screen and (max-width: 47.9375em) {
  .local-nav01__item span:after {
    top: -2.8284px;
    width: 4px;
    height: 4px;
    margin: 0 3px;
  }
}
.local-nav01._auto .local-nav01__item {
  flex-basis: 50%;
}
@media screen and (max-width: 47.9375em) {
  .local-nav01._auto .local-nav01__item span {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
body.is-local-nav-fixed .local-nav01 {
  overflow: hidden;
}
body.is-local-nav-fixed .local-nav01__inner {
  position: fixed;
  z-index: 20;
  left: 0;
  right: 0;
}
@media print, screen and (min-width: 48em) {
  body.is-local-nav-fixed .local-nav01__inner {
    top: 101px;
  }
}
@media screen and (max-width: 47.9375em) {
  body.is-local-nav-fixed .local-nav01__inner {
    top: 50px;
    margin-left: 0;
    margin-right: 0;
  }
}

.local-nav02 {
  border-bottom: 1px solid #969696;
}

.local-nav02__list {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  display: flex;
}

.local-nav02__item > a, .local-nav02__item > span {
  display: block;
  text-decoration: none;
  color: #000;
  font-weight: bold;
  letter-spacing: .06em;
  position: relative;
  text-align: center;
  line-height: 1.4;
  cursor: pointer;
  box-sizing: border-box;
}
.local-nav02__item > a:after, .local-nav02__item > span:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 0;
  background-color: #158b91;
  transition: height .2s;
}

.local-nav02__item:hover > a, .local-nav02__item._current > a, .local-nav02__item a._current, .local-nav02__item:hover > span, .local-nav02__item._current > span, .local-nav02__item span._current {
  color: #158b91;
}
.local-nav02__item:hover > a:after, .local-nav02__item._current > a:after, .local-nav02__item a._current:after, .local-nav02__item:hover > span:after, .local-nav02__item._current > span:after, .local-nav02__item span._current:after {
  height: 3px;
}

.local-nav02__item._dropmenu:hover .local-nav02__dropnav {
  visibility: visible;
  opacity: 1;
}

.local-nav02__dropnav {
  position: absolute;
  left: 0;
  right: 0;
  background-color: #e7f3f4;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, visibility .2s;
}

@media print, screen and (min-width: 48em) {
  .local-nav02__list {
    width: 1160px;
    margin: 0 auto;
  }
  .local-nav02__item {
    width: 100px;
  }
  .local-nav02__item + .local-nav02__item {
    margin-left: 1px;
  }
  .local-nav02__item > a, .local-nav02__item > span {
    padding: 5px 0 10px;
    font-size: 16px;
    font-size: 1.6rem;
    height: 37px;
  }
  .local-nav02__dropnav {
    top: 38px;
  }
}

@media screen and (max-width: 47.9375em) {
  .local-nav02 {
    margin: 0 -15px;
  }
  .local-nav02__item {
    width: 100%;
  }
  .local-nav02__item > a, .local-nav02__item > span {
    padding: 5px 0 10px;
    font-size: 12px;
    font-size: 1.2rem;
    height: 31px;
  }
  .local-nav02__dropnav {
    top: 32px;
  }
}

.table-type01 {
  width: 100%;
  margin: 1em 0;
  border-collapse: collapse;
}
.table-type01 th, .table-type01 td {
  border: 1px solid #969696;
}
.table-type01 th {
  text-align: left;
  vertical-align: top;
}

@media print, screen and (min-width: 48em) {
  .table-type01 th, .table-type01 td {
    padding: 8px 18px;
  }
  .table-type01._small {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .table-type01._small th, .table-type01._small td {
    padding: 5px 10px;
  }
}

@media screen and (max-width: 47.9375em) {
  .table-type01 th, .table-type01 td {
    padding: 5px 10px;
  }
}

.table-type02 th {
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}

.table-type02 td > *:first-child {
  margin-top: 0 !important;
}

.table-type02 td > *:last-child {
  margin-bottom: 0 !important;
}

@media print, screen and (min-width: 48em) {
  .table-type02 th, .table-type02 td {
    padding-bottom: 50px;
  }
  .table-type02 tr:last-child th, .table-type02 tr:last-child td {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .table-type02 {
    width: 100%;
  }
  .table-type02 tr {
    display: block;
  }
  .table-type02 tr:last-child td {
    margin-bottom: 0;
  }
  .table-type02 th, .table-type02 td {
    display: block;
    width: 100%;
  }
  .table-type02 th {
    margin-bottom: 5px;
  }
  .table-type02 td {
    margin-bottom: 30px;
  }
}

.category-list01 {
  border-bottom: 1px solid #969696;
}

.category-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.category-list01__item a {
  display: block;
  border-color: #000;
  border-width: 1px;
  border-style: solid;
  text-decoration: none;
  color: #000;
  text-align: center;
  font-weight: bold;
  letter-spacing: .06em;
  box-sizing: border-box;
}

.category-list01__item._current a, .category-list01__item a._current {
  border-color: #158b91;
  color: #158b91;
}

@media print, screen and (min-width: 48em) {
  .category-list01 {
    margin: 40px 0;
    padding-bottom: 40px;
  }
  .category-list01__list {
    margin: -20px 0 0;
  }
  .category-list01__item {
    margin: 20px 0 0 20px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .category-list01__item a {
    min-width: 120px;
    line-height: 28px;
    padding: 0 10px;
    transition: background-color .2s, border .2s, color .2s;
  }
  .category-list01__item:hover a {
    border-color: #e7f3f4;
    background-color: #e7f3f4;
    color: #158b91;
  }
}

@media screen and (max-width: 47.9375em) {
  .category-list01 {
    margin: 15px 0;
    padding-bottom: 15px;
  }
  .category-list01__list {
    margin: -10px 0 0 -5px;
  }
  .category-list01__item {
    margin: 10px 0 0 15px;
    font-size: 10px;
    font-size: 1rem;
  }
  .category-list01__item a {
    min-width: 80px;
    line-height: 23px;
    padding: 0 5px;
  }
}

.drop-nav01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

.drop-nav01__item a {
  display: block;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  color: #000;
}

.drop-nav01__item._current a, .drop-nav01__item a._current {
  color: #158b91;
}

@media print, screen and (min-width: 48em) {
  .drop-nav01__list {
    padding: 20px 10px;
  }
  .drop-nav01__item a {
    width: 140px;
    line-height: 40px;
    font-size: 14px;
    font-size: 1.4rem;
    transition: color .2s;
  }
  .drop-nav01__item a:hover {
    color: #158b91;
  }
}

@media screen and (max-width: 47.9375em) {
  .drop-nav01__list {
    padding: 0 20px 10px;
  }
  .drop-nav01__item {
    margin: 10px 0 0;
  }
  .drop-nav01__item a {
    width: 70px;
    line-height: 40px;
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.control-button01 {
  overflow: hidden;
}

.control-button01__item {
  font-size: 14px;
  font-size: 1.4rem;
}
.control-button01__item a {
  text-decoration: none;
  color: #000;
}
.control-button01__item button {
  border: 0;
  padding: 0;
  text-decoration: none;
  color: #000;
  background-color: transparent;
  cursor: pointer;
}

@media print, screen and (min-width: 48em) {
  .button-group01 + .control-button01 {
    margin-top: -30px;
  }
  .section-type01 + .control-button01 {
    margin-top: -130px;
    margin-bottom: 150px;
  }
  .control-button01__item._prev {
    float: left;
  }
  .control-button01__item._next {
    float: right;
  }
  .control-button01__item a, .control-button01__item button {
    transition: opacity .2s;
  }
  .control-button01__item a:hover, .control-button01__item button:hover {
    opacity: .5;
  }
}

@media screen and (max-width: 47.9375em) {
  .control-button01 {
    text-align: center;
  }
  .section-type01 + .control-button01 {
    margin-top: -40px;
    margin-bottom: 70px;
  }
}

.link01 {
  display: inline-block;
  background-color: #e7f3f4;
  color: #158b91;
  font-weight: bold;
  text-decoration: none;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 20px;
  padding: 0 5px;
  margin: 6px 5px;
}

.frame-type01 {
  background-color: #f5f5f5;
  overflow: hidden;
}
.frame-type01 > *:first-child {
  margin-top: 0 !important;
}
.frame-type01 > *:last-child {
  margin-bottom: 0 !important;
}

@media print, screen and (min-width: 48em) {
  .frame-type01 {
    padding: 25px 30px;
    margin: 30px 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .frame-type01 {
    padding: 15px;
    margin: 30px 0;
  }
}

.dl-type01 {
  list-style: none;
  padding: 0;
}

.dl-type01__row dt:after {
  content: "：";
}

@media print, screen and (min-width: 48em) {
  .dl-type01 {
    display: table;
    width: 100%;
  }
  .dl-type01__row {
    display: table-row;
  }
  .dl-type01__row dt {
    width: 100px;
    padding: 0 0 10px;
    position: relative;
    display: table-cell;
  }
  .dl-type01__row dt:after {
    position: absolute;
    top: 0;
    right: 0;
  }
  .dl-type01__row dd {
    display: table-cell;
    padding: 0 0 10px 1em;
  }
  .dl-type01__row:last-child dt, .dl-type01__row:last-child dd {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .dl-type01__row dt {
    margin: 0 0 5px;
  }
  .dl-type01__row dd {
    margin: 0 0 10px;
  }
}

.faq-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: item;
}

.faq-list01__item {
  letter-spacing: .06em;
  counter-increment: item;
}

.faq-list01__q {
  border-bottom: 1px solid #000;
  text-indent: -1.8em;
  padding-left: 1.8em;
}
.faq-list01__q a {
  display: block;
  color: #000;
  text-decoration: none;
  position: relative;
  font-weight: bold;
}
.faq-list01__q a:after {
  content: "";
  width: 30px;
  height: 30px;
  background-image: url(/common/img/icon_plus.svg);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 0;
}
.faq-list01__q a:before {
  content: "Q" counter(item) ".";
}
.faq-list01__q.is-open a:after {
  background-image: url(/common/img/icon_minus.svg);
}

.faq-list01__a {
  display: none;
  text-indent: -1.8em;
  padding-left: 1.8em;
  vertical-align: top;
}
.faq-list01__a:before {
  content: "A" counter(item) ".";
  vertical-align: top;
}
.faq-list01__a .mod-post {
  display: inline-block;
  width: calc(100% - 1.8em);
  vertical-align: top;
}

@media print, screen and (min-width: 48em) {
  .faq-list01__item {
    margin-bottom: 40px;
  }
  .faq-list01__q a {
    font-size: 18px;
    font-size: 1.8rem;
    padding: 10px 40px 15px 0;
  }
  .faq-list01__q a:after {
    top: 5px;
  }
  .faq-list01__a {
    padding-top: 20px;
  }
}

@media screen and (max-width: 47.9375em) {
  .faq-list01__item {
    margin-bottom: 30px;
  }
  .faq-list01__q a {
    font-size: 13px;
    font-size: 1.3rem;
    padding: 5px 30px 10px 0;
  }
  .faq-list01__q a:after {
    width: 20px;
    height: 20px;
    background-size: 20px;
    top: 5px;
  }
  .faq-list01__a {
    padding-top: 10px;
  }
}

.form-step01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  overflow: hidden;
}

.form-step01__item {
  width: 100%;
  background-color: #dfdfdf;
  color: #000;
  text-align: center;
  position: relative;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.form-step01__item:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 20px solid #fff;
  position: absolute;
  top: 50%;
  margin-top: -50px;
  left: 100%;
  z-index: 1;
}
.form-step01__item:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 20px solid #dfdfdf;
  position: absolute;
  top: 50%;
  margin-top: -50px;
  left: 100%;
  z-index: 2;
}
.form-step01__item:last-child {
  margin-right: 20px;
}
.form-step01__item._current {
  background-color: #158b91;
  color: #fff;
}
.form-step01__item._current:after {
  border-left-color: #158b91;
}
.form-step01__item i {
  font-style: normal;
}
.form-step01__item span {
  font-weight: bold;
}

@media print, screen and (min-width: 48em) {
  .form-step01 {
    margin: 50px 0 40px;
  }
  .form-step01__item {
    margin: 0 10px 0 0;
    height: 60px;
    padding-left: 20px;
  }
  .form-step01__item:before {
    margin-left: 10px;
  }
  .form-step01__item i {
    font-size: 14px;
    font-size: 1.4rem;
    margin-right: 1em;
  }
  .form-step01__item span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .form-step01 {
    margin: 30px 0 15px;
  }
  .form-step01__item {
    margin: 0 5px 0 0;
    height: 30px;
    padding-left: 33px;
  }
  .form-step01__item:first-child {
    padding-left: 10px;
  }
  .form-step01__item:before {
    margin-left: 5px;
  }
  .form-step01__item i {
    font-size: 10px;
    font-size: 1rem;
  }
  .form-step01__item span {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.form-table {
  width: 100%;
  border-collapse: collapse;
}
.form-table th {
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}
.form-table .required {
  width: 30px;
  line-height: 15px;
  font-size: 10px;
  font-size: 1rem;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
  background-color: #e60012;
  color: #fff;
  text-align: center;
  font-style: normal;
  font-weight: normal;
  letter-spacing: .05em;
  white-space: nowrap;
}
.form-table .error {
  margin: 0;
  padding-top: 0.5rem;
  font-size: 12px;
  font-size: 1.2rem;
  color: #e60012;
}

@media print, screen and (min-width: 48em) {
  .form-table {
    margin: 30px 0 60px;
  }
  .form-table tr:last-child th, .form-table tr:last-child td {
    padding-bottom: 0;
  }
  .form-table th {
    width: 280px;
    padding: 10px 0 40px;
  }
  .form-table td {
    padding: 0 0 40px;
  }
}

@media screen and (max-width: 47.9375em) {
  .form-table {
    margin: 30px 0 0;
  }
  .form-table tr {
    display: block;
  }
  .form-table tr:last-child td {
    margin-bottom: 0;
  }
  .form-table th, .form-table td {
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    width: 100%;
  }
  .form-table th {
    margin-bottom: 5px;
  }
  .form-table td {
    margin-bottom: 15px;
  }
}

.form-frame {
  border: 1px solid #969696;
  text-align: center;
  overflow: hidden;
}
.form-frame .error {
  margin: 0;
  padding-top: 0.5rem;
  font-size: 12px;
  font-size: 1.2rem;
  color: #e60012;
}

.form-frame__check {
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
}
.form-frame__check input {
  margin-right: 10px;
}

@media print, screen and (min-width: 48em) {
  .form-frame {
    margin: 10px 0 60px;
    padding: 25px 0 30px;
  }
  .form-frame__title {
    margin: 0 0 15px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 47.9375em) {
  .form-frame {
    margin: 25px 0 40px;
    padding: 15px 0 20px;
  }
  .form-frame__title {
    margin: 0 0 10px;
  }
}

.form-input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  border: 1px solid #969696;
  border-radius: 0;
  font-size: 16px;
  font-size: 1.6rem;
  box-sizing: border-box;
}

.form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url(/common/img/arrow_select.svg);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 25px auto;
  border-radius: 0;
  font-size: 16px;
  font-size: 1.6rem;
  height: 40px;
  padding: 0 30px 0 10px;
  box-sizing: border-box;
}

.form-select::-ms-expand {
  display: none;
}

.form-textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  border: 1px solid #969696;
  border-radius: 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4;
  box-sizing: border-box;
}

@media print, screen and (min-width: 48em) {
  .form-input {
    height: 40px;
    padding: 5px 10px;
  }
  .form-input._small {
    width: 270px;
  }
  .form-input._xsmall {
    width: 180px;
  }
  .form-textarea {
    height: 150px;
    padding: 10px;
  }
}

@media screen and (max-width: 47.9375em) {
  .form-input {
    height: 40px;
    padding: 5px 10px;
  }
  .form-textarea {
    height: 170px;
    padding: 10px;
  }
}

@media print, screen and (min-width: 48em) {
  .googlemap {
    margin: 30px 0 45px;
  }
}

@media screen and (max-width: 47.9375em) {
  .googlemap {
    position: relative;
    padding-bottom: 34.48276%;
    height: 0;
    overflow: hidden;
    margin: 25px 0 30px;
  }
  .googlemap iframe, .googlemap object, .googlemap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.policy-block01 dt {
  font-weight: bold;
}

@media print, screen and (min-width: 48em) {
  .policy-block01 {
    margin: 40px 0;
  }
  .policy-block01 dt {
    width: 315px;
    flex-shrink: 0;
  }
  .policy-block01 dd {
    margin-left: 30px;
    width: 100%;
  }
  .policy-block01__head, .policy-block01__body {
    border-bottom: 1px solid #969696;
    position: relative;
    display: flex;
    align-items: center;
  }
  .policy-block01__head:after, .policy-block01__body:after {
    content: "";
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: -1px;
    left: 315px;
  }
  .policy-block01__head dt {
    padding-bottom: 15px;
  }
  .policy-block01__head dt + dt {
    margin-left: 30px;
  }
  .policy-block01__body dt, .policy-block01__body dd {
    padding: 30px 0;
  }
  .policy-block01__body .list-type03 {
    margin: 0;
  }
  .policy-block01__body .list-type03 li {
    margin-top: .5em;
  }
  .policy-block01__body .list-type03 li:first-child {
    margin-top: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .policy-block01 {
    border-top: 1px solid #969696;
    padding-top: 15px;
    margin: 20px 0;
  }
  .policy-block01__head {
    display: none;
  }
  .policy-block01__body dt {
    margin-bottom: 5px;
  }
  .policy-block01__body dd {
    margin: 0 0 15px;
    padding: 0 0 15px;
    border-bottom: 1px solid #969696;
  }
  .policy-block01__body .list-type03 {
    margin: 0 0 0 5px;
  }
  .policy-block01__body .list-type03 li {
    margin-top: .5em;
  }
}

.sitemap-list__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sitemap-list__list li a {
  color: #000;
  text-decoration: none;
}

.sitemap-list__head {
  font-weight: bold;
}

@media print, screen and (min-width: 48em) {
  .sitemap-list {
    display: flex;
    justify-content: space-between;
  }
  .sitemap-list__column {
    width: 33.3%;
  }
  .sitemap-list__list {
    margin-top: 3.5em;
  }
  .sitemap-list__list li {
    margin-top: 1em;
  }
  .sitemap-list__list li a:hover {
    text-decoration: underline;
  }
  .sitemap-list__list:first-child {
    margin-top: 0;
  }
  .sitemap-list__head + .sitemap-list__head {
    margin-top: 2em;
  }
}

@media screen and (max-width: 47.9375em) {
  .sitemap-list__list {
    margin-top: 2.5em;
  }
  .sitemap-list__list li {
    margin-top: 1em;
  }
  .sitemap-list__head + .sitemap-list__head {
    margin-top: 2.5em;
  }
}

.case-list01 {
  margin: 0;
}

.case-list01__title {
  font-weight: bold;
}

.case-list01__list {
  margin: 0;
}

@media print, screen and (min-width: 48em) {
  .case-list01 {
    margin: 30px 0;
    display: flex;
  }
  .case-list01__title {
    white-space: nowrap;
    margin-right: 30px;
  }
  .case-list01__list {
    width: 100%;
  }
  .case-list01__list .tag-list01 {
    margin: 0;
  }
}

@media screen and (max-width: 47.9375em) {
  .case-list01 {
    margin: 25px 0;
  }
  .case-list01__title {
    margin: 0 0 10px;
  }
  .case-list01__list .tag-list01 {
    margin: 0;
  }
}

.tag-list01__list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.tag-list01__list li {
  display: inline-block;
  vertical-align: top;
  background-color: #e7f3f4;
  text-align: center;
}

@media print, screen and (min-width: 48em) {
  .tag-list01__list {
    margin-bottom: -20px;
  }
  .tag-list01__list li {
    margin: 0 20px 20px 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 30px;
    padding: 0 12px;
  }
}

@media screen and (max-width: 47.9375em) {
  .tag-list01__list {
    margin-bottom: -10px;
  }
  .tag-list01__list li {
    margin: 0 10px 10px 0;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 20px;
    padding: 0 7px;
  }
}

/*!
mod-post

CMS から更新されるコンテンツ本文のスタイル

Weight: -1020

Style guide: post
*/
/*!
Default

ModPost のデフォルトスタイル

Weight: -100

Markup: <div class="{{ modifier_class }}">
  <h1>h1 見出し</h1>
  <h2>h2 見出し</h2>
  <h3>h3 見出し</h3>
  <h4>h4 見出し</h4>
  <h5>h5 見出し</h5>
  <h6>h6 見出し</h6>
  <hr />
  <p>p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。</p>
  <p>p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。<br />p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。</p>
  <hr />
  <p>p 要素の段落。<strong>strong 要素。</strong>p 要素の段落。<em>em 要素。</em>p 要素の段落。<b>b 要素。</b>p 要素の段落。</p>
  <p>p 要素の段落。<u>u 要素。</u>p 要素の段落。<i>i 要素。</i>p 要素の段落。<s>s 要素。</s>p 要素の段落。</p>
  <p>p 要素の段落。<span>span 要素。</span>p 要素の段落。<a href="javascript:void(0);">a 要素。</a>p 要素の段落。</p>
  <hr />
  <ul>
    <li>ul 要素のリスト。ul 要素のリスト。ul 要素のリスト。</li>
    <li>ul 要素のリスト。ul 要素のリスト。ul 要素のリスト。
      <ul>
        <li>ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。</li>
        <li>ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。</li>
      </ul>
    </li>
  </ul>
  <ol>
    <li>ol 要素のリスト。ol 要素のリスト。ol 要素のリスト。</li>
    <li>ol 要素のリスト。ol 要素のリスト。ol 要素のリスト。
      <ol>
        <li>ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。</li>
        <li>ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。</li>
      </ol>
    </li>
  </ol>
  <hr />
  <p><img src="//placehold.it/600x400.png&text=&lt;img&gt;" /></p>
  <hr />
  <p>
    <span class="{{modifier_class}}__pict  mod-pict" style="width: 400px;">
      <img class="{{modifier_class}}__pict__src  mod-pict__src" src="//placehold.it/400x300.png" alt="" width="400" height="300" />
      <span class="{{modifier_class}}__pict__caption  mod-text">キャプション</span>
    </span>
  </p>
  <hr />
  <p>
    <iframe width="560" height="315" src="//www.youtube.com/embed/Xp697DqsbUU?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  </p>
  <hr />
  <p>
    <span class="{{modifier_class}}__pict  mod-pict  mod-pict--aspect-ratio-16-9">
      <iframe class="{{modifier_class}}__pict__src  mod-pict__src" width="560" height="315" src="//www.youtube.com/embed/Xp697DqsbUU?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    </span>
  </p>
  <hr />
  <table>
    <tr>
      <th scope="row">table 要素の th 要素</th>
      <td>table 要素の td 要素。table 要素の td 要素。table 要素の td 要素。<br />table 要素の td 要素。table 要素の td 要素。</td>
    </tr>
    <tr>
      <th scope="row">table 要素の th 要素</th>
      <td>table 要素の td 要素。table 要素の td 要素。</td>
    </tr>
  </table>
  <hr />
  <span class="mod-post__scrollable-table">
    <table class="mod-post__scrollable-table__src">
      <tr>
        <th scope="col">table 要素の th 要素</th>
        <th scope="col">table 要素の th 要素</th>
        <th scope="col">table 要素の th 要素</th>
        <th scope="col">table 要素の th 要素</th>
        <th scope="col">table 要素の th 要素</th>
        <th scope="col">table 要素の th 要素</th>
      </tr>
      <tr>
        <td>table 要素の td 要素。table 要素の td 要素。table 要素の td 要素。<br />table 要素の td 要素。table 要素の td 要素。</td>
        <td>table 要素の td 要素。table 要素の td 要素。</td>
        <td>table 要素の td 要素。table 要素の td 要素。</td>
        <td>table 要素の td 要素。table 要素の td 要素。</td>
        <td>table 要素の td 要素。table 要素の td 要素。</td>
        <td>table 要素の td 要素。table 要素の td 要素。
          <span class="mod-post__scrollable-table">
            <table>
              <tr>
                <th scope="row">table 要素の th 要素</th>
                <td>table 要素の td 要素。table 要素の td 要素。table 要素の td 要素。<br />table 要素の td 要素。table 要素の td 要素。</td>
              </tr>
              <tr>
                <th scope="row">table 要素の th 要素</th>
                <td>table 要素の td 要素。table 要素の td 要素。</td>
              </tr>
            </table>
          </span>
        </td>
      </tr>
    </table>
  </span>
  <hr />
  <blockquote>
    <h1>h1 見出し</h1>
    <h2>h2 見出し</h2>
    <h3>h3 見出し</h3>
    <h4>h4 見出し</h4>
    <h5>h5 見出し</h5>
    <h6>h6 見出し</h6>
    <hr />
    <p>p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。</p>
    <p>p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。<br />p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。</p>
    <hr />
    <p>p 要素の段落。<strong>strong 要素。</strong>p 要素の段落。<em>em 要素。</em>p 要素の段落。<b>b 要素。</b>p 要素の段落。</p>
    <p>p 要素の段落。<u>u 要素。</u>p 要素の段落。<i>i 要素。</i>p 要素の段落。<s>s 要素。</s>p 要素の段落。</p>
    <p>p 要素の段落。<span>span 要素。</span>p 要素の段落。<a href="javascript:void(0);">a 要素。</a>p 要素の段落。</p>
    <hr />
    <ul>
      <li>ul 要素のリスト。ul 要素のリスト。ul 要素のリスト。</li>
      <li>ul 要素のリスト。ul 要素のリスト。ul 要素のリスト。
        <ul>
          <li>ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。</li>
          <li>ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。</li>
        </ul>
      </li>
    </ul>
    <ol>
      <li>ol 要素のリスト。ol 要素のリスト。ol 要素のリスト。</li>
      <li>ol 要素のリスト。ol 要素のリスト。ol 要素のリスト。
        <ol>
          <li>ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。</li>
          <li>ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。</li>
        </ol>
      </li>
    </ol>
    <hr />
    <p><img src="//placehold.it/600x400.png&text=&lt;img&gt;" /></p>
    <hr />
    <p>
      <span class="{{modifier_class}}__pict  mod-pict" style="width: 400px;">
        <img class="{{modifier_class}}__pict__src  mod-pict__src" src="//placehold.it/400x300.png" alt="" width="400" height="300" />
        <span class="{{modifier_class}}__pict__caption  mod-text">キャプション</span>
      </span>
    </p>
    <hr />
    <p>
      <iframe width="560" height="315" src="//www.youtube.com/embed/Xp697DqsbUU?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    </p>
    <hr />
    <p>
      <span class="{{modifier_class}}__pict  mod-pict  mod-pict--aspect-ratio-16-9">
        <iframe class="{{modifier_class}}__pict__src  mod-pict__src" width="560" height="315" src="//www.youtube.com/embed/Xp697DqsbUU?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
      </span>
    </p>
    <hr />
    <table>
      <tr>
        <th scope="row">table 要素の th 要素</th>
        <td>table 要素の td 要素。table 要素の td 要素。table 要素の td 要素。<br />table 要素の td 要素。table 要素の td 要素。</td>
      </tr>
      <tr>
        <th scope="row">table 要素の th 要素</th>
        <td>table 要素の td 要素。table 要素の td 要素。</td>
      </tr>
    </table>
    <hr />
    <span class="mod-post__scrollable-table">
      <table class="mod-post__scrollable-table__src">
        <tr>
          <th scope="col">table 要素の th 要素</th>
          <th scope="col">table 要素の th 要素</th>
          <th scope="col">table 要素の th 要素</th>
          <th scope="col">table 要素の th 要素</th>
          <th scope="col">table 要素の th 要素</th>
          <th scope="col">table 要素の th 要素</th>
        </tr>
        <tr>
          <td>table 要素の td 要素。table 要素の td 要素。table 要素の td 要素。<br />table 要素の td 要素。table 要素の td 要素。</td>
          <td>table 要素の td 要素。table 要素の td 要素。</td>
          <td>table 要素の td 要素。table 要素の td 要素。</td>
          <td>table 要素の td 要素。table 要素の td 要素。</td>
          <td>table 要素の td 要素。table 要素の td 要素。</td>
          <td>table 要素の td 要素。table 要素の td 要素。
            <span class="mod-post__scrollable-table">
              <table>
                <tr>
                  <th scope="row">table 要素の th 要素</th>
                  <td>table 要素の td 要素。table 要素の td 要素。table 要素の td 要素。<br />table 要素の td 要素。table 要素の td 要素。</td>
                </tr>
                <tr>
                  <th scope="row">table 要素の th 要素</th>
                  <td>table 要素の td 要素。table 要素の td 要素。</td>
                </tr>
              </table>
            </span>
          </td>
        </tr>
      </table>
    </span>
  </blockquote>
  <hr />
  <pre>
&lt;h1&gt;h1 見出し&lt;/h1&gt;
&lt;h2&gt;h2 見出し&lt;/h2&gt;
&lt;h3&gt;h3 見出し&lt;/h3&gt;
&lt;h4&gt;h4 見出し&lt;/h4&gt;
&lt;h5&gt;h5 見出し&lt;/h5&gt;
&lt;h6&gt;h6 見出し&lt;/h6&gt;
&lt;hr /&gt;
&lt;p&gt;p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。&lt;/p&gt;
&lt;p&gt;p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。&lt;br /&gt;p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。p 要素の段落。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;p 要素の段落。&lt;strong&gt;strong 要素。&lt;/strong&gt;p 要素の段落。&lt;em&gt;em 要素。&lt;/em&gt;p 要素の段落。&lt;b&gt;b 要素。&lt;/b&gt;p 要素の段落。&lt;/p&gt;
&lt;p&gt;p 要素の段落。&lt;u&gt;u 要素。&lt;/u&gt;p 要素の段落。&lt;i&gt;i 要素。&lt;/i&gt;p 要素の段落。&lt;s&gt;s 要素。&lt;/s&gt;p 要素の段落。&lt;/p&gt;
&lt;p&gt;p 要素の段落。&lt;span&gt;span 要素。&lt;/span&gt;p 要素の段落。&lt;a href="javascript:void(0);"&gt;a 要素。&lt;/a&gt;p 要素の段落。&lt;/p&gt;
&lt;hr /&gt;
&lt;ul&gt;
&lt;li&gt;ul 要素のリスト。ul 要素のリスト。ul 要素のリスト。&lt;/li&gt;
&lt;li&gt;ul 要素のリスト。ul 要素のリスト。ul 要素のリスト。
  &lt;ul&gt;
    &lt;li&gt;ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。&lt;/li&gt;
    &lt;li&gt;ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。ul 要素のリスト（ネスト）。&lt;/li&gt;
  &lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;ol 要素のリスト。ol 要素のリスト。ol 要素のリスト。&lt;/li&gt;
&lt;li&gt;ol 要素のリスト。ol 要素のリスト。ol 要素のリスト。
  &lt;ol&gt;
    &lt;li&gt;ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。&lt;/li&gt;
    &lt;li&gt;ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。ol 要素のリスト（ネスト）。&lt;/li&gt;
  &lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
  </pre>
</div>

mod-post - デフォルトスタイル

Style guide: post.option.default
*/
.mod-post {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  text-indent: 0;
  text-align: left;
  background-color: transparent;
  font-style: normal;
  font-weight: normal;
  border: 0;
}
.mod-post:before, .mod-post:after {
  content: "";
  display: table;
}
.mod-post:after {
  clear: both;
}
.mod-post h1, .mod-post h2, .mod-post h3, .mod-post h4, .mod-post h5, .mod-post h6, .mod-post p, .mod-post li, .mod-post blockquote, .mod-post pre, .mod-post hr {
  margin: 0;
  padding: 0;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.mod-post ul, .mod-post ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 1.5em;
}
.mod-post strong, .mod-post em, .mod-post b, .mod-post u, .mod-post i, .mod-post s, .mod-post span, .mod-post a {
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.mod-post img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  font-size: 0;
}
.mod-post iframe {
  display: block;
  max-width: 100%;
  min-width: 300px;
  margin: 0 auto;
  font-size: 0;
}
.mod-post table {
  border-collapse: collapse;
  max-width: 100%;
  margin: 0 auto;
}
.mod-post table th, .mod-post table td {
  line-height: 1.6;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.mod-post h1, .mod-post h2, .mod-post h3, .mod-post h4, .mod-post h5, .mod-post h6, .mod-post p, .mod-post ul, .mod-post ol {
  padding-top: 20px;
}
.mod-post h1:first-child, .mod-post h2:first-child, .mod-post h3:first-child, .mod-post h4:first-child, .mod-post h5:first-child, .mod-post h6:first-child, .mod-post p:first-child, .mod-post ul:first-child, .mod-post ol:first-child {
  padding-top: 0;
}
@media print, screen and (min-width: 48em) {
  .mod-post h1 {
    font-size: 21px;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post h1 {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
@media print, screen and (min-width: 48em) {
  .mod-post h2 {
    font-size: 20px;
    font-size: 2.0rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post h2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 48em) {
  .mod-post h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post h3 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
@media print, screen and (min-width: 48em) {
  .mod-post h4 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post h4 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 48em) {
  .mod-post h5 {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post h5 {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media print, screen and (min-width: 48em) {
  .mod-post h6 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post h6 {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.mod-post blockquote, .mod-post pre {
  margin-top: 20px;
}
.mod-post blockquote:first-child, .mod-post pre:first-child {
  margin-top: 0;
}
.mod-post blockquote {
  padding-left: 15px;
  border-left: 3px solid #efefef;
}
.mod-post pre {
  box-sizing: border-box;
  overflow: auto;
  max-width: 100%;
  padding: 15px;
  background: #f7f7f7;
  font-family: monospace;
  border: 1px solid #ddd;
  border-radius: 3px;
}
.mod-post table {
  margin-top: 15px;
  border: 1px solid #969696;
}
.mod-post table th {
  text-align: left;
  vertical-align: top;
  border: 1px solid #969696;
}
@media print, screen and (min-width: 48em) {
  .mod-post table th {
    padding: 8px 18px;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post table th {
    padding: 5px 10px;
  }
}
.mod-post table td {
  border: 1px solid #969696;
}
@media print, screen and (min-width: 48em) {
  .mod-post table td {
    padding: 8px 18px;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post table td {
    padding: 5px 10px;
  }
}
.mod-post strong, .mod-post b {
  font-weight: bold;
}
.mod-post em, .mod-post i {
  font-style: italic;
}
.mod-post u {
  text-decoration: underline;
}
.mod-post s {
  text-decoration: line-through;
}
.mod-post a {
  text-decoration: underline;
  color: #158b91;
}
.mod-post a:hover {
  text-decoration: none;
}
.mod-post hr {
  clear: both;
  height: 0;
  padding-top: 20px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #efefef;
}
.mod-post__pict {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}
.mod-post__pict__caption {
  padding-top: 5px;
  line-height: 1.2;
}
@media print, screen and (min-width: 48em) {
  .mod-post__pict__caption {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .mod-post__pict__caption {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
.mod-post__scrollable-table {
  display: block;
  position: relative;
  overflow: auto;
  max-width: 100%;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.box-spinner {
  display: none;
}
.box-spinner .inner {
  margin: 50px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.spinner {
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
}

.spinner div {
  position: absolute;
  top: 27px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #158b91;
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
}

.spinner div:nth-child(1) {
  left: 6px;
  animation: spinner1 0.6s infinite;
}

.spinner div:nth-child(2) {
  left: 6px;
  animation: spinner2 0.6s infinite;
}

.spinner div:nth-child(3) {
  left: 26px;
  animation: spinner2 0.6s infinite;
}

.spinner div:nth-child(4) {
  left: 45px;
  animation: spinner3 0.6s infinite;
}

@keyframes spinner1 {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes spinner3 {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}

@keyframes spinner2 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(19px, 0);
  }
}

/**
 * blog-detail-header
 */
.blog-detail-header {
  display: block;
  position: relative;
}
.blog-detail-header__container {
  display: block;
  position: relative;
  text-decoration: none;
}
.blog-detail-header__categories {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: normal;
  font-size: 0;
}
.blog-detail-header__categories__item {
  display: inline-block;
  box-sizing: border-box;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  color: #158b91;
  background-color: #e7f3f4;
  font-style: normal;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .blog-detail-header__categories__item {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 2px 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-detail-header__categories__item {
    font-size: 10px;
    font-size: 1rem;
    padding: 1px 10px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-detail-header__categories__item + .blog-detail-header__categories__item {
    margin-left: 10px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-detail-header__categories__item + .blog-detail-header__categories__item {
    margin-left: 5px;
  }
}
.blog-detail-header__date {
  margin: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-detail-header__date {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-detail-header__date {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.blog-detail-header__title {
  margin: 0;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .blog-detail-header__title {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-detail-header__title {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
a:hover .blog-detail-header__title, a:focus .blog-detail-header__title {
  color: #158b91;
}
@media print, screen and (min-width: 48em) {
  .blog-detail-header__categories + .blog-detail-header__date {
    padding-top: 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-detail-header__categories + .blog-detail-header__date {
    padding-top: 8px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-detail-header__date + .blog-detail-header__title {
    padding-top: 10px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-detail-header__date + .blog-detail-header__title {
    padding-top: 5px;
  }
}

/**
 * blog-post
 */
.blog-post {
  display: block;
  position: relative;
}
.blog-post__container {
  display: block;
  position: relative;
  text-decoration: none;
  color: #000;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: color;
}
.blog-post__grid {
  display: table;
  table-layout: fixed;
}
.blog-post__grid__pict {
  display: table-cell;
  vertical-align: top;
}
@media print, screen and (min-width: 48em) {
  .blog-post__grid__pict {
    width: 360px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__grid__pict {
    width: 108px;
  }
}
.blog-post__grid__data {
  display: table-cell;
  vertical-align: top;
}
@media print, screen and (min-width: 48em) {
  .blog-post__grid__pict + .blog-post__grid__data {
    padding-left: 40px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__grid__pict + .blog-post__grid__data {
    padding-left: 15px;
  }
}
.blog-post__pict {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.blog-post__pict::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: transparent;
  border: 1px solid #d8d8d8;
}
.blog-post__pict__src {
  width: 100%;
  height: auto;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: opacity;
}
a:hover .blog-post__pict__src, a:focus .blog-post__pict__src {
  opacity: 0.5;
}
.blog-post__categories {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: normal;
  font-size: 0;
}
.blog-post__categories__item {
  display: inline-block;
  box-sizing: border-box;
  line-height: normal;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  color: #158b91;
  background-color: #e7f3f4;
  font-style: normal;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .blog-post__categories__item {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 2px 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__categories__item {
    font-size: 10px;
    font-size: 1rem;
    padding: 1px 10px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-post__categories__item + .blog-post__categories__item {
    margin-left: 10px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__categories__item + .blog-post__categories__item {
    margin-left: 5px;
  }
}
.blog-post__date {
  margin: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-post__date {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__date {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.blog-post__title {
  margin: 0;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .blog-post__title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__title {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
a:hover .blog-post__title, a:focus .blog-post__title {
  color: #158b91;
}
.blog-post__description {
  margin: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-post__description {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__description {
    display: none;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-post__categories + .blog-post__date {
    padding-top: 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__categories + .blog-post__date {
    padding-top: 8px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-post__date + .blog-post__title, .blog-post__title + .blog-post__description {
    padding-top: 13px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-post__date + .blog-post__title, .blog-post__title + .blog-post__description {
    padding-top: 5px;
  }
}
.blog-post--type-related .blog-post__grid__data {
  vertical-align: middle;
}

/**
 * blog-related-post
 */
.blog-related-post {
  display: block;
  position: relative;
}
.blog-related-post__container {
  display: block;
  position: relative;
  text-decoration: none;
  color: #000;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: color;
}
.blog-related-post__grid {
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .blog-related-post__grid {
    display: block;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-related-post__grid {
    display: table;
    table-layout: fixed;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-related-post__grid__pict {
    width: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-related-post__grid__pict {
    display: table-cell;
    width: 108px;
    vertical-align: top;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-related-post__grid__data {
    width: 100%;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-related-post__grid__data {
    display: table-cell;
    vertical-align: middle;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-related-post__grid__pict + .blog-related-post__grid__data {
    padding-top: 20px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-related-post__grid__pict + .blog-related-post__grid__data {
    padding-left: 15px;
  }
}
.blog-related-post__pict {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
.blog-related-post__pict::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background-color: transparent;
  border: 1px solid #d8d8d8;
}
.blog-related-post__pict__src {
  width: 100%;
  height: auto;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: opacity;
}
a:hover .blog-related-post__pict__src, a:focus .blog-related-post__pict__src {
  opacity: 0.5;
}
.blog-related-post__title {
  margin: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-related-post__title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-related-post__title {
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
  }
}
a:hover .blog-related-post__title, a:focus .blog-related-post__title {
  color: #158b91;
}

/**
 * blog-vertical-list
 */
.blog-vertical-list {
  display: block;
  position: relative;
}
.blog-vertical-list__container {
  display: block;
  position: relative;
}
.blog-vertical-list__list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
.blog-vertical-list__list__item {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-vertical-list__list__item + .blog-vertical-list__list__item {
    padding-top: 80px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-vertical-list__list__item + .blog-vertical-list__list__item {
    padding-top: 30px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-vertical-list--type-related .blog-vertical-list__list__item + .blog-vertical-list__list__item {
    padding-top: 40px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-vertical-list--type-related .blog-vertical-list__list__item + .blog-vertical-list__list__item {
    padding-top: 25px;
  }
}

/**
 * blog-horizontal-list
 */
.blog-horizontal-list {
  display: block;
  position: relative;
}
.blog-horizontal-list__container {
  display: block;
  position: relative;
}
.blog-horizontal-list__list {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media print, screen and (min-width: 48em) {
  .blog-horizontal-list__list {
    display: table;
    table-layout: fixed;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-horizontal-list__list {
    display: block;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-horizontal-list__list + .blog-horizontal-list__list {
    padding-top: 40px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-horizontal-list__list + .blog-horizontal-list__list {
    padding-top: 25px;
  }
}
.blog-horizontal-list__list__item {
  position: relative;
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-horizontal-list__list__item {
    display: table-cell;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-horizontal-list__list__item {
    display: block;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-horizontal-list__list__item:nth-child(3n + 1) {
    padding-right: 30px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-horizontal-list__list__item:nth-child(3n + 2) {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-horizontal-list__list__item:nth-child(3n) {
    padding-left: 30px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-horizontal-list__list__item + .blog-horizontal-list__list__item {
    padding-top: 25px;
  }
}

/**
 * blog-menu
 */
.blog-menu {
  display: block;
  position: relative;
}
.blog-menu__container {
  display: block;
  position: relative;
}
.blog-menu__list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
.blog-menu__list__item {
  position: relative;
  margin: 0;
  padding: 0 0 0 15px;
}
.blog-menu__list__item + .blog-menu__list__item {
  margin-top: 10px;
}
@media print, screen and (min-width: 48em) {
  .blog-menu__list__item {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-menu__list__item {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.blog-menu__list__item__link {
  text-decoration: none;
  color: #000;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: color;
}
.blog-menu__list__item__link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-left-color: #000;
  border-right-color: transparent;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-right-width: 0;
}
@media print, screen and (min-width: 48em) {
  .blog-menu__list__item__link::before {
    top: calc(0.7em - 8px * 0.5);
    border-left-width: 8px;
    border-top-width: 6px;
    border-bottom-width: 6px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-menu__list__item__link::before {
    top: calc(0.7em - 6px * 0.5);
    border-left-width: 7px;
    border-top-width: 5px;
    border-bottom-width: 5px;
  }
}
.blog-menu__list__item__link:hover, .blog-menu__list__item__link:focus, .blog-menu__list__item__link._current {
  color: #158b91;
}
.blog-menu__list__item__link:hover:before, .blog-menu__list__item__link:focus:before, .blog-menu__list__item__link._current:before {
  border-left-color: #158b91;
}

/**
 * blog-go-to-other-navi
 */
.blog-go-to-other-navi {
  display: block;
  position: relative;
}
.blog-go-to-other-navi__container {
  display: block;
  position: relative;
}
.blog-go-to-other-navi__list {
  display: table;
  position: relative;
  table-layout: fixed;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0;
}
.blog-go-to-other-navi__list__item {
  display: table-cell;
  position: relative;
  margin: 0;
  vertical-align: middle;
}
@media print, screen and (min-width: 48em) {
  .blog-go-to-other-navi__list__item:nth-child(3n + 1) {
    padding-right: 50px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-go-to-other-navi__list__item:nth-child(3n + 1) {
    width: 55px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-go-to-other-navi__list__item:nth-child(3n + 2) {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-go-to-other-navi__list__item:nth-child(3n + 2) {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-go-to-other-navi__list__item:nth-child(3n) {
    padding-left: 50px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-go-to-other-navi__list__item:nth-child(3n) {
    width: 55px;
  }
}
.blog-go-to-other-navi__list__item__link {
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  height: 55px;
  line-height: 55px;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  color: #000;
  background-color: #fff;
  border: 1px solid #000;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: color, background-color, border-color;
}
.blog-go-to-other-navi__list__item__link::before, .blog-go-to-other-navi__list__item__link::after {
  content: "";
  display: none;
  width: 6px;
  height: 6px;
  border-color: #000;
  border-style: solid;
  border-width: 2px;
  border-left-width: 0;
  border-bottom-width: 0;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: border-color;
}
@media print, screen and (min-width: 48em) {
  .blog-go-to-other-navi__list__item__link {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .blog-go-to-other-navi__list__item__link::before, .blog-go-to-other-navi__list__item__link::after {
    vertical-align: 0.1em;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-go-to-other-navi__list__item__link {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
  }
  .blog-go-to-other-navi__list__item__link::before, .blog-go-to-other-navi__list__item__link::after {
    vertical-align: middle;
  }
}
.blog-go-to-other-navi__list__item__link:hover, .blog-go-to-other-navi__list__item__link:focus {
  color: #158b91;
  background-color: #e7f3f4;
  border-color: #e7f3f4;
}
.blog-go-to-other-navi__list__item__link:hover::before, .blog-go-to-other-navi__list__item__link:hover::after, .blog-go-to-other-navi__list__item__link:focus::before, .blog-go-to-other-navi__list__item__link:focus::after {
  border-color: #158b91;
}
@media screen and (max-width: 47.9375em) {
  .blog-go-to-other-navi__list__item:nth-child(3n + 1) .blog-go-to-other-navi__list__item__link {
    font-size: 0;
  }
}
.blog-go-to-other-navi__list__item:nth-child(3n + 1) .blog-go-to-other-navi__list__item__link::before {
  display: inline-block;
  transform: rotate(-135deg);
}
@media screen and (max-width: 47.9375em) {
  .blog-go-to-other-navi__list__item:nth-child(3n) .blog-go-to-other-navi__list__item__link {
    font-size: 0;
  }
}
.blog-go-to-other-navi__list__item:nth-child(3n) .blog-go-to-other-navi__list__item__link::after {
  display: inline-block;
  transform: rotate(45deg);
}

/**
 * blog-pagination
 */
.blog-pagination {
  display: block;
  position: relative;
}
.blog-pagination__container {
  display: block;
  position: relative;
}
.blog-pagination__list {
  display: table;
  position: relative;
  table-layout: fixed;
  margin: 0 auto;
  padding: 0;
  font-size: 0;
}
.blog-pagination__list__item, .blog-pagination__list__item-prev, .blog-pagination__list__item-next {
  display: table-cell;
  position: relative;
  margin: 0;
  vertical-align: middle;
}
@media print, screen and (min-width: 48em) {
  .blog-pagination__list__item, .blog-pagination__list__item-prev, .blog-pagination__list__item-next {
    width: 55px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-pagination__list__item, .blog-pagination__list__item-prev, .blog-pagination__list__item-next {
    width: 45px;
  }
}
.blog-pagination__list__item__link, .blog-pagination__list__item-prev__link, .blog-pagination__list__item-next__link {
  display: block;
  box-sizing: border-box;
  position: relative;
  width: 100%;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  color: #000;
  background-color: #fff;
  border: 1px solid #d8d8d8;
  font-weight: bold;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: color, background-color, border-color;
}
@media print, screen and (min-width: 48em) {
  .blog-pagination__list__item__link, .blog-pagination__list__item-prev__link, .blog-pagination__list__item-next__link {
    font-size: 16px;
    font-size: 1.6rem;
    height: 55px;
    line-height: 55px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-pagination__list__item__link, .blog-pagination__list__item-prev__link, .blog-pagination__list__item-next__link {
    font-size: 14px;
    font-size: 1.4rem;
    height: 45px;
    line-height: 45px;
    font-weight: bold;
  }
}
.blog-pagination__list__item__link:not(span):hover, .blog-pagination__list__item__link:not(span):focus, .blog-pagination__list__item-prev__link:not(span):hover, .blog-pagination__list__item-prev__link:not(span):focus, .blog-pagination__list__item-next__link:not(span):hover, .blog-pagination__list__item-next__link:not(span):focus {
  color: #158b91;
  background-color: #e7f3f4;
}
.blog-pagination__list__item__link:not(a), .blog-pagination__list__item-prev__link:not(a), .blog-pagination__list__item-next__link:not(a) {
  color: #fff;
  background-color: #999;
}
.blog-pagination__list__item-prev .blog-pagination__list__item__link, .blog-pagination__list__item-next .blog-pagination__list__item__link {
  font-size: 0;
}
.blog-pagination__list__item-prev .blog-pagination__list__item__link::before, .blog-pagination__list__item-prev .blog-pagination__list__item__link::after, .blog-pagination__list__item-next .blog-pagination__list__item__link::before, .blog-pagination__list__item-next .blog-pagination__list__item__link::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  border-color: #000;
  border-style: solid;
  border-width: 2px;
  border-left-width: 0;
  border-bottom-width: 0;
  transition-duration: 0.2s;
  transition-timing-function: ease;
  transition-property: border-color;
}
@media print, screen and (min-width: 48em) {
  .blog-pagination__list__item-prev .blog-pagination__list__item__link::before, .blog-pagination__list__item-prev .blog-pagination__list__item__link::after, .blog-pagination__list__item-next .blog-pagination__list__item__link::before, .blog-pagination__list__item-next .blog-pagination__list__item__link::after {
    width: 8px;
    height: 8px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-pagination__list__item-prev .blog-pagination__list__item__link::before, .blog-pagination__list__item-prev .blog-pagination__list__item__link::after, .blog-pagination__list__item-next .blog-pagination__list__item__link::before, .blog-pagination__list__item-next .blog-pagination__list__item__link::after {
    width: 6px;
    height: 6px;
  }
}
.blog-pagination__list__item-prev .blog-pagination__list__item__link:hover::before, .blog-pagination__list__item-prev .blog-pagination__list__item__link:hover::after, .blog-pagination__list__item-prev .blog-pagination__list__item__link:focus::before, .blog-pagination__list__item-prev .blog-pagination__list__item__link:focus::after, .blog-pagination__list__item-next .blog-pagination__list__item__link:hover::before, .blog-pagination__list__item-next .blog-pagination__list__item__link:hover::after, .blog-pagination__list__item-next .blog-pagination__list__item__link:focus::before, .blog-pagination__list__item-next .blog-pagination__list__item__link:focus::after {
  border-color: #158b91;
}
.blog-pagination__list__item-prev .blog-pagination__list__item__link::before, .blog-pagination__list__item-prev .blog-pagination__list__item__link::after {
  transform: rotate(-135deg) translate(-1px, 1px);
}
.blog-pagination__list__item-next .blog-pagination__list__item__link::before, .blog-pagination__list__item-next .blog-pagination__list__item__link::after {
  transform: rotate(45deg) translate(-1px, 1px);
}
.blog-pagination__list__item + .blog-pagination__list__item .blog-pagination__list__item__link, .blog-pagination__list__item-prev + .blog-pagination__list__item .blog-pagination__list__item__link, .blog-pagination__list__item + .blog-pagination__list__item-next .blog-pagination__list__item__link {
  border-left: 0;
}

@media print, screen and (min-width: 48em) {
  .blog-vertical-list + .blog-pagination {
    padding-top: 120px;
  }
}

@media screen and (max-width: 47.9375em) {
  .blog-vertical-list + .blog-pagination {
    padding-top: 60px;
  }
}

/**
 * blog-primary-section
 */
.blog-primary-section {
  display: block;
  position: relative;
}
.blog-primary-section__header {
  display: block;
  position: relative;
}
.blog-primary-section__container {
  display: block;
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .blog-primary-section__container {
    padding-top: 35px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-primary-section__container {
    padding-top: 25px;
  }
}
.blog-primary-section__label {
  margin: 0;
  padding: 0;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .blog-primary-section__label {
    font-size: 26px;
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-primary-section__label {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/**
 * blog-secondary-section
 */
.blog-secondary-section {
  display: block;
  position: relative;
}
.blog-secondary-section__header {
  display: block;
  position: relative;
}
@media screen and (max-width: 47.9375em) {
  .blog-secondary-section__header {
    padding: 10px 15px;
    background-color: #f5f5f5;
    background-image: url("data:image/gif;base64,R0lGODlhCAAIAPAAAP///wAAACH5BAEAAAEALAAAAAAIAAgAAAIMDIIJm9oP23lrypgKADs=");
    background-repeat: repeat;
    background-size: 4px 4px;
  }
}
.blog-secondary-section__container {
  display: block;
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .blog-secondary-section__container {
    padding-top: 15px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-secondary-section__container {
    padding: 15px;
  }
}
.blog-secondary-section__label {
  margin: 0;
  padding: 0;
  font-weight: bold;
}
@media print, screen and (min-width: 48em) {
  .blog-secondary-section__label {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-secondary-section__label {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/**
 * blog-multi-column-layout
 */
.blog-multi-column-layout {
  display: block;
  position: relative;
}
.blog-multi-column-layout__container {
  display: block;
  position: relative;
}
.blog-multi-column-layout__column {
  width: 100%;
}
@media print, screen and (min-width: 48em) {
  .blog-multi-column-layout__column {
    display: table;
    table-layout: fixed;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-multi-column-layout__column {
    display: block;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-multi-column-layout__column__primary, .blog-multi-column-layout__column__secondary {
    display: table-cell;
    vertical-align: top;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-multi-column-layout__column__primary, .blog-multi-column-layout__column__secondary {
    display: block;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-multi-column-layout__column__primary {
    padding-right: 90px;
  }
}
@media print, screen and (min-width: 48em) {
  .blog-multi-column-layout__column__secondary {
    width: 320px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-multi-column-layout__column__secondary {
    padding-top: 70px;
  }
}
@media screen and (max-width: 47.9375em) {
  .blog-multi-column-layout--fit-secondary-column-if-mobile .blog-multi-column-layout__column__secondary {
    margin-left: -15px;
    margin-right: -15px;
  }
}

/**
 * share-official-button
 */
.share-official-button {
  display: block;
  position: relative;
}
.share-official-button__container {
  display: block;
  position: relative;
}
.share-official-button__list {
  display: block;
  position: relative;
  font-size: 0;
}
.share-official-button__list__item {
  display: inline-block;
  overflow: hidden;
  height: 20px;
  max-height: 20px;
}
.share-official-button__list__item + .share-official-button__list__item {
  padding-left: 10px;
}

/**
 * util
 */
@media print, screen and (min-width: 48em) {
  .util--margin-top-30-20 {
    margin-top: 30px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--margin-top-30-20 {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--padding-top-30-20 {
    margin-top: 30px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--padding-top-30-20 {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--margin-top-40-20 {
    margin-top: 40px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--margin-top-40-20 {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--padding-top-40-20 {
    margin-top: 40px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--padding-top-40-20 {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--margin-top-60-15 {
    margin-top: 60px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--margin-top-60-15 {
    margin-top: 15px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--padding-top-60-15 {
    margin-top: 60px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--padding-top-60-15 {
    margin-top: 15px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--margin-top-60-30 {
    margin-top: 60px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--margin-top-60-30 {
    margin-top: 30px;
  }
}

@media print, screen and (min-width: 48em) {
  .util--padding-top-60-30 {
    margin-top: 60px;
  }
}

@media screen and (max-width: 47.9375em) {
  .util--padding-top-60-30 {
    margin-top: 30px;
  }
}

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper, .owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: inline-block;
  width: 100%;
}

.owl-carousel .owl-nav.disabled, .owl-carousel .owl-dots.disabled {
  display: none;
}

.owl-carousel .owl-nav .owl-prev, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-dot {
  cursor: pointer;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel .owl-nav button.owl-prev, .owl-carousel .owl-nav button.owl-next, .owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  touch-action: pan-y;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0;
}

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease;
}

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-tn, .owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
/*
 * 	Default theme - Owl Carousel CSS File
 */
.owl-theme .owl-nav {
  margin-top: 10px;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

.owl-theme .owl-nav [class*="owl-"] {
  color: #fff;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #d6d6d6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
}

.owl-theme .owl-nav [class*="owl-"]:hover {
  background: #869791;
  color: #fff;
  text-decoration: none;
}

.owl-theme .owl-nav .disabled {
  opacity: 0.5;
  cursor: default;
}

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 0;
  position: relative;
  bottom: 18px;
}
@media print, screen and (min-width: 48em) {
  .owl-theme .owl-nav.disabled + .owl-dots {
    bottom: 45px;
  }
}

.owl-theme .owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

.owl-theme .owl-dots .owl-dot {
  outline: 0;
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.owl-theme .owl-dots .owl-dot span {
  width: 35px;
  height: 2px;
  margin: 5px 2.5px;
  background: #d6d6d6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity 200ms ease;
}
@media print, screen and (min-width: 48em) {
  .owl-theme .owl-dots .owl-dot span {
    width: 60px;
    margin: 5px 5px;
  }
}

@media print, screen and (min-width: 48em) {
  .owl-theme .owl-dots .owl-dot:hover span {
    background: #158b91;
  }
}

.owl-theme .owl-dots .owl-dot.active span {
  background: #158b91;
}

.js-carousel-items {
  margin: 0 -15px;
  position: relative;
}
@media print, screen and (min-width: 48em) {
  .js-carousel-items {
    margin: 0;
  }
}
.js-carousel-items .item {
  width: 290px;
  height: 180px;
  background-color: #158b91;
  overflow: hidden;
}
@media print, screen and (min-width: 48em) {
  .js-carousel-items .item {
    width: 400px;
    height: 250px;
  }
}
.js-carousel-items .item-list02__list {
  width: 100% !important;
}
.js-carousel-items .item-list02__item {
  margin: 0 !important;
}
.js-carousel-items .owl-nav {
  display: none;
}
@media screen and (max-width: 47.9375em) {
  .js-carousel-items .item-list02__item {
    display: inline-block;
    width: 100%;
  }
  .js-carousel-items .item-list02__item img {
    width: 100%;
    display: block;
  }
}
.js-carousel-items .left, .js-carousel-items .right {
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 220px;
  width: 40px;
  height: 60px;
  margin-top: -30px;
  transition: all .12s ease-in-out;
  cursor: pointer;
}
@media screen and (max-width: 47.9375em) {
  .js-carousel-items .left, .js-carousel-items .right {
    left: 0;
    margin-top: -22.5px;
    width: 30px;
    height: 45px;
  }
}
.js-carousel-items .left::after, .js-carousel-items .right::after {
  content: "";
  width: 20px;
  height: 38px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-image: url("/common/img/icon_arrow01.png");
  background-position: center center;
  background-size: 20px 38px;
  margin-left: -10px;
  margin-top: -19px;
}
@media screen and (max-width: 47.9375em) {
  .js-carousel-items .left::after, .js-carousel-items .right::after {
    width: 15px;
    height: 30px;
    background-size: 15px 30px;
    margin-top: -15px;
    margin-left: -7px;
  }
}
.js-carousel-items .left:hover, .js-carousel-items .right:hover {
  opacity: 0.8;
}
@media screen and (max-width: 47.9375em) {
  .js-carousel-items .left:hover, .js-carousel-items .right:hover {
    opacity: 1;
  }
}
.js-carousel-items .left::after {
  transform: rotateZ(180deg);
}
.js-carousel-items .right {
  right: 220px;
  left: auto;
}
@media screen and (max-width: 47.9375em) {
  .js-carousel-items .right {
    right: 0;
  }
}

.js-carousel-clear {
  transform: translateX(0) !important;
  left: 20px !important;
}
@media screen and (max-width: 47.9375em) {
  .js-carousel-clear {
    left: 0 !important;
  }
}

.slider-type01 {
  width: 100%;
  display: block;
}
.slider-type01 .slider-type01__inner {
  width: 100%;
  height: auto;
  display: inline-block;
}
.slider-type01 .slider-type01__inner .slider-type01__main {
  width: auto;
  height: 720px;
  position: relative;
  background-color: #000;
  background-image: linear-gradient(to bottom, #000, #222);
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__main {
    height: calc(62vw - 15px * 2);
  }
}
.slider-type01 .slider-type01__inner .slider-type01__main .owl-nav, .slider-type01 .slider-type01__inner .slider-type01__main .owl-dots {
  display: none;
}
.slider-type01 .slider-type01__inner .slider-type01__main .item-box {
  box-sizing: border-box;
  width: 100%;
  height: 720px;
  padding: 20px;
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__main .item-box {
    height: calc(62vw - 15px * 2);
  }
}
.slider-type01 .slider-type01__inner .slider-type01__main .left, .slider-type01 .slider-type01__inner .slider-type01__main .right {
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 0;
  width: 40px;
  height: 60px;
  margin-top: -30px;
  transition: all .12s ease-in-out;
  cursor: pointer;
}
.slider-type01 .slider-type01__inner .slider-type01__main .left:hover, .slider-type01 .slider-type01__inner .slider-type01__main .right:hover {
  opacity: 0.8;
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__main .left:hover, .slider-type01 .slider-type01__inner .slider-type01__main .right:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__main .left, .slider-type01 .slider-type01__inner .slider-type01__main .right {
    left: -15px;
  }
}
.slider-type01 .slider-type01__inner .slider-type01__main .left::after, .slider-type01 .slider-type01__inner .slider-type01__main .right::after {
  content: "";
  width: 20px;
  height: 38px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-image: url("/common/img/icon_arrow01.png");
  background-position: center center;
  background-size: 20px 38px;
  margin-left: -10px;
  margin-top: -19px;
}
.slider-type01 .slider-type01__inner .slider-type01__main .left::after {
  transform: rotateZ(180deg);
}
.slider-type01 .slider-type01__inner .slider-type01__main .right {
  right: 0;
  left: auto;
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__main .right {
    right: -15px;
  }
}
.slider-type01 .slider-type01__inner .slider-type01__thumbnail {
  width: auto;
  height: 196px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__thumbnail {
    height: calc((100% - 15px * 2) * 0.333 * 0.62 + 10px * 2);
  }
}
.slider-type01 .slider-type01__inner .slider-type01__thumbnail .owl-nav, .slider-type01 .slider-type01__inner .slider-type01__thumbnail .owl-dots {
  display: none;
}
.slider-type01 .slider-type01__inner .slider-type01__thumbnail .owl-item {
  overflow: hidden;
}
.slider-type01 .slider-type01__inner .slider-type01__thumbnail .item {
  transition: all ease 0.25s;
  height: 0;
  padding-bottom: 62%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-color: #000;
  background-image: linear-gradient(to bottom, #000, #222);
  transform: scale(1.01);
  cursor: pointer;
}
.slider-type01 .slider-type01__inner .slider-type01__thumbnail .item.active {
  opacity: 0.5;
}
.slider-type01 .slider-type01__inner .slider-type01__thumbnail .owl-stage {
  padding: 30px 0;
  margin: 0 auto;
}
@media screen and (max-width: 47.9375em) {
  .slider-type01 .slider-type01__inner .slider-type01__thumbnail .owl-stage {
    padding: 10px 0;
  }
}

@media print {
  .header {
    position: absolute;
  }
}
