@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;600&display=swap");
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Mincho");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-overflow-scrolling: touch;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

button {
  cursor: pointer;
  background-color: transparent;
  background: none;
  border: none;
  outline: none;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

ul {
  list-style: none;
}

picture {
  display: block;
  line-height: 0;
}

figure {
  line-height: 0;
}

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

hr {
  margin: 0;
}

input:focus, textarea:focus {
  outline: 0;
}

textarea {
  resize: vertical;
}

a, button {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
  overflow-x: hidden;
}

html article {
  overflow-x: hidden;
}

@media (max-width: 59.99em) {
  html {
    overflow-x: hidden;
  }
  html article {
    overflow-x: hidden;
  }
}

html.type-x-scroll {
  overflow-x: inherit;
}

html.type-x-scroll article {
  overflow-x: scroll;
}

@media (max-width: 59.99em) {
  html.type-x-scroll {
    overflow-x: inherit;
  }
  html.type-x-scroll article {
    overflow-x: scroll;
  }
}

html.type-no-behavior {
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}

body {
  min-width: 320px;
  width: 100%;
  height: 100%;
}

body.is-cursor-none {
  cursor: none;
}

body.is-cursor-grabbing {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
}

body.is-ovh {
  overflow: hidden;
}

main {
  display: block;
  width: 100%;
}

@media (min-width: 80em) {
  main {
    padding-left: 0px;
  }
}

aside {
  display: block;
}

article {
  position: relative;
  display: block;
  width: 100%;
  background-color: #ffffff;
}

section {
  position: relative;
  display: block;
}

body {
  font-feature-settings: "palt";
}

body, select, input, textarea, button {
  color: #a4a4a4;
  font-family: "EB Garamond", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "BIZ UDPMincho", "Sawarabi Mincho", "游明朝", YuMincho, "HG明朝E", serif;
  font-weight: 500;
  letter-spacing: 0.06rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.8rem;
  line-height: 30px;
}

@media (max-width: 59.99em) {
  body, select, input, textarea, button {
    font-size: 1.4rem;
    line-height: 24px;
  }
}

small {
  font-size: 1.6rem;
  line-height: 28px;
}

@media (max-width: 59.99em) {
  small {
    font-size: 1.2rem;
    line-height: 22px;
  }
}

button {
  line-height: 0;
}

input, textarea {
  font-family: "EB Garamond", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "BIZ UDPMincho", "Sawarabi Mincho", "游明朝", YuMincho, "HG明朝E", serif;
  letter-spacing: 0.06rem;
}

body, p, h1, h2, h3, h4, h5, h6, div, span {
  letter-spacing: 0.06rem;
  word-wrap: break-word;
  word-break: break-word;
}

a {
  color: #a4a4a4;
  cursor: pointer;
  text-decoration: inherit;
}

a:active, a:focus {
  outline: none;
}

p > a {
  text-decoration: underline;
}

p > a:hover {
  text-decoration: none;
}

::-moz-selection {
  color: #ffffff;
  background-color: #000000;
}

::selection {
  color: #ffffff;
  background-color: #000000;
}

::-moz-selection {
  color: #ffffff;
  background-color: #000000;
}

::-webkit-selection {
  color: #ffffff;
  background-color: #000000;
}

@font-face {
  font-family: "iconfont";
  src: url("/assets/fonts/iconfont.eot");
  src: url("/assets/fonts/iconfont.eot?#iefix") format("eot"), url("/assets/fonts/iconfont.woff") format("woff"), url("/assets/fonts/iconfont.ttf") format("truetype"), url("/assets/fonts/iconfont.svg#iconfont") format("svg");
}

.icon-c-button--arw:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-checkbox:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-circleIcon--arw:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-icon--fb:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-icon--ig:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-icon--note:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-icon--pagetop:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-icon--tw:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-icon--yt:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-pulldown__label:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-select:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-spFilterNav__toggle:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.icon-c-upload:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

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

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  line-height: 0;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

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

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

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

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

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

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

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

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

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/*! locomotive-scroll v4.0.6 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden;
}

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.has-scroll-smooth body {
  overflow: hidden;
}

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh;
}

[data-scroll-direction="horizontal"] [data-scroll-container] {
  white-space: nowrap;
  height: 100vh;
  display: inline-block;
  white-space: nowrap;
}

[data-scroll-direction="horizontal"] [data-scroll-section] {
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  height: 100%;
}

.c-scrollbar {
  position: absolute;
  right: 0;
  top: 0;
  width: 11px;
  height: 100%;
  transform-origin: center right;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0;
}

.c-scrollbar:hover {
  transform: scaleX(1.45);
}

.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {
  opacity: 1;
}

[data-scroll-direction="horizontal"] .c-scrollbar {
  width: 100%;
  height: 10px;
  top: auto;
  bottom: 0;
  transform: scaleY(1);
}

[data-scroll-direction="horizontal"] .c-scrollbar:hover {
  transform: scaleY(1.3);
}

.c-scrollbar_thumb {
  position: absolute;
  top: 0;
  right: 0;
  background-color: black;
  opacity: 0.5;
  width: 7px;
  border-radius: 10px;
  margin: 2px;
  cursor: -webkit-grab;
  cursor: grab;
}

.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

[data-scroll-direction="horizontal"] .c-scrollbar_thumb {
  right: auto;
  bottom: 0;
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slick-slide {
  height: auto;
}

.slick-dots {
  pointer-events: none;
  line-height: 0;
  text-align: left;
  margin-top: -8.5px;
  margin-left: -8.5px;
}

.slick-dots li {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0;
}

.slick-dots li button {
  pointer-events: auto;
  width: 20px;
  height: 20px;
  padding: 0;
}

.slick-dots li button:before {
  position: relative;
  display: inline-block;
  content: '';
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #000000;
  opacity: 0.1;
}

@media (min-width: 60em) {
  .slick-dots li button:hover:before {
    background-color: #000000;
  }
}

@media (max-width: 59.99em) {
  .slick-dots {
    margin-top: -5.5px;
    margin-left: -5.5px;
  }
  .slick-dots li {
    width: 14px;
    height: 14px;
  }
  .slick-dots li button {
    width: 14px;
    height: 14px;
  }
  .slick-dots li button:before {
    width: 3px;
    height: 3px;
  }
}

.c-scrollbar {
  z-index: 9999;
  opacity: 1;
}

.l-fixed {
  z-index: 6000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.l-fixed__lb, .l-fixed__rb {
  position: absolute;
  bottom: 70px;
}

.l-fixed__lb {
  left: 70px;
}

.l-fixed__rb {
  right: 70px;
}

@media (max-width: 59.99em) {
  .l-fixed__lb, .l-fixed__rb {
    bottom: 40px;
  }
  .l-fixed__lb {
    left: 40px;
  }
  .l-fixed__rb {
    right: 40px;
  }
}

.l-loader__indi {
  z-index: 9998;
}

.l-loader__load {
  z-index: 9997;
}

.l-loader__pjax {
  z-index: 9996;
}

.l-loader__load, .l-loader__pjax {
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  opacity: 0;
  transition: opacity 0.5s;
}

.l-loader__load.is-active, .l-loader__pjax.is-active {
  transition: none;
  opacity: 1;
}

.l-loader__load.is-hidden, .l-loader__pjax.is-hidden {
  display: none;
}

.l-loader__indi {
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  height: 4px;
  width: 0%;
  background-color: #000000;
  transition: width 2s cubic-bezier(0, 0.7, 0, 1);
}

.l-loader__indi.is-hidden {
  transition: opacity 0.2s;
  opacity: 0;
}

.l-header {
  z-index: 7000;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.l-header__logo {
  z-index: 2;
  position: relative;
  left: 40px;
  top: 30px;
}

.l-header__pcNav {
  position: fixed;
  right: 45px;
  top: 40px;
}

.l-header__nav {
  z-index: 1;
  position: relative;
}

.l-header.is-fixed {
  position: fixed;
}

@media (max-width: 59.99em) {
  .l-header__logo {
    left: 40px;
    top: 40px;
    transform: scale(0.6);
    transform-origin: 0 0;
  }
}

.l-nav {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.l-nav__toggle {
  z-index: 2;
  position: fixed;
  right: 70px;
  top: 70px;
}

.l-nav__modal {
  z-index: 1;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.l-nav__modal__bg {
  z-index: 1;
  position: fixed;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.7s;
  background-color: #ffffff;
}

.l-nav__modal__content {
  z-index: 2;
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

.l-nav.is-opened .l-nav__modal__bg {
  opacity: 1;
  transition: opacity 0s;
  pointer-events: visible;
}

.l-nav.is-opened .l-nav__modal__content {
  opacity: 1;
}

@media (max-width: 59.99em) {
  .l-nav__toggle {
    right: 40px;
    top: 40px;
  }
  .l-nav.is-opened .l-nav__modal {
    overflow: auto;
    -ms-scroll-chaining: none;
        overscroll-behavior: contain;
  }
  .l-nav.is-opened .l-nav__modal__bg {
    height: 200%;
  }
}

.l-guide {
  z-index: 9999;
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding-left: 0px;
}

.l-guide__inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 70px;
  box-sizing: border-box;
  text-align: center;
  font-size: 1rem;
  line-height: 12px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
}

.l-guide__size {
  z-index: 3;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  padding: 0 70px;
  padding-left: 70px;
  height: 40px;
  text-shadow: 0px 1px 1px #000;
}

.l-guide__size__bg {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 0 70px;
  padding-left: 70px;
}

.l-guide__size__bg span {
  display: block;
  width: 100%;
  max-width: 1040px;
  height: 100%;
  margin: 0 auto;
  background-color: #000000;
  opacity: 0.5;
}

.l-guide__size__w {
  z-index: 2;
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 1040px;
  height: 100%;
  padding-top: 12px;
  color: #ffffff;
  box-shadow: 0px 1px 0px 0px #000 inset;
  border-top: 1px solid #ffffff;
  font-size: 1.2rem;
  line-height: 14px;
}

.l-guide__size__w:after {
  z-index: 2;
  position: relative;
  display: inline-block;
  content: ' px';
}

.l-guide__pc:before, .l-guide__pc:after, .l-guide__sp:before, .l-guide__sp:after {
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  background-color: #53f9a8;
}

.l-guide__pc {
  z-index: 2;
  position: relative;
  display: flex;
  width: 100%;
  max-width: 1040px;
  height: 100%;
  margin: 0 auto;
}

.l-guide__pc:before, .l-guide__pc:after {
  content: "70px";
  width: 70px;
  opacity: 0.5;
  padding-top: 3px;
}

.l-guide__pc:before {
  left: -70px;
}

.l-guide__pc:after {
  right: -70px;
}

.l-guide__pc__grid {
  position: relative;
  width: 100%;
  height: 100%;
  padding-left: 70px;
}

.l-guide__pc__grid > span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffb5d0;
  opacity: 0.5;
}

.l-guide__pc__grid:before {
  content: "70px";
  position: absolute;
  left: 0;
  top: 0;
  width: 70px;
  height: 100%;
  padding-top: 3px;
  background-color: #4bf3fe;
  opacity: 0.5;
}

.l-guide__pc__grid:first-child {
  padding-left: 0;
}

.l-guide__pc__grid:first-child:before {
  display: none;
}

.l-guide.is-blend {
  mix-blend-mode: screen;
}

@media (min-width: 80em) {
  .l-guide__size__w:before {
    content: "24 grid / ";
  }
}

@media (min-width: 60em) and (max-width: 79.99em) {
  .l-guide {
    padding-left: 0;
  }
  .l-guide__size {
    padding: 0 70px;
  }
  .l-guide__size__bg {
    padding: 0 70px;
  }
  .l-guide__size__w:before {
    content: "12 grid / ";
  }
  .l-guide__pc__grid:nth-child(13) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(14) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(15) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(16) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(17) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(18) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(19) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(20) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(21) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(22) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(23) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(24) {
    display: none;
  }
}

@media (max-width: 59.99em) {
  .l-guide {
    padding: 0;
  }
  .l-guide__inner {
    padding: 0;
  }
  .l-guide__size {
    min-width: 320px;
    padding: 0 40px;
  }
  .l-guide__size__bg {
    padding: 0 40px;
  }
  .l-guide__size__w:before {
    content: "6 grid / ";
  }
  .l-guide__pc__grid:nth-child(7) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(8) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(9) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(10) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(11) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(12) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(13) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(14) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(15) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(16) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(17) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(18) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(19) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(20) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(21) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(22) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(23) {
    display: none;
  }
  .l-guide__pc__grid:nth-child(24) {
    display: none;
  }
  .l-guide__pc {
    max-width: 100%;
    min-width: 320px;
    margin: 0;
    padding: 0 40px;
  }
  .l-guide__pc:before, .l-guide__pc:after {
    content: "40px";
    width: 40px;
    opacity: 0.4;
  }
  .l-guide__pc:before {
    left: 0;
  }
  .l-guide__pc:after {
    right: 0;
  }
  .l-guide__pc__grid {
    padding-left: 10px;
  }
  .l-guide__pc__grid:before {
    content: "10px";
    width: 10px;
    background-color: #4bf3fe;
  }
  .l-guide__sp {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 320px;
    height: 100%;
    padding: 0 40px;
  }
  .l-guide__sp:before, .l-guide__sp:after {
    content: "40px";
    width: 40px;
    opacity: 0.4;
  }
  .l-guide__sp:before {
    left: 0;
  }
  .l-guide__sp:after {
    right: 0;
  }
  .l-guide__sp__l, .l-guide__sp__r {
    width: 50%;
    height: 100%;
    opacity: 0.4;
  }
  .l-guide__sp__l {
    background-color: #ffb5d0;
  }
  .l-guide__sp__r {
    background-color: #4bf3fe;
  }
}

.l-cursor {
  z-index: 9998;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  mix-blend-mode: exclusion !important;
}

.l-modal {
  z-index: 9000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
}

.l-modal.is-opened {
  opacity: 1;
}

.l-modal__bg {
  pointer-events: none;
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  transition: opacity 0.4s;
}

.l-modal__close {
  z-index: 3;
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  width: 80px;
  height: 80px;
}

.l-modal__close:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/common/l-modal__close.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}

.l-modal__content {
  z-index: 2;
  display: flex;
  align-items: center;
  position: relative;
  max-width: 1240px;
  width: 77.5%;
  height: 100%;
  margin: 0 auto;
}

.l-modal__youtube {
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding-top: 56.25%;
  overflow: hidden;
  background-color: #000000;
  transition: transform 0.7s cubic-bezier(0.5, 0, 0, 1.3);
  transform: scale(0);
  visibility: hidden;
}

.l-modal__youtube.is-active {
  visibility: visible;
  transform: scale(1);
}

.l-modal__youtube iframe,
.l-modal__youtube object,
.l-modal__youtube embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  touch-action: none;
}

.l-modal__page {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-top: 15vh;
  visibility: hidden;
  transition-timing-function: cubic-bezier(0.15, 0, 0, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition-property: opacity transform;
  transition-duration: 0.6s;
  transition-delay: 0.2s;
  transform: translateY(30px);
  opacity: 0;
}

.l-modal__page.is-active {
  transform: translateY(0px);
  opacity: 1;
  visibility: visible;
}

.l-modal.is-opened .l-modal__bg, .l-modal.is-opened .l-modal__close, .l-modal.is-opened .l-modal__youtube {
  pointer-events: visible;
}

.l-modal.is-opened .l-modal__bg {
  opacity: 1;
}

@media (min-width: 60em) {
  .l-modal__close:hover:before {
    -webkit-animation: l_modal_close_anim 0.25s;
            animation: l_modal_close_anim 0.25s;
    -webkit-animation-timing-function: cubic-bezier(0.15, 0.07, 0, 1);
            animation-timing-function: cubic-bezier(0.15, 0.07, 0, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  @-webkit-keyframes l_modal_close_anim {
    0% {
      transform: rotateZ(0);
    }
    100% {
      transform: rotateZ(90deg);
    }
  }
  @keyframes l_modal_close_anim {
    0% {
      transform: rotateZ(0);
    }
    100% {
      transform: rotateZ(90deg);
    }
  }
}

@media (max-width: 59.99em) {
  .l-modal__close {
    width: 40px;
    height: 40px;
  }
  .l-modal__content {
    max-width: 100%;
    width: 100%;
    padding: 0;
  }
  .l-modal__page {
    padding: 10vh 40px 0;
  }
}

.l-article {
  z-index: 1000;
  position: relative;
}

.l-article__scroll {
  position: relative;
}

.l-article__contents {
  min-height: 100vh;
}

.l-article__fixedBack, .l-article__fixedFront {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.l-article__fixedBack {
  z-index: 1;
}

.l-article__scroll {
  z-index: 2;
}

.l-article__fixedFront {
  z-index: 3;
}

.js-fv[data-hide_not_in_viewport="true"] {
  opacity: 0;
}

.js-fv[data-hide_not_in_viewport="true"].is-viewport {
  opacity: 1;
}

.l-fv {
  z-index: 6000;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  pointer-events: none;
}

.l-fv__bg {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 100%;
}

.l-fv__video {
  z-index: 2;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.l-fv__video video {
  z-index: 1;
  position: relative;
  min-width: 100%;
  min-height: 100%;
}

.l-fv__video--mask:after {
  content: '';
  display: block;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(45deg, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 50%);
  background-size: 3px 3px;
  opacity: 0.6;
}

.l-fv__effect {
  z-index: 3;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}

.l-fv__contents {
  z-index: 4;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.l-fv__contents--center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.l-fv__mask {
  z-index: 5;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.3s;
  transition-timing-function: linear;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #000000;
}

.l-fv__mask.is-active {
  opacity: 0.7;
}

@media (max-width: 59.99em) {
  .l-fv {
    min-height: 100vh;
    height: 100vh;
  }
}

.c-grid {
  display: block;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 0px;
  padding-right: 70px;
}

.c-grid__row {
  position: relative;
  left: 70px;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1110px;
}

.c-grid__row--pd-pc {
  padding-left: 0px;
  padding-right: 0px;
}

.c-grid__col {
  width: 100%;
}

.c-grid__col img {
  width: 100%;
}

@media (min-width: 60em) {
  .c-grid__col .js-grid__fitWinLeftPc, .c-grid__col .js-grid__fitWinRightPc, .c-grid__col__fit-pc, .c-grid__col__fit-left-pc, .c-grid__col__fit-right-pc {
    position: relative;
    line-height: 0;
  }
  .c-grid__col__fit-pc {
    width: calc(100% + (70px * 2)) !important;
    left: -70px;
  }
  .c-grid__col__fit-left-pc {
    width: calc(100% + 70px) !important;
    left: -70px;
  }
  .c-grid__col__fit-right-pc {
    width: calc(100% + 70px) !important;
  }
}

@media (max-width: 59.99em) {
  .c-grid__col .js-grid__fitWinLeftPc, .c-grid__col .js-grid__fitWinRightPc, .c-grid__col__fit-sp, .c-grid__col__fit-left-sp, .c-grid__col__fit-right-sp {
    position: relative;
    line-height: 0;
  }
  .c-grid__col__fit-sp {
    width: calc(100% + (40px * 2)) !important;
    left: -40px;
  }
  .c-grid__col__fit-left-sp {
    width: calc(100% + 40px) !important;
    left: -40px;
  }
  .c-grid__col__fit-right-sp {
    width: calc(100% + 40px) !important;
  }
}

@media (min-width: 60em) {
  .c-grid__row--rev {
    flex-direction: row-reverse;
  }
}

@media (min-width: 80em) {
  .c-grid__col {
    padding-right: 70px;
  }
  .c-grid__col.lg-1 {
    width: 4.1666666667%;
  }
  .c-grid__col.lg-2 {
    width: 8.3333333333%;
  }
  .c-grid__col.lg-3 {
    width: 12.5%;
  }
  .c-grid__col.lg-4 {
    width: 16.6666666667%;
  }
  .c-grid__col.lg-5 {
    width: 20.8333333333%;
  }
  .c-grid__col.lg-6 {
    width: 25%;
  }
  .c-grid__col.lg-7 {
    width: 29.1666666667%;
  }
  .c-grid__col.lg-8 {
    width: 33.3333333333%;
  }
  .c-grid__col.lg-9 {
    width: 37.5%;
  }
  .c-grid__col.lg-10 {
    width: 41.6666666667%;
  }
  .c-grid__col.lg-11 {
    width: 45.8333333333%;
  }
  .c-grid__col.lg-12 {
    width: 50%;
  }
  .c-grid__col.lg-13 {
    width: 54.1666666667%;
  }
  .c-grid__col.lg-14 {
    width: 58.3333333333%;
  }
  .c-grid__col.lg-15 {
    width: 62.5%;
  }
  .c-grid__col.lg-16 {
    width: 66.6666666667%;
  }
  .c-grid__col.lg-17 {
    width: 70.8333333333%;
  }
  .c-grid__col.lg-18 {
    width: 75%;
  }
  .c-grid__col.lg-19 {
    width: 79.1666666667%;
  }
  .c-grid__col.lg-20 {
    width: 83.3333333333%;
  }
  .c-grid__col.lg-21 {
    width: 87.5%;
  }
  .c-grid__col.lg-22 {
    width: 91.6666666667%;
  }
  .c-grid__col.lg-23 {
    width: 95.8333333333%;
  }
  .c-grid__col.lg-24 {
    width: 100%;
  }
  .c-grid__col.lg-0 {
    display: none !important;
  }
}

@media (min-width: 60em) and (max-width: 79.99em) {
  .c-grid__col {
    padding-right: 70px;
  }
  .c-grid__col.md-1 {
    width: 8.3333333333%;
  }
  .c-grid__col.md-2 {
    width: 16.6666666667%;
  }
  .c-grid__col.md-3 {
    width: 25%;
  }
  .c-grid__col.md-4 {
    width: 33.3333333333%;
  }
  .c-grid__col.md-5 {
    width: 41.6666666667%;
  }
  .c-grid__col.md-6 {
    width: 50%;
  }
  .c-grid__col.md-7 {
    width: 58.3333333333%;
  }
  .c-grid__col.md-8 {
    width: 66.6666666667%;
  }
  .c-grid__col.md-9 {
    width: 75%;
  }
  .c-grid__col.md-10 {
    width: 83.3333333333%;
  }
  .c-grid__col.md-11 {
    width: 91.6666666667%;
  }
  .c-grid__col.md-12 {
    width: 100%;
  }
  .c-grid__col.md-0 {
    display: none !important;
  }
}

@media (max-width: 59.99em) {
  .c-grid {
    padding-left: 60px;
    max-width: 100%;
    margin: 0;
    padding-left: 35px;
    padding-right: 35px;
  }
  .c-grid__row {
    left: 10px;
  }
  .c-grid__row--inner-pd-sp {
    padding-left: 30px;
    padding-right: 30px;
  }
  .c-grid__row--rev-sp {
    flex-direction: column-reverse;
  }
  .c-grid__col {
    padding-left: 5px;
    padding-right: 5px;
  }
  .c-grid__col.xs-1 {
    width: 16.6666666667%;
  }
  .c-grid__col.xs-2 {
    width: 33.3333333333%;
  }
  .c-grid__col.xs-3 {
    width: 50%;
  }
  .c-grid__col.xs-4 {
    width: 66.6666666667%;
  }
  .c-grid__col.xs-5 {
    width: 83.3333333333%;
  }
  .c-grid__col.xs-6 {
    width: 100%;
  }
  .c-grid__col.xs-0 {
    display: none !important;
  }
  .c-grid__row {
    left: auto;
    min-width: 100%;
  }
  .c-grid--important-xs-1 .c-grid__col.xs-1 {
    width: 100% !important;
  }
  .c-grid--important-xs-1 .c-grid__col.xs-2 {
    width: 100% !important;
  }
  .c-grid--important-xs-1 .c-grid__col.xs-3 {
    width: 100% !important;
  }
  .c-grid--important-xs-1 .c-grid__col.xs-4 {
    width: 100% !important;
  }
  .c-grid--important-xs-1 .c-grid__col.xs-5 {
    width: 100% !important;
  }
  .c-grid--important-xs-1 .c-grid__col.xs-6 {
    width: 100% !important;
  }
}

.c-hr {
  border-top: none;
  width: 100%;
  height: 1px;
  background-color: #000000;
  opacity: 0.1;
}

.c-hr--dot {
  background-color: transparent;
  background-image: url("/assets/img/common/c-hr--dot.png");
  background-repeat: repeat-x;
  background-position: left top;
}

@media (max-width: 59.99em) {
  .c-hr--dot {
    background-size: 6px 1px;
  }
}

.c-dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  border-bottom: 1px solid #ececec;
}

.c-dl > dt,
.c-dl > dd {
  padding-top: 30px;
  padding-bottom: 30px;
}

.c-dl > dt {
  width: 30%;
  border-top: 1px solid #ececec;
}

.c-dl > dd {
  width: 70%;
  border-top: 1px solid #ececec;
}

@media (max-width: 59.99em) {
  .c-dl > dt,
  .c-dl > dd {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .c-dl--sp-only-one-col {
    display: block;
  }
  .c-dl--sp-only-one-col > dt,
  .c-dl--sp-only-one-col > dd {
    width: 100%;
  }
  .c-dl--sp-only-one-col > dt {
    padding-bottom: 0;
  }
  .c-dl--sp-only-one-col > dd {
    padding-top: 5px;
    border-top: none;
  }
}

.c-dot__t, .c-dot__b, .c-dot__l, .c-dot__r {
  position: absolute;
}

.c-dot--before-t:before, .c-dot--before-b:before, .c-dot--before-l:before, .c-dot--before-r:before, .c-dot--after-t:after, .c-dot--after-b:after, .c-dot--after-l:after, .c-dot--after-r:after {
  content: '';
  display: block;
  position: absolute;
}

.c-dot__t, .c-dot__b, .c-dot--before-t:before, .c-dot--after-t:after, .c-dot--before-b:before, .c-dot--after-b:after {
  width: 100%;
  height: 3px;
}

.c-dot__l, .c-dot__r, .c-dot--before-l:before, .c-dot--after-l:after, .c-dot--before-r:before, .c-dot--after-r:after {
  width: 3px;
  height: 100%;
}

.c-dot__t, .c-dot__l, .c-dot--before-t:before, .c-dot--after-t:after, .c-dot--before-l:before, .c-dot--after-l:after {
  left: 0;
  top: 0;
}

.c-dot__r, .c-dot__b, .c-dot--before-r:before, .c-dot--after-r:after, .c-dot--before-b:before, .c-dot--after-b:after {
  right: 0;
  bottom: 0;
}

.c-dot--a30 .c-dot__t, .c-dot--a30 .c-dot__b, .c-dot--a30 .c-dot__l, .c-dot--a30 .c-dot__r {
  opacity: 0.3;
}

.c-dot--before-t.c-dot--a30:before, .c-dot--before-b.c-dot--a30:before, .c-dot--before-l.c-dot--a30:before, .c-dot--before-r.c-dot--a30:before, .c-dot--after-t.c-dot--a30:after, .c-dot--after-b.c-dot--a30:after, .c-dot--after-l.c-dot--a30:after, .c-dot--after-r.c-dot--a30:after {
  opacity: 0.3;
}

.c-dot--a20 .c-dot__t, .c-dot--a20 .c-dot__b, .c-dot--a20 .c-dot__l, .c-dot--a20 .c-dot__r {
  opacity: 0.2;
}

.c-dot--before-t.c-dot--a20:before, .c-dot--before-b.c-dot--a20:before, .c-dot--before-l.c-dot--a20:before, .c-dot--before-r.c-dot--a20:before, .c-dot--after-t.c-dot--a20:after, .c-dot--after-b.c-dot--a20:after, .c-dot--after-l.c-dot--a20:after, .c-dot--after-r.c-dot--a20:after {
  opacity: 0.2;
}

.c-dot--white .c-dot__t, .c-dot--white .c-dot__b {
  background-image: url("/assets/img/common/c-dot--white-x.png");
  background-repeat: repeat-x;
  background-position: left top;
}

.c-dot--white .c-dot__l, .c-dot--white .c-dot__r {
  background-image: url("/assets/img/common/c-dot--white-y.png");
  background-repeat: repeat-y;
  background-position: left top;
}

.c-dot--before-t.c-dot--white:before, .c-dot--after-t.c-dot--white:after, .c-dot--before-b.c-dot--white:before, .c-dot--after-b.c-dot--white:after {
  background-image: url("/assets/img/common/c-dot--white-x.png");
  background-repeat: repeat-x;
  background-position: left top;
}

.c-dot--before-l.c-dot--white:before, .c-dot--after-l.c-dot--white:after, .c-dot--before-r.c-dot--white:before, .c-dot--after-r.c-dot--white:after {
  background-image: url("/assets/img/common/c-dot--white-y.png");
  background-repeat: repeat-y;
  background-position: left top;
}

.c-dot--black .c-dot__t, .c-dot--black .c-dot__b {
  background-image: url("/assets/img/common/c-dot--black-x.png");
  background-repeat: repeat-x;
  background-position: left top;
}

.c-dot--black .c-dot__l, .c-dot--black .c-dot__r {
  background-image: url("/assets/img/common/c-dot--black-y.png");
  background-repeat: repeat-y;
  background-position: left top;
}

.c-dot--before-t.c-dot--black:before, .c-dot--after-t.c-dot--black:after, .c-dot--before-b.c-dot--black:before, .c-dot--after-b.c-dot--black:after {
  background-image: url("/assets/img/common/c-dot--black-x.png");
  background-repeat: repeat-x;
  background-position: left top;
}

.c-dot--before-l.c-dot--black:before, .c-dot--after-l.c-dot--black:after, .c-dot--before-r.c-dot--black:before, .c-dot--after-r.c-dot--black:after {
  background-image: url("/assets/img/common/c-dot--black-y.png");
  background-repeat: repeat-y;
  background-position: left top;
}

.c-icon--pagetop {
  font-size: 2rem;
  line-height: 22px;
}

.c-icon--pagetop:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-icon--fb {
  font-size: 2.8rem;
  line-height: 30px;
}

.c-icon--fb:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-icon--tw {
  font-size: 1.6rem;
  line-height: 18px;
}

.c-icon--tw:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-icon--ig {
  font-size: 2rem;
  line-height: 22px;
}

.c-icon--ig:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-icon--yt {
  font-size: 2rem;
  line-height: 22px;
}

.c-icon--yt:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-icon--fb-large {
  font-size: 3.8rem;
  line-height: 40px;
}

.c-icon--tw-large {
  font-size: 2.4rem;
  line-height: 26px;
}

.c-icon--ig-large {
  font-size: 3rem;
  line-height: 32px;
}

.c-icon--yt-large {
  font-size: 3rem;
  line-height: 32px;
}

@media (min-width: 60em) {
  .c-icon--hover {
    transition: color 0.5s;
  }
  .c-icon--hover:hover {
    color: #000000;
    transition: none;
  }
}

@media (max-width: 59.99em) {
  .c-icon--pagetop {
    font-size: 2.4rem;
    line-height: 26px;
  }
  .c-icon--fb {
    font-size: 3.2rem;
    line-height: 34px;
  }
  .c-icon--tw {
    font-size: 1.8rem;
    line-height: 20px;
  }
  .c-icon--ig {
    font-size: 2.4rem;
    line-height: 26px;
  }
  .c-icon--yt {
    font-size: 2.4rem;
    line-height: 26px;
  }
  .c-icon--fb-large {
    transform: scale(0.6);
  }
  .c-icon--tw-large {
    transform: scale(0.6);
  }
  .c-icon--ig-large {
    transform: scale(0.6);
  }
  .c-icon--yt-large {
    transform: scale(0.6);
  }
}

a.c-icon, button.c-icon {
  cursor: pointer;
  pointer-events: visible;
}

.c-title {
  font-size: 1.8rem;
  line-height: 28px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
}

.c-title--page-jp {
  font-size: 1.8rem;
  line-height: 28px;
  font-family: "EB Garamond", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "BIZ UDPMincho", "Sawarabi Mincho", "游明朝", YuMincho, "HG明朝E", serif;
}

.c-title--page-en {
  font-size: 6rem;
  line-height: 80px;
  color: #000000;
  font-weight: bold;
}

.c-title--copyright {
  font-size: 1.4rem;
  line-height: 16px;
}

.c-title--article {
  font-size: 4.8rem;
  line-height: 54px;
}

@media (max-width: 59.99em) {
  .c-title {
    font-size: 1.6rem;
    line-height: 26px;
  }
  .c-title--page-jp {
    font-size: 1.2rem;
    line-height: 18px;
  }
  .c-title--page-en {
    font-size: 3rem;
    line-height: 40px;
  }
  .c-title--copyright {
    font-size: 1rem;
    line-height: 12px;
  }
  .c-title--article {
    font-size: 2.4rem;
    line-height: 28px;
  }
}

.c-border {
  position: relative;
}

.c-border--l:before, .c-border--r:before, .c-border--t:before, .c-border--b:before {
  content: '';
  display: block;
  z-index: -1;
  position: absolute;
  background-color: #000000;
  opacity: 0.1;
}

.c-border--l:before {
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
}

.c-border--r:before {
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
}

.c-border--t:before {
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
}

.c-border--b:before {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
}

.c-border--white:before {
  background-color: #ffffff;
}

.c-spacer--300 {
  height: 300px;
  overflow: hidden;
}

.c-spacer--300.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--300.is-debug:before {
  content: "height 300px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 145px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt300 {
  margin-top: 300px;
}

.c-spacer--mb300 {
  margin-bottom: 300px;
}

.c-spacer--pt300 {
  padding-top: 300px;
}

.c-spacer--pb300 {
  padding-bottom: 300px;
}

.c-spacer--270 {
  height: 270px;
  overflow: hidden;
}

.c-spacer--270.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--270.is-debug:before {
  content: "height 270px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 130px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt270 {
  margin-top: 270px;
}

.c-spacer--mb270 {
  margin-bottom: 270px;
}

.c-spacer--pt270 {
  padding-top: 270px;
}

.c-spacer--pb270 {
  padding-bottom: 270px;
}

.c-spacer--240 {
  height: 240px;
  overflow: hidden;
}

.c-spacer--240.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--240.is-debug:before {
  content: "height 240px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 115px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt240 {
  margin-top: 240px;
}

.c-spacer--mb240 {
  margin-bottom: 240px;
}

.c-spacer--pt240 {
  padding-top: 240px;
}

.c-spacer--pb240 {
  padding-bottom: 240px;
}

.c-spacer--200 {
  height: 200px;
  overflow: hidden;
}

.c-spacer--200.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--200.is-debug:before {
  content: "height 200px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 95px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt200 {
  margin-top: 200px;
}

.c-spacer--mb200 {
  margin-bottom: 200px;
}

.c-spacer--pt200 {
  padding-top: 200px;
}

.c-spacer--pb200 {
  padding-bottom: 200px;
}

.c-spacer--180 {
  height: 180px;
  overflow: hidden;
}

.c-spacer--180.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--180.is-debug:before {
  content: "height 180px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 85px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt180 {
  margin-top: 180px;
}

.c-spacer--mb180 {
  margin-bottom: 180px;
}

.c-spacer--pt180 {
  padding-top: 180px;
}

.c-spacer--pb180 {
  padding-bottom: 180px;
}

.c-spacer--160 {
  height: 160px;
  overflow: hidden;
}

.c-spacer--160.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--160.is-debug:before {
  content: "height 160px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 75px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt160 {
  margin-top: 160px;
}

.c-spacer--mb160 {
  margin-bottom: 160px;
}

.c-spacer--pt160 {
  padding-top: 160px;
}

.c-spacer--pb160 {
  padding-bottom: 160px;
}

.c-spacer--140 {
  height: 140px;
  overflow: hidden;
}

.c-spacer--140.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--140.is-debug:before {
  content: "height 140px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 65px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt140 {
  margin-top: 140px;
}

.c-spacer--mb140 {
  margin-bottom: 140px;
}

.c-spacer--pt140 {
  padding-top: 140px;
}

.c-spacer--pb140 {
  padding-bottom: 140px;
}

.c-spacer--120 {
  height: 120px;
  overflow: hidden;
}

.c-spacer--120.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--120.is-debug:before {
  content: "height 120px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 55px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt120 {
  margin-top: 120px;
}

.c-spacer--mb120 {
  margin-bottom: 120px;
}

.c-spacer--pt120 {
  padding-top: 120px;
}

.c-spacer--pb120 {
  padding-bottom: 120px;
}

.c-spacer--100 {
  height: 100px;
  overflow: hidden;
}

.c-spacer--100.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--100.is-debug:before {
  content: "height 100px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 45px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt100 {
  margin-top: 100px;
}

.c-spacer--mb100 {
  margin-bottom: 100px;
}

.c-spacer--pt100 {
  padding-top: 100px;
}

.c-spacer--pb100 {
  padding-bottom: 100px;
}

.c-spacer--90 {
  height: 90px;
  overflow: hidden;
}

.c-spacer--90.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--90.is-debug:before {
  content: "height 90px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 40px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt90 {
  margin-top: 90px;
}

.c-spacer--mb90 {
  margin-bottom: 90px;
}

.c-spacer--pt90 {
  padding-top: 90px;
}

.c-spacer--pb90 {
  padding-bottom: 90px;
}

.c-spacer--80 {
  height: 80px;
  overflow: hidden;
}

.c-spacer--80.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--80.is-debug:before {
  content: "height 80px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 35px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt80 {
  margin-top: 80px;
}

.c-spacer--mb80 {
  margin-bottom: 80px;
}

.c-spacer--pt80 {
  padding-top: 80px;
}

.c-spacer--pb80 {
  padding-bottom: 80px;
}

.c-spacer--70 {
  height: 70px;
  overflow: hidden;
}

.c-spacer--70.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--70.is-debug:before {
  content: "height 70px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 30px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt70 {
  margin-top: 70px;
}

.c-spacer--mb70 {
  margin-bottom: 70px;
}

.c-spacer--pt70 {
  padding-top: 70px;
}

.c-spacer--pb70 {
  padding-bottom: 70px;
}

.c-spacer--60 {
  height: 60px;
  overflow: hidden;
}

.c-spacer--60.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--60.is-debug:before {
  content: "height 60px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 25px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt60 {
  margin-top: 60px;
}

.c-spacer--mb60 {
  margin-bottom: 60px;
}

.c-spacer--pt60 {
  padding-top: 60px;
}

.c-spacer--pb60 {
  padding-bottom: 60px;
}

.c-spacer--50 {
  height: 50px;
  overflow: hidden;
}

.c-spacer--50.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--50.is-debug:before {
  content: "height 50px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 20px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt50 {
  margin-top: 50px;
}

.c-spacer--mb50 {
  margin-bottom: 50px;
}

.c-spacer--pt50 {
  padding-top: 50px;
}

.c-spacer--pb50 {
  padding-bottom: 50px;
}

.c-spacer--40 {
  height: 40px;
  overflow: hidden;
}

.c-spacer--40.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--40.is-debug:before {
  content: "height 40px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 15px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt40 {
  margin-top: 40px;
}

.c-spacer--mb40 {
  margin-bottom: 40px;
}

.c-spacer--pt40 {
  padding-top: 40px;
}

.c-spacer--pb40 {
  padding-bottom: 40px;
}

.c-spacer--30 {
  height: 30px;
  overflow: hidden;
}

.c-spacer--30.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--30.is-debug:before {
  content: "height 30px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 10px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt30 {
  margin-top: 30px;
}

.c-spacer--mb30 {
  margin-bottom: 30px;
}

.c-spacer--pt30 {
  padding-top: 30px;
}

.c-spacer--pb30 {
  padding-bottom: 30px;
}

.c-spacer--25 {
  height: 25px;
  overflow: hidden;
}

.c-spacer--25.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--25.is-debug:before {
  content: "height 25px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 7.5px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt25 {
  margin-top: 25px;
}

.c-spacer--mb25 {
  margin-bottom: 25px;
}

.c-spacer--pt25 {
  padding-top: 25px;
}

.c-spacer--pb25 {
  padding-bottom: 25px;
}

.c-spacer--20 {
  height: 20px;
  overflow: hidden;
}

.c-spacer--20.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--20.is-debug:before {
  content: "height 20px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 5px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt20 {
  margin-top: 20px;
}

.c-spacer--mb20 {
  margin-bottom: 20px;
}

.c-spacer--pt20 {
  padding-top: 20px;
}

.c-spacer--pb20 {
  padding-bottom: 20px;
}

.c-spacer--10 {
  height: 10px;
  overflow: hidden;
}

.c-spacer--10.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--10.is-debug:before {
  content: "height 10px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 0px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt10 {
  margin-top: 10px;
}

.c-spacer--mb10 {
  margin-bottom: 10px;
}

.c-spacer--pt10 {
  padding-top: 10px;
}

.c-spacer--pb10 {
  padding-bottom: 10px;
}

.c-spacer--1 {
  height: 1px;
  overflow: hidden;
}

.c-spacer--1.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--1.is-debug:before {
  content: "height 1px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: -4.5px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt1 {
  margin-top: 1px;
}

.c-spacer--mb1 {
  margin-bottom: 1px;
}

.c-spacer--pt1 {
  padding-top: 1px;
}

.c-spacer--pb1 {
  padding-bottom: 1px;
}

.c-spacer--0 {
  height: 0px;
  overflow: hidden;
}

.c-spacer--0.is-debug {
  width: 100%;
  text-align: center;
  background-color: #000000;
}

.c-spacer--0.is-debug:before {
  content: "height 0px";
  display: block;
  width: 100%;
  height: 100%;
  padding-top: -5px;
  font-size: 1rem;
  line-height: 12px;
  font-weight: bold;
  color: #ffffff;
}

.c-spacer--mt0 {
  margin-top: 0px;
}

.c-spacer--mb0 {
  margin-bottom: 0px;
}

.c-spacer--pt0 {
  padding-top: 0px;
}

.c-spacer--pb0 {
  padding-bottom: 0px;
}

.c-spacer--1.is-debug:before {
  display: none !important;
}

@media (max-width: 59.99em) {
  .c-spacer--210-sp {
    height: 210px !important;
    overflow: hidden;
  }
  .c-spacer--210-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--210-sp.is-debug:before {
    content: "height 210px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 100px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt210-sp {
    margin-top: 210px !important;
  }
  .c-spacer--mb210-sp {
    margin-bottom: 210px !important;
  }
  .c-spacer--pt210-sp {
    padding-top: 210px !important;
  }
  .c-spacer--pb210-sp {
    padding-bottom: 210px !important;
  }
  .c-spacer--120-sp {
    height: 120px !important;
    overflow: hidden;
  }
  .c-spacer--120-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--120-sp.is-debug:before {
    content: "height 120px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 55px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt120-sp {
    margin-top: 120px !important;
  }
  .c-spacer--mb120-sp {
    margin-bottom: 120px !important;
  }
  .c-spacer--pt120-sp {
    padding-top: 120px !important;
  }
  .c-spacer--pb120-sp {
    padding-bottom: 120px !important;
  }
  .c-spacer--90-sp {
    height: 90px !important;
    overflow: hidden;
  }
  .c-spacer--90-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--90-sp.is-debug:before {
    content: "height 90px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 40px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt90-sp {
    margin-top: 90px !important;
  }
  .c-spacer--mb90-sp {
    margin-bottom: 90px !important;
  }
  .c-spacer--pt90-sp {
    padding-top: 90px !important;
  }
  .c-spacer--pb90-sp {
    padding-bottom: 90px !important;
  }
  .c-spacer--80-sp {
    height: 80px !important;
    overflow: hidden;
  }
  .c-spacer--80-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--80-sp.is-debug:before {
    content: "height 80px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 35px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt80-sp {
    margin-top: 80px !important;
  }
  .c-spacer--mb80-sp {
    margin-bottom: 80px !important;
  }
  .c-spacer--pt80-sp {
    padding-top: 80px !important;
  }
  .c-spacer--pb80-sp {
    padding-bottom: 80px !important;
  }
  .c-spacer--70-sp {
    height: 70px !important;
    overflow: hidden;
  }
  .c-spacer--70-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--70-sp.is-debug:before {
    content: "height 70px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 30px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt70-sp {
    margin-top: 70px !important;
  }
  .c-spacer--mb70-sp {
    margin-bottom: 70px !important;
  }
  .c-spacer--pt70-sp {
    padding-top: 70px !important;
  }
  .c-spacer--pb70-sp {
    padding-bottom: 70px !important;
  }
  .c-spacer--60-sp {
    height: 60px !important;
    overflow: hidden;
  }
  .c-spacer--60-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--60-sp.is-debug:before {
    content: "height 60px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 25px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt60-sp {
    margin-top: 60px !important;
  }
  .c-spacer--mb60-sp {
    margin-bottom: 60px !important;
  }
  .c-spacer--pt60-sp {
    padding-top: 60px !important;
  }
  .c-spacer--pb60-sp {
    padding-bottom: 60px !important;
  }
  .c-spacer--50-sp {
    height: 50px !important;
    overflow: hidden;
  }
  .c-spacer--50-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--50-sp.is-debug:before {
    content: "height 50px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 20px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt50-sp {
    margin-top: 50px !important;
  }
  .c-spacer--mb50-sp {
    margin-bottom: 50px !important;
  }
  .c-spacer--pt50-sp {
    padding-top: 50px !important;
  }
  .c-spacer--pb50-sp {
    padding-bottom: 50px !important;
  }
  .c-spacer--45-sp {
    height: 45px !important;
    overflow: hidden;
  }
  .c-spacer--45-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--45-sp.is-debug:before {
    content: "height 45px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 17.5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt45-sp {
    margin-top: 45px !important;
  }
  .c-spacer--mb45-sp {
    margin-bottom: 45px !important;
  }
  .c-spacer--pt45-sp {
    padding-top: 45px !important;
  }
  .c-spacer--pb45-sp {
    padding-bottom: 45px !important;
  }
  .c-spacer--35-sp {
    height: 35px !important;
    overflow: hidden;
  }
  .c-spacer--35-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--35-sp.is-debug:before {
    content: "height 35px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 12.5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt35-sp {
    margin-top: 35px !important;
  }
  .c-spacer--mb35-sp {
    margin-bottom: 35px !important;
  }
  .c-spacer--pt35-sp {
    padding-top: 35px !important;
  }
  .c-spacer--pb35-sp {
    padding-bottom: 35px !important;
  }
  .c-spacer--30-sp {
    height: 30px !important;
    overflow: hidden;
  }
  .c-spacer--30-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--30-sp.is-debug:before {
    content: "height 30px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 10px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt30-sp {
    margin-top: 30px !important;
  }
  .c-spacer--mb30-sp {
    margin-bottom: 30px !important;
  }
  .c-spacer--pt30-sp {
    padding-top: 30px !important;
  }
  .c-spacer--pb30-sp {
    padding-bottom: 30px !important;
  }
  .c-spacer--20-sp {
    height: 20px !important;
    overflow: hidden;
  }
  .c-spacer--20-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--20-sp.is-debug:before {
    content: "height 20px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt20-sp {
    margin-top: 20px !important;
  }
  .c-spacer--mb20-sp {
    margin-bottom: 20px !important;
  }
  .c-spacer--pt20-sp {
    padding-top: 20px !important;
  }
  .c-spacer--pb20-sp {
    padding-bottom: 20px !important;
  }
  .c-spacer--15-sp {
    height: 15px !important;
    overflow: hidden;
  }
  .c-spacer--15-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--15-sp.is-debug:before {
    content: "height 15px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 2.5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt15-sp {
    margin-top: 15px !important;
  }
  .c-spacer--mb15-sp {
    margin-bottom: 15px !important;
  }
  .c-spacer--pt15-sp {
    padding-top: 15px !important;
  }
  .c-spacer--pb15-sp {
    padding-bottom: 15px !important;
  }
  .c-spacer--10-sp {
    height: 10px !important;
    overflow: hidden;
  }
  .c-spacer--10-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--10-sp.is-debug:before {
    content: "height 10px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 0px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt10-sp {
    margin-top: 10px !important;
  }
  .c-spacer--mb10-sp {
    margin-bottom: 10px !important;
  }
  .c-spacer--pt10-sp {
    padding-top: 10px !important;
  }
  .c-spacer--pb10-sp {
    padding-bottom: 10px !important;
  }
  .c-spacer--5-sp {
    height: 5px !important;
    overflow: hidden;
  }
  .c-spacer--5-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--5-sp.is-debug:before {
    content: "height 5px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: -2.5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt5-sp {
    margin-top: 5px !important;
  }
  .c-spacer--mb5-sp {
    margin-bottom: 5px !important;
  }
  .c-spacer--pt5-sp {
    padding-top: 5px !important;
  }
  .c-spacer--pb5-sp {
    padding-bottom: 5px !important;
  }
  .c-spacer--1-sp {
    height: 1px !important;
    overflow: hidden;
  }
  .c-spacer--1-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--1-sp.is-debug:before {
    content: "height 1px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: -4.5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt1-sp {
    margin-top: 1px !important;
  }
  .c-spacer--mb1-sp {
    margin-bottom: 1px !important;
  }
  .c-spacer--pt1-sp {
    padding-top: 1px !important;
  }
  .c-spacer--pb1-sp {
    padding-bottom: 1px !important;
  }
  .c-spacer--0-sp {
    height: 0px !important;
    overflow: hidden;
  }
  .c-spacer--0-sp.is-debug {
    width: 100%;
    text-align: center;
    background-color: #000000;
  }
  .c-spacer--0-sp.is-debug:before {
    content: "height 0px" !important;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: -5px !important;
    font-size: 1rem;
    line-height: 12px;
    font-weight: bold;
    color: #ffffff;
  }
  .c-spacer--mt0-sp {
    margin-top: 0px !important;
  }
  .c-spacer--mb0-sp {
    margin-bottom: 0px !important;
  }
  .c-spacer--pt0-sp {
    padding-top: 0px !important;
  }
  .c-spacer--pb0-sp {
    padding-bottom: 0px !important;
  }
  .c-spacer--300 {
    height: 150px;
  }
  .c-spacer--300.is-debug:before {
    content: "height 150px";
    padding-top: 70px;
  }
  .c-spacer--mt300 {
    margin-top: 150px;
  }
  .c-spacer--mb300 {
    margin-bottom: 150px;
  }
  .c-spacer--pt300 {
    padding-top: 150px;
  }
  .c-spacer--pb300 {
    padding-bottom: 150px;
  }
  .c-spacer--270 {
    height: 135px;
  }
  .c-spacer--270.is-debug:before {
    content: "height 135px";
    padding-top: 62.5px;
  }
  .c-spacer--mt270 {
    margin-top: 135px;
  }
  .c-spacer--mb270 {
    margin-bottom: 135px;
  }
  .c-spacer--pt270 {
    padding-top: 135px;
  }
  .c-spacer--pb270 {
    padding-bottom: 135px;
  }
  .c-spacer--240 {
    height: 120px;
  }
  .c-spacer--240.is-debug:before {
    content: "height 120px";
    padding-top: 55px;
  }
  .c-spacer--mt240 {
    margin-top: 120px;
  }
  .c-spacer--mb240 {
    margin-bottom: 120px;
  }
  .c-spacer--pt240 {
    padding-top: 120px;
  }
  .c-spacer--pb240 {
    padding-bottom: 120px;
  }
  .c-spacer--200 {
    height: 100px;
  }
  .c-spacer--200.is-debug:before {
    content: "height 100px";
    padding-top: 45px;
  }
  .c-spacer--mt200 {
    margin-top: 100px;
  }
  .c-spacer--mb200 {
    margin-bottom: 100px;
  }
  .c-spacer--pt200 {
    padding-top: 100px;
  }
  .c-spacer--pb200 {
    padding-bottom: 100px;
  }
  .c-spacer--180 {
    height: 90px;
  }
  .c-spacer--180.is-debug:before {
    content: "height 90px";
    padding-top: 40px;
  }
  .c-spacer--mt180 {
    margin-top: 90px;
  }
  .c-spacer--mb180 {
    margin-bottom: 90px;
  }
  .c-spacer--pt180 {
    padding-top: 90px;
  }
  .c-spacer--pb180 {
    padding-bottom: 90px;
  }
  .c-spacer--160 {
    height: 80px;
  }
  .c-spacer--160.is-debug:before {
    content: "height 80px";
    padding-top: 35px;
  }
  .c-spacer--mt160 {
    margin-top: 80px;
  }
  .c-spacer--mb160 {
    margin-bottom: 80px;
  }
  .c-spacer--pt160 {
    padding-top: 80px;
  }
  .c-spacer--pb160 {
    padding-bottom: 80px;
  }
  .c-spacer--140 {
    height: 70px;
  }
  .c-spacer--140.is-debug:before {
    content: "height 70px";
    padding-top: 30px;
  }
  .c-spacer--mt140 {
    margin-top: 70px;
  }
  .c-spacer--mb140 {
    margin-bottom: 70px;
  }
  .c-spacer--pt140 {
    padding-top: 70px;
  }
  .c-spacer--pb140 {
    padding-bottom: 70px;
  }
  .c-spacer--120 {
    height: 60px;
  }
  .c-spacer--120.is-debug:before {
    content: "height 60px";
    padding-top: 25px;
  }
  .c-spacer--mt120 {
    margin-top: 60px;
  }
  .c-spacer--mb120 {
    margin-bottom: 60px;
  }
  .c-spacer--pt120 {
    padding-top: 60px;
  }
  .c-spacer--pb120 {
    padding-bottom: 60px;
  }
  .c-spacer--100 {
    height: 50px;
  }
  .c-spacer--100.is-debug:before {
    content: "height 50px";
    padding-top: 20px;
  }
  .c-spacer--mt100 {
    margin-top: 50px;
  }
  .c-spacer--mb100 {
    margin-bottom: 50px;
  }
  .c-spacer--pt100 {
    padding-top: 50px;
  }
  .c-spacer--pb100 {
    padding-bottom: 50px;
  }
  .c-spacer--90 {
    height: 45px;
  }
  .c-spacer--90.is-debug:before {
    content: "height 45px";
    padding-top: 17.5px;
  }
  .c-spacer--mt90 {
    margin-top: 45px;
  }
  .c-spacer--mb90 {
    margin-bottom: 45px;
  }
  .c-spacer--pt90 {
    padding-top: 45px;
  }
  .c-spacer--pb90 {
    padding-bottom: 45px;
  }
  .c-spacer--80 {
    height: 40px;
  }
  .c-spacer--80.is-debug:before {
    content: "height 40px";
    padding-top: 15px;
  }
  .c-spacer--mt80 {
    margin-top: 40px;
  }
  .c-spacer--mb80 {
    margin-bottom: 40px;
  }
  .c-spacer--pt80 {
    padding-top: 40px;
  }
  .c-spacer--pb80 {
    padding-bottom: 40px;
  }
  .c-spacer--70 {
    height: 35px;
  }
  .c-spacer--70.is-debug:before {
    content: "height 35px";
    padding-top: 12.5px;
  }
  .c-spacer--mt70 {
    margin-top: 35px;
  }
  .c-spacer--mb70 {
    margin-bottom: 35px;
  }
  .c-spacer--pt70 {
    padding-top: 35px;
  }
  .c-spacer--pb70 {
    padding-bottom: 35px;
  }
  .c-spacer--60 {
    height: 30px;
  }
  .c-spacer--60.is-debug:before {
    content: "height 30px";
    padding-top: 10px;
  }
  .c-spacer--mt60 {
    margin-top: 30px;
  }
  .c-spacer--mb60 {
    margin-bottom: 30px;
  }
  .c-spacer--pt60 {
    padding-top: 30px;
  }
  .c-spacer--pb60 {
    padding-bottom: 30px;
  }
  .c-spacer--50 {
    height: 25px;
  }
  .c-spacer--50.is-debug:before {
    content: "height 25px";
    padding-top: 7.5px;
  }
  .c-spacer--mt50 {
    margin-top: 25px;
  }
  .c-spacer--mb50 {
    margin-bottom: 25px;
  }
  .c-spacer--pt50 {
    padding-top: 25px;
  }
  .c-spacer--pb50 {
    padding-bottom: 25px;
  }
  .c-spacer--40 {
    height: 20px;
  }
  .c-spacer--40.is-debug:before {
    content: "height 20px";
    padding-top: 5px;
  }
  .c-spacer--mt40 {
    margin-top: 20px;
  }
  .c-spacer--mb40 {
    margin-bottom: 20px;
  }
  .c-spacer--pt40 {
    padding-top: 20px;
  }
  .c-spacer--pb40 {
    padding-bottom: 20px;
  }
  .c-spacer--30 {
    height: 15px;
  }
  .c-spacer--30.is-debug:before {
    content: "height 15px";
    padding-top: 2.5px;
  }
  .c-spacer--mt30 {
    margin-top: 15px;
  }
  .c-spacer--mb30 {
    margin-bottom: 15px;
  }
  .c-spacer--pt30 {
    padding-top: 15px;
  }
  .c-spacer--pb30 {
    padding-bottom: 15px;
  }
  .c-spacer--25 {
    height: 12.5px;
  }
  .c-spacer--25.is-debug:before {
    content: "height 12.5px";
    padding-top: 1.25px;
  }
  .c-spacer--mt25 {
    margin-top: 12.5px;
  }
  .c-spacer--mb25 {
    margin-bottom: 12.5px;
  }
  .c-spacer--pt25 {
    padding-top: 12.5px;
  }
  .c-spacer--pb25 {
    padding-bottom: 12.5px;
  }
  .c-spacer--20 {
    height: 10px;
  }
  .c-spacer--20.is-debug:before {
    content: "height 10px";
    padding-top: 0px;
  }
  .c-spacer--mt20 {
    margin-top: 10px;
  }
  .c-spacer--mb20 {
    margin-bottom: 10px;
  }
  .c-spacer--pt20 {
    padding-top: 10px;
  }
  .c-spacer--pb20 {
    padding-bottom: 10px;
  }
  .c-spacer--10 {
    height: 5px;
  }
  .c-spacer--10.is-debug:before {
    content: "height 5px";
    padding-top: -2.5px;
  }
  .c-spacer--mt10 {
    margin-top: 5px;
  }
  .c-spacer--mb10 {
    margin-bottom: 5px;
  }
  .c-spacer--pt10 {
    padding-top: 5px;
  }
  .c-spacer--pb10 {
    padding-bottom: 5px;
  }
  .c-spacer--1 {
    height: 0.5px;
  }
  .c-spacer--1.is-debug:before {
    content: "height 0.5px";
    padding-top: -4.75px;
  }
  .c-spacer--mt1 {
    margin-top: 0.5px;
  }
  .c-spacer--mb1 {
    margin-bottom: 0.5px;
  }
  .c-spacer--pt1 {
    padding-top: 0.5px;
  }
  .c-spacer--pb1 {
    padding-bottom: 0.5px;
  }
  .c-spacer--0 {
    height: 0px;
  }
  .c-spacer--0.is-debug:before {
    content: "height 0px";
    padding-top: -5px;
  }
  .c-spacer--mt0 {
    margin-top: 0px;
  }
  .c-spacer--mb0 {
    margin-bottom: 0px;
  }
  .c-spacer--pt0 {
    padding-top: 0px;
  }
  .c-spacer--pb0 {
    padding-bottom: 0px;
  }
  .c-spacer--1 {
    height: 1px !important;
  }
  .c-spacer--mt1 {
    margin-top: 1px !important;
  }
  .c-spacer--mb1 {
    margin-bottom: 1px !important;
  }
  .c-spacer--pt1 {
    padding-top: 1px !important;
  }
  .c-spacer--pb1 {
    padding-bottom: 1px !important;
  }
}

.c-loading {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-loading:before {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

.c-loading:after {
  content: "";
  display: block;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
}

.c-loading--simple:after {
  width: 32px;
  height: 32px;
  background-image: url("/assets/img/common/c-loading--simple.gif");
}

@media (max-width: 59.99em) {
  .c-loading--simple:after {
    width: 24px;
    height: 24px;
  }
}

.c-loading--beat-circle:after {
  width: 20px;
  height: 20px;
  background-color: #000000;
  border-radius: 50px;
  -webkit-animation: c_loading__beat_circle__animation 0.5s linear infinite;
          animation: c_loading__beat_circle__animation 0.5s linear infinite;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

@media (max-width: 59.99em) {
  .c-loading--beat-circle:after {
    width: 10px;
    height: 10px;
  }
}

@-webkit-keyframes c_loading__beat_circle__animation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.3);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes c_loading__beat_circle__animation {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.3);
  }
  100% {
    transform: scale(1);
  }
}

.c-loading--zoom-circle:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  background-color: #000000;
  border-radius: 50%;
  -webkit-animation: c_loading__zoom_circle__animation 0.3s linear infinite;
          animation: c_loading__zoom_circle__animation 0.3s linear infinite;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

@media (max-width: 59.99em) {
  .c-loading--zoom-circle:after {
    width: 20px;
    height: 20px;
  }
}

@-webkit-keyframes c_loading__zoom_circle__animation {
  0% {
    transform: scale(0);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes c_loading__zoom_circle__animation {
  0% {
    transform: scale(0);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}

.c-loading--zoom-circle span {
  position: absolute;
  left: -26px;
  bottom: -35px;
  display: block;
  width: 120px;
  margin: 0 auto;
  color: #000000;
  text-align: center;
}

.c-loading--zoom-circle span:after {
  position: absolute;
  left: 100px;
  bottom: 0;
  display: block;
  width: 30px;
  content: '...';
  text-align: left;
  -webkit-animation: c_loading__three_burst__animation 1.5s linear infinite;
          animation: c_loading__three_burst__animation 1.5s linear infinite;
}

@-webkit-keyframes c_loading__three_burst__animation {
  0% {
    content: '';
  }
  33% {
    content: '.';
  }
  66% {
    content: '..';
  }
  100% {
    content: '...';
  }
}

@keyframes c_loading__three_burst__animation {
  0% {
    content: '';
  }
  33% {
    content: '.';
  }
  66% {
    content: '..';
  }
  100% {
    content: '...';
  }
}

@media (max-width: 59.99em) {
  .c-loading--simple:after {
    background-size: 24px 24px;
  }
  .c-loading--zoom-circle span {
    left: -42px;
    bottom: -30px;
    width: 120px;
  }
}

.c-circleIcon--arw {
  position: relative;
  width: 30px;
  height: 30px;
}

.c-circleIcon--arw:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-circleIcon--arw:before {
  position: absolute;
  left: 8px;
  top: -21px;
  font-size: 4.1rem;
  line-height: 43px;
}

.c-circleIcon--arw:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  border-style: solid;
  border-width: 3px;
  border-color: #ffffff;
}

.c-circleIcon--arw.brown:before {
  color: #000000;
}

.c-circleIcon--arw.brown:after {
  border-color: #000000;
}

.c-circleIcon--sns {
  display: block;
  position: relative;
  width: 60px;
  height: 60px;
}

.c-circleIcon--sns:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 60px;
  border-style: solid;
  border-width: 3px;
  border-color: #ffffff;
  opacity: 0.3;
}

.c-circleIcon--sns .c-circleIcon__sns {
  position: absolute;
  color: #ffffff;
}

.c-circleIcon--sns .c-circleIcon__sns.c-icon--tw {
  left: 20px;
  top: 20px;
}

.c-circleIcon--sns .c-circleIcon__sns.c-icon--ig {
  left: 19px;
  top: 13px;
}

.c-circleIcon--sns .c-circleIcon__sns.c-icon--fb {
  left: 25px;
  top: 3px;
}

.c-circleIcon--sns .c-circleIcon__sns.c-icon--yt {
  left: 19px;
  top: -36px;
}

.c-circleIcon--plus {
  position: relative;
  width: 30px;
  height: 30px;
}

.c-circleIcon--plus:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  border-style: solid;
  border-width: 3px;
  border-color: #000000;
}

.c-circleIcon--plus__icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.c-circleIcon--plus__icon:before, .c-circleIcon--plus__icon:after {
  content: '';
  display: block;
  position: absolute;
  top: 13px;
  left: 8px;
  width: 14px;
  height: 3px;
  background-color: #000000;
  border-radius: 100%;
}

.c-circleIcon--plus__icon:after {
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
  transform: rotateZ(90deg);
}

.c-circleIcon--plus.is-minus .c-circleIcon--plus__icon:after {
  transform: rotateZ(180deg);
}

.c-circleIcon--prev, .c-circleIcon--next {
  position: absolute;
  width: 60px;
  height: 60px;
}

.c-circleIcon--prev:before, .c-circleIcon--prev:after, .c-circleIcon--next:before, .c-circleIcon--next:after {
  content: '';
  display: block;
  position: absolute;
}

.c-circleIcon--prev:before, .c-circleIcon--next:before {
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  border: 6px solid #ffffff;
  border-radius: 60px;
  overflow: hidden;
}

.c-circleIcon--prev:after, .c-circleIcon--next:after {
  z-index: 2;
  left: 25px;
  top: 20px;
  width: 12px;
  height: 20px;
  background-image: url("/assets/img/common/c-circleIcon--next.svg");
  background-repeat: no-repeat;
  background-position: left top;
}

.c-circleIcon--prev:after {
  left: 22px;
  transform: rotateZ(180deg);
}

@media (min-width: 60em) {
  .c-circleIcon--sns:after {
    transition-property: background-color;
    transition-duration: 0.5s;
  }
  .c-circleIcon--sns:hover:after {
    background-color: #ffffff;
    transition-duration: 0s;
  }
  .c-circleIcon--prev:before, .c-circleIcon--next:before {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.5, 0, 0, 1.3);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transition-duration: 0.1s;
  }
  .c-circleIcon--prev:hover:before, .c-circleIcon--next:hover:before {
    transform: scale(1.2);
  }
}

@media (max-width: 59.99em) {
  .c-circleIcon--arw {
    width: 25px;
    height: 25px;
  }
  .c-circleIcon--arw:before {
    left: 7px;
    top: -18px;
    font-size: 3.5rem;
    line-height: 37px;
  }
  .c-circleIcon--arw:after {
    border-radius: 25px;
    border-width: 3px;
  }
  .c-circleIcon--sns {
    width: 45px;
    height: 45px;
  }
  .c-circleIcon--sns:after {
    border-radius: 45px;
    border-width: 2px;
  }
  .c-circleIcon--sns .c-circleIcon__sns.c-icon--tw {
    left: 15px;
    top: 15px;
  }
  .c-circleIcon--sns .c-circleIcon__sns.c-icon--ig {
    left: 13px;
    top: 8px;
  }
  .c-circleIcon--sns .c-circleIcon__sns.c-icon--fb {
    left: 17px;
    top: -1px;
  }
  .c-circleIcon--sns .c-circleIcon__sns.c-icon--yt {
    left: 13px;
    top: -32px;
  }
  .c-circleIcon--prev, .c-circleIcon--next {
    width: 50px;
    height: 50px;
  }
  .c-circleIcon--prev:before, .c-circleIcon--next:before {
    border-width: 5px;
    border-radius: 50px;
  }
  .c-circleIcon--prev:after, .c-circleIcon--next:after {
    left: 22px;
    top: 17px;
    width: 10px;
    height: 17px;
    background-size: contain;
  }
  .c-circleIcon--prev:after {
    left: 19px;
  }
}

a.p-icon, button.p-icon {
  cursor: pointer;
}

.c-circleLoading {
  position: relative;
  width: 100%;
  height: 100%;
}

.c-circleLoading:before {
  content: "";
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  opacity: 1;
  transition: opacity 0.2s;
}

.c-circleLoading__fill-base, .c-circleLoading__fill-center {
  transform: scale(0.8);
}

.c-circleLoading__fill-base, .c-circleLoading__fill-center, .c-circleLoading__indicator__fill, .c-circleLoading__indicator__mask {
  border-radius: 50%;
}

.c-circleLoading__container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 40px;
  height: 40px;
  transform: scale(0);
  transition: transform 0.2s cubic-bezier(0, 0.7, 0, 1);
}

.c-circleLoading__fill-base {
  z-index: 1;
  position: relative;
  width: 40px;
  height: 40px;
  background-color: #e6e6e6;
  overflow: hidden;
}

.c-circleLoading__fill-center {
  z-index: 3;
  position: absolute;
  left: 1px;
  top: 1px;
  width: 38px;
  height: 38px;
  background-color: #000000;
  text-align: center;
}

.c-circleLoading__fill-center:after {
  position: relative;
  top: 24px;
  left: 0;
  display: inline-block;
  color: #ffffff;
  content: "";
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 16px;
  opacity: 1;
  transition: opacity 0.2s;
}

.c-circleLoading__indicator {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
}

.c-circleLoading__indicator__fill, .c-circleLoading__indicator__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transform: rotateZ(0deg);
}

.c-circleLoading__indicator__fill:before, .c-circleLoading__indicator__mask:before {
  left: 0;
}

.c-circleLoading__indicator__fill:after, .c-circleLoading__indicator__mask:after {
  right: 0;
}

.c-circleLoading__indicator__fill:before, .c-circleLoading__indicator__fill:after, .c-circleLoading__indicator__mask:before, .c-circleLoading__indicator__mask:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
}

.c-circleLoading__indicator__fill {
  z-index: 1;
  transition: transform 1.3s cubic-bezier(0, 0.7, 0, 1);
}

.c-circleLoading__indicator__fill:before {
  background-color: #e6e6e6;
}

.c-circleLoading__indicator__fill:after {
  background-color: #000000;
}

.c-circleLoading__indicator__mask {
  z-index: 2;
}

.c-circleLoading__indicator__mask:before {
  background-color: #000000;
}

.c-circleLoading.is-fifty .c-circleLoading__indicator__mask {
  transform: scale(1.016) rotateZ(180deg) !important;
}

.c-circleLoading.is-fifty .c-circleLoading__indicator__mask:before {
  background-color: #e6e6e6 !important;
}

.c-circleLoading.is-fadein .c-circleLoading__container {
  transform: scale(1);
}

.c-circleLoading.is-fadeout:before {
  opacity: 0;
}

.c-circleLoading.is-fadeout .c-circleLoading__fill-center {
  transition: transform 0.2s;
  transform: scale(1.2);
}

.c-circleLoading.is-fadeout .c-circleLoading__fill-center:after {
  opacity: 0;
}

.c-circleLoading.is-fadeout .c-circleLoading__container {
  transition: transform 0.7s cubic-bezier(1, -1.42, 0, 1);
  transform: scale(0);
}

.c-circleProgress {
  position: relative;
  position: relative;
  width: 340px;
  height: 340px;
  background: #ffffff;
  border-radius: 50%;
  text-align: center;
  overflow: hidden;
  z-index: 1;
}

.c-circleProgress:before, .c-circleProgress:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 340px;
  height: 340px;
  background: #c1cada;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-iteration-count: inherit;
          animation-iteration-count: inherit;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.c-circleProgress:before {
  z-index: 2;
  left: -170px;
  transform-origin: right 170px;
  -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.c-circleProgress:after {
  z-index: 3;
  left: 170px;
  transform-origin: left 170px;
  -webkit-animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
          animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
}

@-webkit-keyframes circleProgress__rotate_right {
  0% {
    transform: rotate(0deg);
    background: #c1cada;
  }
  50% {
    transform: rotate(180deg);
    background: #c1cada;
  }
  50.01% {
    transform: rotate(360deg);
    background: #ffffff;
  }
  100% {
    transform: rotate(360deg);
    background: #ffffff;
  }
}

@keyframes circleProgress__rotate_right {
  0% {
    transform: rotate(0deg);
    background: #c1cada;
  }
  50% {
    transform: rotate(180deg);
    background: #c1cada;
  }
  50.01% {
    transform: rotate(360deg);
    background: #ffffff;
  }
  100% {
    transform: rotate(360deg);
    background: #ffffff;
  }
}

@-webkit-keyframes circleProgress__rotate_left {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

@keyframes circleProgress__rotate_left {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

.c-circleProgress__center {
  z-index: 4;
  position: absolute;
  top: 10px;
  left: 10px;
  width: 320px;
  height: 320px;
  background: #aab6d0;
  border-radius: 50%;
}

.c-circleProgress.is-active:before {
  -webkit-animation-name: circleProgress__rotate_left;
          animation-name: circleProgress__rotate_left;
}

.c-circleProgress.is-active:after {
  -webkit-animation-name: circleProgress__rotate_right;
          animation-name: circleProgress__rotate_right;
}

.c-pieChart {
  position: relative;
  width: 110px;
  height: 110px;
  background: #bdc8e0;
  border-radius: 50%;
  text-align: center;
  overflow: hidden;
  z-index: 1;
}

.c-pieChart__left, .c-pieChart__right {
  position: absolute;
  top: 0;
  width: 110px;
  height: 110px;
  background: #000000;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-iteration-count: inherit;
          animation-iteration-count: inherit;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.c-pieChart__left {
  z-index: 2;
  left: -55px;
  transform-origin: right 55px;
  -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.c-pieChart__right {
  z-index: 3;
  left: 55px;
  transform-origin: left 55px;
  -webkit-animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
          animation-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
}

@-webkit-keyframes pieChart__rotate_right {
  0% {
    transform: rotate(0deg);
    background: #000000;
  }
  50% {
    transform: rotate(180deg);
    background: #000000;
  }
  50.01% {
    transform: rotate(360deg);
    background: #bdc8e0;
  }
  100% {
    transform: rotate(360deg);
    background: #bdc8e0;
  }
}

@keyframes pieChart__rotate_right {
  0% {
    transform: rotate(0deg);
    background: #000000;
  }
  50% {
    transform: rotate(180deg);
    background: #000000;
  }
  50.01% {
    transform: rotate(360deg);
    background: #bdc8e0;
  }
  100% {
    transform: rotate(360deg);
    background: #bdc8e0;
  }
}

@-webkit-keyframes pieChart__rotate_left {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

@keyframes pieChart__rotate_left {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(180deg);
  }
}

.c-pieChart.is-100per .c-pieChart__left {
  -webkit-animation-name: pieChart__rotate_left;
          animation-name: pieChart__rotate_left;
}

.c-pieChart.is-100per .c-pieChart__right {
  -webkit-animation-name: pieChart__rotate_right;
          animation-name: pieChart__rotate_right;
}

.c-pieChart__center {
  z-index: 4;
  position: absolute;
  top: 10px;
  left: 10px;
  width: 90px;
  height: 90px;
  background: #000000;
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.c-pieChart__center__label {
  display: block;
  padding-bottom: 2px;
  font-size: 1.4rem;
  line-height: 16px;
}

.c-pieChart__center__value {
  display: block;
  padding-bottom: 5px;
  font-size: 2rem;
  line-height: 22px;
}

@media (max-width: 59.99em) {
  .c-pieChart {
    width: 70px;
    height: 70px;
  }
  .c-pieChart__left, .c-pieChart__right {
    width: 70px;
    height: 70px;
  }
  .c-pieChart__left {
    z-index: 2;
    left: -35px;
    transform-origin: right 35px;
  }
  .c-pieChart__right {
    z-index: 3;
    left: 35px;
    transform-origin: left 35px;
  }
  .c-pieChart__center {
    top: 6px;
    left: 6px;
    width: 58px;
    height: 58px;
  }
  .c-pieChart__center__label {
    padding-bottom: 1px;
    font-size: 1rem;
    line-height: 12px;
  }
  .c-pieChart__center__value {
    padding-bottom: 3px;
    font-size: 1.5rem;
    line-height: 17px;
  }
}

.c-heroHeader {
  position: relative;
}

.c-heroHeader__bg {
  z-index: 1;
  position: fixed !important;
  left: 0;
  top: 0;
  width: 100%;
}

.c-heroHeader__bg > img {
  z-index: 1;
  position: relative;
  display: block;
}

.c-heroHeader__bg__mask {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.4;
}

.c-heroHeader__inner {
  z-index: 2;
  position: relative;
  background-color: #ffffff;
}

.js-slickModal__output {
  z-index: 9000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  overflow-y: auto;
  overflow-scrolling: touch;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.js-slickModal__output.is-active {
  pointer-events: auto;
}

.js-slickModal__output:before {
  z-index: 1;
  content: '';
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.js-slickModal__output .slick-slide {
  height: 0 !important;
  transition: none !important;
  opacity: 0;
}

.js-slickModal__output .slick-slide > div {
  height: 0 !important;
}

.js-slickModal__output .slick-current {
  height: 100% !important;
  transition: opacity 0.5s !important;
  opacity: 1;
}

.js-slickModal__output .slick-current > div {
  height: 100% !important;
}

.js-slickModal__output.is-active .js-slickModal__next, .js-slickModal__output.is-active .js-slickModal__prev, .js-slickModal__output.is-active .js-slickModal__close {
  pointer-events: auto;
}

.c-slickModal {
  display: none;
  position: relative;
}

.c-slickModal__close {
  z-index: 3;
  position: fixed;
  right: 0;
  top: 0;
  cursor: pointer;
  width: 80px;
  height: 80px;
}

.c-slickModal__close:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/common/l-modal__close.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}

.c-slickModal__content {
  z-index: 2;
  position: relative;
  padding: 150px 240px 240px;
}

.c-slickModal__content__inner {
  position: relative;
  width: 100%;
  max-width: 1240px;
  height: 100%;
  margin: 0 auto;
}

.c-slickModal__slide {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.c-slickModal__slide__item {
  position: relative;
  width: 100%;
  padding: 200px;
  line-height: normal;
  background-color: #ffffff;
}

.c-slickModal__nav {
  pointer-events: none;
  position: absolute;
  left: 0;
  bottom: -120px;
  width: 100%;
  text-align: center;
  letter-spacing: -.4em;
}

.c-slickModal__nav li {
  display: inline-block;
  letter-spacing: normal;
  padding: 0 6px;
}

@media (min-width: 60em) {
  .c-slickModal__close:hover:before {
    -webkit-animation: c_slickModal_close_anim 0.25s;
            animation: c_slickModal_close_anim 0.25s;
    -webkit-animation-timing-function: cubic-bezier(0.15, 0.07, 0, 1);
            animation-timing-function: cubic-bezier(0.15, 0.07, 0, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  @-webkit-keyframes c_slickModal_close_anim {
    0% {
      transform: rotateZ(0);
    }
    100% {
      transform: rotateZ(90deg);
    }
  }
  @keyframes c_slickModal_close_anim {
    0% {
      transform: rotateZ(0);
    }
    100% {
      transform: rotateZ(90deg);
    }
  }
}

@media (max-width: 59.99em) {
  .c-slickModal__close {
    width: 40px;
    height: 40px;
  }
  .c-slickModal__content {
    padding: 70px 40px 100px;
  }
  .c-slickModal__content__inner {
    max-width: 100%;
  }
  .c-slickModal__slide {
    max-width: 100%;
    margin: 0;
  }
  .c-slickModal__slide__item {
    padding: 30px;
  }
  .c-slickModal__nav {
    bottom: -60px;
  }
}

.c-checkbox {
  position: relative;
  display: table;
}

.c-checkbox input {
  display: none;
}

.c-checkbox input:checked + label:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-checkbox input:checked + label:before {
  position: absolute;
  left: 5px;
  top: 3px;
  display: block;
  font-size: 4rem;
  line-height: 0px;
}

.c-checkbox label, .c-checkbox p {
  display: table-cell;
  vertical-align: middle;
}

.c-checkbox label {
  position: relative;
  cursor: pointer;
  width: 30px;
  height: 30px;
}

.c-checkbox label:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 30px;
  border: 1px solid #000000;
}

.c-checkbox p {
  padding-left: 17px;
}

@media (max-width: 59.99em) {
  .c-checkbox input:checked + label:before {
    left: 6px;
    top: 6px;
    font-size: 2.5rem;
    line-height: 0px;
  }
  .c-checkbox label {
    width: 25px;
    height: 25px;
  }
  .c-checkbox label:after {
    height: 25px;
  }
  .c-checkbox p {
    padding-left: 10px;
  }
}

.c-form dl {
  padding-bottom: 60px;
}

.c-form dt.is-required:after {
  display: inline-block;
  padding-left: 5px;
  color: #ff4646;
  content: '*';
}

.c-form dd {
  padding-top: 25px;
}

.c-form dd input,
.c-form dd textarea {
  width: 100%;
  border: none;
  font-size: 1.8rem;
  line-height: 20px;
  background-color: #a4a4a4;
}

.c-form dd input.is-error,
.c-form dd textarea.is-error {
  background-color: #ffdede;
}

.c-form dd input:focus,
.c-form dd textarea:focus {
  outline: 0;
}

.c-form dd input {
  padding: 32px 30px;
}

.c-form dd textarea {
  padding: 30px;
}

.c-form small {
  display: block;
  padding-top: 15px;
  font-size: 1.2rem;
  line-height: 14px;
}

.c-form small.error {
  color: #ff4646;
}

.c-form small.comment {
  color: #666666;
}

.c-form--focus-bdb dd input,
.c-form--focus-bdb dd textarea {
  border-bottom: 1px solid transparent;
  transition: border-bottom 0.3s;
}

.c-form--focus-bdb dd input:focus,
.c-form--focus-bdb dd textarea:focus {
  transition: none;
  border-bottom: 1px solid #000000;
}

@media (max-width: 59.99em) {
  .c-form dl {
    padding-bottom: 40px;
  }
  .c-form dd {
    padding-top: 10px;
  }
  .c-form dd input,
  .c-form dd textarea {
    font-size: 1.4rem;
    line-height: 16px;
  }
  .c-form dd input {
    padding: 16px 15px;
  }
  .c-form dd textarea {
    padding: 15px;
  }
  .c-form small {
    padding-top: 10px;
    font-size: 1.2rem;
    line-height: 14px;
  }
}

.c-select {
  position: relative;
}

.c-select:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-select:before {
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -20px;
}

.c-select select {
  width: 100%;
  border-radius: 0px;
  border: none;
  outline: none;
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
  background: none transparent;
  vertical-align: middle;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
  padding-left: 30px;
  padding-right: 60px;
  padding-top: 33px;
  padding-bottom: 27px;
  font-size: 1.8rem;
  line-height: 20px;
  color: #666666;
  border: 1px solid #dcdcdc;
}

.c-select select option {
  background-color: #fff;
}

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

.c-select select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

.c-select select option.placeholder {
  display: none;
}

.c-select.changed select {
  color: #a4a4a4;
}

@media (max-width: 59.99em) {
  .c-select select {
    padding-left: 18px;
    padding-right: 36px;
    padding-top: 20px;
    padding-bottom: 16px;
    font-size: 1.4rem;
    line-height: 16px;
  }
}

.c-upload .file {
  display: none;
}

.c-upload .add,
.c-upload .clear {
  position: relative;
  display: none;
  cursor: pointer;
  padding: 34px 80px 30px 30px;
  background-color: #000000;
  color: #ffffff;
  font-size: 2.4rem;
  line-height: 26px;
  transition: color 1s;
}

.c-upload .add.active,
.c-upload .clear.active {
  display: block;
}

.c-upload .add .small,
.c-upload .clear .small {
  position: relative;
  top: -3px;
  padding-left: 7px;
  font-size: 1.4rem;
  line-height: 16px;
}

.c-upload .add:after,
.c-upload .clear:after {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-upload .add:after,
.c-upload .clear:after {
  display: block;
  position: absolute;
  right: 40px;
  top: 50%;
  margin-top: -9px;
  font-size: 3.6rem;
  line-height: 0px;
}

.c-upload .clear {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-upload .clear:after {
  margin-top: -6px;
  right: 35px;
  transform: rotateZ(45deg);
}

@media (min-width: 60em) {
  .c-upload .add,
  .c-upload .clear {
    transition: color 1s;
  }
  .c-upload .add:hover,
  .c-upload .clear:hover {
    transition: none;
    color: #000000;
  }
}

@media (max-width: 59.99em) {
  .c-upload .add,
  .c-upload .clear {
    padding: 19px 50px 15px 20px;
    font-size: 1.6rem;
    line-height: 18px;
  }
  .c-upload .add .small,
  .c-upload .clear .small {
    top: -2px;
    font-size: 1rem;
    line-height: 12px;
  }
  .c-upload .add:after,
  .c-upload .clear:after {
    right: 20px;
    margin-top: -4px;
    font-size: 3.6rem;
    line-height: 0px;
    transform: scale(0.5);
  }
  .c-upload .clear:after {
    margin-top: -2px;
    right: 17px;
    transform: scale(0.5) rotateZ(45deg);
  }
}

.c-checkButton {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}

.c-checkButton label {
  pointer-events: none;
  position: relative;
  display: block;
  width: 100%;
  min-height: 60px;
  padding: 15px 30px 15px 60px;
  border-radius: 4px;
  background-color: #ffffff;
}

.c-checkButton label:before, .c-checkButton label:after {
  display: block;
  position: absolute;
}

.c-checkButton label:before {
  z-index: 1;
  content: '';
  left: 23px;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  border-radius: 50%;
  border: 1px solid #000000;
  background-color: #ffffff;
}

.c-checkButton label:after {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-checkButton label:after {
  z-index: 2;
  left: 28px;
  top: 50%;
  margin-top: -18px;
  color: #000000;
}

.c-checkButton label small {
  color: #888888;
  font-size: 1.1rem;
  line-height: 17px;
}

.c-checkButton input[type="radio"],
.c-checkButton input[type="checkbox"] {
  cursor: none;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
}

.c-checkButton input[type="radio"]:checked + label,
.c-checkButton input[type="checkbox"]:checked + label {
  color: #000000;
}

.c-checkButton input[type="radio"]:checked + label:before,
.c-checkButton input[type="checkbox"]:checked + label:before {
  background-color: #000000;
}

.c-checkButton input[type="radio"]:checked + label:after,
.c-checkButton input[type="checkbox"]:checked + label:after {
  color: #ffffff;
}

.c-checkButton input[type="radio"]:checked {
  pointer-events: none;
}

.c-checkButton--card label, .c-checkButton--icon label {
  text-align: center;
}

.c-checkButton--card label:before, .c-checkButton--icon label:before {
  left: 10px;
  top: 10px;
  margin-top: 0;
}

.c-checkButton--card label:after, .c-checkButton--icon label:after {
  left: 15px;
  top: 2px;
  margin-top: 0;
}

.c-checkButton--card label .p-environmentIcon, .c-checkButton--icon label .p-environmentIcon {
  display: block;
  margin: 0 auto;
}

.c-checkButton--card label img, .c-checkButton--icon label img {
  display: block;
  width: 100%;
  margin: 0 auto;
}

.c-checkButton--card label {
  padding: 35px 20px 25px 20px;
}

.c-checkButton--card label img {
  max-width: 90px;
  padding-bottom: 20px;
}

.c-checkButton--icon label {
  padding: 30px 12px 22px 12px;
}

.c-checkButton--icon label img {
  max-width: 45px;
  padding-bottom: 3px;
}

.c-checkButton--confirm {
  pointer-events: none;
}

.c-checkButton--confirm label {
  opacity: 0.5;
}

.c-checkButton--confirm label:before {
  display: none;
}

.c-checkButton--confirm label:after {
  display: none;
}

.c-checkButton--confirm input[type="radio"]:checked + label,
.c-checkButton--confirm input[type="checkbox"]:checked + label {
  opacity: 1;
  color: #000000;
}

.c-checkButton--confirm input[type="radio"]:checked + label:after,
.c-checkButton--confirm input[type="checkbox"]:checked + label:after {
  font-size: 2rem;
  line-height: 22px;
  display: block;
  color: #000000;
}

.c-checkButton--confirm.c-checkButton--icon label:after, .c-checkButton--confirm.c-checkButton--card label:after {
  left: 17px;
  top: 5px;
}

@media (min-width: 60em) {
  .c-checkButton--text input[type="radio"]:not(:checked),
  .c-checkButton--text input[type="checkbox"]:not(:checked) {
    cursor: pointer;
  }
  .c-checkButton--text input[type="radio"]:not(:checked) + label,
  .c-checkButton--text input[type="checkbox"]:not(:checked) + label {
    transition-duration: 0.2s;
    transition-property: color, background-color;
  }
  .c-checkButton--text input[type="radio"]:not(:checked):hover + label,
  .c-checkButton--text input[type="checkbox"]:not(:checked):hover + label {
    transition: none;
    color: #ffffff;
    background-color: #000000;
  }
  .c-checkButton--text input[type="radio"]:not(:checked):hover + label small,
  .c-checkButton--text input[type="checkbox"]:not(:checked):hover + label small {
    color: #000000;
  }
  .c-checkButton--card, .c-checkButton--icon {
    perspective: 500px;
  }
  .c-checkButton--card input[type="radio"] + label,
  .c-checkButton--card input[type="checkbox"] + label, .c-checkButton--icon input[type="radio"] + label,
  .c-checkButton--icon input[type="checkbox"] + label {
    z-index: 1;
    transition-duration: 0.3s;
    transition-property: transform, box-shadow;
    transition-timing-function: cubic-bezier(0.15, 0, 0, 1);
  }
  .c-checkButton--card input[type="radio"]:not(:checked),
  .c-checkButton--card input[type="checkbox"]:not(:checked), .c-checkButton--icon input[type="radio"]:not(:checked),
  .c-checkButton--icon input[type="checkbox"]:not(:checked) {
    cursor: pointer;
  }
  .c-checkButton--card input[type="radio"]:not(:checked):hover + label,
  .c-checkButton--card input[type="checkbox"]:not(:checked):hover + label, .c-checkButton--icon input[type="radio"]:not(:checked):hover + label,
  .c-checkButton--icon input[type="checkbox"]:not(:checked):hover + label {
    z-index: 2;
    transform: scale(1.01) translateX(-2px) translateY(-3px) translateZ(10px) rotateX(3deg) rotateY(-10deg) rotateZ(0deg);
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.7);
  }
}

@media (max-width: 79.99em) {
  .c-checkButton--card label {
    padding: 40px 12px 20px 12px;
  }
  .c-checkButton--card label img {
    max-width: 80px;
  }
  .c-checkButton--icon label {
    padding: 30px 10px 22px 10px;
  }
  .c-checkButton--icon label > span {
    font-size: 1.2rem;
    line-height: 14px;
  }
  .c-checkButton--icon label img {
    max-width: 45px;
  }
}

@media (max-width: 59.99em) {
  .c-checkButton label {
    min-height: 45px;
    padding: 14px 20px 13px 50px;
    line-height: 18px;
  }
  .c-checkButton label:before {
    left: 12px;
    margin-top: -10px;
  }
  .c-checkButton label:after {
    left: 18px;
    margin-top: -12px;
  }
  .c-checkButton label small {
    font-size: 1.1rem;
    line-height: 17px;
  }
  .c-checkButton--card label:before, .c-checkButton--icon label:before {
    left: 10px;
    top: 10px;
    margin-top: 0;
  }
  .c-checkButton--card label:after, .c-checkButton--icon label:after {
    left: 16px;
    top: 8px;
    margin-top: 0;
  }
  .c-checkButton--card label img, .c-checkButton--icon label img {
    padding-bottom: 3px;
  }
  .c-checkButton--card label {
    padding: 12px 10px 4px 10px;
  }
  .c-checkButton--card label img {
    max-width: 40px;
  }
  .c-checkButton--icon label {
    padding: 8px 10px 4px 10px;
  }
  .c-checkButton--icon label > span {
    font-size: 1.1rem;
    line-height: 13px;
  }
  .c-checkButton--icon label img {
    max-width: 30px;
    padding-bottom: 0;
  }
}

.c-starRating {
  font-size: 0;
  white-space: nowrap;
  position: relative;
  display: block;
  height: 74px;
  background: url("/assets/img/common/c-starRating--default.png");
  overflow: hidden;
  display: none;
}

.c-starRating i {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  z-index: 1;
  background: url("/assets/img/common/c-starRating--checked.png");
  opacity: 0;
}

.c-starRating input {
  -moz-appearance: none;
  -webkit-appearance: none;
  opacity: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  z-index: 2;
  position: relative;
  display: none;
}

.c-starRating input[type="radio"] {
  display: inline-block;
}

.c-starRating input[type="radio"]:hover {
  cursor: -webkit-grab;
  cursor: grab;
}

.c-starRating input:hover + i,
.c-starRating input:checked + i {
  opacity: 1;
}

.c-starRating.is-3levels {
  display: block;
  width: 300px;
}

.c-starRating.is-3levels i, .c-starRating.is-3levels input {
  width: 33.333333333333333%;
}

.c-starRating.is-3levels i ~ i {
  width: 66.666666666666667%;
}

.c-starRating.is-3levels i ~ i ~ i {
  width: 100%;
}

.c-starRating.is-5levels {
  display: block;
  width: 500px;
}

.c-starRating.is-5levels i, .c-starRating.is-5levels input {
  width: 20%;
}

.c-starRating.is-5levels i ~ i {
  width: 40%;
}

.c-starRating.is-5levels i ~ i ~ i {
  width: 60%;
}

.c-starRating.is-5levels i ~ i ~ i ~ i {
  width: 80%;
}

.c-starRating.is-5levels i ~ i ~ i ~ i ~ i {
  width: 100%;
}

.c-starRating--center {
  margin: 0 auto;
}

@media (max-width: 59.99em) {
  .c-starRating {
    height: 37px;
    background-size: 50px;
  }
  .c-starRating i {
    background-size: 50px;
  }
  .c-starRating.is-3levels {
    width: 150px;
  }
  .c-starRating.is-5levels {
    width: 250px;
  }
}

.c-breadcrumb {
  z-index: 11;
  position: absolute;
  left: 60px;
  top: 60px;
}

.c-breadcrumb li {
  position: relative;
  display: inline-block;
  max-width: 25vw;
  padding-right: 47px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.4rem;
  line-height: 16px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  font-weight: 300;
}

.c-breadcrumb li:after {
  content: '';
  display: block;
  position: absolute;
  right: 7px;
  top: 7px;
  width: 30px;
  height: 1px;
  background-color: #000000;
  opacity: 0.1;
}

.c-breadcrumb li:last-child {
  padding-right: 0;
  opacity: 0.3;
}

.c-breadcrumb li:last-child:after {
  display: none;
}

.c-breadcrumb li:last-child a {
  color: #000000 !important;
  cursor: default !important;
}

.c-breadcrumb a {
  pointer-events: visible;
  color: #000000;
  color: #000000;
  transition-property: color;
  transition-duration: 1s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.c-breadcrumb a:hover {
  color: #000000;
  transition-duration: 0s;
}

@media (max-width: 59.99em) {
  .c-breadcrumb a:hover {
    color: #000000 !important;
  }
}

@media (max-width: 59.99em) {
  .c-breadcrumb {
    left: auto;
    right: 20px;
    top: 55px;
  }
  .c-breadcrumb li {
    max-width: 300px;
    padding-right: 16px;
    font-size: 1rem;
    line-height: 12px;
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    font-weight: 300;
  }
  .c-breadcrumb li:after {
    content: '';
    display: block;
    position: absolute;
    right: 3px;
    top: 6px;
    width: 10px;
    height: 1px;
    background-color: #000000;
    opacity: 0.1;
  }
  .c-breadcrumb li:last-child {
    opacity: 0.3;
  }
  .c-breadcrumb li:last-child:after {
    display: none;
  }
  .c-breadcrumb li:last-child a {
    color: #000000 !important;
    cursor: default !important;
  }
  .c-breadcrumb a {
    pointer-events: visible;
    color: #000000;
    color: #000000;
    transition-property: color;
    transition-duration: 1s;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .c-breadcrumb a:hover {
    color: #000000;
    transition-duration: 0s;
  }
}

@media (max-width: 59.99em) and (max-width: 59.99em) {
  .c-breadcrumb a:hover {
    color: #000000 !important;
  }
}

@media (max-width: 79.99em) {
  .c-breadcrumb li {
    max-width: 20vw;
  }
}

@media (max-width: 37.49em) {
  .c-breadcrumb li {
    max-width: 40vw;
  }
}

@media (max-width: 23.365em) {
  .c-breadcrumb li {
    max-width: 100px;
  }
}

.c-button {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 22px 60px 22px 30px;
  background-color: #000000;
  color: #ffffff;
  text-align: left;
  line-height: 0;
}

.c-button__label {
  font-size: 1.4rem;
  line-height: 16px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
}

.c-button__label-jp {
  font-family: "EB Garamond", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "BIZ UDPMincho", "Sawarabi Mincho", "游明朝", YuMincho, "HG明朝E", serif;
  font-size: 1.2rem;
  line-height: 14px;
}

.c-button--inline {
  width: auto;
}

.c-button--arw:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-button--arw:before {
  position: absolute;
  right: 30px;
  top: 13px;
  font-size: 2rem;
  line-height: 22px;
}

@media (min-width: 60em) {
  .c-button {
    transition: background-color 0.3s;
  }
  .c-button:hover {
    transition: none;
    background-color: #000000;
  }
}

@media (max-width: 59.99em) {
  .c-button {
    padding: 22px 60px 22px 30px;
  }
  .c-button__label-jp {
    font-size: 1rem;
    line-height: 12px;
  }
}

.c-gmap {
  width: 100%;
  height: 640px;
}

.c-gmap iframe {
  width: 100%;
  height: 100%;
}

.c-gmap--grey iframe {
  filter: grayscale(1);
  transition: filter 0.8s ease;
}

@media (min-width: 60em) {
  .c-gmap--grey iframe:hover {
    filter: grayscale(0) saturate(1);
  }
}

@media (max-width: 59.99em) {
  .c-gmap {
    width: 100%;
    height: 320px;
  }
}

.c-hamburger {
  pointer-events: visible;
  position: relative;
  width: 25px;
  height: 21px;
}

.c-hamburger__line1, .c-hamburger__line2, .c-hamburger__line3 {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #a4a4a4;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition-property: all;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
  backface-visibility: hidden;
  transition-property: transform, background-color;
}

.c-hamburger__line1 {
  top: 0px;
}

.c-hamburger__line2 {
  top: 10px;
}

.c-hamburger__line3 {
  bottom: 0px;
}

.is-opened .c-hamburger__line1, .is-opened .c-hamburger__line2, .is-opened .c-hamburger__line3,
.type-close .c-hamburger__line1,
.type-close .c-hamburger__line2,
.type-close .c-hamburger__line3 {
  transition: none;
}

.is-opened .c-hamburger__line1,
.type-close .c-hamburger__line1 {
  transform: translateY(10px) rotateZ(30deg) !important;
}

.is-opened .c-hamburger__line2,
.type-close .c-hamburger__line2 {
  transform: translateX(-30px) !important;
  opacity: 0;
}

.is-opened .c-hamburger__line3,
.type-close .c-hamburger__line3 {
  transform: translateY(-10px) rotateZ(-30deg) !important;
}

.c-hamburger--2lines .c-hamburger__line2 {
  display: none !important;
}

.c-hamburger.is-white .c-hamburger__line1, .c-hamburger.is-white .c-hamburger__line2, .c-hamburger.is-white .c-hamburger__line3 {
  background-color: #ffffff;
}

.c-hamburger.is-white-important .c-hamburger__line1, .c-hamburger.is-white-important .c-hamburger__line2, .c-hamburger.is-white-important .c-hamburger__line3 {
  background-color: #ffffff !important;
}

.c-hamburger.is-black-important .c-hamburger__line1, .c-hamburger.is-black-important .c-hamburger__line2, .c-hamburger.is-black-important .c-hamburger__line3 {
  background-color: #000000 !important;
}

@media (min-width: 60em) {
  .c-hamburger:hover .c-hamburger__line1 {
    transform: translateY(20px);
  }
  .c-hamburger:hover .c-hamburger__line3 {
    transform: translateY(-20px);
  }
  .is-opened .c-hamburger:hover .c-hamburger__line1,
  .type-close .c-hamburger:hover .c-hamburger__line1 {
    transition: transform 0.5s cubic-bezier(0.15, 0, 0, 1);
    transform: translateY(10px) rotateZ(30deg) !important;
  }
  .is-opened .c-hamburger:hover .c-hamburger__line3,
  .type-close .c-hamburger:hover .c-hamburger__line3 {
    transition: transform 0.5s cubic-bezier(0.15, 0, 0, 1);
    transform: translateY(-10px) rotateZ(-210deg) !important;
  }
}

@media (max-width: 59.99em) {
  .c-hamburger {
    transform-origin: 100% 0px;
  }
}

.c-masonry {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
  -moz-column-count: 3;
       column-count: 3;
  -moz-column-gap: 0;
       column-gap: 0;
  padding: 0 35px;
  opacity: 0.999;
}

@media (max-width: 59.99em) {
  .c-masonry {
    max-width: 100%;
    margin: 0;
  }
}

.c-masonry li {
  padding: 0 35px;
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.c-masonry a {
  display: block;
  color: #000000;
}

.c-masonry__thumb {
  pointer-events: none;
  overflow: hidden;
}

.c-masonry__thumb img {
  display: block;
  width: 100%;
  transition: transform 2.5s cubic-bezier(0.15, 0, 0, 1);
  transform: scale(1) rotate(0.0001deg);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

@media (max-width: 59.99em) {
  .c-masonry__thumb img {
    transition: inherit;
  }
}

a:hover .c-masonry__thumb img {
  transform: scale(1.1) rotate(0.0001deg);
}

@media (max-width: 59.99em) {
  a:hover .c-masonry__thumb img {
    transform: scale(1) rotate(0.0001deg);
  }
}

.c-masonry__labels {
  padding-top: 25px;
  padding-bottom: 50px;
  transition: color 1s;
}

@media (max-width: 79.99em) {
  .c-masonry {
    -moz-column-count: 2;
         column-count: 2;
  }
}

@media (max-width: 59.99em) {
  .c-masonry {
    -moz-column-count: 1;
         column-count: 1;
    padding: 0 40px;
  }
  .c-masonry li {
    padding: 0;
  }
  .c-masonry__labels {
    padding-left: 40px;
    padding-right: 40px;
  }
}

.c-pulldown {
  position: relative;
  width: 100%;
  height: 72px;
}

.c-pulldown__inner {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 72px;
  border: 2px solid #000;
  overflow: hidden;
  transition: height 0.3s cubic-bezier(0.15, 0, 0, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background-color: #ffffff;
}

.c-pulldown__label {
  display: block;
  width: 100%;
  height: 70px;
  padding: 0 28px;
  border-bottom: 2px solid #000;
  font-size: 1.8rem;
  line-height: 20px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  letter-spacing: 1px;
  text-align: left;
}

.c-pulldown__label:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.c-pulldown__label:before {
  z-index: 2;
  position: absolute;
  right: 28px;
  top: 22px;
  font-size: 1.4rem;
  line-height: 16px;
}

.c-pulldown__label span {
  z-index: 2;
  position: relative;
}

.c-pulldown__select {
  width: 100%;
  background-color: #ffffff;
}

.c-pulldown__select a {
  display: block;
  width: 100%;
  height: 70px;
  padding: 0 28px;
  font-size: 1.8rem;
  line-height: 20px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  letter-spacing: 1px;
}

.c-pulldown__select a:hover {
  background-color: #a4a4a4;
}

.c-pulldown span {
  line-height: 70px;
  vertical-align: middle;
  display: inline-block;
}

.c-pulldown.opened .c-pulldown__label:before {
  transform: translateY(7px) rotateX(180deg);
}

@media (max-width: 59.99em) {
  .c-pulldown {
    height: 52px;
  }
  .c-pulldown__inner {
    height: 52px;
  }
  .c-pulldown__label {
    height: 50px;
    padding: 0 18px;
    font-size: 1.2rem;
    line-height: 14px;
  }
  .c-pulldown__label:before {
    right: 18px;
    top: 14px;
    font-size: 1.2rem;
    line-height: 14px;
  }
  .c-pulldown__select a {
    height: 50px;
    padding: 0 18px;
    font-size: 1.2rem;
    line-height: 14px;
  }
  .c-pulldown__select a:hover {
    background-color: transparent;
  }
  .c-pulldown span {
    line-height: 50px;
  }
}

.c-promptY {
  position: relative;
  width: 20px;
  height: 60px;
  overflow: hidden;
}

.c-promptY__line {
  position: absolute;
  bottom: 0;
  right: 9px;
  width: 1px;
  height: 60px;
  background-color: #000000;
  opacity: 0.1;
}

.c-promptY__dot {
  position: absolute;
  bottom: 0;
  right: 8.5px;
  border-radius: 50%;
  -webkit-animation: c-promptY__dot_anim 1s infinite cubic-bezier(0.15, 0, 0, 1);
          animation: c-promptY__dot_anim 1s infinite cubic-bezier(0.15, 0, 0, 1);
}

@-webkit-keyframes c-promptY__dot_anim {
  0% {
    transform: translateY(-63px);
  }
  100% {
    transform: translateY(10px);
  }
}

@keyframes c-promptY__dot_anim {
  0% {
    transform: translateY(-63px);
  }
  100% {
    transform: translateY(10px);
  }
}

.c-promptY--white .c-promptY__line {
  background-color: #ffffff;
}

@media (min-width: 60em) {
  .c-promptY:hover .c-promptY__dot {
    background-color: #000000;
    -webkit-animation: c-promptY__dot_anim 0.5s infinite cubic-bezier(0.15, 0, 0, 1);
            animation: c-promptY__dot_anim 0.5s infinite cubic-bezier(0.15, 0, 0, 1);
  }
}

button.c-promptY {
  cursor: pointer;
  pointer-events: auto;
}

.c-spFilterNav__select li a {
  display: inline-block;
  color: #999999;
}

.c-spFilterNav__select li.is-active a {
  cursor: default;
  pointer-events: none;
  color: #000000;
}

@media (min-width: 60em) {
  .c-spFilterNav {
    width: calc(100% + 70px);
  }
  .c-spFilterNav__select {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .c-spFilterNav__select li {
    line-height: 28px;
  }
}

@media (max-width: 59.99em) {
  .c-spFilterNav {
    position: relative;
  }
  .c-spFilterNav__toggle {
    display: block;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: left;
    font-family: 'EB Garamond', serif;
    font-weight: 400;
  }
  .c-spFilterNav__toggle:before {
    font-family: "iconfont";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    text-decoration: none;
    text-transform: none;
    content: "";
  }
  .c-spFilterNav__toggle:before {
    position: absolute;
    right: 0;
    top: 19px;
  }
  .c-spFilterNav__modal {
    pointer-events: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: none;
  }
  .c-spFilterNav__modal.is-active {
    display: block;
  }
  .c-spFilterNav__modal:before {
    font-family: "iconfont";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    text-decoration: none;
    text-transform: none;
    content: "";
  }
  .c-spFilterNav__modal:before {
    z-index: 6999;
    position: absolute;
    right: 1px;
    top: 16px;
    transform: rotateZ(180deg);
  }
  .c-spFilterNav__bg {
    pointer-events: auto;
    z-index: 6997;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
  }
  .c-spFilterNav__select {
    z-index: 6998;
    position: relative;
    top: 10px;
  }
  .c-spFilterNav__select li {
    padding-bottom: 3px;
  }
  .c-spFilterNav__select li a {
    pointer-events: auto;
  }
}

@media (min-width: 60em) {
  .c-colorHv {
    transition: color 1s;
  }
  .c-colorHv:hover {
    color: #000000;
    transition: none;
  }
}

.is-static .c-noise--normal:before {
  background-image: url("/assets/img/common/c-noise--normal.png") !important;
}

.is-static .c-noise--hard:before {
  background-image: url("/assets/img/common/c-noise--hard.png") !important;
  opacity: 1;
}

.c-noise {
  pointer-events: none;
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.c-noise:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.c-noise--normal:before {
  background-image: url("/assets/img/common/c-noise--normal--apng.png");
  background-repeat: repeat;
  background-position: left top;
  opacity: 1;
}

.c-noise--hard:before {
  background-image: url("/assets/img/common/c-noise--hard--apng.png");
  background-repeat: repeat;
  background-position: left top;
  opacity: 0.7;
}

.c-slideBgColor {
  position: relative;
  display: inline-block;
  line-height: 0;
}

.c-slideBgColor span {
  z-index: 2;
  position: relative;
}

.c-slideBgColor:before {
  z-index: 1;
  content: "";
  display: block;
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  width: 0%;
  height: 100%;
  background-color: #000000;
  transition: width 0.4s cubic-bezier(0.15, 0, 0, 1);
}

.c-slideBgColor:hover:before {
  right: auto;
  left: 0;
  width: 100%;
}

@media (max-width: 59.99em) {
  .c-slideBgColor:before {
    transition: none;
  }
  .c-slideBgColor:hover:before {
    width: 0%;
  }
}

.c-wordByWord span {
  display: inline-block;
}

.c-wordByWord span.outer {
  overflow: hidden;
}

.c-wordByWord span.inner {
  transition-property: transform, opacity;
  transition-duration: 0.7s;
  transition-timing-function: cubic-bezier(0, 0.7, 0, 1), ease;
  transform-origin: left bottom;
  transform: rotateZ(90deg) skew(180deg, 0deg) translate(-50px, 100px);
  opacity: 0;
}

.c-wordByWord .outer:nth-child(1) .inner {
  transition-delay: 0.05s;
}

.c-wordByWord .outer:nth-child(2) .inner {
  transition-delay: 0.1s;
}

.c-wordByWord .outer:nth-child(3) .inner {
  transition-delay: 0.15s;
}

.c-wordByWord .outer:nth-child(4) .inner {
  transition-delay: 0.2s;
}

.c-wordByWord .outer:nth-child(5) .inner {
  transition-delay: 0.25s;
}

.c-wordByWord .outer:nth-child(6) .inner {
  transition-delay: 0.3s;
}

.c-wordByWord .outer:nth-child(7) .inner {
  transition-delay: 0.35s;
}

.c-wordByWord .outer:nth-child(8) .inner {
  transition-delay: 0.4s;
}

.c-wordByWord .outer:nth-child(9) .inner {
  transition-delay: 0.45s;
}

.c-wordByWord .outer:nth-child(10) .inner {
  transition-delay: 0.5s;
}

.c-wordByWord .outer:nth-child(11) .inner {
  transition-delay: 0.55s;
}

.c-wordByWord .outer:nth-child(12) .inner {
  transition-delay: 0.6s;
}

.c-wordByWord .outer:nth-child(13) .inner {
  transition-delay: 0.65s;
}

.c-wordByWord .outer:nth-child(14) .inner {
  transition-delay: 0.7s;
}

.c-wordByWord .outer:nth-child(15) .inner {
  transition-delay: 0.75s;
}

.c-wordByWord .outer:nth-child(16) .inner {
  transition-delay: 0.8s;
}

.c-wordByWord .outer:nth-child(17) .inner {
  transition-delay: 0.85s;
}

.c-wordByWord .outer:nth-child(18) .inner {
  transition-delay: 0.9s;
}

.c-wordByWord .outer:nth-child(19) .inner {
  transition-delay: 0.95s;
}

.c-wordByWord .outer:nth-child(20) .inner {
  transition-delay: 1s;
}

.c-wordByWord .outer:nth-child(21) .inner {
  transition-delay: 1.05s;
}

.c-wordByWord .outer:nth-child(22) .inner {
  transition-delay: 1.1s;
}

.c-wordByWord .outer:nth-child(23) .inner {
  transition-delay: 1.15s;
}

.c-wordByWord .outer:nth-child(24) .inner {
  transition-delay: 1.2s;
}

.c-wordByWord .outer:nth-child(25) .inner {
  transition-delay: 1.25s;
}

.c-wordByWord .outer:nth-child(26) .inner {
  transition-delay: 1.3s;
}

.c-wordByWord .outer:nth-child(27) .inner {
  transition-delay: 1.35s;
}

.c-wordByWord .outer:nth-child(28) .inner {
  transition-delay: 1.4s;
}

.c-wordByWord .outer:nth-child(29) .inner {
  transition-delay: 1.45s;
}

.c-wordByWord .outer:nth-child(30) .inner {
  transition-delay: 1.5s;
}

.c-wordByWord.is-active span.inner {
  transform: rotateZ(0deg) skew(0deg, 0deg) translate(0px, 0px);
  opacity: 1;
}

.c-circleCursor {
  position: relative;
  pointer-events: none;
}

.c-circleCursor__chaser {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #000000;
  transition-property: transform, opacity;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.15, 0, 0, 1);
  text-align: center;
}

.c-circleCursor__chaser.is-active {
  transform: scale(5);
  opacity: 0.2;
}

@media (max-width: 59.99em) {
  .c-circleCursor {
    display: none;
  }
}

.c-doubleCircleCursor {
  position: relative;
  pointer-events: none;
}

@media (min-width: 60em) {
  .c-doubleCircleCursor__cursor, .c-doubleCircleCursor__chaser {
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
  .c-doubleCircleCursor__cursor {
    width: 6px;
    height: 6px;
    background-color: #a4a4a4;
    z-index: 1001;
    cursor: none;
  }
  .c-doubleCircleCursor__chaser {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    border: 1px solid #a4a4a4;
    z-index: 1000;
    transition-property: transform;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    text-align: center;
  }
  .c-doubleCircleCursor.type-hover .c-doubleCircleCursor__cursor {
    transform: rotate(0.0001deg) scale(1.6666666667);
  }
  .c-doubleCircleCursor.type-hover .c-doubleCircleCursor__chaser {
    transform: rotate(0.0001deg) scale(1.625);
  }
  .c-doubleCircleCursor.type-close .c-doubleCircleCursor__cursor {
    width: 31px;
    height: 31px;
    background-color: transparent;
    transform: rotate(0.0001deg) translateX(-12px) translateY(-12px) rotateZ(45deg);
  }
  .c-doubleCircleCursor.type-close .c-doubleCircleCursor__cursor:before, .c-doubleCircleCursor.type-close .c-doubleCircleCursor__cursor:after {
    content: '';
    display: block;
    position: absolute;
    background-color: #a4a4a4;
  }
  .c-doubleCircleCursor.type-close .c-doubleCircleCursor__cursor:before {
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
  }
  .c-doubleCircleCursor.type-close .c-doubleCircleCursor__cursor:after {
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
  }
  .c-doubleCircleCursor.type-drug .c-doubleCircleCursor__cursor {
    width: 31px;
    height: 31px;
    background-color: transparent;
    transform: rotate(0.0001deg) translateX(-15px) translateY(-2px);
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 13px;
  }
  .c-doubleCircleCursor.type-drug .c-doubleCircleCursor__cursor:before {
    content: 'DRUG';
    display: block;
    position: absolute;
    left: 6px;
    top: 10px;
    width: 50px;
    height: 19px;
    text-align: center;
  }
  .c-doubleCircleCursor.type-drug .c-doubleCircleCursor__cursor:after {
    content: '';
    display: block;
    position: absolute;
    left: -50px;
    top: 10px;
    width: 152px;
    height: 13px;
    background-image: url("/assets/img/common/c-doubleCircleCursor--type-drug.svg");
    background-repeat: no-repeat;
    background-position: left top;
  }
  .c-doubleCircleCursor.type-drug .c-doubleCircleCursor__chaser {
    width: 100px;
    height: 100px;
  }
  .c-doubleCircleCursor.type-scroll:not(.type-close):not(.type-default):not(.type-hover) .c-doubleCircleCursor__cursor {
    background-color: transparent;
    transform: rotate(0.0001deg) translateX(-15px) translateY(-2px);
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 13px;
  }
  .c-doubleCircleCursor.type-scroll:not(.type-close):not(.type-default):not(.type-hover) .c-doubleCircleCursor__cursor:before {
    content: 'SCROLL';
    display: block;
    position: absolute;
    width: 50px;
  }
  .c-doubleCircleCursor.type-scroll:not(.type-close):not(.type-default):not(.type-hover) .c-doubleCircleCursor__cursor:after {
    content: '';
    display: block;
    position: absolute;
    left: 18px;
    top: 20px;
    width: 1px;
    height: 40px;
    background-color: #a4a4a4;
    -webkit-animation: cursor_type_scroll_attention_loop_y 1.5s infinite normal;
            animation: cursor_type_scroll_attention_loop_y 1.5s infinite normal;
  }
  @-webkit-keyframes cursor_type_scroll_attention_loop_y {
    0% {
      opacity: 1.0;
      transform: translateY(0px);
    }
    15% {
      opacity: 0.3;
    }
    45% {
      opacity: 1.0;
    }
    75% {
      opacity: 0.3;
      transform: translateY(15px);
    }
    99.9% {
      opacity: 1.0;
      transform: translateY(15px);
    }
    100% {
      opacity: 1.0;
      transform: translateY(0px);
    }
  }
  @keyframes cursor_type_scroll_attention_loop_y {
    0% {
      opacity: 1.0;
      transform: translateY(0px);
    }
    15% {
      opacity: 0.3;
    }
    45% {
      opacity: 1.0;
    }
    75% {
      opacity: 0.3;
      transform: translateY(15px);
    }
    99.9% {
      opacity: 1.0;
      transform: translateY(15px);
    }
    100% {
      opacity: 1.0;
      transform: translateY(0px);
    }
  }
  .c-doubleCircleCursor.type-scroll:not(.type-close):not(.type-default):not(.type-hover) .c-doubleCircleCursor__cursor.is-active {
    background-color: #a4a4a4;
    transform: rotate(0.0001deg) scale(1.6666666667);
  }
  .c-doubleCircleCursor.type-scroll:not(.type-close):not(.type-default):not(.type-hover) .c-doubleCircleCursor__cursor.is-active:before, .c-doubleCircleCursor.type-scroll:not(.type-close):not(.type-default):not(.type-hover) .c-doubleCircleCursor__cursor.is-active:after {
    display: none;
  }
}

.c-verticalSteps {
  position: relative;
  width: 1px;
  height: 400px;
}

.c-verticalSteps__indicator {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 100%;
}

.c-verticalSteps__indicator:before {
  z-index: 1;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  opacity: 0.1;
}

.c-verticalSteps__indicator__progress {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0%;
  background-color: #000000;
}

.c-verticalSteps__nums {
  z-index: 2;
  position: absolute;
  left: 15px;
  top: 0;
  height: 100%;
}

.c-verticalSteps__nums li {
  position: absolute;
  left: 0;
  width: 40px;
  height: 40px;
  padding-top: 5px;
  text-align: center;
}

.c-verticalSteps__nums li:nth-child(1) {
  top: 0%;
}

.c-verticalSteps__nums li:nth-child(2) {
  top: 33.333333333333333%;
}

.c-verticalSteps__nums li:nth-child(3) {
  top: 66.666666666666667%;
}

.c-verticalSteps__nums li:nth-child(4) {
  top: 100%;
}

.c-verticalSteps__nums li:before, .c-verticalSteps__nums li:after {
  content: '';
  display: block;
  position: absolute;
}

.c-verticalSteps__nums li:before {
  left: -17px;
  top: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #ffffff;
}

.c-verticalSteps__nums li:after {
  left: 0;
  top: -15px;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid #ffffff;
  opacity: 0;
  transform: rotateY(90deg);
  transition-property: opacity, transform;
  transition-duration: 0.4s;
}

.c-verticalSteps__nums li span {
  position: relative;
  top: -15px;
}

.c-verticalSteps__nums li.is-active:after {
  opacity: 0.4;
  transform: rotateY(0deg);
}

.c-verticalSteps__nums li.is-hidden:after {
  opacity: 0;
  transform: rotateY(90deg);
}

@media (max-width: 59.99em) {
  .c-verticalSteps {
    height: 200px;
  }
  .c-verticalSteps__nums {
    left: 10px;
  }
  .c-verticalSteps__nums li {
    width: 23px;
    height: 23px;
  }
  .c-verticalSteps__nums li:before {
    left: -12px;
  }
  .c-verticalSteps__nums li:after {
    top: -8px;
  }
  .c-verticalSteps__nums li span {
    font-size: 1rem;
    line-height: 12px;
    letter-spacing: 0px;
  }
}

.c-nav__content {
  display: table;
}

.c-nav__content__middle {
  position: relative;
  z-index: 10;
  display: table-cell;
  vertical-align: middle;
}

.c-logo {
  pointer-events: visible;
  position: relative;
  display: inline-block;
}

.c-logo img {
  width: 100%;
}

.c-logo__black, .c-logo__white {
  transition: opacity 0.2s;
}

.c-logo__white {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}

.c-logo.is-disable-hover {
  cursor: default;
}

.c-logo.is-white .c-logo__black {
  opacity: 0;
}

.c-logo.is-white .c-logo__white {
  opacity: 1;
}

.c-logo.is-white-important .c-logo__black {
  opacity: 0 !important;
}

.c-logo.is-white-important .c-logo__white {
  opacity: 1 !important;
}

.c-logo.is-black-important .c-logo__black {
  opacity: 1 !important;
}

.c-logo.is-black-important .c-logo__white {
  opacity: 0 !important;
}

.c-logo.is-fixed {
  position: fixed;
}

.c-pagetop {
  color: #ffffff;
  transition: all 0.8s cubic-bezier(0.15, 0, 0, 1);
  transform: translateY(0) rotateX(0) rotateY(0);
  pointer-events: none !important;
}

.c-pagetop.is-active {
  pointer-events: auto !important;
  color: #000000;
  transform: translateY(10px) rotateX(180deg) rotateY(360deg);
}

.js-all {
  height: 100%;
  overflow: inherit;
}

.js-all.fixed {
  overflow: hidden;
}

.js-article.js-inertia {
  overflow: hidden;
}

.js-article.is-hidden {
  pointer-events: none !important;
  opacity: 0 !important;
}

picture.js-fitimg-parent {
  height: 100%;
}

.js-fitimg {
  position: absolute;
  display: block;
}

.js-fitimg.cropped-x {
  top: 0 !important;
  width: auto;
  height: 100%;
}

.js-fitimg.cropped-y {
  left: 0 !important;
  width: 100%;
  height: auto;
}

.js-fitimg-parent {
  position: relative;
  overflow: hidden;
}

.js-guide {
  visibility: hidden;
}

.js-guide.is-active {
  visibility: visible;
}

.js-slideIn {
  line-height: 0;
  transition: opacity 0.5s cubic-bezier(0.15, 0, 0, 1);
  opacity: 0;
}

.js-slideIn .js-slideIn__inner {
  display: inline-block;
  width: 100%;
  height: 100%;
  transition: transform 1.4s cubic-bezier(0.15, 0, 0, 1);
  transform: translateY(100px);
}

.js-slideIn.is-active {
  transition: opacity 0.5s cubic-bezier(0.15, 0, 0, 1);
  opacity: 1;
}

.js-slideIn.is-active .js-slideIn__inner {
  transition: transform 1.2s cubic-bezier(0.15, 0, 0, 1);
  transform: translateY(0px);
}

.js-smScrollFire.js-smScrollFire--fadeUp {
  transition-duration: 0.5s;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0.15, 0, 0, 1);
  transform: translateY(50px);
  opacity: 0;
}

.js-smScrollFire.js-smScrollFire--fadeUp.is-active {
  transition-duration: 1s;
  transform: translateY(0px);
  opacity: 1;
}

.js-smScrollFire.js-smScrollFire--rotateY {
  transition-duration: 0.2s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
  transform: rotateX(45deg) rotateY(90deg);
}

.js-smScrollFire.js-smScrollFire--rotateY.is-active {
  transition-duration: 1.5s;
  transition-timing-function: cubic-bezier(0.15, 0, 0, 1);
  transform: rotateX(0deg) rotateY(0deg);
}

.js-smScrollFire.js-smScrollFire--zoomIn {
  transition-duration: 0.2s;
  transition-property: transform, opacity;
  transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
  transform: scale(0.3);
  opacity: 0;
}

@media (max-width: 59.99em) {
  .js-smScrollFire.js-smScrollFire--zoomIn {
    transition-property: opacity;
  }
}

.js-smScrollFire.js-smScrollFire--zoomIn.is-active {
  transition-duration: 3s;
  transition-timing-function: cubic-bezier(0.15, 0, 0, 1);
  transform: scale(1);
  opacity: 1;
}

.js-navCurrent li.is-active a {
  color: #000000;
  pointer-events: none;
}

.js-textEffect {
  opacity: 0;
  perspective: 500px;
  display: inline-block;
}

.js-textEffect.is-active {
  opacity: 1;
}

.js-textEffect__char {
  display: inline-block;
  white-space: pre-wrap;
  transition: none;
  transition-property: opacity;
  transition-duration: 0.3s;
  transition-timing-function: linear;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  opacity: 0;
}

.js-textEffect__char.is-fadein {
  transition-duration: 1s;
  opacity: 1;
}

.js-distortionText {
  position: relative;
}

.js-distortionText canvas {
  z-index: 2;
  position: relative;
}

.js-distortionText__data {
  z-index: 1;
  position: absolute;
}

.js-distortionText__data.is-hidden {
  opacity: 0;
}

.js-toggleLang {
  position: relative;
  display: block;
  height: auto;
}

.js-toggleLang > li {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-timing-function: linear;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.js-toggleLang > li.is-active {
  opacity: 1;
}

.js-alwaysTurnSlide {
  display: block;
  transition: opacity 1s;
}

.js-alwaysTurnSlide li {
  padding: 0 1px;
}

.js-alwaysTurnSlide li img {
  display: block;
  width: 100%;
}

.js-alwaysTurnSlide li span {
  display: block;
}

.js-alwaysTurnSlide.pause {
  display: none;
  transition: none;
  opacity: 0;
}

.p-bg {
  background-color: #ffffff;
}

.p-dummy__grid__txt {
  padding: 5px 0;
  background-color: #000000;
  color: #ffffff;
  font-size: 1rem;
  line-height: 16px;
  text-align: center;
}

.p-dummy__grid .c-grid__col {
  padding-bottom: 70px;
}

.p-dummy__block {
  position: relative;
  width: 100%;
  height: 100px;
  margin-bottom: 1px;
  background-color: #000000;
  color: #ffffff;
  text-align: center;
  display: table;
}

.p-dummy__block span {
  display: table-cell;
  vertical-align: middle;
}

.p-dummy figcaption {
  font-size: 1.1rem;
  line-height: 13px;
}

@media (max-width: 59.99em) {
  .p-dummy__grid .c-grid__col {
    padding-bottom: 10px;
  }
}

.p-fv__spell {
  display: flex;
  align-items: center;
  z-index: 11;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  min-height: 100vh;
  padding: 70px 140px;
  opacity: 0;
}

.p-fv__spell.is-active {
  opacity: 1;
}

.p-fv__spell__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/top/t-top__spell.jpg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
}

.p-fv__spell__text {
  font-size: 3.5vw;
  line-height: 4vw;
  mix-blend-mode: hard-light;
  color: #ffffff;
}

.p-fv__spell__text.js-textEffect.is-active {
  opacity: 0.3 !important;
}

@media (max-width: 59.99em) {
  .p-fv__spell {
    padding: 40px 40px;
  }
  .p-fv__spell__text {
    font-size: 2rem;
    line-height: 25px;
  }
}

.js-fv__video.is-hidden {
  opacity: 0;
}

.js-nav.is-opened .p-gnav {
  pointer-events: visible;
}

.p-gnav {
  z-index: 2;
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  pointer-events: none;
}

.p-gnav__scroller {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 700px;
}

.p-gnav__content {
  z-index: 2;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 700px;
}

@media (max-width: 59.99em) {
  .p-gnav {
    min-height: auto;
  }
  .p-gnav__scroller {
    display: none;
  }
  .p-gnav__content {
    position: relative;
    left: auto;
    top: auto;
    min-height: auto;
  }
}

.p-hr {
  border-top: none;
  position: relative;
  width: 100%;
  height: 1px;
  background-color: #000000;
}

a.p-icon, button.p-icon {
  cursor: pointer;
}

.p-logo--header {
  position: fixed;
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform: rotate(0.0001deg) translateY(-150px);
}

.p-logo--header.is-active {
  transform: rotate(0.0001deg) translateY(0px);
}

.p-logo--curtains {
  position: relative;
  width: 590px;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.p-logo--curtains > img {
  width: 100%;
}

.p-logo--curtains .p-logo {
  position: relative;
}

.p-logo--curtains .p-logo__canvas {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.p-logo--curtains .p-logo__plane {
  position: relative;
}

.p-logo--curtains .p-logo__plane > img {
  display: none;
}

.p-logo--curtains .p-logo__plane {
  width: 590px;
  height: 132px;
}

@media (max-width: 59.99em) {
  .p-logo--curtains {
    width: 298px;
  }
  .p-logo--curtains .p-logo__plane {
    width: 298px;
    height: 67px;
  }
}

@media (max-width: 23.365em) {
  .p-logo--curtains {
    width: 198px;
  }
}

.p-nav__content, .p-nav__bg {
  right: 0;
  top: 0;
  transition-delay: 0.15s;
}

.p-nav__mask {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition-duration: 0.7s;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform: rotate(0.0001deg) rotateY(90deg);
}

.p-nav__size {
  display: table;
  position: absolute;
  right: 0;
  top: 0;
}

.p-nav__noise {
  z-index: 2 !important;
  opacity: 0.5;
}

.p-nav.is-opened .p-nav__content, .p-nav.is-opened .p-nav__bg {
  transition-delay: 0s;
}

.p-nav.is-opened .p-nav__content {
  transition-duration: 0s;
}

.p-nav.is-opened .p-nav__mask {
  transform: rotate(0.0001deg) rotateY(0deg);
}

@media (max-width: 59.99em) {
  .p-nav__toggle {
    right: 25px;
    top: 25px;
  }
}

@media all and (-ms-high-contrast: none) {
  .p-nav__content, .p-nav__mask, .p-nav__size, .p-nav__bg {
    left: 0;
    right: auto !important;
    transition: none !important;
  }
}

.p-pagetop {
  cursor: pointer;
  position: relative;
}

.p-circleLoading:before {
  background-color: #ffffff;
}

.p-circleLoading__fill-base {
  background-color: #e6e6e6 !important;
}

.p-circleLoading__fill-center {
  background-color: #ffffff !important;
}

.p-circleLoading__indicator__fill:before {
  background-color: #e6e6e6 !important;
}

.p-circleLoading__indicator__fill:after {
  background-color: #ffffff !important;
}

.p-circleLoading__indicator__mask:before {
  background-color: #ffffff !important;
}

.p-circleLoading.is-fifty .p-circleLoading__indicator__mask:before {
  background-color: #e6e6e6 !important;
}

@media screen and (orientation: landscape) {
  body.p-landscape.isnt-supported {
    pointer-events: none !important;
    position: relative;
  }
  body.p-landscape.isnt-supported:before, body.p-landscape.isnt-supported:after {
    content: '';
    display: block;
    z-index: 9996;
    position: fixed;
  }
  body.p-landscape.isnt-supported:before {
    left: 0;
    top: -50%;
    width: 100%;
    height: 200%;
    background: #ffffff;
  }
  body.p-landscape.isnt-supported:after {
    left: 50%;
    top: 50%;
    width: 213px;
    height: 120px;
    margin-left: -106.5px;
    margin-top: -60px;
    background-image: url("/assets/img/common/p-landscape.png");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
  }
}

.p-title--about, .p-title--readings {
  position: relative;
  height: 160px;
}

.p-title--about canvas, .p-title--readings canvas {
  position: absolute;
  top: 0;
}

.p-title--about canvas {
  left: -5px;
}

.p-title--about.static {
  height: auto;
  font-size: 13.5rem;
  line-height: 130px;
}

.p-title--readings canvas {
  left: 0;
}

.p-title--readings.static {
  height: auto;
  font-size: 12rem;
  line-height: 122px;
}

@media (max-width: 59.99em) {
  .p-title--about, .p-title--readings {
    height: 70px;
  }
  .p-title--about.line2, .p-title--readings.line2 {
    top: 0;
  }
  .p-title--about.u-hide-pc span, .p-title--readings.u-hide-pc span {
    font-size: 6rem;
    line-height: 62px;
  }
  .p-title--about.static, .p-title--readings.static {
    font-size: 6.5rem;
    line-height: 65px;
  }
  .p-title--about canvas {
    left: 0;
  }
  .p-title--readings canvas {
    left: 0;
  }
}

.p-button--en, .p-button--jp {
  pointer-events: auto;
  position: relative;
  width: 50px;
  height: 50px;
  font-size: 1.4rem;
  line-height: 16px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  color: #a4a4a4;
  transition: color 0.3s;
  text-align: center;
}

.p-button--en:before, .p-button--jp:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #a4a4a4;
  transition: border-color 0.3s;
  border-radius: 50px;
  opacity: 0.6;
}

.p-button--en.is-active, .p-button--jp.is-active {
  pointer-events: none;
}

.p-button--en.is-active:before, .p-button--jp.is-active:before {
  border: none;
  background-color: #a4a4a4;
  transition: background-color 0.3s;
  opacity: 0.3;
}

@media (min-width: 60em) {
  .p-button--en:before, .p-button--jp:before {
    transition-property: transform;
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .p-button--en:hover:before, .p-button--jp:hover:before {
    transform: rotate(0.0001deg) scale(1.2);
  }
}

@media (max-width: 59.99em) {
  .p-button--en, .p-button--jp {
    display: inline-block;
    width: auto;
    height: auto;
    font-size: 1.5rem;
    line-height: 17px;
    opacity: 0.3;
  }
  .p-button--en:before, .p-button--jp:before {
    display: none;
  }
  .p-button--en.is-active, .p-button--jp.is-active {
    opacity: 1;
  }
}

@media (min-width: 60em) {
  .is-white-pc .p-button--en, .is-white-pc .p-button--jp {
    color: #ffffff;
  }
  .is-white-pc .p-button--en:before, .is-white-pc .p-button--jp:before {
    border: 1px solid #ffffff;
  }
  .is-white-pc .p-button--en.is-active:before, .is-white-pc .p-button--jp.is-active:before {
    background-color: #ffffff;
  }
}

@media (max-width: 59.99em) {
  .is-white-sp .p-button--en, .is-white-sp .p-button--jp {
    color: #ffffff;
  }
}

@media (min-width: 60em) {
  .p-cursor__cursor {
    width: 10px;
    height: 10px;
    transition-property: all;
    transition-duration: 1.5s;
    transition-timing-function: cubic-bezier(0, 0.7, 0, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .p-cursor__chaser {
    width: 186px;
    height: 186px;
    border: none;
    transition-property: transform, opacity;
    opacity: 0.3;
    background-image: url("/assets/img/layout/c-doubleCircleCursor__chaser.png");
    background-repeat: no-repeat;
    background-position: left top;
    transform: rotate(0.0001deg) scale(0.5);
  }
  .p-cursor.type-hover .p-cursor__cursor {
    background-color: #000000;
    transform: rotate(0.0001deg) scale(6);
  }
  .p-cursor.type-hover .p-cursor__chaser {
    opacity: 1;
    -webkit-animation-name: cursor_opacity_loop_anim;
            animation-name: cursor_opacity_loop_anim;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
            animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  @-webkit-keyframes cursor_opacity_loop_anim {
    0% {
      transform: rotate(0.0001deg) scale(1);
    }
    50% {
      transform: rotate(0.0001deg) scale(0.95);
    }
    100% {
      transform: rotate(0.0001deg) scale(1);
    }
  }
  @keyframes cursor_opacity_loop_anim {
    0% {
      transform: rotate(0.0001deg) scale(1);
    }
    50% {
      transform: rotate(0.0001deg) scale(0.95);
    }
    100% {
      transform: rotate(0.0001deg) scale(1);
    }
  }
}

.p-pcNav__list > li {
  display: inline-block;
  padding: 0 7px;
}

.p-pcNav__list > li > a,
.p-pcNav__list > li > button {
  display: block;
  font-size: 1.8rem;
  line-height: 20px;
  font-family: 'EB Garamond', serif;
  font-weight: 600;
}

.p-pcNav__list > li > a.ig,
.p-pcNav__list > li > button.ig {
  position: relative;
  top: 5px;
}

.p-pcNav__list > li > a.ig:before,
.p-pcNav__list > li > button.ig:before {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.p-pcNav__list > li > a.ig:before,
.p-pcNav__list > li > button.ig:before {
  font-size: 2.3rem;
  line-height: 25px;
}

.p-pcNav__list > li.is-disabled > a,
.p-pcNav__list > li.is-disabled > button {
  pointer-events: none;
  opacity: 0.3;
}

.p-pcNav.is-white .p-pcNav__list > li > a,
.p-pcNav.is-white .p-pcNav__list > li > button {
  color: #ffffff;
}

.is-opened .p-spNav__list > li > a,
.is-opened .p-spNav__list > li > button {
  pointer-events: visible;
}

.is-opened .p-spNav__list > li.is-disabled > a,
.is-opened .p-spNav__list > li.is-disabled > button {
  pointer-events: none;
  opacity: 0.3;
}

.p-spNav__list > li {
  width: 100%;
  text-align: center;
}

.p-spNav__list > li > a,
.p-spNav__list > li > button {
  display: inline-block;
  width: 100%;
  padding: 20px 0;
  font-size: 3rem;
  line-height: 32px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
}

.u-normal {
  font-weight: normal;
}

.u-bold {
  font-weight: bold;
}

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

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

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

.u-capitalize {
  text-transform: capitalize;
}

.u-uppercase {
  text-transform: uppercase;
}

.u-lowercase {
  text-transform: lowercase;
}

.u-preline {
  white-space: pre-line;
}

.u-spacing0 {
  letter-spacing: 0px;
}

.u-spacing1 {
  letter-spacing: 1px;
}

.u-spacing2 {
  letter-spacing: 2px;
}

.u-spacing3 {
  letter-spacing: 3px;
}

.u-spacing4 {
  letter-spacing: 4px;
}

.u-spacing5 {
  letter-spacing: 5px;
}

@media (min-width: 60em) {
  .u-preline-pc {
    white-space: pre-line;
  }
  .u-spacing0-pc {
    letter-spacing: 0px;
  }
  .u-spacing1-pc {
    letter-spacing: 1px;
  }
  .u-spacing2-pc {
    letter-spacing: 2px;
  }
  .u-spacing3-pc {
    letter-spacing: 3px;
  }
  .u-spacing4-pc {
    letter-spacing: 4px;
  }
  .u-spacing5-pc {
    letter-spacing: 5px;
  }
}

@media (max-width: 59.99em) {
  .u-preline-sp {
    white-space: pre-line;
  }
  .u-spacing0-sp {
    letter-spacing: 0px;
  }
  .u-spacing1-sp {
    letter-spacing: 1px;
  }
  .u-spacing2-sp {
    letter-spacing: 2px;
  }
  .u-spacing3-sp {
    letter-spacing: 3px;
  }
  .u-spacing4-sp {
    letter-spacing: 4px;
  }
  .u-spacing5-sp {
    letter-spacing: 5px;
  }
}

.u-hide {
  display: none !important;
}

@media (min-width: 60em) {
  .u-hide-pc {
    display: none !important;
  }
}

@media (max-width: 59.99em) {
  .u-hide-sp {
    display: none !important;
  }
}

.u-flex {
  display: flex !important;
}

@media (min-width: 60em) {
  .u-flex-pc {
    display: flex !important;
  }
}

@media (max-width: 59.99em) {
  .u-flex-sp {
    display: flex !important;
  }
}

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

@media (min-width: 60em) {
  .u-table-pc {
    display: table !important;
  }
}

@media (max-width: 59.99em) {
  .u-table-sp {
    display: table !important;
  }
}

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

@media (min-width: 60em) {
  .u-block-pc {
    display: block !important;
  }
}

@media (max-width: 59.99em) {
  .u-block-sp {
    display: block !important;
  }
}

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

@media (min-width: 60em) {
  .u-iblock-pc {
    display: inline-block !important;
  }
}

@media (max-width: 59.99em) {
  .u-iblock-sp {
    display: inline-block !important;
  }
}

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

@media (min-width: 60em) {
  .u-inline-pc {
    display: inline !important;
  }
}

@media (max-width: 59.99em) {
  .u-inline-sp {
    display: inline !important;
  }
}

.u-pd-t360 {
  padding-top: 360px !important;
}

.u-pd-t300 {
  padding-top: 300px !important;
}

.u-pd-t250 {
  padding-top: 250px !important;
}

.u-pd-t200 {
  padding-top: 200px !important;
}

.u-pd-t160 {
  padding-top: 160px !important;
}

.u-pd-t120 {
  padding-top: 120px !important;
}

.u-pd-t100 {
  padding-top: 100px !important;
}

.u-pd-t80 {
  padding-top: 80px !important;
}

.u-pd-t60 {
  padding-top: 60px !important;
}

.u-pd-t40 {
  padding-top: 40px !important;
}

.u-pd-t30 {
  padding-top: 30px !important;
}

.u-pd-b360 {
  padding-bottom: 360px !important;
}

.u-pd-b300 {
  padding-bottom: 300px !important;
}

.u-pd-b250 {
  padding-bottom: 250px !important;
}

.u-pd-b200 {
  padding-bottom: 200px !important;
}

.u-pd-b160 {
  padding-bottom: 160px !important;
}

.u-pd-b120 {
  padding-bottom: 120px !important;
}

.u-pd-b100 {
  padding-bottom: 100px !important;
}

.u-pd-b80 {
  padding-bottom: 80px !important;
}

.u-pd-b60 {
  padding-bottom: 60px !important;
}

.u-pd-b40 {
  padding-bottom: 40px !important;
}

.u-pd-b30 {
  padding-bottom: 30px !important;
}

@media (max-width: 59.99em) {
  .u-pd-t360 {
    padding-top: 160px !important;
  }
  .u-pd-t300 {
    padding-top: 150px !important;
  }
  .u-pd-t250 {
    padding-top: 150px !important;
  }
  .u-pd-t200 {
    padding-top: 100px !important;
  }
  .u-pd-t160 {
    padding-top: 75px !important;
  }
  .u-pd-t120 {
    padding-top: 60px !important;
  }
  .u-pd-t100 {
    padding-top: 40px !important;
  }
  .u-pd-t80 {
    padding-top: 30px !important;
  }
  .u-pd-t60 {
    padding-top: 30px !important;
  }
  .u-pd-t40 {
    padding-top: 20px !important;
  }
  .u-pd-t30 {
    padding-top: 15px !important;
  }
  .u-pd-b360 {
    padding-bottom: 160px !important;
  }
  .u-pd-b300 {
    padding-bottom: 150px !important;
  }
  .u-pd-b250 {
    padding-bottom: 150px !important;
  }
  .u-pd-b200 {
    padding-bottom: 100px !important;
  }
  .u-pd-b160 {
    padding-bottom: 75px !important;
  }
  .u-pd-b120 {
    padding-bottom: 60px !important;
  }
  .u-pd-b100 {
    padding-bottom: 40px !important;
  }
  .u-pd-b80 {
    padding-bottom: 30px !important;
  }
  .u-pd-b60 {
    padding-bottom: 30px !important;
  }
  .u-pd-b40 {
    padding-bottom: 20px !important;
  }
  .u-pd-b30 {
    padding-bottom: 15px !important;
  }
  .u-pd-sp-t360 {
    padding-top: 360px !important;
  }
  .u-pd-sp-t300 {
    padding-top: 300px !important;
  }
  .u-pd-sp-t250 {
    padding-top: 250px !important;
  }
  .u-pd-sp-t200 {
    padding-top: 200px !important;
  }
  .u-pd-sp-t160 {
    padding-top: 160px !important;
  }
  .u-pd-sp-t120 {
    padding-top: 120px !important;
  }
  .u-pd-sp-t100 {
    padding-top: 100px !important;
  }
  .u-pd-sp-t80 {
    padding-top: 80px !important;
  }
  .u-pd-sp-t60 {
    padding-top: 60px !important;
  }
  .u-pd-sp-t40 {
    padding-top: 40px !important;
  }
  .u-pd-sp-t30 {
    padding-top: 30px !important;
  }
  .u-pd-sp-b360 {
    padding-bottom: 360px !important;
  }
  .u-pd-sp-b300 {
    padding-bottom: 300px !important;
  }
  .u-pd-sp-b250 {
    padding-bottom: 250px !important;
  }
  .u-pd-sp-b200 {
    padding-bottom: 200px !important;
  }
  .u-pd-sp-b160 {
    padding-bottom: 160px !important;
  }
  .u-pd-sp-b120 {
    padding-bottom: 120px !important;
  }
  .u-pd-sp-b100 {
    padding-bottom: 100px !important;
  }
  .u-pd-sp-b80 {
    padding-bottom: 80px !important;
  }
  .u-pd-sp-b60 {
    padding-bottom: 60px !important;
  }
  .u-pd-sp-b40 {
    padding-bottom: 40px !important;
  }
  .u-pd-sp-b30 {
    padding-bottom: 30px !important;
  }
}

.u-absc {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.u-youtube {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}

.u-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.u-maxw {
  max-width: 1040px;
  width: 100%;
  margin: 0 auto;
}

@media (max-width: 59.99em) {
  .u-maxw {
    max-width: 100%;
    margin: 0;
  }
}

.u-fc--white, .u-fc--white a {
  color: #ffffff;
}

.u-bgc--white {
  background-color: #ffffff;
}

.t-top__jp {
  font-size: 1.4rem;
  line-height: 30px;
  letter-spacing: 2px;
}

.t-top__langButtons {
  position: fixed;
  right: 50px;
  bottom: 50px;
  letter-spacing: 10px;
  line-height: 0;
}

.t-top__fv {
  position: relative;
  pointer-events: none;
  width: 100%;
  min-height: 100vh;
  text-align: center;
}

.t-top__fv__logo, .t-top__fv__play {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.t-top__fv__play {
  justify-content: flex-end;
  padding-bottom: 100px;
}

.t-top__fv__play a {
  pointer-events: auto;
  display: inline-block;
}

.t-top__fv__play__icon {
  display: block;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  background-image: url("/assets/img/top/play.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}

.t-top__fv__play__text {
  padding-top: 20px;
  font-size: 2.2rem;
  line-height: 24px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
  color: #ffffff;
}

.t-top__logo {
  position: relative;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 100vh;
}

.t-top__about, .t-top__readings {
  width: 100%;
  min-height: 100vh;
  color: #ffffff;
}

.t-top__about__title, .t-top__readings__title {
  padding-bottom: 50px;
}

.t-top__about {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.t-top__about__thumb {
  padding-top: 10px;
}

.t-top__readings {
  padding-top: 200px;
  padding-bottom: 200px;
}

.t-top__readings__subtitle {
  padding-top: 100px;
  padding-bottom: 40px;
  font-size: 4rem;
  line-height: 42px;
  font-family: 'EB Garamond', serif;
  font-weight: 400;
}

.t-top__readings__list {
  padding-top: 30px;
}

.t-top__readings__list > li:before {
  display: inline-block;
  padding-right: 5px;
  content: '–';
}

.t-top__menu {
  padding-top: 270px;
  padding-bottom: 200px;
}

.t-top__menu__a {
  position: relative;
  display: block;
  padding-bottom: 80px;
}

.t-top__menu__video video {
  width: 100%;
}

.t-top__menu__thumb {
  line-height: 0;
  overflow: hidden;
  position: relative;
}

.t-top__menu__thumb > img {
  width: 100%;
}

.t-top__menu__thumb.js-rgbAberration {
  width: 450px;
  height: 360px;
}

.t-top__menu__thumb__canvas {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.t-top__menu__thumb__plane {
  position: relative;
}

.t-top__menu__thumb__plane > img {
  display: none;
}

.t-top__menu__thumb__plane {
  width: 450px;
  height: 360px;
}

.t-top__menu__title {
  padding-top: 30px;
  padding-bottom: 15px;
  font-size: 2.4rem;
  line-height: 26px;
  font-weight: 600;
}

.t-top__menu__tag {
  position: absolute;
  right: 0;
  top: 0;
  padding: 11px 13px;
  background-color: #000000;
  font-size: 1.6rem;
  line-height: 18px;
  font-family: 'EB Garamond', serif;
  font-weight: 600;
  color: #ffffff;
}

.t-top__menu [data-lang="jp"] {
  font-weight: bold;
}

.t-top__contact {
  background-color: #f8f8f8;
  display: flex;
  align-items: center;
  width: 100%;
  height: auto;
}

.t-top__contact:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.t-top__contact__thumb, .t-top__contact__detail {
  width: 50%;
}

.t-top__contact__thumb {
  line-height: 0;
}

.t-top__contact__thumb img {
  width: 100%;
}

.t-top__contact__detail {
  padding: 0 7%;
  text-align: center;
}

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

.t-top__contact__text li[data-lang="en"] {
  font-size: 1.6rem;
  line-height: 30px;
}

.t-top__contact__text li[data-lang="jp"] {
  line-height: 26px;
  font-weight: bold;
}

.t-top__contact__a {
  display: inline-block;
  margin-top: 10%;
  padding: 10px 40px;
}

.t-top__contact__title {
  font-size: 5vw;
  line-height: 5.125vw;
}

.t-top__contact__mail {
  font-size: 2rem;
  line-height: 22px;
}

.t-top__spell {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 70px 140px;
}

.t-top__spell__text {
  opacity: 0;
  font-size: 3.5vw;
  line-height: 4vw;
}

.t-top__instagram {
  position: relative;
  width: 100%;
  height: 500px;
  background-color: #000000;
  overflow: hidden;
}

.t-top__instagram > a {
  position: relative;
  display: block;
  padding: 75px 0;
}

.t-top__instagram__text {
  position: absolute;
  right: 50px;
  bottom: 27px;
  font-size: 1.8rem;
  line-height: 20px;
  font-family: 'EB Garamond', serif;
  font-weight: 600;
  color: #ffffff;
}

.t-top__instagram__text:after {
  font-family: "iconfont";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
  content: "";
}

.t-top__instagram__text:after {
  position: relative;
  top: 2px;
  display: inline-block;
  padding-left: 10px;
  font-size: 2rem;
  line-height: 22px;
}

.t-top__instagram__carousel li {
  padding: 0 15px;
}

.t-top__instagram__carousel li img {
  width: 350px;
  height: 350px;
}

@media (min-width: 60em) {
  .t-top__langButtons {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform: rotate(0.0001deg) translateY(150px);
  }
  .t-top__langButtons.is-active-pc {
    transform: rotate(0.0001deg) translateY(0px);
  }
  .t-top__menu__thumb img {
    transition: transform 2.5s cubic-bezier(0.15, 0, 0, 1);
    transform: scale(1) rotate(0.0001deg);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
}

@media (min-width: 60em) and (max-width: 59.99em) {
  .t-top__menu__thumb img {
    transition: inherit;
  }
}

@media (min-width: 60em) {
  .t-top__menu__a {
    transition-property: transform;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
  }
  .t-top__menu__a:hover {
    transform: rotate(0.0001deg) translateY(-10px);
  }
  .t-top__menu__a:hover img {
    transform: scale(1.1) rotate(0.0001deg);
  }
}

@media (min-width: 60em) and (max-width: 59.99em) {
  .t-top__menu__a:hover img {
    transform: scale(1) rotate(0.0001deg);
  }
}

@media (max-width: 79.99em) {
  .t-top__contact__detail {
    padding: 0 5%;
  }
}

@media (max-width: 59.99em) {
  .t-top__jp {
    font-size: 1.3rem;
    line-height: 23px;
    letter-spacing: 2px;
  }
  .t-top__langButtons {
    right: auto;
    bottom: auto;
    left: 25px;
    top: 22px;
    letter-spacing: -.4em;
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    transform: rotate(0.0001deg) translateY(-100px);
  }
  .t-top__langButtons__slash {
    display: inline-block;
    padding: 0 7px;
    font-size: 1.5rem;
    line-height: 17px;
    font-family: 'EB Garamond', serif;
    font-weight: 400;
    color: #a4a4a4;
  }
  .t-top__langButtons.is-white-sp .t-top__langButtons__slash {
    color: #ffffff;
  }
  .t-top__langButtons.is-active-sp {
    transform: rotate(0.0001deg) translateY(0px);
  }
  .t-top__fv__logo img {
    width: 298px;
  }
  .t-top__fv__play {
    padding-bottom: 50px;
  }
  .t-top__fv__play__icon {
    width: 40px;
    height: 40px;
  }
  .t-top__fv__play__text {
    padding-top: 20px;
    font-size: 1.7rem;
    line-height: 19px;
  }
  .t-top__about, .t-top__readings {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .t-top__about__title, .t-top__readings__title {
    padding-bottom: 25px;
  }
  .t-top__about__thumb {
    padding-top: 40px;
  }
  .t-top__readings__subtitle {
    padding-top: 50px;
    padding-bottom: 30px;
    font-size: 3rem;
    line-height: 32px;
  }
  .t-top__menu {
    padding-top: 100px;
    padding-bottom: 20px;
  }
  .t-top__menu__a {
    padding-bottom: 60px;
  }
  .t-top__menu__title {
    padding-top: 20px;
    padding-bottom: 15px;
    font-size: 3rem;
    line-height: 32px;
    font-weight: 400;
  }
  .t-top__menu__tag {
    padding: 7px 10px;
    font-size: 1.5rem;
    line-height: 17px;
  }
  .t-top__contact {
    display: block;
  }
  .t-top__contact:before {
    display: none;
  }
  .t-top__contact__thumb, .t-top__contact__detail {
    width: 100%;
  }
  .t-top__contact__detail {
    padding: 80px 40px;
  }
  .t-top__contact__text {
    text-align: left;
  }
  .t-top__contact__text li[data-lang="en"] {
    font-size: 1.4rem;
    line-height: 24px;
  }
  .t-top__contact__text li[data-lang="jp"] {
    line-height: 23px;
  }
  .t-top__contact__title {
    padding-top: 30px;
    font-size: 6rem;
    line-height: 62px;
  }
  .t-top__contact__mail {
    font-size: 1.8rem;
    line-height: 20px;
  }
  .t-top__spell {
    display: block;
    min-height: auto;
    padding: 40px 40px;
  }
  .t-top__spell__text {
    font-size: 2rem;
    line-height: 25px;
  }
  .t-top__instagram {
    height: auto;
  }
  .t-top__instagram > a {
    padding: 75px 0 60px;
  }
  .t-top__instagram__text {
    position: relative;
    right: auto;
    bottom: auto;
    padding-top: 20px;
    text-align: center;
    font-size: 2rem;
    line-height: 22px;
  }
  .t-top__instagram__text:after {
    top: 6px;
    padding-left: 10px;
    font-size: 3rem;
    line-height: 32px;
  }
  .t-top__instagram__list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 30px;
  }
  .t-top__instagram__list li {
    width: 50%;
    padding: 0 10px 20px;
    line-height: 0;
  }
  .t-top__instagram__list li img {
    width: 100%;
  }


}
