@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
/* 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 */
}

/**
 * 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: 1em;
  /* 2 */
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  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: 1em;
  /* 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * 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] {
  -webkit-appearance: button;
}

/**
 * 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;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 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 {
  box-sizing: border-box;
  /* 1 */
  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;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 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 odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * 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 */
}

/* 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;
}

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

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

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

:root {
  /*--------------------------------------------　font
  ---------------------------------------------*/
  --thin: 100;
  --ex-light: 200;
  --light: 300;
  --regular: 400;
  --medium: 500;
  --semi-bold: 600;
  --bold: 700;
  --ex-bold: 800;
  --black: 900;
  --font-jp: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  --font-en: "montserrat-alternates", sans-serif;
  /*--------------------------------------------　color
  ---------------------------------------------*/
  --bck: #000;
  --wte: #fff;
  --gry: #F5F5F5;
  --theme: #E60F3D;
  --complementary: #19f0c2;
  --accent: #FFE8E8;
  --bdr: #DBDBDB;
  /*--------------------------------------------　easing
  ---------------------------------------------*/
  --ease-nav: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-hover: cubic-bezier(0.43, 0.05, 0.17, 1);
  --ease-reveal: cubic-bezier(0.19, 1, 0.22, 1);
}

/*--------------------------------------------　Media Query
---------------------------------------------*/
/*--------------------------------------------　Mixin
---------------------------------------------*/
/*--------------------------------------------　Keyframe
---------------------------------------------*/
@keyframes bounceAlpha {
  0% {
    opacity: 1;
    transform: translateX(0px) scale(1);
  }
  25% {
    opacity: 0;
    transform: translateX(2rem) scale(0.9);
    @media screen and (min-width: 769px) {
      transform: translateX(1.5rem) scale(0.9);
    }
  }
  26% {
    opacity: 0;
    transform: translateX(-2rem) scale(0.9);
    @media screen and (min-width: 769px) {
      transform: translateX(-1.5rem) scale(0.9);
    }
  }
  55% {
    opacity: 1;
    transform: translateX(0px) scale(1);
  }
}
@keyframes bounceAlpha2 {
  0% {
    opacity: 1;
    transform: translateX(0px) translateY(-50%) scale(1);
  }
  25% {
    opacity: 0;
    transform: translateX(2rem) translateY(-50%) scale(0.9);
    @media screen and (min-width: 769px) {
      transform: translateX(1.5rem) translateY(-50%) scale(0.9);
    }
  }
  26% {
    opacity: 0;
    transform: translateX(-2rem) translateY(-50%) scale(0.9);
    @media screen and (min-width: 769px) {
      transform: translateX(-1.5rem) translateY(-50%) scale(0.9);
    }
  }
  55% {
    opacity: 1;
    transform: translateX(0px) translateY(-50%) scale(1);
  }
}
@keyframes noise {
  0% {
    transform: translate3d(1%, -1%, 0);
  }
  10% {
    transform: translate3d(-5%, -2%, 0);
  }
  20% {
    transform: translate3d(10%, 5%, 0);
  }
  30% {
    transform: translate3d(5%, -11%, 0);
  }
  40% {
    transform: translate3d(-12%, -5%, 0);
  }
  50% {
    transform: translate3d(10%, 9%, 0);
  }
  60% {
    transform: translate3d(15%, 0, 0);
  }
  70% {
    transform: translate3d(-10%, 8%, 0);
  }
  80% {
    transform: translate3d(10%, 2%, 0);
  }
  90% {
    transform: translate3d(1%, 5%, 0);
  }
  100% {
    transform: translate3d(0, 8%, 0);
  }
}
@keyframes rotate {
  from {
    transform: translateX(-50.1%) translateY(-51%) rotate(0deg);
  }
  to {
    transform: translateX(-50.1%) translateY(-51%) rotate(360deg);
  }
}
@keyframes shine-run {
  0% {
    opacity: 0;
    transform: scale(0) rotate(50deg);
  }
  40% {
    opacity: 0.5;
    transform: scale(1) rotate(50deg);
  }
  100% {
    opacity: 0;
    transform: scale(250) rotate(50deg);
  }
}
/*--------------------------------------------　Function
---------------------------------------------*/
/*--------------------------------------------　Base
---------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
  font-size: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  text-decoration: none;
}

html {
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.3020833333vw;
  }
}
@media screen and (min-width: 769px) {
  html {
    font-size: 62.5%;
  }
}
html::-webkit-scrollbar {
  background-color: var(--accent);
  height: 1px;
  width: 4px;
}
html::-webkit-scrollbar-thumb {
  background-color: var(--theme);
  border-radius: 4px;
}
html ::-moz-selection {
  background-color: var(--theme);
  color: var(--wte);
}
html ::selection {
  background-color: var(--theme);
  color: var(--wte);
}
html ::-moz-selection {
  background-color: var(--theme);
  color: var(--wte);
}

body {
  color: var(--bck);
  font-family: var(--font-jp);
  font-optical-sizing: auto;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: var(--medium);
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt" 1;
  /* カーニングとリガチャ（合字）を調整 */
  text-rendering: optimizeLegibility;
}
@media screen and (min-width: 768px) {
  body {
    /* 16px */
    font-size: 1.6rem;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}

/*--------------------------------------------　page
---------------------------------------------*/
.page, .page__header, .page__nav, .page__main, .page__section, .page__article, .page__aside, .page__footer, .page__inner, .page__flex {
  height: auto;
  position: relative;
  width: 100%;
  /*--------------------------------------------　color
  ---------------------------------------------*/
  /*--------------------------------------------　font
  ---------------------------------------------*/
  /*--------------------------------------------　weight
  ---------------------------------------------*/
  /*--------------------------------------------　site
  ---------------------------------------------*/
  /*--------------------------------------------　link
  ---------------------------------------------*/
  /*--------------------------------------------　z-index
  ---------------------------------------------*/
}
.page#js-page, #js-page.page__header, #js-page.page__nav, #js-page.page__main, #js-page.page__section, #js-page.page__article, #js-page.page__aside, #js-page.page__footer, #js-page.page__inner, #js-page.page__flex {
  overflow: hidden;
}
.page#js-page:before, #js-page.page__header:before, #js-page.page__nav:before, #js-page.page__main:before, #js-page.page__section:before, #js-page.page__article:before, #js-page.page__aside:before, #js-page.page__footer:before, #js-page.page__inner:before, #js-page.page__flex:before {
  animation: noise 6s steps(3) infinite both;
  background: url("../img/background-noise.png");
  content: "";
  display: block;
  height: 300%;
  left: -50%;
  opacity: 0.3;
  pointer-events: none;
  position: fixed;
  position: fixed;
  top: -50%;
  width: 200%;
  will-change: transform;
}
.page__inner {
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}
.page__inner.--comW {
  max-width: 128rem;
}
.page__inner.--comP {
  padding: 5.6rem 1.2rem;
}
@media screen and (min-width: 769px) {
  .page__inner.--comP {
    padding: 4.6728971963vw 1.4018691589vw;
  }
}
.page__flex {
  display: flex;
}
.page__flex > * {
  flex-shrink: 0;
  width: auto;
}
.page__flex.--v {
  flex-direction: column;
}
.page__flex.--i {
  display: inline-flex;
}
@media screen and (min-width: 769px) {
  .page__md {
    display: none;
  }
}
.page__dd {
  display: none;
}
@media screen and (min-width: 769px) {
  .page__dd {
    display: block;
  }
}
.page__img {
  display: block;
  font-size: 0;
}
.page__img img,
.page__img video,
.page__img iframe,
.page__img svg,
.page__img path,
.page__img g {
  display: block;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.page__wte {
  color: var(--wte);
}
.page__bck {
  color: var(--bck);
}
.page__gry {
  color: var(--gry);
}
.page__theme {
  color: var(--theme);
}
.page__acce {
  color: var(--accent);
}
.page__bgWte {
  background-color: var(--wte);
}
.page__bgBck {
  background-color: var(--bck);
}
.page__bgGry {
  background-color: var(--gry);
}
.page__bgTheme {
  background-color: var(--theme);
}
.page__bgAcce {
  background-color: var(--accent);
}
.page__sharp {
  /* 文字をシャープに */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.page__en {
  font-family: var(--font-en);
}
.page__black {
  font-weight: var(--black);
}
.page__ebold {
  font-weight: var(--ex-bold);
}
.page__bold {
  font-weight: var(--bold);
}
.page__sbold {
  font-weight: var(--semi-bold);
}
.page__medium {
  font-weight: var(--medium);
}
.page__regular {
  font-weight: var(--regular);
}
.page__light {
  font-weight: var(--light);
}
.page__elight {
  font-weight: var(--ex-light);
}
.page__thin {
  font-weight: var(--thin);
}
.page__section:after {
  background-color: var(--bdr);
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 1.2rem;
  left: 1.2rem;
  position: absolute;
  width: calc(100% - 2.4rem);
}
@media screen and (min-width: 769px) {
  .page__section:after {
    bottom: 0;
    left: 1.4018691589vw;
    position: absolute;
    width: calc(100% - 2.8037383178vw);
  }
}
.page__bdr-btm:after {
  background-color: var(--bdr);
  border-radius: 9999px;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}
.page__bg {
  backdrop-filter: blur(1rem);
  background-color: rgba(255, 255, 255, 0.75);
}
@media screen and (min-width: 769px) {
  .page__bg {
    backdrop-filter: blur(1.1682242991vw);
    background-color: rgba(255, 255, 255, 0.75);
  }
}
.page__radi {
  border-radius: 0.4rem;
}
@media screen and (min-width: 769px) {
  .page__radi {
    border-radius: 0.4672897196vw;
  }
}
.page__bdr {
  border: 1px solid var(--bdr);
}
.page__illust {
  pointer-events: none;
}
.page__ttl-box {
  align-items: center;
  margin: 0 0 3.2rem;
  row-gap: 1.6rem;
}
@media screen and (min-width: 769px) {
  .page__ttl-box {
    margin: 0 0 3.738317757vw;
    row-gap: 1.8691588785vw;
  }
}
.page__ttl-box-en {
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .page__ttl-box-en {
    font-size: 0.8177570093vw;
  }
}
.page__ttl-theme {
  display: inline-block;
  font-size: 2.4rem;
  line-height: 1;
  position: relative;
}
@media screen and (min-width: 769px) {
  .page__ttl-theme {
    font-size: 2.453271028vw;
  }
}
.page__ttl-theme:after {
  background-color: var(--theme);
  border-radius: 999px;
  bottom: 0.1rem;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .page__ttl-theme:after {
    bottom: 0.058411215vw;
    height: 0.1168224299vw;
    left: 0;
    position: absolute;
  }
}
.page__ttl {
  font-size: 2.4rem;
}
@media screen and (min-width: 769px) {
  .page__ttl {
    font-size: 2.453271028vw;
  }
}
.page__link-line {
  background: linear-gradient(0deg, var(--theme), var(--theme)) no-repeat right bottom/0 1px;
  transition: background-size 0.5s var(--ease-hover), color 0.5s var(--ease-hover);
}
.page__link-line:hover, .page__link-line.js-touch-acv {
  background-position-x: left;
  background-size: 100% 1px;
}
.page__link-transform {
  overflow: hidden;
  position: relative;
}
.page__link-transform:after {
  content: attr(data-replace);
  display: block;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  transform: translate(0, 200%);
  transform-origin: 50% 100%;
  transition: transform 0.3s var(--ease-hover);
  width: 100%;
  will-change: transform;
}
.page__link-transform:hover:after, .page__link-transform.js-touch-acv:after {
  transform: translate(0, 0);
}
.page__link-transform:hover .page__link-replace, .page__link-transform.js-touch-acv .page__link-replace {
  transform: translate(0, -200%);
}
.page__link-replace {
  display: block;
  transition: 0.3s var(--ease-hover);
}
.page__shine1, .page__shine2 {
  overflow: hidden;
}
.page__shine1:before, .page__shine2:before {
  animation-duration: 5s;
  animation-iteration-count: infinite;
  animation-name: shine-run;
  animation-timing-function: ease-in;
  background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.9));
  content: "";
  display: block;
  height: 50px;
  left: -60px;
  position: absolute;
  top: -60px;
  width: 50px;
}
.page__shine2:before {
  animation-delay: 0.25s;
}
.page__100 {
  z-index: 100;
}
.page__10 {
  z-index: 10;
}
.page__1 {
  z-index: 1;
}

/*--------------------------------------------　header
---------------------------------------------*/
.header {
  left: 0;
  position: fixed;
  top: 0;
}
.header__inner {
  height: 5.2rem;
  padding: 1.2rem;
}
@media screen and (min-width: 769px) {
  .header__inner {
    height: 6.0747663551vw;
    padding: 1.4018691589vw;
  }
}
.header__inner:after {
  left: 1.2rem;
  width: calc(100% - 2.4rem);
}
@media screen and (min-width: 769px) {
  .header__inner:after {
    left: 1.4018691589vw;
    width: calc(100% - 2.8037383178vw);
  }
}
.header__flex {
  align-items: center;
  justify-content: space-between;
}
.header__flex1-ttl {
  height: 3.2rem;
  width: 11rem;
}
@media screen and (min-width: 769px) {
  .header__flex1-ttl {
    height: 3.2710280374vw;
    width: 11.214953271vw;
  }
}
.header__flex1-ttl-link {
  display: block;
  transition: 0.3s transform var(--ease-hover);
}
.header__flex1-ttl-link:hover, .header__flex1-ttl-link.js-touch-acv {
  transform: scale(1.1);
}
@media screen and (min-width: 769px) {
  .header__flex2-nav-list {
    -moz-column-gap: 1.4018691589vw;
    column-gap: 1.4018691589vw;
  }
}
.header__flex2-nav-item.--active {
  pointer-events: none;
}
.header__flex2-nav-item.--active .page__link-transform:after {
  transform: translate(0, 0);
}
.header__flex2-nav-item.--active .page__link-line {
  background-position-x: left;
  background-size: 100% 1px;
}
.header__flex2-nav-item.--active .page__link-replace {
  transform: translate(0, -200%);
}
@media screen and (min-width: 769px) {
  .header__flex2-nav-link, .header__flex2-nav-link span, .header__flex2-nav-link:after {
    font-size: 0.8761682243vw;
    letter-spacing: 0.05em;
    line-height: 1;
  }
}
@media screen and (min-width: 769px) {
  .header__flex2-nav-link {
    display: block;
    font-size: 0.8761682243vw;
    overflow: hidden;
    position: relative;
  }
}
.header__flex3-link {
  align-items: center;
  height: 2.8rem;
  justify-content: center;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  font-size: 1rem;
  padding: 0 1.2rem;
}
@media screen and (min-width: 769px) {
  .header__flex3-link {
    height: 3.2710280374vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
    font-size: 0.8177570093vw;
    padding: 0 1.4018691589vw;
  }
}
.header__flex3-link.--1 {
  border-radius: 0.4rem 0 0 0.4rem;
}
@media screen and (min-width: 769px) {
  .header__flex3-link.--1 {
    border-radius: 0.4672897196vw 0 0 0.4672897196vw;
  }
}
.header__flex3-link.--2 {
  border-radius: 0 0.4rem 0.4rem 0;
}
@media screen and (min-width: 769px) {
  .header__flex3-link.--2 {
    border-radius: 0 0.4672897196vw 0.4672897196vw 0;
  }
}
.header__flex3-link-ico {
  transition: 0.3s transform var(--ease-hover);
}
.js-touch-acv .header__flex3-link-ico {
  transform: scale(1.3);
}
.--1 .header__flex3-link-ico {
  height: 0.7rem;
  width: 1rem;
}
@media screen and (min-width: 769px) {
  .--1 .header__flex3-link-ico {
    height: 0.8177570093vw;
    width: 1.1682242991vw;
  }
}
.--2 .header__flex3-link-ico {
  height: 0.7rem;
  width: 0.7rem;
}
@media screen and (min-width: 769px) {
  .--2 .header__flex3-link-ico {
    height: 0.8177570093vw;
    width: 0.8177570093vw;
  }
}

/*--------------------------------------------　footer
---------------------------------------------*/
.footer__copy {
  bottom: 0;
  height: 5.2rem;
  left: 0;
  padding: 0 0 0 1.2rem;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .footer__copy {
    height: 3.2710280374vw;
    padding: 0;
  }
}
.footer__copy-txt {
  align-items: center;
  font-size: 1rem;
  height: 100%;
  margin: 0 auto;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .footer__copy-txt {
    font-size: 0.8177570093vw;
    justify-content: flex-end;
    max-width: 57.9439252336vw;
  }
}
.footer__inner {
  height: auto;
  padding: 5.6rem 1.2rem;
}
@media screen and (min-width: 769px) {
  .footer__inner {
    height: 46.7289719626vw;
    max-width: 57.9439252336vw;
    padding: 4.6728971963vw 0 0;
  }
}
.footer__illust {
  bottom: -3.2rem;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .footer__illust {
    bottom: -5.8vw;
    left: -5vw;
    position: absolute;
    width: 40.3037383178vw;
  }
}
@media screen and (min-width: 769px) {
  .footer__illust img {
    display: none;
  }
}
.footer__illust-lottie {
  display: none;
}
@media screen and (min-width: 769px) {
  .footer__illust-lottie {
    display: block;
  }
}
.footer__list {
  flex-direction: column;
  margin: 0 0 4rem;
  row-gap: 1.2rem;
}
@media screen and (min-width: 769px) {
  .footer__list {
    flex-direction: row;
    -moz-column-gap: 1.4018691589vw;
    column-gap: 1.4018691589vw;
    margin: 0 0 7.0093457944vw;
  }
}
.footer__item {
  padding: 2rem;
  row-gap: 1.6rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .footer__item {
    padding: 2.3364485981vw;
    row-gap: 1.8691588785vw;
    width: calc(50% - 0.7009345794vw);
  }
}
.footer__item-en {
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .footer__item-en {
    font-size: 0.7009345794vw;
  }
}
.footer__item-ttl {
  font-size: 1.4rem;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .footer__item-ttl {
    font-size: 1.0514018692vw;
  }
}
.footer__item-desc {
  font-size: 1.2rem;
  line-height: 1.7;
}
@media screen and (min-width: 769px) {
  .footer__item-desc {
    font-size: 0.8761682243vw;
  }
}
.footer__link {
  align-items: center;
  border-radius: 0.4rem;
  font-size: 1rem;
  justify-content: center;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  height: 3.2rem;
}
@media screen and (min-width: 769px) {
  .footer__link {
    border-radius: 0.4672897196vw;
    font-size: 0.8177570093vw;
    height: 3.2710280374vw;
    -moz-column-gap: 0.5841121495vw;
    column-gap: 0.5841121495vw;
  }
  .footer__link.--2 {
    width: 14.0186915888vw;
  }
  .footer__link.--1 {
    width: 11.9158878505vw;
  }
}
.footer__link-ico {
  transition: 0.3s transform var(--ease-hover);
}
.js-touch-acv .footer__link-ico {
  transform: scale(1.3);
}
.--2 .footer__link-ico {
  height: 0.7rem;
  width: 0.7rem;
}
@media screen and (min-width: 769px) {
  .--2 .footer__link-ico {
    height: 0.8177570093vw;
    width: 0.8177570093vw;
  }
}
.--1 .footer__link-ico {
  height: 0.7rem;
  width: 1rem;
}
@media screen and (min-width: 769px) {
  .--1 .footer__link-ico {
    height: 0.8177570093vw;
    width: 1.1682242991vw;
  }
}
.footer__btm {
  padding: 0 0 26rem;
}
@media screen and (min-width: 769px) {
  .footer__btm {
    bottom: 0;
    padding: 0 0 7.0093457944vw;
    position: absolute;
    right: 0;
  }
}
.footer__btm-logo {
  height: 5.6rem;
  height: auto;
  margin: 0 auto 1.6rem;
  transition: transform 0.3s var(--ease-hover);
  width: 19.2rem;
}
.footer__btm-logo.js-touch-acv {
  transform: scale(1.1);
}
@media screen and (min-width: 769px) {
  .footer__btm-logo {
    height: 3.2710280374vw;
    margin: 0 0 1.8691588785vw;
    width: 11.214953271vw;
  }
}
.footer__btm-list {
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 1.6rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .footer__btm-list {
    width: 14.953271028vw;
    -moz-column-gap: 2.3364485981vw;
    column-gap: 2.3364485981vw;
    justify-content: flex-start;
    row-gap: 1.4018691589vw;
  }
}
.footer__btm-item {
  position: relative;
}
.footer__btm-item:after {
  background-image: url("../img/ico-arrow-right.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 0.8rem;
  position: absolute;
  right: -0.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.5rem;
}
@media screen and (min-width: 769px) {
  .footer__btm-item:after {
    height: 0.4672897196vw;
    position: absolute;
    right: -1vw;
    top: 50%;
    width: 0.2920560748vw;
  }
}
.footer__btm-item.js-touch-acv:after {
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-name: bounceAlpha2;
  animation-timing-function: var(--ease-hover);
}
.footer__btm-link {
  align-items: center;
  font-size: 1.2rem;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
}
@media screen and (min-width: 769px) {
  .footer__btm-link {
    font-size: 0.8177570093vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
    padding: 0;
  }
}
.footer__btm-link:after {
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .footer__btm-link:after {
    font-size: 0.8177570093vw;
  }
}
.footer__btm-link-txt {
  font-size: 1.2rem;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .footer__btm-link-txt {
    font-size: 0.8177570093vw;
  }
}

/*--------------------------------------------　fix
---------------------------------------------*/
.fix {
  bottom: 1.2rem;
  position: fixed;
  right: 0;
}
@media screen and (min-width: 769px) {
  .fix {
    bottom: 1.6355140187vw;
    position: fixed;
    right: 0;
  }
}
.fix__link {
  align-items: center;
  height: 2.8rem;
  justify-content: center;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  font-size: 1rem;
  padding: 0 1.2rem;
}
@media screen and (min-width: 769px) {
  .fix__link {
    height: 3.2710280374vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
    font-size: 0.8177570093vw;
    padding: 0 1.4018691589vw;
  }
}
.fix__link.--1 {
  border-radius: 0.4rem 0 0 0.4rem;
}
@media screen and (min-width: 769px) {
  .fix__link.--1 {
    border-radius: 0.4672897196vw 0 0 0.4672897196vw;
  }
}
.fix__link-ico {
  transition: 0.3s transform var(--ease-hover);
}
.js-touch-acv .fix__link-ico {
  transform: scale(1.3);
}
.--1 .fix__link-ico {
  height: 0.5rem;
  width: 0.45rem;
}
@media screen and (min-width: 769px) {
  .--1 .fix__link-ico {
    height: 0.5841121495vw;
    width: 0.5257009346vw;
  }
}
.--2 .fix__link-ico {
  height: 0.7rem;
  width: 1rem;
}
@media screen and (min-width: 769px) {
  .--2 .fix__link-ico {
    height: 0.8177570093vw;
    width: 1.1682242991vw;
  }
}

/*--------------------------------------------　off-canvas
---------------------------------------------*/
.off-canvas {
  background-color: rgba(0, 0, 0, 0.4);
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity 0.5s var(--ease-nav), visibility 0.5s var(--ease-nav);
  visibility: hidden;
  width: 100%;
  will-change: visibility, opacity;
}
.menu-active .off-canvas {
  opacity: 1;
  visibility: visible;
}

/*--------------------------------------------　fv
---------------------------------------------*/
.fv__inner {
  padding: 5.2rem 1.2rem 0;
}
@media screen and (min-width: 769px) {
  .fv__inner {
    padding: 7.476635514vw 1.4018691589vw 0;
  }
}
.fv__flex {
  padding: 0 0 1.2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex {
    justify-content: space-between;
    padding: 0 0 1.4018691589vw;
  }
}
.fv__flex1 {
  row-gap: 1.2rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .fv__flex1 {
    border-right: 1px solid var(--bdr);
    padding: 0 1.4018691589vw 0 3.2710280374vw;
    row-gap: 1.4018691589vw;
    width: calc(100% - 24.7663551402vw - 1.4018691589vw);
  }
}
.fv__flex1-top {
  flex: 1;
  padding: 4rem 0;
  position: relative;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top {
    justify-content: center;
    padding: 0;
  }
}
@media screen and (min-width: 769px) {
  .fv__flex1-top:after {
    bottom: 0;
    left: auto;
    position: absolute;
    right: 0;
    width: 69.3341121495vw;
  }
}
.fv__flex1-top-ttl {
  font-size: 2.1rem;
  letter-spacing: -0.03em;
  line-height: 1.4;
  margin: 0 0 30rem;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-ttl {
    font-size: 2.2196261682vw;
    letter-spacing: 0em;
    margin: 0 0 1.8691588785vw;
  }
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-btm {
    padding: 0 0 0 1.8691588785vw;
  }
}
.fv__flex1-top-btm-desc {
  font-size: 1.2rem;
  line-height: 1.7;
  margin: 0 0 1.6rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-btm-desc {
    font-size: 0.8761682243vw;
    margin: 0 0 1.8691588785vw;
  }
}
.fv__flex1-top-btm-list {
  border-radius: 0.4rem;
  overflow: hidden;
  width: auto;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-btm-list {
    border-radius: 0.4672897196vw;
  }
}
.fv__flex1-top-btm-link {
  align-items: center;
  height: 2.8rem;
  justify-content: center;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  font-size: 1rem;
  padding: 0 1.2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-btm-link {
    height: 3.2710280374vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
    font-size: 0.8177570093vw;
    padding: 0 1.4018691589vw;
  }
}
.fv__flex1-top-btm-link-ico {
  transition: 0.3s transform var(--ease-hover);
}
.js-touch-acv .fv__flex1-top-btm-link-ico {
  transform: scale(1.3);
}
.--1 .fv__flex1-top-btm-link-ico {
  height: 0.5rem;
  width: 0.45rem;
}
@media screen and (min-width: 769px) {
  .--1 .fv__flex1-top-btm-link-ico {
    height: 0.5841121495vw;
    width: 0.5257009346vw;
  }
}
.--2 .fv__flex1-top-btm-link-ico {
  height: 0.7rem;
  width: 0.7rem;
}
@media screen and (min-width: 769px) {
  .--2 .fv__flex1-top-btm-link-ico {
    height: 0.8177570093vw;
    width: 0.8177570093vw;
  }
}
.fv__flex1-top-illust {
  position: absolute;
  right: 50%;
  top: 9.2rem;
  transform: translateX(50%);
  width: 100%;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-illust {
    position: absolute;
    right: -1.4vw;
    top: 50%;
    transform: translateX(0) translateY(-50%);
    width: auto;
  }
}
.fv__flex1-top-illust-lottie {
  display: block;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-illust-lottie {
    height: 33.4696261682vw;
    width: 33.4696261682vw;
  }
}
.fv__flex1-top-lead {
  font-size: 1rem;
  margin: 0 0 0.8rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-top-lead {
    font-size: 1.0514018692vw;
    margin: 0 0 0.9345794393vw;
  }
}
.fv__flex1-btm {
  justify-content: flex-end;
  position: relative;
  row-gap: 1.2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm {
    margin: 0 0 0 -3.33vw;
    right: 1.4018691589vw;
    row-gap: 1.4018691589vw;
    width: calc(100% + 6.1331775701vw);
  }
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-track {
    padding: 0 0 0.058411215vw;
  }
}
.fv__flex1-btm-splide-slide {
  align-items: center;
  aspect-ratio: 240/120;
  height: auto;
  justify-content: center;
  margin: 0 1.2rem 0 0;
  overflow: hidden;
  width: 12rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide {
    margin: 0 1.4018691589vw 0 0;
    width: 14.0186915888vw;
  }
}
.fv__flex1-btm-splide-slide img {
  display: block;
  height: auto;
  width: 100%;
}
.fv__flex1-btm-splide-slide img.--1 {
  aspect-ratio: 470/218;
  width: 11.75rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--1 {
    width: 13.726635514vw;
  }
}
.fv__flex1-btm-splide-slide img.--2 {
  aspect-ratio: 396/220;
  width: 9.9rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--2 {
    width: 11.5654205607vw;
  }
}
.fv__flex1-btm-splide-slide img.--3 {
  aspect-ratio: 226/116;
  width: 5.65rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--3 {
    width: 6.6004672897vw;
  }
}
.fv__flex1-btm-splide-slide img.--4 {
  aspect-ratio: 242/80;
  width: 6.05rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--4 {
    width: 7.0677570093vw;
  }
}
.fv__flex1-btm-splide-slide img.--5 {
  aspect-ratio: 368/134;
  width: 9.2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--5 {
    width: 10.7476635514vw;
  }
}
.fv__flex1-btm-splide-slide img.--6 {
  aspect-ratio: 252/78;
  width: 6.3rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--6 {
    width: 7.3598130841vw;
  }
}
.fv__flex1-btm-splide-slide img.--7 {
  aspect-ratio: 344/50;
  width: 8.6rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--7 {
    width: 10.046728972vw;
  }
}
.fv__flex1-btm-splide-slide img.--8 {
  aspect-ratio: 300/120;
  width: 7.5rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--8 {
    width: 8.761682243vw;
  }
}
.fv__flex1-btm-splide-slide img.--9 {
  aspect-ratio: 236/72;
  width: 5.9rem;
}
@media screen and (min-width: 769px) {
  .fv__flex1-btm-splide-slide img.--9 {
    width: 6.8925233645vw;
  }
}
.fv__flex2 {
  background-color: var(--wte);
  height: 100vh;
  overflow: auto;
  padding: 1.2rem;
  position: fixed;
  right: -100vw;
  top: 0;
  transition: transform 0.75s var(--ease-reveal);
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 769px) {
  .fv__flex2 {
    background-color: transparent;
    bottom: auto;
    height: auto;
    left: auto;
    overflow: visible;
    padding: 0;
    position: relative;
    right: auto;
    top: auto;
    width: auto;
    z-index: 1;
  }
}
.js-offcanvas-active .fv__flex2 {
  transform: translateX(-100vw);
}
@media screen and (min-width: 769px) {
  .js-offcanvas-active .fv__flex2 {
    transform: translateX(0);
  }
}
.fv__flex2-frm {
  height: 100%;
  padding: 1.2rem 1.2rem 8.8rem;
  row-gap: 2.4rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm {
    height: 50vw;
    padding: 1.4018691589vw;
    row-gap: 1.4018691589vw;
    width: 24.7663551402vw;
  }
}
.fv__flex2-frm-group {
  position: relative;
  row-gap: 1.2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group {
    row-gap: 0.9345794393vw;
  }
}
.fv__flex2-frm-group label {
  font-size: 1.2rem;
  -moz-column-gap: 0.8rem;
  align-items: center;
  column-gap: 0.8rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group label {
    font-size: 0.8177570093vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
  }
}
.fv__flex2-frm-group-require {
  border-radius: 0.4rem;
  display: inline-block;
  font-size: 1rem;
  padding: 0.4rem 0.8rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-require {
    border-radius: 0.2336448598vw;
    font-size: 0.5841121495vw;
    padding: 0.2336448598vw 0.4672897196vw;
  }
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap {
  width: 100%;
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1.2rem;
  column-gap: 1.2rem;
  row-gap: 0.8rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control {
    -moz-column-gap: 1.4018691589vw;
    column-gap: 1.4018691589vw;
    row-gap: 0.4672897196vw;
  }
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label {
  align-items: center;
  display: flex;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label {
    cursor: pointer;
  }
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none transparent;
  background: var(--gry);
  border: 0;
  border: 1px solid var(--bdr);
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  height: 2rem;
  margin: 0;
  margin: 0;
  outline: none;
  padding: 0;
  padding: 0;
  position: relative;
  vertical-align: middle;
  width: 2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input {
    cursor: pointer;
    height: 1.1682242991vw;
    width: 1.1682242991vw;
  }
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked {
  background-color: var(--wte);
  border: 1px solid var(--accent);
  outline: 1px var(--theme) dashed;
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked:before, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked:before {
  border-bottom: 0.2rem solid var(--theme);
  border-right: 0.2rem solid var(--theme);
  content: "";
  display: block;
  height: 1rem;
  left: 0.6rem;
  position: absolute;
  top: 0.3rem;
  transform: rotate(50deg);
  width: 0.5rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked:before, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked:before {
    border-bottom: 0.1168224299vw solid var(--theme);
    border-right: 0.1168224299vw solid var(--theme);
    height: 0.5841121495vw;
    left: 0.3504672897vw;
    top: 0.1168224299vw;
    width: 0.2920560748vw;
  }
}
@media screen and (min-width: 1440px) {
  .fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked:before, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input:checked:before {
    left: 0.4088785047vw;
  }
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label {
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label, .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label {
    font-size: 0.7009345794vw;
  }
}
.fv__flex2-frm-group-radios .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input {
  border-radius: 50%;
}
.fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input {
  border-radius: 0.4rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-checks .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input {
    border-radius: 0.2336448598vw;
  }
}
.fv__flex2-frm-group-txt .wpcf7-form-control-wrap {
  width: 100%;
}
.fv__flex2-frm-group-txt .wpcf7-form-control-wrap input,
.fv__flex2-frm-group-txt .wpcf7-form-control-wrap textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none transparent;
  background-color: var(--gry);
  border: 0;
  border: 1px solid var(--bdr);
  border-radius: 0;
  border-radius: 0.4rem;
  color: inherit;
  font-size: inherit;
  font-size: 1.6rem;
  height: 4rem;
  margin: 0;
  outline: none;
  padding: 0;
  padding: 0.4rem 0.8rem;
  vertical-align: middle;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-txt .wpcf7-form-control-wrap input,
  .fv__flex2-frm-group-txt .wpcf7-form-control-wrap textarea {
    border-radius: 0.2336448598vw;
    font-size: 1.6rem;
    height: 2.3364485981vw;
    padding: 0.2336448598vw 0.4672897196vw;
  }
}
.fv__flex2-frm-group-txt .wpcf7-form-control-wrap input:focus,
.fv__flex2-frm-group-txt .wpcf7-form-control-wrap textarea:focus {
  background-color: var(--wte);
  border: 1px solid var(--accent);
  outline: 1px var(--theme) dashed;
}
.fv__flex2-frm-group-txt .wpcf7-form-control-wrap textarea {
  height: 10.4rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-group-txt .wpcf7-form-control-wrap textarea {
    height: 6.0747663551vw;
  }
}
.fv__flex2-frm-btn {
  align-items: center;
  height: 4rem;
  justify-content: center;
  transition: 0.3s background-color var(--ease-hover);
  width: 16rem;
  -moz-column-gap: 0.8rem;
  border-radius: 0.4rem;
  column-gap: 0.8rem;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-btn {
    height: 2.3364485981vw;
    width: 9.3457943925vw;
    -moz-column-gap: 0.4672897196vw;
    border-radius: 0.2336448598vw;
    column-gap: 0.4672897196vw;
  }
}
.fv__flex2-frm-btn.js-touch-acv {
  background-color: var(--bck);
}
.fv__flex2-frm-btn.js-touch-acv:after {
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-name: bounceAlpha;
  animation-timing-function: var(--ease-hover);
}
.fv__flex2-frm-btn:before {
  content: "送信する";
  display: block;
  font-size: 1.4rem;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-btn:before {
    font-size: 0.8177570093vw;
  }
}
.fv__flex2-frm-btn:after {
  background-image: url("../img/ico-arrow-right-white.svg");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 0.9rem;
  width: 0.6rem;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-btn:after {
    height: 0.5257009346vw;
    width: 0.3504672897vw;
  }
}
.fv__flex2-frm-btn input {
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none transparent;
  border: 0;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
  height: 100%;
  left: 0;
  margin: 0;
  opacity: 0;
  outline: none;
  padding: 0;
  position: absolute;
  top: 0;
  vertical-align: middle;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-btn input {
    cursor: pointer;
  }
}
.fv__flex2-frm-btn .wpcf7-spinner {
  background-color: var(--theme);
  left: 18.4rem;
  margin: 0 !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .fv__flex2-frm-btn .wpcf7-spinner {
    left: 10.7476635514vw;
    position: absolute;
    top: 50%;
  }
}
.fv__flex2-frm-btn .wpcf7-spinner:before {
  background-color: var(--wte);
}
.fv__flex2-close {
  align-items: center;
  border-radius: 50%;
  display: flex;
  height: 4rem;
  justify-content: center;
  position: absolute;
  right: 2.4rem;
  top: 2.4rem;
  transition: background-color 0.1s var(--ease-hover);
  width: 4rem;
}
.fv__flex2-close.js-touch-acv {
  background-color: var(--complementary);
}
@media screen and (min-width: 769px) {
  .fv__flex2-close {
    display: none;
  }
}
.fv__flex2-close-ico {
  height: 2rem;
  width: 2rem;
}

/*--------------------------------------------　contact form7
---------------------------------------------*/
.wpcf7-not-valid-tip {
  bottom: -2rem;
  font-size: 1.2rem;
  left: 0;
  position: absolute;
}
@media screen and (min-width: 769px) {
  .wpcf7-not-valid-tip {
    bottom: -1.21vw;
    font-size: 0.7009345794vw !important;
    left: 0;
    position: absolute;
  }
}

.wpcf7-not-valid-tip,
.wpcf7-response-output {
  background-color: var(--complementary);
  border: none !important;
  border-radius: 0.4rem !important;
  color: var(--bck) !important;
  display: block;
  font-size: 1.2rem !important;
  margin: 0 !important;
  padding: 0.4rem 0.8rem 0.5rem !important;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .wpcf7-not-valid-tip,
  .wpcf7-response-output {
    border-radius: 0.2336448598vw;
    font-size: 0.7009345794vw !important;
    padding: 0.2336448598vw 0.4672897196vw 0.2920560748vw !important;
  }
}

.wpcf7-response-output {
  left: 50% !important;
  position: absolute !important;
  top: 85.8rem !important;
  transform: translateX(-50%) !important;
  width: calc(100vw - 4.8rem) !important;
}
@media screen and (min-width: 769px) {
  .wpcf7-response-output {
    bottom: auto !important;
    left: auto !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(0) !important;
    width: 100% !important;
  }
}

/*--------------------------------------------　about
---------------------------------------------*/
.about__lead {
  font-size: 1.2rem;
  line-height: 1.7;
  margin: 0 0 3.2rem;
}
@media screen and (min-width: 769px) {
  .about__lead {
    font-size: 0.8761682243vw;
    margin: 0 0 3.738317757vw;
    text-align: center;
  }
}
.about__itms-illust {
  display: none;
}
@media screen and (min-width: 769px) {
  .about__itms-illust {
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 20.6775700935vw;
  }
}
@media screen and (min-width: 769px) {
  .about__itms-illust img {
    display: none;
  }
}
.about__itms-illust:before {
  animation: rotate 50s linear infinite;
  aspect-ratio: 1/1;
  background-image: url("../img/about-center-txt-ring.png");
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: auto;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 82%;
}
@media screen and (min-width: 769px) {
  .about__itms-illust:before {
    transform: translateX(-50.1%) translateY(-51%);
    width: 72%;
  }
}
.about__itms {
  flex-wrap: wrap;
  margin: 0 auto;
  position: relative;
  row-gap: 1.2rem;
}
@media screen and (min-width: 769px) {
  .about__itms {
    row-gap: 1.4018691589vw;
    -moz-column-gap: 1.4018691589vw;
    column-gap: 1.4018691589vw;
    max-width: 70.0934579439vw;
  }
}
.about__itms-itm {
  align-items: center;
  padding: 2.4rem 1.2rem;
  width: 100%;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  flex-direction: column;
  row-gap: 1.6rem;
}
@media screen and (min-width: 769px) {
  .about__itms-itm {
    padding: 3.2710280374vw 0.4672897196vw;
    width: calc(50% - 0.7009345794vw);
    -moz-column-gap: 2.3364485981vw;
    column-gap: 2.3364485981vw;
    flex-direction: row;
  }
}
.about__itms-itm.--1, .about__itms-itm.--3 {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .about__itms-itm.--1, .about__itms-itm.--3 {
    text-align: left;
  }
}
.about__itms-itm.--2, .about__itms-itm.--4 {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .about__itms-itm.--2, .about__itms-itm.--4 {
    flex-direction: row-reverse;
    text-align: right;
  }
}
.about__itms-itm1-illust {
  height: auto;
}
.--1 .about__itms-itm1-illust {
  aspect-ratio: 95/68;
  margin: 0.8rem 0 0;
  width: 19rem;
}
@media screen and (min-width: 769px) {
  .--1 .about__itms-itm1-illust {
    margin: 0;
    width: 5.5490654206vw;
  }
}
.--2 .about__itms-itm1-illust {
  aspect-ratio: 105/84;
  width: 21rem;
}
@media screen and (min-width: 769px) {
  .--2 .about__itms-itm1-illust {
    width: 6.1331775701vw;
  }
}
.--3 .about__itms-itm1-illust {
  aspect-ratio: 105/84;
  margin: -2.4rem 0 0;
  width: 21rem;
}
@media screen and (min-width: 769px) {
  .--3 .about__itms-itm1-illust {
    margin: 0;
    width: 6.1331775701vw;
  }
}
.--4 .about__itms-itm1-illust {
  aspect-ratio: 95/84;
  margin: -2.4rem 0 0;
  width: 22rem;
}
@media screen and (min-width: 769px) {
  .--4 .about__itms-itm1-illust {
    margin: 0;
    width: 5.5490654206vw;
  }
}
.about__itms-itm2 {
  flex: 1;
}
.about__itms-itm2-ttl-box {
  margin: 0 0 0.8rem;
  row-gap: 0.8rem;
}
@media screen and (min-width: 769px) {
  .about__itms-itm2-ttl-box {
    margin: 0 0 0.9345794393vw;
    row-gap: 0.9345794393vw;
  }
}
.about__itms-itm2-ttl-box-en {
  font-size: 0.8rem;
}
@media screen and (min-width: 769px) {
  .about__itms-itm2-ttl-box-en {
    font-size: 0.5841121495vw;
  }
}
.about__itms-itm2-ttl-box-jp {
  font-size: 1.6rem;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .about__itms-itm2-ttl-box-jp {
    font-size: 1.285046729vw;
  }
}
.about__itms-itm2-desc {
  font-size: 1.2rem;
  line-height: 1.6;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .about__itms-itm2-desc {
    font-size: 0.8177570093vw;
    width: calc(100% - 6vw);
  }
}
@media screen and (min-width: 769px) {
  .--2 .about__itms-itm2-desc, .--4 .about__itms-itm2-desc {
    margin-left: auto;
    text-align: right;
  }
}

/*--------------------------------------------　price
---------------------------------------------*/
.price__box {
  height: auto;
  overflow: scroll;
  padding: 0 0 1.2rem;
}
@media screen and (min-width: 769px) {
  .price__box {
    overflow: visible;
    padding: 0;
  }
}
.price__list, .price__item-list {
  height: auto;
  row-gap: 0.4rem;
  width: 100%;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
}
@media screen and (min-width: 769px) {
  .price__list, .price__item-list {
    row-gap: 0.4672897196vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
  }
}
.price__list {
  margin: 0 auto;
  position: relative;
  width: 60rem;
}
@media screen and (min-width: 769px) {
  .price__list {
    left: -4vw;
    margin: 0 auto;
    width: 70.0934579439vw;
  }
}
.price__item-list {
  height: 100%;
}
.price__item {
  row-gap: 0.4rem;
  -moz-column-gap: 0.4rem;
  align-items: center;
  column-gap: 0.4rem;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .price__item {
    row-gap: 0.4672897196vw;
    -moz-column-gap: 0.4672897196vw;
    column-gap: 0.4672897196vw;
  }
}
.price__item.--1 {
  border-radius: 0.4rem 0.4rem 0 0;
  font-size: 1rem;
  height: 2.4rem;
  letter-spacing: 0.1em;
  margin: 0 0 0 auto;
  width: 53rem;
}
@media screen and (min-width: 769px) {
  .price__item.--1 {
    border-radius: 0.4672897196vw 0.4672897196vw 0 0;
    font-size: 0.8761682243vw;
    height: 2.3364485981vw;
    width: 61.9158878505vw;
  }
}
.price__item.--2 {
  height: 6.4rem;
  margin: 0 0 0 auto;
  width: 53rem;
}
@media screen and (min-width: 769px) {
  .price__item.--2 {
    height: 5.8411214953vw;
    width: 61.9158878505vw;
  }
}
.price__item.--3 {
  height: 2.4rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .price__item.--3 {
    height: 2.8037383178vw;
  }
}
.price__item-item {
  align-items: center;
  height: 100%;
  justify-content: center;
  line-height: 1.4;
  width: 17.4rem;
}
@media screen and (min-width: 769px) {
  .price__item-item {
    width: 20.3271028037vw;
  }
}
.--2 .price__item-item {
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .--2 .price__item-item {
    font-size: 0.9345794393vw;
  }
}
.--3 .price__item-item {
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .--3 .price__item-item {
    font-size: 1.0514018692vw;
  }
}
.--3 .price__item-item:nth-child(1) {
  flex: 1;
  font-size: 1rem;
  letter-spacing: 0em;
  width: 4.8rem;
}
@media screen and (min-width: 769px) {
  .--3 .price__item-item:nth-child(1) {
    font-size: 0.9345794393vw;
    width: 5.6658878505vw;
  }
}
.price__item-item.--top {
  border-radius: 0.4rem 0 0 0;
}
@media screen and (min-width: 769px) {
  .price__item-item.--top {
    border-radius: 0.4672897196vw 0 0 0;
  }
}
.price__item-item.--last {
  border-radius: 0 0 0 0.4rem;
}
@media screen and (min-width: 769px) {
  .price__item-item.--last {
    border-radius: 0 0 0 0.4672897196vw;
  }
}
.price__item-item.--other {
  border-radius: 0 0 0.4rem 0;
  width: 53rem;
}
@media screen and (min-width: 769px) {
  .price__item-item.--other {
    border-radius: 0 0 0.4672897196vw 0;
    width: 61.9158878505vw;
  }
}
.price__allert-list {
  margin: 1.2rem auto 0;
  position: relative;
  row-gap: 0.8rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .price__allert-list {
    left: -4vw;
    margin: 1.4018691589vw auto 0;
    padding: 0 0 0 8.1775700935vw;
    row-gap: 0.9345794393vw;
    width: 70.0934579439vw;
  }
}
.price__allert-item {
  font-size: 1.2rem;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .price__allert-item {
    font-size: 0.9345794393vw;
  }
}
.price__allert-item:before {
  content: "";
  display: block;
  font-size: 1.2rem;
  margin: 0 0.4rem 0 0;
}
@media screen and (min-width: 769px) {
  .price__allert-item:before {
    font-size: 0.9345794393vw;
    margin: 0 0.4672897196vw 0 0;
  }
}
.price__allert-item:nth-child(1):before {
  content: "※1";
}
.price__allert-item:nth-child(2):before {
  content: "※2";
}

/*--------------------------------------------　point
---------------------------------------------*/
.point__top-list {
  display: none;
}
@media screen and (min-width: 769px) {
  .point__top-list {
    max-width: 70.0934579439vw;
    -moz-column-gap: 1.4018691589vw;
    column-gap: 1.4018691589vw;
    display: flex;
    margin: 0 auto 4.6728971963vw;
  }
}
.point__top-item {
  align-items: center;
  padding: 1.2rem 0.6rem 0;
  width: calc(33.333% - 0.4rem);
}
@media screen and (min-width: 769px) {
  .point__top-item {
    padding: 1.4018691589vw 0 0;
    width: calc(33.333% - 0.9345794393vw);
  }
}
.point__top-item-num {
  font-size: 2.4rem;
  margin: 0 0 0.8rem;
}
@media screen and (min-width: 769px) {
  .point__top-item-num {
    font-size: 2.8037383178vw;
    margin: 0 0 0.9345794393vw;
  }
}
.point__top-item-ttl {
  font-size: 1.1rem;
  line-height: 1.4;
  margin: 0 0 1.2rem;
}
@media screen and (min-width: 769px) {
  .point__top-item-ttl {
    font-size: 1.285046729vw;
    margin: 0 0 1.4018691589vw;
  }
}
.point__top-item-illust {
  width: 100%;
}
.--1 .point__top-item-illust {
  width: 10rem;
}
@media screen and (min-width: 769px) {
  .--1 .point__top-item-illust {
    width: 16.6471962617vw;
  }
}
.--2 .point__top-item-illust {
  width: 10rem;
}
@media screen and (min-width: 769px) {
  .--2 .point__top-item-illust {
    width: 16.6471962617vw;
  }
}
.--3 .point__top-item-illust {
  width: 8rem;
}
@media screen and (min-width: 769px) {
  .--3 .point__top-item-illust {
    width: 11.9158878505vw;
  }
}
@media screen and (min-width: 769px) {
  .point__top-item-illust img {
    display: none;
  }
}
.point__top-item-illust-lottie {
  display: none;
}
@media screen and (min-width: 769px) {
  .point__top-item-illust-lottie {
    display: block;
  }
}
.point__btm-list {
  margin: 0 auto;
  row-gap: 1.6rem;
}
@media screen and (min-width: 769px) {
  .point__btm-list {
    max-width: 70.0934579439vw;
    row-gap: 3.738317757vw;
  }
}
.point__btm-item {
  flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .point__btm-item {
    align-items: center;
    flex-direction: row;
    padding: 0 0 4.6728971963vw;
  }
  .point__btm-item.--1 {
    padding: 0 0.5841121495vw 4.6728971963vw 0;
  }
  .point__btm-item.--3 {
    padding: 0 4.6728971963vw 4.6728971963vw 0;
  }
}
.point__btm-item1 {
  flex: 1;
}
.point__btm-item1-num-box {
  margin: 0 0 0.8rem;
  row-gap: 0.8rem;
}
@media screen and (min-width: 769px) {
  .point__btm-item1-num-box {
    margin: 0;
    row-gap: 0;
  }
}
.point__btm-item1-num {
  font-size: 1.8rem;
  margin: -0.2rem 0 0;
}
@media screen and (min-width: 769px) {
  .point__btm-item1-num {
    font-size: 4.6728971963vw;
    margin: 0 0 0.9345794393vw;
  }
}
.point__btm-item1-ttl {
  font-size: 1.5rem;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (min-width: 769px) {
  .point__btm-item1-ttl {
    font-size: 1.6355140187vw;
    margin: 0 0 2.3364485981vw;
  }
}
.point__btm-item1-desc {
  font-size: 1.2rem;
  line-height: 1.7;
}
@media screen and (min-width: 769px) {
  .point__btm-item1-desc {
    font-size: 0.9345794393vw;
  }
}
.point__btm-item2-illust {
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .point__btm-item2-illust {
    margin: 0;
  }
}
.--1 .point__btm-item2-illust {
  width: 22rem;
}
@media screen and (min-width: 769px) {
  .--1 .point__btm-item2-illust {
    width: 20.4439252336vw;
  }
}
.--2 .point__btm-item2-illust {
  width: 22rem;
}
@media screen and (min-width: 769px) {
  .--2 .point__btm-item2-illust {
    width: 20.7943925234vw;
  }
}
.--3 .point__btm-item2-illust {
  width: 20rem;
}
@media screen and (min-width: 769px) {
  .--3 .point__btm-item2-illust {
    width: 16.7056074766vw;
  }
}
@media screen and (min-width: 769px) {
  .point__btm-item2-illust img {
    display: none;
  }
}
.point__btm-item2-illust-lottie {
  display: none;
}
@media screen and (min-width: 769px) {
  .point__btm-item2-illust-lottie {
    display: block;
  }
}

/*--------------------------------------------　service
---------------------------------------------*/
.service__lead-box {
  align-items: center;
  justify-content: center;
  row-gap: 1.6rem;
}
@media screen and (min-width: 769px) {
  .service__lead-box {
    row-gap: 1.8691588785vw;
  }
}
.service__lead-box-jp {
  font-size: 1.4rem;
}
@media screen and (min-width: 769px) {
  .service__lead-box-jp {
    font-size: 1.6355140187vw;
  }
}
.service__lead-box-desc {
  font-size: 1.2rem;
  line-height: 1.7;
  margin: 0 0 3.2rem;
}
@media screen and (min-width: 769px) {
  .service__lead-box-desc {
    font-size: 0.8761682243vw;
    margin: 0 0 8.4696261682vw;
    text-align: center;
  }
}
.service__itms {
  flex-direction: column;
  justify-content: space-between;
  margin: 0 auto 6rem;
  row-gap: 1.2rem;
}
@media screen and (min-width: 769px) {
  .service__itms {
    flex-direction: row;
    margin: 0 auto 7.0093457944vw;
    max-width: 70.0934579439vw;
  }
}
.service__itms-illust {
  display: none;
}
@media screen and (min-width: 769px) {
  .service__itms-illust {
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 769px) {
  .service__itms-illust img {
    display: none;
  }
}
.service__itms-illust-lottie {
  display: none;
}
@media screen and (min-width: 769px) {
  .service__itms-illust-lottie {
    display: block;
    width: 32.7102803738vw;
  }
}
.service__itms-box {
  flex-direction: column;
  flex-wrap: wrap;
  row-gap: 1.2rem;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .service__itms-box {
    width: 21.3785046729vw;
    -moz-column-gap: 0.5841121495vw;
    column-gap: 0.5841121495vw;
    flex-direction: row;
    row-gap: 0.5841121495vw;
  }
}
.service__itms-itm {
  flex-direction: column-reverse !important;
  padding: 1.2rem;
}
@media screen and (min-width: 769px) {
  .service__itms-itm {
    flex-direction: column !important;
    height: 11.6822429907vw;
    justify-content: flex-start;
    padding: 0.9345794393vw;
    width: calc(50% - 0.2920560748vw);
  }
}
.service__itms-itm-en {
  font-size: 1rem;
  margin: 0 0 0.8rem;
}
@media screen and (min-width: 769px) {
  .service__itms-itm-en {
    font-size: 0.8177570093vw;
    margin: 0 0 0.9345794393vw;
  }
}
.service__itms-itm-desc {
  font-size: 1.2rem;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .service__itms-itm-desc {
    font-size: 0.8177570093vw;
    margin: 0 0 1.4018691589vw;
  }
}
.service__itms-itm-ttl {
  flex: 1;
  font-size: 1.4rem;
  line-height: 1.4;
  margin: 0 0 0.8rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .service__itms-itm-ttl {
    font-size: 0.9345794393vw;
    justify-content: flex-end;
  }
}
.service__itms-itm-ttl:before {
  color: var(--theme);
  content: "";
  display: block;
  font-family: var(--font-en);
  font-size: 1rem;
  margin: 0 0 0.8rem;
}
@media screen and (min-width: 769px) {
  .service__itms-itm-ttl:before {
    display: none;
  }
}
.--1 .service__itms-itm-ttl:before {
  content: "Service1";
}
.--2 .service__itms-itm-ttl:before {
  content: "Service2";
}
.--3 .service__itms-itm-ttl:before {
  content: "Service3";
}
.--4 .service__itms-itm-ttl:before {
  content: "Service4";
}
.--5 .service__itms-itm-ttl:before {
  content: "Service5";
}
.--6 .service__itms-itm-ttl:before {
  content: "Service6";
}
.--7 .service__itms-itm-ttl:before {
  content: "Service7";
}
.--8 .service__itms-itm-ttl:before {
  content: "Service8";
}
.service__customer-ttl {
  font-size: 1.4rem;
  margin: 0 0 2rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .service__customer-ttl {
    font-size: 1.6355140187vw;
    margin: 0 0 2.3364485981vw;
  }
}
.service__customer-ttl-num {
  font-size: 2.2rem;
}
@media screen and (min-width: 769px) {
  .service__customer-ttl-num {
    font-size: 2.5700934579vw;
  }
}
.service__customer-lead {
  font-size: 1.2rem;
  line-height: 1.7;
  margin: 0 0 3.2rem;
}
@media screen and (min-width: 769px) {
  .service__customer-lead {
    font-size: 0.9345794393vw;
    margin: 0 0 1.4018691589vw;
    text-align: center;
  }
}
.service__customer-list {
  border-radius: 0.4rem;
  flex-wrap: wrap;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .service__customer-list {
    border-radius: 0.4672897196vw;
    max-width: 57.9439252336vw;
  }
}
.service__customer-item {
  width: 33.333%;
}
@media screen and (min-width: 769px) {
  .service__customer-item {
    width: 12.5%;
  }
}
.service__customer-item:nth-child(1), .service__customer-item:nth-child(8) {
  display: none;
}
@media screen and (min-width: 769px) {
  .service__customer-item:nth-child(1), .service__customer-item:nth-child(8) {
    display: block;
  }
}

/*--------------------------------------------　faq
---------------------------------------------*/
.faq__lead {
  font-size: 1.2rem;
  line-height: 1.7;
  margin: 0 0 3.2rem;
}
@media screen and (min-width: 769px) {
  .faq__lead {
    font-size: 0.8761682243vw;
    margin: 0 0 3.738317757vw;
    text-align: center;
  }
}
.faq__list {
  flex-wrap: wrap;
  margin: 0 auto;
  -moz-column-gap: 1.2rem;
  align-items: flex-start;
  column-gap: 1.2rem;
  flex-direction: column;
  row-gap: 1.2rem;
}
@media screen and (min-width: 769px) {
  .faq__list {
    -moz-column-gap: 1.4018691589vw;
    column-gap: 1.4018691589vw;
    flex-direction: row;
    max-width: 57.9439252336vw;
    row-gap: 1.4018691589vw;
  }
}
.faq__item {
  padding: 1.2rem;
  width: 100%;
  -webkit-user-select: none;
  -moz-user-select: none;
  transition: 0.3s background-color ease;
  user-select: none;
}
@media screen and (min-width: 769px) {
  .faq__item {
    padding: 1.4018691589vw;
    width: calc(50% - 0.7009345794vw);
  }
}
.faq__item.active {
  background-color: var(--accent);
}
.faq__item-q {
  -moz-column-gap: 0.8rem;
  align-items: center;
  column-gap: 0.8rem;
}
@media screen and (min-width: 769px) {
  .faq__item-q {
    -moz-column-gap: 0.9345794393vw;
    column-gap: 0.9345794393vw;
    cursor: pointer;
  }
}
.faq__item-q-ico {
  align-items: center;
  border-radius: 50%;
  height: 2rem;
  justify-content: center;
  width: 2rem;
}
@media screen and (min-width: 769px) {
  .faq__item-q-ico {
    height: 2.3364485981vw;
    width: 2.3364485981vw;
  }
}
.faq__item-q-ico img {
  display: block;
  height: 0.7rem;
  width: 0.65rem;
}
@media screen and (min-width: 769px) {
  .faq__item-q-ico img {
    height: 0.8177570093vw;
    width: 0.7593457944vw;
  }
}
.faq__item-q-txt {
  align-items: center;
  flex: 1;
  font-size: 1.1rem;
  letter-spacing: -0.01em;
  line-height: 1.4;
  padding: 0 1.6rem 0 0;
}
@media screen and (min-width: 769px) {
  .faq__item-q-txt {
    font-size: 0.8761682243vw;
    padding: 0 0.9345794393vw 0 0;
  }
}
.faq__item-q-txt-ico {
  height: 0.5rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
  width: 0.8rem;
}
@media screen and (min-width: 769px) {
  .faq__item-q-txt-ico {
    height: 0.5841121495vw;
    width: 0.9345794393vw;
  }
}
.active .faq__item-q-txt-ico {
  transform: scale(1, -1);
}
.faq__item-a {
  font-size: 1.2rem;
  height: 0;
  line-height: 1.7;
  margin: 0;
  opacity: 0;
  position: relative;
  transition: 0.3s ease;
  visibility: hidden;
}
@media screen and (min-width: 769px) {
  .faq__item-a {
    font-size: 0.8761682243vw;
  }
}
.active .faq__item-a {
  margin: 3.2rem 0 0;
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 769px) {
  .active .faq__item-a {
    margin: 3.738317757vw 0 0;
  }
}
.faq__item-a:before {
  background-color: var(--bdr);
  content: "";
  display: block;
  height: 1px;
  left: 50%;
  position: absolute;
  top: -1.6rem;
  transform: translateX(-50%);
  width: 100%;
}
@media screen and (min-width: 769px) {
  .faq__item-a:before {
    left: 50%;
    position: absolute;
    top: -1.8vw;
  }
}/*# sourceMappingURL=style.css.map */
