@charset "UTF-8";
:root {
  --mainColor: #FF6C4C;
  --pointColor: #028B99;
  --bgColor: #FEFBF3;
  --sidePadding: 50px;
}
@media (max-width: 1024px) {
  :root {
    --sidePadding: 25px;
  }
}
@media (max-width: 767px) {
  :root {
    --sidePadding: 4.22vw;
  }
}

/* Global
---------------------------------------- */
/* layout */
.l-container {
  position: relative;
  width: 100%;
  max-width: calc(1200px + var(--sidePadding) * 2);
  padding-left: var(--sidePadding);
  padding-right: var(--sidePadding);
  margin-left: auto;
  margin-right: auto;
}
.l-container.-lg {
  max-width: calc(1360px + var(--sidePadding) * 2);
}
.l-container.-md {
  max-width: calc(1020px + var(--sidePadding) * 2);
}
.l-container.-sm {
  max-width: calc(756px + var(--sidePadding) * 2);
}

.fullWidth {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}

.hide-pc {
  display: none !important;
}

.show-pc,
.show-tab,
.show-sp {
  display: none !important;
}

@media (min-width: 1025px) {
  .show-pc {
    display: block !important;
  }
}
@media (max-width: 1024px) {
  .hide-tab {
    display: none !important;
  }
  .show-tab {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .hide-pc {
    display: block !important;
  }
  .hide-sp {
    display: none !important;
  }
  .show-sp {
    display: block !important;
  }
}
.inline-block {
  display: inline-block;
}

img {
  vertical-align: top;
}
img.-vaBaseline {
  vertical-align: baseline;
}
img.-vaSub {
  vertical-align: sub;
}
img.-vaBottom {
  vertical-align: bottom;
}

.-vaBaseline img {
  vertical-align: baseline;
}

.-vaSub img {
  vertical-align: sub;
}

.-vaBottom img {
  vertical-align: bottom;
}

/* link */
a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  cursor: pointer;
}

.-hoverzoom {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .-hoverzoom:hover {
    -webkit-transform: scale(1.07);
            transform: scale(1.07);
  }
}

.-hoverzoom-s {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .-hoverzoom-s:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}

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

.fw-bold {
  font-weight: 700;
}

/* ブロックエディタ用 css調整 */
.editor-styles-wrapper :where(*) {
  margin: 0;
}

.editor-styles-wrapper :where(.is-layout-flow) > * + * {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

.editor-styles-wrapper .-hasSpace .wp-block-group__inner-container > .wp-block {
  margin-bottom: 1rem;
}

.editor-styles-wrapper .c-button {
  min-width: 360px;
}
.editor-styles-wrapper .c-button.-disabled {
  overflow: hidden;
  position: relative;
  pointer-events: none;
}
.editor-styles-wrapper .c-button.-disabled::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  content: "ただいま準備中";
  display: grid;
  place-content: center;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.5);
  font-size: 1.1111111111em;
}

/* top slide */
.top_slide_inner {
  position: relative;
  border: solid 1px #000;
  border-radius: 50px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top_slide_inner {
    border-radius: 5.3333333333vw;
  }
}
.top_slide .swiper-slide img {
  width: 100%;
  height: auto;
  max-height: calc(99vh - 134px);
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .top_slide .swiper-slide img {
    height: 90.6666666667vw;
  }
}
.top_slide .text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  color: #fff;
  font-size: 2em;
}
@media (max-width: 767px) {
  .top_slide .text {
    text-align: center;
    font-size: 5.3333333333vw;
  }
}
.top_slide .train {
  position: absolute;
  z-index: 2;
  right: 204px;
  bottom: 1px;
  -webkit-transform-origin: 50% 80%;
          transform-origin: 50% 80%;
  will-change: transform;
}
@media (max-width: 767px) {
  .top_slide .train {
    right: 5.0666666667vw;
    width: 14.4vw;
  }
}

.editor-styles-wrapper .top_slide .swiper-slide + .swiper-slide {
  display: none;
}

.home .top_slide .train {
  -webkit-animation: rattling 3s infinite linear;
          animation: rattling 3s infinite linear;
}

.block-editor .top_slide .swiper-slide + .swiper-slide {
  display: none;
}

@-webkit-keyframes rattling {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, 1px) rotate(-0.2deg);
            transform: translate(-1px, 1px) rotate(-0.2deg);
  }
  20% {
    -webkit-transform: translate(1px, -1px) rotate(0.2deg);
            transform: translate(1px, -1px) rotate(0.2deg);
  }
  30% {
    -webkit-transform: translate(-2px, 0) rotate(-0.25deg);
            transform: translate(-2px, 0) rotate(-0.25deg);
  }
  40% {
    -webkit-transform: translate(2px, 1px) rotate(0.25deg);
            transform: translate(2px, 1px) rotate(0.25deg);
  }
  50% {
    -webkit-transform: translate(-1px, -1px) rotate(-0.2deg);
            transform: translate(-1px, -1px) rotate(-0.2deg);
  }
  60% {
    -webkit-transform: translate(1px, 0) rotate(0.2deg);
            transform: translate(1px, 0) rotate(0.2deg);
  }
  70% {
    -webkit-transform: translate(-2px, 1px) rotate(-0.25deg);
            transform: translate(-2px, 1px) rotate(-0.25deg);
  }
  80% {
    -webkit-transform: translate(2px, -1px) rotate(0.25deg);
            transform: translate(2px, -1px) rotate(0.25deg);
  }
  90% {
    -webkit-transform: translate(-1px, 0) rotate(-0.2deg);
            transform: translate(-1px, 0) rotate(-0.2deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes rattling {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
  10% {
    -webkit-transform: translate(-1px, 1px) rotate(-0.2deg);
            transform: translate(-1px, 1px) rotate(-0.2deg);
  }
  20% {
    -webkit-transform: translate(1px, -1px) rotate(0.2deg);
            transform: translate(1px, -1px) rotate(0.2deg);
  }
  30% {
    -webkit-transform: translate(-2px, 0) rotate(-0.25deg);
            transform: translate(-2px, 0) rotate(-0.25deg);
  }
  40% {
    -webkit-transform: translate(2px, 1px) rotate(0.25deg);
            transform: translate(2px, 1px) rotate(0.25deg);
  }
  50% {
    -webkit-transform: translate(-1px, -1px) rotate(-0.2deg);
            transform: translate(-1px, -1px) rotate(-0.2deg);
  }
  60% {
    -webkit-transform: translate(1px, 0) rotate(0.2deg);
            transform: translate(1px, 0) rotate(0.2deg);
  }
  70% {
    -webkit-transform: translate(-2px, 1px) rotate(-0.25deg);
            transform: translate(-2px, 1px) rotate(-0.25deg);
  }
  80% {
    -webkit-transform: translate(2px, -1px) rotate(0.25deg);
            transform: translate(2px, -1px) rotate(0.25deg);
  }
  90% {
    -webkit-transform: translate(-1px, 0) rotate(-0.2deg);
            transform: translate(-1px, 0) rotate(-0.2deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
            transform: translate(0, 0) rotate(0deg);
  }
}
.wakewake_features .can dt {
  position: relative;
  z-index: 2;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0 26px;
  margin-left: 4px;
  background-color: var(--mainColor);
  border-radius: 999px;
  border: solid 1px #000;
  color: #fff;
  font-size: 1.1111111111em;
}
@media (max-width: 767px) {
  .wakewake_features .can dt {
    line-height: 50px;
    text-align: center;
    margin-left: 0;
    width: 100%;
    border-radius: 20px 20px 0 0;
    border-bottom: none;
    font-size: 20px;
  }
}
.wakewake_features .can dd {
  padding: 38px 38px 28px;
  margin-top: -23px;
  background-color: #fff;
  border: solid 1px #000;
  border-radius: 20px;
  color: var(--mainColor);
  font-size: 1.4444444444em;
  letter-spacing: -0.02em;
}
.wakewake_features .can dd small {
  font-size: 69.2%;
}
@media (max-width: 767px) {
  .wakewake_features .can dd {
    padding: 24px 0;
    margin-top: 0;
    border-radius: 0 0 20px 20px;
    font-size: 18px;
    line-height: 1.6;
  }
}
.wakewake_features .-orange .smb-step__item__number {
  background-color: var(--mainColor);
  color: #fff;
}
.wakewake_features .-blue .smb-step__item__number {
  background-color: var(--pointColor);
  color: #fff;
}