@charset "utf-8";


/********************/
/* import           */
/********************/
:root {
  --white: #ffffff;
  --black_font: #000000;
  --white_font: #ffffff;
  --white-bg: #ffffff;
  --black-bg: #000000;
  --cream: #fffdf3;
  --green: #00845c;
}

:root {
  --leading-trim: calc(0.5em - 1lh/2);
}

@supports not (top: 1lh) {
  :root {
    --leading-trim: 0px;
  }
}
html body #viewport {
  font-family: "Hina Mincho", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", Arial, Verdana, Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--black_font);
}

[data-font=hinamincho] {
  font-family: "Hina Mincho", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--black_font);
}

/********************/
/* common           */
/********************/
html, body {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 62.5%;
  vertical-align: baseline;
}
html .grecaptcha-badge, body .grecaptcha-badge {
  visibility: hidden;
}

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

body {
  font-size: 1rem;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  color: #423e3d;
  background-color: #ffffff;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

/*reset*/
/*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%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent;
}

input {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font: inherit;
}

select {
  outline: none;
}

template {
  display: none;
}

#viewport ul,
#viewport ol {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
}
#viewport img {
  vertical-align: top;
  /* user-select: none; */
  /* -webkit-touch-callout: none; */
}
#viewport picture {
  /* user-select: none; */
  /* -webkit-touch-callout: none; */
}

#viewport {
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  text-align: left;
  position: relative;
  margin: 0 0 0 0;
  -webkit-text-size-adjust: 100%;
  overflow: visible;
}

#viewport {
  width: 100%;
  background-color: transparent;
  background-attachment: fixed;
  /* font-feature-settings: "palt"; */
  /* font-feature-settings: 'pkna'; */
}
#viewport img {
  width: 100%;
  font-size: 0;
}
#viewport .fontpalt {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
#viewport a {
  text-decoration: none;
  color: #000000;
  outline: none;
}
#viewport span.irep {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
}
#viewport.ready {
  visibility: hidden;
}

canvas {
  display: block;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* user-select: none; */
  -ms-touch-action: none;
      touch-action: none;
}

.modal__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/********************/
/* pc_view          */
/********************/
html #viewport .pc_on {
  display: none;
}
html #viewport .sp_on {
  display: block;
}

@media screen and (min-width: 1080px) {
  html #viewport .pc_on {
    display: block;
  }
  html #viewport .sp_on {
    display: none;
  }
}
.btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  text-decoration: none;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  line-height: 1;
  outline: 0;
  cursor: pointer;
}
.btn svg {
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.btn path {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.sqbtn {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  /* user-select: none; */
}
.sqbtn p {
  pointer-events: none;
  /* user-select: none; */
}

@media (hover: hover) {
  .btn-flow:hover {
    text-decoration: underline;
  }
}

.btn-cream-up div {
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .btn-cream-up:hover div {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }
}

.btn-item-up div {
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .btn-item-up:hover > div {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }
}

.btn-item-down div {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .btn-item-down:hover > div {
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
  }
}

.btn-up img {
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .btn-up:hover img {
    -webkit-transform: translateY(-4px);
            transform: translateY(-4px);
  }
}

.btn-fade {
  opacity: 1;
  -webkit-transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (hover: hover) {
  .btn-fade:hover {
    opacity: 0.6;
  }
}

.btn-brightness {
  opacity: 1;
}
@media (hover: hover) {
  .btn-brightness:hover {
    -webkit-filter: brightness(110%);
            filter: brightness(110%);
  }
}

.btn-inv {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fd7d1c;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
  border: 2px #fd7d1c solid;
}
.btn-inv p {
  color: #ffffff;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
@media (hover: hover) {
  .btn-inv:hover {
    background-color: #ffffff !important;
  }
  .btn-inv:hover p {
    color: #fd7d1c !important;
  }
}

/*
body.ua_pc {
  .btn-fade {
    opacity: 1;
    transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);

    &:hover {
      opacity: 0.7 !important;
    }
  }
}
*/
.x_scroll_fadein {
  opacity: 0;
  -webkit-transition: opacity 0.6s 0.1s;
  transition: opacity 0.6s 0.1s;
}

.x_scroll_fadein.x_scrolled,
.x_scroll_fadein.x_onloaded {
  opacity: 1;
}

/*
.x_scroll_fadein_bottomIn {
  opacity: 0;
  transform: translateX(0) translateY(5vw);
  transition: opacity 0.6s 0.1s, transform 0.6s 0.1s ease;
}*/
.x_scroll_fadein_bottomIn {
  opacity: 0;
  -webkit-transform: translateX(0) translateY(50px);
          transform: translateX(0) translateY(50px);
  -webkit-transition: opacity 0.6s 0.1s, -webkit-transform 0.6s 0.1s ease;
  transition: opacity 0.6s 0.1s, -webkit-transform 0.6s 0.1s ease;
  transition: opacity 0.6s 0.1s, transform 0.6s 0.1s ease;
  transition: opacity 0.6s 0.1s, transform 0.6s 0.1s ease, -webkit-transform 0.6s 0.1s ease;
}

.x_scroll_fadein_bottomIn.x_scrolled,
.x_scroll_fadein_bottomIn.x_onloaded {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.x_scroll_fadein_smallIn {
  opacity: 0;
  -webkit-transform: scale(0.4, 0.4);
          transform: scale(0.4, 0.4);
  -webkit-transition: opacity 0.3s 0.1s, -webkit-transform 0.3s 0.1s ease;
  transition: opacity 0.3s 0.1s, -webkit-transform 0.3s 0.1s ease;
  transition: opacity 0.3s 0.1s, transform 0.3s 0.1s ease;
  transition: opacity 0.3s 0.1s, transform 0.3s 0.1s ease, -webkit-transform 0.3s 0.1s ease;
}

.x_scroll_fadein_smallIn.x_scrolled {
  opacity: 1;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.x_scroll_fadein_smallopen {
  opacity: 0;
  -webkit-transform: scale(0.92, 0.92);
          transform: scale(0.92, 0.92);
  -webkit-transition: opacity 0.8s 0.1s, -webkit-transform 0.8s 0.1s ease;
  transition: opacity 0.8s 0.1s, -webkit-transform 0.8s 0.1s ease;
  transition: opacity 0.8s 0.1s, transform 0.8s 0.1s ease;
  transition: opacity 0.8s 0.1s, transform 0.8s 0.1s ease, -webkit-transform 0.8s 0.1s ease;
}

.x_scroll_fadein_smallopen.x_scrolled,
.x_scroll_fadein_smallopen.x_onloaded {
  opacity: 1;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.x_delay_underline.x_onloaded {
  -webkit-animation: x_delay_underline 0.6s cubic-bezier(0, 0, 0.2, 1) backwards;
          animation: x_delay_underline 0.6s cubic-bezier(0, 0, 0.2, 1) backwards;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

@-webkit-keyframes x_delay_underline {
  0% {
    width: 0px;
  }
  100% {
    width: 109px;
  }
}

@keyframes x_delay_underline {
  0% {
    width: 0px;
  }
  100% {
    width: 109px;
  }
}
ul.animation_scroll_fadein_list_bottomIn li {
  opacity: 0;
  -webkit-transform: translateX(0) translateY(32px);
          transform: translateX(0) translateY(32px);
}
ul.animation_scroll_fadein_list_bottomIn li:nth-child(1) {
  -webkit-transition: opacity 0.6s 0.1s, -webkit-transform 0.6s 0.1s ease;
  transition: opacity 0.6s 0.1s, -webkit-transform 0.6s 0.1s ease;
  transition: opacity 0.6s 0.1s, transform 0.6s 0.1s ease;
  transition: opacity 0.6s 0.1s, transform 0.6s 0.1s ease, -webkit-transform 0.6s 0.1s ease;
}
ul.animation_scroll_fadein_list_bottomIn li:nth-child(2) {
  -webkit-transition: opacity 0.6s 0.25s, -webkit-transform 0.6s ease 0.25s;
  transition: opacity 0.6s 0.25s, -webkit-transform 0.6s ease 0.25s;
  transition: opacity 0.6s 0.25s, transform 0.6s ease 0.25s;
  transition: opacity 0.6s 0.25s, transform 0.6s ease 0.25s, -webkit-transform 0.6s ease 0.25s;
}
ul.animation_scroll_fadein_list_bottomIn li:nth-child(3) {
  -webkit-transition: opacity 0.6s 0.4s, -webkit-transform 0.6s ease 0.4s;
  transition: opacity 0.6s 0.4s, -webkit-transform 0.6s ease 0.4s;
  transition: opacity 0.6s 0.4s, transform 0.6s ease 0.4s;
  transition: opacity 0.6s 0.4s, transform 0.6s ease 0.4s, -webkit-transform 0.6s ease 0.4s;
}
ul.animation_scroll_fadein_list_bottomIn li:nth-child(4) {
  -webkit-transition: opacity 0.6s 0.55s, -webkit-transform 0.6s ease 0.55s;
  transition: opacity 0.6s 0.55s, -webkit-transform 0.6s ease 0.55s;
  transition: opacity 0.6s 0.55s, transform 0.6s ease 0.55s;
  transition: opacity 0.6s 0.55s, transform 0.6s ease 0.55s, -webkit-transform 0.6s ease 0.55s;
}
ul.animation_scroll_fadein_list_bottomIn li:nth-child(5) {
  -webkit-transition: opacity 0.6s 0.7s, -webkit-transform 0.6s ease 0.7s;
  transition: opacity 0.6s 0.7s, -webkit-transform 0.6s ease 0.7s;
  transition: opacity 0.6s 0.7s, transform 0.6s ease 0.7s;
  transition: opacity 0.6s 0.7s, transform 0.6s ease 0.7s, -webkit-transform 0.6s ease 0.7s;
}

ul.animation_scroll_fadein_list_bottomIn.x_scrolled li {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.move_in_top_left {
  opacity: 0;
  -webkit-transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  -webkit-transform: translate(-10vw, -10vh) rotate(10deg);
          transform: translate(-10vw, -10vh) rotate(10deg);
}

.move_in_top_left.x_scrolled {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.move_in_top_right {
  opacity: 0;
  -webkit-transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  -webkit-transform: translate(10vw, -10vh) rotate(10deg);
          transform: translate(10vw, -10vh) rotate(10deg);
}

.move_in_top_right.x_scrolled {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.move_in_top_right2 {
  opacity: 0;
  -webkit-transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  -webkit-transform: translate(10vw, -10vh) rotate(-60deg);
          transform: translate(10vw, -10vh) rotate(-60deg);
}

.move_in_top_right2.x_scrolled {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.move_in_bottom_left {
  opacity: 0;
  -webkit-transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  -webkit-transform: translate(-10vw, 10vh) rotate(10deg);
          transform: translate(-10vw, 10vh) rotate(10deg);
}

.move_in_bottom_left.x_scrolled {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.move_in_bottom_left2 {
  opacity: 0;
  -webkit-transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.4s;
  -webkit-transform: translate(-10vw, 10vh) rotate(10deg);
          transform: translate(-10vw, 10vh) rotate(10deg);
}

.move_in_bottom_left2.x_scrolled {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.move_in_bottom_right {
  opacity: 0;
  -webkit-transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  transition: opacity 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s, -webkit-transform 6.6s cubic-bezier(0, 0.674, 0.34, 1) 0.6s;
  -webkit-transform: translate(10vw, 10vh) rotate(10deg);
          transform: translate(10vw, 10vh) rotate(10deg);
}

.move_in_bottom_right.x_scrolled {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* ===================================== */
@media screen and (min-width: 1080px) {
  /* ===================================== */
  .x_scroll_fadein_bottomIn {
    -webkit-transform: translateX(0) translateY(50px);
            transform: translateX(0) translateY(50px);
  }
  @-webkit-keyframes x_delay_underline {
    0% {
      width: 0px;
    }
    100% {
      width: 206px;
    }
  }
  @keyframes x_delay_underline {
    0% {
      width: 0px;
    }
    100% {
      width: 206px;
    }
  }
  /* ===================================== */
}
/* ===================================== */