/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

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

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

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

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

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

.swiper-horizontal {
  touch-action: pan-y;
}

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

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

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

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

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

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

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

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

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

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

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
/*========================================
*	common
========================================*/
::selection {
  color: #fff;
  background: #000;
}

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

*:focus {
  outline: 0;
}

html,
body {
  font-size: 62.5%;
  color: #000;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}

body {
  width: 100%;
}

a {
  color: #000;
  text-decoration: none;
}

h1,
h2,
h3 {
  line-height: 1;
}

ul,
li {
  list-style: none;
}

tr,
th,
td {
  font-weight: normal;
  text-align: left;
}

img,
picture {
  -webkit-backface-visibility: hidden;
  width: 100%;
  max-width: 100%;
  height: auto;
  pointer-events: none;
  vertical-align: bottom;
}

.pc-none {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pc-none {
    display: block;
  }
}

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

.header {
  position: fixed;
  width: 100%;
  z-index: 100;
}
.header__inner {
  padding: 4vw 4vw 0;
  display: flex;
  justify-content: space-between;
}
@media only screen and (min-width: 767px) {
  .header__inner {
    padding: min(1.5625vw, 20px) min(1.5625vw, 20px) 0;
  }
}
.header__logo {
  display: block;
  width: 37.2vw;
}
@media only screen and (min-width: 767px) {
  .header__logo {
    width: min(21.796875vw, 279px);
    transition: all 300ms ease;
  }
  .header__logo:hover {
    transform: scale(0.98);
  }
}
@media only screen and (min-width: 1440px) {
  .header__logo {
    width: 331px;
  }
}
.header__list {
  display: flex;
  column-gap: 3.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .header__list {
    column-gap: min(3.125vw, 40px);
  }
}
.header__anchor {
  display: none;
}
@media only screen and (min-width: 767px) {
  .header__anchor {
    column-gap: min(2.578125vw, 33px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.header__anchor-link {
  display: block;
  color: #4932f4;
  font-family: "M PLUS 1p", sans-serif;
  font-size: min(1.25vw, 16px);
  font-weight: 900;
}
@media only screen and (min-width: 1440px) {
  .header__anchor-link {
    font-size: 20px;
  }
}
.header__anchor-text {
  display: block;
  transition: all 300ms ease;
}
.header__anchor-text:hover {
  transform: scale(0.97);
}
.header__button {
  background-color: #4932f4;
  width: 24vw;
  height: 7.4666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.3333333333vw;
  overflow: hidden;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .header__button {
    width: min(12.5vw, 160px);
    height: min(3.75vw, 48px);
    border-radius: min(0.78125vw, 10px);
    cursor: pointer;
    transition: all 300ms ease;
  }
  .header__button:hover {
    transform: scale(0.98);
  }
}
@media only screen and (min-width: 1440px) {
  .header__button {
    width: 180px;
    height: 56px;
  }
}
.header__button:before {
  display: block;
  content: "";
  transition: all 300ms ease;
  width: 200%;
  height: 100%;
  position: absolute;
  left: 0%;
  background-image: linear-gradient(to right, transparent, #0096ff, transparent);
}
.header__button-text {
  font-size: 3.2vw;
  color: #fff;
  font-weight: bold;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 767px) {
  .header__button-text {
    font-size: min(1.25vw, 16px);
  }
}
@media only screen and (min-width: 1440px) {
  .header__button-text {
    font-size: 20px;
  }
}
.header__menu {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  row-gap: 1.3333333333vw;
  transition: all 300ms ease;
}
@media only screen and (min-width: 767px) {
  .header__menu {
    display: none;
  }
}
.header__menu-bar {
  position: relative;
  display: block;
  height: 1.0666666667vw;
  background-color: #0897ff;
  border-radius: 0.5333333333vw;
  transition: all 300ms ease;
}
@media only screen and (min-width: 767px) {
  .header__menu-bar {
    height: min(0.15625vw, 2px);
  }
}
.header__menu-bar:nth-child(1) {
  width: 6.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .header__menu-bar:nth-child(1) {
    width: min(4.21875vw, 54px);
  }
}
.header__menu-bar:nth-child(2) {
  width: 6.6666666667vw;
  margin-top: 0.2666666667vw;
}
@media only screen and (min-width: 767px) {
  .header__menu-bar:nth-child(2) {
    width: min(4.21875vw, 54px);
    margin-top: min(0.15625vw, 2px);
  }
}
.header__menu.header-nav__close {
  position: fixed;
  top: 5.0666666667vw;
  right: 4.8vw;
  z-index: 2;
}
.header__menu.header-nav__close .header__menu-bar {
  background-color: #fff;
  transform-origin: center left;
}
.header__menu.header-nav__close .header__menu-bar:nth-child(1) {
  width: 7.2vw;
  transform: rotate(45deg) translateY(-1.7333333333vw);
}
@media only screen and (min-width: 767px) {
  .header__menu.header-nav__close .header__menu-bar:nth-child(1) {
    transform: rotate(45deg) translate(min(0.3125vw, 4px), max(-0.3125vw, -4px));
    width: min(4.375vw, 56px);
  }
}
.header__menu.header-nav__close .header__menu-bar:nth-child(2) {
  width: 7.2vw;
  transform: rotate(-45deg) translateY(1.7333333333vw);
}
@media only screen and (min-width: 767px) {
  .header__menu.header-nav__close .header__menu-bar:nth-child(2) {
    transform: rotate(-45deg) translate(min(0.3125vw, 4px), max(-0.15625vw, -2px));
    width: min(4.375vw, 56px);
  }
}

.header-nav {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 767px) {
  .header-nav {
    display: none;
  }
}
.header-nav__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.header-nav__wrapper {
  position: relative;
  z-index: 1;
  width: 57.8666666667vw;
  height: 100%;
  margin: 0 0 0 auto;
  background: url(../img/header_bg.png) no-repeat;
}
.header-nav__inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 18.4vw 0 0 8.5333333333vw;
  overflow: scroll;
  overscroll-behavior-y: contain;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.header-nav__list-item {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 4.8vw;
  font-weight: 900;
}
.header-nav__list-item:not(:first-child) {
  margin-top: 8.6666666667vw;
}
.header-nav__list-item:nth-child(2) {
  padding-left: 2.6666666667vw;
}
.header-nav__list-item:nth-child(3) {
  padding-left: 5.3333333333vw;
}
.header-nav__list-item:nth-child(4) {
  padding-left: 8vw;
}
.header-nav__list-item.js-active .header-nav__list-link:before {
  display: block;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: -3.3333333333vw;
  transform: translate(0, -50%);
  width: 2.1333333333vw;
  height: 2.1333333333vw;
}
.header-nav__list-link {
  position: relative;
  display: block;
  color: #fff;
}

.footer {
  position: relative;
  margin-top: -10.6666666667vw;
  padding-top: 62vw;
  background-color: white;
  z-index: 0;
}
@media only screen and (min-width: 767px) {
  .footer {
    margin-top: -6.25vw;
    padding-top: 39.0625vw;
  }
}
.footer.is-privacy {
  margin-top: 0;
  padding-top: 0;
}
.footer.is-privacy .footer__inner {
  padding-top: 28vw;
}
@media only screen and (min-width: 767px) {
  .footer.is-privacy .footer__inner {
    padding-top: min(7.8125vw, 100px);
  }
}
.footer.is-privacy .footer__circle {
  display: none;
}
.footer__inner {
  background-color: #fff;
  position: relative;
  background-color: #fff;
  margin-top: 0vw;
  z-index: 1;
}
.footer__inner:before {
  display: block;
  content: "";
  position: absolute;
  top: -3.0666666667vw;
  background: url(../img/curve_portal_top_white.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 3.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .footer__inner:before {
    top: -6.09375vw;
    background: url(../img/curve_portal_top_white_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.footer__circle {
  margin: 0 auto 0;
  top: -22.2666666667vw;
  height: 28.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .footer__circle {
    top: max(-17.1875vw, -220px);
    height: min(7.8125vw, 100px);
  }
}
@media only screen and (min-width: 1280px) {
  .footer__circle {
    top: calc(-140px - 6.25vw);
  }
}
@media only screen and (min-width: 767px) {
  .footer__group {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: min(4.6875vw, 60px);
    padding: 0 min(4.6875vw, 60px);
  }
}
.footer__logo {
  display: block;
  width: 55.3333333333vw;
  margin-inline: auto;
}
@media only screen and (min-width: 767px) {
  .footer__logo {
    width: min(21.796875vw, 279px);
    margin: 0;
    transition: all 300ms ease;
  }
  .footer__logo:hover {
    transform: scale(0.98);
  }
}
@media only screen and (min-width: 1440px) {
  .footer__logo {
    width: 331px;
  }
}
.footer__menu {
  display: flex;
  justify-content: center;
  column-gap: 6.6666666667vw;
  margin-top: 12.6666666667vw;
  font-weight: 900;
  font-size: 3.4666666667vw;
  font-family: "M PLUS 1p", sans-serif;
}
@media only screen and (min-width: 767px) {
  .footer__menu {
    column-gap: min(2.5vw, 32px);
    margin-top: 0;
    font-size: min(1.25vw, 16px);
    align-self: flex-end;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__menu {
    font-size: 20px;
  }
}
.footer__menu a {
  text-decoration: none;
  color: #4932f4;
  transition: all 300ms ease;
}
.footer__menu a:hover {
  transform: scale(0.97);
}
.footer__links {
  margin-top: 13.3333333333vw;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 767px) {
  .footer__links {
    margin-top: 0;
    width: min(39.0625vw, 500px);
  }
}
@media only screen and (max-width: 767px) {
  .footer__links {
    width: 80vw;
    margin: 0 auto;
    justify-content: center;
    column-gap: 4.8vw;
    margin-top: 13.3333333333vw;
    text-align: center;
  }
}
.footer__links a {
  text-decoration: none;
  font-size: 2.6666666667vw;
  margin-inline: 1.0666666667vw;
  margin-top: 1.0666666667vw;
}
.footer__links a:nth-child(n+3) {
  display: inline-block;
  margin-top: 2.4vw;
}
@media only screen and (min-width: 767px) {
  .footer__links a {
    display: inline-block;
    min-width: min(12.96875vw, 166px);
    font-size: min(1.09375vw, 14px);
    margin-inline: min(0.625vw, 8px);
  }
  .footer__links a:hover {
    text-decoration: underline;
  }
  .footer__links a:nth-child(n+3) {
    display: inline-block;
    margin-top: min(0.78125vw, 10px);
  }
}
@media only screen and (min-width: 1440px) {
  .footer__links a {
    font-size: 16px;
  }
}
.footer__copy {
  font-size: 2.6666666667vw;
  margin-top: 6.6666666667vw;
  text-align: center;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 767px) {
  .footer__copy {
    font-size: min(1.09375vw, 14px);
    margin-top: 0;
  }
}
@media only screen and (min-width: 1440px) {
  .footer__copy {
    font-size: 16px;
  }
}
.footer__bar {
  position: relative;
  margin-top: 13.3333333333vw;
  height: 5.3333333333vw;
  background: linear-gradient(90deg, #4932f4, #0096ff);
}
@media only screen and (min-width: 767px) {
  .footer__bar {
    margin-top: min(3.125vw, 40px);
    height: min(1.5625vw, 20px);
  }
}
.footer__scrolltop {
  position: absolute;
  width: 21.3333333333vw;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
}
@media only screen and (min-width: 767px) {
  .footer__scrolltop {
    width: min(8.203125vw, 105px);
  }
}
@media only screen and (min-width: 1440px) {
  .footer__scrolltop {
    width: 126px;
  }
}
.footer__scrolltop-arrow {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: url(../img/scrolltop_arrow.png) no-repeat;
  background-size: 100%;
  transition: all 300ms ease;
}
@media only screen and (min-width: 767px) {
  .footer__scrolltop-arrow:hover {
    bottom: min(0.234375vw, 3px);
  }
}

.common__main {
  position: relative;
  z-index: 1;
}
.common__inner {
  background-color: #f2f2f2;
  z-index: 1;
  position: relative;
}
.common__inner:after {
  display: block;
  content: "";
  position: absolute;
  bottom: -5.8666666667vw;
  background: url(../img/curve_top_grey.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 6.1333333333vw;
  transform: scale(1, -1);
}
@media only screen and (min-width: 767px) {
  .common__inner:after {
    bottom: -6.09375vw;
    background: url(../img/curve_top_grey_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.common__inner-content {
  padding-top: 33.3333333333vw;
  padding-bottom: 37.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .common__inner-content {
    padding-top: min(13.125vw, 168px);
    padding-bottom: min(14.84375vw, 190px);
  }
}
.common__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 101%;
  z-index: 0;
  pointer-events: none;
}
.common__bg video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  object-position: 10% center;
  transform: translate(-50%, -50%);
}
@media only screen and (min-width: 767px) {
  .common__bg video {
    object-position: center top;
  }
}
.common__people {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.common__people-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: linear-gradient(to right, #4932f4, #0096ff);
  mix-blend-mode: screen;
  z-index: 1;
}
.common__people-left {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: url(../img/top/mv_left_pc.png);
  background-size: 201.3333333333vw auto;
  background-position-y: 0;
  background-position-x: center;
  background-repeat: repeat-y;
}
@media only screen and (min-width: 767px) {
  .common__people-left {
    background-size: 117.96875vw auto;
  }
}
.common__people-right {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: url(../img/top/mv_right_pc.png);
  background-size: 201.3333333333vw auto;
  background-position-y: 0;
  background-position-x: center;
  background-repeat: repeat-y;
}
@media only screen and (min-width: 767px) {
  .common__people-right {
    background-size: 117.96875vw auto;
  }
}
.common__heading {
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 100%;
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
  color: transparent;
  margin-inline: auto;
}
.common__heading--case {
  mask-image: url("../img/svg/CASE.svg");
  width: 30.9333333333vw;
  height: 7.7333333333vw;
}
@media only screen and (min-width: 767px) {
  .common__heading--case {
    width: min(18.125vw, 232px);
    height: min(4.53125vw, 58px);
  }
}
.common__heading--news {
  mask-image: url("../img/svg/NEWS.svg");
  width: 30.2666666667vw;
  height: 7.7333333333vw;
}
@media only screen and (min-width: 767px) {
  .common__heading--news {
    width: min(17.734375vw, 227px);
    height: min(4.53125vw, 58px);
  }
}
.common__heading--plan {
  mask-image: url("../img/svg/PLAN.svg");
  width: 37.8666666667vw;
  height: 7.7333333333vw;
}
@media only screen and (min-width: 767px) {
  .common__heading--plan {
    width: min(22.1875vw, 284px);
    height: min(4.53125vw, 58px);
  }
}
.common__heading--faq {
  mask-image: url("../img/svg/FAQ.svg");
  width: 52vw;
  height: 7.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .common__heading--faq {
    width: min(30.46875vw, 390px);
    height: min(4.609375vw, 59px);
  }
}
.common__heading--contact {
  mask-image: url("../img/svg/CONTACT.svg");
  width: 46.8vw;
  height: 7.7333333333vw;
}
@media only screen and (min-width: 767px) {
  .common__heading--contact {
    width: min(27.421875vw, 351px);
    height: min(4.53125vw, 58px);
  }
}
.common__button {
  position: relative;
  display: block;
  margin: 7.8666666667vw auto 0;
  width: 61.3333333333vw;
  height: 12.8vw;
  padding: 1.0666666667vw;
  border-radius: 6.4vw;
  overflow: hidden;
}
.common__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #4932f4 30%, #0096ff 70%);
  transition: transform 400ms cubic-bezier(0.02, 0.505, 0.155, 0.995);
}
@media only screen and (min-width: 767px) {
  .common__button {
    margin: min(2.34375vw, 30px) auto 0;
    width: min(23.4375vw, 300px);
    height: min(5vw, 64px);
    padding: min(0.46875vw, 6px);
    border-radius: min(2.5vw, 32px);
    transition: all 300ms ease;
  }
  .common__button:hover {
    transform: scale(0.98);
  }
  .common__button::before {
    width: min(23.4375vw, 300px);
    height: min(23.4375vw, 300px);
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(180deg, #4932f4 40%, #0096ff 60%);
  }
  .common__button:hover::before {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.common__button.is-external:after {
  display: block;
  content: "";
  position: absolute;
  background: url(../img/icon_external.png);
  background: url(../img/icon_external.png) no-repeat;
  background-size: auto 100%;
  width: 3.3333333333vw;
  height: 3.2vw;
  right: 5.8666666667vw;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 767px) {
  .common__button.is-external:after {
    width: min(1.328125vw, 17px);
    height: min(1.25vw, 16px);
    right: min(1.875vw, 24px);
  }
}
.common__button-bg {
  position: relative;
  background-color: #fff;
  height: 100%;
  border-radius: 5.3333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .common__button-bg {
    border-radius: min(2.03125vw, 26px);
  }
}
.common__button-text {
  font-size: 4vw;
  font-weight: 900;
  color: #4932f4;
}
@media only screen and (min-width: 767px) {
  .common__button-text {
    font-size: min(1.5625vw, 20px);
  }
}

.top__main {
  position: relative;
  z-index: 1;
}
.top__text-bg {
  position: relative;
}
.top__text-bg:before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 0;
}
.top__text-bg span {
  position: relative;
  z-index: 1;
}
.top__circle {
  position: relative;
  width: max-content;
  display: block;
}
.top__circle-base {
  width: 37.3333333333vw;
  height: 37.3333333333vw;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top__circle-base {
    width: min(21.875vw, 280px);
    height: min(21.875vw, 280px);
    transition: all 300ms ease;
  }
  .top__circle-base:hover {
    transform: scale(0.98);
  }
}
.top__circle-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.top__circle-layer3 {
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 100%;
  mask-image: url("../img/svg/btn.svg");
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
  color: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 19.3333333333vw;
  height: 4vw;
}
@media only screen and (min-width: 767px) {
  .top__circle-layer3 {
    width: min(9.921875vw, 127px);
    height: min(2.34375vw, 30px);
  }
}
.top__content {
  background-color: #f2f2f2;
  margin-bottom: 6.1333333333vw;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 767px) {
  .top__content {
    margin-bottom: min(6.25vw, 80px);
  }
}
.top__content:before {
  display: block;
  content: "";
  position: absolute;
  top: -5.8666666667vw;
  background: url(../img/curve_top_grey.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 6.1333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__content:before {
    top: -6.09375vw;
    background: url(../img/curve_top_grey_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.top__content:after {
  display: block;
  content: "";
  position: absolute;
  bottom: -5.8666666667vw;
  background: url(../img/curve_top_grey.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 6.1333333333vw;
  transform: scale(1, -1);
}
@media only screen and (min-width: 767px) {
  .top__content:after {
    bottom: -6.09375vw;
    background: url(../img/curve_top_grey_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.top__content--first {
  margin-bottom: 0;
}
.top__content--first:after {
  display: block;
  content: "";
  display: none;
}
.top__content--second {
  margin-top: 0;
}
.top__content--second:before {
  display: block;
  content: "";
  display: none;
}
.top__worry {
  position: relative;
  padding: 40vw 0;
  margin: 0 auto;
}
@media only screen and (min-width: 767px) {
  .top__worry {
    padding: min(23.4375vw, 300px) 0;
  }
}
.top__worry--point1 {
  padding: 36.2666666667vw 0 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__worry--point1 {
    padding: min(23.59375vw, 302px) 0 min(7.8125vw, 100px);
  }
}
.top__worry--point1 .top__worry-wrapper {
  margin-top: 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__worry--point1 .top__worry-wrapper {
    margin-top: min(14.609375vw, 187px);
  }
}
.top__worry--point2 {
  margin-bottom: 6.1333333333vw;
  z-index: 2;
  background-color: #f2f2f2;
  padding: 40vw 0 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__worry--point2 {
    padding: min(23.4375vw, 300px) 0 min(7.8125vw, 100px);
    margin-bottom: min(6.25vw, 80px);
  }
}
.top__worry--point2:after {
  display: block;
  content: "";
  position: absolute;
  bottom: -5.8666666667vw;
  background: url(../img/curve_top_grey.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 6.1333333333vw;
  transform: scale(1, -1);
}
@media only screen and (min-width: 767px) {
  .top__worry--point2:after {
    bottom: -6.09375vw;
    background: url(../img/curve_top_grey_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
@media only screen and (min-width: 767px) {
  .top__worry--point2 .top__worry-text {
    width: min(42.96875vw, 550px);
  }
}
.top__worry--point3 {
  padding: 38.4vw 0 13.3333333333vw;
  margin-top: 6.1333333333vw;
  z-index: 2;
  background-color: #f2f2f2;
}
@media only screen and (min-width: 767px) {
  .top__worry--point3 {
    padding: min(23.4375vw, 300px) 0 min(7.8125vw, 100px);
    margin-top: min(6.171875vw, 79px);
  }
}
.top__worry--point3:before {
  display: block;
  content: "";
  position: absolute;
  top: -5.8666666667vw;
  background: url(../img/curve_top_grey.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 6.1333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__worry--point3:before {
    top: -6.09375vw;
    background: url(../img/curve_top_grey_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.top__worry-title {
  width: fit-content;
  color: transparent;
  margin-inline: auto;
}
.top__worry-title p {
  display: block;
  height: 97%;
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 100%;
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
}
.top__worry-title--p1 p {
  mask-image: url("../img/svg/04_sp.svg");
  width: 49.7333333333vw;
  height: 18.2666666667vw;
}
@media only screen and (min-width: 767px) {
  .top__worry-title--p1 p {
    mask-image: url("../img/svg/04.svg");
    width: min(60vw, 768px);
    height: min(4.609375vw, 59px);
  }
}
.top__worry-title--p2 {
  mask-image: url("../img/svg/05.svg");
  width: 15.3333333333vw;
  height: 8.5333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__worry-title--p2 {
    width: min(8.984375vw, 115px);
    height: min(5vw, 64px);
  }
}
.top__worry-title--p3 {
  mask-image: url("../img/svg/06.svg");
  width: 73.3333333333vw;
  height: 8vw;
}
@media only screen and (min-width: 767px) {
  .top__worry-title--p3 {
    width: min(42.96875vw, 550px);
    height: min(4.6875vw, 60px);
  }
}
.top__worry-wrapper {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  row-gap: 5.3333333333vw;
  padding: 0 4vw;
  align-items: center;
}
@media only screen and (min-width: 767px) {
  .top__worry-wrapper {
    max-width: min(90.625vw, 1160px);
    margin-inline: auto;
    column-gap: min(1.25vw, 16px);
    row-gap: min(4.6875vw, 60px);
    padding: 0 min(2.34375vw, 30px);
  }
}
.top__worry-icon {
  width: 38vw;
  margin-left: 2.6666666667vw;
  mask-image: url(../img/top/worry_mask.png);
  mask-size: 100%;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top__worry-icon {
    width: min(22.265625vw, 285px);
    flex-shrink: 0;
    margin-left: 0;
  }
}
.top__worry-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}
.top__worry-text {
  font-size: 4.2666666667vw;
  font-weight: 900;
  line-height: 1.5;
}
@media only screen and (min-width: 767px) {
  .top__worry-text {
    text-align: center;
    font-size: min(2.5vw, 32px);
  }
}
.top__worry-arrow {
  position: relative;
  width: 10.9333333333vw;
  height: 16.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .top__worry-arrow {
    width: min(6.40625vw, 82px);
    height: min(9.84375vw, 126px);
  }
}
.top__worry-arrow--base {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}
.top__worry-arrow--pic1 {
  background: url(../img/top/worry_arrow1.png) no-repeat;
  background-size: 100%;
}
.top__worry-arrow--pic2 {
  background: url(../img/top/worry_arrow2.png) no-repeat;
  background-size: 100%;
}
.top__worry-arrow--pic3 {
  background: url(../img/top/worry_arrow3.png) no-repeat;
  background-size: 100%;
}
.top__worry-arrow--pic4 {
  background: url(../img/top/worry_arrow4.png) no-repeat;
  background-size: 100%;
}
.top__worry-answer {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__worry-answer {
    row-gap: min(0.78125vw, 10px);
  }
}
.top__worry-item {
  position: relative;
  font-size: 5.3333333333vw;
  font-weight: 900;
  color: #fff;
  width: max-content;
  line-height: 1;
  padding: 1.2vw 1.0666666667vw 1.6vw;
}
@media only screen and (min-width: 767px) {
  .top__worry-item {
    font-size: min(3.125vw, 40px);
    padding: min(0.703125vw, 9px) min(0.625vw, 8px) min(0.9375vw, 12px);
  }
}
.top__worry-item:before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #4932f4;
  z-index: 0;
}
.top__worry-item span {
  display: block;
  line-height: 1;
  position: relative;
  z-index: 1;
}
.top__worry-item:first-child:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-top: 4vw solid #0096ff;
  border-left: 2.2666666667vw solid #0096ff;
  border-right: 2.2666666667vw solid transparent;
  border-bottom: 4vw solid transparent;
}
@media only screen and (min-width: 767px) {
  .top__worry-item:first-child:after {
    border-top: min(2.34375vw, 30px) solid #0096ff;
    border-left: min(1.328125vw, 17px) solid #0096ff;
    border-right: min(1.328125vw, 17px) solid transparent;
    border-bottom: min(2.34375vw, 30px) solid transparent;
  }
}
.top__worry-item:last-child:after {
  display: block;
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-top: 4vw solid transparent;
  border-left: 2.2666666667vw solid transparent;
  border-right: 2.2666666667vw solid #0096ff;
  border-bottom: 4vw solid #0096ff;
}
@media only screen and (min-width: 767px) {
  .top__worry-item:last-child:after {
    border-top: min(2.34375vw, 30px) solid transparent;
    border-left: min(1.328125vw, 17px) solid transparent;
    border-right: min(1.328125vw, 17px) solid #0096ff;
    border-bottom: min(2.34375vw, 30px) solid #0096ff;
  }
}
.top__common-title {
  font-size: 8vw;
  font-weight: 900;
  color: #4932f4;
  width: max-content;
  margin-inline: auto;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top__common-title {
    font-size: min(3.125vw, 40px);
  }
}
.top__common-title:after {
  display: block;
  content: "";
  position: absolute;
  width: 8vw;
  height: 1.0666666667vw;
  bottom: -3.7333333333vw;
  left: 50%;
  transform: translateX(-50%);
  background-color: #4932f4;
  border-radius: 0.5333333333vw;
}
@media only screen and (min-width: 767px) {
  .top__common-title:after {
    width: min(3.125vw, 40px);
    height: min(0.46875vw, 6px);
    bottom: min(-1.953125vw, -25px);
    border-radius: min(0.234375vw, 3px);
  }
}

.top-mv {
  background-color: #fff;
  position: relative;
  z-index: 5;
}
.top-mv:after {
  display: block;
  content: "";
  position: absolute;
  bottom: -13.2vw;
  background: url(../img/curve_bot_white.png) no-repeat;
  background-position: bottom;
  background-size: 100%;
  width: 100%;
  height: 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-mv:after {
    bottom: -6.09375vw;
    background: url(../img/curve_bot_white_pc.png) no-repeat;
    background-position: bottom;
    background-size: 100%;
    height: 6.25vw;
  }
}
.top-mv__inner {
  padding-top: 52.5333333333vw;
  padding-bottom: 48.1333333333vw;
  padding-right: 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-mv__inner {
    padding-top: 13.90625vw;
    padding-bottom: 12.03125vw;
    padding-right: 1.5625vw;
  }
}
.top-mv__title {
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 200%;
  background-position: 0%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-weight: 900;
  display: flex;
  flex-direction: column;
}
.top-mv__title-item {
  display: block;
  margin-left: auto;
}
@media only screen and (min-width: 767px) {
  .top-mv__title-item {
    line-height: 1.1;
    width: 50vw;
  }
}
.top-mv__title-item:nth-child(1) {
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 100%;
  mask-image: url("../img/svg/01.svg");
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
  color: transparent;
  width: 84.9333333333vw;
  height: 7.2vw;
}
@media only screen and (min-width: 767px) {
  .top-mv__title-item:nth-child(1) {
    width: 49.6875vw;
    height: 4.296875vw;
  }
}
.top-mv__title-item:nth-child(2) {
  height: 8.4375vw;
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 100%;
  mask-image: url("../img/svg/02.svg");
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
  color: transparent;
  width: 84.2666666667vw;
  height: 11.0666666667vw;
  margin-right: 0.1333333333vw;
  margin-top: 2.9333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-mv__title-item:nth-child(2) {
    width: 49.375vw;
    height: 6.484375vw;
    margin-right: 0;
    margin-top: 1.796875vw;
  }
}
.top-mv__title-item:nth-child(3) {
  background: linear-gradient(to right, #4932f4, #0096ff, #4932f4);
  background-size: 200% 100%;
  mask-image: url("../img/svg/03.svg");
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
  color: transparent;
  width: 83.8666666667vw;
  height: 8.4vw;
  margin-right: 1.0666666667vw;
  margin-top: 2.9333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-mv__title-item:nth-child(3) {
    width: 48.90625vw;
    height: 6.25vw;
    margin-right: 0.234375vw;
    margin-top: 1.09375vw;
  }
}
.top-mv__sub {
  display: flex;
  flex-direction: column;
  position: absolute;
  right: 4vw;
  bottom: -13.8666666667vw;
  row-gap: 1.3333333333vw;
  width: 68.6666666667vw;
  z-index: 1;
}
@media only screen and (min-width: 767px) {
  .top-mv__sub {
    right: 4.6875vw;
    bottom: -8.125vw;
    row-gap: 0.78125vw;
    width: 40.234375vw;
  }
}
@media only screen and (min-width: 1280px) {
  .top-mv__sub {
    bottom: calc(-24px - 6.25vw);
  }
}
.top-mv__sub-text {
  font-size: 5.3333333333vw;
  font-weight: 900;
  color: #4932f4;
  width: max-content;
  line-height: 1;
  padding: 1.2vw 1.0666666667vw 1.6vw;
}
@media only screen and (min-width: 767px) {
  .top-mv__sub-text {
    font-size: 3.125vw;
    padding: 0.703125vw 0.625vw 0.9375vw;
  }
}
.top-mv__sub-text:nth-child(2) {
  margin-left: auto;
}
.top-mv__sub-text span {
  display: block;
  line-height: 1;
}

.top-about {
  padding-top: 51.3333333333vw;
  margin-bottom: -13.3333333333vw;
  background-color: white;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top-about {
    padding-top: 17.1875vw;
    margin-bottom: -7.8125vw;
  }
}
.top-about__sub {
  display: flex;
  flex-direction: column;
  position: relative;
  row-gap: 1.3333333333vw;
  margin: 0 auto;
  width: max-content;
  z-index: 2;
}
@media only screen and (min-width: 767px) {
  .top-about__sub {
    row-gap: 0.78125vw;
  }
}
.top-about__sub:not(:first-child) {
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-about__sub:not(:first-child) {
    margin-top: 3.125vw;
  }
}
.top-about__sub-text {
  font-size: 5.3333333333vw;
  font-weight: 900;
  color: #4932f4;
  width: max-content;
  line-height: 1;
  padding: 1.2vw 1.0666666667vw 1.6vw;
}
@media only screen and (min-width: 767px) {
  .top-about__sub-text {
    font-size: 3.125vw;
    padding: 0.703125vw 0.625vw 0.9375vw;
  }
}
.top-about__sub-text span {
  display: block;
  line-height: 1;
}
.top-about__circle {
  position: relative;
  margin: 26.6666666667vw auto 0;
  z-index: 2;
}
@media only screen and (min-width: 767px) {
  .top-about__circle {
    margin: min(15.625vw, 200px) auto 0;
    transition: all 300ms ease;
  }
  .top-about__circle:hover {
    transform: scale(0.98);
  }
}

.top-benefit {
  padding: 12vw 4vw 4vw;
  background-color: #fff;
  border-radius: 5.3333333333vw;
  width: 92vw;
  margin: 0 auto;
}
@media only screen and (min-width: 767px) {
  .top-benefit {
    padding: min(6.71875vw, 86px) min(6.09375vw, 78px) min(5.078125vw, 65px);
    border-radius: min(3.125vw, 40px);
    width: min(90.625vw, 1160px);
  }
}
.top-benefit__title {
  font-size: 6.4vw;
  font-weight: 900;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 2.4vw;
  row-gap: 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__title {
    font-size: min(3.75vw, 48px);
    column-gap: min(1.40625vw, 18px);
    row-gap: min(0.3125vw, 4px);
  }
}
.top-benefit__title-default {
  display: flex;
  align-items: center;
  text-align: center;
  line-height: 1;
}
.top-benefit__title-default:first-child {
  line-height: 1.4583333333;
}
.top-benefit__title-item1 {
  display: flex;
  align-items: center;
  column-gap: 1.7333333333vw;
  font-size: 8vw;
}
.top-benefit__title-item1-text {
  background: linear-gradient(to right, #4932f4, #0096ff);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  line-height: 9.0666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__title-item1-text {
    line-height: min(5.3125vw, 68px);
  }
}
@media only screen and (min-width: 767px) {
  .top-benefit__title-item1 {
    column-gap: min(1.015625vw, 13px);
    font-size: min(4.6875vw, 60px);
  }
}
.top-benefit__title-icon1 {
  width: 4.2666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__title-icon1 {
    width: min(2.5vw, 32px);
  }
}
.top-benefit__title-item2 {
  display: flex;
  align-items: center;
  background: linear-gradient(to right, #ff5a00, #ffa200);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  column-gap: 3.2vw;
  font-size: 8vw;
}
.top-benefit__title-item2-text {
  background: linear-gradient(to right, #ff5a00, #ffa200);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  line-height: 9.0666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__title-item2-text {
    line-height: min(5.3125vw, 68px);
  }
}
@media only screen and (min-width: 767px) {
  .top-benefit__title-item2 {
    column-gap: min(1.875vw, 24px);
    font-size: min(4.6875vw, 60px);
  }
}
.top-benefit__title-icon2 {
  width: 15.7333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__title-icon2 {
    width: min(9.21875vw, 118px);
  }
}
.top-benefit__inner {
  margin-top: 17.6vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__inner {
    margin-top: min(8.59375vw, 110px);
    display: flex;
    column-gap: min(3.125vw, 40px);
  }
}
.top-benefit__box {
  background-color: #f2f2f2;
  border-radius: 2.6666666667vw;
  font-size: 5.3333333333vw;
  font-weight: 900;
  display: flex;
  flex-direction: column;
  row-gap: 6.4vw;
  padding-bottom: 6.4vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__box {
    border-radius: min(1.5625vw, 20px);
    font-size: min(2.34375vw, 30px);
    row-gap: min(2.96875vw, 38px);
    padding-bottom: min(2.734375vw, 35px);
    width: min(37.5vw, 480px);
  }
}
.top-benefit__box--second {
  margin-top: 8.4vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__box--second {
    margin-top: 0;
  }
}
.top-benefit__box-title {
  background: linear-gradient(to right, #4932f4, #0096ff);
  margin: -4.4vw auto 0;
  width: 42vw;
  height: 8.8vw;
  border-radius: 4.4vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .top-benefit__box-title {
    margin: min(-1.953125vw, -25px) auto 0;
    width: min(18.75vw, 240px);
    height: min(3.90625vw, 50px);
    border-radius: min(1.953125vw, 25px);
  }
}
.top-benefit__box-title span {
  color: #fff;
}
@media only screen and (min-width: 767px) {
  .top-benefit__box-title span {
    font-size: min(1.875vw, 24px);
  }
}
.top-benefit__box-title--orange {
  background: linear-gradient(to right, #ff5a00, #ffa200);
}
.top-benefit__box-sub {
  padding: 0 4vw;
  text-align: center;
  background: linear-gradient(to right, #4932f4, #0096ff);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  line-height: 1.375;
}
@media only screen and (min-width: 767px) {
  .top-benefit__box-sub {
    padding: 0 min(2.34375vw, 30px);
  }
}
.top-benefit__box-sub--orange {
  background: linear-gradient(to right, #ff5a00, #ffa200);
  background-clip: text;
  -webkit-background-clip: text;
}
.top-benefit__box-summary {
  background-color: #fff;
  width: 73.6vw;
  height: 14vw;
  border-radius: 7.0666666667vw;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .top-benefit__box-summary {
    width: min(32.8125vw, 420px);
    height: min(6.25vw, 80px);
    border-radius: min(3.125vw, 40px);
  }
}
.top-benefit__box-summary span {
  background: linear-gradient(to right, #4932f4, #0096ff);
  background-size: 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.top-benefit__box-summary--orange span {
  background: linear-gradient(to right, #ff5a00, #ffa200);
  background-clip: text;
  -webkit-background-clip: text;
}
.top-benefit__list {
  display: flex;
  flex-direction: column;
  row-gap: 1.8666666667vw;
  width: max-content;
  margin: 0 auto 0 9.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-benefit__list {
    row-gap: min(0.78125vw, 10px);
    margin: 0 auto 0 min(4.375vw, 56px);
  }
}
.top-benefit__list-item {
  font-size: 4.2666666667vw;
  font-weight: 500;
  padding-left: 5.2vw;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top-benefit__list-item {
    font-size: min(1.875vw, 24px);
    padding-left: min(2.5vw, 32px);
  }
}
.top-benefit__list-item:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2.8vw;
  height: 2.8vw;
  background: linear-gradient(to right, #4932f4, #0096ff);
  border-radius: 50%;
}
@media only screen and (min-width: 767px) {
  .top-benefit__list-item:before {
    width: min(1.25vw, 16px);
    height: min(1.25vw, 16px);
  }
}
.top-benefit__list-item--orange:before {
  display: block;
  content: "";
  background: linear-gradient(to right, #ff5a00, #ffa200);
}

.top-feature {
  background: linear-gradient(to bottom, #0096ff 0%, #4932f4 66%, #5706d1 100%);
  margin-top: -6.1333333333vw;
  margin-bottom: -6.1333333333vw;
  position: relative;
  padding: 6.1333333333vw 0;
}
@media only screen and (min-width: 767px) {
  .top-feature {
    margin-top: -6.25vw;
    margin-bottom: -6.25vw;
    padding: 6.25vw 0;
  }
}
.top-feature__inner {
  padding-top: 23.3333333333vw;
  padding-bottom: 36.6666666667vw;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-feature__inner {
    padding-top: min(9.375vw, 120px);
    padding-bottom: min(17.578125vw, 225px);
  }
}
.top-feature__title {
  column-gap: 2.1333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .top-feature__title {
    column-gap: min(1.25vw, 16px);
  }
}
.top-feature__title-icon {
  display: block;
  width: 37.4666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__title-icon {
    width: min(21.953125vw, 281px);
  }
}
.top-feature__title-item {
  font-size: 6.4vw;
  font-weight: 900;
  color: #fff;
}
@media only screen and (min-width: 767px) {
  .top-feature__title-item {
    font-size: min(3.75vw, 48px);
  }
}
.top-feature__description {
  text-align: center;
  font-size: 6.4vw;
  font-weight: 900;
  color: #fff;
  margin-top: 2.6666666667vw;
  line-height: 1.6666666667;
}
@media only screen and (min-width: 767px) {
  .top-feature__description {
    font-size: min(3.75vw, 48px);
    margin-top: min(2.03125vw, 26px);
  }
}
.top-feature__screen {
  width: 100%;
  margin-top: 12vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__screen {
    width: min(76.09375vw, 974px);
    margin-top: min(7.03125vw, 90px);
    margin-inline: auto;
  }
}
.top-feature__rakuen {
  width: 93.3333333333vw;
  margin-top: 12vw;
  perspective: 90vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__rakuen {
    width: min(71.484375vw, 915px);
    margin-top: min(7.03125vw, 90px);
    padding-bottom: min(4.296875vw, 55px);
    padding-left: 0;
    margin-inline: auto;
  }
}
.top-feature__rakuen-pic {
  transform: rotateX(4deg) rotateY(-7deg) rotateZ(1deg) skewX(-4deg) scale(0.935, 1);
  box-shadow: 3.2vw 2.1333333333vw 2.1333333333vw rgba(0, 0, 0, 0.16);
  border-radius: 0.8vw;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-feature__rakuen-pic {
    border-radius: min(0.703125vw, 9px);
    box-shadow: min(1.875vw, 24px) min(1.25vw, 16px) min(1.25vw, 16px) rgba(0, 0, 0, 0.16);
    transform: rotateX(9deg) rotateY(-18deg) rotateZ(4deg) skewX(-4deg) scale(0.9, 1);
  }
}
.top-feature__list {
  margin-top: 30.1333333333vw;
  padding: 0 5.3333333333vw 0 6.6666666667vw;
  display: flex;
  flex-direction: column;
  row-gap: 12.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__list {
    margin-top: min(7.03125vw, 90px);
    margin-inline: auto;
    padding: 0;
    width: min(74.21875vw, 950px);
    gap: min(3.125vw, 40px);
    flex-wrap: wrap;
    flex-direction: unset;
    justify-content: center;
  }
}
.top-feature__item {
  display: flex;
  color: #fff;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top-feature__item {
    flex-direction: column;
    width: min(35.15625vw, 450px);
    height: min(35.15625vw, 450px);
  }
  .top-feature__item::after {
    position: absolute;
    border: #fff solid min(0.3125vw, 4px);
    border-radius: 50%;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
  }
}
.top-feature__item--icon {
  position: absolute;
  flex-shrink: 0;
  left: 1.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon {
    top: min(5.078125vw, 65px);
    left: 50%;
    transform: translateX(-50%);
  }
}
.top-feature__item--icon1 {
  width: 9.7333333333vw;
  left: 2.9333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon1 {
    width: min(5.703125vw, 73px);
    left: 50%;
  }
}
.top-feature__item--icon2 {
  width: 12.5333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon2 {
    top: min(4.84375vw, 62px);
    width: min(7.34375vw, 94px);
  }
}
.top-feature__item--icon3 {
  width: 13.3333333333vw;
  left: 0;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon3 {
    left: 50%;
    top: min(4.921875vw, 63px);
    width: min(7.8125vw, 100px);
  }
}
.top-feature__item--icon4 {
  width: 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon4 {
    top: min(3.984375vw, 51px);
    width: min(7.8125vw, 100px);
  }
}
.top-feature__item--icon5 {
  width: 13.2vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon5 {
    top: min(5.234375vw, 67px);
    width: min(7.734375vw, 99px);
  }
}
.top-feature__item--icon6 {
  width: 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item--icon6 {
    top: min(6.796875vw, 87px);
    width: min(7.8125vw, 100px);
  }
}
.top-feature__item-content {
  padding-left: 17.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-feature__item-content {
    padding: min(15.46875vw, 198px) 0 0;
  }
}
.top-feature__item-title {
  font-size: 5.3333333333vw;
  font-weight: 900;
}
@media only screen and (min-width: 767px) {
  .top-feature__item-title {
    font-size: min(2.5vw, 32px);
    text-align: center;
  }
}
.top-feature__item-text {
  margin-top: 2.6666666667vw;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.8461538462;
}
@media only screen and (min-width: 767px) {
  .top-feature__item-text {
    margin-top: min(1.5625vw, 20px);
    font-size: min(1.25vw, 16px);
    padding: 0 min(6.25vw, 80px);
  }
}

.top-portal {
  position: relative;
}
.top-portal__bg {
  position: relative;
  height: 81.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__bg {
    height: 46.09375vw;
  }
}
.top-portal__summary {
  position: absolute;
  top: 21.3333333333vw;
  width: 100%;
}
@media only screen and (min-width: 767px) {
  .top-portal__summary {
    top: 12.5vw;
  }
}
.top-portal__title {
  column-gap: 2.1333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .top-portal__title {
    column-gap: 1.25vw;
  }
}
.top-portal__title-icon {
  display: block;
  width: 37.4666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__title-icon {
    width: 21.953125vw;
  }
}
.top-portal__title-item {
  font-size: 6.4vw;
  font-weight: 900;
  color: #fff;
}
@media only screen and (min-width: 767px) {
  .top-portal__title-item {
    font-size: 3.75vw;
  }
}
.top-portal__description {
  text-align: center;
  font-size: 6.4vw;
  font-weight: 900;
  color: #fff;
  margin-top: 1.3333333333vw;
  line-height: 1.4583333333;
}
@media only screen and (min-width: 767px) {
  .top-portal__description {
    font-size: 3.75vw;
    margin-top: 0.78125vw;
  }
}
.top-portal__inner {
  position: relative;
  background-color: #fff;
  margin-top: 0vw;
  margin-bottom: 3.3333333333vw;
  z-index: 1;
  padding-bottom: 24vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__inner {
    margin-top: 0;
    margin-bottom: min(6.171875vw, 79px);
    padding-bottom: min(11.875vw, 152px);
  }
}
.top-portal__inner:before {
  display: block;
  content: "";
  position: absolute;
  top: -3.0666666667vw;
  background: url(../img/curve_portal_top_white.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 3.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__inner:before {
    top: -6.09375vw;
    background: url(../img/curve_portal_top_white_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.top-portal__inner:after {
  display: block;
  content: "";
  position: absolute;
  bottom: -3.0666666667vw;
  background: url(../img/curve_portal_top_white.png) no-repeat;
  background-position: top;
  background-size: 100%;
  width: 100%;
  height: 3.3333333333vw;
  transform: scale(1, -1);
}
@media only screen and (min-width: 767px) {
  .top-portal__inner:after {
    bottom: -6.09375vw;
    background: url(../img/curve_portal_top_white_pc.png) no-repeat;
    background-position: top;
    background-size: 100%;
    height: 6.25vw;
  }
}
.top-portal__content {
  padding-top: 9.7333333333vw;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-portal__content {
    padding-top: min(3.671875vw, 47px);
    max-width: min(100vw, 1280px);
    margin-inline: auto;
  }
}
.top-portal__tilt {
  width: 93.3333333333vw;
  padding-top: 7.0666666667vw;
  padding-bottom: 6.6666666667vw;
  perspective: 100vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__tilt {
    width: 100%;
    padding-top: min(5.078125vw, 65px);
    padding-bottom: min(4.296875vw, 55px);
    padding-left: 0;
    margin-inline: auto;
    perspective: 60vw;
  }
}
.top-portal__tilt--pattern1 {
  width: 62.6666666667vw;
  perspective: 60vw;
  margin-top: 0;
  margin-right: auto;
  margin-left: 13.3333333333vw;
  padding-top: 4vw;
  padding-bottom: 9.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__tilt--pattern1 {
    width: 100%;
    margin-inline: auto;
    padding-top: min(1.5625vw, 20px);
    padding-bottom: 0;
  }
}
.top-portal__tilt--pattern1 .top-portal__tilt-pic {
  transform: translate3d(-10vw, 0, 0) rotateX(3deg) rotateY(11deg) rotateZ(2deg) skewX(6deg) scale(0.85, 1);
}
@media only screen and (min-width: 767px) {
  .top-portal__tilt--pattern1 .top-portal__tilt-pic {
    transform: translate3d(0vw, 0, 0) rotateX(2deg) rotateY(26deg) rotateZ(3deg) skewX(4deg) scale(0.95, 1);
  }
}
.top-portal__tilt--pattern2 {
  width: 69.8666666667vw;
  perspective: 60vw;
  margin-top: 0;
  margin-right: 1.3333333333vw;
  margin-left: auto;
  padding-top: 3.3333333333vw;
  padding-bottom: 6vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__tilt--pattern2 {
    width: 100%;
    margin-inline: auto;
    padding: 0;
  }
}
.top-portal__tilt--pattern2 .top-portal__tilt-pic {
  transform: rotateX(3deg) rotateY(-11deg) rotateZ(-1deg) skewX(-6deg) scale(0.835, 1);
}
@media only screen and (min-width: 767px) {
  .top-portal__tilt--pattern2 .top-portal__tilt-pic {
    transform: rotateX(2deg) rotateY(-26deg) rotateZ(-1deg) skewX(-2deg) scale(0.95, 1);
  }
}
.top-portal__tilt-pic {
  transform: rotateX(4deg) rotateY(-7deg) rotateZ(1deg) skewX(-4deg) scale(0.935, 1);
  box-shadow: 3.2vw 2.1333333333vw 2.1333333333vw rgba(0, 0, 0, 0.16);
  border-radius: 0.8vw;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-portal__tilt-pic {
    border-radius: min(0.703125vw, 9px);
    box-shadow: min(1.875vw, 24px) min(1.25vw, 16px) min(1.25vw, 16px) rgba(0, 0, 0, 0.16);
    margin-left: 0;
    transform: rotateX(9deg) rotateY(-18deg) rotateZ(4deg) skewX(-4deg) scale(0.9, 1);
  }
}
.top-portal__content-screen {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 767px) {
  .top-portal__content-screen {
    width: min(56.71875vw, 726px);
    margin-left: auto;
    margin-right: min(4.296875vw, 55px);
  }
}
.top-portal__content-title {
  margin-top: -11.2vw;
  margin-inline: auto;
  width: 136.6666666667vw;
  height: 16.9333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__content-title {
    margin-left: 0;
  }
}
.top-portal__content-title p {
  display: block;
  height: 100%;
  background: #0096ff;
  background-size: 200% 100%;
  mask-image: url("../img/svg/portalsite.svg");
  mask-repeat: no-repeat;
  mask-size: 100%;
  mask-position: left center;
  color: transparent;
}
@media only screen and (min-width: 767px) {
  .top-portal__content-title {
    width: min(80.078125vw, 1025px);
    height: min(9.921875vw, 127px);
    margin-top: max(-12.96875vw, -166px);
  }
}
.top-portal__content-text {
  margin-top: 24vw;
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.8461538462;
  padding: 0 4vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__content-text {
    margin-top: min(9.375vw, 120px);
    font-size: min(1.5625vw, 20px);
    padding: 0 min(4.6875vw, 60px);
    width: min(66.40625vw, 850px);
  }
}
.top-portal__list {
  padding: 26.6666666667vw 0 0;
  display: flex;
  flex-direction: column;
  row-gap: 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__list {
    padding: min(9.375vw, 120px) min(2.34375vw, 30px) 0;
    row-gap: min(6.40625vw, 82px);
    max-width: min(100vw, 1280px);
    margin-inline: auto;
  }
}
.top-portal__item {
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 767px) {
  .top-portal__item {
    flex-direction: row;
    padding-left: min(2.34375vw, 30px);
  }
}
@media only screen and (min-width: 767px) {
  .top-portal__item:nth-child(2n) {
    flex-direction: row-reverse;
    padding-left: 0;
  }
}
.top-portal__item-pic {
  width: 100%;
}
@media only screen and (min-width: 767px) {
  .top-portal__item-pic {
    width: min(40.859375vw, 523px);
    flex-shrink: 0;
  }
}
.top-portal__item-info {
  margin-top: 1.3333333333vw;
  padding: 0 3.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__item-info {
    margin-top: min(2.34375vw, 30px);
    padding: 0 min(1.953125vw, 25px);
  }
}
.top-portal__item-title {
  font-size: 4.2666666667vw;
  font-weight: 900;
  color: #4e38f4;
  line-height: 1.5;
}
@media only screen and (min-width: 767px) {
  .top-portal__item-title {
    font-size: min(2.5vw, 32px);
  }
}
.top-portal__item-text {
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.8461538462;
  margin-top: 5.3333333333vw;
  letter-spacing: 0;
}
@media only screen and (min-width: 767px) {
  .top-portal__item-text {
    font-size: min(1.5625vw, 20px);
    margin-top: min(3.90625vw, 50px);
  }
}
.top-portal__sub {
  margin-inline: auto;
  padding-top: 30.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__sub {
    padding-top: min(14.0625vw, 180px);
  }
}
@media only screen and (min-width: 1280px) {
  .top-portal__sub {
    padding-top: calc(100px + 6.25vw);
  }
}
.top-portal__sub p {
  display: block;
  font-size: 5.3333333333vw;
  font-weight: 900;
  text-align: center;
  color: white;
}
@media only screen and (min-width: 767px) {
  .top-portal__sub p {
    font-size: min(3.125vw, 40px);
  }
}
.top-portal__circle {
  width: 92vw;
  margin-inline: auto;
  z-index: 3;
  margin-top: 8vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__circle {
    width: min(51.09375vw, 654px);
    margin-top: min(4.6875vw, 60px);
  }
}
.top-portal__circle-base {
  width: 92vw;
  height: 48.4vw;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top-portal__circle-base {
    width: min(51.09375vw, 654px);
    height: min(23.90625vw, 306px);
  }
}
.top-portal__circle-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.top-portal__circle-layer--blue {
  z-index: 2;
}
.top-portal__blue {
  background: linear-gradient(to bottom, #4932f4, #0096ff);
  height: 152.6666666667vw;
  margin-top: -3.3333333333vw;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue {
    height: min(82.03125vw, 1050px);
    margin-top: max(-6.171875vw, -79px);
  }
}
@media only screen and (min-width: 1280px) {
  .top-portal__blue {
    height: calc(970px + 6.25vw);
  }
}
.top-portal__blue-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  mix-blend-mode: overlay;
}
.top-portal__blue-slide {
  position: absolute;
  background: url(../img/rakuen_text_bg.png);
  background-size: 63.4666666667vw;
  width: 100%;
  height: 100%;
  animation: slide-horizontal 22s linear infinite;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue-slide {
    animation: slide-horizontal-pc 22s linear infinite;
    background-size: 37.1875vw;
  }
}
@media only screen and (min-width: 1280px) {
  .top-portal__blue-slide {
    animation: slide-horizontal-fixed 22s linear infinite;
    background-size: 476px;
  }
}
.top-portal__blue-reverse {
  position: absolute;
  background: url(../img/rakuen_text_bg_reverse.png);
  background-size: 63.4666666667vw;
  width: 100%;
  height: 100%;
  animation: slide-horizontal-reverse 22s linear infinite;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue-reverse {
    animation: slide-horizontal-reverse-pc 22s linear infinite;
    background-size: 37.1875vw;
  }
}
@media only screen and (min-width: 1280px) {
  .top-portal__blue-reverse {
    animation: slide-horizontal-reverse-fixed 22s linear infinite;
    background-size: 476px;
  }
}
.top-portal__blue .top-portal__summary {
  position: relative;
  top: 0;
  margin-top: 8vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__summary {
    margin-top: min(4.6875vw, 60px);
  }
}
.top-portal__blue .top-portal__description {
  margin-top: 0;
  line-height: 1.3333333333;
  font-size: 8vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__description {
    font-size: min(4.6875vw, 60px);
  }
}
.top-portal__blue .top-portal__description .sp-none {
  display: none;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__description .sp-none {
    display: inline-block;
  }
}
.top-portal__blue .top-portal__description .pc-none {
  display: inline-block;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__description .pc-none {
    display: none;
  }
}
.top-portal__blue .top-portal__title {
  margin-top: 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__title {
    margin-top: min(2.34375vw, 30px);
  }
}
.top-portal__blue .top-portal__title-icon {
  width: 58.2666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__title-icon {
    width: min(34.140625vw, 437px);
  }
}
.top-portal__blue .top-portal__title-item {
  font-size: 8vw;
}
@media only screen and (min-width: 767px) {
  .top-portal__blue .top-portal__title-item {
    font-size: min(4.6875vw, 60px);
  }
}

.top-case {
  padding-top: 40vw;
}
@media only screen and (min-width: 767px) {
  .top-case {
    padding-top: min(15.625vw, 200px);
  }
}
.top-case__swiper {
  margin-top: 17.0666666667vw;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper {
    margin-top: min(7.96875vw, 102px);
  }
}
.top-case__swiper-slide {
  width: 72vw;
  margin: 0 2.6666666667vw;
  position: relative;
  border-radius: 2.6666666667vw;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-slide {
    width: min(28.125vw, 360px);
    margin: 0 min(1.5625vw, 20px);
    border-radius: min(1.5625vw, 20px);
  }
}
.top-case__swiper-control {
  margin-top: 5.3333333333vw;
  column-gap: 5.3333333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-control {
    margin-top: min(1.5625vw, 20px);
    column-gap: min(1.5625vw, 20px);
  }
}
.top-case__swiper-prev {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background: url(../img/top/case/swiper_arrow.png) no-repeat;
  background-size: contain;
  transition: all 300ms ease;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-prev {
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
  }
  .top-case__swiper-prev:hover {
    transform: scale(0.9);
  }
}
.top-case__swiper-next {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  background: url(../img/top/case/swiper_arrow.png) no-repeat;
  background-size: contain;
  transform: scale(-1, 1);
  transition: all 300ms ease;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-next {
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
  }
  .top-case__swiper-next:hover {
    transform: scaleX(-1) scale(0.9);
  }
}
.top-case__swiper-pic {
  width: 72vw;
  height: 40vw;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-pic {
    width: min(28.125vw, 360px);
    height: min(15.625vw, 200px);
  }
}
.top-case__swiper-content {
  padding: 10vw 5.3333333333vw 8vw;
  font-size: 3.4666666667vw;
  background-color: #fff;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-content {
    padding: min(4.296875vw, 55px) min(2.34375vw, 30px) min(2.34375vw, 30px);
    font-size: min(1.25vw, 16px);
  }
}
.top-case__swiper-name {
  position: absolute;
  top: 35.0666666667vw;
  background-color: #fff;
  height: 10vw;
  width: 60vw;
  font-size: 4.8vw;
  font-weight: 900;
  color: #4932f4;
  border-radius: 5.0666666667vw;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-name {
    top: min(13.75vw, 176px);
    height: min(3.90625vw, 50px);
    width: min(23.4375vw, 300px);
    font-size: min(1.875vw, 24px);
    border-radius: min(1.953125vw, 25px);
  }
}
.top-case__swiper-title {
  font-size: 4.8vw;
  font-weight: 700;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-title {
    font-size: min(1.875vw, 24px);
  }
}
.top-case__swiper-title:not(:first-child) {
  margin-top: 4vw;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-title:not(:first-child) {
    margin-top: min(2.34375vw, 30px);
  }
}
.top-case__swiper-text {
  font-weight: 500;
  margin-top: 2.6666666667vw;
  line-height: 1.8461538462;
}
@media only screen and (min-width: 767px) {
  .top-case__swiper-text {
    margin-top: min(0.78125vw, 10px);
  }
}
.top-case__company-swiper {
  margin-top: 17.0666666667vw;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .top-case__company-swiper {
    margin-top: min(7.96875vw, 102px);
  }
}
.top-case__company-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
  align-items: center;
}
.top-case__company-slide {
  margin: 0 3.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-case__company-slide {
    margin: 0 min(1.953125vw, 25px);
  }
}
.top-case__company-slide[data-company="1"] {
  width: 33.0666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-case__company-slide[data-company="1"] {
    width: min(19.375vw, 248px);
  }
}
.top-case__company-slide[data-company="2"] {
  width: 17.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-case__company-slide[data-company="2"] {
    width: min(10.15625vw, 130px);
  }
}
.top-case__company-slide[data-company="3"] {
  width: 25.7333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-case__company-slide[data-company="3"] {
    width: min(15.078125vw, 193px);
  }
}
.top-case__company-slide[data-company="4"] {
  width: 18.1333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-case__company-slide[data-company="4"] {
    width: min(10.625vw, 136px);
  }
}
.top-case__company-slide[data-company="5"] {
  width: 13.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-case__company-slide[data-company="5"] {
    width: min(8.125vw, 104px);
  }
}

.top-plan {
  padding-top: 40vw;
}
@media only screen and (min-width: 767px) {
  .top-plan {
    padding-top: min(15.625vw, 200px);
  }
}
.top-plan__swiper.swiper-container {
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .top-plan__swiper.swiper-container {
    margin-top: min(1.5625vw, 20px);
  }
}

.top-faq {
  padding-top: 40vw;
  padding-bottom: 37.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .top-faq {
    padding-top: min(15.46875vw, 198px);
    padding-bottom: min(14.84375vw, 190px);
  }
}

.top-sidebar {
  position: fixed;
  left: 4vw;
  bottom: 4vw;
  z-index: 1000;
  transition: transform 0.5s ease, visibility 0.3s ease;
}
@media only screen and (min-width: 767px) {
  .top-sidebar {
    left: min(2.34375vw, 30px);
  }
}
.top-sidebar.is-hidden {
  transform: translate3d(-150%, 0, 0);
}
.top-sidebar__wrap {
  transition: transform 1000ms;
  transition-timing-function: cubic-bezier(0.02, 0.55, 0.105, 0.985);
}
@media only screen and (min-width: 767px) {
  .top-sidebar__wrap.is--small {
    transform: translateX(-90%) !important;
  }
}
.top-sidebar__inner {
  position: relative;
}
.top-sidebar__trigger {
  background: url(../img/side_bg.png) no-repeat;
  background-size: 100%;
  color: #0897ff;
  font-weight: 900;
  width: 34vw;
  height: 15.0666666667vw;
  font-size: 4.2666666667vw;
  position: relative;
  transition: transform 0.3s ease;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__trigger {
    display: none;
  }
}
.top-sidebar__trigger span {
  position: absolute;
  top: 3.6vw;
  left: 4.2666666667vw;
}
.top-sidebar__panel {
  position: absolute;
  left: 0;
  bottom: 0;
  width: max-content;
  min-width: 34.6666666667vw;
  border-radius: 2.6666666667vw;
  padding: 3.2vw 1.3333333333vw 3.4666666667vw;
  transform: translateX(-150%);
  transition: transform 0.3s ease;
  box-shadow: 0 0.5333333333vw 1.0666666667vw rgba(0, 0, 0, 0.08);
}
@media only screen and (min-width: 767px) {
  .top-sidebar__panel {
    transform: translateX(0);
    position: static;
    margin-left: 0;
    border-radius: min(1.5625vw, 20px);
    padding: min(1.5625vw, 20px) min(0.78125vw, 10px);
    min-width: min(14.0625vw, 180px);
    box-shadow: 0 min(0.3125vw, 4px) min(0.625vw, 8px) rgba(0, 0, 0, 0.08);
  }
}
.top-sidebar__panel:before {
  display: block;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 2.6666666667vw;
  background: #fff;
  z-index: 0;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__panel:before {
    border-radius: min(1.5625vw, 20px);
  }
}
.top-sidebar.is-open .top-sidebar__panel {
  transform: translateX(0);
}
.top-sidebar.is-open .top-sidebar__trigger {
  transform: translateX(-150%);
}
.top-sidebar__close {
  position: absolute;
  right: -2.6666666667vw;
  top: -2.6666666667vw;
  width: 7.4666666667vw;
  height: 7.4666666667vw;
  border-radius: 50%;
  cursor: pointer;
  z-index: 1;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__close {
    display: none;
  }
}
.top-sidebar__title {
  display: none;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__title {
    display: block;
    position: absolute;
    top: max(-2.34375vw, -30px);
    left: min(1.5625vw, 20px);
    width: min(9.375vw, 120px);
    height: min(3.828125vw, 49px);
  }
}
.top-sidebar__list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 3.4666666667vw;
  display: flex;
  flex-direction: column;
  row-gap: 1.6vw;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__list {
    font-size: min(1.25vw, 16px);
    row-gap: min(1.015625vw, 13px);
  }
}
.top-sidebar__link {
  display: block;
  position: relative;
  padding: 0 0 0 2.9333333333vw;
  text-decoration: none;
  font-weight: 700;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__link {
    padding: 0 0 0 min(1.40625vw, 18px);
    transition: all 200ms ease;
  }
  .top-sidebar__link:hover {
    color: #1e90ff;
    transform: translateX(min(0.390625vw, 5px));
  }
}
.top-sidebar__link:before {
  display: block;
  content: "";
  position: absolute;
  width: 1.6vw;
  height: 1.6vw;
  border-radius: 50%;
  background-color: #000;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 300ms ease;
  opacity: 0;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__link:before {
    width: min(0.78125vw, 10px);
    height: min(0.78125vw, 10px);
  }
}
.top-sidebar__link.is-active {
  color: #1e90ff;
}
.top-sidebar__link.is-active:before {
  display: block;
  content: "";
  background-color: #1e90ff;
  opacity: 1;
}
@media only screen and (min-width: 767px) {
  .top-sidebar__link.is-active:before {
    opacity: 1;
    width: min(0.78125vw, 10px);
    height: min(0.78125vw, 10px);
  }
}

.news {
  padding-bottom: 24vw;
}
@media only screen and (min-width: 767px) {
  .news {
    padding-bottom: min(14.84375vw, 190px);
  }
}
.news__list {
  width: 92vw;
  margin: 12.9333333333vw auto 0;
}
@media only screen and (min-width: 767px) {
  .news__list {
    width: min(90.625vw, 1160px);
    margin: min(7.8125vw, 100px) auto 0;
  }
}
.news__list-item {
  background: #fff;
  border-radius: 2.6666666667vw;
  margin-bottom: 2.6666666667vw;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .news__list-item {
    border-radius: min(1.5625vw, 20px);
    margin-bottom: min(1.5625vw, 20px);
  }
}
.news__list-content {
  width: 100%;
  padding: 3.6vw 4vw;
  display: flex;
  flex-direction: column;
  gap: 2vw;
  border: none;
  background: #fff;
  text-align: left;
  font-size: 3.3333333333vw;
  font-weight: 500;
}
@media only screen and (min-width: 767px) {
  .news__list-content {
    font-size: min(1.953125vw, 25px);
    gap: min(0.546875vw, 7px);
    padding: min(2.03125vw, 26px) min(2.34375vw, 30px);
  }
}
.news__list-date {
  color: #4932f4;
  font-size: 3.2vw;
  font-weight: 900;
}
@media only screen and (min-width: 767px) {
  .news__list-date {
    font-size: min(1.09375vw, 14px);
  }
}
.news__list-text {
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.92;
}
@media only screen and (min-width: 767px) {
  .news__list-text {
    font-size: min(1.25vw, 16px);
  }
}
.news__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  row-gap: 8vw;
  column-gap: 5.3333333333vw;
  flex-wrap: wrap;
  width: 73.3333333333vw;
  margin: 13.3333333333vw auto 0;
}
@media only screen and (min-width: 767px) {
  .news__pagination {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: min(4.921875vw, 63px);
    width: min(90.625vw, 1160px);
    margin-top: min(7.8125vw, 100px);
  }
}
.news__pagination-number {
  display: flex;
  align-items: center;
  gap: 2.6666666667vw;
  order: 1;
}
@media only screen and (min-width: 767px) {
  .news__pagination-number {
    order: 2;
    gap: min(0.78125vw, 10px);
  }
}
.news__pagination-number a {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.2666666667vw;
  font-weight: 900;
  text-decoration: none;
  background: #fff;
  color: #0096ff;
  transition: background 0.3s ease, color 0.3s ease;
  transition: all 300ms ease;
}
.news__pagination-number a:hover {
  transform: scale(0.9);
}
@media only screen and (min-width: 767px) {
  .news__pagination-number a {
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
    font-size: min(1.5625vw, 20px);
  }
}
.news__pagination-number a.is-active {
  background: #0096ff;
  color: #fff;
  pointer-events: none;
}
@media only screen and (min-width: 767px) {
  .news__pagination-number a:nth-child(4) {
    display: none;
  }
}
.news__pagination-number span {
  color: #4932f4;
  font-size: 4.2666666667vw;
  font-weight: 900;
}
@media only screen and (min-width: 767px) {
  .news__pagination-number span {
    font-size: min(1.5625vw, 20px);
  }
}
.news__pagination-prev {
  order: 2;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  background: url(../img/top/case/swiper_arrow.png) no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 767px) {
  .news__pagination-prev {
    order: 1;
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
  }
  .news__pagination-prev:hover {
    transform: scale(0.9);
  }
}
.news__pagination-next {
  order: 3;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.3s ease;
  background: url(../img/top/case/swiper_arrow.png) no-repeat;
  background-size: contain;
  transform: scale(-1, 1);
}
@media only screen and (min-width: 767px) {
  .news__pagination-next {
    width: min(3.90625vw, 50px);
    height: min(3.90625vw, 50px);
  }
  .news__pagination-next:hover {
    transform: scaleX(-1) scale(0.9);
  }
}

.plan {
  padding-bottom: 23.4666666667vw;
}
@media only screen and (min-width: 767px) {
  .plan {
    padding-bottom: min(14.84375vw, 190px);
  }
}
.plan__plus {
  width: 8vw;
  margin-inline: auto;
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .plan__plus {
    width: min(4.6875vw, 60px);
    margin-top: min(1.5625vw, 20px);
  }
}
.plan__swiper {
  overflow: hidden;
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .plan__swiper {
    margin-top: min(1.5625vw, 20px);
  }
}
@media only screen and (min-width: 767px) {
  .plan__swiper .swiper-wrapper {
    justify-content: center;
  }
}
.plan__swiper-slide {
  width: 72vw;
  margin: 0 2.6666666667vw;
  position: relative;
  border-radius: 2.6666666667vw;
  padding: 5.3333333333vw;
  overflow: hidden;
  background-color: #fff;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-slide {
    width: min(28.125vw, 360px);
    margin: 0 min(1.5625vw, 20px);
    border-radius: min(1.5625vw, 20px);
    padding: min(2.34375vw, 30px);
  }
}
.plan__swiper-prev {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-prev {
    width: min(6.25vw, 80px);
    height: min(6.25vw, 80px);
  }
}
.plan__swiper-pack {
  width: 61.3333333333vw;
  height: 30vw;
  border-radius: 2.1333333333vw;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-pack {
    width: min(23.4375vw, 300px);
    height: min(11.71875vw, 150px);
    border-radius: min(1.25vw, 16px);
  }
}
.plan__swiper-pack--starter {
  background-color: #44d555;
}
.plan__swiper-pack--pro {
  background-color: #32b6f4;
}
.plan__swiper-pack--enterprise {
  background-color: #8032f4;
}
.plan__swiper-name {
  position: absolute;
  color: #fff;
  font-size: 6.4vw;
  font-weight: 900;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  flex-direction: column;
  row-gap: 2.2666666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-name {
    font-size: min(2.5vw, 32px);
    row-gap: min(1.328125vw, 17px);
  }
}
.plan__swiper-name span {
  display: block;
  font-size: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-name span {
    font-size: min(2.03125vw, 26px);
  }
}
.plan__swiper-content {
  margin-top: 5.3333333333vw;
  font-size: 3.4666666667vw;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-content {
    margin-top: min(2.1875vw, 28px);
    font-size: min(1.25vw, 16px);
  }
}
.plan__swiper-text {
  font-weight: 500;
  margin-top: 2.9333333333vw;
  line-height: 1;
}
@media only screen and (min-width: 767px) {
  .plan__swiper-text {
    margin-top: min(0.78125vw, 10px);
  }
}
.plan__cost {
  margin-top: 13.3333333333vw;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3.7333333333vw 8.6666666667vw 5.3333333333vw 4vw;
  column-gap: 0.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .plan__cost {
    width: min(90.625vw, 1160px);
    border-radius: min(1.5625vw, 20px);
    margin-top: min(7.8125vw, 100px);
    margin-inline: auto;
    padding: min(1.40625vw, 18px) min(2.34375vw, 30px);
    column-gap: min(0.78125vw, 10px);
  }
}
.plan__cost-summary {
  font-size: 3.4666666667vw;
  font-weight: 500;
  line-height: 1.8461538462;
}
@media only screen and (min-width: 767px) {
  .plan__cost-summary {
    font-size: min(1.25vw, 16px);
  }
}
.plan__cost-detail {
  padding-top: 1.6vw;
  flex-shrink: 0;
}
@media only screen and (min-width: 767px) {
  .plan__cost-detail {
    padding-top: 0;
    column-gap: min(1.015625vw, 13px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.plan__cost-name {
  background-color: rgba(73, 50, 244, 0.16);
  width: 18.6666666667vw;
  height: 5.3333333333vw;
  border-radius: 2.6666666667vw;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (min-width: 767px) {
  .plan__cost-name {
    width: min(10.078125vw, 129px);
    height: min(2.5vw, 32px);
    border-radius: min(1.5625vw, 20px);
  }
}
.plan__cost-name span {
  font-size: 2.6666666667vw;
  font-weight: 700;
  color: #4932f4;
}
@media only screen and (min-width: 767px) {
  .plan__cost-name span {
    font-size: min(1.25vw, 16px);
  }
}
.plan__cost-num {
  font-size: 9.8666666667vw;
  font-weight: 900;
  color: #4932f4;
}
@media only screen and (min-width: 767px) {
  .plan__cost-num {
    font-size: min(4.375vw, 56px);
  }
}
.plan__cost-num--small {
  font-size: 6.4vw;
}
@media only screen and (min-width: 767px) {
  .plan__cost-num--small {
    font-size: min(2.8125vw, 36px);
  }
}

.faq {
  padding-bottom: 24vw;
}
@media only screen and (min-width: 767px) {
  .faq {
    padding-bottom: min(14.84375vw, 190px);
  }
}
.faq__accordion {
  width: 100%;
  max-width: 92vw;
  margin: 16.6666666667vw auto 0;
}
@media only screen and (min-width: 767px) {
  .faq__accordion {
    max-width: min(90.625vw, 1160px);
    margin: min(8.203125vw, 105px) auto 0;
  }
}
.faq__accordion-item {
  background: #fff;
  border-radius: 2.6666666667vw;
  margin-bottom: 2.6666666667vw;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-item {
    border-radius: min(1.5625vw, 20px);
    margin-bottom: min(1.5625vw, 20px);
    transition: all 300ms ease;
  }
  .faq__accordion-item:hover {
    transform: scale(0.98);
  }
}
.faq__accordion-item.js-open .faq__accordion-content {
  max-height: 133.3333333333vw;
  padding: 0 2.6666666667vw 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-item.js-open .faq__accordion-content {
    max-height: min(78.125vw, 1000px);
    padding: 0 min(1.5625vw, 20px);
  }
}
.faq__accordion-item.js-open .faq__accordion-arrow:before {
  display: block;
  content: "";
  opacity: 0;
  transform: scaleY(0);
}
.faq__accordion-item.js-open .faq__accordion-arrow:after {
  display: block;
  content: "";
  transform: scaleY(1);
  opacity: 1;
}
.faq__accordion-header {
  width: 100%;
  padding: 4.4vw 4vw;
  display: flex;
  align-items: center;
  gap: 2vw;
  border: none;
  background: #fff;
  cursor: pointer;
  text-align: left;
  font-size: 3.3333333333vw;
  font-weight: 500;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-header {
    font-size: min(1.953125vw, 25px);
    gap: min(1.171875vw, 15px);
    padding: min(1.40625vw, 18px) min(2.34375vw, 30px);
  }
}
.faq__accordion-arrow {
  width: 3.0666666667vw;
  height: 3.4666666667vw;
  position: relative;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-arrow {
    width: min(1.09375vw, 14px);
    height: min(1.25vw, 16px);
  }
}
.faq__accordion-arrow:before {
  display: block;
  content: "";
  width: 3.0666666667vw;
  height: 3.4666666667vw;
  position: absolute;
  background: url(../img/arrow_accordion.png) no-repeat;
  background-size: 100%;
  transition: transform 0.5s ease;
  transform: scaleY(1);
  transform-origin: top;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-arrow:before {
    width: min(1.09375vw, 14px);
    height: min(1.25vw, 16px);
  }
}
.faq__accordion-arrow:after {
  display: block;
  content: "";
  width: 3.0666666667vw;
  height: 3.4666666667vw;
  position: absolute;
  background: url(../img/arrow_accordion_reverse.png) no-repeat;
  background-size: contain;
  transition: transform 0.5s ease;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: bottom;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-arrow:after {
    width: min(1.09375vw, 14px);
    height: min(1.25vw, 16px);
  }
}
.faq__accordion-q {
  color: #4932f4;
  font-size: 4.2666666667vw;
  font-weight: 900;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-q {
    font-size: min(2.5vw, 32px);
    padding-bottom: min(0.78125vw, 10px);
  }
}
.faq__accordion-title {
  flex: 1;
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.92;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-title {
    font-size: min(1.25vw, 16px);
  }
}
.faq__accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: all 500ms ease;
  padding: 0 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-content {
    padding: 0 min(1.5625vw, 20px);
  }
}
.faq__accordion-inner {
  background: #0897ff;
  color: #fff;
  border-radius: 2.6666666667vw;
  padding: 5.3333333333vw;
  line-height: 1.92;
  font-size: 3.3333333333vw;
  margin-bottom: 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .faq__accordion-inner {
    border-radius: min(1.5625vw, 20px);
    padding: min(3.125vw, 40px);
    font-size: min(1.25vw, 16px);
    margin-bottom: min(1.5625vw, 20px);
  }
}
@media only screen and (min-width: 767px) {
  .faq__accordion-btn {
    transition: all 300ms ease;
  }
  .faq__accordion-btn:hover {
    transform: scale(0.98);
  }
}

.privacy {
  padding-top: 34.6666666667vw;
  padding-bottom: 31.2vw;
}
@media only screen and (min-width: 767px) {
  .privacy {
    padding-top: min(12.34375vw, 158px);
    padding-bottom: min(22.03125vw, 282px);
  }
}
.privacy__heading {
  font-size: 9.3333333333vw;
  font-weight: 900;
  width: max-content;
  margin-inline: auto;
}
@media only screen and (min-width: 767px) {
  .privacy__heading {
    font-size: min(4.6875vw, 60px);
  }
}
.privacy__select {
  display: flex;
  justify-content: center;
  margin-top: 5.3333333333vw;
  margin-bottom: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .privacy__select {
    margin-top: min(3.125vw, 40px);
    margin-bottom: min(3.125vw, 40px);
  }
}
.privacy__select-item a {
  display: block;
  font-size: 2.6666666667vw;
  font-weight: 900;
  line-height: 1.8461538462;
  color: #4932f4;
  text-decoration: none;
  margin-inline: 1.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .privacy__select-item a {
    font-size: min(1.875vw, 24px);
    line-height: 1.8461538462;
    transition: all 300ms ease;
  }
  .privacy__select-item a:hover {
    transform: scale(0.97);
  }
}
.privacy__inner {
  width: 100%;
  padding: 0 4vw;
  margin-top: 11.4666666667vw;
  font-size: 3.4666666667vw;
  letter-spacing: 0.01em;
  font-weight: 500;
  line-height: 1.8461538462;
  margin-inline: auto;
}
@media only screen and (min-width: 767px) {
  .privacy__inner {
    max-width: 1280px;
    padding: 0 min(4.6875vw, 60px);
    margin-top: min(7.1875vw, 92px);
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
  }
}
.privacy__title {
  margin-top: 8vw;
}
@media only screen and (min-width: 767px) {
  .privacy__title {
    margin-top: min(2.5vw, 32px);
  }
}
.privacy__text {
  margin-top: 1.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .privacy__text {
    margin-top: min(0.234375vw, 3px);
  }
}
.privacy__text span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}
.privacy__text span:nth-child(n+10) {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.privacy__text a {
  color: #4932f4;
  text-decoration: underline;
  word-break: break-all;
}
@media only screen and (min-width: 767px) {
  .privacy__text a:hover {
    text-decoration: none;
  }
}

.contact {
  padding-bottom: 31.2vw;
}
@media only screen and (min-width: 767px) {
  .contact {
    padding-bottom: min(22.03125vw, 282px);
  }
}
.contact__complete-text {
  font-size: 3.4666666667vw;
  letter-spacing: 0.01em;
  line-height: 1.5384615385;
  margin-inline: auto;
  max-width: 92vw;
  margin: 6.1333333333vw auto 2.6666666667vw;
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .contact__complete-text {
    max-width: min(90.625vw, 1160px);
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
    margin: min(7.1875vw, 92px) auto min(3.125vw, 40px);
  }
}
.contact__demo {
  width: 100%;
  max-width: 92vw;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 2.6666666667vw;
  margin: 11.2vw auto 0;
  padding: 4vw 4vw 6vw;
}
@media only screen and (min-width: 767px) {
  .contact__demo {
    border-radius: min(0.78125vw, 10px);
    max-width: min(90.625vw, 1160px);
    margin: min(7.734375vw, 99px) auto 0;
    padding: min(2.34375vw, 30px);
  }
}
.contact__demo-head {
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.92;
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .contact__demo-head {
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
  }
}
.contact__demo-info {
  display: flex;
  justify-content: center;
  margin-top: 4vw;
  column-gap: 5.3333333333vw;
  flex-wrap: wrap;
  row-gap: 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .contact__demo-info {
    margin-top: min(2.34375vw, 30px);
    column-gap: min(1.5625vw, 20px);
    row-gap: min(1.5625vw, 20px);
  }
}
.contact__demo-type {
  font-size: 3.3333333333vw;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (min-width: 767px) {
  .contact__demo-type {
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
  }
}
.contact__demo-type span {
  margin-left: 0.2666666667vw;
  font-size: 4vw;
  color: #4932f4;
}
@media only screen and (min-width: 767px) {
  .contact__demo-type span {
    margin-left: min(0.15625vw, 2px);
    font-size: min(1.5625vw, 20px);
  }
}
.contact__demo .common__button {
  margin-top: 6vw;
}
@media only screen and (min-width: 767px) {
  .contact__demo .common__button {
    margin-top: min(2.34375vw, 30px);
  }
}
.contact__form {
  width: 100%;
  max-width: 92vw;
  margin: 11.2vw auto 13.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .contact__form {
    max-width: min(90.625vw, 1160px);
    margin: min(7.734375vw, 99px) auto min(7.8125vw, 100px);
  }
}
.contact__form input,
.contact__form textarea {
  background: #fff;
}
@media only screen and (min-width: 767px) {
  .contact__form-item {
    display: flex;
    column-gap: min(2.34375vw, 30px);
  }
}
.contact__form-item:not(:first-child) {
  margin-top: 5.8666666667vw;
}
@media only screen and (min-width: 767px) {
  .contact__form-item:not(:first-child) {
    margin-top: min(1.5625vw, 20px);
  }
}
.contact__form-item:last-child {
  align-items: start;
}
.contact__form-label {
  display: block;
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.92;
}
@media only screen and (min-width: 767px) {
  .contact__form-label {
    width: min(10.15625vw, 130px);
    text-align: right;
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
    flex-shrink: 0;
    padding-top: min(1.71875vw, 22px);
  }
}
.contact__form-input {
  background: #fff;
  font-size: 3.3333333333vw;
  font-weight: 500;
  line-height: 1.92;
  border-radius: 2.6666666667vw;
  height: 16vw;
  width: 100%;
  padding: 4vw;
  margin-top: 1.6vw;
}
@media only screen and (min-width: 767px) {
  .contact__form-input {
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
    border-radius: min(0.78125vw, 10px);
    height: min(5.46875vw, 70px);
    padding: min(1.796875vw, 23px) min(2.34375vw, 30px);
    margin-top: 0;
  }
}
.contact__form-textarea {
  width: 100%;
  min-height: 53.3333333333vw;
  border-radius: 1.6vw;
  border: none;
  background: #fff;
  font-size: 3.3333333333vw;
  font-weight: 500;
  padding: 4vw;
  margin-top: 2.6666666667vw;
}
@media only screen and (min-width: 767px) {
  .contact__form-textarea {
    min-height: min(23.4375vw, 300px);
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
    border-radius: min(0.78125vw, 10px);
    padding: min(1.796875vw, 23px) min(2.34375vw, 30px);
    margin-top: 0;
  }
}
.contact__dropdown {
  position: relative;
  width: 100%;
  margin-top: 1.6vw;
  height: 16vw;
}
@media only screen and (min-width: 767px) {
  .contact__dropdown {
    margin-top: 0;
    height: min(5.46875vw, 70px);
  }
}
.contact__dropdown.js-open .contact__dropdown-list {
  display: block;
}
.contact__dropdown.js-open .contact__dropdown-arrow:before {
  display: block;
  content: "";
  opacity: 0;
  transform: scaleY(0);
}
.contact__dropdown.js-open .contact__dropdown-arrow:after {
  display: block;
  content: "";
  transform: scaleY(1);
  opacity: 1;
}
.contact__dropdown-header {
  width: 100%;
  padding: 4vw;
  border-radius: 2.6666666667vw;
  background: white;
  text-align: left;
  position: relative;
  cursor: pointer;
  height: 100%;
  font-size: 3.3333333333vw;
  font-weight: 500;
  color: #4932f4;
}
@media only screen and (min-width: 767px) {
  .contact__dropdown-header {
    border-radius: min(0.78125vw, 10px);
    padding: min(1.796875vw, 23px) min(2.34375vw, 30px);
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
  }
}
.contact__dropdown-arrow {
  width: 3.0666666667vw;
  height: 3.4666666667vw;
  position: absolute;
  right: 2.9333333333vw;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (min-width: 767px) {
  .contact__dropdown-arrow {
    width: min(1.09375vw, 14px);
    height: min(1.25vw, 16px);
    right: min(2.34375vw, 30px);
  }
}
.contact__dropdown-arrow:before {
  display: block;
  content: "";
  width: 3.0666666667vw;
  height: 3.4666666667vw;
  position: absolute;
  background: url(../img/arrow_accordion.png) no-repeat;
  background-size: contain;
  transition: transform 0.5s ease;
  transform: scaleY(1);
  transform-origin: top;
}
@media only screen and (min-width: 767px) {
  .contact__dropdown-arrow:before {
    width: min(1.09375vw, 14px);
    height: min(1.25vw, 16px);
  }
}
.contact__dropdown-arrow:after {
  display: block;
  content: "";
  width: 3.0666666667vw;
  height: 3.4666666667vw;
  position: absolute;
  background: url(../img/arrow_accordion_reverse.png) no-repeat;
  background-size: contain;
  transition: transform 0.5s ease;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: bottom;
}
@media only screen and (min-width: 767px) {
  .contact__dropdown-arrow:after {
    width: min(1.09375vw, 14px);
    height: min(1.25vw, 16px);
  }
}
.contact__dropdown-list {
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  background: #fff;
  border-radius: 2.6666666667vw;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
  z-index: 10;
  transition: all 300ms ease;
  height: max-content;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .contact__dropdown-list {
    border-radius: min(0.78125vw, 10px);
  }
}
.contact__dropdown-list li {
  display: flex;
  align-items: center;
  height: 16vw;
  padding: 4vw;
  cursor: pointer;
  font-size: 3.3333333333vw;
  font-weight: 500;
  color: #000;
}
@media only screen and (min-width: 767px) {
  .contact__dropdown-list li {
    padding: min(1.796875vw, 23px) min(2.34375vw, 30px);
    font-size: min(1.25vw, 16px);
    line-height: 1.625;
    height: min(5.46875vw, 70px);
  }
}
.contact__dropdown-list li:hover {
  background: rgba(0, 150, 255, 0.15);
}

button:has(input) .common__button-text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
button:has(input) .common__button-text input {
  width: 100%;
  height: 100%;
  text-align: center;
}

.wpcf7-not-valid-tip {
  font-weight: bold !important;
  margin-top: 1.8666666667vw;
  font-size: 3.3333333333vw !important;
  font-weight: 500;
  color: #000;
}
@media only screen and (min-width: 767px) {
  .wpcf7-not-valid-tip {
    margin-top: min(0.46875vw, 6px);
    font-size: min(1.25vw, 16px) !important;
  }
}

.wpcf7-response-output {
  display: none !important;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) input {
  background: #ffe0e0;
}

.wpcf7-turnstile {
  text-align: center;
  margin-top: 5.3333333333vw;
}
@media only screen and (min-width: 767px) {
  .wpcf7-turnstile {
    margin-top: min(3.125vw, 40px);
  }
}

@keyframes header-button-hover {
  0% {
    transform: translate3d(0%, 0, 0);
  }
  30% {
    transform: translate3d(50%, 0, 0);
  }
  30.1% {
    transform: translate3d(-80%, 0, 0);
  }
  100% {
    transform: translate3d(0%, 0, 0);
  }
}
.header.js-open .header-nav {
  pointer-events: auto;
}
.header.js-open .header-nav__wrapper {
  transform: none;
  transition: transform 380ms;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.header.js-open .header-nav__close {
  transform: scale(1) rotate(0deg);
  transition: transform 200ms;
  transition-delay: 100ms;
  pointer-events: auto;
}
.header.js-open .header-nav__list-item {
  transform: translate3d(0%, 0, 0);
  transition: transform 250ms;
}
.header.js-open .header-nav__list-item:nth-child(0) {
  transition-delay: 0ms;
}
.header.js-open .header-nav__list-item:nth-child(1) {
  transition-delay: 80ms;
}
.header.js-open .header-nav__list-item:nth-child(2) {
  transition-delay: 160ms;
}
.header.js-open .header-nav__list-item:nth-child(3) {
  transition-delay: 240ms;
}
.header.js-open .header-nav__list-item:nth-child(4) {
  transition-delay: 320ms;
}
.header.js-open .header-nav__list-item:nth-child(5) {
  transition-delay: 400ms;
}
.header.js-open .header-nav__list-item:nth-child(6) {
  transition-delay: 480ms;
}
.header.js-open .header-nav__list-item.js-active a::before {
  transform: translate(0, -50%) scale(1);
  transition: transform 250ms;
  transition-delay: 700ms;
}
.header .header-nav {
  pointer-events: none;
  transition: 600ms;
}
.header .header-nav__wrapper {
  transform: translateX(100%);
  transition: transform 200ms;
  transition-delay: 0ms;
}
.header .header-nav__close {
  transform: scale(0) rotate(90deg);
  transition: transform 0ms;
  transition-delay: 0ms;
  pointer-events: none;
}
.header .header-nav__list-item {
  transform: translate3d(110%, 0, 0);
  transition: transform 0ms;
  transition-delay: 200ms;
}
.header .header-nav__list-item.js-active a::before {
  transform: translate(0, -50%) scale(0);
}

body[data-id=top].is--end .header__button::before,
body:not([data-id=top]) .header__button::before {
  transition: none;
}
body[data-id=top].is--end .header__button.js--hover::before,
body:not([data-id=top]) .header__button.js--hover::before {
  animation: header-button-hover 600ms ease;
}

.footer__circle .top__circle-layer1 img {
  animation: top-about-circle-animation 3000ms linear infinite;
  animation-direction: reverse;
}
.footer__circle .top__circle-layer2 img {
  animation: top-about-circle-animation 3000ms linear infinite;
}

@keyframes slide-horizontal-reverse {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 63.4666666667vw;
  }
}
@keyframes slide-horizontal-reverse-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 37.1875vw;
  }
}
@keyframes slide-horizontal-reverse-fixed {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: 476px;
  }
}
@keyframes slide-horizontal {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -63.4666666667vw;
  }
}
@keyframes slide-horizontal-pc {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -37.1875vw;
  }
}
@keyframes slide-horizontal-fixed {
  0% {
    background-position-x: 0;
  }
  100% {
    background-position-x: -476px;
  }
}
@keyframes rotation-portal-cirle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.top-portal {
  overflow: hidden;
}
.top-portal__summary-1 .top-portal__title {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
}
.top-portal__summary-1 .top-portal__description-1, .top-portal__summary-1 .top-portal__description-2, .top-portal__summary-1 .top-portal__description-3 {
  opacity: 0;
  display: inline-block;
  transform: translate3d(0, 100%, 0);
}
.top-portal__summary-1.js--anime .top-portal__title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 130ms, transform 1000ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.top-portal__summary-1.js--anime .top-portal__description-1, .top-portal__summary-1.js--anime .top-portal__description-2, .top-portal__summary-1.js--anime .top-portal__description-3 {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 100ms, transform 1000ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 160ms;
}
.top-portal__summary-1.js--anime .top-portal__description-2 {
  transition-delay: 320ms;
}
@media only screen and (min-width: 767px) {
  .top-portal__summary-1.js--anime .top-portal__description-2 {
    transition-delay: 160ms;
  }
}
.top-portal__summary-1.js--anime .top-portal__description-3 {
  transition-delay: 480ms;
}
@media only screen and (min-width: 767px) {
  .top-portal__summary-1.js--anime .top-portal__description-3 {
    transition-delay: 320ms;
  }
}
.top-portal__content {
  overflow: inherit;
}
.top-portal__content-screen .top-portal__tilt {
  opacity: 0;
  transform: translate3d(0, 0%, 0) skew(0deg, 10deg);
  transform: translate3d(0, 20%, 0) rotateZ(8deg) skew(0deg, 10deg);
  transform-origin: 0% 100%;
}
.top-portal__content-title {
  opacity: 0;
  transform: translate3d(-101%, 0, 0);
}
.top-portal__content-title p {
  background-position: 150% 0% !important;
}
.top-portal__content-text {
  opacity: 0;
  transform: translate3d(0, 70%, 0);
}
.top-portal__content:has(.js--anime) .top-portal__content-screen .top-portal__tilt {
  opacity: 1;
  transform: translate3d(0, 0%, 0) skew(0deg, 0deg);
  transition: opacity 300ms, transform 1200ms;
  transition-timing-function: ease, cubic-bezier(0, 0.68, 0.07, 0.99);
}
.top-portal__content:has(.js--anime) .top-portal__content-title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 100ms, transform 1000ms;
  transition-timing-function: ease, cubic-bezier(0.015, 0.865, 0.095, 0.985);
}
.top-portal__content:has(.js--anime) .top-portal__content-title p {
  background-position: 0% 0% !important;
  transition: background-position 800ms ease;
  transition-delay: 200ms;
}
.top-portal__content:has(.js--anime) .top-portal__content-text {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
  transition: opacity 100ms, transform 800ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 200ms;
}
.top-portal__item-title, .top-portal__item-text {
  opacity: 0;
  transform: translate3d(0, 70%, 0);
}
.top-portal__item-pic .top-portal__tilt {
  opacity: 0;
  transform: translate3d(0, 20%, 0) rotateZ(-8deg) skew(0deg, -10deg);
  transform-origin: 100% 100%;
}
.top-portal__item.js--anime .top-portal__item-title, .top-portal__item.js--anime .top-portal__item-text {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
  transition: opacity 200ms, transform 1000ms;
  transition-timing-function: ease, cubic-bezier(0.015, 0.865, 0.095, 0.985);
  transition-delay: 200ms;
}
.top-portal__item.js--anime .top-portal__item-text {
  transition-delay: 400ms;
}
.top-portal__item.js--anime .top-portal__item-pic .top-portal__tilt {
  opacity: 1;
  transform: translate3d(0, 0%, 0) rotateZ(0deg) skew(0deg, 0deg);
  transition: opacity 300ms, transform 1200ms;
  transition-timing-function: ease, cubic-bezier(0, 0.68, 0.07, 0.99);
}
.top-portal__item-2 .top-portal__item-pic .top-portal__tilt {
  opacity: 0;
  transform: translate3d(0, 20%, 0) rotateZ(8deg) skew(0deg, 10deg);
  transform-origin: 0% 100%;
}
.top-portal__sub {
  opacity: 0;
  transform: translate3d(0, 40%, 0);
}
.top-portal__sub p {
  background-position: 150% 0% !important;
}
.top-portal__circle-left {
  opacity: 0;
  transform: translate3d(10%, 0%, 0);
}
.top-portal__circle-left-img {
  transform: scale(0);
}
.top-portal__circle-right {
  opacity: 0;
  transform: translate3d(-10%, 0%, 0);
}
.top-portal__circle-right-img {
  transform: scale(0);
}
.top-portal__circle-wrap.js--anime .top-portal__sub {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 200ms, transform 800ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.top-portal__circle-wrap.js--anime .top-portal__sub p {
  background-position: 0% 0% !important;
  transition: background-position 700ms ease;
  transition-delay: 100ms;
}
.top-portal__circle-wrap.js--anime .top-portal__circle-left {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
  transition: opacity 200ms, transform 400ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 200ms;
}
.top-portal__circle-wrap.js--anime .top-portal__circle-left-img {
  transform: scale(1);
  transition: transform 350ms;
  transition-timing-function: cubic-bezier(0.32, 0.625, 0.38, 1.33); /* custom */
}
.top-portal__circle-wrap.js--anime .top-portal__circle-left-img img {
  animation: rotation-portal-cirle 20000ms linear infinite;
}
.top-portal__circle-wrap.js--anime .top-portal__circle-right {
  opacity: 1;
  transform: translate3d(0, 0%, 0);
  transition: opacity 200ms, transform 400ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 200ms;
}
.top-portal__circle-wrap.js--anime .top-portal__circle-right-img {
  opacity: 1;
  transition: opacity 600ms;
  transition-delay: 700ms;
}
.top-portal__summary-2 .top-portal__description-1,
.top-portal__summary-2 .top-portal__description-2 {
  display: inline-block;
  transform: translate3d(0, 100%, 0);
}
.top-portal__summary-2 .top-portal__description-1,
.top-portal__summary-2 .top-portal__description-2,
.top-portal__summary-2 .top-portal__title {
  opacity: 0;
  transform: translate3d(0, 40%, 0);
}
.top-portal__summary-2.js--anime .top-portal__description-1,
.top-portal__summary-2.js--anime .top-portal__description-2,
.top-portal__summary-2.js--anime .top-portal__title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 200ms, transform 800ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.top-portal__summary-2.js--anime .top-portal__description-1 {
  transition-delay: 200ms;
}
.top-portal__summary-2.js--anime .top-portal__description-2 {
  transition-delay: 200ms;
}
.top-portal__summary-2.js--anime .top-portal__title {
  transition-delay: 500ms;
}

.top-mv__title-item {
  display: block;
  opacity: 0;
  background-position: 150% 0% !important;
  transform: translate3d(-13%, 0, 0);
}
.top-mv__sub-text {
  overflow: hidden;
}
.top-mv__sub-text::before {
  transform: scale(0, 1);
  transform-origin: left center;
}
.top-mv__sub-text span {
  opacity: 0;
  transform: translate3d(-5%, 0, 0);
}
.top-mv.js--anime .top-mv__title-item {
  opacity: 1;
  transform: translate3d(0%, 0, 0);
  transition: opacity 100ms, transform 900ms ease-out, background-position 700ms ease;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985), ease;
  background-position: 0% 0% !important;
}
.top-mv.js--anime .top-mv__title-item:nth-child(0) {
  transition-delay: 0s, 0s, 0s;
}
.top-mv.js--anime .top-mv__title-item:nth-child(1) {
  transition-delay: 0.17s, 0.17s, 0.24s;
}
.top-mv.js--anime .top-mv__title-item:nth-child(2) {
  transition-delay: 0.34s, 0.34s, 0.48s;
}
.top-mv.js--anime .top-mv__title-item:nth-child(3) {
  transition-delay: 0.51s, 0.51s, 0.72s;
}
.top-mv.js--anime .top-mv__sub-text::before {
  transform: scale(1, 1);
  transition: transform 300ms;
  transition-delay: 0.5s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(0)::before {
  transition-delay: 0.5s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(1)::before {
  transition-delay: 0.8s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(2)::before {
  transition-delay: 1.1s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(3)::before {
  transition-delay: 1.4s;
}
.top-mv.js--anime .top-mv__sub-text span {
  opacity: 1;
  transition: all 500ms;
  transform: translate3d(0%, 0, 0);
  transition-delay: 0.65s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(0) span {
  transition-delay: 0.65s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(1) span {
  transition-delay: 0.95s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(2) span {
  transition-delay: 1.25s;
}
.top-mv.js--anime .top-mv__sub-text:nth-child(3) span {
  transition-delay: 1.55s;
}

.top-sidebar__inner {
  transform: translate3d(-150%, 0, 0);
}
.top-sidebar__inner.js--anime {
  transform: translate3d(0%, 0, 0);
  transition: transform 850ms ease-out;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 0.4s;
}

@keyframes animation-people-left-pc {
  0% {
    background-position: 50% 0%;
  }
  100% {
    background-position: 50% 121.875vw;
  }
}
@keyframes animation-people-left {
  0% {
    background-position: 50% 0%;
  }
  100% {
    background-position: 50% 208vw;
  }
}
@keyframes animation-people-right-pc {
  0% {
    background-position: 50% 0%;
  }
  100% {
    background-position: 50% -121.875vw;
  }
}
@keyframes animation-people-right {
  0% {
    background-position: 50% 0%;
  }
  100% {
    background-position: 50% -208vw;
  }
}
.common__people-left {
  animation: animation-people-left 100s linear infinite;
}
@media only screen and (min-width: 767px) {
  .common__people-left {
    animation: animation-people-left-pc 100s linear infinite;
  }
}

.common__people-right {
  animation: animation-people-right 100s linear infinite;
}
@media only screen and (min-width: 767px) {
  .common__people-right {
    animation: animation-people-right-pc 100s linear infinite;
  }
}

.top__main .header__logo img {
  transform: translate3d(-110%, 0, 0);
}
.top__main .header__anchor a {
  opacity: 0;
}
@media only screen and (min-width: 767px) {
  .top__main .header__anchor a {
    transform: translate3d(100%, 0, 0);
  }
}
.top__main .header__menu-bar {
  opacity: 0;
  left: 26.6666666667vw;
}
.top__main .header__button {
  opacity: 0;
}
.top__main .header__button::before {
  transform: translate3d(-100%, 0, 0);
}
.top__main .header__button {
  transform: translate3d(120%, 0, 0);
}
.top__main .header.js--anime .header__logo img {
  transform: translate3d(0%, 0, 0);
  transition: transform 900ms ease-out;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.top__main .header.js--anime .header__anchor a {
  opacity: 1;
  transform: translate3d(0%, 0, 0);
  transition: opacity 100ms, transform 800ms ease-out;
  transition-timing-function: cubic-bezier(0.095, 0.08, 0.055, 0.985);
}
.top__main .header.js--anime .header__anchor a:nth-child(0) {
  transition-delay: 0s;
}
.top__main .header.js--anime .header__anchor a:nth-child(1) {
  transition-delay: 0.17s;
}
.top__main .header.js--anime .header__anchor a:nth-child(2) {
  transition-delay: 0.34s;
}
.top__main .header.js--anime .header__anchor a:nth-child(3) {
  transition-delay: 0.51s;
}
.top__main .header.js--anime .header__button {
  opacity: 1;
  transform: translate3d(0%, 0, 0);
  transition: opacity 100ms, transform 800ms ease-out;
  transition-timing-function: cubic-bezier(0.095, 0.08, 0.055, 0.985);
}
@media only screen and (min-width: 767px) {
  .top__main .header.js--anime .header__button {
    transition-delay: 0.6s;
  }
}
.top__main .header.js--anime .header__button::before {
  transform: translate3d(0%, 0, 0);
  transition: transform 700ms ease;
  transition-delay: 1000ms;
}
.top__main .header.js--anime .header__menu-bar {
  opacity: 1;
  left: 0vw;
  transition: opacity 100ms, left 800ms ease-out;
  transition-timing-function: cubic-bezier(0.095, 0.08, 0.055, 0.985);
  transition-delay: 0.1s;
}
@media only screen and (min-width: 767px) {
  .top__main .header.js--anime .header__menu-bar {
    transition-delay: 0.8s;
  }
}

@keyframes top-about-circle-animation {
  0% {
    transform: rotateZ(0deg);
  }
  100% {
    transform: rotateZ(360deg);
  }
}
@keyframes circle-text-hover {
  0% {
    background-position: 150% 0%;
  }
  100% {
    background-position: 0% 0%;
  }
}
.js--anime + .top-about .common__people {
  opacity: 1;
  transition: all 800ms;
  transition-delay: 200ms;
}

.top-about .common__people {
  background-color: white;
  opacity: 0;
}
.top-about__sub-text {
  overflow: hidden;
}
.top-about__sub-text::before {
  transform: scale(0, 1);
  transform-origin: left center;
}
.top-about__sub-text span {
  opacity: 0;
  transform: translate3d(-5%, 0, 0);
}
.top-about.js--anime .top-about__sub-text::before {
  transform: scale(1, 1);
  transition: transform 300ms;
  transition-delay: 0.5s;
}
.top-about.js--anime .top-about__sub-text-1::before {
  transition-delay: 0.5s;
}
.top-about.js--anime .top-about__sub-text-2::before {
  transition-delay: 0.7s;
}
.top-about.js--anime .top-about__sub-text-3::before {
  transition-delay: 0.9s;
}
.top-about.js--anime .top-about__sub-text-4::before {
  transition-delay: 1.1s;
}
.top-about.js--anime .top-about__sub-text-5::before {
  transition-delay: 1.3s;
}
.top-about.js--anime .top-about__sub-text-6::before {
  transition-delay: 1.5s;
}
.top-about.js--anime .top-about__sub-text-7::before {
  transition-delay: 1.7s;
}
.top-about.js--anime .top-about__sub-text span {
  opacity: 1;
  transition: all 500ms;
  transform: translate3d(0%, 0, 0);
  transition-delay: 0.65s;
}
.top-about.js--anime .top-about__sub-text-1 span {
  transition-delay: 0.65s;
}
.top-about.js--anime .top-about__sub-text-2 span {
  transition-delay: 0.85s;
}
.top-about.js--anime .top-about__sub-text-3 span {
  transition-delay: 1.05s;
}
.top-about.js--anime .top-about__sub-text-4 span {
  transition-delay: 1.25s;
}
.top-about.js--anime .top-about__sub-text-5 span {
  transition-delay: 1.45s;
}
.top-about.js--anime .top-about__sub-text-6 span {
  transition-delay: 1.65s;
}
.top-about.js--anime .top-about__sub-text-7 span {
  transition-delay: 1.85s;
}

.top-about__circle .top__circle-base {
  transform: scale(0, 0);
  opacity: 0;
}
.top-about__circle .top__circle-base img {
  animation: top-about-circle-animation 3000ms linear infinite;
}
.top-about__circle .top__circle-layer1, .top-about__circle .top__circle-layer2 {
  transform: scale(0, 0);
}
.top-about__circle .top__circle-layer1 img {
  animation: top-about-circle-animation 3000ms linear infinite;
  animation-direction: reverse;
}
.top-about__circle .top__circle-layer3 {
  background-position: 150% 0%;
}
.top-about__circle.js--anime .top__circle-base {
  transform: scale(1, 1);
  opacity: 1;
  transition: all 600ms;
  transition-timing-function: cubic-bezier(0.005, 0.07, 0.02, 0.995);
}
.top-about__circle.js--anime .top__circle-layer1, .top-about__circle.js--anime .top__circle-layer2 {
  transform: scale(1, 1);
  transition: all 600ms;
  transition-delay: 150ms;
  transition-timing-function: cubic-bezier(0.005, 0.07, 0.02, 0.995);
}
.top-about__circle.js--anime .top__circle-layer3 {
  background-position: 0% 0%;
  transition: all 600ms;
  transition-delay: 500ms;
}

.top__circle-base.js--end .top__circle-layer3 {
  transition: none !important;
}
.top__circle-base.js--end.js--hover .top__circle-layer3 {
  animation: circle-text-hover 1000ms ease;
}

.top__worry--point1 .top__worry-title, .top__worry--point2 .top__worry-title, .top__worry--point3 .top__worry-title {
  opacity: 0;
  transform: translate3d(-13%, 0, 0);
}
.top__worry--point1 .top__worry-title p, .top__worry--point2 .top__worry-title p, .top__worry--point3 .top__worry-title p {
  background-position: 150% 0% !important;
}
.top__worry--point1 .top__worry-icon img, .top__worry--point2 .top__worry-icon img, .top__worry--point3 .top__worry-icon img {
  transform: scale(0);
}
.top__worry--point1 .top__worry-layer.top__worry-layer-1 img, .top__worry--point2 .top__worry-layer.top__worry-layer-1 img, .top__worry--point3 .top__worry-layer.top__worry-layer-1 img {
  transform: scale(0);
}
.top__worry--point1 .top__worry-layer-2 img, .top__worry--point2 .top__worry-layer-2 img, .top__worry--point3 .top__worry-layer-2 img {
  transform: scale(0);
}
.top__worry--point1 .top__worry-layer-3 img, .top__worry--point2 .top__worry-layer-3 img, .top__worry--point3 .top__worry-layer-3 img {
  transform: scale(0);
  transform-origin: center bottom;
}
.top__worry .top__worry-arrow--pic1 {
  transform: scale(0);
  transform-origin: center 5%;
}
.top__worry .top__worry-arrow--pic2 {
  transform: scale(0);
  transform-origin: center 25%;
}
.top__worry .top__worry-arrow--pic3 {
  transform: scale(1, 0);
  transform-origin: center 35%;
}
.top__worry .top__worry-arrow--pic4 {
  transform: translate3d(0, -35%, 0);
  opacity: 0;
}
.top__worry .top__worry-arrow.js--anime .top__worry-arrow--pic1 {
  transform: scale(1);
  transition: transform 250ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-arrow.js--anime .top__worry-arrow--pic2 {
  transform: scale(1);
  transition: transform 250ms;
  transition-delay: 100ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-arrow.js--anime .top__worry-arrow--pic3 {
  transform: scale(1, 1);
  transition: transform 250ms;
  transition-delay: 150ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-arrow.js--anime .top__worry-arrow--pic4 {
  transform: translate3d(0, 0%, 0);
  transition: transform 250ms, opacity 0ms;
  transition-delay: 150ms, 150ms;
  transition-timing-function: ease-out;
  opacity: 1;
}
.top__worry .top__worry-answer .top__worry-item {
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
}
.top__worry .top__worry-answer .top__worry-item span {
  opacity: 0;
}
.top__worry .top__worry-answer .top__worry-item-1::after {
  transform: translate3d(50%, 0, 0) scale(2);
  opacity: 0;
}
.top__worry .top__worry-answer .top__worry-item-2::after {
  transform: translate3d(-50%, 0, 0) scale(2);
  opacity: 0;
}
.top__worry .top__worry-answer .top__worry-item-3::after {
  transform: translate3d(-50%, 0, 0) scale(2);
  opacity: 0;
}
.top__worry .top__worry-answer.js--anime .top__worry-item {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  transition: clip-path 350ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-answer.js--anime .top__worry-item span {
  opacity: 1;
  transition: opacity 200ms;
  transition-delay: 250ms;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-1::before {
  transform: scale(1, 1);
  transition: transform 250ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-1::after {
  transform: translate3d(0%, 0, 0) scale(2);
  opacity: 1;
  transition: transform 250ms, opacity 200ms;
  transition-delay: 250ms, 250ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-2 {
  transition-delay: 150ms;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-2::before {
  transform: scale(1, 1);
  transition: transform 250ms;
  transition-timing-function: ease-out;
  transition-delay: 150ms;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-2::after {
  transform: translate3d(0%, 0, 0) scale(2);
  opacity: 1;
  transition: transform 250ms, opacity 200ms;
  transition-delay: 400ms, 350ms;
  transition-timing-function: ease-out;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-3 {
  transition-delay: 300ms;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-3::before {
  transform: scale(1, 1);
  transition: transform 250ms;
  transition-timing-function: ease-out;
  transition-delay: 300ms;
}
.top__worry .top__worry-answer.js--anime .top__worry-item-3::after {
  transform: translate3d(0%, 0, 0) scale(2);
  opacity: 1;
  transition: transform 250ms, opacity 200ms;
  transition-delay: 550ms, 450ms;
  transition-timing-function: ease-out;
}
.top__worry-text {
  position: relative;
}
.top__worry-text-item.front {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top__worry-text-item.front span {
  opacity: 0;
}
.top__worry-text-item.back {
  opacity: 0.2;
}
.top__worry-text.js--anime .top__worry-text-item.front span {
  opacity: 1;
  transition: opacity 300ms;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(0) {
  transition-delay: 0s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(1) {
  transition-delay: 0.0125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(2) {
  transition-delay: 0.025s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(3) {
  transition-delay: 0.0375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(4) {
  transition-delay: 0.05s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(5) {
  transition-delay: 0.0625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(6) {
  transition-delay: 0.075s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(7) {
  transition-delay: 0.0875s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(8) {
  transition-delay: 0.1s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(9) {
  transition-delay: 0.1125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(10) {
  transition-delay: 0.125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(11) {
  transition-delay: 0.1375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(12) {
  transition-delay: 0.15s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(13) {
  transition-delay: 0.1625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(14) {
  transition-delay: 0.175s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(15) {
  transition-delay: 0.1875s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(16) {
  transition-delay: 0.2s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(17) {
  transition-delay: 0.2125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(18) {
  transition-delay: 0.225s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(19) {
  transition-delay: 0.2375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(20) {
  transition-delay: 0.25s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(21) {
  transition-delay: 0.2625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(22) {
  transition-delay: 0.275s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(23) {
  transition-delay: 0.2875s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(24) {
  transition-delay: 0.3s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(25) {
  transition-delay: 0.3125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(26) {
  transition-delay: 0.325s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(27) {
  transition-delay: 0.3375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(28) {
  transition-delay: 0.35s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(29) {
  transition-delay: 0.3625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(30) {
  transition-delay: 0.375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(31) {
  transition-delay: 0.3875s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(32) {
  transition-delay: 0.4s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(33) {
  transition-delay: 0.4125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(34) {
  transition-delay: 0.425s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(35) {
  transition-delay: 0.4375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(36) {
  transition-delay: 0.45s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(37) {
  transition-delay: 0.4625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(38) {
  transition-delay: 0.475s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(39) {
  transition-delay: 0.4875s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(40) {
  transition-delay: 0.5s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(41) {
  transition-delay: 0.5125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(42) {
  transition-delay: 0.525s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(43) {
  transition-delay: 0.5375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(44) {
  transition-delay: 0.55s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(45) {
  transition-delay: 0.5625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(46) {
  transition-delay: 0.575s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(47) {
  transition-delay: 0.5875s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(48) {
  transition-delay: 0.6s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(49) {
  transition-delay: 0.6125s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(50) {
  transition-delay: 0.625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(51) {
  transition-delay: 0.6375s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(52) {
  transition-delay: 0.65s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(53) {
  transition-delay: 0.6625s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(54) {
  transition-delay: 0.675s;
}
.top__worry-text.js--anime .top__worry-text-item.front span:nth-child(55) {
  transition-delay: 0.6875s;
}
.top__worry.js--anime .top__worry-title {
  opacity: 1;
  transform: translate3d(0%, 0, 0);
  transition: opacity 100ms, transform 1000ms ease-out;
  transition-timing-function: ease, cubic-bezier(0.025, 0.515, 0.02, 0.985);
  transition-delay: 0ms, 0ms;
}
.top__worry.js--anime .top__worry-title p {
  background-position: 0% 0% !important;
  transition: background-position 800ms ease;
  transition-delay: 100ms;
}
.top__worry.js--anime .top__worry-icon img {
  transform: scale(1);
  transition: transform 400ms;
}
.top__worry.js--anime .top__worry-layer-3 {
  border-radius: 200%;
  overflow: hidden;
}
.top__worry.js--anime .top__worry-layer-3 img {
  transform: scale(1);
  transition: transform 350ms;
  transition-delay: 250ms;
}
.top__worry.js--anime .top__worry-layer.top__worry-layer-1 img {
  transform: scale(1);
  transition: transform 350ms;
  transition-delay: 450ms;
}
.top__worry.js--anime .top__worry-layer-2 img {
  transform: scale(1);
  transition: transform 350ms;
  transition-delay: 450ms;
}

.top-benefit {
  opacity: 0;
  transform: translate3d(0, 5%, 0);
}
@media only screen and (min-width: 767px) {
  .top-benefit {
    transform: translate3d(0, 15%, 0);
  }
}
.top-benefit__title {
  transform: translate3d(0, 5%, 0);
}
@media only screen and (min-width: 767px) {
  .top-benefit__title {
    transform: translate3d(0, 15%, 0);
  }
}
.top-benefit__title-item1-text, .top-benefit__title-item2-text {
  transform: scale(0);
}
.top-benefit__title-icon1, .top-benefit__title-icon2 {
  transform: scale(0);
}
.top-benefit__box--first, .top-benefit__box--second {
  opacity: 0;
  transform: translate3d(0, 15%, 0);
}
.top-benefit.js--anime {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 300ms, transform 1200ms;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.top-benefit.js--anime .top-benefit__title {
  transform: translate3d(0, 0, 0);
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 100ms;
}
.top-benefit.js--anime .top-benefit__title-item1-text, .top-benefit.js--anime .top-benefit__title-item2-text {
  transform: scale(1);
  transition: transform 700ms;
  transition-timing-function: cubic-bezier(0.02, 0.97, 0.17, 1.125);
  transition-delay: 200ms;
}
.top-benefit.js--anime .top-benefit__title-item2-text {
  transition-delay: 460ms;
}
.top-benefit.js--anime .top-benefit__title-icon1, .top-benefit.js--anime .top-benefit__title-icon2 {
  transform: scale(1);
  transition: transform 700ms;
  transition-timing-function: cubic-bezier(0.02, 0.97, 0.17, 1.125);
}
.top-benefit.js--anime .top-benefit__title-icon1 {
  transition-delay: 460ms;
}
.top-benefit.js--anime .top-benefit__title-icon2 {
  transition-delay: 720ms;
}
.top-benefit.js--anime .top-benefit__box--first, .top-benefit.js--anime .top-benefit__box--second {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 300ms, transform 600ms;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 400ms;
}
.top-benefit.js--anime .top-benefit__box--second {
  transition-delay: 600ms;
}

.top-case .top__common-title-text,
.top-plan .top__common-title-text,
.top-faq .top__common-title-text {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, 50%, 0);
}
.top-case .top__common-title::after,
.top-plan .top__common-title::after,
.top-faq .top__common-title::after {
  transform: translate3d(-50%, 0, 0) scale(0, 1);
  transform-origin: center;
}
.top-case .top__common-content,
.top-plan .top__common-content,
.top-faq .top__common-content {
  opacity: 0;
  transform: translate3d(0, 20%, 0);
}
.top-case.js--anime .top__common-title-text,
.top-plan.js--anime .top__common-title-text,
.top-faq.js--anime .top__common-title-text {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 200ms, transform 800ms;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 100ms;
}
.top-case.js--anime .top__common-title::after,
.top-plan.js--anime .top__common-title::after,
.top-faq.js--anime .top__common-title::after {
  transform: translate3d(-50%, 0, 0) scale(1, 1);
  transition: transform 800ms;
}
.top-case.js--anime .top__common-content,
.top-plan.js--anime .top__common-content,
.top-faq.js--anime .top__common-content {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 400ms, transform 800ms;
  transition-timing-function: cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 200ms;
}

.top-feature__read .top-feature__title {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
}
.top-feature__read .top-feature__description-1, .top-feature__read .top-feature__description-2, .top-feature__read .top-feature__description-3, .top-feature__read .top-feature__description-4 {
  opacity: 0;
  display: inline-block;
  transform: translate3d(0, 100%, 0);
}
.top-feature__read .top-feature__rakuen {
  opacity: 0;
  transform: translate3d(0, 0%, 0) skew(0deg, 10deg);
  transform: translate3d(0, 20%, 0) rotateZ(8deg) skew(0deg, 10deg);
  transform-origin: 0% 100%;
}
.top-feature__read.js--anime .top-feature__title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 130ms, transform 1000ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
}
.top-feature__read.js--anime .top-feature__description-1, .top-feature__read.js--anime .top-feature__description-2, .top-feature__read.js--anime .top-feature__description-3, .top-feature__read.js--anime .top-feature__description-4 {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 100ms, transform 1000ms;
  transition-timing-function: ease, cubic-bezier(0.025, 0.355, 0.055, 0.985);
  transition-delay: 160ms;
}
.top-feature__read.js--anime .top-feature__description-2 {
  transition-delay: 320ms;
}
@media only screen and (min-width: 767px) {
  .top-feature__read.js--anime .top-feature__description-2 {
    transition-delay: 160ms;
  }
}
.top-feature__read.js--anime .top-feature__description-3 {
  transition-delay: 480ms;
}
@media only screen and (min-width: 767px) {
  .top-feature__read.js--anime .top-feature__description-3 {
    transition-delay: 320ms;
  }
}
.top-feature__read.js--anime .top-feature__description-4 {
  transition-delay: 640ms;
}
@media only screen and (min-width: 767px) {
  .top-feature__read.js--anime .top-feature__description-4 {
    transition-delay: 320ms;
  }
}
.top-feature__read.js--anime .top-feature__rakuen {
  opacity: 1;
  transform: translate3d(0, 0%, 0) rotateZ(0deg) skew(0deg, 0deg);
  transition: opacity 300ms, transform 1200ms;
  transition-timing-function: ease, cubic-bezier(0, 0.68, 0.07, 0.99);
}

.top-feature__item--icon img {
  transform: scale(0);
}
.top-feature__item-title {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
}
.top-feature__item-text {
  opacity: 0;
  transform: translate3d(0, 50%, 0);
}
@media only screen and (min-width: 767px) {
  .top-feature__item::after {
    transform: scale(0);
  }
}
.top-feature__item.js--anime .top-feature__item--icon img {
  transform: scale(1);
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.025, 0.25, 0.265, 1.42);
  transition-delay: 150ms;
}
.top-feature__item.js--anime .top-feature__item-title {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 200ms, transform 600ms;
  transition-timing-function: cubic-bezier(0, 0.68, 0.07, 0.99);
  transition-delay: 300ms;
}
.top-feature__item.js--anime .top-feature__item-text {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: opacity 200ms, transform 600ms;
  transition-timing-function: cubic-bezier(0, 0.68, 0.07, 0.99);
  transition-delay: 400ms;
}
@media only screen and (min-width: 767px) {
  .top-feature__item.js--anime::after {
    transform: scale(1);
    transition: transform 300ms;
  }
}

.common__main .common__inner-content h2 {
  opacity: 0;
  background-position: 150% 0% !important;
}
.common__main .common__inner-content h2 + * {
  opacity: 0;
  transform: translate3d(0, 6.6666666667vw, 0);
}
@media only screen and (min-width: 767px) {
  .common__main .common__inner-content h2 + * {
    transform: translate3d(0, min(1.953125vw, 25px), 0);
  }
}
.common__main .common__inner-content .plan__cost,
.common__main .common__inner-content .news__pagination,
.common__main .common__inner-content .faq__content,
.common__main .common__inner-content .contact__content,
.common__main .common__inner-content .plan__plus,
.common__main .common__inner-content .plan__swiper {
  opacity: 0;
  transform: translate3d(0, 6.6666666667vw, 0);
}
@media only screen and (min-width: 767px) {
  .common__main .common__inner-content .plan__cost,
  .common__main .common__inner-content .news__pagination,
  .common__main .common__inner-content .faq__content,
  .common__main .common__inner-content .contact__content,
  .common__main .common__inner-content .plan__plus,
  .common__main .common__inner-content .plan__swiper {
    transform: translate3d(0, min(1.953125vw, 25px), 0);
  }
}
.common__main.js--anime .common__inner-content h2 {
  opacity: 1;
  transition: opacity 400ms, background-position 700ms ease;
  transition-timing-function: ease, ease;
  background-position: 0% 0% !important;
  transition-delay: 0ms, 200ms;
}
.common__main.js--anime .common__inner-content h2 + * {
  opacity: 1;
  transition: all 600ms;
  transition-delay: 100ms;
  transform: translate3d(0, 0, 0);
}
.common__main.js--anime .common__inner-content .plan__cost,
.common__main.js--anime .common__inner-content .news__pagination,
.common__main.js--anime .common__inner-content .faq__content,
.common__main.js--anime .common__inner-content .contact__content,
.common__main.js--anime .common__inner-content .plan__plus,
.common__main.js--anime .common__inner-content .plan__swiper {
  opacity: 1;
  transition: all 600ms;
  transition-delay: 100ms;
  transform: translate3d(0, 0, 0);
}

.top-faq .common__heading--plan, .top-faq .common__heading--faq, .top-faq .common__heading--case,
.top-plan .common__heading--plan,
.top-plan .common__heading--faq,
.top-plan .common__heading--case,
.top-case .common__heading--plan,
.top-case .common__heading--faq,
.top-case .common__heading--case {
  background-position: 150% 0% !important;
  transform: translate3d(0, 50%, 0);
  opacity: 0;
}
.top-faq.js--anime .common__heading--plan, .top-faq.js--anime .common__heading--faq, .top-faq.js--anime .common__heading--case,
.top-plan.js--anime .common__heading--plan,
.top-plan.js--anime .common__heading--faq,
.top-plan.js--anime .common__heading--case,
.top-case.js--anime .common__heading--plan,
.top-case.js--anime .common__heading--faq,
.top-case.js--anime .common__heading--case {
  background-position: 0% 0% !important;
  transform: translate3d(0, 0%, 0);
  opacity: 1;
  transition: background-position 800ms ease, transform 400ms ease, opacity 200ms ease;
  transition-delay: 200ms, 0ms, 0ms;
}
/*# sourceMappingURL=sourcemaps/share.css.map */