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

@font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-weight: 500;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  font-family: "Noto Sans JP";
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-weight: 400;
  font-style: normal;
  font-family: "Roboto Condensed";
  src: url("../fonts/RobotoCondensed-Regular.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-weight: 700;
  font-style: normal;
  font-family: "Roboto Condensed";
  src: url("../fonts/RobotoCondensed-Bold.ttf") format("truetype");
}
.works-header__inner, .works-mainv__inner, .entry__inner, .sec__inner, .pagetitle__inner, .footer__inner {
  width: 100%;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

.works-header, .works-mainv, .single-localnav, .entry, .sec, .footer {
  padding-right: 40px;
  padding-left: 40px;
}
@media screen and (max-width: 600px) {
  .works-header, .works-mainv, .single-localnav, .entry, .sec, .footer {
    padding-right: 15px;
    padding-left: 15px;
  }
}

:root {
  --fluid-ratio-pc: calc(1 / 1920 * 100dvi);
}

html,
body {
  width: 100%;
  background: #fff;
}

html,
body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 62.5%;
  line-height: 2;
  color: #000;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: 1.6rem;
}
.is-chgFw body {
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  body {
    font-size: 1.6rem;
  }
}

a {
  color: #000;
  text-decoration: none;
  outline: none;
}
a:hover {
  text-decoration: underline;
}
a:focus {
  outline: none;
}

img {
  vertical-align: bottom;
  opacity: 1;
  visibility: visible;
  -webkit-backface-visibility: hidden;
}

h1 {
  font-size: 3.2rem;
  line-height: 1.4;
}

h2 {
  margin: 2em 0 1em;
  font-size: 2.8rem;
  line-height: 1.4;
}

h3 {
  margin: 2em 0 1em;
  font-size: 1.8rem;
  line-height: 1.4;
}

p {
  margin: 0 0 1.5em;
}

ul {
  padding-left: 0;
}

li {
  list-style: none outside none;
}

hr {
  margin: 45px 0;
  border: none;
  border-top: 1px solid #DDD;
}

article img {
  width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

sup,
sub {
  font-size: 0.6em;
}

figure {
  margin: 0 0 1.5em;
}

@font-face {
  font-family: "iconasst";
  src: url("../fonts/iconasst.eot?9phld5");
  src: url("../fonts/iconasst.eot?9phld5#iefix") format("embedded-opentype"), url("../fonts/iconasst.ttf?9phld5") format("truetype"), url("../fonts/iconasst.woff?9phld5") format("woff"), url("../fonts/iconasst.svg?9phld5#iconasst") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "iconasst" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-asst-arrow-m-l:before {
  content: "\e900";
}

.icon-asst-arrow-m-r:before {
  content: "\e908";
}

.icon-asst-loupe-line:before {
  content: "\e906";
}

.icon-asst-arrow-line-l:before {
  content: "\e90a";
}

.icon-asst-arrow-line-r:before {
  content: "\e909";
}

.icon-asst-plus:before {
  content: "\e90d";
}

.icon-asst-arrow-b-top:before {
  content: "\e901";
}

.icon-asst-arrow-b-l:before {
  content: "\e90e";
}

.icon-asst-arrow-b-r:before {
  content: "\e902";
}

.icon-asst-multiplied:before {
  content: "\e90b";
}

.icon-asst-window:before {
  content: "\e904";
}

.icon-asst-hatena2:before {
  content: "\e903";
}

.icon-facebook:before {
  content: "\e905";
  color: #3b5998;
}

.icon-hatenabookmark:before {
  content: "\e90c";
  color: #00a4de;
}

.icon-instagram:before {
  content: "\e910";
  color: #e4405f;
}

.icon-twitter:before {
  content: "\e907";
  color: #1da1f2;
}

.icon-youtube:before {
  content: "\e913";
  color: #f00;
}

.icon-facebook2:before {
  content: "\ea90";
}

/**
 * Swiper 8.3.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: July 26, 2022
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 10px;
  right: auto;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
}

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out;
}
.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}
.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}
.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden;
}
.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto;
}

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-close:focus, .modaal-close:hover {
  outline: none;
  background: #fff;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
  background: #b93d0c;
}
.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-close:before, .modaal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-close:before {
  transform: rotate(-45deg);
}
.modaal-close:after {
  transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px;
}

.modaal-content-container {
  padding: 30px;
}

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0;
}

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent;
}
.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  transition: background 0.2s ease-in-out;
}
.modaal-confirm-btn.modaal-ok:hover {
  background: rgb(46.75, 46.75, 46.75);
}
.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline;
}
.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: rgb(46.75, 46.75, 46.75);
}

@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-o-keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-ms-keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important;
}
.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent;
}
.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px;
}
.modaal-image .modaal-container {
  width: auto;
  max-width: 100%;
}

.modaal-gallery-wrap {
  position: relative;
  color: #fff;
}

.modaal-gallery-item {
  display: none;
}
.modaal-gallery-item img {
  display: block;
}
.modaal-gallery-item.is_active {
  display: block;
}

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff;
}
.modaal-gallery-label:focus {
  outline: none;
}

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default;
}
.modaal-gallery-control:focus, .modaal-gallery-control:hover {
  outline: none;
  background: #fff;
}
.modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
  background: #afb7bc;
}
.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-gallery-control:before, .modaal-gallery-control:after {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-gallery-control:before {
  margin: -5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-control:after {
  margin: 5px 0 0;
  transform: rotate(45deg);
}

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px;
}
.modaal-gallery-next-outer {
  right: 45px;
}

.modaal-gallery-prev:before, .modaal-gallery-prev:after {
  left: 22px;
}
.modaal-gallery-prev:before {
  margin: 5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-prev:after {
  margin: -5px 0 0;
  transform: rotate(45deg);
}
.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px;
}
.modaal-gallery-prev-outer {
  left: 45px;
}

.modaal-video-wrap {
  margin: auto 50px;
  position: relative;
}

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%;
}

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block;
}

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px;
  }
}
@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px;
  }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7);
  }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    left: auto;
    right: 20px;
  }
  .modaal-gallery-prev {
    left: 20px;
    right: auto;
  }
}
@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
}
@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important;
  }
}
@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .modaal-instagram iframe {
    width: 600px !important;
  }
}
@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px;
  }
}
@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important;
  }
}
@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none;
  }
}
.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25);
}

@-ms-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-moz-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@-o-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
  }
}
.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute;
}

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0s;
  -moz-animation-delay: 0s;
  -webkit-animation-delay: 0s;
  -o-animation-delay: 0s;
  animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
  -ms-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.12s;
  -moz-animation-delay: 0.12s;
  -webkit-animation-delay: 0.12s;
  -o-animation-delay: 0.12s;
  animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
  -ms-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.25s;
  -moz-animation-delay: 0.25s;
  -webkit-animation-delay: 0.25s;
  -o-animation-delay: 0.25s;
  animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
  -ms-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.37s;
  -moz-animation-delay: 0.37s;
  -webkit-animation-delay: 0.37s;
  -o-animation-delay: 0.37s;
  animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
  -ms-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s;
  -o-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
  -ms-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.62s;
  -moz-animation-delay: 0.62s;
  -webkit-animation-delay: 0.62s;
  -o-animation-delay: 0.62s;
  animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
  -ms-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.75s;
  -moz-animation-delay: 0.75s;
  -webkit-animation-delay: 0.75s;
  -o-animation-delay: 0.75s;
  animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
  -ms-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -ms-animation-delay: 0.87s;
  -moz-animation-delay: 0.87s;
  -webkit-animation-delay: 0.87s;
  -o-animation-delay: 0.87s;
  animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
  -ms-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -moz-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -o-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

.modaal-container {
  max-width: 860px;
  color: #000;
}

.modaal-content-container {
  padding: 0;
}

.modaal-overlay {
  z-index: 6000;
}

.modaal-video-wrap {
  margin-right: 0;
  margin-left: 0;
}

@media screen and (max-width: 600px) {
  .modaal-inner-wrapper {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.modaal-wrapper .modaal-close:before, .modaal-wrapper .modaal-close:after {
  top: 2px;
  left: 7px;
  width: 2px;
  height: 15px;
  background: #000;
  border-radius: 0;
}
.modaal-wrapper .modaal-close:hover, .modaal-wrapper .modaal-close:focus {
  background: transparent;
}
.modaal-wrapper .modaal-close.el-field-close {
  position: relative;
  right: auto;
  top: 0;
  display: inline-block;
  width: auto;
  height: auto;
  padding-left: 25px;
  border-radius: 0;
  color: #000;
  font-weight: bold;
}

img {
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
img.lazyestload {
  opacity: 0;
  visibility: hidden;
}
.ly-main img {
  max-width: 100%;
  height: auto;
}

.el-btn {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 240px;
  padding: 0 10px;
  box-sizing: border-box;
  background: #FFF;
  border: 1px solid #000;
  border-radius: 30px;
  color: #000;
  font-size: 1.8rem;
  line-height: 3.2;
  font-weight: bold;
  text-align: center;
  overflow: hidden;
  transition: background 0.3s cubic-bezier(0.17, 0.75, 0.45, 1), border-color 0.3s cubic-bezier(0.17, 0.75, 0.45, 1), color 0.3s cubic-bezier(0.17, 0.75, 0.45, 1), opacity 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.el-btn:hover {
  color: #fff;
  background: #000;
  border-color: #000;
  text-decoration: none;
}
.el-btn:hover:before {
  border-color: transparent transparent transparent #fff;
}
.el-btn.el-btn-primary:before {
  border-color: transparent transparent transparent #fff;
}
.el-btn.el-btn-primary:hover:before {
  border-color: transparent transparent transparent #000;
}
@media screen and (max-width: 600px) {
  .el-btn {
    max-width: 180px;
    font-size: 1.4rem;
  }
}
.el-btn-primary {
  background: #000;
  color: #fff;
}
.el-btn-primary:hover {
  background: #fff;
  color: #000;
}
.caption {
  font-size: 1.1rem;
  line-height: 2;
}

.el-notes {
  padding-left: 1em;
  text-indent: -1em;
}

.el-sp-only {
  display: none;
}
@media screen and (max-width: 600px) {
  .el-sp-only {
    display: block;
  }
}

.grid2 {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 600px) {
  .grid2 {
    display: block;
  }
}
.grid2 > .col {
  width: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .grid2 > .col {
    width: 100%;
  }
}

.grid3 {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 600px) {
  .grid3 {
    display: block;
  }
}
.grid3 > .col {
  width: 33.333%;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .grid3 > .col {
    width: 100%;
  }
}
.grid3 > .col_multi2 {
  width: 66.666%;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .grid3 > .col_multi2 {
    width: 100%;
  }
}

.grid4 {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 600px) {
  .grid4 {
    display: block;
  }
}
.grid4 > .col {
  width: 25%;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .grid4 > .col {
    width: 100%;
  }
}
.grid4 > .col_multi3 {
  width: 75%;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .grid4 > .col_multi3 {
    width: 100%;
  }
}

.grid5 {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 600px) {
  .grid5 {
    display: block;
  }
}
.grid5 > .col {
  width: 20%;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .grid5 > .col {
    width: 100%;
  }
}

.grid2 {
  margin-right: -35px;
  margin-left: -35px;
}
.grid2.dir-r {
  flex-direction: row-reverse;
}
@media screen and (max-width: 1080px) {
  .grid2 {
    margin-right: -30px;
    margin-left: -30px;
  }
}
@media screen and (max-width: 768px) {
  .grid2 {
    margin-right: -20px;
    margin-left: -20px;
  }
}
@media screen and (max-width: 600px) {
  .grid2 {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid2 .col {
  padding-right: 35px;
  padding-left: 35px;
}
@media screen and (max-width: 1080px) {
  .grid2 .col {
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media screen and (max-width: 768px) {
  .grid2 .col {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 600px) {
  .grid2 .col {
    padding-right: 0;
    padding-left: 0;
  }
}
.grid2--mMd {
  margin-right: -25px;
  margin-left: -25px;
}
@media screen and (max-width: 600px) {
  .grid2--mMd {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid2--mMd .col,
.grid2--mMd .col_multi2 {
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 600px) {
  .grid2--mMd .col,
  .grid2--mMd .col_multi2 {
    padding-right: 0;
    padding-left: 0;
  }
}
.grid2--mSm {
  margin-right: -20px;
  margin-left: -20px;
}
@media screen and (max-width: 600px) {
  .grid2--mSm {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid2--mSm .col {
  padding-right: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 600px) {
  .grid2--mSm .col {
    padding-right: 0;
    padding-left: 0;
  }
}

.grid3 {
  margin-right: -35px;
  margin-left: -35px;
}
.grid3.dir-r {
  flex-direction: row-reverse;
}
@media screen and (max-width: 600px) {
  .grid3 {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid3 .col,
.grid3 .col_multi2 {
  padding-right: 35px;
  padding-left: 35px;
}
@media screen and (max-width: 600px) {
  .grid3 .col,
  .grid3 .col_multi2 {
    padding-right: 0;
    padding-left: 0;
  }
}
.grid3--mMd {
  margin-right: -25px;
  margin-left: -25px;
}
@media screen and (max-width: 600px) {
  .grid3--mMd {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid3--mMd .col,
.grid3--mMd .col_multi2 {
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 600px) {
  .grid3--mMd .col,
  .grid3--mMd .col_multi2 {
    padding-right: 0;
    padding-left: 0;
  }
}
.grid3--mSm {
  margin-right: -20px;
  margin-left: -20px;
}
@media screen and (max-width: 600px) {
  .grid3--mSm {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid3--mSm .col,
.grid3--mSm .col_multi2 {
  padding-right: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 600px) {
  .grid3--mSm .col,
  .grid3--mSm .col_multi2 {
    padding-right: 0;
    padding-left: 0;
  }
}

.grid4 {
  margin-right: -25px;
  margin-left: -25px;
}
.grid4.dir-r {
  flex-direction: row-reverse;
}
@media screen and (max-width: 600px) {
  .grid4 {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid4 .col,
.grid4 .col_multi2,
.grid4 .col_multi3 {
  padding-right: 25px;
  padding-left: 25px;
}
@media screen and (max-width: 600px) {
  .grid4 .col,
  .grid4 .col_multi2,
  .grid4 .col_multi3 {
    padding-right: 0;
    padding-left: 0;
  }
}
.grid4--mSm {
  margin-right: -20px;
  margin-left: -20px;
}
@media screen and (max-width: 600px) {
  .grid4--mSm {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid4--mSm .col,
.grid4--mSm .col_multi2,
.grid4--mSm .col_multi3 {
  padding-right: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 600px) {
  .grid4--mSm .col,
  .grid4--mSm .col_multi2,
  .grid4--mSm .col_multi3 {
    padding-right: 0;
    padding-left: 0;
  }
}

.grid5 {
  margin-right: -15px;
  margin-left: -15px;
}
.grid5.dir-r {
  flex-direction: row-reverse;
}
@media screen and (max-width: 600px) {
  .grid5 {
    margin-right: 0;
    margin-left: 0;
  }
}
.grid5 .col {
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (max-width: 600px) {
  .grid5 .col {
    padding-right: 0;
    padding-left: 0;
  }
}

.col img,
.col_multi2 img,
.col_multi3 img {
  width: 100%;
  height: auto;
}

.bl-grid-item {
  position: relative;
  margin-top: 30px;
  padding-top: 30px;
}
.bl-grid-item:before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: calc(100% - 70px);
  height: 1px;
  background: #DDD;
  content: "";
  transform: translateX(-50%);
}
@media screen and (max-width: 600px) {
  .bl-grid-item:before {
    width: 100%;
  }
}
.bl-grid-item--full:before {
  width: 100%;
}
.bl-grid-item:first-child {
  padding-top: 0;
}
.bl-grid-item:first-child:before {
  display: none;
}
.bl-grid-item:last-child {
  padding-bottom: 0;
}
@media screen and (max-width: 600px) {
  .bl-grid-item-body {
    margin-bottom: 30px;
  }
  .bl-grid-item-body:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 600px) {
  .bl-grid-item-fig {
    margin-bottom: 30px;
  }
  .bl-grid-item-fig:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 600px) {
  .bl-grid-item-col {
    margin-bottom: 30px;
  }
  .bl-grid-item-col:last-child {
    margin-bottom: 0;
  }
}

.card {
  display: flex;
  margin-right: -25px;
  margin-left: -25px;
}
@media screen and (max-width: 900px) {
  .card {
    margin-right: -15px;
    margin-left: -15px;
  }
}
@media screen and (max-width: 768px) {
  .card {
    margin-right: -10px;
    margin-left: -10px;
  }
}
@media screen and (max-width: 600px) {
  .card {
    display: block;
  }
}
.card .item-card {
  width: 33.333%;
  padding-right: 25px;
  padding-left: 25px;
  box-sizing: border-box;
}
@media screen and (max-width: 900px) {
  .card .item-card {
    padding-right: 15px;
    padding-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  .card .item-card {
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media screen and (max-width: 600px) {
  .card .item-card {
    width: 100%;
    margin-bottom: 30px;
  }
}
.card .item-card > a {
  display: block;
}
.card .item-card > a:hover {
  text-decoration: none;
}
.card .item-card > a:hover .card-fig {
  transform: scale(0.95);
}
.card .item-card > a:hover .card-fig > span {
  transform: scale(1.15);
}
.card-fig {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
  overflow: hidden;
}
.card-fig > span {
  display: block;
  position: relative;
  display: block;
  margin: 0;
  padding-top: 56.25%;
  overflow: hidden;
}
.card-fig > span > img {
  position: absolute;
  top: -100%;
  right: -100%;
  bottom: -100%;
  left: -100%;
  margin: auto;
  width: 100%;
  max-width: initial;
  max-width: auto;
  height: auto;
  z-index: 0;
}
.card-fig > span {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.card-title {
  margin: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .card-title {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 600px) {
  .card-title {
    font-size: 1.4rem;
  }
}

.bl-notes {
  margin: 0 0 1.5em;
  font-size: 1.2rem;
}
.bl-notes:last-child {
  margin-bottom: 0;
}
.bl-notes > span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.bl-notes--num > span {
  padding-left: 1.7em;
  text-indent: -1.7em;
}

.bl-table-scroll {
  margin-bottom: 1.5em;
}
.bl-table-scroll:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .bl-table-scroll {
    overflow: auto;
    white-space: nowrap;
  }
}
@media screen and (max-width: 600px) {
  .bl-table-scroll-inner {
    display: inline-block;
    width: 700px;
    white-space: normal;
  }
}

table {
  width: 100%;
  margin: 1.5em 0;
  line-height: 1.75;
  text-align: left;
}
@media screen and (max-width: 600px) {
  table {
    font-size: 1.4rem;
  }
}
table:last-child {
  margin-bottom: 0;
}
table th,
table td {
  padding: 12px 20px;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
  box-sizing: border-box;
  vertical-align: top;
}
@media screen and (max-width: 600px) {
  table th,
  table td {
    padding: 10px;
  }
}
table th {
  width: 260px;
  background: #F2F2F2;
  font-weight: 500;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  table th {
    width: 160px;
  }
}
@media screen and (max-width: 600px) {
  table th {
    width: 120px;
  }
}
table thead th {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 1.4rem;
}

@media screen and (max-width: 600px) {
  .bl-table--vert {
    display: block;
    width: 100%;
    border-bottom: 1px solid #DDD;
  }
}
@media screen and (max-width: 600px) {
  .bl-table--vert thead,
  .bl-table--vert tbody,
  .bl-table--vert tr {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .bl-table--vert th {
    display: block;
    width: 100%;
    border: 0;
    border-top: 1px solid #DDD;
  }
}
@media screen and (max-width: 600px) {
  .bl-table--vert td {
    display: block;
    border: 0;
    border-top: 1px solid #DDD;
  }
}
.bl-table--sm {
  font-size: 1.3rem;
}
.bl-table--sm th,
.bl-table--sm td {
  padding: 8px 15px;
}
.bl-table--sm thead th {
  padding-top: 3px;
  padding-bottom: 3px;
  font-size: 1.2rem;
}

.bl-dl-row {
  margin: 1em 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
.bl-dl-row > dt {
  float: left;
  width: 130px;
  padding-top: 11px;
  padding-bottom: 10px;
  font-weight: 500;
  clear: both;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .bl-dl-row > dt {
    float: none;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
  }
}
.bl-dl-row > dd {
  width: 100%;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 130px;
  border-top: 1px solid rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .bl-dl-row > dd {
    padding-top: 0;
    padding-left: 0;
    border-top: none;
  }
}
.bl-dl-row--long > dt {
  width: 250px;
}
@media screen and (max-width: 600px) {
  .bl-dl-row--long > dt {
    width: 100%;
  }
}
.bl-dl-row--long > dd {
  padding-left: 250px;
}
@media screen and (max-width: 600px) {
  .bl-dl-row--long > dd {
    padding-left: 0;
  }
}
.bl-dl-row-fx {
  display: flex;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl-dl-row-fx {
    display: block;
    margin-bottom: 0.25em;
  }
  .bl-dl-row-fx:last-child {
    margin-bottom: 0;
  }
}
.bl-dl-row-fx > dt {
  flex: 0 0 220px;
  font-weight: 500;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .bl-dl-row-fx > dt {
    width: 100%;
    padding-top: 10px;
    padding-bottom: 0;
  }
}
.bl-dl-row-fx > dd {
  flex: 1 1 auto;
  margin: 0;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .bl-dl-row-fx > dd {
    padding-top: 0;
    padding-left: 0;
    border-top: none;
  }
}

.bl-list-disc {
  margin-top: 0;
  margin-bottom: 1.5em;
}
.bl-list-disc:last-child {
  margin-bottom: 0;
}
.bl-list-disc > li {
  position: relative;
  margin-bottom: 1em;
  padding-left: 1em;
}
.bl-list-disc > li:last-child {
  margin-bottom: 0;
}
.bl-list-disc > li:before {
  top: 15px;
  transform: translateY(-50%);
  position: absolute;
  left: 1px;
  display: block;
  width: 4px;
  height: 4px;
  background-color: #000;
  border-radius: 50%;
  content: "";
}
.bl-list-disc--row > li {
  display: inline-block;
  margin-right: 40px;
}
.bl-list-disc--row > li:last-child {
  margin-right: 0;
}
.bl-list-disc--liMb0 {
  margin-bottom: 1em;
}
.bl-list-disc--liMb0:last-child {
  margin-bottom: 0;
}
.bl-list-disc--liMb0 > li {
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .bl-list-disc--liMb0 > li > br {
    display: none;
  }
}
.bl-list-disc--bd {
  border-bottom: 1px solid #DDD;
}
.bl-list-disc--bd > li {
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top: 1px solid #DDD;
}
.bl-list-disc--bd > li:before {
  top: 25px;
  transform: translateY(-50%);
}

.bl-list-num {
  margin-bottom: 1.5em;
  padding-left: 0;
  counter-reset: num;
}
.bl-list-num > li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 1.5em;
  counter-increment: num;
}
.bl-list-num > li:last-child {
  margin-bottom: 0;
}
.bl-list-num > li:before {
  top: 16px;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  display: block;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  content: counter(num);
}
.bl-list-num--liMb0:last-child {
  margin-bottom: 0;
}
.bl-list-num--liMb0 > li {
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .bl-list-num--liMb0 > li > br {
    display: none;
  }
}

select {
  position: relative;
  width: 100%;
  padding: 12px 15px;
  border-radius: 3px;
  box-sizing: border-box;
  z-index: 2;
  color: #000;
}
select ::-ms-expand {
  display: none;
}

input[type=submit] {
  width: 200px;
  padding: 15px;
  background: #000;
  border-radius: 3px;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 1.7rem;
  cursor: pointer;
  transition: opacity 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
input[type=submit]:hover {
  opacity: 0.5;
}
input[type=submit].t-size-full {
  width: 100%;
}
input[type=submit][disabled] {
  background: #cccccc;
  cursor: pointer !important;
}
input[type=submit][disabled]:hover {
  opacity: 1;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=date] {
  width: 100%;
  max-width: 600px;
  padding: 12px 15px;
  border: 1px solid #ccc;
  background: #FFF;
  border-radius: 3px;
  line-height: 1.4;
  box-sizing: border-box;
}
input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=date]::-webkit-input-placeholder {
  color: #999;
}
input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=date]::-moz-placeholder {
  color: #999;
}
input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=date]:-ms-input-placeholder {
  color: #999;
}
input[type=text]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=date]::-ms-input-placeholder {
  color: #999;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=date]::placeholder {
  color: #999;
}
input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=date]:-ms-input-placeholder {
  color: #999;
}
input[type=text].item-zipcode,
input[type=email].item-zipcode,
input[type=tel].item-zipcode,
input[type=date].item-zipcode {
  max-width: 220px;
}

label.item-inputType-text > span {
  display: block;
  margin-bottom: 0.25em;
}
label.item-email {
  display: block;
  margin-top: 0.5em;
}
label.item-email:first-child {
  margin-top: 0;
}
label.item-address {
  display: block;
  margin-bottom: 0.5em;
}
label.item-address:last-child {
  margin-bottom: 0;
}

textarea {
  width: 100%;
  max-width: 600px;
  height: 12.8em;
  line-height: 1.3;
  padding: 12px 15px;
  background-color: #FFF;
  border: 1px solid #ccc;
  border-radius: 3px;
  line-height: 1.6;
  box-sizing: border-box;
}
textarea::-webkit-input-placeholder {
  color: #999;
}
textarea::-moz-placeholder {
  color: #999;
}
textarea:-ms-input-placeholder {
  color: #999;
}
textarea::-ms-input-placeholder {
  color: #999;
}
textarea::placeholder {
  color: #999;
}
textarea:-ms-input-placeholder {
  color: #999;
}
textarea.form-date {
  height: 6em;
}

span[class^=filename-] {
  display: block;
  box-sizing: border-box;
  margin-left: 15px;
  color: #999;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
}

.bl-select-wrapper {
  position: relative;
  width: 220px;
  background: #FFF;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
}
.bl-select-wrapper:before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 45px;
  height: 100%;
  border-left: 1px solid #ccc;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  box-sizing: border-box;
  background: #FFF;
  content: "";
  z-index: 1;
}
.bl-select-wrapper:after {
  position: absolute;
  top: 50%;
  right: 17px;
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #999;
  border-right: 2px solid #999;
  transform: translateY(-70%) rotate(135deg);
  content: "";
  z-index: 1;
}

.type-radio label {
  display: inline-block;
  margin-right: 15px;
  line-height: 1.75;
}
.type-radio label:hover {
  cursor: pointer;
}
.type-radio label > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}
.type-radio label > span:before {
  position: absolute;
  top: 5px;
  left: 0;
  display: block;
  width: 17px;
  height: 17px;
  background-color: #FFF;
  border: 1px solid #ccc;
  border-radius: 50%;
  box-sizing: border-box;
  content: "";
}
.type-radio label input[type=radio] {
  display: none;
}
.type-radio label input[type=radio]:checked + span:after {
  position: absolute;
  top: 9px;
  left: 4px;
  display: block;
  width: 9px;
  height: 9px;
  background: #000;
  border-radius: 50%;
  content: "";
}
.type-radio label input[type=radio]:checked + input[type=hidden] + span:after {
  position: absolute;
  top: 9px;
  left: 4px;
  display: block;
  width: 9px;
  height: 9px;
  background: #000;
  border-radius: 50%;
  content: "";
}
.type-radio.is-disabled label > span {
  color: #d2d7dc;
}
.type-radio.is-disabled label > span:before {
  background: #eef2f4;
  border: none;
}
.type-radio.is-disabled label input[type=radio] {
  display: none;
}
.type-radio.is-disabled label input[type=radio]:checked + span:after {
  background: none;
}
.type-radio.is-disabled label input[type=radio]:checked + input[type=hidden] + span:after {
  background: none;
}
.type-check label, span[class^="wpcf7-form-control-wrap acceptance"] label {
  display: inline-block;
  margin-right: 15px;
}
.type-check label:hover, span[class^="wpcf7-form-control-wrap acceptance"] label:hover {
  cursor: pointer;
}
.type-check label > span, span[class^="wpcf7-form-control-wrap acceptance"] label > span {
  position: relative;
  display: inline-block;
  padding-left: 25px;
}
.type-check label > span:before, span[class^="wpcf7-form-control-wrap acceptance"] label > span:before {
  position: absolute;
  top: 5px;
  left: 0;
  display: block;
  width: 17px;
  height: 17px;
  margin-right: 3px;
  background-color: #FFF;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
  content: "";
}
.type-check label input[type=checkbox], span[class^="wpcf7-form-control-wrap acceptance"] label input[type=checkbox] {
  display: none;
}
.type-check label input[type=checkbox]:checked + span:after, span[class^="wpcf7-form-control-wrap acceptance"] label input[type=checkbox]:checked + span:after {
  position: absolute;
  top: 13px;
  left: 5px;
  display: block;
  width: 5px;
  height: 8px;
  margin-top: -7px;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  content: "";
  transform: rotate(45deg);
}
.type-check label input[type=checkbox]:checked + input[type=hidden] + span:after, span[class^="wpcf7-form-control-wrap acceptance"] label input[type=checkbox]:checked + input[type=hidden] + span:after {
  position: absolute;
  top: 13px;
  left: 5px;
  display: block;
  width: 5px;
  height: 9px;
  margin-top: -7px;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  content: "";
  transform: rotate(45deg);
}

.type-radio,
.type-check {
  line-height: 1.75;
}

.bl-siteSearch .gsc-control-cse {
  padding: 0 !important;
  border: none !important;
  background-color: transparent !important;
}
.bl-siteSearch form.gsc-search-box {
  height: 30px;
  margin: 0;
  border: none;
  overflow: hidden;
  line-height: 0;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box {
    height: 50px;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box {
  height: 30px;
  margin: 0;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box {
    height: 50px;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box > tbody,
.bl-siteSearch form.gsc-search-box table.gsc-search-box > tr,
.bl-siteSearch form.gsc-search-box table.gsc-search-box > td {
  height: 30px;
  padding: 0;
  line-height: 1.2;
  vertical-align: top;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box > tbody,
  .bl-siteSearch form.gsc-search-box table.gsc-search-box > tr,
  .bl-siteSearch form.gsc-search-box table.gsc-search-box > td {
    height: 50px;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td {
  padding: 0;
  border-top: none;
  border-bottom: none;
  line-height: 0;
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input {
  margin: 0;
  padding-right: 0;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input {
    background-color: #f2f2f2 !important;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input .gsc-input-box {
  padding-right: 5px;
  padding-left: 5px;
  box-sizing: border-box;
  border: none;
  box-sizing: border-box;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input .gsc-input-box {
    padding-right: 10px;
    padding-left: 10px;
    background-color: #f2f2f2;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input .gsc-input-box input.gsc-input {
  margin: 0;
  width: 100%;
  max-width: initial;
  max-width: auto;
  height: 30px;
  background-color: transparent !important;
  font-size: 1.5rem;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input .gsc-input-box input.gsc-input {
    height: 50px;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-input table.gsc-input {
  height: auto;
  margin: 0;
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-search-button .gsc-search-button-v2 {
  height: 30px;
  margin-left: 0 !important;
  padding: 0 20px;
  border: none;
  border-radius: 0;
  background-color: #297F96;
  line-height: 1;
  transition: opacity 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-search-button .gsc-search-button-v2 > svg {
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-search-button .gsc-search-button-v2 > svg {
    width: 20px;
    height: 20px;
  }
}
@media screen and (max-width: 1180px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-search-button .gsc-search-button-v2 {
    height: 50px;
    padding-right: 50px;
    padding-left: 50px;
  }
}
@media screen and (max-width: 600px) {
  .bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-search-button .gsc-search-button-v2 {
    padding-right: 25px;
    padding-left: 25px;
  }
}
.bl-siteSearch form.gsc-search-box table.gsc-search-box td.gsc-search-button .gsc-search-button-v2:hover {
  background-color: #297F96;
  opacity: 0.7;
}

.hp-mt0 {
  margin-top: 0px !important;
}

.hp-mb0 {
  margin-bottom: 0px !important;
}

.hp-ml0 {
  margin-left: 0px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb0 {
    margin-bottom: 0px !important;
  }
}

.hp-mt5 {
  margin-top: 5px !important;
}

.hp-mb5 {
  margin-bottom: 5px !important;
}

.hp-ml5 {
  margin-left: 5px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb5 {
    margin-bottom: 5px !important;
  }
}

.hp-mt10 {
  margin-top: 10px !important;
}

.hp-mb10 {
  margin-bottom: 10px !important;
}

.hp-ml10 {
  margin-left: 10px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb10 {
    margin-bottom: 10px !important;
  }
}

.hp-mt15 {
  margin-top: 15px !important;
}

.hp-mb15 {
  margin-bottom: 15px !important;
}

.hp-ml15 {
  margin-left: 15px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb15 {
    margin-bottom: 15px !important;
  }
}

.hp-mt20 {
  margin-top: 20px !important;
}

.hp-mb20 {
  margin-bottom: 20px !important;
}

.hp-ml20 {
  margin-left: 20px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb20 {
    margin-bottom: 20px !important;
  }
}

.hp-mt25 {
  margin-top: 25px !important;
}

.hp-mb25 {
  margin-bottom: 25px !important;
}

.hp-ml25 {
  margin-left: 25px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb25 {
    margin-bottom: 25px !important;
  }
}

.hp-mt30 {
  margin-top: 30px !important;
}

.hp-mb30 {
  margin-bottom: 30px !important;
}

.hp-ml30 {
  margin-left: 30px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb30 {
    margin-bottom: 30px !important;
  }
}

.hp-mt35 {
  margin-top: 35px !important;
}

.hp-mb35 {
  margin-bottom: 35px !important;
}

.hp-ml35 {
  margin-left: 35px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb35 {
    margin-bottom: 35px !important;
  }
}

.hp-mt40 {
  margin-top: 40px !important;
}

.hp-mb40 {
  margin-bottom: 40px !important;
}

.hp-ml40 {
  margin-left: 40px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb40 {
    margin-bottom: 40px !important;
  }
}

.hp-mt45 {
  margin-top: 45px !important;
}

.hp-mb45 {
  margin-bottom: 45px !important;
}

.hp-ml45 {
  margin-left: 45px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb45 {
    margin-bottom: 45px !important;
  }
}

.hp-mt50 {
  margin-top: 50px !important;
}

.hp-mb50 {
  margin-bottom: 50px !important;
}

.hp-ml50 {
  margin-left: 50px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb50 {
    margin-bottom: 50px !important;
  }
}

.hp-mt55 {
  margin-top: 55px !important;
}

.hp-mb55 {
  margin-bottom: 55px !important;
}

.hp-ml55 {
  margin-left: 55px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb55 {
    margin-bottom: 55px !important;
  }
}

.hp-mt60 {
  margin-top: 60px !important;
}

.hp-mb60 {
  margin-bottom: 60px !important;
}

.hp-ml60 {
  margin-left: 60px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb60 {
    margin-bottom: 60px !important;
  }
}

.hp-mt65 {
  margin-top: 65px !important;
}

.hp-mb65 {
  margin-bottom: 65px !important;
}

.hp-ml65 {
  margin-left: 65px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb65 {
    margin-bottom: 65px !important;
  }
}

.hp-mt70 {
  margin-top: 70px !important;
}

.hp-mb70 {
  margin-bottom: 70px !important;
}

.hp-ml70 {
  margin-left: 70px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb70 {
    margin-bottom: 70px !important;
  }
}

.hp-mt75 {
  margin-top: 75px !important;
}

.hp-mb75 {
  margin-bottom: 75px !important;
}

.hp-ml75 {
  margin-left: 75px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb75 {
    margin-bottom: 75px !important;
  }
}

.hp-mt80 {
  margin-top: 80px !important;
}

.hp-mb80 {
  margin-bottom: 80px !important;
}

.hp-ml80 {
  margin-left: 80px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb80 {
    margin-bottom: 80px !important;
  }
}

.hp-mt85 {
  margin-top: 85px !important;
}

.hp-mb85 {
  margin-bottom: 85px !important;
}

.hp-ml85 {
  margin-left: 85px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb85 {
    margin-bottom: 85px !important;
  }
}

.hp-mt90 {
  margin-top: 90px !important;
}

.hp-mb90 {
  margin-bottom: 90px !important;
}

.hp-ml90 {
  margin-left: 90px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb90 {
    margin-bottom: 90px !important;
  }
}

.hp-mt95 {
  margin-top: 95px !important;
}

.hp-mb95 {
  margin-bottom: 95px !important;
}

.hp-ml95 {
  margin-left: 95px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb95 {
    margin-bottom: 95px !important;
  }
}

.hp-mt100 {
  margin-top: 100px !important;
}

.hp-mb100 {
  margin-bottom: 100px !important;
}

.hp-ml100 {
  margin-left: 100px !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-mb100 {
    margin-bottom: 100px !important;
  }
}

.hp-pt0 {
  padding-top: 0px !important;
}

.hp-pb0 {
  padding-bottom: 0px !important;
}

.hp-pr0 {
  padding-right: 0px !important;
}

.hp-pl0 {
  padding-left: 0px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt0 {
    padding-top: 0px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt0 {
    padding-top: 0px !important;
  }
}

.hp-pt5 {
  padding-top: 5px !important;
}

.hp-pb5 {
  padding-bottom: 5px !important;
}

.hp-pr5 {
  padding-right: 5px !important;
}

.hp-pl5 {
  padding-left: 5px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt5 {
    padding-top: 5px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt5 {
    padding-top: 5px !important;
  }
}

.hp-pt10 {
  padding-top: 10px !important;
}

.hp-pb10 {
  padding-bottom: 10px !important;
}

.hp-pr10 {
  padding-right: 10px !important;
}

.hp-pl10 {
  padding-left: 10px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt10 {
    padding-top: 10px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt10 {
    padding-top: 10px !important;
  }
}

.hp-pt15 {
  padding-top: 15px !important;
}

.hp-pb15 {
  padding-bottom: 15px !important;
}

.hp-pr15 {
  padding-right: 15px !important;
}

.hp-pl15 {
  padding-left: 15px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt15 {
    padding-top: 15px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt15 {
    padding-top: 15px !important;
  }
}

.hp-pt20 {
  padding-top: 20px !important;
}

.hp-pb20 {
  padding-bottom: 20px !important;
}

.hp-pr20 {
  padding-right: 20px !important;
}

.hp-pl20 {
  padding-left: 20px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt20 {
    padding-top: 20px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt20 {
    padding-top: 20px !important;
  }
}

.hp-pt25 {
  padding-top: 25px !important;
}

.hp-pb25 {
  padding-bottom: 25px !important;
}

.hp-pr25 {
  padding-right: 25px !important;
}

.hp-pl25 {
  padding-left: 25px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt25 {
    padding-top: 25px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt25 {
    padding-top: 25px !important;
  }
}

.hp-pt30 {
  padding-top: 30px !important;
}

.hp-pb30 {
  padding-bottom: 30px !important;
}

.hp-pr30 {
  padding-right: 30px !important;
}

.hp-pl30 {
  padding-left: 30px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt30 {
    padding-top: 30px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt30 {
    padding-top: 30px !important;
  }
}

.hp-pt35 {
  padding-top: 35px !important;
}

.hp-pb35 {
  padding-bottom: 35px !important;
}

.hp-pr35 {
  padding-right: 35px !important;
}

.hp-pl35 {
  padding-left: 35px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt35 {
    padding-top: 35px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt35 {
    padding-top: 35px !important;
  }
}

.hp-pt40 {
  padding-top: 40px !important;
}

.hp-pb40 {
  padding-bottom: 40px !important;
}

.hp-pr40 {
  padding-right: 40px !important;
}

.hp-pl40 {
  padding-left: 40px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt40 {
    padding-top: 40px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt40 {
    padding-top: 40px !important;
  }
}

.hp-pt45 {
  padding-top: 45px !important;
}

.hp-pb45 {
  padding-bottom: 45px !important;
}

.hp-pr45 {
  padding-right: 45px !important;
}

.hp-pl45 {
  padding-left: 45px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt45 {
    padding-top: 45px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt45 {
    padding-top: 45px !important;
  }
}

.hp-pt50 {
  padding-top: 50px !important;
}

.hp-pb50 {
  padding-bottom: 50px !important;
}

.hp-pr50 {
  padding-right: 50px !important;
}

.hp-pl50 {
  padding-left: 50px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt50 {
    padding-top: 50px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt50 {
    padding-top: 50px !important;
  }
}

.hp-pt55 {
  padding-top: 55px !important;
}

.hp-pb55 {
  padding-bottom: 55px !important;
}

.hp-pr55 {
  padding-right: 55px !important;
}

.hp-pl55 {
  padding-left: 55px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt55 {
    padding-top: 55px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt55 {
    padding-top: 55px !important;
  }
}

.hp-pt60 {
  padding-top: 60px !important;
}

.hp-pb60 {
  padding-bottom: 60px !important;
}

.hp-pr60 {
  padding-right: 60px !important;
}

.hp-pl60 {
  padding-left: 60px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt60 {
    padding-top: 60px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt60 {
    padding-top: 60px !important;
  }
}

.hp-pt65 {
  padding-top: 65px !important;
}

.hp-pb65 {
  padding-bottom: 65px !important;
}

.hp-pr65 {
  padding-right: 65px !important;
}

.hp-pl65 {
  padding-left: 65px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt65 {
    padding-top: 65px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt65 {
    padding-top: 65px !important;
  }
}

.hp-pt70 {
  padding-top: 70px !important;
}

.hp-pb70 {
  padding-bottom: 70px !important;
}

.hp-pr70 {
  padding-right: 70px !important;
}

.hp-pl70 {
  padding-left: 70px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt70 {
    padding-top: 70px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt70 {
    padding-top: 70px !important;
  }
}

.hp-pt75 {
  padding-top: 75px !important;
}

.hp-pb75 {
  padding-bottom: 75px !important;
}

.hp-pr75 {
  padding-right: 75px !important;
}

.hp-pl75 {
  padding-left: 75px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt75 {
    padding-top: 75px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt75 {
    padding-top: 75px !important;
  }
}

.hp-pt80 {
  padding-top: 80px !important;
}

.hp-pb80 {
  padding-bottom: 80px !important;
}

.hp-pr80 {
  padding-right: 80px !important;
}

.hp-pl80 {
  padding-left: 80px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt80 {
    padding-top: 80px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt80 {
    padding-top: 80px !important;
  }
}

.hp-pt85 {
  padding-top: 85px !important;
}

.hp-pb85 {
  padding-bottom: 85px !important;
}

.hp-pr85 {
  padding-right: 85px !important;
}

.hp-pl85 {
  padding-left: 85px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt85 {
    padding-top: 85px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt85 {
    padding-top: 85px !important;
  }
}

.hp-pt90 {
  padding-top: 90px !important;
}

.hp-pb90 {
  padding-bottom: 90px !important;
}

.hp-pr90 {
  padding-right: 90px !important;
}

.hp-pl90 {
  padding-left: 90px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt90 {
    padding-top: 90px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt90 {
    padding-top: 90px !important;
  }
}

.hp-pt95 {
  padding-top: 95px !important;
}

.hp-pb95 {
  padding-bottom: 95px !important;
}

.hp-pr95 {
  padding-right: 95px !important;
}

.hp-pl95 {
  padding-left: 95px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt95 {
    padding-top: 95px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt95 {
    padding-top: 95px !important;
  }
}

.hp-pt100 {
  padding-top: 100px !important;
}

.hp-pb100 {
  padding-bottom: 100px !important;
}

.hp-pr100 {
  padding-right: 100px !important;
}

.hp-pl100 {
  padding-left: 100px !important;
}

@media screen and (max-width: 768px) {
  .hp-tb-pt100 {
    padding-top: 100px !important;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-pt100 {
    padding-top: 100px !important;
  }
}

.hp-db {
  display: block;
}

@media screen and (max-width: 768px) {
  .hp-tb-db {
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .hp-sp-db {
    display: block;
  }
}

.hp-dib {
  display: inline-block;
}

.hp-fzSm {
  font-size: 1.4rem;
}

.hp-fzMd {
  font-size: 1.5rem;
}

.hp-fzLg {
  font-size: 2rem;
}

.hp-cMain {
  color: #000;
}

.hp-cWht {
  color: #fff;
}

.hp-fwB {
  font-weight: 700;
}

.hp-taR {
  text-align: right !important;
}

.hp-taL {
  text-align: left !important;
}

.hp-taC {
  text-align: center !important;
}

@media screen and (max-width: 600px) {
  .hp-sp-taL {
    text-align: left !important;
  }
}

.hp-cf {
  display: block;
}
.hp-cf::before, .hp-cf::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
}

.hp-hAuto {
  height: auto !important;
}

@media screen and (max-width: 600px) {
  .hp-pcView {
    display: none !important;
  }
}

.hp-spView {
  display: none !important;
}
@media screen and (max-width: 600px) {
  .hp-spView {
    display: block !important;
  }
}

.hp-tbView {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .hp-tbView {
    display: block !important;
  }
}

.hp-imgAuto img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.logo-site {
  margin: 16px 0 0 40px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .logo-site {
    margin-top: 13px;
    margin-left: 12px;
  }
}
.logo-site > a {
  display: block;
  width: 184px;
  overflow: hidden;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .logo-site > a {
    width: 110px;
  }
}
.logo-site > a img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  background: #eef3cb;
  z-index: 5000;
}
@media screen and (max-width: 768px) {
  .header {
    height: 60px;
  }
}
.header.is-open {
  opacity: 0;
}

.logo-gnav {
  display: block;
  margin-top: 40px;
  margin-left: 80px;
}
@media screen and (max-width: 768px) {
  .logo-gnav {
    position: static;
    margin-top: -7px;
    margin-left: -8px;
    padding-top: 20px;
    padding-left: 20px;
  }
}
.logo-gnav > a {
  display: block;
  width: 170px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .logo-gnav > a {
    width: 110px;
  }
}
.logo-gnav > a img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.gnav-body {
  width: 100%;
}
.gnav-body__wrapper {
  position: fixed;
  top: 0;
  right: -120%;
  display: flex;
  width: 80%;
  max-width: 1240px;
  height: 100vh;
  background: #fff;
  box-sizing: border-box;
  z-index: 5100;
  transition: all 0.5s;
}
@media screen and (max-width: 600px) {
  .gnav-body__wrapper {
    min-height: 100%;
  }
}
.is-nav-open .gnav-body__wrapper {
  right: 0;
}
.gnav-body__header {
  position: fixed;
  border-bottom: 0.5px solid #fff;
  height: 90px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .gnav-body__header {
    height: 62px;
    border-bottom: 0.5px solid #000;
  }
}
.gnav-body__scroller {
  overflow: hidden scroll;
  height: 100%;
  box-sizing: border-box;
  padding-top: 50px;
  padding-bottom: 90px;
  margin-top: 90px;
}
@media screen and (max-width: 768px) {
  .gnav-body__scroller {
    padding-top: 20px;
    padding-bottom: 62px;
    margin-top: 62px;
  }
}
@media screen and (max-width: 600px) {
  .gnav-body__scroller {
    height: calc(100% - 82px);
  }
}
.gnav-body .-scroller {
  display: flex;
  flex-flow: column;
  min-height: 100%;
}
.gnav-body__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  background-origin: padding-box;
  box-sizing: border-box;
  height: auto;
  padding: 0 80px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .gnav-body__inner {
    display: block;
    margin-right: 0;
    margin-left: 0;
    padding: 0 20px;
    height: auto;
  }
}
.gnav-body__inner .access__wrapper {
  width: 100%;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .gnav-body__inner .access__wrapper {
    margin-top: 60px;
  }
}
.gnav-body__inner .access__wrapper h3:first-child {
  margin-top: 0;
}
.gnav-body p {
  margin: 0 0 1em;
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .gnav-body {
    width: 100%;
    background: #fff;
  }
}

.gnav {
  margin-top: 0;
  margin-bottom: 30px;
  font-family: Arial, Helvetica, sans-serif;
}
.gnav__wrapper {
  position: static;
  width: 100%;
  max-width: 280px;
}
@media screen and (max-width: 768px) {
  .gnav__wrapper {
    padding-top: 20px;
  }
}
.gnav > li {
  margin: 0 0 10px;
  font-size: 0rem;
}
@media screen and (max-width: 768px) {
  .gnav > li {
    margin-bottom: 20px;
  }
}
.gnav > li:first-child {
  margin-top: 0;
}
.gnav > li:last-child {
  margin-bottom: 0;
}
.gnav > li > a {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.6;
  display: inline-block;
}
.gnav > li > a > span {
  position: relative;
  display: inline-block;
}
.gnav > li > a > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.gnav > li > a:hover {
  text-decoration: none;
}
.gnav > li > a:hover > span:after {
  transform-origin: left top;
  transform: scaleX(1);
}
@media screen and (max-width: 768px) {
  .gnav > li > a {
    color: #000;
    font-size: 2rem;
  }
}
.gnav > li > a span {
  font-family: Arial, Helvetica, sans-serif;
}
.gnav.lv2 {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
}
.gnav.lv2::before {
  content: "";
  position: absolute;
  width: 50px;
  height: 1px;
  background: #CCCCCC;
  top: 0;
}
.gnav.lv2::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 1px;
  background: #CCCCCC;
  bottom: 0;
}
.gnav.lv2 > li > a {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .gnav.lv2 > li > a {
    font-size: 1.8rem;
  }
}
.gnav.sns li a {
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.gnav.sns li a::before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.gnav.sns li a.icon-co::before {
  background-image: url(../images/top/icon_contact.svg);
}
.gnav.sns li a.icon-tw::before {
  background-image: url(../images/top/logo_x.png);
}
.gnav.sns li a.icon-ig::before {
  background-image: url(../images/top/logo_ig.svg);
}
.gnav.sns li a.icon-fa::before {
  background-image: url(../images/top/logo_facebook.svg);
}
.gnav.sns li a.icon-yo::before {
  background-image: url(../images/top/logo_youtube.svg);
}

.gnav-sp {
  position: fixed;
  top: 10px;
  right: 20px;
  width: 60px;
  height: 60px;
  padding-top: 30px;
  z-index: 200;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 5200;
}
@media screen and (max-width: 768px) {
  .gnav-sp {
    top: 13px;
    right: 15px;
    width: 28px;
    height: 28px;
    padding-top: 12px;
  }
}
.gnav-sp > span {
  display: block;
  width: 38px;
  height: 2px;
  margin: 0 auto;
  background: #000;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .gnav-sp > span {
    width: 28px;
  }
}
.gnav-sp .top {
  transform: translateY(-8px) scale(1);
}
@media screen and (max-width: 768px) {
  .gnav-sp .top {
    transform: translateY(-5px) scale(1);
  }
}
.gnav-sp .bottom {
  transform: translateY(8px) scale(1);
}
@media screen and (max-width: 768px) {
  .gnav-sp .bottom {
    transform: translateY(5px) scale(1);
  }
}
.is-nav-open .gnav-sp .top {
  transform: translateY(2px) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .is-nav-open .gnav-sp .top {
    background: #000;
  }
}
.is-nav-open .gnav-sp .middle {
  transform: translateY(0px) scale(0);
}
@media screen and (max-width: 768px) {
  .is-nav-open .gnav-sp .middle {
    background: #000;
  }
}
.is-nav-open .gnav-sp .bottom {
  transform: translateY(-2px) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .is-nav-open .gnav-sp .bottom {
    background: #000;
  }
}

@media screen and (max-width: 768px) {
  .is-nav-open .home .gnav-sp .top {
    background: #000;
  }
}
@media screen and (max-width: 768px) {
  .is-nav-open .home .gnav-sp .middle {
    background: #000;
  }
}
@media screen and (max-width: 768px) {
  .is-nav-open .home .gnav-sp .bottom {
    background: #000;
  }
}

.gnav-body-copyright {
  text-align: center;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  .gnav-body-copyright {
    color: #000;
    margin-top: 80px !important;
    padding: 0 20px;
    text-align: left;
  }
}

.is-nav-open .logo-site img {
  opacity: 0;
}
.is-nav-open .black-bg {
  opacity: 0.5;
  visibility: visible;
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
  cursor: pointer;
  z-index: 5000;
}

.bl-access-address-group {
  margin-bottom: 60px;
}
.bl-access-address-group .bl-access-address {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .bl-access-address-group .bl-access-address {
    margin-bottom: 30px;
  }
}
.bl-access-address-group .bl-access-address h3 {
  font-size: 1.8rem;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .bl-access-address-group .bl-access-address h3 {
    font-size: 1.6rem;
    margin-bottom: 12px;
  }
}
.bl-access-address-group .bl-access-address p {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .bl-access-address-group .bl-access-address p {
    font-size: 1.4rem;
  }
}
.bl-access-address-group .bl-access-address .access-googlemap {
  margin-top: 30px;
  color: #000;
}
.bl-access-address-group .bl-access-address .access-googlemap > p {
  position: relative;
  padding-left: 25px;
}
.bl-access-address-group .bl-access-address .access-googlemap > p::before {
  content: url(../images/top/icon_map.svg);
  display: inline-block;
  position: absolute;
  left: 0;
  width: 16px;
  height: auto;
  margin-top: 4px;
  color: #000;
}
.bl-access-address-group .bl-access-address .access-googlemap > p > a {
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
}
.bl-access-address-group .bl-access-address .access-googlemap > p > a > span::after {
  background: #000 !important;
}

.home header {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s, pointer-events 0.3s;
}
.home header.transform {
  opacity: 1;
  pointer-events: auto;
}
.home header.transform.is-open {
  opacity: 0;
}

.home .gnav-sp {
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
}
.home .gnav-sp.is-open {
  opacity: 1;
  pointer-events: auto;
}
.home .gnav-sp.transform {
  opacity: 1;
  pointer-events: auto;
}

.cgap header {
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
}
.cgap header.transform {
  opacity: 1;
  pointer-events: auto;
}
.cgap header.transform.is-open {
  opacity: 0;
}

.cgap .gnav-sp {
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s;
}
.cgap .gnav-sp.is-open {
  opacity: 1;
  pointer-events: auto;
}
.cgap .gnav-sp.transform {
  opacity: 1;
  pointer-events: auto;
}

.footer {
  color: #000;
}
.footer__inner {
  padding-top: 50px;
  padding-bottom: 50px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .footer__inner {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  margin: 0;
}
@media screen and (max-width: 600px) {
  .footer-nav {
    font-size: 1.4rem;
  }
}
.footer-nav__wrapper {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-bottom: 40px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 500;
}
.footer-nav > dt {
  width: 100%;
  margin-bottom: 25px;
  text-align: center;
}
.footer-nav > dt > a {
  display: inline-block;
}
.footer-nav > dt > a > span {
  position: relative;
  display: inline-block;
}
.footer-nav > dt > a > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.footer-nav > dt > a:hover {
  text-decoration: none;
}
.footer-nav > dt > a:hover > span:after {
  transform-origin: left top;
  transform: scaleX(1);
}
.footer-nav > dt + dd {
  margin-left: 0;
}
.footer-nav > dt + dd:before {
  display: none;
}
.footer-nav > dd {
  position: relative;
  margin: 0 0 8px 50px;
}
@media screen and (max-width: 900px) {
  .footer-nav > dd {
    margin-left: 40px;
  }
}
.footer-nav > dd:before {
  position: absolute;
  top: 0;
  left: -25px;
  width: 1px;
  height: 100%;
  background: #cccccc;
  content: "";
  transform: rotate(15deg);
}
@media screen and (max-width: 900px) {
  .footer-nav > dd:before {
    left: -20px;
  }
}
.footer-nav > dd > a {
  display: inline-block;
}
.footer-nav > dd > a > span {
  position: relative;
  display: inline-block;
}
.footer-nav > dd > a > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.footer-nav > dd > a:hover {
  text-decoration: none;
}
.footer-nav > dd > a:hover > span:after {
  transform-origin: left top;
  transform: scaleX(1);
}
.footer-access {
  font-size: 1.3rem;
  line-height: 1.8;
}
@media screen and (max-width: 600px) {
  .footer-access {
    font-size: 1.2rem;
  }
}
.footer-access > p {
  margin-bottom: 0.5em;
  text-align: center;
}

.copyright {
  margin-bottom: 0;
  font-size: 1.3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .copyright {
    font-size: 1.1rem;
  }
}

.contents-title {
  position: relative;
  margin: 0 50px 0 0;
  box-sizing: border-box;
  font-size: 3.5rem;
  letter-spacing: 0.075em;
  font-family: Arial, Helvetica, sans-serif;
}
@media screen and (max-width: 768px) {
  .contents-title {
    margin-right: 0;
    margin-bottom: 30px;
    font-size: 2.4rem;
  }
}

.contents-row {
  display: flex;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contents-row {
    display: block;
  }
}
.contents-row-header {
  flex: 0 0 320px;
}
.contents-row-body {
  flex: 1 1 auto;
}

.pagetitle {
  margin-bottom: 30px;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .pagetitle {
    margin-bottom: 25px;
  }
}
.pagetitle-title {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 4.5rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .pagetitle-title {
    font-size: 3.2rem;
  }
}
.main {
  padding-top: 130px;
}
@media screen and (max-width: 768px) {
  .main {
    padding-top: 90px;
  }
}
.admin-bar .main {
  padding-top: 98px;
}
@media screen and (max-width: 768px) {
  .admin-bar .main {
    padding-top: 44px;
  }
}

.bl-edit-link {
  padding-top: 20px;
  padding-bottom: 20px;
}
.bl-edit-link > a {
  display: inline-block;
  font-weight: 500;
  line-height: 1.4;
}

.section-mv {
  position: relative;
}
.section-mv::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: 50%;
  width: 1px;
  height: 160px;
  background: linear-gradient(180deg, #fff 50%, #000 50%);
}
@media screen and (max-width: 768px) {
  .section-mv::after {
    bottom: -50px;
    height: 100px;
  }
}
.section-mv .bl-mv-text {
  position: relative;
  z-index: 10;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
}
.section-mv .bl-mv-text__inner {
  padding: 0 60px;
}
@media screen and (max-width: 600px) {
  .section-mv .bl-mv-text__inner {
    padding: 0 20px;
  }
}
.section-mv .bl-mv-text h1.title {
  margin: 0 auto 40px;
  width: max(560px, 600 * var(--fluid-ratio-pc));
}
@media screen and (max-width: 600px) {
  .section-mv .bl-mv-text h1.title {
    width: 100%;
  }
}
.section-mv .bl-mv-text h1.title img {
  width: 100%;
  height: auto;
}
.section-mv .bl-mv-text .sub-title-jp {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-top: 0;
  margin-bottom: 1em;
}
@media screen and (max-width: 1280px ) {
  .section-mv .bl-mv-text .sub-title-jp {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .section-mv .bl-mv-text .sub-title-jp {
    line-height: 1.4;
  }
}
@media screen and (max-width: 600px) {
  .section-mv .bl-mv-text .sub-title-jp {
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0 20px;
  }
}
.section-mv .bl-mv-text .sub-title-en {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin-top: 0;
  margin-bottom: 3em;
}
@media screen and (max-width: 1280px ) {
  .section-mv .bl-mv-text .sub-title-en {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .section-mv .bl-mv-text .sub-title-en {
    line-height: 1.4;
  }
}
@media screen and (max-width: 600px) {
  .section-mv .bl-mv-text .sub-title-en {
    font-size: 1.4rem;
    line-height: 1.4;
    padding: 0 20px;
  }
}
.section-mv .bl-mv-video {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  background: #ccc;
}
.section-mv .bl-mv-video::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  z-index: 2;
}
.section-mv .bl-mv-video::after {
  content: "";
  background-image: url(../images/top/mv_dot.svg);
  image-rendering: -webkit-optimize-contrast;
  background-size: 2px 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
}
.section-mv .bl-mv-video video {
  position: absolute;
  z-index: 1;
}
.section-mv .bl-mv-copyright {
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 10;
  color: #fff;
  font-size: 1rem;
  text-align: right;
}
@media screen and (max-width: 600px) {
  .section-mv .bl-mv-copyright {
    bottom: 10px;
    right: 10px;
    transform: scale(0.8) translate(16px);
  }
}
.section-mv .bl-mv-copyright p {
  margin-bottom: 0;
  line-height: 1.5;
}

.el-link-btn {
  font-size: 3.2rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1980px) {
  .el-link-btn {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 1280px ) {
  .el-link-btn {
    font-size: calc(175% + 4 * (100vw - 769px) / 511);
  }
}
@media screen and (max-width: 768px) {
  .el-link-btn {
    font-size: calc(137.5% + 6 * (100vw - 600px) / 169);
  }
}
@media screen and (max-width: 600px) {
  .el-link-btn {
    font-size: 2.2rem;
  }
}
.el-link-btn a {
  text-decoration: none;
  color: #fff;
  line-height: 1;
}
.el-link-btn a span {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}
.el-link-btn a span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #fff;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.el-link-btn a:hover span::after {
  transform-origin: right top;
  transform: scaleX(0);
}

.bl-scroll-down {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 80px;
}
.bl-scroll-down p {
  margin: 0;
}
.bl-scroll-down p span {
  color: #fff;
  font-size: 1.6rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
}

.section-event {
  padding: 80px 0px;
  background: #F3F3F3;
}
@media screen and (max-width: 768px) {
  .section-event {
    padding: 60px 0px;
  }
}
.section-event .section__inner {
  max-width: 1500px;
  padding: 0 60px;
}
@media screen and (max-width: 768px) {
  .section-event .section__inner {
    padding: 0 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-event .section__inner {
    padding: 0 20px;
  }
}
.section-event .section__inner-1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
@media screen and (max-width: 768px) {
  .section-event .section__inner-1200 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-event .section__inner-1200 {
    padding: 0 0px;
  }
}
.section-event .section__inner .sec-title {
  font-size: 5.2rem;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .section-event .section__inner .sec-title {
    font-size: 4rem;
    margin-bottom: 30px;
  }
}
.section-event .grid2 {
  margin-right: 0px;
  margin-left: 0px;
}
@media screen and (max-width: 768px) {
  .section-event .grid2 {
    display: block;
    margin-right: 0px;
    margin-left: 0px;
  }
}
.section-event .grid2 .col {
  padding-right: 0px;
  padding-left: 0px;
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .section-event .grid2 .col {
    width: 100%;
    padding-right: 0px;
    padding-left: 0px;
  }
}
.section-event .grid2 .col:first-child {
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .section-event .grid2 .col:first-child {
    margin-right: 0px;
    margin-bottom: 25px;
  }
}
.section-event .bl-event-content-meta {
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 600px) {
  .section-event .bl-event-content-meta {
    display: block;
  }
}
.section-event .bl-event-content-meta .text-cat {
  border: 1px solid #000;
  color: #000;
  font-size: 1.4rem;
  font-family: "Roboto Condensed";
  line-height: 1;
  padding: 4px 10px;
  margin-top: 0.2em;
  margin-right: 15px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .section-event .bl-event-content-meta .text-cat {
    margin-top: 0;
  }
}
@media screen and (max-width: 600px) {
  .section-event .bl-event-content-meta .text-cat {
    display: inline-block;
    margin-right: 0px;
    margin-bottom: 5px;
  }
}
.section-event .bl-event-content-meta .text-period {
  font-size: 2rem;
  font-family: "Roboto Condensed", "Noto Sans JP", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-bottom: 0px;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .section-event .bl-event-content-meta .text-period {
    font-size: 1.7rem;
  }
}
.section-event .title {
  font-size: clamp(2rem, 1.6rem + 0.83vw, 2.6rem);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 15px;
  display: block;
}
@media screen and (max-width: 768px) {
  .section-event .title {
    font-size: 2rem;
  }
}
.section-event a.title > span {
  background: url("../images/bg_line.png") no-repeat right bottom;
  background-size: 0 1px;
  transition: background-size 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.section-event a.title:hover {
  text-decoration: none;
}
.section-event a.title:hover > span {
  background-position: left bottom;
  background-size: 100% 1px;
}
.section-event .text-content {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  white-space: normal;
}

.bl-link {
  text-align: right;
}
.bl-link .link {
  font-size: 1.8rem;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1;
  display: inline-block;
}
@media screen and (min-width: 1980px) {
  .bl-link .link {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 768px) {
  .bl-link .link {
    display: block;
    font-size: 1.6rem;
    margin-top: 1em;
  }
}
.bl-link .link:last-child {
  margin-left: 25px;
}
.bl-link .link a {
  text-decoration: none;
}
.bl-link .link a span {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}
.bl-link .link a span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #000;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.bl-link .link a:hover {
  text-decoration: none;
}
.bl-link .link a:hover span::after {
  transform-origin: right top;
  transform: scaleX(0);
}
.bl-link .link .link-icon {
  padding: 0;
}
.bl-link .link .link-icon::before {
  content: url(../images/top/icon_link.svg);
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  vertical-align: text-top;
}
.bl-link .link .link-icon::after {
  content: none;
}

.swiper_area {
  position: relative;
}
.swiper_area .swiper-wrapper {
  position: relative;
}
.swiper_area .swiper-slide {
  background: none;
  padding: 0 20px;
  box-sizing: border-box;
}
.swiper_area .swiper-button-next::after, .swiper_area .swiper-button-prev::after {
  content: "";
  width: 25px;
  height: 25px;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  position: absolute;
}
@media screen and (min-width: 1980px) {
  .swiper_area .swiper-button-next::after, .swiper_area .swiper-button-prev::after {
    width: 50px;
    height: 50px;
    border-top: solid 5px #000;
    border-right: solid 5px #000;
  }
}
@media screen and (max-width: 768px) {
  .swiper_area .swiper-button-next::after, .swiper_area .swiper-button-prev::after {
    width: 15px;
    height: 15px;
  }
}
.swiper_area .swiper-button-prev {
  left: -40px;
}
@media screen and (min-width: 1980px) {
  .swiper_area .swiper-button-prev {
    left: -100px;
  }
}
@media screen and (max-width: 600px) {
  .swiper_area .swiper-button-prev {
    left: -10px;
  }
}
.swiper_area .swiper-button-prev::after {
  transform: rotate(-135deg);
}
.swiper_area .swiper-button-next {
  right: -40px;
}
@media screen and (min-width: 1980px) {
  .swiper_area .swiper-button-next {
    right: -100px;
  }
}
@media screen and (max-width: 600px) {
  .swiper_area .swiper-button-next {
    right: -10px;
  }
}
.swiper_area .swiper-button-next::after {
  transform: rotate(45deg);
}
.swiper_area.slide-none .swiper-button-prev,
.swiper_area.slide-none .swiper-button-next {
  display: none;
}

.section-wrapper {
  padding-top: 40px;
  padding-bottom: 40px;
}
.section-wrapper.bg-gray {
  background: #F3F3F3;
}

.section__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.section h3.txt-en {
  font-family: Arial, Helvetica, sans-serif;
}
.section .sec-title {
  font-size: 5.2rem;
  font-family: Arial, Helvetica, sans-serif;
  margin-bottom: 40px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .section .sec-title {
    font-size: 4.6rem;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 600px) {
  .section .sec-title {
    font-size: 4rem;
    margin-bottom: 30px;
  }
}
.section .sec-title > span {
  font-size: 2.4rem;
  margin-left: 1.8em;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 880px) {
  .section .sec-title > span {
    font-size: 1.8rem;
    display: block;
    margin-top: 5px;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .section .sec-title > span {
    font-size: 1.8rem;
    display: block;
    margin-top: 5px;
    margin-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .section .sec-title > span {
    font-size: 1.6rem;
  }
}
.section .sec-link-btn {
  font-size: 2.2rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .section .sec-link-btn {
    font-size: 2rem;
  }
}
.section .sec-link-btn a {
  text-decoration: none;
  line-height: 1;
}
.section .sec-link-btn a span {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}
.section .sec-link-btn a span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #000;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 768px) {
  .section .sec-link-btn a span::after {
    height: 2px;
  }
}
.section .sec-link-btn a:hover {
  text-decoration: none;
}
.section .sec-link-btn a:hover span::after {
  transform-origin: right top;
  transform: scaleX(0);
}
.section-cgap {
  padding: 80px 60px;
  background: #BAD7E2;
}
@media screen and (max-width: 768px) {
  .section-cgap {
    padding: 60px 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-cgap {
    padding: 60px 20px;
  }
}
.section-cgap .section__inner {
  width: 100%;
  max-width: 1500px;
}
.section-works {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 768px) {
  .section-works {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-works {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.section-works .section__inner {
  width: 100%;
  max-width: 1500px;
  margin: 60px auto;
}
@media screen and (max-width: 768px) {
  .section-works .section__inner {
    margin: 30px auto;
  }
}
.section-works .works-list li a {
  border-bottom: none;
}
.section-works .works-list-title {
  font-weight: 700;
}
.section-blog {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 768px) {
  .section-blog {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-blog {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.section-blog .section__inner {
  width: 100%;
  max-width: 1500px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .section-blog .section__inner {
    margin-bottom: 30px;
  }
}
.section-blog .blog-list li a {
  border-bottom: none;
}
.section-blog .blog-list-title {
  font-weight: 700;
}
.section-news {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 768px) {
  .section-news {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.section-news .section__inner {
  width: 100%;
  max-width: 1100px;
  margin-bottom: 160px;
}
@media screen and (max-width: 768px) {
  .section-news .section__inner {
    margin-bottom: 100px;
  }
}
.section-news .section__inner .sec-title {
  margin-bottom: 60px;
}
.section-recruit {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 768px) {
  .section-recruit {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-recruit {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.section-recruit .section__inner {
  width: 100%;
  max-width: 1500px;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .section-recruit .section__inner {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.section-recruit .section__inner-1100 {
  max-width: 1100px;
  margin: 0 auto;
}
.section-recruit .lead-text {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .section-recruit .lead-text {
    font-size: 1.6rem;
  }
}
.section-recruit .text {
  margin-bottom: 0;
}
.section-recruit ul {
  margin-top: 0;
}
.section-recruit ul li {
  position: relative;
  padding-left: 1em;
}
.section-recruit ul li:before {
  content: "";
  position: absolute;
  top: 14px;
  left: 4px;
  width: 3px;
  height: 3px;
  display: inline-block;
  background-color: #000;
  border-radius: 50%;
}
.section-access {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 768px) {
  .section-access {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-access {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.section-access .section__inner {
  width: 100%;
  max-width: 1500px;
}
.section-access .section__inner-1100 {
  max-width: 1100px;
  margin: 0 auto;
}
.section-access .grid2 {
  display: flex;
  flex-direction: row;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .section-access .grid2 {
    display: block;
  }
}
.section-access .grid2 .col {
  width: calc((100% - 40px) / 2);
  padding: 0;
}
@media screen and (max-width: 768px) {
  .section-access .grid2 .col {
    width: 100%;
  }
}
.section-access .grid2 .col:first-child {
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .section-access .bl-access-address {
    margin-bottom: 40px;
  }
}
.section-access .bl-access-address h3 {
  margin: 0 0 12px;
}
.section-access .access-googlemap {
  margin-top: 0 !important;
  color: #000;
}
.section-access .access-googlemap > p {
  position: relative;
  padding-left: 25px;
}
.section-access .access-googlemap > p::before {
  content: url(../images/top/icon_map.svg);
  display: inline-block;
  position: absolute;
  left: 0;
  width: 16px;
  height: auto;
  margin-top: 4px;
  color: #000;
}
.section-access .access-googlemap > p > a {
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
}
.section-access .access-googlemap > p > a > span::after {
  background: #000 !important;
}
.section-sns {
  padding-left: 60px;
  padding-right: 60px;
}
@media screen and (max-width: 768px) {
  .section-sns {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 600px) {
  .section-sns {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.sns-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 35px;
  max-width: 1020px;
  margin: 0 auto;
  padding: 20px 0 40px;
  list-style: none;
}
@media screen and (max-width: 900px) {
  .sns-list {
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .sns-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    padding: 20px 0;
  }
}
@media screen and (max-width: 600px) {
  .sns-list {
    gap: 20px;
  }
}
.sns-list li {
  box-sizing: border-box;
}
.sns-list a {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  display: inline-block;
}
.sns-list a > span {
  position: relative;
  display: inline-block;
}
.sns-list a > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.sns-list a:hover {
  text-decoration: none;
}
.sns-list a:hover > span:after {
  transform-origin: left top;
  transform: scaleX(1);
}
.sns-list a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif !important;
  text-decoration: none;
}
.sns-list a::before {
  content: "";
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
.sns-list a.icon-co::before {
  background-image: url("../images/top/icon_contact.svg");
  width: 47px;
  height: 47px;
}
@media screen and (max-width: 768px) {
  .sns-list a.icon-co::before {
    width: 28px;
    height: 28px;
  }
}
.sns-list a.icon-tw::before {
  background-image: url("../images/top/logo_x.png");
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 768px) {
  .sns-list a.icon-tw::before {
    width: 28px;
    height: 28px;
  }
}
.sns-list a.icon-ig::before {
  background-image: url("../images/top/logo_ig.svg");
  width: 45px;
  height: 45px;
}
@media screen and (max-width: 768px) {
  .sns-list a.icon-ig::before {
    width: 28px;
    height: 28px;
  }
}
.sns-list a.icon-fa::before {
  background-image: url("../images/top/logo_facebook.svg");
  width: 47px;
  height: 47px;
}
@media screen and (max-width: 768px) {
  .sns-list a.icon-fa::before {
    width: 28px;
    height: 28px;
  }
}
.sns-list a.icon-yo::before {
  background-image: url("../images/top/logo_youtube.svg");
  width: 49px;
  height: 49px;
}
@media screen and (max-width: 768px) {
  .sns-list a.icon-yo::before {
    width: 28px;
    height: 28px;
  }
}

.navigation-btn {
  position: absolute;
  z-index: 10;
  bottom: 140px;
  width: 100%;
  max-width: 800px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .navigation-btn {
    bottom: 150px;
  }
}
.navigation-btn.grid2 {
  margin: 0;
  justify-content: space-between;
  align-items: baseline;
}
@media screen and (max-width: 600px) {
  .navigation-btn.grid2 {
    display: flex;
  }
}
.navigation-btn.grid2 .col {
  width: auto;
}
@media screen and (max-width: 768px) {
  .navigation-btn.grid2 .col {
    padding: 0 40px;
  }
}
.navigation-btn .swiper-button-prev {
  left: auto;
  right: auto;
}
.navigation-btn .swiper-button-next {
  right: auto;
  left: auto;
}
.navigation-btn .swiper-button-prev, .navigation-btn .swiper-button-next {
  position: relative;
  display: inline-block;
  width: auto;
  height: auto;
  margin-top: 0;
  font-size: 3rem;
  font-weight: 700;
  cursor: pointer;
  color: #fff;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .navigation-btn .swiper-button-prev, .navigation-btn .swiper-button-next {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 600px) {
  .navigation-btn .swiper-button-prev, .navigation-btn .swiper-button-next {
    font-size: 1.8rem;
  }
}
.navigation-btn .swiper-button-prev::after, .navigation-btn .swiper-button-next::after {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #fff;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 600px) {
  .navigation-btn .swiper-button-prev::after, .navigation-btn .swiper-button-next::after {
    height: 2px;
  }
}
.navigation-btn .swiper-button-prev:hover, .navigation-btn .swiper-button-next:hover {
  text-decoration: none;
}
.navigation-btn .swiper-button-prev:hover::after, .navigation-btn .swiper-button-next:hover::after {
  transform-origin: right top;
  transform: scaleX(0);
}
.navigation-btn .swiper-button-prev span, .navigation-btn .swiper-button-next span {
  position: relative;
  display: inline-block;
}

.sec {
  overflow: hidden;
}
.page.company .sec {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
@media screen and (max-width: 768px) {
  .page .sec, .works .sec, .videos .sec {
    padding-right: 50px;
    padding-left: 50px;
  }
}
@media screen and (max-width: 600px) {
  .page .sec, .works .sec, .videos .sec {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.page:not(.company) .sec:first-child .sec__inner {
  padding-top: 0;
}
.page.company .sec:first-child .sec__inner {
  border-top: none;
}
.sec__inner {
  position: relative;
  padding-top: 60px;
  padding-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .sec__inner {
    padding-top: 50px;
    padding-bottom: 70px;
  }
}
.works .sec__inner {
  padding-top: 25px;
}
.page .sec__inner {
  max-width: 1000px;
}
.page.contact .sec__inner {
  max-width: 800px;
}
.page.company .sec__inner {
  padding-top: 40px;
  padding-bottom: 44px;
  border-top: 1px solid #000;
}
.videos .sec__inner, .works .sec__inner {
  max-width: 1000px;
}
.videos .sec__inner {
  padding-top: 0;
  padding-bottom: 140px;
}
.archive.blog .sec__inner, .archive.news .sec__inner {
  max-width: 800px;
  padding-top: 0;
  padding-bottom: 90px;
}
.sec-top-works .sec__inner {
  padding-top: 40px;
  padding-bottom: 10px;
}
.sec-top-news .sec__inner, .sec-top-blog .sec__inner {
  padding-top: 40px;
  max-width: 900px;
}
.sec-top-news .sec__inner {
  padding-bottom: 10px;
}
.sec-top-blog .sec__inner {
  padding-bottom: 50px;
}
.sec-title {
  margin-top: 0;
  margin-bottom: 35px;
  font-size: 4.6rem;
  line-height: 1.2;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sec-title {
    margin-bottom: 30px;
    font-size: 3rem;
  }
}
.sec-title.l-h3 {
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .sec-title.l-h3 {
    font-size: 2.4rem;
  }
}
.sec-contents-row {
  display: flex;
  width: 100%;
}
@media screen and (max-width: 900px) {
  .sec-contents-row {
    display: block;
  }
}
.sec-contents-row-header {
  flex: 0 0 250px;
}
.sec-contents-row-body {
  flex: 1 1 auto;
}

.sec-title + .top-works-cat {
  margin-top: 0;
}

.news-list {
  margin-top: 0;
  margin-bottom: 60px;
  border-bottom: 0.5px solid #ccc;
  line-height: 1.8;
  color: #000;
  display: grid;
  align-items: start;
  grid-template-columns: 210px 1fr;
}
.news-list > dt {
  width: 210px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  font-size: 1.5rem;
  font-family: "Roboto Condensed";
  font-weight: 500;
  box-sizing: border-box;
  border-top: 0.5px solid #ccc;
  display: flex;
  align-items: center;
  gap: 15px;
}
@media screen and (max-width: 600px) {
  .news-list > dt {
    width: 100%;
    padding: 20px 20px 8px;
    border-top: 0.5px solid #ccc;
    font-size: 1.3rem;
    grid-column: 1/-1;
  }
}
.news-list > dt .text-cat {
  display: inline-block;
  font-size: 1.3rem;
  font-family: "Roboto Condensed";
  width: 60px;
  text-align: center;
  border: 1px solid #000;
  color: #000;
  line-height: 1;
  padding: 4px 10px;
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .news-list > dt .text-cat {
    font-size: 1.2rem;
    padding: 2px 6px;
  }
}
.news-list > dd {
  width: 100%;
  margin: 0;
  padding: 20px 20px 20px 0;
  border-top: 0.5px solid #ccc;
  box-sizing: border-box;
  font-size: 0rem;
  display: flex;
}
@media screen and (max-width: 600px) {
  .news-list > dd {
    padding: 0 20px 20px;
    border-top: none;
    grid-column: 1/-1;
  }
}
.news-list > dd > a {
  font-size: 1.6rem;
  color: #000;
}
.news-list > dd > a > span {
  background: url("../images/bg_line.png") no-repeat right bottom;
  background-size: 0 1px;
  transition: background-size 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.news-list > dd > a:hover {
  text-decoration: none;
}
.news-list > dd > a:hover > span {
  background-position: left bottom;
  background-size: 100% 1px;
}
.news-list > dd > span {
  font-size: 1.4rem;
}

.bl-sec-link-btn-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.blog-list-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.bl-animepipeline {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(30px, 5vw, 50px);
  margin-top: 50px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .bl-animepipeline {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
.bl-animepipeline-img, .bl-animepipeline-body {
  width: 100%;
}
.bl-animepipeline-img {
  max-width: 520px;
}
.bl-animepipeline-img > img {
  width: 100%;
  height: auto;
}
.bl-animepipeline-body {
  max-width: 500px;
}
.bl-animepipeline-body > p {
  margin: 0;
  font-size: 2.2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%;
}
@media screen and (max-width: 768px) {
  .bl-animepipeline-body > p {
    font-size: 2rem;
  }
}
@media screen and (max-width: 600px) {
  .bl-animepipeline-body > p {
    font-size: 1.8rem;
  }
}

.bl-lead {
  max-width: 810px;
  margin: 0 auto 80px;
}
@media screen and (max-width: 600px) {
  .bl-lead {
    margin-bottom: 50px;
  }
}
.bl-lead > .-jp {
  color: #1a1a1a;
  font-size: 1.8rem;
}
@media screen and (max-width: 600px) {
  .bl-lead > .-jp {
    font-size: 1.6rem;
  }
}
.bl-lead > .-en {
  margin-top: 40px;
  color: #4d4d4d;
  font-size: 1.6rem;
}
@media screen and (max-width: 600px) {
  .bl-lead > .-en {
    font-size: 1.4rem;
  }
}
.bl-lead--sm > .-jp {
  font-size: 1.6rem;
}
.bl-lead--sm > .-en {
  margin-top: 20px;
  font-size: 1.4rem;
}
.bl-lead a {
  text-decoration: underline;
}
.bl-lead a:hover {
  text-decoration: none;
}

.entry {
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .entry {
    padding-right: 50px;
    padding-left: 50px;
  }
}
@media screen and (max-width: 600px) {
  .entry {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.cgap_post .entry {
  padding-bottom: 120px;
}
.entry__inner {
  max-width: 800px;
}
.entry-post-type > a {
  font-size: 1.8rem;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  letter-spacing: 0.05em;
}
.entry-meta {
  display: block;
}
.entry-time {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "Roboto Condensed";
  text-align: left;
}
@media screen and (max-width: 768px) {
  .entry-time {
    font-size: 1.6rem;
  }
}
.entry-title {
  margin-top: 0;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .entry-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 600px) {
  .entry-title {
    font-size: 2.4rem;
  }
}
.type-posts .entry-title, .blog .entry-title, .cgap_post .entry-title {
  font-size: clamp(2.2rem, 1.267rem + 1.94vw, 3.6rem);
}
@media screen and (max-width: 600px) {
  .type-posts .entry-title, .blog .entry-title, .cgap_post .entry-title {
    line-height: 1.4;
  }
}
.entry-body {
  margin-top: 60px;
  font-size: 1.8rem;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .entry-body {
    margin-top: 40px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 600px) {
  .entry-body {
    margin-top: 40px;
  }
}
@media screen and (max-width: 600px) {
  .type-posts .entry-body, .blog .entry-body, .cgap_post .entry-body {
    line-height: 2;
  }
}
.entry-body h1,
.entry-body h2,
.entry-body h3,
.entry-body h4,
.entry-body h5,
.entry-body h6 {
  margin-top: 2.5em;
  margin-bottom: 1em;
  line-height: 1.6;
}
.entry-body h2 {
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .entry-body h2 {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 600px) {
  .entry-body h2 {
    font-size: 2rem;
  }
}
.entry-body h3 {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .entry-body h3 {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 600px) {
  .entry-body h3 {
    font-size: 2rem;
  }
}
.entry-body h4 {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .entry-body h4 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 600px) {
  .entry-body h4 {
    font-size: 1.6rem;
  }
}
.entry-body > p {
  margin-top: 2em;
  margin-bottom: 2em;
}
.entry-body img {
  width: auto;
  max-width: 100%;
  height: auto;
}
.entry-body .url {
  margin-top: 0;
  font-size: 1.2rem;
  line-height: 1.6;
  word-break: break-all;
}
.entry-body {
  /* WP自動付与のスタイル変更 */
}
.entry-body .alignright {
  float: right;
  margin-top: 10px;
  margin-left: 2em;
}
@media screen and (max-width: 600px) {
  .entry-body .alignright {
    float: none;
    margin-top: 0;
    margin-left: 0;
  }
}
.entry-body .alignleft {
  float: left;
  margin-top: 10px;
  margin-right: 2em;
}
@media screen and (max-width: 600px) {
  .entry-body .alignleft {
    float: none;
    margin-top: 0;
    margin-right: 0;
  }
}
.entry-body .aligncenter {
  margin: 0 auto;
}
.entry-body .wp-caption-text {
  margin-top: 0.5em;
  margin-bottom: 2em;
  font-size: 1.1rem;
  line-height: 1.6;
}
.entry-body ul {
  margin-top: 2em;
  margin-bottom: 2em;
}
.entry-body ul li {
  position: relative;
  padding-left: 1.5em;
}
.entry-body ul li:before {
  position: absolute;
  top: 1em;
  left: 0.5em;
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #000000;
  box-sizing: border-box;
  content: "";
}
.entry-body ul li ul {
  margin: 0.25em 0 0.25em 1.5em;
}
.entry-body ul li ul > li:before {
  background: transparent;
  border: 1px solid #000;
}
.entry-body ul li ol {
  margin: 0.25em 0 0.25em 1.5em;
}
.entry-body ul li ol li:before {
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  background: transparent;
  content: counter(ol_count) ".";
}
.entry-body ol {
  margin-top: 2em;
  margin-left: 0;
  margin-bottom: 2em;
  padding-left: 0;
  counter-reset: ol_count;
}
.entry-body ol li {
  position: relative;
  padding-left: 1.5em;
}
.entry-body ol li:before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: ol_count;
  content: counter(ol_count) ".";
}
.entry-body ol li ol {
  margin: 0.25em 0 0.25em 1.5em;
}
.entry-body ol ul {
  margin: 0.25em 0 0.25em 1.5em;
}
.entry-body ol ul li:before {
  top: 1em;
  left: 0.5em;
  content: "";
}
.entry .entry-meta {
  display: flex;
  align-items: center;
}
.entry .entry-meta .text-cat {
  border: 1px solid #000;
  color: #000;
  font-size: 1.2rem;
  font-family: "Roboto Condensed";
  line-height: 1;
  padding: 4px 10px;
  margin-top: 0.3em;
  margin-right: 15px;
  margin-bottom: 0;
}
@media screen and (max-width: 600px) {
  .entry .entry-meta .text-cat {
    margin-top: 0;
    margin-right: 10px;
  }
}
.entry .bl-event-content-meta .text-period {
  font-size: 1.8rem;
  font-weight: 700;
}
.entry .bl-link {
  margin-top: 60px;
  text-align: left;
}
.entry .bl-link .link {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  display: block;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .entry .bl-link .link {
    font-size: 1.4rem;
    display: block;
    margin-top: 1em;
  }
}
.entry .bl-link .link:last-child {
  margin-bottom: 0;
  margin-left: 0;
}
.entry .bl-link .link a {
  text-decoration: none;
}
.entry .bl-link .link a span {
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
}
.entry .bl-link .link a span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.entry .bl-link .link a:hover {
  text-decoration: none;
}
.entry .bl-link .link a:hover span::after {
  transform-origin: right top;
  transform: scaleX(0);
}
.entry .bl-link .link .link-icon {
  padding: 0;
}
.entry .bl-link .link .link-icon::before {
  content: url(../images/top/icon_link.svg);
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  vertical-align: text-top;
}
.entry .bl-link .link .link-icon::after {
  content: none;
}

body.blog {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}
body.blog #container {
  flex: 1;
}

ul.page-numbers {
  margin-top: 60px;
  text-align: center;
  letter-spacing: -0.4em;
}
ul.page-numbers > li {
  display: inline-block;
  margin: 0 8px;
  font-size: 0rem;
  letter-spacing: normal;
  vertical-align: middle;
}
ul.page-numbers > li > a,
ul.page-numbers > li > span {
  display: inline-block;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2;
}
ul.page-numbers > li > span {
  color: #999;
  text-decoration: underline;
}
ul.page-numbers > li > span.dots {
  text-decoration: none;
}
ul.page-numbers > li > a:after {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
ul.page-numbers > li > a:hover:after {
  transform: scale(1.3);
}
ul.page-numbers > li > a.prev {
  position: relative;
}
ul.page-numbers > li > a.prev:before {
  position: absolute;
  top: 50%;
  height: 50%;
  content: "\e900";
  font-size: 1.6rem;
  font-family: "iconasst", sans-serif;
  transform: translate(-50%, -50%);
  z-index: 1;
}
ul.page-numbers > li > a.prev:after {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  background: #eeeeee;
  border-radius: 50%;
  content: "";
  z-index: 0;
}
ul.page-numbers > li > a.next {
  position: relative;
}
ul.page-numbers > li > a.next:before {
  position: absolute;
  top: 50%;
  height: 50%;
  content: "\e908";
  font-size: 1.6rem;
  font-family: "iconasst", sans-serif;
  transform: translate(-50%, -50%);
  z-index: 1;
}
ul.page-numbers > li > a.next:after {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  background: #eeeeee;
  border-radius: 50%;
  content: "";
  z-index: 0;
}

.works-browse {
  padding-right: 60px;
  padding-left: 60px;
}
@media screen and (max-width: 768px) {
  .works-browse {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.works-browse__inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.works-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 50px;
  margin: 0 0 60px;
}
@media screen and (max-width: 1280px ) {
  .works-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 40px;
    margin: 0 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .works-list {
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 0 0 30px;
  }
}
.works-list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 0;
}
.works-list > li > a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
  text-decoration: none;
}
.works-list > li > a:hover {
  text-decoration: none;
}
.works-list > li > a:hover .works-list-fig {
  transform: scale(0.95);
}
.works-list > li > a:hover .works-list-fig > span {
  transform: scale(1.15);
}
.works-list-fig {
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.works-list-fig > span {
  display: block;
  position: relative;
  display: block;
  margin: 0;
  padding-top: 56.25%;
  overflow: hidden;
}
.works-list-fig > span > img {
  position: absolute;
  top: -100%;
  right: -100%;
  bottom: -100%;
  left: -100%;
  margin: auto;
  width: 100%;
  max-width: initial;
  max-width: auto;
  height: auto;
  z-index: 0;
}
.works-list-fig > span {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.works-list-title {
  margin: 0.7em 0 0.4em;
  font-size: 2rem;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .works-list-title {
    font-size: 2rem;
  }
}
.works-list-title > br {
  display: none;
}
.works-list-cat {
  margin-top: 0;
  margin-bottom: 0.4em;
  font-size: 1.7rem;
  font-family: "Roboto Condensed";
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .works-list-cat {
    margin-bottom: 0.45em;
  }
}
.works-list-parts {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.4;
}

.works-header__inner {
  padding-bottom: 25px;
}
.works-header-terms {
  margin-bottom: 0.5em;
  font-family: Arial, Helvetica, sans-serif;
  color: #bbbbbb;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.02em;
}
.works-header-title {
  margin: 0;
  text-align: center;
  font-size: clamp(2.4rem, 1.6rem + 1.67vw, 3.6rem);
}
.works-header-title > br {
  display: none;
}
@media screen and (max-width: 768px) {
  .works-header-title {
    font-size: 2.4rem;
  }
}
.works-header-cat {
  margin: 0.5em 0 0;
  font-family: "Roboto Condensed";
  text-align: center;
}
@media screen and (max-width: 768px) {
  .works-header-cat {
    margin-top: 0;
    font-size: 1.4rem;
  }
}

.works-mainv {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .works-mainv {
    padding-right: 0;
    padding-left: 0;
  }
}
.works-mainv__inner {
  position: relative;
}
.works-mainv-slider {
  width: 100%;
}
.works-mainv-slider.swiper-container {
  overflow: inherit;
}
.works-mainv-slider .swiper-slide {
  transform: scale(0.925);
  opacity: 0.5;
  transition: opacity 0.9s cubic-bezier(0.17, 0.75, 0.45, 1), transform 0.9s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 768px) {
  .works-mainv-slider .swiper-slide {
    transform: scale(1);
  }
}
.works-mainv-slider .swiper-slide.swiper-slide-active {
  opacity: 1;
  transform: scale(1);
}
.works-mainv-slider img {
  width: 100%;
  height: auto;
}
.works-mainv-pagination {
  margin-top: 25px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .works-mainv-pagination {
    padding-right: 20px;
    padding-left: 20px;
    width: auto !important;
  }
}
.works-mainv-pagination > .swiper-pagination-bullet {
  position: relative;
  margin: 0 10px !important;
  width: 10px;
  height: 10px;
  background: none;
  transition: opacity 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 768px) {
  .works-mainv-pagination > .swiper-pagination-bullet {
    margin-right: 6px !important;
    margin-left: 6px !important;
  }
}
.works-mainv-pagination > .swiper-pagination-bullet:focus {
  outline: none;
}
.works-mainv-pagination > .swiper-pagination-bullet:before {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 6px;
  height: 6px;
  background: #000000;
  border-radius: 50%;
  content: "";
  transform: translate(-50%, -50%);
}
.works-mainv-pagination > .swiper-pagination-bullet:after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #000;
  border-radius: 50%;
  opacity: 0;
  content: "";
  transform-origin: center, center;
  transform: translate(-50%, -50%) scale(0.8);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1), opacity 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 768px) {
  .works-mainv-pagination > .swiper-pagination-bullet:after {
    width: 16px;
    height: 16px;
  }
}
.works-mainv-pagination > .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  opacity: 0.7;
  transform: translate(-50%, -50%) scale(1.1);
}
.works-mainv-copyright {
  margin-top: 0.75em;
  margin-bottom: 0;
  font-size: 1.2rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .works-mainv-copyright {
    font-size: 1rem;
    padding: 0 15px;
  }
}

.ifrm-resize {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.ifrm-resize iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.videos-credit {
  margin-top: 50px;
}
.videos-credit.credit-en {
  margin-top: 40px;
}
.videos-heading {
  position: relative;
  margin: 0 50px 0 0;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .videos-heading {
    margin-right: 0;
  }
}
.videos-cat {
  font-family: "Roboto Condensed";
}
@media screen and (max-width: 768px) {
  .videos-cat {
    font-size: 1.2rem;
  }
}

.works .sec__inner {
  padding-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .works .sec__inner {
    padding-bottom: 140px;
  }
}
.works-credit {
  margin-top: 10px;
}
@media screen and (max-width: 600px) {
  .works-credit {
    margin-top: 0px;
  }
}
.works-credit.credit-en {
  margin-top: 50px;
}
.works-heading {
  position: relative;
  margin: 0 50px 40px 0;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .works-heading {
    margin: 0 0 30px 0;
    font-size: 1.8rem;
  }
}
.works-heading > br {
  display: none;
}
.works .videos-movie {
  margin-top: 30px;
  margin-bottom: 80px;
  padding-bottom: 80px;
  border-bottom: 1px solid #eee;
}
@media screen and (max-width: 600px) {
  .works .videos-movie {
    margin-top: 0px;
    margin-bottom: 40px;
    padding-bottom: 50px;
  }
}
.works .videos-movie img {
  width: 100%;
}
.works .videos-movie.movie-ex-link {
  position: relative;
}
.works .videos-movie.movie-ex-link a span {
  background: url(../../assets/images/icon_ex_link.svg) no-repeat center center;
  background-size: 100% 100%;
  display: block;
  height: 80px;
  width: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -40px;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 10;
}
@media screen and (max-width: 600px) {
  .works .videos-movie.movie-ex-link a span {
    top: 56%;
  }
}
.works .videos-movie.movie-ex-link a img {
  position: relative;
}
.works .videos-movie.movie-ex-link a:hover span {
  opacity: 0.7;
}
.works .videos-movie-double .ifrm-resize:first-child {
  margin-bottom: 60px;
}
@media screen and (max-width: 600px) {
  .works .videos-movie-double .ifrm-resize:first-child {
    margin-bottom: 30px;
  }
}

.credit {
  display: flex;
}
@media screen and (max-width: 768px) {
  .credit {
    display: block;
  }
}
.credit-header {
  flex: 0 0 330px;
}
.credit-body {
  flex: 1 1 auto;
}
.credit-body a {
  text-decoration: underline;
}
.credit-body a:hover {
  text-decoration: none;
}
.credit.credit-en {
  padding-top: 35px;
  border-top: 1px solid #eee;
}

.single-localnav__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 80px;
}
@media screen and (max-width: 600px) {
  .single-localnav__inner {
    padding-top: 15px;
  }
}
.cgap_post .single-localnav__inner {
  justify-content: center;
}
.single-localnav-item {
  font-size: 1.8rem;
  line-height: 1.2;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.single-localnav-item > a {
  display: inline-block;
}
.single-localnav-item > a > span {
  padding-bottom: 5px;
}
.single-localnav-item.back {
  flex-basis: 45%;
  text-align: center;
}
.single-localnav-item.prev, .single-localnav-item.next {
  flex-basis: 25%;
}
.single-localnav-item.prev > a:hover, .single-localnav-item.next > a:hover {
  text-decoration: none;
}
.single-localnav-item.prev > a .arrow:after, .single-localnav-item.next > a .arrow:after {
  display: inline-block;
  font-family: "iconasst", sans-serif;
  transform: scale(0.9);
}
.single-localnav-item.prev > a .arrow {
  margin-right: 10px;
}
.single-localnav-item.prev > a .arrow:after {
  content: "\e900";
}
.single-localnav-item.next {
  text-align: right;
}
.single-localnav-item.next > a .arrow {
  margin-left: 10px;
}
.single-localnav-item.next > a .arrow:after {
  content: "\e908";
}

#single-works-footer .footer {
  position: relative;
}
#single-works-footer .single-localnav {
  position: fixed;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  z-index: 100;
  padding-right: 60px;
  padding-left: 60px;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  #single-works-footer .single-localnav {
    padding-right: 20px;
    padding-left: 20px;
  }
}
#single-works-footer .single-localnav__inner {
  padding-bottom: 30px;
}
@media screen and (max-width: 600px) {
  #single-works-footer .single-localnav__inner {
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  #single-works-footer .single-localnav-item {
    font-size: 1.4rem;
  }
}
#single-works-footer .single-localnav.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#single-works-footer .single-localnav.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

.single-localnav-item.prev > a,
.single-localnav-item.next > a {
  display: inline-block;
}
.single-localnav-item.prev > a > span,
.single-localnav-item.next > a > span {
  position: relative;
  display: inline-block;
}
.single-localnav-item.prev > a > span:after,
.single-localnav-item.next > a > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.single-localnav-item.prev > a:hover,
.single-localnav-item.next > a:hover {
  text-decoration: none;
}
.single-localnav-item.prev > a:hover > span:after,
.single-localnav-item.next > a:hover > span:after {
  transform-origin: left top;
  transform: scaleX(1);
}
.single-localnav-item.prev > a > span::after,
.single-localnav-item.next > a > span::after {
  height: 2px;
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.single-localnav-item.prev > a:hover > span::after,
.single-localnav-item.next > a:hover > span::after {
  transform-origin: right top;
  transform: scaleX(0);
}

.single-localnav-item.back > a {
  display: inline-block;
}
.single-localnav-item.back > a > span {
  position: relative;
  display: inline-block;
}
.single-localnav-item.back > a > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.single-localnav-item.back > a:hover {
  text-decoration: none;
}
.single-localnav-item.back > a:hover > span:after {
  transform-origin: left top;
  transform: scaleX(1);
}
.single-localnav-item.back > a > span::after {
  height: 2px;
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.single-localnav-item.back > a:hover > span::after {
  transform-origin: right top;
  transform: scaleX(0);
}

.blog-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 50px;
  margin: 0 0 60px;
}
@media screen and (max-width: 1280px ) {
  .blog-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 60px 40px;
    margin: 0 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .blog-list {
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 0 0 30px;
  }
}
.blog-list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  row-gap: 0;
}
.blog-list > li > a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
  text-decoration: none;
}
.blog-list > li > a:hover {
  text-decoration: none;
}
.blog-list > li > a:hover .blog-list-fig {
  transform: scale(0.95);
}
.blog-list > li > a:hover .blog-list-fig > span {
  transform: scale(1.15);
}
.blog-list-fig {
  overflow: hidden;
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.blog-list-fig > span {
  display: block;
  position: relative;
  display: block;
  margin: 0;
  padding-top: 56.25%;
  overflow: hidden;
}
.blog-list-fig > span > img {
  position: absolute;
  top: -100%;
  right: -100%;
  bottom: -100%;
  left: -100%;
  margin: auto;
  width: 100%;
  max-width: initial;
  max-width: auto;
  height: auto;
  z-index: 0;
}
.blog-list-fig > span {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.blog-list-title {
  margin: 0.6em 0 0.4em;
  font-size: 2rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .blog-list-title {
    margin: 0.6em 0 1em;
    font-size: 1.8rem;
  }
}
.blog-list-date {
  margin: 1em 0 0;
  font-size: 1.5rem;
  text-align: right;
}
.home .blog-list-date, .cgap .blog-list-date {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.home .blog-list-date::after, .cgap .blog-list-date::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 21px;
  margin-left: 10px;
  background-image: url("../images/icon_link_thin.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 600px) {
  .blog-list-date {
    margin-top: 0.5em;
    font-size: 1.3rem;
  }
}

.archive.blog .sec {
  padding-right: 60px;
  padding-left: 60px;
}
@media screen and (max-width: 768px) {
  .archive.blog .sec {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.archive.blog .sec__inner {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-bottom: 0;
}

.cgap .section-mv::after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 50%;
  width: 1px;
  height: 80px;
  background: #fff;
  transform-origin: bottom center;
  animation: scrollLine 1.5s ease-in-out infinite;
}
.cgap .bl-mv-text h1.title img {
  width: max(560px, 600 * var(--fluid-ratio-pc));
  height: auto;
}
@media screen and (max-width: 600px) {
  .cgap .bl-mv-text h1.title img {
    width: 100%;
  }
}

@keyframes scrollLine {
  0% {
    transform: scaleY(0);
    transform-origin: top center;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top center;
  }
  51% {
    transform: scaleY(1);
    transform-origin: bottom center;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom center;
  }
}
.cgap-section-inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1500px;
}
.cgap-section.cgap-section-lead {
  padding: 80px 60px;
}
@media screen and (max-width: 1280px ) {
  .cgap-section.cgap-section-lead {
    padding: 80px 40px;
  }
}
@media screen and (max-width: 768px) {
  .cgap-section.cgap-section-lead {
    padding: 60px 40px;
  }
}
@media screen and (max-width: 600px) {
  .cgap-section.cgap-section-lead {
    padding: 50px 30px;
  }
}
.cgap-section.cgap-section-posts {
  background: #BAD7E2;
  padding: 80px 60px 40px;
}
@media screen and (max-width: 768px) {
  .cgap-section.cgap-section-posts {
    padding: 60px 30px 30px;
  }
}
@media screen and (max-width: 600px) {
  .cgap-section.cgap-section-posts {
    padding: 50px 20px 25px;
  }
}
.cgap-section.cgap-section-posts .ly-cgap-posts {
  max-width: 1160px;
  margin: 0 auto;
}
.cgap-section.cgap-section-works {
  background: #BAD7E2;
  padding: 40px 60px 40px;
}
@media screen and (max-width: 768px) {
  .cgap-section.cgap-section-works {
    padding: 30px 30px;
  }
}
@media screen and (max-width: 600px) {
  .cgap-section.cgap-section-works {
    padding: 25px 20px 25px;
  }
}
.cgap-section.cgap-section-works .ly-cgap-works {
  max-width: 1160px;
  margin: 0 auto;
}
.cgap-section.cgap-section-note {
  background: #BAD7E2;
  padding: 40px 60px 60px;
}
@media screen and (max-width: 768px) {
  .cgap-section.cgap-section-note {
    padding: 30px 30px 60px;
  }
}
@media screen and (max-width: 600px) {
  .cgap-section.cgap-section-note {
    padding: 25px 20px 50px;
  }
}
.cgap-section .sec-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 5rem;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 66px */
  text-align: left;
}
@media screen and (max-width: 1920px) {
  .cgap-section .sec-title {
    font-size: clamp(3.2rem, 2.267rem + 1.94vw, 4.6rem);
  }
}
@media screen and (max-width: 600px) {
  .cgap-section .sec-title {
    font-size: 3.2rem;
  }
}

.bl-cgap-lead p {
  margin: 0;
  text-align: center;
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 700;
  line-height: 200%; /* 48px */
}
@media screen and (max-width: 1920px) {
  .bl-cgap-lead p {
    font-size: clamp(2rem, 1.903rem + 0.41vw, 2.4rem);
  }
}
@media screen and (max-width: 768px) {
  .bl-cgap-lead br {
    display: none;
  }
}

.bl-cgap-posts-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  gap: 40px clamp(50px, 28.75px + 2.6691vw, 80px);
  margin: 60px 0 0;
}
@media screen and (max-width: 768px) {
  .bl-cgap-posts-list {
    grid-template-columns: 1fr;
    gap: 40px;
    margin: 50px 0 0;
  }
}
@media screen and (max-width: 600px) {
  .bl-cgap-posts-list {
    gap: 30px;
    margin: 40px 0 0;
  }
}
.bl-cgap-posts-list > li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  align-content: start;
  row-gap: 0;
}
.bl-cgap-posts-list > li > a,
.bl-cgap-posts-list > li > .bl-cgap-posts-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 0;
}
.bl-cgap-posts-list > li > a:hover {
  text-decoration: none;
}
.bl-cgap-posts-list > li > a:hover .bl-cgap-posts-list-fig {
  -webkit-transform: scale(0.95);
  transform: scale(0.95);
}
.bl-cgap-posts-list > li > a:hover .bl-cgap-posts-list-fig > span {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}
.bl-cgap-posts-list > li > a:hover .bl-cgap-posts-list-view-more span::after {
  transform-origin: right top;
  transform: scaleX(0);
}
.bl-cgap-posts-list-fig {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
  overflow: hidden;
}
.bl-cgap-posts-list-fig > span {
  display: block;
  position: relative;
  display: block;
  margin: 0;
  padding-top: 56.25%;
  overflow: hidden;
}
.bl-cgap-posts-list-fig > span > img {
  position: absolute;
  top: -100%;
  right: -100%;
  bottom: -100%;
  left: -100%;
  margin: auto;
  width: 100%;
  max-width: initial;
  max-width: auto;
  height: auto;
  z-index: 0;
}
.bl-cgap-posts-list-fig > span {
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.bl-cgap-posts-list-fig > span > img {
  position: absolute;
  top: -100%;
  right: -100%;
  bottom: -100%;
  left: -100%;
  margin: auto;
  width: 100%;
  max-width: initial;
  max-width: auto;
  height: auto;
  z-index: 0;
}
.bl-cgap-posts-list-body {
  margin-top: 20px;
}
.bl-cgap-posts-list-title {
  align-self: start;
  font-size: clamp(2.2rem, 1.8rem + 0.83vw, 2.8rem);
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 44.8px */
  margin: 0 0 15px;
}
@media screen and (max-width: 768px) {
  .bl-cgap-posts-list-title {
    margin: 0 0 10px;
  }
}
.bl-cgap-posts-list-text {
  margin: 0;
  align-self: start;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 32px */
}
.bl-cgap-posts-list-view-more {
  margin-top: 10px;
  align-self: end;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .bl-cgap-posts-list-view-more {
    margin-top: 5px;
  }
}
.bl-cgap-posts-list-view-more span {
  position: relative;
  display: inline-block;
  padding-bottom: 4px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 18px */
}
.bl-cgap-posts-list-view-more span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #000;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 768px) {
  .bl-cgap-posts-list-view-more span::after {
    height: 2px;
  }
}

.bl-cgap-works-list {
  display: flex;
  flex-direction: column;
  gap: 40px 50px;
  margin: 60px 0 0;
}
@media screen and (max-width: 768px) {
  .bl-cgap-works-list {
    flex-direction: column;
    gap: 40px;
    margin: 50px 0 0;
  }
}
@media screen and (max-width: 600px) {
  .bl-cgap-works-list {
    gap: 30px;
    margin: 40px 0 0;
  }
}
.bl-cgap-works-list li {
  display: grid;
  grid-template-columns: clamp(350px, 45%, 500px) 1fr;
  gap: 40px;
}
@media screen and (max-width: 900px) {
  .bl-cgap-works-list li {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .bl-cgap-works-list li {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
@media screen and (max-width: 600px) {
  .bl-cgap-works-list li {
    gap: 20px;
  }
}
.bl-cgap-works-list-fig > img {
  width: 100%;
  height: auto;
}
.bl-cgap-works-list-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bl-cgap-works-list-title {
  margin: 0;
  font-size: clamp(2rem, 1.898rem + 0.42vw, 2.4rem);
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 33.6px */
}
.bl-cgap-works-list-date {
  margin: 0;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 22.4px */
}
.bl-cgap-works-list-text {
  margin: 0;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 28px */
}

.cgap-section-note .blog-list {
  margin: 45px 0 40px;
}
@media screen and (max-width: 768px) {
  .cgap-section-note .blog-list {
    margin: 40px 0;
  }
}
@media screen and (max-width: 600px) {
  .cgap-section-note .blog-list {
    margin: 30px 0;
  }
}
.cgap-section-note .blog-list li {
  margin-bottom: 0;
}
.cgap-section-note .blog-list li a {
  padding-bottom: 0;
  border-bottom: unset;
}
.cgap-section-note .blog-list-title {
  font-weight: 700;
}
.cgap-section-note .sec-link-btn {
  font-size: 2.2rem;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .cgap-section-note .sec-link-btn {
    font-size: 2rem;
  }
}
.cgap-section-note .sec-link-btn a {
  text-decoration: none;
  line-height: 1;
}
.cgap-section-note .sec-link-btn a span {
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}
.cgap-section-note .sec-link-btn a span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background: #000;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
@media screen and (max-width: 768px) {
  .cgap-section-note .sec-link-btn a span::after {
    height: 2px;
  }
}
.cgap-section-note .sec-link-btn a:hover {
  text-decoration: none;
}
.cgap-section-note .sec-link-btn a:hover span::after {
  transform-origin: right top;
  transform: scaleX(0);
}

#cgap_post:target {
  padding-top: 120px;
}

.link-line-r-btn {
  display: inline-block;
}
.link-line-r-btn > span {
  position: relative;
  display: inline-block;
}
.link-line-r-btn > span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #000;
  content: "";
  transform-origin: left top;
  transform: scaleX(1);
  transition: transform 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.link-line-r-btn:hover {
  text-decoration: none;
}
.link-line-r-btn:hover > span:after {
  transform-origin: right top;
  transform: scaleX(0);
}

.page.company .contents {
  position: relative;
}
.page.company .contents .main .bl-about-bg-area {
  padding: 0 40px;
}
@media screen and (max-width: 768px) {
  .page.company .contents .main .bl-about-bg-area {
    padding: 0 20px;
  }
}
.page.company .contents .main .bl-about-bg-area .bl-about-bg-img-wrapper {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.page.company .contents .main .bl-about-bg-area .bl-about-bg-img {
  display: block;
  width: 100%;
  height: auto;
}
.page.company .footer {
  position: relative;
}
.page.company p {
  font-weight: 500;
}

.access-body {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .access-body > .col {
    margin-bottom: 50px;
  }
}
.access-body h3 {
  margin-top: 0;
  margin-bottom: 0.75em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .access-body h3 {
    font-size: 1.5rem;
  }
}
.access-body:first-child {
  margin-top: 0;
}

.profile {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3em;
}
.profile:last-child {
  margin-bottom: 0;
}
.profile-name {
  flex: 1 1 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .profile-name .directors-name-group {
    margin-bottom: 1.5em;
    margin-right: 130px;
  }
}
.profile-name .directors-name-group .directors-name {
  margin-bottom: 0.6em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.profile-name .directors-name-group .directors-name .name-en {
  font-family: "Roboto Condensed";
  font-size: 1.6rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 600px) {
  .profile-name .directors-name-group .directors-name .name-en {
    display: block;
  }
}
.profile-name .directors-name-group .directors-pos {
  margin-bottom: 0.8em;
  line-height: 1.5;
}
.profile-name .directors-name-group .directors-pos .pos-en {
  display: inline-block;
  font-family: "Roboto Condensed";
  text-transform: uppercase;
}
.profile-name .directors-works {
  font-size: 1.2rem;
  margin: 0 0 3em;
}
.profile-name .directors-works:last-child {
  margin-bottom: 0;
}
.profile-name .directors-works > p {
  margin: 0 0 1em;
}
.profile-avatar {
  flex: 0 0 120px;
  box-sizing: border-box;
  margin-left: 60px;
}
@media screen and (max-width: 768px) {
  .profile-avatar {
    margin-left: 40px;
  }
}
@media screen and (max-width: 600px) {
  .profile-avatar {
    width: 120px;
    height: 120px;
    margin-left: -120px;
  }
}
.profile.no-photo .profile-avatar {
  display: none;
}
@media screen and (max-width: 600px) {
  .profile.no-photo .directors-name-group {
    margin-right: 0px;
  }
}

.profile-studio {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  margin-top: 50px;
}
@media screen and (max-width: 600px) {
  .profile-studio {
    display: block;
  }
}
.profile-studio-name {
  flex: 1 1 auto;
  box-sizing: border-box;
  text-align: left;
}
@media screen and (max-width: 600px) {
  .profile-studio-name {
    text-align: center;
  }
}
.profile-studio-avatar {
  flex: 0 0 200px;
  padding-right: 40px;
}
@media screen and (max-width: 768px) {
  .profile-studio-avatar {
    padding-right: 40px;
  }
}
@media screen and (max-width: 600px) {
  .profile-studio-avatar {
    width: 200px;
    height: 200px;
    padding-right: 0px;
    margin: 0 auto 1em;
  }
}
.profile-studio.no-photo {
  margin-top: 30px;
}
.profile-studio.no-photo .profile-studio-avatar {
  display: none;
}
.profile-studio.no-photo .profile-studio-name {
  text-align: right;
}

.history-list {
  margin: 0;
  font-size: 1.3rem;
}
.history-list > dt {
  float: left;
  width: 100px;
  font-weight: 700;
  clear: both;
}
@media screen and (max-width: 600px) {
  .history-list > dt {
    float: none;
    width: 100%;
  }
}
.history-list > dd {
  margin: 0;
  width: 100%;
  padding-left: 100px;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .history-list > dd {
    padding-left: 0;
    margin-bottom: 2em;
  }
}

.form {
  margin: 0;
}
.form__wrapper {
  margin-top: 40px;
}
.form > dt {
  float: left;
  width: 180px;
  padding-top: 15px;
  padding-bottom: 15px;
  line-height: 1.6;
  clear: both;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .form > dt {
    float: none;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 0;
  }
}
.form > dd {
  width: 100%;
  margin: 0;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 180px;
  box-sizing: border-box;
}
@media screen and (max-width: 600px) {
  .form > dd {
    padding-top: 8px;
    padding-bottom: 10px;
    padding-left: 0;
  }
}
@media screen and (max-width: 600px) {
  .form .chk-agree__wrapper {
    text-align: center;
  }
}
.form-pp {
  margin: 0 0 1.5em;
}
.form-pp > a {
  text-decoration: underline;
}
.form-pp > a:hover {
  text-decoration: none;
}
.form input[type=text],
.form input[type=email],
.form input[type=tel] {
  width: 100%;
  max-width: 500px;
  padding: 5px 8px;
  border: 1px solid #DDD;
  border-radius: 4px;
  box-sizing: border-box;
}
.form textarea {
  width: 100%;
  max-width: 600px;
  height: 8em;
  padding: 5px 8px;
  border: 1px solid #DDD;
  border-radius: 4px;
  box-sizing: border-box;
}
.form input[type=checkbox] {
  display: none;
}
.form input[type=checkbox] + span {
  cursor: pointer;
}
.form input[type=checkbox] + span:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 16px;
  height: 16px;
  margin-top: -10px;
  border: 2px solid #ccc;
  border-radius: 6px;
  content: "";
  transition: all cubic-bezier(0.17, 0.75, 0.45, 1) 0.3s;
}
.form input[type=checkbox] + span:before {
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  width: 5px;
  height: 9px;
  margin-top: -7px;
  border-right: 3px solid #297F96;
  border-bottom: 3px solid #297F96;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
  transition: opacity 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.form input[type=checkbox].is-checked + span:before {
  opacity: 1;
}
.form span.wpcf7-list-item {
  margin-left: 25px;
}
.form span.wpcf7-not-valid-tip {
  font-size: 1.2rem;
}
.form-submit {
  margin-top: 20px;
  text-align: center;
}
.form-submit input[type=submit] {
  padding: 10px 40px;
  border: 2px solid #000;
  font-weight: 700;
  border-radius: 4px;
  font-size: 1.6rem;
  font-weight: 700;
  transition: border 0.3s cubic-bezier(0.17, 0.75, 0.45, 1), color 0.3s cubic-bezier(0.17, 0.75, 0.45, 1);
}
.form-submit input[type=submit]:disabled {
  border-color: #ccc;
}

div.wpcf7-response-output {
  margin: 3em 0 0 !important;
  padding: 8px 20px !important;
  background: #eeeeee;
  border: none !important;
  font-size: 1.3rem;
  text-align: center;
}

body.contact {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}
body.contact #container {
  flex: 1;
}