@charset "UTF-8";
/* =========================================================

Foundation

========================================================= */
/* design-width */
/* color */
/* color font */
/* color link */
/* color border */
/* color background */
/* color sns */
/* color service */
/* breakpoint */
/* font-size */
/* max-width */
/* site-padding */
/* header-height */
/* nav-width */
/* font-family */
/* icon-size */
/* line-height */
/* letter-spacing */
/* margin */
/* duration */
/* cubic-bezier */
/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  padding: 0;
  margin: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  box-sizing: border-box;
  box-sizing: border-box;
  box-sizing: border-box;
}

/* form */
input,
button,
select,
textarea {
  font: inherit;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  appearance: none;
  appearance: none;
}

/******************************************************************************

* BASIC

*******************************************************************************/
html {
  font-size: 10px;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
.has-scroll-smooth html {
  height: 100%;
  overflow: hidden;
}
html.is-modal-show {
  overflow: hidden;
}
@media (max-width: 1680px) {
  html {
    font-size: 10px;
  }
}

body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-x: hidden;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-weight: 400;
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  -webkit-font-kerning: normal;
          font-kerning: normal;
  line-height: 1;
  color: #1a1311;
  word-wrap: break-word;
  white-space: normal;
  vertical-align: baseline;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}
.is-unscroll body {
  overflow: hidden;
}
.has-scroll-smooth body {
  height: 100%;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

a {
  color: #1a1311;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
a:hover {
  color: #1a1311;
  text-decoration: none;
}
a:focus {
  text-decoration: none;
}
@media (max-width: 1024px) {
  a {
    -webkit-transition: none;
    transition: none;
  }
}

a,
a:focus,
a:active,
a:hover,
a:visited,
:focus,
:active,
:hover,
:visited {
  text-decoration: none;
  outline: none !important;
}

blockquote {
  margin: 0;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

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

/* =========================================================

Layout

========================================================= */
.l-container, .p-news-detail__body-inner, .p-news-detail__header-inner, .p-news-index__body-inner, .p-news-index__main, .p-menu__inner, .p-news-area__inner, .p-top__about-2-inner, .p-top__about-1-inner, .p-top__kv, .l-content__header-inner {
  margin: 0 auto;
  padding: 0 8rem;
}
.l-container--lg, .p-menu__inner {
  max-width: 125rem;
}
@media (max-width: 1024px) {
  .l-container, .p-news-detail__body-inner, .p-news-detail__header-inner, .p-news-index__body-inner, .p-news-index__main, .p-menu__inner, .p-news-area__inner, .p-top__about-2-inner, .p-top__about-1-inner, .p-top__kv, .l-content__header-inner {
    padding: 0 4rem;
  }
}
@media (max-width: 767px) {
  .l-container, .p-news-detail__body-inner, .p-news-detail__header-inner, .p-news-index__body-inner, .p-news-index__main, .p-menu__inner, .p-news-area__inner, .p-top__about-2-inner, .p-top__about-1-inner, .p-top__kv, .l-content__header-inner {
    padding: 0 2rem;
  }
}

.l-wrapper {
  position: relative;
  width: 100%;
}

/* header */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: opacity 0.5s, -webkit-transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: opacity 0.5s, transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: opacity 0.5s, transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95), -webkit-transform 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  pointer-events: none;
}
.is-page-loaded .l-header {
  opacity: 1;
}
.l-header.is-fixed {
  position: fixed;
}
.is-lower .l-header {
  opacity: 1;
}
.is-modal-show .l-header {
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (max-width: 1024px) {
  .l-header {
    height: 10rem;
    position: fixed;
  }
}
/* header-logo */
.l-header__logo {
  position: absolute;
  top: 2.7rem;
  left: 2.7rem;
  z-index: 10;
  -webkit-transition: top 0.3s;
  transition: top 0.3s;
  pointer-events: all;
}
@media (max-width: 1024px) {
  .l-header__logo {
    top: 4rem;
    left: 3rem;
  }
}
@media (max-width: 767px) {
  .l-header__logo {
    left: 2rem;
  }
}

.l-header__logo-image {
  position: absolute;
  left: 0;
  top: 0;
}
.l-header__logo-image--vertical {
  width: 2.5rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-scrolled .l-header__logo-image--vertical {
  opacity: 0;
}
.l-header__logo-image--horizontal {
  width: 23.8rem;
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
}
.is-scrolled .l-header__logo-image--horizontal {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  opacity: 1;
}
.l-header__logo-image img {
  width: 100%;
}
@media (max-width: 1024px) {
  .l-header__logo-image--vertical {
    display: none;
  }
  .l-header__logo-image--horizontal {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .l-header__logo-image--horizontal {
    width: 20rem;
  }
}

.l-header__sns {
  position: fixed;
  left: 3rem;
  bottom: 3rem;
  z-index: 10;
  pointer-events: all;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-scrolled .l-header__sns {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .l-header__sns {
    display: none;
  }
}
.l-header__sns-item {
  font-size: 14px;
  font-size: 1.4rem;
}

/* header-bg */
.l-header__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 8rem;
  background-color: #fff;
}
@media (max-width: 1024px) {
  .l-header__bg {
    height: 100%;
  }
}

.l-gnav {
  position: fixed;
  top: 0;
  left: -9999px;
  z-index: 20000;
  display: block;
  width: 50%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}
.is-gnav-open .l-gnav {
  left: 50%;
  pointer-events: all;
  visibility: visible;
}
@media (max-width: 1024px) {
  .l-gnav {
    width: 100%;
  }
  .is-gnav-open .l-gnav {
    left: 0;
  }
}

.l-gnav__wrapper {
  position: relative;
  z-index: 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  overflow: auto;
}
@media (max-width: 1024px) {
  .l-gnav__wrapper {
    -webkit-overflow-scrolling: touch;
  }
}

.l-gnav__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 100%;
  padding: 5rem 5rem 5rem 10.4166666667vw;
}
@media (max-width: 1024px) {
  .l-gnav__inner {
    padding: 5rem 5rem 5rem 12rem;
  }
}
@media (max-width: 767px) {
  .l-gnav__inner {
    padding: 5rem 2rem 5rem 8rem;
  }
}

.l-gnav__logo {
  position: absolute;
  left: 4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (max-width: 1024px) {
  .l-gnav__logo {
    left: 4.5rem;
  }
}
@media (max-width: 767px) {
  .l-gnav__logo {
    left: 2.8rem;
  }
}

.l-gnav__menu {
  position: relative;
}
.l-gnav__menu-item {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
  text-align: left;
  cursor: pointer;
  padding-top: 1.5rem;
}
.l-gnav__menu-item:first-child {
  padding-top: 0;
}
.l-gnav__menu-item > a {
  position: relative;
  display: block;
  color: #1a1311;
}
.l-gnav__menu-item > a:hover {
  color: #1a1311;
  opacity: 0.6;
}
.l-gnav__list {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .l-gnav__list {
    margin-top: 3rem;
  }
}

.l-gnav__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2rem;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
.l-gnav__list-item:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .l-gnav__list-item {
    margin-top: 1.2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.l-gnav__list-item-heading {
  max-width: 13.4rem;
  -ms-flex-preferred-size: 13.4rem;
      flex-basis: 13.4rem;
}
.l-gnav__list-item-heading span {
  margin-right: 0.5rem;
}
@media (max-width: 767px) {
  .l-gnav__list-item-heading {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.l-gnav__list-item-desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.l-gnav__list-item-desc .c-icon-window {
  margin-left: 0.5rem;
}
@media (max-width: 767px) {
  .l-gnav__list-item-desc {
    margin-top: 1rem;
  }
}

.l-gnav__list-item-button {
  margin-top: 1rem;
}
.l-gnav__overlay {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 19999;
  display: block;
  width: 50%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  background-color: #f0f0f0;
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  will-change: opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.is-gnav-open .l-gnav__overlay {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 1024px) {
  .l-gnav__overlay {
    width: 100%;
    left: 0;
  }
}
/* gnav-toggle */
.l-gnav-toggle {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 40000;
  width: 6rem;
  height: 6rem;
  cursor: pointer;
  -webkit-transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1) 1s;
  transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1) 1s;
  border: 0.1rem solid #000;
  border-radius: 100%;
}
.is-page-loaded .l-gnav-toggle {
  opacity: 1;
}
.is-modal-show .l-gnav-toggle {
  display: none;
}
.is-gnav-animating .l-gnav-toggle {
  pointer-events: none;
}
.is-gnav-open .l-gnav-toggle {
  border: 0.1rem solid rgba(0, 0, 0, 0);
}
@media (max-width: 1024px) {
  .l-gnav-toggle {
    top: 2.2rem;
    right: 3rem;
  }
}
@media (max-width: 767px) {
  .l-gnav-toggle {
    right: 2rem;
  }
}

.l-gnav-toggle__heading {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10;
  letter-spacing: 0.1em;
  pointer-events: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-gnav-open .l-gnav-toggle__heading {
  opacity: 0;
}
.l-gnav-toggle__heading-close {
  opacity: 0;
  pointer-events: none;
  letter-spacing: 0.1em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-gnav-open .l-gnav-toggle__heading-close {
  opacity: 1;
  position: absolute;
  width: 100%;
  bottom: 1rem;
  text-align: center;
}
.l-gnav-toggle__inner {
  width: 100%;
  height: 100%;
  padding: 1rem;
  pointer-events: none;
}
.l-gnav-toggle__bar {
  position: relative;
  width: 100%;
  height: 2px;
  overflow: hidden;
  -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  opacity: 0;
}
.l-gnav-toggle__bar--1 {
  top: 0;
}
.l-gnav-toggle__bar--2 {
  margin: 4px 0;
}
.l-gnav-toggle__bar--3 {
  top: 0;
}
.is-gnav-open .l-gnav-toggle__bar {
  opacity: 1;
  -webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.is-gnav-open .l-gnav-toggle__bar--1 {
  top: 6px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.is-gnav-open .l-gnav-toggle__bar--2 {
  opacity: 0;
}
.is-gnav-open .l-gnav-toggle__bar--3 {
  top: -6px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.l-gnav-toggle__bar-front {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
}
.is-base-black .l-gnav-toggle__bar-front {
  background: #000;
}
.is-gnav-open .l-gnav-toggle__bar-front {
  background: #000;
}

.l-gnav-toggle__bar-back {
  width: 100%;
  height: 2px;
  background: #000;
}

.l-footer {
  padding: 8rem 0 3rem;
  background-color: #a5a4a1;
  margin-top: auto;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 3rem 0 3rem;
  }
}

.l-footer__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .l-footer__row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.l-footer__col--left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 50%;
}
.l-footer__col--right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 50%;
}
@media (max-width: 767px) {
  .l-footer__col--left {
    display: block;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 17.9487179487vw;
    padding-right: 17.9487179487vw;
  }
  .l-footer__col--center {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 3rem;
  }
  .l-footer__col--right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    max-width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-left: 17.9487179487vw;
    padding-right: 17.9487179487vw;
    margin-top: 3rem;
  }
}

.l-footer__address {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .l-footer__address {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.l-footer__button {
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .l-footer__button {
    width: 100%;
    margin-top: 1rem;
  }
  .l-footer__button a {
    width: 100%;
    max-width: 100%;
  }
}

.l-footer__logo {
  width: 2.3rem;
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 5rem auto 0;
}
@media (max-width: 767px) {
  .l-footer__sns {
    margin-top: 3rem;
  }
}

.l-footer__sns-item {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
}
.l-footer__text {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 2rem;
}
.l-footer__text:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .l-footer__text {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 0rem;
  }
}

.l-footer__copyright {
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  width: 100%;
  margin-top: 5rem;
  text-align: center;
}
.l-main {
  width: 100%;
  background-color: #fff;
  overflow: hidden;
}
.is-lower .l-main {
  margin-top: 9rem;
}
@media (max-width: 1024px) {
  .l-main {
    margin-top: 10rem;
  }
  .is-lower .l-main {
    margin-top: 10rem;
  }
}
/* .l-content__header */
.l-content__header {
  padding-top: 24rem;
  border-bottom: solid 1px #707070;
}
.l-content__header--2 {
  border: none;
}
@media (max-width: 1024px) {
  .l-content__header {
    padding-top: 18rem;
  }
}
@media (max-width: 767px) {
  .l-content__header {
    padding-top: 12rem;
  }
}

.l-content__header-inner {
  position: relative;
}

.l-content__header-heading {
  padding-bottom: 10rem;
  text-align: center;
}
.l-content__header--2 .l-content__header-heading {
  padding-bottom: 0;
}
@media (max-width: 1024px) {
  .l-content__header-heading {
    padding-bottom: 10rem;
  }
}
@media (max-width: 767px) {
  .l-content__header-heading {
    padding-bottom: 7rem;
  }
}

.l-content__header-heading-text {
  font-size: 80px;
  font-size: 8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  display: block;
  font-family: "EB Garamond", serif;
}
@media (max-width: 1024px) {
  .l-content__header-heading-text {
    font-size: 60px;
    font-size: 6rem;
  }
}
@media (max-width: 767px) {
  .l-content__header-heading-text {
    font-size: 46px;
    font-size: 4.6rem;
  }
}

.l-content__header-heading-text-jp {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-top: 1.5rem;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
  letter-spacing: 0.12em;
}
@media (max-width: 1024px) {
  .l-content__header-heading-text-jp {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .l-content__header-heading-text-jp {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* .l-content__kv */
.l-content__kv {
  position: relative;
  width: 100%;
  height: 34.7222222222vw;
  overflow: hidden;
}
.l-content__kv--careers {
  height: 47.2222222222vw;
}
@media (max-width: 1024px) {
  .l-content__kv {
    height: 52.0833333333vw;
  }
  .l-content__kv--careers {
    height: 65.1041666667vw;
  }
}
@media (max-width: 767px) {
  .l-content__kv {
    height: 80vw;
  }
  .l-content__kv--careers {
    height: 106.6666666667vw;
  }
}

.l-content__kv-in {
  position: absolute;
  top: -15%;
  left: 0;
  width: 100%;
  height: 130%;
}
@media (max-width: 1024px) {
  .l-content__kv-in {
    top: 0;
    height: 100%;
  }
  .is-pc .l-content__kv-in {
    top: -15%;
    height: 130%;
  }
}

.l-content__kv-img {
  background-image: url("");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
  transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  will-change: transform, opacity;
}
.is-onscreen .l-content__kv-img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.l-content__kv-slide {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
  transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform-origin: top center;
          transform-origin: top center;
  will-change: transform, opacity;
}
.is-onscreen .l-content__kv-slide {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.l-content__kv-slide-img {
  background-image: url("");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 100%;
}

/* .l-content__body */
.l-content__body {
  position: relative;
  padding-top: 12rem;
  padding-bottom: 15rem;
}
@media (max-width: 1024px) {
  .l-content__body {
    padding-top: 8rem;
    padding-bottom: 12rem;
  }
}
@media (max-width: 767px) {
  .l-content__body {
    padding-top: 6rem;
    padding-bottom: 8rem;
  }
}

/* .l-content__footer */
.l-content__footer {
  position: relative;
}

/* =========================================================

Object

========================================================= */
/* ---------------------------------------------------------

Component

--------------------------------------------------------- */
/* preloader-main */
.c-preloader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000000;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: center;
  background-color: #fff;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.is-gnav-open .c-preloader {
  pointer-events: none;
}
.is-page-loaded .c-preloader {
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s;
}

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

.c-icon-facebook:before {
  content: "";
}

.c-icon-instagram:before {
  content: "";
}

.c-icon-twitter:before {
  content: "";
}

.c-icon-youtube:before {
  content: "";
}

.c-icon-arrow-up:before {
  content: "";
}

.c-icon-arrow-down:before {
  content: "";
}

.c-icon-arrow-left:before {
  content: "";
}

.c-icon-arrow-right:before {
  content: "";
}

.c-icon-close:before {
  content: "";
}

.c-icon-map:before {
  content: "";
}

.c-icon-plus:before {
  content: "";
}

.c-icon-window:before {
  content: "";
}

/* c-button */
.c-button {
  position: relative;
  display: inline-block;
  height: 3.4rem;
  overflow: hidden;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border: 0.1rem solid #000;
  border-radius: 1.7rem;
  padding: 0 5rem;
}
.c-button:hover,
.c-button a:hover {
  color: #fff;
  background-color: #000;
}
.c-button--white {
  border: 0.1rem solid #fff;
  color: #fff;
}
.c-button--white:hover,
.c-button--white a:hover {
  color: #000;
  background-color: #fff;
  border: 0.1rem solid #fff;
}
.c-button__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
  padding-left: 0.5rem;
}
.c-button__text {
  display: inline-block;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.c-button__icon {
  display: inline-block;
  overflow: hidden;
}
.c-button__icon--left {
  margin-right: 0.5rem;
}
.c-button__icon--right {
  margin-left: 0.5rem;
}

.c-button__icon-in {
  font-size: 12px;
  font-size: 1.2rem;
  display: inline-block;
  overflow: hidden;
  color: #1a1311;
}
.c-button:hover .c-button__icon-in, a:hover .c-button__icon-in {
  -webkit-animation: forward 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
          animation: forward 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
.c-button--reverse:hover .c-button__icon-in {
  -webkit-animation: backward 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
          animation: backward 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
}
.c-button--w .c-button__icon-in {
  color: #fff;
}
.c-button--color .c-button__icon-in {
  color: #fff;
}
.c-button--product .c-button__icon-in {
  color: #fff;
}
@media (max-width: 1024px) {
  .c-button__icon-in {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .c-button:hover .c-button__icon-in, a:hover .c-button__icon-in {
    -webkit-animation: none;
            animation: none;
  }
  .c-button--w-sp .c-button__icon-in {
    color: #fff;
  }
}

.c-button-circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-button-circle__text {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.c-button-circle__icon {
  max-width: 2.6rem;
  -ms-flex-preferred-size: 2.6rem;
      flex-basis: 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 0.1rem solid #fff;
  border-radius: 100%;
  margin-left: 2rem;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-button-circle:hover .c-button-circle__icon {
  background-color: #000;
  border: 0.1rem solid #000;
}

.c-heading {
  position: relative;
}
@media (max-width: 767px) {
  .c-heading {
    text-align: center;
  }
}

.c-heading__text {
  font-size: 50px;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  position: relative;
  display: inline-block;
  font-family: "EB Garamond", serif;
}
.c-heading__text--jp {
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 700;
}
@media (max-width: 1024px) {
  .c-heading__text {
    font-size: 40px;
    font-size: 4rem;
  }
  .c-heading__text--jp {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
@media (max-width: 767px) {
  .c-heading__text {
    font-size: 36px;
    font-size: 3.6rem;
  }
  .c-heading__text--jp {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

.c-heading-desc {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 5rem;
}
@media (max-width: 1024px) {
  .c-heading-desc {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 4rem;
  }
}
@media (max-width: 767px) {
  .c-heading-desc {
    margin-top: 3.6rem;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
  }
}

.c-heading-sub {
  position: relative;
}
@media (max-width: 767px) {
  .c-heading-sub {
    text-align: center;
  }
}

.c-heading-sub__text {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  position: relative;
  display: inline-block;
  margin-top: 0.8rem;
  font-family: "EB Garamond", serif;
}
@media (max-width: 1024px) {
  .c-heading-sub__text {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 0.6rem;
  }
}
@media (max-width: 767px) {
  .c-heading-sub__text {
    font-size: 11px;
    font-size: 1.1rem;
    margin-top: 0.5rem;
  }
}

/* paragraph */
.c-paragraph, .p-news-card__text, .p-news-card__body p, .p-news-index__main-blcok-body p, .c-wp-editor p {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 1.8em;
}
.c-paragraph--sm {
  font-size: 14px;
  font-size: 1.4rem;
}
@media (max-width: 1024px) {
  .c-paragraph, .p-news-card__text, .p-news-card__body p, .p-news-index__main-blcok-body p, .c-wp-editor p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .c-paragraph--sm {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

/* link-anim */
.c-link-anim {
  color: #1a1311;
  background: -webkit-gradient(linear, left top, left bottom, from(#1a1311), to(#1a1311)) 100% 100%/0 1px no-repeat;
  background: linear-gradient(#1a1311, #1a1311) 100% 100%/0 1px no-repeat;
  -webkit-transition: background-size 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  transition: background-size 0.6s cubic-bezier(0.19, 1, 0.22, 1) 0s;
  will-change: background-size;
}
a:hover .c-link-anim {
  background-position: 0 100%;
  background-size: 100% 1px;
}

a.c-link-anim {
  color: #1a1311;
}
a.c-link-anim:hover {
  background-position: 0 100%;
  background-size: 100% 1px;
}

.c-link-anim-2 {
  color: #1a1311;
  background: -webkit-gradient(linear, left top, left bottom, from(#1a1311), to(#1a1311)) 0 100%/100% 1px no-repeat;
  background: linear-gradient(#1a1311, #1a1311) 0 100%/100% 1px no-repeat;
  -webkit-transition: background-size 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: background-size 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  will-change: background-size;
}

a.c-link-anim-2 {
  color: #1a1311;
}
a.c-link-anim-2:hover {
  background-position: 100% 100%;
  background-size: 0 1px;
}

.c-link-anim-white {
  color: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) 100% 100%/0 1px no-repeat;
  background: linear-gradient(#fff, #fff) 100% 100%/0 1px no-repeat;
  -webkit-transition: background-size 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: background-size 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  will-change: background-size;
}
a:hover .c-link-anim-white {
  background-position: 0 100%;
  background-size: 100% 1px;
}

a.c-link-anim-white {
  color: #fff;
}
a.c-link-anim-white:hover {
  background-position: 0 100%;
  background-size: 100% 1px;
}

.c-breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: -1px;
}
@media (max-width: 767px) {
  .c-breadcrumbs {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    max-width: 100%;
    overflow-x: auto;
  }
}

.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 2rem;
  border-bottom: solid 1px #909090;
}
@media (max-width: 767px) {
  .c-breadcrumbs__list {
    padding-bottom: 1.5rem;
  }
}

.c-breadcrumbs__item {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  position: relative;
  max-width: 19rem;
  padding-left: 6rem;
  overflow: hidden;
  font-family: "EB Garamond", serif;
  color: #888;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.c-breadcrumbs__item:after {
  position: absolute;
  top: 50%;
  left: 2rem;
  display: block;
  width: 2rem;
  height: 1px;
  content: "";
  background-color: #707070;
}
.c-breadcrumbs__item:first-child {
  padding-left: 0;
}
.c-breadcrumbs__item:first-child:after {
  display: none;
}
.c-breadcrumbs__item a {
  display: block;
}
@media (max-width: 1024px) {
  .c-breadcrumbs__item {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .c-breadcrumbs__item {
    max-width: 14rem;
    font-size: 12px;
    font-size: 1.2rem;
    padding-left: 26px;
  }
  .c-breadcrumbs__item:after {
    left: 10px;
    width: 6px;
  }
  .c-breadcrumbs__item:first-child {
    padding-left: 0;
  }
  .c-breadcrumbs__item:first-child:after {
    display: none;
  }
}

/* pagination */
.c-pagination {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.03em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-align: center;
  letter-spacing: -0.4em;
}

.c-pagination__item {
  position: relative;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3.6rem;
  margin: 0 0.5rem;
  letter-spacing: normal;
}
.c-pagination__item:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #1a1311;
  opacity: 0;
}
.c-pagination__item.is-current:after {
  opacity: 1;
}
@media (max-width: 1024px) {
  .c-pagination__item {
    width: 2.6rem;
    height: 3rem;
    margin: 0 0.4rem;
  }
}
@media (max-width: 767px) {
  .c-pagination__item {
    font-size: 14px;
    font-size: 1.4rem;
    width: 2rem;
    height: 2.4rem;
    margin: 0 0.3rem;
  }
}

.c-pagination__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3rem;
  height: 3.6rem;
  margin: 0 0.5rem;
  color: #000;
  letter-spacing: normal;
}
@media (max-width: 1024px) {
  .c-pagination__arrow {
    width: 2.6rem;
    height: 3rem;
    margin: 0 0.4rem;
  }
}
@media (max-width: 767px) {
  .c-pagination__arrow {
    width: 2rem;
    height: 2.4rem;
    margin: 0 0.3rem;
  }
}

/**
 * Swiper 7.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 3, 2021
 */
@font-face {
  font-family: swiper-icons;
  font-style: normal;
  font-weight: 400;
  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");
}
:root {
  --swiper-theme-color: #007aff;
}

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

.swiper-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

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

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

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

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

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

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

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

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

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  -webkit-perspective: 1200px;
          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 {
  -webkit-transform-style: preserve-3d;
          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;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

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

.swiper-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  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: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  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: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  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: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  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 {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

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

.swiper-centered > .swiper-wrapper:before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-ordinal-group: 10000;
      -ms-flex-order: 9999;
          order: 9999;
  content: "";
}

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

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

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  -webkit-margin-before: var(--swiper-centered-offset-before);
          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-css-mode .swiper-wrapper:after {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  content: "";
}

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

.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%;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  cursor: pointer;
}

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

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

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

.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;
  z-index: 10;
  text-align: center;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

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

.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 {
  position: relative;
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
}

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

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

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

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

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

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

.swiper-pagination-bullet {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
  opacity: 0.2;
}

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

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

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

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

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

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

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

.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;
  -webkit-transition: 0.2s top, 0.2s -webkit-transform;
  transition: 0.2s top, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s top;
  transition: 0.2s transform, 0.2s top, 0.2s -webkit-transform;
}

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

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

.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 {
  -webkit-transition: 0.2s left, 0.2s -webkit-transform;
  transition: 0.2s left, 0.2s -webkit-transform;
  transition: 0.2s transform, 0.2s left;
  transition: 0.2s transform, 0.2s left, 0.2s -webkit-transform;
}

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

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

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

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
          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 {
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
}

.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 {
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

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

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

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

.swiper-grid-column > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

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

.swiper-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  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 {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
}

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

.swiper-cube.swiper-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
          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;
  backface-visibility: hidden;
}

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

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

.swiper-flip {
  overflow: visible;
}

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

.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;
  backface-visibility: hidden;
}

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

.swiper-cards {
  overflow: visible;
}

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

.c-modal {
  position: fixed;
  top: 0;
  left: -999999px;
  z-index: 1000000;
  width: 100%;
  height: 100vh;
  padding: get-vw(120) 0;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.is-modal-show .c-modal {
  left: 0;
  pointer-events: all;
  visibility: visible;
  opacity: 1;
}
@media (max-width: 767px) {
  .c-modal {
    padding: 80px 0;
  }
}

.c-modal__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: rgba(240, 240, 240, 0.8);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.is-modal-show .c-modal__bg {
  pointer-events: all;
}

.c-modal__container {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100vh;
}

.c-modal__wrap {
  z-index: 2;
  width: 100%;
  max-height: 100vh;
  padding: 8rem 0;
  overflow-y: auto;
}
@media (max-width: 1024px) {
  .c-modal__wrap {
    padding: 6rem 0;
  }
}
@media (max-width: 767px) {
  .c-modal__wrap {
    padding: 1rem 0;
  }
}

.c-modal__content {
  position: relative;
  z-index: 10;
  display: none;
  width: 100rem;
  margin: 0 auto;
  -webkit-overflow-scrolling: touch;
}
.c-modal__content.is-show {
  display: block;
}
@media (max-width: 1024px) {
  .c-modal__content {
    width: 100%;
    padding: 0 1rem;
  }
}

.c-modal__close {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  z-index: 10;
  display: block;
  cursor: pointer;
}
.is-page-loaded .c-modal__close {
  opacity: 1;
}
.c-modal__close-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-modal__close-heading {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}

.c-modal__close-icon {
  width: 2.6rem;
  -ms-flex-preferred-size: 2.6rem;
      flex-basis: 2.6rem;
  max-width: 2.6rem;
  height: 2.6rem;
  background-color: #000;
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-left: 1rem;
}

.c-modal__arrow {
  position: fixed;
  top: 50%;
  z-index: 10;
  width: 2.4rem;
  height: 4.8rem;
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
  -webkit-transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1) 1s;
  transition: opacity 1s cubic-bezier(0.39, 0.575, 0.565, 1) 1s;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  display: none;
}
.c-modal__arrow--next {
  right: calc(50% - 56rem);
}
.c-modal__arrow--prev {
  left: calc(50% - 56rem);
}
.is-page-loaded .c-modal__arrow {
  opacity: 1;
}
@media (max-width: 1024px) {
  .c-modal__arrow--next {
    right: 20px;
  }
  .c-modal__arrow--prev {
    left: 20px;
  }
}
@media (max-width: 767px) {
  .c-modal__arrow {
    top: 15px;
  }
  .c-modal__arrow--next {
    right: auto;
    left: 50%;
    -webkit-transform: translate3d(60px, 0, 0);
            transform: translate3d(60px, 0, 0);
  }
  .c-modal__arrow--prev {
    right: 50%;
    left: auto;
    -webkit-transform: translate3d(-60px, 0, 0);
            transform: translate3d(-60px, 0, 0);
  }
}

.c-modal__arrow-icon {
  display: block;
  width: 100%;
}
.c-modal__arrow--prev:hover .c-modal__arrow-icon {
  -webkit-animation: backward 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
          animation: backward 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
.c-modal__arrow--next:hover .c-modal__arrow-icon {
  -webkit-animation: forward 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
          animation: forward 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@media (max-width: 1024px) {
  .c-modal__arrow--prev:hover .c-modal__arrow-icon {
    -webkit-animation: none;
            animation: none;
  }
  .c-modal__arrow--next:hover .c-modal__arrow-icon {
    -webkit-animation: none;
            animation: none;
  }
}

.c-pagetop {
  display: none;
}
@media (max-width: 1024px) {
  .c-pagetop {
    display: block;
  }
}
.c-pagetop__item {
  padding: 2rem 0;
  background-color: #707070;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "EB Garamond", serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  position: relative;
}
.c-pagetop__item:hover {
  color: #fff;
}
@media (max-width: 767px) {
  .c-pagetop__item {
    padding: 1.8rem;
  }
}

.c-pagetop__item-icon {
  position: absolute;
  right: 3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  max-width: 2.6rem;
  -ms-flex-preferred-size: 2.6rem;
      flex-basis: 2.6rem;
  width: 2.6rem;
  height: 2.6rem;
  border: 0.1rem solid #fff;
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (max-width: 767px) {
  .c-pagetop__item-icon {
    right: 2rem;
  }
}

/*wp-editor*/
.c-wp-editor {
  /* Alignments */
  /* clearfix */
}
.c-wp-editor img {
  margin-top: 2rem;
}
.c-wp-editor img:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .c-wp-editor img {
    margin-top: 2rem;
  }
}
.c-wp-editor hr {
  display: block;
  width: 100%;
  height: 1px;
  margin: 6.5rem 0;
  border: none;
  background-color: #707070;
}
.c-wp-editor strong {
  font-weight: bold;
}
.c-wp-editor blockquote {
  position: relative;
  display: inline-block;
  padding: 1em;
}
.c-wp-editor blockquote::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '"';
}
.c-wp-editor blockquote::after {
  position: absolute;
  right: 0;
  bottom: 0;
  content: '"';
}
.c-wp-editor pre {
  font-size: 0.8em;
  line-height: 1.4;
  display: block;
  margin: 0 0 0.8em;
  padding: 0.6em;
  word-wrap: break-word;
  word-break: break-all;
  color: #333;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #f5f5f5;
}
.c-wp-editor pre code {
  font-size: inherit;
  padding: 0;
  white-space: pre-wrap;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
}
.c-wp-editor strong {
  font-weight: bold;
}
.c-wp-editor em {
  font-style: italic;
}
.c-wp-editor del {
  text-decoration: line-through;
}
.c-wp-editor .alignleft {
  /*rtl:ignore*/
  /*rtl:ignore*/
  margin-right: 0;
}
@media (min-width: 768px) {
  .c-wp-editor .alignleft {
    /*rtl:ignore*/
    float: left;
    margin-right: calc(2 * 1rem);
  }
}
.c-wp-editor .alignright {
  /*rtl:ignore*/
  /*rtl:ignore*/
  margin-left: 0;
}
@media (min-width: 768px) {
  .c-wp-editor .alignright {
    float: right;
    /*rtl:ignore*/
    margin-left: calc(2 * 1rem);
  }
}
.c-wp-editor .aligncenter {
  display: block;
  clear: both;
  margin-right: auto;
  margin-left: auto;
}
.c-wp-editor img[class*=wp-image-],
.c-wp-editor img[class*=attachment-] {
  max-width: 100%;
  height: auto;
}
.c-wp-editor .clearfix {
  overflow: hidden;
  zoom: 1;
}
.c-wp-editor .clearfix::after {
  display: block;
  clear: both;
  content: "";
}
@media (min-width: 768px) {
  .l-flex__col .c-wp-editor > *:first-child {
    margin-top: 0;
  }
  .c-faq__block .c-wp-editor > *:first-child {
    margin-top: 0;
  }
}

/* ---------------------------------------------------------

Project

--------------------------------------------------------- */
.p-top__kv {
  position: relative;
  width: 100%;
  height: 100vh;
}
@media (max-width: 1024px) {
  .p-top__kv {
    padding: 0;
    height: auto;
  }
}
@media (max-width: 767px) {
  .p-top__kv {
    padding-bottom: 0;
  }
}

.p-top__kv-inner {
  position: relative;
  top: 8rem;
  left: 0;
  width: 100%;
  height: calc(100vh - 16rem);
}
@media (max-width: 1024px) {
  .p-top__kv-inner {
    top: 0;
    height: 75.5208333333vw;
  }
}
@media (max-width: 767px) {
  .p-top__kv-inner {
    height: 158.9743589744vw;
  }
}

.p-top__kv-heading {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-top__kv-heading img {
  width: 5.5555555556vw;
}
@media (max-width: 1024px) {
  .p-top__kv-heading img {
    width: 8rem;
  }
}
@media (max-width: 767px) {
  .p-top__kv-heading img {
    width: 9rem;
  }
}

.p-top__kv-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
}
.p-top__kv-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-top__kv-image .swiper {
  width: 100%;
  height: 100%;
}
.p-top__kv-scroll {
  position: absolute;
  bottom: 1.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 1024px) {
  .p-top__kv-scroll {
    position: static;
    -webkit-transform: none;
            transform: none;
    text-align: center;
    margin-top: 2.5rem;
  }
}
.p-top__kv-scroll-heading {
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  margin-bottom: 0.8rem;
}
.p-top__kv-scroll-bar {
  position: relative;
  width: 6px;
  height: 3rem;
  overflow: hidden;
  border-radius: 3px;
  margin: 0 auto;
}
.p-top__kv-scroll-bar::after {
  content: "";
  width: 1px;
  background-color: #000;
  height: 100%;
  display: block;
  margin: 0 auto;
}
.p-top__kv-scroll-icon {
  position: absolute;
  top: 0;
  left: 50%;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  border-radius: 100%;
  background-color: #000;
  -webkit-animation: animation 4s infinite;
          animation: animation 4s infinite;
}
@-webkit-keyframes animation {
  0% {
    -webkit-transform: translate(0, -20px);
            transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px);
  }
}
@keyframes animation {
  0% {
    -webkit-transform: translate(0, -20px);
            transform: translate(0, -20px);
  }
  100% {
    -webkit-transform: translate(0, 60px);
            transform: translate(0, 60px);
  }
}
.p-top__about-text {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 5rem;
}
.p-top__about-text:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .p-top__about-text {
    margin-top: 4rem;
  }
}

.p-top__about-1 {
  padding: 5.5555555556vw 0;
}
@media (max-width: 1024px) {
  .p-top__about-1 {
    padding: 6rem 0;
  }
}
@media (max-width: 767px) {
  .p-top__about-1 {
    padding: 4rem 0;
  }
}

.p-top__about-1-inner {
  max-width: 168rem;
}
@media (max-width: 1024px) {
  .p-top__about-1-inner {
    padding: 0 4rem;
  }
}
@media (max-width: 767px) {
  .p-top__about-1-inner {
    padding: 0 2rem;
  }
}

.p-top__about-1-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .p-top__about-1-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-top__about-1-image {
  -ms-flex-preferred-size: 39.0625%;
      flex-basis: 39.0625%;
  max-width: 39.0625%;
}
@media (max-width: 767px) {
  .p-top__about-1-image {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}

.p-top__about-1-image-item--2 {
  -ms-flex-preferred-size: 57%;
      flex-basis: 57%;
  max-width: 57%;
  margin-top: -13%;
  margin-right: -8%;
  margin-left: auto;
}
.p-top__about-1-image-item img {
  width: 100%;
}
@media (max-width: 767px) {
  .p-top__about-1-image-item--2 {
    -ms-flex-preferred-size: 41.0256410256vw;
        flex-basis: 41.0256410256vw;
    max-width: 41.0256410256vw;
    margin-top: -20.5128205128vw;
    margin-right: -2rem;
    margin-left: auto;
  }
}

.p-top__about-1-body {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 54.296875%;
  padding-left: 18.75%;
}
@media (max-width: 767px) {
  .p-top__about-1-body {
    max-width: 100%;
    padding-left: 0;
    margin-top: 3rem;
  }
}

@media (max-width: 767px) {
  .p-top__about-1-body-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 11.5rem;
  }
  .p-top__about-1-body-row .p-top__about-text {
    margin-top: 0;
  }
}

.p-top__about-1-heading {
  position: absolute;
  top: 0;
  left: 11.5107913669%;
  -ms-flex-preferred-size: 12.6618705036%;
      flex-basis: 12.6618705036%;
  max-width: 12.6618705036%;
}
.p-top__about-1-heading img {
  width: 100%;
}
@media (max-width: 767px) {
  .p-top__about-1-heading {
    left: 0;
    -ms-flex-preferred-size: 8rem;
        flex-basis: 8rem;
    max-width: 8rem;
  }
}

.p-top__about-2 {
  padding: 0 0 5.5555555556vw;
}
@media (max-width: 767px) {
  .p-top__about-2 {
    padding: 0 0 3rem;
  }
}

.p-top__about-2-inner {
  max-width: 168rem;
}
@media (max-width: 1024px) {
  .p-top__about-2-inner {
    padding: 0 4rem;
  }
}
@media (max-width: 767px) {
  .p-top__about-2-inner {
    padding: 0 2rem;
  }
}

.p-top__about-2-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .p-top__about-2-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-top__about-2-image {
  -ms-flex-preferred-size: 39.0625%;
      flex-basis: 39.0625%;
  max-width: 39.0625%;
}
@media (max-width: 767px) {
  .p-top__about-2-image {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}

.p-top__about-2-image-item--2 {
  -ms-flex-preferred-size: 69%;
      flex-basis: 69%;
  max-width: 69%;
  margin-top: -13%;
  margin-left: -15.2%;
}
.p-top__about-2-image-item img {
  width: 100%;
}
@media (max-width: 767px) {
  .p-top__about-2-image-item--2 {
    -ms-flex-preferred-size: 41.0256410256vw;
        flex-basis: 41.0256410256vw;
    max-width: 41.0256410256vw;
    margin-top: -25.641025641vw;
    margin-left: -2rem;
  }
}

.p-top__about-2-body {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 60.9375%;
  padding-right: 15.625%;
  padding-left: 6.25%;
}
@media (max-width: 767px) {
  .p-top__about-2-body {
    padding: 0;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .p-top__about-2-body-row {
    padding-right: 6.5rem;
    position: relative;
  }
}

.p-top__about-2-heading {
  position: absolute;
  top: 15%;
  right: 16.0256410256%;
  -ms-flex-preferred-size: 3.2051282051%;
      flex-basis: 3.2051282051%;
  max-width: 3.2051282051%;
}
.p-top__about-2-heading img {
  width: 100%;
}
@media (max-width: 767px) {
  .p-top__about-2-heading {
    -ms-flex-preferred-size: 2.5rem;
        flex-basis: 2.5rem;
    max-width: 2.5rem;
    top: 0;
    right: 1rem;
  }
}

.p-seccial-area {
  position: relative;
  width: 100%;
  padding: 5.5555555556vw 0;
  color: #fff;
}
@media (max-width: 1024px) {
  .p-seccial-area {
    padding: 13.0208333333vw 0;
  }
}
@media (max-width: 767px) {
  .p-seccial-area {
    padding: 33.3333333333vw 0;
  }
}

.p-seccial-area__inner {
  position: relative;
  z-index: 10;
}
@media (max-width: 1024px) {
  .p-seccial-area__inner {
    padding: 0 3rem;
  }
}
@media (max-width: 767px) {
  .p-seccial-area__inner {
    padding: 0 2rem;
  }
}

.p-seccial-area__header {
  text-align: center;
}
.p-seccial-area__header-heading {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.p-seccial-area__header-name {
  width: 100%;
  max-width: 34rem;
  margin: 2rem auto 0;
}
.p-seccial-area__header-name img {
  width: 100%;
}
@media (max-width: 767px) {
  .p-seccial-area__header-name {
    max-width: 28rem;
  }
}

.p-seccial-area__body {
  max-width: 56rem;
  margin: 7rem auto 0;
}
@media (max-width: 1024px) {
  .p-seccial-area__body {
    margin-top: 4rem;
  }
}
@media (max-width: 767px) {
  .p-seccial-area__body {
    margin-top: 3rem;
  }
}

.p-seccial-area__text {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media (max-width: 1024px) {
  .p-seccial-area__text {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .p-seccial-area__text {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.p-seccial-area__button {
  margin: 5rem auto 0;
  display: table;
}
@media (max-width: 1024px) {
  .p-seccial-area__button {
    margin-top: 4rem;
  }
}
@media (max-width: 767px) {
  .p-seccial-area__button {
    margin-top: 2rem;
  }
}

.p-seccial-area__cover {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.1);
}

.p-seccial-area__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.p-seccial-area__bg-item {
  width: 100%;
  height: 100%;
}
.p-seccial-area__bg-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-area {
  position: relative;
  padding: 2.7777777778vw 0;
  color: #fff;
}
.p-news-area a {
  color: #fff;
}
@media (max-width: 1024px) {
  .p-news-area {
    padding: 6.5104166667vw 0;
  }
}
@media (max-width: 767px) {
  .p-news-area {
    padding: 7.6923076923vw 0 12.8205128205vw;
  }
}

.p-news-area__inner {
  position: relative;
  z-index: 10;
  max-width: 120rem;
}
.p-news-area__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .p-news-area__row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-news-area__image {
  -ms-flex-preferred-size: 46rem;
      flex-basis: 46rem;
  max-width: 46rem;
}
.p-news-area__image img {
  width: 100%;
}
@media (max-width: 1024px) {
  .p-news-area__image {
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
    max-width: 40%;
  }
}
@media (max-width: 767px) {
  .p-news-area__image {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%;
    margin-top: 2rem;
  }
}

.p-news-area__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 8rem;
}
@media (max-width: 1024px) {
  .p-news-area__body {
    padding-left: 4rem;
  }
}
@media (max-width: 767px) {
  .p-news-area__body {
    padding-left: 0;
    margin-top: 3rem;
  }
}

.p-news-area__heading {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
.p-news-area__heading--sp {
  display: none;
}
@media (max-width: 767px) {
  .p-news-area__heading {
    line-height: 1;
  }
  .p-news-area__heading--pc {
    display: none;
  }
  .p-news-area__heading--sp {
    display: block;
  }
}

.p-news-area__category {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-news-area__category {
    margin-top: 0;
  }
}

.p-news-area__title {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .p-news-area__title {
    margin-top: 1rem;
  }
}

.p-news-area__body-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5rem;
}
.p-news-area__body-button-item {
  margin-right: 5rem;
}
.p-news-area__body-button-item:last-child {
  margin-right: 0;
}
@media (max-width: 767px) {
  .p-news-area__body-button-item:last-child {
    margin-right: 0;
    margin-left: auto;
  }
}

.p-news-area__date {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-top: 3rem;
}
.p-news-area__bg {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  text-align: center;
  background-size: cover;
}
.p-news-area__bg::before {
  position: absolute;
  z-index: -1;
  top: -20px;
  right: -20px;
  bottom: -20px;
  left: -20px;
  content: "";
  background: inherit;
  -webkit-filter: blur(20px);
          filter: blur(20px);
}
.p-news-area__bg::after {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgba(0, 0, 0, 0.3);
}
.p-side-menu {
  position: fixed;
  z-index: 10;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  width: 8rem;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-side-menu--left {
  left: 0;
}
.p-side-menu--right {
  right: 0;
}
.is-scrolled .p-side-menu {
  opacity: 0;
  pointer-events: none;
}
@media (max-height: 680px) {
  .p-side-menu {
    opacity: 0;
  }
}
@media (max-width: 1024px) {
  .p-side-menu {
    display: none;
  }
}
.p-menu__inner {
  max-width: 122.5rem;
}
.p-menu__header {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
@media (max-width: 1024px) {
  .p-menu__header {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
@media (max-width: 767px) {
  .p-menu__header {
    font-size: 22px;
    font-size: 2.2rem;
  }
}

.p-menu__body {
  margin-top: 3.5rem;
  margin-bottom: 10rem;
}
@media (max-width: 1024px) {
  .p-menu__body {
    margin-top: 3rem;
    margin-bottom: 8rem;
  }
}
@media (max-width: 767px) {
  .p-menu__body {
    margin-top: 2.5rem;
    margin-bottom: 6rem;
    min-height: calc(100vh - 21.5rem);
  }
}

.p-menu__section {
  margin-top: 3rem;
}
.p-menu__section:first-child {
  margin-top: 0;
}
@media (max-width: 1024px) {
  .p-menu__section {
    margin-top: 2.8rem;
  }
}
@media (max-width: 767px) {
  .p-menu__section {
    margin-top: 2.5rem;
  }
}

.p-menu__section-header {
  cursor: pointer;
}
.p-menu__section-header-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1024px) {
  .p-menu__section-header-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-menu__section-header-col-left {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (max-width: 767px) {
  .p-menu__section-header-col-left {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.p-menu__section-header-title {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
.p-menu__section-header-read {
  margin-top: 1rem;
}
@media (max-width: 1024px) {
  .p-menu__section-header-read {
    display: none;
  }
}
.p-menu__section-header-read-jp {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  display: block;
}
.p-menu__section-header-read-en {
  margin-top: 0.5rem;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
  display: block;
}
.p-menu__section-header-col-right {
  max-width: 28rem;
  -ms-flex-preferred-size: 28rem;
      flex-basis: 28rem;
  margin-left: auto;
  position: relative;
}
@media (max-width: 1024px) {
  .p-menu__section-header-col-right {
    max-width: 22rem;
    -ms-flex-preferred-size: 22rem;
        flex-basis: 22rem;
  }
}
@media (max-width: 767px) {
  .p-menu__section-header-col-right {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    margin-top: 0rem;
  }
}

.p-menu__section-header-col-right-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-menu__business-hours-heading {
  max-width: 14rem;
  -ms-flex-preferred-size: 14rem;
      flex-basis: 14rem;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
@media (max-width: 1024px) {
  .p-menu__business-hours-heading {
    max-width: 11rem;
    -ms-flex-preferred-size: 11rem;
        flex-basis: 11rem;
  }
}
@media (max-width: 767px) {
  .p-menu__business-hours-heading {
    max-width: auto;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}

.p-menu__business-hours-time {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
@media (max-width: 767px) {
  .p-menu__business-hours-time {
    margin-left: auto;
    padding-right: 4.5rem;
    -webkit-transform: translateY(-1.5rem);
            transform: translateY(-1.5rem);
  }
}

.p-menu__section-header-icon {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: 0.1rem solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 100%;
}
.p-menu__section-header-icon span {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-open .p-menu__section-header-icon {
  background-color: #000;
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.is-open .p-menu__section-header-icon span {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-menu__section-header:hover .p-menu__section-header-icon {
  background-color: #000;
}
.p-menu__section-header:hover .p-menu__section-header-icon span {
  color: #fff;
}
@media (max-width: 767px) {
  .p-menu__section-header-icon {
    top: -2rem;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.p-menu__section-body {
  height: 0;
  opacity: 0;
  overflow: hidden;
}
.p-menu__section-body-inner {
  padding-top: 4rem;
}
@media (max-width: 1024px) {
  .p-menu__section-body-inner {
    padding-top: 2rem;
  }
}
@media (max-width: 767px) {
  .p-menu__section-body-inner {
    padding-top: 1rem;
  }
}

.p-menu__blcok {
  border-bottom: 0.1rem solid #707070;
  margin-top: 5rem;
  padding-bottom: 5rem;
}
.p-menu__blcok:first-child {
  margin-top: 0;
}
@media (max-width: 1024px) {
  .p-menu__blcok {
    margin-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok {
    margin-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-menu__blcok-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .p-menu__blcok-heading {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-menu__blcok-heading-en {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
@media (max-width: 767px) {
  .p-menu__blcok-heading-en {
    margin-right: 0.5rem;
  }
}

.p-menu__blcok-heading-jp {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  margin-left: 2rem;
}
@media (max-width: 1024px) {
  .p-menu__blcok-heading-jp {
    font-size: 12px;
    font-size: 1.2rem;
    margin-left: 1.5rem;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-heading-jp {
    font-size: 10px;
    font-size: 1rem;
    margin-left: 0;
  }
}

.p-menu__blcok-lead {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  margin-top: 1.5rem;
}
@media (max-width: 1024px) {
  .p-menu__blcok-lead {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 1rem;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-lead {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 0.5rem;
  }
}

.p-menu__blcok-note {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  margin-top: 1.5rem;
}
.p-menu__blcok-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
//  margin: 3rem -3rem 0;
  margin: 3rem -3rem 0 0;
}
.p-menu__blcok-row--fit {
  margin: 3rem 0 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 1024px) {
  .p-menu__blcok-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 2.5rem 0 0;
  }
  .p-menu__blcok-row--fit {
    margin: 2.5rem 0 0;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-row {
    margin: 1rem 0 0;
  }
  .p-menu__blcok-row--fit {
    margin: 1rem 0 0;
  }
}

.p-menu__blcok-col {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  padding: 0 3rem;
}
.p-menu__blcok-row--fit .p-menu__blcok-col {
  max-width: 100%;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  padding: 0;
}
@media (max-width: 1024px) {
  .p-menu__blcok-col {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 0;
    margin-top: 2rem;
  }
  .p-menu__blcok-col:first-child {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-col {
    margin-top: 1rem;
  }
}

.p-menu__list--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-menu__list--mt {
  margin-top: 3rem;
}
@media (max-width: 1024px) {
  .p-menu__list--mt {
    margin-top: 2.5rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list--mt {
    margin-top: 2rem;
  }
}

.p-menu__list-item {
  margin-top: 2.5rem;
}
.p-menu__list-item:first-child {
  margin-top: 0;
}
.p-menu__list--row .p-menu__list-item {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  margin-top: 0;
}
@media (max-width: 1024px) {
  .p-menu__list-item {
    margin-top: 2.5rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item {
    margin-top: 2.4rem;
  }
}

.p-menu__list-item-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1024px) {
  .p-menu__list-item-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-row {
    margin-top: 1rem;
  }
}

.p-menu__list-item-title {
  padding-right: 4rem;
}
@media (max-width: 1024px) {
  .p-menu__list-item-title {
    padding-right: 2rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-title {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding-right: 0;
  }
}

.p-menu__list-item-title-jp {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  display: inline-block;
  padding-right: 2.8rem;
  position: relative;
}
.p-menu__list-item-title-jp small {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.p-menu__list-item-title-jp--2 {
  font-family: "EB Garamond", serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.p-menu__list-item-title-jp--2 small {
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-left: 1.5rem;
}
@media (max-width: 1024px) {
  .p-menu__list-item-title-jp {
    font-size: 14px;
    font-size: 1.4rem;
    padding-right: 3rem;
  }
  .p-menu__list-item-title-jp--2 small {
    font-size: 11px;
    font-size: 1.1rem;
    margin-left: 1rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-title-jp {
    font-size: 12px;
    font-size: 1.2rem;
    padding-right: 3rem;
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    display: block;
  }
  .p-menu__list-item-title-jp small {
    display: block;
  }
  .p-menu__list-item-title-jp--2 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  .p-menu__list-item-title-jp--2 small {
    font-size: 11px;
    font-size: 1.1rem;
    margin-left: 0;
  }
}

.p-menu__list-item-icon {
  position: absolute;
  right: 0;
  top: 0.3rem;
  width: 2rem;
  height: 2rem;
  border: 0.1rem solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  border-radius: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-menu__list-item-icon--2 {
  top: 0rem;
}
.p-menu__list-item-icon span {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.p-menu__list-item:hover .p-menu__list-item-icon {
  background-color: #000;
  color: #fff;
}
@media (max-width: 1024px) {
  .p-menu__list-item-icon {
    top: -0.05rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-icon {
    top: 0rem;
  }
}

.p-menu__list-item-icon-2 {
  position: absolute;
  right: 0;
  top: 0rem;
  width: 2rem;
  height: 2rem;
  border: 0.1rem solid #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 10px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  border-radius: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-menu__list-item-icon-2 span {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
.p-menu__list-item-title-col:hover .p-menu__list-item-icon-2 {
  background-color: #000;
  color: #fff;
}
@media (max-width: 1024px) {
  .p-menu__list-item-icon-2 {
    top: -0.05rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-icon-2 {
    top: 0rem;
  }
}

.p-menu__list-item-title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-menu__list-item-title-en {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
  display: block;
  margin-top: 0.5rem;
}
@media (max-width: 1024px) {
  .p-menu__list-item-title-en {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-title-en {
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-menu__list-item-title-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -0.5rem;
}
@media (max-width: 1024px) {
  .p-menu__list-item-title-row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
}
.p-menu__list-item-title-col {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  padding: 0 0.5rem;
}
@media (max-width: 1024px) {
  .p-menu__list-item-title-col {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 0;
  }
}
.p-menu__list-item-title-text {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  display: block;
  margin-top: 1rem;
}
.p-menu__list-item-title-text strong {
  font-size: 15px;
  font-size: 1.5rem;
  position: relative;
  padding-right: 2.8rem;
  display: table;
}
@media (max-width: 1024px) {
  .p-menu__list-item-title-text {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 0.8rem;
  }
  .p-menu__list-item-title-text strong {
    font-size: 14px;
    font-size: 1.4rem;
    margin-bottom: 0.3rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-title-text {
    font-size: 11px;
    font-size: 1.1rem;
    margin-top: 0.5rem;
  }
  .p-menu__list-item-title-text strong {
    font-size: 13px;
    font-size: 1.3rem;
    display: block;
    margin-bottom: 0.3rem;
  }
}

.p-menu__list-item-note {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media (max-width: 1024px) {
  .p-menu__list-item-note {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-note {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

.p-menu__list-item-price {
  margin-left: auto;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media (max-width: 767px) {
  .p-menu__list-item-price {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    width: 100%;
    margin-top: 0.5rem;
  }
}

.p-menu__list-item-price-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 26rem;
  -ms-flex-preferred-size: 26rem;
      flex-basis: 26rem;
  width: 26rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 1024px) {
  .p-menu__list-item-price-row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-price-row {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    width: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 1.5rem;
  }
}

.p-menu__list-item-price-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-menu__list-item-price-icon-item {
  margin-right: 1rem;
}
.p-menu__list-item-price-icon-item:last-child {
  margin-right: 0;
}
.p-menu__list-item-price-item {
  max-width: 16rem;
  -ms-flex-preferred-size: 16rem;
      flex-basis: 16rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 1024px) {
  .p-menu__list-item-price-item {
    max-width: 8rem;
    -ms-flex-preferred-size: 8rem;
        flex-basis: 8rem;
  }
}
@media (max-width: 767px) {
  .p-menu__list-item-price-item {
    max-width: auto;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin-left: auto;
  }
}

.p-menu__blcok-note-list {
  margin-top: 5rem;
}
@media (max-width: 1024px) {
  .p-menu__blcok-note-list {
    margin-top: 4rem;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-note-list {
    margin-top: 3rem;
  }
}

.p-menu__blcok-note-list-item {
  margin-top: 2rem;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (max-width: 1024px) {
  .p-menu__blcok-note-list-item {
    margin-top: 1.5rem;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-note-list-item {
    margin-top: 1rem;
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-menu__blcok-note-list-item-logo {
  max-width: 10rem;
  -ms-flex-preferred-size: 10rem;
      flex-basis: 10rem;
  text-align: center;
  padding-right: 2rem;
}
@media (max-width: 1024px) {
  .p-menu__blcok-note-list-item-logo {
    max-width: 7rem;
    -ms-flex-preferred-size: 7rem;
        flex-basis: 7rem;
    padding-right: 1rem;
  }
}
@media (max-width: 767px) {
  .p-menu__blcok-note-list-item-logo {
    max-width: 5rem;
    -ms-flex-preferred-size: 5rem;
        flex-basis: 5rem;
    padding-right: 1rem;
  }
}

.p-menu__blcok-note-list-item-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.p-menu-detail {
  background-color: #fff;
  border-radius: 1.2rem;
  -webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.15);
}
.p-menu-detail__inner {
  padding: 2rem;
}
.p-menu-detail__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -2rem;
}
@media (max-width: 767px) {
  .p-menu-detail__row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
}

.p-menu-detail__col {
  padding: 0 2rem;
}
.p-menu-detail__col--1 {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.p-menu-detail__col--2 {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
@media (max-width: 767px) {
  .p-menu-detail__col {
    padding: 0;
  }
  .p-menu-detail__col--1 {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .p-menu-detail__col--2 {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.p-menu-detail__image {
  width: 100%;
}
.p-menu-detail__image img {
  width: 100%;
}
.p-menu-detail__body {
  margin-top: 1rem;
  padding-bottom: 5rem;
}
.p-menu-detail__title-jp {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
.p-menu-detail__title-en {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
  font-family: "EB Garamond", serif;
  margin-top: 0.5rem;
}
.p-menu-detail__price {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
  margin-top: 2rem;
}
.p-menu-detail__text {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.03em;
  margin-top: 2rem;
}
.p-news-index__main {
  position: relative;
  width: 100%;
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .p-news-index__main {
    margin-bottom: 5rem;
  }
}

.p-news-index__main-inner {
  height: calc(100vh - 16rem);
  width: 100%;
  position: relative;
}
@media (max-width: 1024px) {
  .p-news-index__main-inner {
    height: auto;
  }
}
.p-news-index__main-image {
  position: relative;
  width: 100%;
  height: 100%;
}
a:hover .p-news-index__main-image {
  opacity: 0.8;
}
.p-news-index__main-image-item {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-news-index__main-image-item img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-index__main-image a:hover .p-news-index__main-image-item {
  opacity: 0.8;
}
@media (max-width: 1024px) {
  .p-news-index__main-image-item img {
    position: static;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-news-index__main-blcok {
  width: 100%;
  max-width: 80rem;
  background-color: #fff;
  margin: -10rem auto 0;
  position: relative;
  z-index: 10;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok {
    margin: 0 auto 0;
  }
}
.p-news-index__main-blcok-inner {
  padding: 3rem 5rem;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok-inner {
    padding: 2rem 0 0;
  }
}
@media (max-width: 767px) {
  .p-news-index__main-blcok-inner {
    padding: 1.5rem 0 0;
  }
}

.p-news-index__main-blcok-heading {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok-heading {
    font-size: 25px;
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  .p-news-index__main-blcok-heading {
    font-size: 20px;
    font-size: 2rem;
  }
}

.p-news-index__main-blcok-category {
  margin-top: 1rem;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok-category {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-news-index__main-blcok-category {
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-news-index__main-blcok-title {
  margin-top: 1rem;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok-title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .p-news-index__main-blcok-title {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.p-news-index__main-blcok-date {
  margin-top: 1.8rem;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok-date {
    margin-top: 1.5rem;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-news-index__main-blcok-date {
    margin-top: 1rem;
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-news-index__main-blcok-body {
  margin-top: 3rem;
}
@media (max-width: 1024px) {
  .p-news-index__main-blcok-body {
    margin-top: 2.5rem;
  }
}
@media (max-width: 767px) {
  .p-news-index__main-blcok-body {
    margin-top: 2rem;
  }
}

.p-news-index__body {
  margin-top: 6rem;
  margin-bottom: 10rem;
}
@media (max-width: 1024px) {
  .p-news-index__body {
    margin-top: 5rem;
    margin-bottom: 8rem;
  }
}
@media (max-width: 767px) {
  .p-news-index__body {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}

.p-news-index__body-inner {
  max-width: 136rem;
}
.p-news-card {
  margin-top: 4rem;
}
.p-news-card:first-child {
  margin-top: 0;
}
.p-news-card a {
  display: block;
}
.p-news-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .p-news-card__row {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.p-news-card__image {
  max-width: 42.91666%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  position: relative;
}
.p-news-card a:hover .p-news-card__image {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .p-news-card__image {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.p-news-card__image-item {
  position: relative;
  padding-top: 100%;
}
.p-news-card__image-item img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .p-news-card__image-item {
    padding-top: 0;
  }
  .p-news-card__image-item img {
    position: static;
    width: 100%;
    height: auto;
    -o-object-fit: none;
       object-fit: none;
  }
}

.p-news-card__body {
  max-width: 57.08333%;
  padding-left: 5.3rem;
}
@media (max-width: 1024px) {
  .p-news-card__body {
    padding-left: 3rem;
  }
}
@media (max-width: 767px) {
  .p-news-card__body {
    padding-left: 0;
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding-top: 1.5rem;
  }
}

.p-news-card__category {
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (max-width: 1024px) {
  .p-news-card__category {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-news-card__category {
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-news-card__title {
  margin-top: 1rem;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media (max-width: 1024px) {
  .p-news-card__title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .p-news-card__title {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.p-news-card__date {
  margin-top: 1.8rem;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
}
@media (max-width: 1024px) {
  .p-news-card__date {
    margin-top: 1.5rem;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-news-card__date {
    margin-top: 1rem;
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-news-detail__header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1024px) {
  .p-news-detail__header-inner {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-news-detail__header-image {
  height: calc(100vh - 16rem);
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
  position: relative;
}
@media (max-width: 1024px) {
  .p-news-detail__header-image {
    height: auto;
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}
.p-news-detail__header-image-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  left: 0;
  top: 0;
}
@media (max-width: 1024px) {
  .p-news-detail__header-image-item img {
    position: static;
  }
}
.p-news-detail__header-body {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
  padding: 0 5rem 5rem;
}
@media (max-width: 1024px) {
  .p-news-detail__header-body {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    padding: 2rem 0 0 0;
  }
}
@media (max-width: 767px) {
  .p-news-detail__header-body {
    padding-top: 1.5rem;
  }
}

.p-news-detail__header-heading {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "EB Garamond", serif;
}
.p-news-detail__header-category {
  margin-top: 1rem;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (max-width: 1024px) {
  .p-news-detail__header-category {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-news-detail__header-category {
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-news-detail__header-title {
  margin-top: 1rem;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: YakuHanMPs_Noto, "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
@media (max-width: 1024px) {
  .p-news-detail__header-title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .p-news-detail__header-title {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.p-news-detail__header-date {
  margin-top: 1.8rem;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.03em;
  display: block;
}
@media (max-width: 1024px) {
  .p-news-detail__header-date {
    margin-top: 1.5rem;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .p-news-detail__header-date {
    margin-top: 1rem;
    font-size: 10px;
    font-size: 1rem;
  }
}

.p-news-detail__body {
  margin-top: 5rem;
  margin-bottom: 10rem;
}
@media (max-width: 1024px) {
  .p-news-detail__body {
    margin-top: 5rem;
    margin-bottom: 8rem;
  }
}
@media (max-width: 767px) {
  .p-news-detail__body {
    margin-top: 4rem;
    margin-bottom: 6rem;
  }
}

.p-news-detail__body-inner {
  max-width: 88rem;
}
/* ---------------------------------------------------------

Utility

--------------------------------------------------------- */
@-webkit-keyframes moveLineLeftToRight {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  49.9% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  50% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}
@keyframes moveLineLeftToRight {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  49.9% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  50% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  100% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}
@-webkit-keyframes moveLineTopToBottom {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  49.9% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  50% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
}
@keyframes moveLineTopToBottom {
  0% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  49.9% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
  }
  50% {
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
  100% {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    -webkit-transform-origin: center top;
            transform-origin: center top;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
            transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes textUp {
  0% {
    -webkit-transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
            transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
  }
  100% {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
            transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
  }
}
@keyframes textUp {
  0% {
    -webkit-transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
            transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
  }
  100% {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
            transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
  }
}
@-webkit-keyframes textRollUp {
  0% {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
            transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
  }
  30% {
    -webkit-transform: matrix(1, -0.15, 0.15, 1, 0, 0) translate(0%, -150%);
            transform: matrix(1, -0.15, 0.15, 1, 0, 0) translate(0%, -150%);
  }
  30.1% {
    -webkit-transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
            transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
  }
  100% {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
            transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
  }
}
@keyframes textRollUp {
  0% {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
            transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
  }
  30% {
    -webkit-transform: matrix(1, -0.15, 0.15, 1, 0, 0) translate(0%, -150%);
            transform: matrix(1, -0.15, 0.15, 1, 0, 0) translate(0%, -150%);
  }
  30.1% {
    -webkit-transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
            transform: matrix(1, 0.15, 0.15, 1, 0, 0) translate(0%, 100%);
  }
  100% {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
            transform: matrix(1, 0, 0, 1, 0, 0) translate(0%, 0%);
  }
}
@-webkit-keyframes up {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(0%, -200%);
            transform: translate(0%, -200%);
  }
  30.1% {
    -webkit-transform: translate(0%, 100%);
            transform: translate(0%, 100%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@keyframes up {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(0%, -200%);
            transform: translate(0%, -200%);
  }
  30.1% {
    -webkit-transform: translate(0%, 100%);
            transform: translate(0%, 100%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@-webkit-keyframes down {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(0%, 200%);
            transform: translate(0%, 200%);
  }
  30.1% {
    -webkit-transform: translate(0%, -100%);
            transform: translate(0%, -100%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@keyframes down {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(0%, 200%);
            transform: translate(0%, 200%);
  }
  30.1% {
    -webkit-transform: translate(0%, -100%);
            transform: translate(0%, -100%);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@-webkit-keyframes forward {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
  }
  30.1% {
    -webkit-transform: translate(-110%, 0);
            transform: translate(-110%, 0);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@keyframes forward {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
  }
  30.1% {
    -webkit-transform: translate(-110%, 0);
            transform: translate(-110%, 0);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@-webkit-keyframes backward {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(-110%, 0);
            transform: translate(-110%, 0);
  }
  30.1% {
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@keyframes backward {
  0% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
  30% {
    -webkit-transform: translate(-110%, 0);
            transform: translate(-110%, 0);
  }
  30.1% {
    -webkit-transform: translate(110%, 0);
            transform: translate(110%, 0);
  }
  100% {
    -webkit-transform: translate(0%, 0%);
            transform: translate(0%, 0%);
  }
}
@-webkit-keyframes right-in {
  0% {
    visibility: visible;
    -webkit-transform: translateX(-102%);
            transform: translateX(-102%);
  }
  to {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes right-in {
  0% {
    visibility: visible;
    -webkit-transform: translateX(-102%);
            transform: translateX(-102%);
  }
  to {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes right-in-out {
  0% {
    visibility: visible;
    -webkit-transform: translateX(-102%);
            transform: translateX(-102%);
  }
  49% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@keyframes right-in-out {
  0% {
    visibility: visible;
    -webkit-transform: translateX(-102%);
            transform: translateX(-102%);
  }
  49% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  50% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@-webkit-keyframes right-out {
  0% {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@keyframes right-out {
  0% {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@-webkit-keyframes left-in {
  0% {
    visibility: visible;
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
  to {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes left-in {
  0% {
    visibility: visible;
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
  to {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes left-out {
  0% {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translateX(-102%);
            transform: translateX(-102%);
  }
}
@keyframes left-out {
  0% {
    visibility: visible;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    visibility: hidden;
    -webkit-transform: translateX(-102%);
            transform: translateX(-102%);
  }
}
@-webkit-keyframes up-in {
  0% {
    -webkit-transform: translateY(102%);
            transform: translateY(102%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes up-in {
  0% {
    -webkit-transform: translateY(102%);
            transform: translateY(102%);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes up-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-102%);
            transform: translateY(-102%);
  }
}
@keyframes up-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(-102%);
            transform: translateY(-102%);
  }
}
@-webkit-keyframes down-in {
  0% {
    -webkit-transform: translateY(-102%);
            transform: translateY(-102%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes down-in {
  0% {
    -webkit-transform: translateY(-102%);
            transform: translateY(-102%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes down-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@keyframes down-out {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateX(102%);
            transform: translateX(102%);
  }
}
@-webkit-keyframes right-fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-4rem);
            transform: translateX(-4rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes right-fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-4rem);
            transform: translateX(-4rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes right-fadeOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(4rem);
            transform: translateX(4rem);
  }
}
@keyframes right-fadeOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(4rem);
            transform: translateX(4rem);
  }
}
@-webkit-keyframes up-fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(6rem);
            transform: translateY(6rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes up-fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(6rem);
            transform: translateY(6rem);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes up-fadeOut {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-6rem);
            transform: translateY(-6rem);
  }
}
@keyframes up-fadeOut {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-6rem);
            transform: translateY(-6rem);
  }
}
@-webkit-keyframes scale-down {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes scale-down {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes scale-up {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes scale-up {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@-webkit-keyframes bounceOutDown {
  15% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
            transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  30%, 35% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
            transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  70% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(1);
            transform: translate3d(0, 20px, 0) scaleY(1);
  }
  71% {
    opacity: 0;
    -webkit-transform: translate3d(0, -40px, 0) scaleY(0.9);
            transform: translate3d(0, -40px, 0) scaleY(0.9);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scaleY(1);
            transform: translate3d(0, 0, 0) scaleY(1);
  }
}
@keyframes bounceOutDown {
  15% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
            transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  30%, 35% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
            transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  70% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(1);
            transform: translate3d(0, 20px, 0) scaleY(1);
  }
  71% {
    opacity: 0;
    -webkit-transform: translate3d(0, -40px, 0) scaleY(0.9);
            transform: translate3d(0, -40px, 0) scaleY(0.9);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scaleY(1);
            transform: translate3d(0, 0, 0) scaleY(1);
  }
}
@-webkit-keyframes gradientAnim {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}
@keyframes gradientAnim {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}
@-webkit-keyframes kleurtjes {
  0% {
    -webkit-filter: hue-rotate(0deg);
            filter: hue-rotate(0deg);
  }
  100% {
    -webkit-filter: hue-rotate(360deg);
            filter: hue-rotate(360deg);
  }
}
@keyframes kleurtjes {
  0% {
    -webkit-filter: hue-rotate(0deg);
            filter: hue-rotate(0deg);
  }
  100% {
    -webkit-filter: hue-rotate(360deg);
            filter: hue-rotate(360deg);
  }
}
/* font-size */
.u-fz-10 {
  font-size: 10px !important;
}

.u-fz-11 {
  font-size: 11px !important;
}

.u-fz-12 {
  font-size: 12px !important;
}

.u-fz-13 {
  font-size: 13px !important;
}

.u-fz-14 {
  font-size: 14px !important;
}

.u-fz-15 {
  font-size: 15px !important;
}

.u-fz-16 {
  font-size: 16px !important;
}

.u-fz-17 {
  font-size: 17px !important;
}

.u-fz-18 {
  font-size: 18px !important;
}

.u-fz-19 {
  font-size: 19px !important;
}

.u-fz-20 {
  font-size: 20px !important;
}

/* font-weight */
.u-fw-nm {
  font-weight: normal !important;
}

.u-fw-b {
  font-weight: bold !important;
}

.u-fw-br {
  font-weight: bolder !important;
}

.u-fw-l {
  font-weight: 200 !important;
}

.u-fw-lr {
  font-weight: lighter !important;
}

.u-fw-100 {
  font-weight: 100 !important;
}

.u-fw-200 {
  font-weight: 200 !important;
}

.u-fw-300 {
  font-weight: 300 !important;
}

.u-fw-400 {
  font-weight: 400 !important;
}

.u-fw-500 {
  font-weight: 500 !important;
}

.u-fw-600 {
  font-weight: 600 !important;
}

.u-fw-700 {
  font-weight: 700 !important;
}

.u-fw-800 {
  font-weight: 800 !important;
}

.u-fw-900 {
  font-weight: 900 !important;
}

/* font-style */
.u-fs-nm {
  font-style: normal !important;
}

.u-fs-i {
  font-style: italic !important;
}

.u-fs-o {
  font-style: oblique !important;
}

/* margin */
.u-m-a {
  margin: auto !important;
}

.u-m-0 {
  margin: 0 !important;
}

.u-m-0_a {
  margin: 0 auto !important;
}

.u-m-xs {
  margin: 1rem !important;
}

.u-m-sm {
  margin: 2rem !important;
}

.u-m-md {
  margin: 3rem !important;
}

.u-m-lg {
  margin: 4rem !important;
}

.u-m-xl {
  margin: 5rem !important;
}

.u-m-xxl {
  margin: 6rem !important;
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-xs {
  margin-top: 1rem !important;
}

.u-mt-sm {
  margin-top: 2rem !important;
}

.u-mt-md {
  margin-top: 3rem !important;
}

.u-mt-lg {
  margin-top: 4rem !important;
}

.u-mt-xl {
  margin-top: 5rem !important;
}

.u-mt-xxl {
  margin-top: 6rem !important;
}

.u-mr-a {
  margin-right: auto !important;
}

.u-mr-0 {
  margin-right: 0 !important;
}

.u-mr-xs {
  margin-right: 1rem !important;
}

.u-mr-sm {
  margin-right: 2rem !important;
}

.u-mr-md {
  margin-right: 3rem !important;
}

.u-mr-lg {
  margin-right: 4rem !important;
}

.u-mr-xl {
  margin-right: 5rem !important;
}

.u-mr-xxl {
  margin-right: 6rem !important;
}

.u-mb-0 {
  margin-bottom: 0 !important;
}

.u-mb-xs {
  margin-bottom: 1rem !important;
}

.u-mb-sm {
  margin-bottom: 2rem !important;
}

.u-mb-md {
  margin-bottom: 3rem !important;
}

.u-mb-lg {
  margin-bottom: 4rem !important;
}

.u-mb-xl {
  margin-bottom: 5rem !important;
}

.u-mb-xxl {
  margin-bottom: 6rem !important;
}

.u-ml-a {
  margin-left: auto !important;
}

.u-ml-0 {
  margin-left: 0 !important;
}

.u-ml-xs {
  margin-left: 1rem !important;
}

.u-ml-sm {
  margin-left: 2rem !important;
}

.u-ml-md {
  margin-left: 3rem !important;
}

.u-ml-lg {
  margin-left: 4rem !important;
}

.u-ml-xl {
  margin-left: 5rem !important;
}

.u-ml-xxl {
  margin-left: 6rem !important;
}

/* padding */
.u-p-0 {
  padding: 0 !important;
}

.u-p-xs {
  padding: 1rem !important;
}

.u-p-sm {
  padding: 2rem !important;
}

.u-p-md {
  padding: 3rem !important;
}

.u-p-lg {
  padding: 4rem !important;
}

.u-p-xl {
  padding: 5rem !important;
}

.u-p-xxl {
  padding: 6rem !important;
}

.u-pt-0 {
  padding-top: 0 !important;
}

.u-pt-xs {
  padding-top: 1rem !important;
}

.u-pt-sm {
  padding-top: 2rem !important;
}

.u-pt-md {
  padding-top: 3rem !important;
}

.u-pt-lg {
  padding-top: 4rem !important;
}

.u-pt-xl {
  padding-top: 5rem !important;
}

.u-pt-xxl {
  padding-top: 6rem !important;
}

.u-pr-0 {
  padding-right: 0 !important;
}

.u-pr-xs {
  padding-right: 1rem !important;
}

.u-pr-sm {
  padding-right: 2rem !important;
}

.u-pr-md {
  padding-right: 3rem !important;
}

.u-pr-lg {
  padding-right: 4rem !important;
}

.u-pr-xl {
  padding-right: 5rem !important;
}

.u-pr-xxl {
  padding-right: 5rem !important;
}

.u-pb-0 {
  padding-bottom: 0 !important;
}

.u-pb-xs {
  padding-bottom: 1rem !important;
}

.u-pb-sm {
  padding-bottom: 2rem !important;
}

.u-pb-md {
  padding-bottom: 3rem !important;
}

.u-pb-lg {
  padding-bottom: 4rem !important;
}

.u-pb-xl {
  padding-bottom: 5rem !important;
}

.u-pb-xxl {
  padding-bottom: 6rem !important;
}

.u-pl-0 {
  padding-left: 0 !important;
}

.u-pl-xs {
  padding-left: 1rem !important;
}

.u-pl-sm {
  padding-left: 2rem !important;
}

.u-pl-md {
  padding-left: 3rem !important;
}

.u-pl-lg {
  padding-left: 4rem !important;
}

.u-pl-xl {
  padding-left: 5rem !important;
}

.u-pl-xxl {
  padding-left: 6rem !important;
}

@media (max-width: 767px) {
  .u-m-xs {
    margin: 0.5rem !important;
  }

  .u-m-sm {
    margin: 1rem !important;
  }

  .u-m-md {
    margin: 2rem !important;
  }

  .u-m-lg {
    margin: 3rem !important;
  }

  .u-m-xl {
    margin: 4rem !important;
  }

  .u-m-xxl {
    margin: 5rem !important;
  }

  .u-mt-xs {
    margin-top: 0.5rem !important;
  }

  .u-mt-sm {
    margin-top: 1rem !important;
  }

  .u-mt-md {
    margin-top: 2rem !important;
  }

  .u-mt-lg {
    margin-top: 3rem !important;
  }

  .u-mt-xl {
    margin-top: 4rem !important;
  }

  .u-mt-xxl {
    margin-top: 5rem !important;
  }

  .u-mb-xs {
    margin-bottom: 0.5rem !important;
  }

  .u-mb-sm {
    margin-bottom: 1rem !important;
  }

  .u-mb-md {
    margin-bottom: 2rem !important;
  }

  .u-mb-lg {
    margin-bottom: 3rem !important;
  }

  .u-mb-xl {
    margin-bottom: 4rem !important;
  }

  .u-mb-xxl {
    margin-bottom: 5rem !important;
  }

  .u-p-xs {
    padding: 0.5rem !important;
  }

  .u-p-sm {
    padding: 1rem !important;
  }

  .u-p-md {
    padding: 2rem !important;
  }

  .u-p-lg {
    padding: 3rem !important;
  }

  .u-p-xl {
    padding: 4rem !important;
  }

  .u-pt-xs {
    padding-top: 0.5rem !important;
  }

  .u-pt-sm {
    padding-top: 1rem !important;
  }

  .u-pt-md {
    padding-top: 2rem !important;
  }

  .u-pt-lg {
    padding-top: 3rem !important;
  }

  .u-pt-xl {
    padding-top: 4rem !important;
  }

  .u-pt-xxl {
    padding-top: 5rem !important;
  }

  .u-pb-xs {
    padding-bottom: 0.5rem !important;
  }

  .u-pb-sm {
    padding-bottom: 1rem !important;
  }

  .u-pb-md {
    padding-bottom: 2rem !important;
  }

  .u-pb-lg {
    padding-bottom: 3rem !important;
  }

  .u-pb-xl {
    padding-bottom: 4rem !important;
  }

  .u-pb-xxl {
    padding-bottom: 4rem !important;
  }
}
/* list-style-image */
.u-lisi-n {
  list-style-image: none !important;
}

/* vertical-align */
.u-va-sup {
  vertical-align: super !important;
}

.u-va-t {
  vertical-align: top !important;
}

.u-va-tt {
  vertical-align: text-top !important;
}

.u-va-m {
  vertical-align: middle !important;
}

.u-va-bl {
  vertical-align: baseline !important;
}

.u-va-b {
  vertical-align: bottom !important;
}

.u-va-tb {
  vertical-align: text-bottom !important;
}

.u-va-sub {
  vertical-align: sub !important;
}

/* text-align */
.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

.u-ta-j {
  text-align: justify !important;
}

/* text-decoration */
.u-td-n {
  text-decoration: none !important;
}

.u-td-u {
  text-decoration: underline !important;
}

.u-td-o {
  text-decoration: overline !important;
}

.u-td-l {
  text-decoration: line-through !important;
}

/* text-emphasis */
.u-te-n {
  -webkit-text-emphasis: none !important;
          text-emphasis: none !important;
}

/* float */
.u-float-l {
  float: left !important;
}

.u-float-r {
  float: right !important;
}

/* color */
.u-c-require {
  color: #d5007d !important;
}

.u-c-white {
  color: #fff !important;
}

.u-c-primary {
  color: #000 !important;
}

.u-c-secondary {
  color: #fff !important;
}

/* display */
.u-d-n {
  display: none !important;
}

.u-d-b {
  display: block !important;
}

.u-d-f {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.u-d-if {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.u-d-i {
  display: inline !important;
}

.u-d-ib {
  display: inline-block !important;
}

.u-d-li {
  display: list-item !important;
}

.u-d-ri {
  display: run-in !important;
}

.u-d-cp {
  display: compact !important;
}

.u-d-tb {
  display: table !important;
}

.u-d-itb {
  display: inline-table !important;
}

.u-d-tbcp {
  display: table-caption !important;
}

.u-d-tbcl {
  display: table-column !important;
}

.u-d-tbclg {
  display: table-column-group !important;
}

.u-d-tbhg {
  display: table-header-group !important;
}

.u-d-tbfg {
  display: table-footer-group !important;
}

.u-d-tbr {
  display: table-row !important;
}

.u-d-tbrg {
  display: table-row-group !important;
}

.u-d-tbc {
  display: table-cell !important;
}

.u-d-rb {
  display: ruby !important;
}

.u-d-rbb {
  display: ruby-base !important;
}

.u-d-rbbg {
  display: ruby-base-group !important;
}

.u-d-rbt {
  display: ruby-text !important;
}

.u-d-rbtg {
  display: ruby-text-group !important;
}

.u-d-xs-n {
  display: none !important;
}

.u-d-xs-b {
  display: block !important;
}

.u-d-xs-f {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.u-d-xs-if {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.u-d-xs-i {
  display: inline !important;
}

.u-d-xs-ib {
  display: inline-block !important;
}

@media (min-width: 768px) {
  .u-d-sm-n {
    display: none !important;
  }

  .u-d-sm-b {
    display: block !important;
  }

  .u-d-sm-f {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .u-d-sm-if {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .u-d-sm-i {
    display: inline !important;
  }

  .u-d-sm-ib {
    display: inline-block !important;
  }
}
@media (min-width: 1025px) {
  .u-d-md-n {
    display: none !important;
  }

  .u-d-md-b {
    display: block !important;
  }

  .u-d-md-f {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .u-d-md-if {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .u-d-md-i {
    display: inline !important;
  }

  .u-d-md-ib {
    display: inline-block !important;
  }
}
@media (min-width: 1441px) {
  .u-d-lg-n {
    display: none !important;
  }

  .u-d-lg-b {
    display: block !important;
  }

  .u-d-lg-f {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .u-d-lg-if {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .u-d-lg-i {
    display: inline !important;
  }

  .u-d-lg-ib {
    display: inline-block !important;
  }
}
/* flex-direction */
.u-fd-rr {
  box-orient: horizontal;
  box-direction: reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.u-fd-cr {
  box-orient: horizontal;
  box-direction: reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* justify-content */
.u-jc-s {
  box-pack: start;
  flex-pack: start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.u-jc-c {
  box-pack: center;
  flex-pack: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.u-jc-e {
  box-pack: end;
  flex-pack: end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.u-ai-s {
  box-align: start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  flex-align: start;
}

.u-ai-c {
  box-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  flex-align: center;
}

.u-ai-e {
  box-align: end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  flex-align: end;
}

/* =========================================================
display
========================================================= */
.u-sp-block {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-block {
    display: block;
  }
}

.u-sp-tablet-block {
  display: none;
}
@media (max-width: 1024px) {
  .u-sp-tablet-block {
    display: block;
  }
}

.u-pc-block {
  display: block;
}
@media (max-width: 1024px) {
  .u-pc-block {
    display: none;
  }
}

.u-pc-tablet-block {
  display: block;
}
@media (max-width: 767px) {
  .u-pc-tablet-block {
    display: none;
  }
}

.u-tablet-block {
  display: none;
}
@media (max-width: 1024px) {
  .u-tablet-block {
    display: block;
  }
}
@media (max-width: 767px) {
  .u-tablet-block {
    display: none;
  }
}

.u-sp-inline {
  display: none !important;
}
@media (max-width: 767px) {
  .u-sp-inline {
    display: inline !important;
  }
}

.u-sp-tablet-inline {
  display: none !important;
}
@media (max-width: 1024px) {
  .u-sp-tablet-inline {
    display: inline !important;
  }
}

.u-pc-inline {
  display: inline !important;
}
@media (max-width: 1024px) {
  .u-pc-inline {
    display: none !important;
  }
}

.u-pc-tablet-inline {
  display: inline !important;
}
@media (max-width: 767px) {
  .u-pc-tablet-inline {
    display: none !important;
  }
}

.u-tablet-inline {
  display: none;
}
@media (max-width: 1024px) {
  .u-tablet-inline {
    display: inline;
  }
}
@media (max-width: 767px) {
  .u-tablet-inline {
    display: none;
  }
}

.u-sp-inlineblock {
  display: none;
}
@media (max-width: 767px) {
  .u-sp-inlineblock {
    display: inline-block;
  }
}

.u-sp-tablet-inlineblock {
  display: none;
}
@media (max-width: 1024px) {
  .u-sp-tablet-inlineblock {
    display: inline-block;
  }
}

.u-pc-inlineblock {
  display: inline-block;
}
@media (max-width: 1024px) {
  .u-pc-inlineblock {
    display: none;
  }
}

.u-pc-tablet-inlineblock {
  display: inline-block;
}
@media (max-width: 767px) {
  .u-pc-tablet-inlineblock {
    display: none;
  }
}

.u-tablet-inlineblock {
  display: none;
}
@media (max-width: 1024px) {
  .u-tablet-inlineblock {
    display: inline-block;
  }
}
@media (max-width: 767px) {
  .u-tablet-inlineblock {
    display: none;
  }
}

/* =========================================================
img
========================================================= */
.u-img-responsive {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

.u-img-no-responsive {
  display: inline-block;
  max-width: auto;
  height: auto;
}

.u-img-fit {
  display: inline-block;
  width: 100%;
  height: auto;
}

/* =========================================================
transition-delay
========================================================= */
.is-onscreen .u-delay-004 {
  -webkit-transition-delay: 0.04s !important;
          transition-delay: 0.04s !important;
  -webkit-animation-delay: 0.04s !important;
          animation-delay: 0.04s !important;
}
.is-onscreen .u-delay-005 {
  -webkit-transition-delay: 0.05s !important;
          transition-delay: 0.05s !important;
  -webkit-animation-delay: 0.05s !important;
          animation-delay: 0.05s !important;
}
.is-onscreen .u-delay-008 {
  -webkit-transition-delay: 0.08s !important;
          transition-delay: 0.08s !important;
  -webkit-animation-delay: 0.08s !important;
          animation-delay: 0.08s !important;
}
.is-onscreen .u-delay-010 {
  -webkit-transition-delay: 0.1s !important;
          transition-delay: 0.1s !important;
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
}
.is-onscreen .u-delay-012 {
  -webkit-transition-delay: 0.12s !important;
          transition-delay: 0.12s !important;
  -webkit-animation-delay: 0.12s !important;
          animation-delay: 0.12s !important;
}
.is-onscreen .u-delay-015 {
  -webkit-transition-delay: 0.15s !important;
          transition-delay: 0.15s !important;
  -webkit-animation-delay: 0.15s !important;
          animation-delay: 0.15s !important;
}
.is-onscreen .u-delay-016 {
  -webkit-transition-delay: 0.16s !important;
          transition-delay: 0.16s !important;
  -webkit-animation-delay: 0.16s !important;
          animation-delay: 0.16s !important;
}
.is-onscreen .u-delay-020 {
  -webkit-transition-delay: 0.2s !important;
          transition-delay: 0.2s !important;
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
}
.is-onscreen .u-delay-024 {
  -webkit-transition-delay: 0.24s !important;
          transition-delay: 0.24s !important;
  -webkit-animation-delay: 0.24s !important;
          animation-delay: 0.24s !important;
}
.is-onscreen .u-delay-025 {
  -webkit-transition-delay: 0.25s !important;
          transition-delay: 0.25s !important;
  -webkit-animation-delay: 0.25s !important;
          animation-delay: 0.25s !important;
}
.is-onscreen .u-delay-028 {
  -webkit-transition-delay: 0.28s !important;
          transition-delay: 0.28s !important;
  -webkit-animation-delay: 0.28s !important;
          animation-delay: 0.28s !important;
}
.is-onscreen .u-delay-030 {
  -webkit-transition-delay: 0.3s !important;
          transition-delay: 0.3s !important;
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
}
.is-onscreen .u-delay-032 {
  -webkit-transition-delay: 0.32s !important;
          transition-delay: 0.32s !important;
  -webkit-animation-delay: 0.32s !important;
          animation-delay: 0.32s !important;
}
.is-onscreen .u-delay-035 {
  -webkit-transition-delay: 0.35s !important;
          transition-delay: 0.35s !important;
  -webkit-animation-delay: 0.35s !important;
          animation-delay: 0.35s !important;
}
.is-onscreen .u-delay-036 {
  -webkit-transition-delay: 0.36s !important;
          transition-delay: 0.36s !important;
  -webkit-animation-delay: 0.36s !important;
          animation-delay: 0.36s !important;
}
.is-onscreen .u-delay-040 {
  -webkit-transition-delay: 0.4s !important;
          transition-delay: 0.4s !important;
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
}
.is-onscreen .u-delay-044 {
  -webkit-transition-delay: 0.44s !important;
          transition-delay: 0.44s !important;
  -webkit-animation-delay: 0.44s !important;
          animation-delay: 0.44s !important;
}
.is-onscreen .u-delay-045 {
  -webkit-transition-delay: 0.45s !important;
          transition-delay: 0.45s !important;
  -webkit-animation-delay: 0.45s !important;
          animation-delay: 0.45s !important;
}
.is-onscreen .u-delay-048 {
  -webkit-transition-delay: 0.48s !important;
          transition-delay: 0.48s !important;
  -webkit-animation-delay: 0.48s !important;
          animation-delay: 0.48s !important;
}
.is-onscreen .u-delay-050 {
  -webkit-transition-delay: 0.5s !important;
          transition-delay: 0.5s !important;
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
}
.is-onscreen .u-delay-052 {
  -webkit-transition-delay: 0.52s !important;
          transition-delay: 0.52s !important;
  -webkit-animation-delay: 0.52s !important;
          animation-delay: 0.52s !important;
}
.is-onscreen .u-delay-055 {
  -webkit-transition-delay: 0.55s !important;
          transition-delay: 0.55s !important;
  -webkit-animation-delay: 0.55s !important;
          animation-delay: 0.55s !important;
}
.is-onscreen .u-delay-056 {
  -webkit-transition-delay: 0.56s !important;
          transition-delay: 0.56s !important;
  -webkit-animation-delay: 0.56s !important;
          animation-delay: 0.56s !important;
}
.is-onscreen .u-delay-060 {
  -webkit-transition-delay: 0.6s !important;
          transition-delay: 0.6s !important;
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
}
.is-onscreen .u-delay-064 {
  -webkit-transition-delay: 0.64s !important;
          transition-delay: 0.64s !important;
  -webkit-animation-delay: 0.64s !important;
          animation-delay: 0.64s !important;
}
.is-onscreen .u-delay-065 {
  -webkit-transition-delay: 0.65s !important;
          transition-delay: 0.65s !important;
  -webkit-animation-delay: 0.65s !important;
          animation-delay: 0.65s !important;
}
.is-onscreen .u-delay-068 {
  -webkit-transition-delay: 0.68s !important;
          transition-delay: 0.68s !important;
  -webkit-animation-delay: 0.68s !important;
          animation-delay: 0.68s !important;
}
.is-onscreen .u-delay-070 {
  -webkit-transition-delay: 0.7s !important;
          transition-delay: 0.7s !important;
  -webkit-animation-delay: 0.7s !important;
          animation-delay: 0.7s !important;
}
.is-onscreen .u-delay-072 {
  -webkit-transition-delay: 0.72s !important;
          transition-delay: 0.72s !important;
  -webkit-animation-delay: 0.72s !important;
          animation-delay: 0.72s !important;
}
.is-onscreen .u-delay-075 {
  -webkit-transition-delay: 0.75s !important;
          transition-delay: 0.75s !important;
  -webkit-animation-delay: 0.75s !important;
          animation-delay: 0.75s !important;
}
.is-onscreen .u-delay-076 {
  -webkit-transition-delay: 0.76s !important;
          transition-delay: 0.76s !important;
  -webkit-animation-delay: 0.76s !important;
          animation-delay: 0.76s !important;
}
.is-onscreen .u-delay-080 {
  -webkit-transition-delay: 0.8s !important;
          transition-delay: 0.8s !important;
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
}
.is-onscreen .u-delay-085 {
  -webkit-transition-delay: 0.85s !important;
          transition-delay: 0.85s !important;
  -webkit-animation-delay: 0.85s !important;
          animation-delay: 0.85s !important;
}
.is-onscreen .u-delay-090 {
  -webkit-transition-delay: 0.9s !important;
          transition-delay: 0.9s !important;
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
}
.is-onscreen .u-delay-095 {
  -webkit-transition-delay: 0.95s !important;
          transition-delay: 0.95s !important;
  -webkit-animation-delay: 0.95s !important;
          animation-delay: 0.95s !important;
}
.is-onscreen .u-delay-100 {
  -webkit-transition-delay: 1s !important;
          transition-delay: 1s !important;
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
}
.is-onscreen .u-delay-105 {
  -webkit-transition-delay: 1.05s !important;
          transition-delay: 1.05s !important;
  -webkit-animation-delay: 1.05s !important;
          animation-delay: 1.05s !important;
}
.is-onscreen .u-delay-110 {
  -webkit-transition-delay: 1.1s !important;
          transition-delay: 1.1s !important;
  -webkit-animation-delay: 1.1s !important;
          animation-delay: 1.1s !important;
}
.is-onscreen .u-delay-105 {
  -webkit-transition-delay: 1.05s !important;
          transition-delay: 1.05s !important;
  -webkit-animation-delay: 1.05s !important;
          animation-delay: 1.05s !important;
}
.is-onscreen .u-delay-110 {
  -webkit-transition-delay: 1.1s !important;
          transition-delay: 1.1s !important;
  -webkit-animation-delay: 1.1s !important;
          animation-delay: 1.1s !important;
}
.is-onscreen .u-delay-115 {
  -webkit-transition-delay: 1.15s !important;
          transition-delay: 1.15s !important;
  -webkit-animation-delay: 1.15s !important;
          animation-delay: 1.15s !important;
}
.is-onscreen .u-delay-120 {
  -webkit-transition-delay: 1.2s !important;
          transition-delay: 1.2s !important;
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
}
.is-onscreen .u-delay-125 {
  -webkit-transition-delay: 1.25s !important;
          transition-delay: 1.25s !important;
  -webkit-animation-delay: 1.25s !important;
          animation-delay: 1.25s !important;
}
.is-onscreen .u-delay-130 {
  -webkit-transition-delay: 1.3s !important;
          transition-delay: 1.3s !important;
  -webkit-animation-delay: 1.3s !important;
          animation-delay: 1.3s !important;
}
.is-onscreen .u-delay-135 {
  -webkit-transition-delay: 1.35s !important;
          transition-delay: 1.35s !important;
  -webkit-animation-delay: 1.35s !important;
          animation-delay: 1.35s !important;
}
.is-onscreen .u-delay-140 {
  -webkit-transition-delay: 1.4s !important;
          transition-delay: 1.4s !important;
  -webkit-animation-delay: 1.4s !important;
          animation-delay: 1.4s !important;
}
.is-onscreen .u-delay-145 {
  -webkit-transition-delay: 1.45s !important;
          transition-delay: 1.45s !important;
  -webkit-animation-delay: 1.45s !important;
          animation-delay: 1.45s !important;
}
.is-onscreen .u-delay-150 {
  -webkit-transition-delay: 1.5s !important;
          transition-delay: 1.5s !important;
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
}
.is-onscreen .u-delay-155 {
  -webkit-transition-delay: 1.55s !important;
          transition-delay: 1.55s !important;
  -webkit-animation-delay: 1.55s !important;
          animation-delay: 1.55s !important;
}
.is-onscreen .u-delay-160 {
  -webkit-transition-delay: 1.6s !important;
          transition-delay: 1.6s !important;
  -webkit-animation-delay: 1.6s !important;
          animation-delay: 1.6s !important;
}
.is-onscreen .u-delay-165 {
  -webkit-transition-delay: 1.65s !important;
          transition-delay: 1.65s !important;
  -webkit-animation-delay: 1.65s !important;
          animation-delay: 1.65s !important;
}
.is-onscreen .u-delay-170 {
  -webkit-transition-delay: 1.7s !important;
          transition-delay: 1.7s !important;
  -webkit-animation-delay: 1.7s !important;
          animation-delay: 1.7s !important;
}

/* =========================================================
youtube
========================================================= */
.u-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.u-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* =========================================================
pointer-events
========================================================= */
.u-hover-shit {
  pointer-events: none;
}

/* =========================================================
onscreen
========================================================= */
.js-fadein {
  opacity: 0;
  -webkit-transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition: all 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
}
.js-fadein.is-onscreen {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.is-onscreen .js-fadein {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.u-fadein {
  opacity: 0;
  -webkit-transition: opacity 1s ease 0.2s;
  transition: opacity 1s ease 0.2s;
}
.u-fadein.is-onscreen {
  opacity: 1;
}
.is-onscreen .u-fadein {
  opacity: 1;
}

.u-fadeinup {
  opacity: 0;
  -webkit-transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
}
.u-fadeinup.is-onscreen {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.is-onscreen .u-fadeinup {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}