@charset "UTF-8";
/*! destyle.css v4.0.1 | 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;
  min-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;
  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 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;
}

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

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

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

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

/**
 * 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. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * 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]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

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

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

* {
  flex-wrap: wrap;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  letter-spacing: 0;
  transition-duration: 0.2s;
}

header, a, img {
  width: 100%;
}

a {
  height: 100%;
  word-break: break-all;
}

img {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
header {
  height: 88px;
  border-bottom: 1px solid #C11732;
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
header nav {
  width: calc(100% - 96px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header nav h1 {
  height: 21px;
  margin-bottom: 1px;
  display: flex;
  gap: 10px;
  font-size: 21px;
  font-weight: 400;
  color: #C11732;
  line-height: 21px;
}
header nav h1 img {
  display: block;
  width: initial;
  height: 100%;
  margin-top: 1px;
}
header nav ul {
  height: 56px;
  display: flex;
  gap: 12px;
}
header nav ul li {
  width: 254px;
  border-radius: 4px;
}
header nav ul li a {
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 900;
  color: #FFFFFF;
}
header nav ul li a:hover {
  background-color: #FFFFFF;
}
header nav ul li a svg {
  width: 24px;
  height: 24px;
  margin-right: 4px;
  fill: #FFFFFF;
}
header nav ul li:nth-of-type(1) {
  border: solid 1px #C11732;
  background-color: #C11732;
}
header nav ul li:nth-of-type(1) a:hover {
  color: #C11732;
}
header nav ul li:nth-of-type(1) a:hover svg {
  fill: #C11732;
}
header nav ul li:nth-of-type(2) {
  border: solid 1px #F29600;
  background-color: #F29600;
}
header nav ul li:nth-of-type(2) a:hover {
  color: #F29600;
}
header nav ul li:nth-of-type(2) a:hover svg {
  fill: #F29600;
}

footer {
  background-color: #C11732;
  padding-bottom: 30px;
  margin-top: 180px;
}
footer ul {
  padding-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
}
footer ul li {
  border-right: solid 1px #FFFFFF;
  padding-right: 14px;
  line-height: 14px;
}
footer ul li a {
  font-size: 14px;
  font-weight: 400;
  color: #FFFFFF;
}
footer ul li a:hover {
  opacity: 0.7;
}
footer ul li:nth-last-of-type(1) {
  border-right: none;
  padding-right: 0;
}
footer small {
  display: block;
  margin-top: 25px;
  font-weight: 400;
  color: #FFFFFF;
  text-align: center;
}

html body main {
  overflow-x: hidden;
}
html body main section.fv {
  height: calc(100vh - 88px);
  margin-top: 88px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  position: relative;
  overflow: hidden;
}
html body main section.fv img.frame {
  width: 100vw;
  height: calc(100vh - 88px);
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
html body main section.fv img.frame1.tablet, html body main section.fv img.frame2.tablet {
  display: none;
}
@media screen and (max-width: 1024px) {
  html body main section.fv img.frame1.tablet, html body main section.fv img.frame2.tablet {
    display: block;
    z-index: 2;
  }
  html body main section.fv img.frame1.tablet {
    width: 26.9vw;
    position: absolute;
    top: 0;
    left: 0;
  }
  html body main section.fv img.frame2.tablet {
    width: 7.7vw;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
html body main section.fv .container {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-wrap: nowrap;
  position: absolute;
  top: 0;
  left: 0;
}
html body main section.fv .container .slider {
  height: 100%;
}
html body main section.fv .container .slider div {
  height: 100%;
}
html body main section.fv .container .slider div img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
html body main section.fv .container .slider div:nth-of-type(1) img {
  animation: slider1 15s linear infinite;
}
@keyframes slider1 {
  0% {
    transform: translateX(50px);
    opacity: 1;
    z-index: 3;
  }
  28% {
    opacity: 1;
  }
  32% {
    z-index: 3;
  }
  33% {
    opacity: 0;
    z-index: 1;
  }
  34% {
    transform: translateX(0);
    opacity: 1;
  }
  35% {
    transform: translateX(55px);
  }
  94% {
    transform: translateX(55px);
  }
  100% {
    transform: translateX(50px);
    z-index: 3;
  }
}
html body main section.fv .container .slider div:nth-of-type(2) img {
  animation: slider2 15s linear infinite;
}
@keyframes slider2 {
  0% {
    transform: translateX(50px);
    opacity: 1;
    z-index: 2;
  }
  28% {
    transform: translateX(50px);
  }
  32% {
    z-index: 2;
  }
  33% {
    opacity: 1;
    z-index: 3;
  }
  34% {
    opacity: 1;
  }
  61% {
    opacity: 1;
  }
  65% {
    z-index: 3;
  }
  66% {
    opacity: 0;
    z-index: 1;
  }
  67% {
    transform: translateX(0);
  }
  68% {
    transform: translateX(50px);
  }
}
html body main section.fv .container .slider div:nth-of-type(3) img {
  animation: slider3 15s linear infinite;
}
@keyframes slider3 {
  0% {
    transform: translateX(50px);
    opacity: 1;
    z-index: 1;
  }
  61% {
    transform: translateX(50px);
  }
  66% {
    opacity: 1;
    z-index: 2;
  }
  67% {
    opacity: 1;
    z-index: 3;
  }
  94% {
    opacity: 1;
  }
  98% {
    z-index: 3;
  }
  99% {
    opacity: 0;
    z-index: 1;
  }
  100% {
    transform: translateX(0);
  }
}
html body main section.fv .container .slider:nth-of-type(1) {
  width: 75vw;
  clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  html body main section.fv .container .slider:nth-of-type(1) div:nth-of-type(1) img {
    animation: slider4 15s linear infinite;
  }
  @keyframes slider4 {
    0% {
      transform: translateX(0px);
      opacity: 1;
      z-index: 3;
    }
    28% {
      opacity: 1;
    }
    32% {
      z-index: 3;
    }
    33% {
      opacity: 0;
      z-index: 1;
    }
    34% {
      transform: translateX(-50px);
      opacity: 1;
    }
    35% {
      transform: translateX(5px);
    }
    94% {
      transform: translateX(5px);
    }
    100% {
      transform: translateX(0px);
      z-index: 3;
    }
  }
  html body main section.fv .container .slider:nth-of-type(1) div:nth-of-type(2) img {
    animation: slider5 15s linear infinite;
  }
  @keyframes slider5 {
    0% {
      transform: translateX(0px);
      opacity: 1;
      z-index: 2;
    }
    28% {
      transform: translateX(0px);
    }
    32% {
      z-index: 2;
    }
    33% {
      opacity: 1;
      z-index: 3;
    }
    34% {
      opacity: 1;
    }
    61% {
      opacity: 1;
    }
    65% {
      z-index: 3;
    }
    66% {
      opacity: 0;
      z-index: 1;
    }
    67% {
      transform: translateX(-50px);
    }
    68% {
      transform: translateX(0px);
    }
  }
  html body main section.fv .container .slider:nth-of-type(1) div:nth-of-type(3) img {
    animation: slider6 15s linear infinite;
  }
  @keyframes slider6 {
    0% {
      transform: translateX(0px);
      opacity: 1;
      z-index: 1;
    }
    61% {
      transform: translateX(0px);
    }
    66% {
      opacity: 1;
      z-index: 2;
    }
    67% {
      opacity: 1;
      z-index: 3;
    }
    94% {
      opacity: 1;
    }
    98% {
      z-index: 3;
    }
    99% {
      opacity: 0;
      z-index: 1;
    }
    100% {
      transform: translateX(-50px);
    }
  }
}
html body main section.fv .container .slider:nth-of-type(2) {
  width: 40vw;
  clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 100%);
  margin-left: -15%;
  z-index: 0;
}
html body main section.fv ul.contents {
  margin: 0 0 8vh 84px;
  position: relative;
  z-index: 2;
}
html body main section.fv ul.contents li {
  width: fit-content;
  background: linear-gradient(to right, #E55D87, #5FC3E4);
  padding: 7.5px 11px 8px 11px;
  margin-top: 12px;
  font-size: 38px;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 38px;
  transform: skewX(-10deg);
}
html body main section.fv ul.contents li:nth-of-type(1) {
  margin-top: 0;
}
@media screen and (max-width: 1024px) {
  html body main section.fv ul.contents {
    position: absolute;
    top: 193px;
  }
}
@media screen and (min-width: 1920px) {
  html body main section.fv ul.contents {
    position: absolute;
    top: 193px;
  }
}
html body main section.fv .contents:nth-of-type(2) {
  width: calc(100vw - 168px);
  margin: 0 0 15.7vh 84px;
  display: flex;
  justify-content: space-between;
  align-items: end;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  html body main section.fv .contents:nth-of-type(2) {
    display: block;
    margin: 0 0 0 84px;
    position: absolute;
    bottom: 120px;
  }
  html body main section.fv .contents:nth-of-type(2) ul {
    margin-top: 18px;
  }
}
html body main section.fv .contents:nth-of-type(2) p {
  width: fit-content;
  max-height: 130px;
  background: linear-gradient(to right, #EB3349, #F45C43);
  padding: 8px 16px;
  display: flex;
  gap: 10px;
  position: relative;
  transform: skewX(-10deg);
}
html body main section.fv .contents:nth-of-type(2) p span.vertical {
  width: fit-content;
  max-height: 115px;
  background-color: #FFFFFF;
  padding: 12.5px 10px;
  display: flex;
  align-items: center;
}
html body main section.fv .contents:nth-of-type(2) p span.vertical span {
  display: inline-block;
  background: linear-gradient(to right, #EB3349, #F45C43);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 24px;
  font-weight: 900;
  -webkit-text-fill-color: transparent;
  color: transparent;
  letter-spacing: 0.1em;
  line-height: 24px;
  writing-mode: vertical-rl;
}
html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) {
  font-size: 120px;
  line-height: 120px;
  font-weight: 900;
  color: #FFFFFF;
  transform: translateY(-12px);
}
html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) span:nth-of-type(1) {
  font-size: 80px;
}
html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) span:nth-of-type(2) {
  margin-left: 5px;
  font-size: 40px;
  font-weight: 900;
  line-height: 40px;
}
html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(3) {
  font-size: 20px;
  font-weight: 900;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
  color: #FFFFFF;
  line-height: 20px;
  position: absolute;
  top: -18px;
  right: 0;
  transform: translate(20px, -100%);
}
html body main section.fv .contents:nth-of-type(2) ul {
  display: flex;
  align-items: center;
  gap: 4px;
}
html body main section.fv .contents:nth-of-type(2) ul li {
  border: solid 1px #C11732;
  background-color: #FFFFFF;
  padding: 6px 18px;
  display: flex;
  align-items: center;
  gap: 6px;
  transform: skewX(-10deg);
}
html body main section.fv .contents:nth-of-type(2) ul li img {
  width: 20px;
  height: 20px;
}
html body main section.fv .contents:nth-of-type(2) ul li span {
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  color: #C11732;
}
html body main section.fv .cta {
  display: none;
  width: 500px;
  height: 80px;
  border-radius: 4px;
  background-color: #C11732;
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  transition-duration: 0s;
}
html body main section.fv .cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
html body main section.fv .cta a:hover {
  opacity: 0.7;
}
html body main section.fv .cta a div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
html body main section.fv .cta a div p:nth-of-type(1) {
  width: 164px;
  height: 43px;
  border-radius: 4px;
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  color: #C11732;
  line-height: 14px;
}
html body main section.fv .cta a div p:nth-of-type(2) {
  color: #FFFFFF;
}
html body main section.fv .cta a div p:nth-of-type(2) span:nth-of-type(1) {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.5px;
  line-height: 20px;
}
html body main section.fv .cta a div p:nth-of-type(2) span:nth-of-type(2) {
  font-size: 14px;
  letter-spacing: 0.5px;
  line-height: 14px;
}
html body main section.fv .cta a img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(100%);
}
@media screen and (max-width: 1024px) {
  html body main section.fv .contents:nth-of-type(2) {
    bottom: 136px;
  }
  html body main section.fv .cta {
    display: block;
  }
}
html body main section.introduction {
  max-width: 1200px;
  margin: 64px auto 0 auto;
}
html body main section.introduction picture:nth-of-type(1) img {
  border: solid 1px #EBEBEB;
  margin-top: 0;
}
html body main section.introduction picture:nth-of-type(3) img {
  width: 58.6vw;
}
html body main section.introduction img {
  width: 100%;
  margin: 24px auto 0 auto;
}
html body main section.introduction a {
  width: 500px;
  height: 80px;
  border: solid 1px #06C755;
  border-radius: 4px;
  background-color: #06C755;
  margin: 16px auto 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 28px;
}
html body main section.introduction a:hover {
  background-color: transparent;
  color: #06C755;
}
html body main section.introduction p.annotation1 {
  margin-top: 12px;
  font-size: 16px;
  line-height: 16px;
  text-align: center;
}
html body main section.introduction p.annotation2 {
  width: fit-content;
  max-width: 1200px;
  margin: 48px auto 0 auto;
  font-size: 12px;
  line-height: 20.4px;
}
@media screen and (max-width: 1024px) {
  html body main section.introduction {
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
  }
  html body main section.introduction picture:nth-of-type(3) img {
    width: 100%;
  }
  html body main section.introduction img {
    margin: 12px auto 0 auto;
  }
  html body main section.introduction a {
    width: 100%;
    height: 56px;
    margin: 24px 0 0 0;
    font-size: 16px;
    line-height: 16px;
  }
  html body main section.introduction p.annotation1 {
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.introduction ul {
    margin: 24px 0 0 0;
  }
  html body main section.introduction ul li {
    padding-left: 1em;
    margin-top: 6px;
    font-size: 12px;
    line-height: 16.8px;
    text-indent: -1em;
  }
  html body main section.introduction ul li:nth-of-type(1) {
    margin-top: 0;
  }
  html body main section.cta {
    margin-top: 32px;
  }
}
html body main section.cta {
  height: 208px;
  margin-top: 64px;
}
html body main section.cta ul {
  height: 100%;
  display: flex;
}
html body main section.cta ul li {
  width: 50%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 24px;
}
html body main section.cta ul li p {
  width: fit-content;
  margin: 0 auto;
  font-size: 18px;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 18px;
  position: relative;
}
html body main section.cta ul li p::before, html body main section.cta ul li p::after {
  content: "";
  width: 2px;
  height: 28px;
  background-color: #FFFFFF;
  position: absolute;
  top: 50%;
}
html body main section.cta ul li p::before {
  left: -12px;
  transform: translate(calc(-100% - 12px), -50%) rotate(135deg);
}
html body main section.cta ul li p::after {
  right: -12px;
  transform: translate(calc(100% + 12px), -50%) rotate(-135deg);
}
html body main section.cta ul li a {
  width: 521px;
  height: 68px;
  border-radius: 4px;
  border: solid 1px #FFFFFF;
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  font-size: 18px;
  font-weight: 900;
  list-style: 18px;
}
html body main section.cta ul li a svg {
  width: 36px;
  height: 36px;
}
@media screen and (max-width: 1024px) {
  html body main section.cta ul li a {
    width: 75%;
  }
}
html body main section.cta ul li:nth-of-type(1) {
  background-color: #C11732;
}
html body main section.cta ul li:nth-of-type(1) a {
  color: #C11732;
}
html body main section.cta ul li:nth-of-type(1) a svg {
  fill: #C11732;
}
html body main section.cta ul li:nth-of-type(1) a:hover {
  background-color: #C11732;
  color: #FFFFFF;
}
html body main section.cta ul li:nth-of-type(1) a:hover svg {
  fill: #FFFFFF;
}
html body main section.cta ul li:nth-of-type(2) {
  background-color: #F29600;
}
html body main section.cta ul li:nth-of-type(2) a {
  color: #F29600;
}
html body main section.cta ul li:nth-of-type(2) a svg {
  fill: #F29600;
}
html body main section.cta ul li:nth-of-type(2) a:hover {
  background-color: #F29600;
  color: #FFFFFF;
}
html body main section.cta ul li:nth-of-type(2) a:hover svg {
  fill: #FFFFFF;
}
html body main section.achievements {
  margin-top: 80px;
}
html body main section.achievements h2 {
  height: 36px;
}
html body main section.achievements h2 img {
  height: 100%;
}
html body main section.achievements article {
  height: 550px;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}
html body main section.achievements article h3 {
  font-size: 38px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 1px;
  line-height: 38px;
  text-align: center;
}
html body main section.achievements article p {
  color: #FFFFFF;
  text-align: center;
}
html body main section.achievements article p.odometer-trigger {
  margin-top: 10px;
  display: flex;
  align-items: end;
  font-size: 80px;
  font-weight: 900;
  font-style: italic;
  transform: translateX(75px);
  opacity: 0;
  transition: 2.5s linear;
}
html body main section.achievements article p.odometer-trigger span.odometer-auto-theme * {
  font-size: 150px;
  font-weight: 900;
  font-style: italic;
  line-height: 150px;
}
html body main section.achievements article p.odometer-trigger span.odometer-auto-theme span.odometer-digit {
  padding-left: 20px;
  margin-left: -10px;
  margin-right: -10px;
}
html body main section.achievements article p.odometer-trigger span.odometer-auto-theme span.odometer-digit-spacer {
  vertical-align: initial !important;
}
html body main section.achievements article p.odometer-trigger span.odometer-auto-theme .odometer-ribbon-inner {
  transition-duration: 2.75s !important;
}
html body main section.achievements article p.odometer-trigger span.odometer-auto-theme span.odometer-value {
  width: 130%;
  text-align: left;
  left: -20px;
}
html body main section.achievements article p.odometer-trigger.in {
  transform: translateX(0);
  opacity: 1;
}
html body main section.achievements article p:nth-of-type(2) {
  margin-top: 56px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 20px;
}
html body main section.achievements article p.annotation {
  font-size: 14px;
  line-height: 14px;
  position: absolute;
  right: 183px;
  bottom: 56px;
}
html body main section.achievements article:nth-of-type(1) {
  background-image: url("../img/achievements-bg1.webp");
  margin-top: 64px;
}
html body main section.achievements article:nth-of-type(2) {
  background-image: url("../img/achievements-bg2.webp");
}
html body main section.equipment article.flex, html body main section.machine article.flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 98px;
}
html body main section.equipment article.flex div, html body main section.machine article.flex div {
  width: 455px;
  position: relative;
}
html body main section.equipment article.flex div h2, html body main section.machine article.flex div h2 {
  font-size: 72px;
  font-weight: 900;
  font-style: italic;
  color: #C11732;
  letter-spacing: 1px;
  line-height: 72px;
}
html body main section.equipment article.flex div h2 span.reveal, html body main section.machine article.flex div h2 span.reveal {
  display: block;
  width: fit-content;
  background: linear-gradient(to right, #E55D87, #5FC3E4);
  padding: 8px;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 32px;
  transform: skewX(-8deg);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 3s cubic-bezier(0.16, 1, 0.3, 1);
}
html body main section.equipment article.flex div h2 span.reveal.is-show, html body main section.machine article.flex div h2 span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.equipment article.flex div p, html body main section.machine article.flex div p {
  margin-top: 40px;
  font-size: 16px;
  line-height: 27.2px;
}
html body main section.equipment article.flex div small, html body main section.machine article.flex div small {
  font-family: "futura-pt", sans-serif;
  font-size: 20px;
  color: #C11732;
  line-height: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
}
html body main section.equipment article.flex img, html body main section.machine article.flex img {
  width: 646px;
}
html body main section.equipment {
  margin-top: 120px;
}
html body main section.equipment article.flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 98px;
}
html body main section.equipment article.flex div {
  width: 455px;
  position: relative;
}
html body main section.equipment article.flex div h2 {
  font-size: 72px;
  font-weight: 900;
  font-style: italic;
  color: #C11732;
  letter-spacing: 1px;
  line-height: 72px;
}
html body main section.equipment article.flex div h2 span.reveal {
  display: block;
  width: fit-content;
  background: linear-gradient(to right, #E55D87, #5FC3E4);
  padding: 8px;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 32px;
  transform: skewX(-8deg);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 3s cubic-bezier(0.16, 1, 0.3, 1);
}
html body main section.equipment article.flex div h2 span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.equipment article.flex div p {
  margin-top: 40px;
  font-size: 16px;
  line-height: 27.2px;
}
html body main section.equipment article.flex div small {
  font-family: "futura-pt", sans-serif;
  font-size: 20px;
  color: #C11732;
  line-height: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
}
html body main section.equipment article.flex img {
  width: 646px;
}
html body main section.equipment article.img-list {
  background-color: #C11732;
}
html body main section.equipment article.img-list .slick-track {
  transition-duration: initial;
}
html body main section.equipment article.img-list .slick-slide {
  width: 484px;
  overflow-x: hidden;
  margin: 0 10px;
  position: relative;
}
html body main section.equipment article.img-list h3 {
  width: fit-content;
  min-width: 226px;
  max-width: 90%;
  height: 42px;
  padding: 0 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 14px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.5px;
  line-height: 14px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
html body main section.equipment article.img-list h3::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #C11732;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(5px) skewX(-15deg);
  z-index: -1;
}
html body main section.equipment article.img-list h3 span {
  display: block;
  font-size: 10px;
  font-weight: 400;
  text-align: center;
}
html body main section.equipment article.img-list:nth-of-type(2) {
  padding-top: 40px;
  margin-top: 40px;
}
html body main section.equipment article.img-list:nth-of-type(3) {
  padding: 24px 0 40px 0;
}
html body main section.machine {
  margin-top: 120px;
}
html body main section.machine article.flex {
  gap: 36px;
}
html body main section.machine article.flex div {
  width: 558px;
}
html body main section.machine article.flex div h2 span.reveal:nth-of-type(1) {
  margin-bottom: 8px;
}
html body main section.machine article.flex div h2 span.reveal:nth-of-type(2) {
  margin-bottom: 41px;
  margin-left: 139px;
}
html body main section.machine article.flex img {
  width: 575px;
}
html body main section.machine article.machine-list {
  background-color: #F7F7F7;
  padding-bottom: 40px;
  margin-top: 60px;
}
html body main section.machine article.machine-list nav.large {
  padding-top: 40px;
}
html body main section.machine article.machine-list nav.large ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
html body main section.machine article.machine-list nav.large ul li {
  width: 250px;
  height: 60px;
  border: solid 1px #C11732;
  border-radius: 4px;
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 16px;
  color: #C11732;
  letter-spacing: 0.5px;
  line-height: 19.2px;
  cursor: pointer;
}
html body main section.machine article.machine-list nav.large ul li:hover {
  background-color: #C11732;
  color: #FFFFFF;
}
html body main section.machine article.machine-list nav.large ul li span {
  font-size: 12px;
  line-height: 16.8px;
}
html body main section.machine article.machine-list nav.large ul li.select {
  background-color: #C11732;
  color: #FFFFFF;
  cursor: initial;
}
html body main section.machine article.machine-list ul.container li.contents {
  display: none;
}
html body main section.machine article.machine-list ul.container li.contents nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
html body main section.machine article.machine-list ul.container li.contents nav ul li {
  width: 180px;
  height: 48px;
  border: solid 1px #C11732;
  border-radius: 4px;
  background-color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  color: #C11732;
  letter-spacing: 0.5px;
  line-height: 100%;
  cursor: pointer;
}
html body main section.machine article.machine-list ul.container li.contents nav ul li:hover {
  background-color: #C11732;
  color: #FFFFFF;
}
html body main section.machine article.machine-list ul.container li.contents nav ul li.select {
  background-color: #C11732;
  color: #FFFFFF;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list {
  max-width: 1200px;
  margin: 32px auto 0 auto;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list {
  display: none;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul {
  display: flex;
  gap: 24px;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li {
  width: calc((100% - 72px) / 4);
  border: solid 1px #EBEBEB;
  border-radius: 4px;
  background-color: #FFFFFF;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li img {
  height: 188px;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li div {
  height: 148px;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li div h3 {
  padding: 24px 12px 0 0;
  margin-left: 12px;
  font-size: 16px;
  font-weight: 700;
  color: #C11732;
  letter-spacing: 1px;
  line-height: 21.6px;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li div p {
  padding-right: 12px;
  margin: 14px 0 0 12px;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 22.4px;
}
html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.show, html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.select {
  display: block;
}
html body main section.machine article.machine-list ul.container li.contents:nth-of-type(2) nav {
  margin-top: 16px;
}
html body main section.machine article.machine-list ul.container li.contents.select {
  display: block;
}
html body main section.machine article.machine-list ul.annotation {
  max-width: 1200px;
  margin: 16px auto 0 auto;
}
html body main section.machine article.machine-list ul.annotation li {
  margin-top: 6px;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 14px;
}
html body main section.machine article.machine-list ul.annotation li:nth-of-type(1) {
  margin-top: 0;
}
html body main section.plan {
  background-image: url(../img/plan-bg.webp);
  background-size: cover;
  background-position: center;
  padding-bottom: 80px;
}
html body main section.plan h2 {
  width: fit-content;
  padding-top: 80px;
  margin: 0 auto;
  font-size: 68px;
  font-weight: 900;
  font-style: italic;
  color: #FFFFFF;
  letter-spacing: 1px;
  line-height: 68px;
}
html body main section.plan h2 span.reveal {
  display: block;
  background: linear-gradient(to right, #E55D87, #5FC3E4);
  padding: 8px;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 32px;
  transform: skewX(-8deg);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 3s cubic-bezier(0.16, 1, 0.3, 1);
}
html body main section.plan h2 span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.plan p {
  margin-top: 48px;
  font-size: 16px;
  color: #FFFFFF;
  text-align: center;
}
html body main section.plan article:nth-of-type(1) ul {
  margin-top: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
html body main section.plan article:nth-of-type(1) ul li {
  width: 350px;
  border-radius: 6px;
}
html body main section.plan article:nth-of-type(1) ul li p.point1 {
  height: 57px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0;
  font-size: 24px;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 24px;
}
html body main section.plan article:nth-of-type(1) ul li div {
  border-radius: 4px;
  background-color: #FFFFFF;
  padding: 32px 0 40px 0;
}
html body main section.plan article:nth-of-type(1) ul li div h3 {
  width: 285px;
  height: 55px;
  border-top: solid 2px #C11732;
  border-bottom: solid 2px #C11732;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  font-weight: 900;
  font-style: italic;
  color: #C11732;
  line-height: 22px;
}
html body main section.plan article:nth-of-type(1) ul li div p.price {
  color: #1B1416;
  text-align: center;
}
html body main section.plan article:nth-of-type(1) ul li div p.price span.fee {
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
}
html body main section.plan article:nth-of-type(1) ul li div p.price span.price {
  display: block;
  margin-top: 4px;
  font-size: 64px;
  font-weight: 900;
  color: #C11732;
  line-height: 70px;
}
html body main section.plan article:nth-of-type(1) ul li div p.price span.price span.yen {
  font-size: 50px;
  font-weight: 900;
  letter-spacing: 5px;
  line-height: 50px;
}
html body main section.plan article:nth-of-type(1) ul li div p.price span.price span.comma {
  font-size: 40px;
  line-height: 40px;
}
html body main section.plan article:nth-of-type(1) ul li div p.price span.tax {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  line-height: 14px;
}
html body main section.plan article:nth-of-type(1) ul li div p.point2 {
  width: 285px;
  border-top: dashed 1px #CCCCCC;
  padding-top: 24px;
  margin: 32px auto 0 auto;
  font-size: 16px;
  color: #1B1416;
  line-height: 16px;
  text-align: center;
}
html body main section.plan article:nth-of-type(1) ul li div p.point2 span {
  position: relative;
  z-index: 1;
}
html body main section.plan article:nth-of-type(1) ul li div p.point2 span::before {
  content: "";
  width: 100%;
  height: 8px;
  background-color: rgba(255, 184, 53, 0.6);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
html body main section.plan article:nth-of-type(1) ul li:nth-of-type(1) {
  background: linear-gradient(to right, #EB3349, #F45C43);
  padding: 0 6px 6px 6px;
}
html body main section.plan article:nth-of-type(2) {
  margin-top: 49px;
}
html body main section.plan article:nth-of-type(2) h3 {
  font-size: 40px;
  font-weight: 900;
  font-style: italic;
  color: #FFFFFF;
  line-height: 40px;
  text-align: center;
}
html body main section.plan article:nth-of-type(2) p {
  margin-top: 33px;
  font-size: 16px;
  color: #FFFFFF;
  line-height: 22px;
  text-align: center;
}
html body main section.plan article:nth-of-type(2) table {
  width: 750px;
  margin: 32px auto 0 auto;
}
html body main section.plan article:nth-of-type(2) table tr {
  width: 100%;
  height: 56px;
  border-top: 1px solid #1B1416;
  background-color: #FFFFFF;
}
html body main section.plan article:nth-of-type(2) table tr th, html body main section.plan article:nth-of-type(2) table tr td {
  vertical-align: middle;
}
html body main section.plan article:nth-of-type(2) table tr th {
  padding-left: 24px;
}
html body main section.plan article:nth-of-type(2) table tr th span.option {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 19px;
  font-weight: 700;
  line-height: 19px;
}
html body main section.plan article:nth-of-type(2) table tr th span.option img {
  width: 40px;
  height: 40px;
}
html body main section.plan article:nth-of-type(2) table tr td {
  padding-left: 48px;
}
html body main section.plan article:nth-of-type(2) table tr td span.price {
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
}
html body main section.plan article:nth-of-type(2) table tr td span.price span:nth-of-type(1) {
  font-size: 26px;
  font-weight: 900;
  color: #C11732;
  line-height: 26px;
}
html body main section.plan article:nth-of-type(2) table tr td span.price span:nth-of-type(2) {
  font-weight: 400;
}
html body main section.plan article:nth-of-type(2) table tr:nth-of-type(1) {
  border-top: none;
}
html body main section.plan article:nth-of-type(2) table tr:nth-of-type(1) th {
  border-radius: 4px 0 0 0;
}
html body main section.plan article:nth-of-type(2) table tr:nth-of-type(1) td {
  border-radius: 0 4px 0 0;
}
html body main section.plan article:nth-of-type(2) table tr:nth-last-of-type(1) th {
  border-radius: 0 0 0 4px;
}
html body main section.plan article:nth-of-type(2) table tr:nth-last-of-type(1) td {
  border-radius: 0 0 4px 0;
}
html body main section.join .flex, html body main section.access .flex, html body main section.features .flex, html body main section.voice .flex, html body main section.service .flex, html body main section.price .flex, html body main section.faq .flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: end;
  position: relative;
}
html body main section.join .flex h2, html body main section.access .flex h2, html body main section.features .flex h2, html body main section.voice .flex h2, html body main section.service .flex h2, html body main section.price .flex h2, html body main section.faq .flex h2 {
  font-size: 72px;
  font-weight: 900;
  font-style: italic;
  color: #C11732;
  letter-spacing: 1px;
  line-height: 72px;
}
html body main section.join .flex h2 span.reveal, html body main section.access .flex h2 span.reveal, html body main section.features .flex h2 span.reveal, html body main section.voice .flex h2 span.reveal, html body main section.service .flex h2 span.reveal, html body main section.price .flex h2 span.reveal, html body main section.faq .flex h2 span.reveal {
  display: block;
  width: fit-content;
  background: linear-gradient(to right, #E55D87, #5FC3E4);
  padding: 8px;
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 32px;
  transform: skewX(-8deg);
  clip-path: inset(0 100% 0 0);
  transition: clip-path 3s cubic-bezier(0.16, 1, 0.3, 1);
}
html body main section.join .flex h2 span.reveal.is-show, html body main section.access .flex h2 span.reveal.is-show, html body main section.features .flex h2 span.reveal.is-show, html body main section.voice .flex h2 span.reveal.is-show, html body main section.service .flex h2 span.reveal.is-show, html body main section.price .flex h2 span.reveal.is-show, html body main section.faq .flex h2 span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.join .flex p, html body main section.access .flex p, html body main section.features .flex p, html body main section.voice .flex p, html body main section.service .flex p, html body main section.price .flex p, html body main section.faq .flex p {
  margin-top: 40px;
  margin-left: 80px;
  font-size: 16px;
  line-height: 27.2px;
}
html body main section.join .flex small, html body main section.access .flex small, html body main section.features .flex small, html body main section.voice .flex small, html body main section.service .flex small, html body main section.price .flex small, html body main section.faq .flex small {
  font-family: "futura-pt", sans-serif;
  font-size: 20px;
  color: #C11732;
  line-height: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
}
html body main section.join {
  margin-top: 80px;
}
html body main section.join ul {
  background-color: #F4C151;
  padding: 48px 0 60px 0;
  margin-top: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
html body main section.join ul li {
  width: 282px;
  max-width: 282px;
  height: 573px;
  border-radius: 4px;
  background-color: #FFFFFF;
  position: relative;
}
html body main section.join ul li p.num {
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, #F45C43 50%, transparent 50%);
  padding: 11px 0 0 21px;
  margin-top: 0;
  position: absolute;
  top: 0;
  left: 0;
  font-family: "futura-pt", sans-serif;
  font-size: 28px;
  font-weight: 700;
  font-style: italic;
  color: #FFFFFF;
  line-height: 28px;
}
html body main section.join ul li h3 {
  padding-top: 40px;
  font-size: 20px;
  font-weight: 900;
  line-height: 24px;
  text-align: center;
}
html body main section.join ul li img {
  display: block;
  width: 140px;
  margin: 24px auto 0 auto;
}
html body main section.join ul li img.svg {
  display: none;
}
html body main section.join ul li p {
  width: calc(100% - 36px);
  margin: 23px auto 0 auto;
  font-size: 14px;
  line-height: 22.4px;
}
html body main section.join ul li p span {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  line-height: 20.4px;
}
html body main section.join ul li a {
  display: none;
}
html body main section.join ul li:nth-of-type(1) img.svg {
  display: block;
}
html body main section.join ul li:nth-of-type(1) img.webp {
  display: none;
}
html body main section.join ul li:nth-of-type(1) a {
  display: block;
  width: 220px;
  height: fit-content;
  margin: 16px auto 0 auto;
}
html body main section.join ul li:nth-of-type(1) a:hover {
  opacity: 0.7;
}
html body main section.join ul li:nth-of-type(1) a img {
  width: 100%;
  margin: 0 0 0 0;
}
html body main section.join ul li:nth-of-type(1) a:nth-of-type(1) {
  margin: 24px auto 0 auto;
}
html body main section.join a.cta {
  width: 500px;
  height: 80px;
  border: solid 1px #C11732;
  border-radius: 4px;
  background-color: #C11732;
  margin: 48px auto 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 24px;
  font-weight: 900;
  color: #FFFFFF;
  line-height: 24px;
}
html body main section.join a.cta:hover {
  background-color: #FFFFFF;
  color: #C11732;
}
html body main section.join a.cta:hover svg {
  fill: #C11732;
}
html body main section.join a.cta svg {
  width: 48px;
  height: 48px;
  fill: #FFFFFF;
}
html body main section.access {
  margin-top: 160px;
}
html body main section.access h3 {
  height: 26px;
  margin-top: 81px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 26px;
  font-weight: 400;
  color: #C11732;
  line-height: 100%;
}
html body main section.access h3 img {
  display: block;
  width: initial;
  height: 100%;
}
html body main section.access .container {
  max-width: 1200px;
  margin: 48px auto 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 80px;
}
html body main section.access .container ul {
  width: calc((100% - 80px) / 2);
}
html body main section.access .container ul li {
  border-top: solid 1px #E3E3E3;
  padding: 20px 0;
}
html body main section.access .container ul li h4 {
  width: fit-content;
  height: 28px;
  border-radius: 2px;
  background-color: #C11732;
  padding: 0 9px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 16px;
}
html body main section.access .container ul li h4 img {
  width: 24px;
  height: 24px;
}
html body main section.access .container ul li p {
  margin: 16px 0 0 14px;
  font-size: 16px;
  line-height: 22.4px;
}
html body main section.access .container ul li:nth-of-type(1) {
  border-top: none;
}
html body main section.access .container ul li:nth-of-type(3) p {
  line-height: 28.4px;
}
html body main section.access .container ul li:nth-last-of-type(1) {
  border-bottom: solid 1px #E3E3E3;
}
html body main section.access .container iframe {
  width: calc((100% - 80px) / 2);
}
html body main section.features {
  margin-top: 160px;
}
html body main section.features ul {
  max-width: 1200px;
  margin: 48px auto 0 auto;
  display: flex;
  justify-content: space-between;
}
html body main section.features ul li {
  width: calc((100% - 38px) / 2);
  margin-top: 40px;
}
html body main section.features ul li p.copy {
  width: calc(100% + 12px);
  margin-top: 16px;
  font-size: 16px;
  line-height: 27.2px;
}
html body main section.features ul li:nth-of-type(1), html body main section.features ul li:nth-of-type(2) {
  margin-top: 0;
}
html body main section.banner {
  max-width: 1200px;
  margin: 120px auto 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
html body main section.banner img {
  width: calc(50% - 16px);
}
html body main section.voice {
  margin-top: 160px;
}
html body main section.voice .flex h2 span.sp {
  display: none;
}
html body main section.voice .container {
  background-color: #F7F7F7;
  padding: 48px 0;
  margin-top: 48px;
}
html body main section.voice .container p.copy {
  width: 527px;
  padding: 20px 0 28px 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
  font-style: italic;
  color: #FFFFFF;
  line-height: 40px;
  text-align: center;
  position: relative;
  z-index: 1;
}
html body main section.voice .container p.copy::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 8px;
  background: linear-gradient(to right, #EB3349, #F45C43);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
html body main section.voice .container p.copy img {
  width: 90px;
  height: 90px;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translate(-50%, 20px);
  z-index: -2;
}
html body main section.voice .container ul {
  margin-top: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 31px;
}
html body main section.voice .container ul li {
  width: 485px;
  height: 284px;
  border: solid 2px #C11732;
  background-color: #FFFFFF;
}
html body main section.voice .container ul li .contents {
  width: calc(100% - 48px);
  border-bottom: solid 2px #C11732;
  padding-top: 24px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 45px;
}
html body main section.voice .container ul li .contents img {
  width: auto;
  height: 96px;
  margin-top: 3px;
}
html body main section.voice .container ul li .contents div {
  margin-top: 8px;
}
html body main section.voice .container ul li .contents div p {
  display: flex;
  align-items: center;
  font-size: 34px;
  font-weight: 700;
  color: #F29600;
  line-height: 30px;
}
html body main section.voice .container ul li .contents div p img {
  width: 31px;
  height: 31px;
  margin-top: 0;
  margin-right: 4px;
}
html body main section.voice .container ul li .contents div p img:nth-last-of-type(1) {
  margin-right: 16px;
}
html body main section.voice .container ul li .contents div h3 {
  width: fit-content;
  margin-top: 16px;
  padding: 4px 8px;
  font-size: 18px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 18px;
}
html body main section.voice .container ul li .contents div h3.mens {
  background-color: #36AEC0;
}
html body main section.voice .container ul li .contents div h3.ladies {
  background-color: #E27792;
}
html body main section.voice .container ul li p.contents-copy {
  width: calc(100% - 48px);
  margin: 20px auto 0 auto;
  font-size: 18px;
  font-weight: 700;
  line-height: 28.8px;
}
html body main section.voice .container ul li p.contents-copy span {
  display: inline;
  background: linear-gradient(transparent 65%, rgba(255, 184, 53, 0.6) 65%);
  font-weight: 700;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding-bottom: 0;
}
html body main section.cta-margin-top-0 {
  margin-top: 0;
}
html body main section.service {
  margin-top: 160px;
}
html body main section.service .container {
  max-width: 1200px;
  margin: 64px auto 0 auto;
  display: flex;
  justify-content: space-between;
}
html body main section.service .container img {
  width: calc((100% - 32px) / 2);
  margin-top: 32px;
}
html body main section.service .container img:nth-of-type(1), html body main section.service .container img:nth-of-type(2) {
  margin-top: 0;
}
html body main section.service h3 {
  margin-top: 48px;
  font-size: 40px;
  font-weight: 900;
  font-style: italic;
  line-height: 40px;
  text-align: center;
}
html body main section.service table {
  width: 750px;
  border-collapse: separate;
  border-spacing: 0;
  margin: 32px auto 0 auto;
}
html body main section.service table tr {
  width: 100%;
  height: 56px;
  background-color: #FFFFFF;
}
html body main section.service table tr th, html body main section.service table tr td {
  border-top: 1px solid #1B1416;
  vertical-align: middle;
}
html body main section.service table tr th {
  border-left: 1px solid #1B1416;
  padding-left: 24px;
}
html body main section.service table tr th span.option {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 19px;
  font-weight: 700;
  line-height: 19px;
}
html body main section.service table tr th span.option img {
  width: 40px;
  height: 40px;
}
html body main section.service table tr td {
  border-right: 1px solid #1B1416;
  padding-left: 48px;
}
html body main section.service table tr td span.price {
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
}
html body main section.service table tr td span.price span:nth-of-type(1) {
  font-size: 26px;
  font-weight: 900;
  color: #C11732;
  line-height: 26px;
}
html body main section.service table tr td span.price span:nth-of-type(2) {
  font-weight: 400;
}
html body main section.service table tr:nth-of-type(1) th {
  border-radius: 4px 0 0 0;
}
html body main section.service table tr:nth-of-type(1) td {
  border-radius: 0 4px 0 0;
}
html body main section.service table tr:nth-last-of-type(1) th, html body main section.service table tr:nth-last-of-type(1) td {
  border-bottom: 1px solid #1B1416;
}
html body main section.service table tr:nth-last-of-type(1) th {
  border-radius: 0 0 0 4px;
}
html body main section.service table tr:nth-last-of-type(1) td {
  border-radius: 0 0 4px 0;
}
html body main section.service table tr:nth-last-of-type(2) td span.price {
  position: relative;
}
html body main section.service table tr:nth-last-of-type(2) td span.price::before {
  content: "〜";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(75%, -50%);
}
html body main section.price {
  margin-top: 160px;
}
html body main section.price table.pc {
  border-collapse: separate;
  border-spacing: 0;
  margin: 64px auto 0 auto;
}
html body main section.price table.pc tr:nth-of-type(1) {
  background-color: #C11732;
}
html body main section.price table.pc tr:nth-of-type(1) th {
  width: 225px;
  height: 50px;
  border-left: solid 2px #FFFFFF;
  font-size: 24px;
  font-weight: 400;
  color: #FFFFFF;
  letter-spacing: 2.4px;
  text-align: center;
  vertical-align: middle;
}
html body main section.price table.pc tr:nth-of-type(1) th:nth-of-type(1) {
  border-left: none;
}
html body main section.price table.pc tr:nth-of-type(1) th:nth-of-type(4) {
  width: 325px;
}
html body main section.price table.pc tr:nth-of-type(2), html body main section.price table.pc tr:nth-of-type(3) {
  background-color: #FFFFFF;
}
html body main section.price table.pc tr:nth-of-type(2) td, html body main section.price table.pc tr:nth-of-type(3) td {
  width: 225px;
  height: 130px;
  border-bottom: solid 2px #C11732;
  border-left: solid 2px #C11732;
  font-size: 24px;
  font-weight: 400;
  line-height: 100%;
  text-align: center;
  vertical-align: middle;
}
html body main section.price table.pc tr:nth-of-type(2) td span, html body main section.price table.pc tr:nth-of-type(3) td span {
  font-weight: 400;
  line-height: 100%;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(2) span, html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(3) span, html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(2) span, html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(3) span {
  font-size: 18px;
  font-weight: 400;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(4), html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) {
  width: 325px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(4) span.container, html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) span.container {
  display: flex;
  align-items: center;
  gap: 10px;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(4) span.container span.price, html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) span.container span.price {
  font-size: 24px;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(4) span.container span.price span, html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) span.container span.price span {
  font-size: 18px;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(4) span.container span:nth-of-type(2), html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) span.container span:nth-of-type(2) {
  border-radius: 4px;
  background-color: #DDC4A6;
  padding: 4px 4px;
  font-size: 14px;
  font-weight: 400;
  line-height: 125%;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-of-type(4) span.annotation, html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) span.annotation {
  display: block;
  border-radius: 2px;
  padding: 2px 6px;
  margin-top: 10px;
  font-size: 14px;
  line-height: 125%;
}
html body main section.price table.pc tr:nth-of-type(2) td:nth-last-of-type(1), html body main section.price table.pc tr:nth-of-type(3) td:nth-last-of-type(1) {
  border-right: solid 2px #C11732;
}
html body main section.price table.pc tr:nth-of-type(3) td:nth-of-type(4) span.annotation {
  background-color: #D2CAD5;
}
html body main section.price ul {
  width: 1000px;
  margin: 16px auto 0 auto;
}
html body main section.price ul li {
  margin-top: 8px;
  font-size: 16px;
  line-height: 22.4px;
}
html body main section.price ul li:nth-of-type(1) {
  margin-top: 0;
}
html body main section.faq {
  margin-top: 160px;
}
html body main section.faq ul.container {
  width: 819px;
  margin: 64px auto 0 auto;
}
html body main section.faq ul.container li.container {
  margin-top: 24px;
}
html body main section.faq ul.container li.container ul.contents {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  cursor: pointer;
}
html body main section.faq ul.container li.container ul.contents:hover {
  opacity: 0.7;
}
html body main section.faq ul.container li.container ul.contents li.contents {
  border-right: solid 1px #D9D9D9;
  border-left: solid 1px #D9D9D9;
}
html body main section.faq ul.container li.container ul.contents li.contents h3 {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) {
  position: relative;
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) button {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background-color: #C11732;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) button::before, html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) button::after {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #FFFFFF;
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition-duration: 0.4s;
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) button::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform: translate(-50%, -50%) rotate(90deg);
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) button.open::before {
  opacity: 0;
}
html body main section.faq ul.container li.container ul.contents li.contents span {
  display: block;
  letter-spacing: 1px;
}
html body main section.faq ul.container li.container ul.contents li.contents span a {
  color: #C11732;
  text-decoration: underline;
}
html body main section.faq ul.container li.container ul.contents li.contents span a:hover {
  opacity: 0.7;
}
html body main section.faq ul.container li.container ul.contents li.contents span:nth-of-type(1) {
  width: 62px;
  font-size: 20px;
  font-weight: 900;
  color: #C11732;
  line-height: 20px;
  text-align: center;
}
html body main section.faq ul.container li.container ul.contents li.contents span:nth-of-type(2) {
  width: calc(100% - 62px);
  font-size: 16px;
  line-height: 27.2px;
}
html body main section.faq ul.container li.container ul.contents li.contents h3 span:nth-of-type(2) {
  font-weight: 700;
}
html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(1) {
  height: 80px;
  border-top: solid 1px #D9D9D9;
  border-bottom: solid 1px #D9D9D9;
  border-radius: 4px 4px 0 0;
  background-color: #F7F7F7;
  display: flex;
}
html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(2) {
  display: none;
  border-bottom: solid 1px #D9D9D9;
  border-radius: 0 0 4px 4px;
}
html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(2) div {
  padding: 20px 0;
  display: flex;
}
html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(2) span:nth-of-type(2) {
  width: calc(100% - 86px);
}
html body main section.faq ul.container li.container:nth-of-type(1) {
  margin-top: 0;
}

@media screen and (max-width: 1024px) {
  header nav {
    justify-content: center;
  }
  header nav ul {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  header {
    height: 50px;
  }
  header nav {
    justify-content: center;
  }
  header nav h1 {
    height: 13px;
    font-size: 13px;
    line-height: 13px;
  }
  header nav ul {
    display: none;
  }
  footer {
    padding-bottom: 80px;
    margin-top: 160px;
  }
  footer ul {
    width: 75%;
    margin: 0 auto;
    gap: 4px 12px;
  }
  footer ul li {
    padding-right: 12px;
    line-height: 12px;
  }
  footer ul li a {
    font-size: 12px;
    line-height: 12px;
  }
  footer small {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  html body main section.fv {
    height: initial;
    margin-top: 50px;
  }
  html body main section.fv img.frame {
    height: 410px;
  }
  html body main section.fv img.frame1.tablet, html body main section.fv img.frame2.tablet {
    display: none;
  }
  html body main section.fv .container {
    width: 100%;
    height: 410px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  html body main section.fv .container .slider {
    width: 115% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
  }
  html body main section.fv .container .slider div {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  html body main section.fv .container .slider div img {
    height: 60%;
  }
  html body main section.fv .container .slider div:nth-of-type(1) img {
    animation: slider1 15s linear infinite;
  }
  @keyframes slider1 {
    0% {
      transform: translateX(0px);
      opacity: 1;
      z-index: 3;
    }
    28% {
      opacity: 1;
    }
    32% {
      z-index: 3;
    }
    33% {
      opacity: 0;
      z-index: 1;
    }
    34% {
      transform: translateX(-50px);
      opacity: 1;
    }
    35% {
      transform: translateX(5px);
    }
    94% {
      transform: translateX(5px);
    }
    100% {
      transform: translateX(0px);
      z-index: 3;
    }
  }
  html body main section.fv .container .slider div:nth-of-type(2) img {
    animation: slider2 15s linear infinite;
  }
  @keyframes slider2 {
    0% {
      transform: translateX(0px);
      opacity: 1;
      z-index: 2;
    }
    28% {
      transform: translateX(0px);
    }
    32% {
      z-index: 2;
    }
    33% {
      opacity: 1;
      z-index: 3;
    }
    34% {
      opacity: 1;
    }
    61% {
      opacity: 1;
    }
    65% {
      z-index: 3;
    }
    66% {
      opacity: 0;
      z-index: 1;
    }
    67% {
      transform: translateX(-50px);
    }
    68% {
      transform: translateX(0px);
    }
  }
  html body main section.fv .container .slider div:nth-of-type(3) img {
    animation: slider3 15s linear infinite;
  }
  @keyframes slider3 {
    0% {
      transform: translateX(0px);
      opacity: 1;
      z-index: 1;
    }
    61% {
      transform: translateX(0px);
    }
    66% {
      opacity: 1;
      z-index: 2;
    }
    67% {
      opacity: 1;
      z-index: 3;
    }
    94% {
      opacity: 1;
    }
    98% {
      z-index: 3;
    }
    99% {
      opacity: 0;
      z-index: 1;
    }
    100% {
      transform: translateX(-50px);
    }
  }
  html body main section.fv .container .slider:nth-of-type(1) {
    clip-path: polygon(0 0, 100% 0, 100% 55%, 0 60%);
  }
  html body main section.fv .container .slider:nth-of-type(2) {
    margin-left: 0;
    clip-path: polygon(0 60%, 100% 55%, 100% 100%, 0 100%);
  }
  html body main section.fv .container .slider:nth-of-type(2) div img {
    margin-top: 45%;
  }
  html body main section.fv ul.contents {
    margin-left: initial;
    top: 32px;
    left: 12px;
  }
  html body main section.fv ul.contents li {
    padding: 11px 8px;
    margin-top: 8px;
    font-size: 24px;
    line-height: 24px;
  }
  html body main section.fv .contents:nth-of-type(2) {
    width: 100%;
    background: linear-gradient(to right, #EB3349, #F45C43);
    padding-bottom: 17px;
    margin-top: 410px;
    margin-left: initial;
    display: block;
    position: initial;
  }
  html body main section.fv .contents:nth-of-type(2) p {
    background: transparent;
    padding: 16px 0 0 0;
    margin-top: 0;
    margin-left: 16px;
    gap: 7px;
    align-items: end;
  }
  html body main section.fv .contents:nth-of-type(2) p span.vertical {
    padding: 4px 7px;
  }
  html body main section.fv .contents:nth-of-type(2) p span.vertical span {
    font-size: 14px;
    letter-spacing: 2px;
    line-height: 16px;
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) {
    font-size: 56px;
    line-height: 48px;
    transform: translateY(0);
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) span:nth-of-type(1) {
    font-size: 40px;
    line-height: 32px;
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) span:nth-of-type(2) {
    font-size: 18px;
    line-height: 18px;
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(3) {
    font-size: 16px;
    line-height: 16px;
    position: initial;
    transform: translate(-8px, 0);
  }
  html body main section.fv .contents:nth-of-type(2) ul {
    margin-top: 12px;
    margin-left: 12px;
    gap: 2px;
  }
  html body main section.fv .contents:nth-of-type(2) ul li {
    border: none;
    padding: 4px 4px;
    gap: 3px;
  }
  html body main section.fv .contents:nth-of-type(2) ul li img {
    display: block;
    width: 14px;
    height: 14px;
  }
  html body main section.fv .contents:nth-of-type(2) ul li span {
    background: linear-gradient(to right, #EB3349, #F45C43);
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 12px;
    -webkit-text-fill-color: transparent;
    line-height: 12px;
  }
  html body main section.fv .cta {
    display: block;
    width: 100%;
    height: 68px;
    border-radius: 0;
    display: flex;
    bottom: 0;
  }
  html body main section.fv .cta a {
    gap: 7px;
  }
  html body main section.fv .cta a div {
    flex-direction: column-reverse;
    gap: 6px;
  }
  html body main section.fv .cta a div p:nth-of-type(1) {
    width: 116px;
    height: 18px;
    border-radius: 2px;
    font-size: 10px;
  }
  html body main section.fv .cta a div p:nth-of-type(2) span:nth-of-type(1) {
    font-size: 16px;
    line-height: 18px;
  }
  html body main section.fv .cta a img {
    width: 28px;
    height: 28px;
  }
  html body main section.fv .cta a:nth-of-type(1) {
    width: 64vw;
    flex-direction: row-reverse;
  }
  html body main section.fv .cta a:nth-of-type(2) {
    width: 36vw;
    background-color: #F29600;
    font-size: 16px;
    font-weight: 900;
    color: #FFFFFF;
    line-height: 16px;
  }
  html body main section.cta {
    height: initial;
  }
  html body main section.cta ul {
    display: block;
  }
  html body main section.cta ul li {
    width: 100%;
    height: 154px;
    gap: 16px;
  }
  html body main section.cta ul li p {
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.cta ul li p::before, html body main section.cta ul li p::after {
    height: 24px;
  }
  html body main section.cta ul li a {
    width: calc(100% - 32px);
    height: 56px;
    gap: 12px;
    font-size: 16px;
    list-style: 16px;
  }
  html body main section.cta ul li a svg {
    width: 32px;
    height: 32px;
  }
  html body main section.achievements h2 {
    height: 20px;
  }
  html body main section.achievements article {
    height: 300px;
  }
  html body main section.achievements article h3 {
    font-size: 18px;
    line-height: 18px;
  }
  html body main section.achievements article p.odometer-trigger {
    font-size: 32px;
  }
  html body main section.achievements article p.odometer-trigger span.odometer-auto-theme * {
    font-size: 64px;
    line-height: 64px;
  }
  html body main section.achievements article p:nth-of-type(2) {
    margin-top: 40px;
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.achievements article p.annotation {
    display: none;
  }
  html body main section.achievements article:nth-of-type(1) {
    background-image: url("../img/responsive/achievements-bg1.webp");
    margin-top: 40px;
  }
  html body main section.achievements article:nth-of-type(2) {
    background-image: url("../img/responsive/achievements-bg2.webp");
  }
  html body main section.equipment article.flex, html body main section.machine article.flex {
    display: block;
  }
  html body main section.equipment article.flex div, html body main section.machine article.flex div {
    width: calc(100% - 32px);
    margin: 0 auto;
  }
  html body main section.equipment article.flex div h2, html body main section.machine article.flex div h2 {
    font-size: 40px;
    line-height: 40px;
  }
  html body main section.equipment article.flex div h2 span.reveal, html body main section.machine article.flex div h2 span.reveal {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.equipment article.flex div p, html body main section.machine article.flex div p {
    margin-top: 32px;
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.equipment article.flex div small, html body main section.machine article.flex div small {
    display: block;
    margin-top: 24px;
    font-size: 14px;
    line-height: 14px;
    position: initial;
  }
  html body main section.equipment article.flex img, html body main section.machine article.flex img {
    display: block;
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
  }
  html body main section.equipment {
    margin-top: 80px;
  }
  html body main section.equipment article.img-list .slick-slide {
    width: 260px;
    margin: 0 4px;
  }
  html body main section.equipment article.img-list h3 {
    min-width: 165px;
    height: 32px;
    padding: initial;
    text-align: center;
    font-size: 11px;
    letter-spacing: 0.5px;
    line-height: 11px;
  }
  html body main section.equipment article.img-list:nth-of-type(2) {
    padding-top: 20px;
    margin-top: 20px;
  }
  html body main section.equipment article.img-list:nth-of-type(3) {
    padding: 8px 0 20px 0;
  }
  html body main section.machine {
    margin-top: 100px;
  }
  html body main section.machine article.flex div h2 span.reveal:nth-of-type(2) {
    margin-bottom: 16px;
    margin-left: 80px;
  }
  html body main section.machine article.machine-list {
    padding-bottom: 40px;
    margin-top: 32px;
  }
  html body main section.machine article.machine-list nav.large {
    padding-top: 0;
  }
  html body main section.machine article.machine-list nav.large ul {
    gap: 0;
  }
  html body main section.machine article.machine-list nav.large ul li {
    width: 33.3333333333%;
    height: 54px;
    border-right: none;
    border-radius: 0;
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.machine article.machine-list nav.large ul li span {
    font-size: 10px;
    line-height: 12px;
  }
  html body main section.machine article.machine-list nav.large ul li:nth-last-of-type(1) {
    border-right: solid 1px #C11732;
  }
  html body main section.machine article.machine-list ul.container {
    margin-top: 12px;
  }
  html body main section.machine article.machine-list ul.container li.contents nav {
    margin-top: 12px;
  }
  html body main section.machine article.machine-list ul.container li.contents nav ul {
    justify-content: initial;
    gap: 0;
  }
  html body main section.machine article.machine-list ul.container li.contents nav ul li {
    width: 33.3333333333%;
    height: 40px;
    border-right: none;
    border-radius: 0;
    font-size: 12px;
    line-height: 12px;
  }
  html body main section.machine article.machine-list ul.container li.contents nav ul li:nth-of-type(3), html body main section.machine article.machine-list ul.container li.contents nav ul li:nth-of-type(5) {
    border-right: solid 1px #C11732;
  }
  html body main section.machine article.machine-list ul.container li.contents nav ul li:nth-of-type(4), html body main section.machine article.machine-list ul.container li.contents nav ul li:nth-of-type(5) {
    border-top: none;
  }
  html body main section.machine article.machine-list ul.container li.contents nav ul li:nth-of-type(5) {
    width: calc(33.3333333333% + 1px);
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list {
    width: calc(100% - 32px);
    margin: 24px auto 0 auto;
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul {
    gap: 12px 8px;
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li {
    width: calc((100% - 8px) / 2);
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li img {
    height: 117px;
    object-fit: cover;
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li div {
    height: 138px;
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li div h3 {
    padding: 16px 0 0 0;
    margin-right: 8px;
    margin-left: 8px;
    font-size: 14px;
    line-height: 1.4;
  }
  html body main section.machine article.machine-list ul.container li.contents ul.machine-list li.machine-list ul li div p {
    margin: 8px 0 0 8px;
    font-size: 12px;
    letter-spacing: 0.5px;
    line-height: 20.4px;
  }
  html body main section.machine article.machine-list ul.container li.contents:nth-of-type(1) nav, html body main section.machine article.machine-list ul.container li.contents:nth-of-type(3) nav {
    margin-top: 0;
  }
  html body main section.machine article.machine-list ul.container li.contents:nth-of-type(1) ul.machine-list, html body main section.machine article.machine-list ul.container li.contents:nth-of-type(3) ul.machine-list {
    margin: 0 auto;
  }
  html body main section.machine article.machine-list ul.container li.contents:nth-of-type(2) nav {
    margin-top: 0;
  }
  html body main section.machine article.machine-list ul.annotation {
    width: calc(100% - 32px);
  }
  html body main section.machine article.machine-list ul.annotation li {
    font-size: 12px;
    line-height: 12px;
  }
  html body main section.plan {
    padding-bottom: 48px;
  }
  html body main section.plan h2 {
    padding-top: 48px;
    font-size: 40px;
    letter-spacing: 1px;
    line-height: 40px;
    text-align: center;
  }
  html body main section.plan h2 span.reveal {
    padding: 8px;
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.plan p {
    margin-top: 32px;
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.plan article:nth-of-type(1) ul {
    margin-top: 32px;
    display: block;
  }
  html body main section.plan article:nth-of-type(1) ul li {
    width: 300px;
    margin: 0 auto;
  }
  html body main section.plan article:nth-of-type(1) ul li p.point1 {
    height: 50px;
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.plan article:nth-of-type(1) ul li div {
    padding: 32px 16px 36px 16px;
  }
  html body main section.plan article:nth-of-type(1) ul li div h3 {
    width: 100%;
    height: 46px;
    font-size: 18px;
    line-height: 21.6px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.price {
    margin-top: 24px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.price span.fee {
    font-size: 16px;
    line-height: 16px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.price span.price {
    margin-top: 8px;
    font-size: 48px;
    line-height: 48px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.price span.price span.yen {
    font-size: 32px;
    line-height: 32px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.price span.price span.comma {
    font-size: 28px;
    line-height: 28px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.price span.tax {
    margin-top: 6px;
  }
  html body main section.plan article:nth-of-type(1) ul li div p.point2 {
    width: 100%;
    margin: 24px auto 0 auto;
  }
  html body main section.plan article:nth-of-type(1) ul li:nth-of-type(2) {
    margin-top: 16px;
  }
  html body main section.plan article:nth-of-type(1) ul li:nth-of-type(2) p.point1 {
    display: none;
  }
  html body main section.plan article:nth-of-type(2) {
    margin-top: 40px;
  }
  html body main section.plan article:nth-of-type(2) h3 {
    font-size: 24px;
    line-height: 24px;
  }
  html body main section.plan article:nth-of-type(2) p {
    margin-top: 20px;
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.plan article:nth-of-type(2) table {
    width: calc(100% - 32px);
    margin: 24px auto 0 auto;
  }
  html body main section.plan article:nth-of-type(2) table tr {
    height: 50px;
  }
  html body main section.plan article:nth-of-type(2) table tr th {
    padding-left: 12px;
  }
  html body main section.plan article:nth-of-type(2) table tr th span.option {
    gap: 8px;
    font-size: 14px;
    line-height: 1.2;
  }
  html body main section.plan article:nth-of-type(2) table tr th span.option img {
    width: 28px;
    height: 28px;
  }
  html body main section.plan article:nth-of-type(2) table tr th span.option span {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  html body main section.plan article:nth-of-type(2) table tr th span.option br.sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  html body main section.plan article:nth-of-type(2) table tr td {
    padding-right: 12px;
    padding-left: 0;
    text-align: end;
  }
  html body main section.plan article:nth-of-type(2) table tr td span.price {
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.plan article:nth-of-type(2) table tr td span.price span:nth-of-type(1) {
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.plan article:nth-of-type(2) table tr td span.price span:nth-of-type(2) {
    display: block;
    font-size: 12px;
    line-height: 14px;
  }
  html body main section.join .flex, html body main section.access .flex, html body main section.features .flex, html body main section.voice .flex, html body main section.service .flex, html body main section.price .flex, html body main section.faq .flex {
    display: block;
    width: calc(100% - 32px);
    margin: 0 auto;
  }
  html body main section.join .flex h2, html body main section.access .flex h2, html body main section.features .flex h2, html body main section.voice .flex h2, html body main section.service .flex h2, html body main section.price .flex h2, html body main section.faq .flex h2 {
    font-size: 40px;
    line-height: 40px;
  }
  html body main section.join .flex h2 span.reveal, html body main section.access .flex h2 span.reveal, html body main section.features .flex h2 span.reveal, html body main section.voice .flex h2 span.reveal, html body main section.service .flex h2 span.reveal, html body main section.price .flex h2 span.reveal, html body main section.faq .flex h2 span.reveal {
    margin-bottom: 16px;
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.join .flex p, html body main section.access .flex p, html body main section.features .flex p, html body main section.voice .flex p, html body main section.service .flex p, html body main section.price .flex p, html body main section.faq .flex p {
    margin-top: 32px;
    margin-left: 0;
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.join .flex small, html body main section.access .flex small, html body main section.features .flex small, html body main section.voice .flex small, html body main section.service .flex small, html body main section.price .flex small, html body main section.faq .flex small {
    display: block;
    margin-top: 24px;
    font-size: 14px;
    line-height: 14px;
    position: initial;
  }
  html body main section.join ul {
    display: block;
    padding: 32px 0 32px 0;
    margin-top: 32px;
  }
  html body main section.join ul li {
    width: 77vw;
    height: fit-content;
    padding-bottom: 32px;
    margin: 16px auto 0 auto;
  }
  html body main section.join ul li h3 {
    font-size: 18px;
    line-height: 21.6px;
  }
  html body main section.join ul li img {
    width: 120px;
    margin: 20px auto 0 auto;
  }
  html body main section.join ul li p {
    margin: 20px auto 0 auto;
  }
  html body main section.join ul li:nth-of-type(1) {
    margin: 0 auto 0 auto;
  }
  html body main section.join ul li:nth-of-type(1) img {
    width: 88px;
  }
  html body main section.join ul li:nth-of-type(1) a {
    width: 200px;
    margin: 12px auto 0 auto;
  }
  html body main section.join ul li:nth-of-type(1) a:nth-of-type(1) {
    margin-top: 20px auto 0 auto;
  }
  html body main section.join a.cta {
    width: calc(100% - 32px);
    height: 56px;
    margin: 24px auto 0 auto;
    font-size: 16px;
    line-height: 16px;
  }
  html body main section.join a.cta svg {
    width: 32px;
    height: 32px;
  }
  html body main section.access {
    margin-top: 120px;
  }
  html body main section.access h3 {
    height: 19px;
    margin-top: 32px;
    font-size: 19px;
  }
  html body main section.access .container {
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
    display: block;
  }
  html body main section.access .container ul {
    width: 100%;
  }
  html body main section.access .container ul li {
    padding: 24px 0 20px 0;
  }
  html body main section.access .container ul li h4 {
    height: 24px;
    padding: 0 8px;
    gap: 4px;
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.access .container ul li h4 img {
    width: 20px;
    height: 20px;
  }
  html body main section.access .container ul li p {
    font-size: 14px;
    line-height: 19.6px;
  }
  html body main section.access .container ul li:nth-of-type(3) p {
    line-height: 23.6px;
  }
  html body main section.access .container iframe {
    width: 100%;
    height: 82vw;
    margin-top: 32px;
  }
  html body main section.features {
    margin-top: 120px;
  }
  html body main section.features ul {
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
    display: block;
  }
  html body main section.features ul li {
    width: 100%;
    margin-top: 24px;
  }
  html body main section.features ul li p.copy {
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.features ul li:nth-of-type(1) .container h3 span, html body main section.features ul li:nth-of-type(3) .container h3 span, html body main section.features ul li:nth-of-type(4) .container h3 span {
    display: none;
  }
  html body main section.features ul li:nth-of-type(2) {
    margin-top: 24px;
  }
  html body main section.banner {
    width: calc(100% - 32px);
    margin: 81px auto 0 auto;
    display: block;
  }
  html body main section.banner img {
    width: 100%;
    margin-top: 20px;
  }
  html body main section.banner img:nth-of-type(1) {
    margin-top: 0;
  }
  html body main section.voice {
    margin-top: 80px;
  }
  html body main section.voice .flex h2 span.pc {
    display: none;
  }
  html body main section.voice .flex h2 span.sp {
    display: block;
  }
  html body main section.voice .flex h2 span.reveal:nth-of-type(2) {
    margin-bottom: 8px;
  }
  html body main section.voice .flex h2 span.reveal:nth-of-type(3) {
    margin-bottom: 16px;
  }
  html body main section.voice .container {
    padding: 32px 0;
    margin-top: 32px;
  }
  html body main section.voice .container p.copy {
    width: fit-content;
    padding: 16px;
    font-size: 18px;
    line-height: 21.6px;
  }
  html body main section.voice .container p.copy img {
    width: 37px;
    height: 37px;
    bottom: 0;
    transform: translate(-50%, 25px);
  }
  html body main section.voice .container ul {
    width: calc(100% - 32px);
    margin: 46px auto 0 auto;
    display: block;
  }
  html body main section.voice .container ul li {
    width: 100%;
    height: fit-content;
    border-radius: 4px;
    padding-bottom: 24px;
    margin-top: 16px;
  }
  html body main section.voice .container ul li .contents {
    width: calc(100% - 32px);
    gap: 24px;
  }
  html body main section.voice .container ul li .contents img {
    width: auto;
    height: 67px;
  }
  html body main section.voice .container ul li .contents div {
    margin-top: 0;
  }
  html body main section.voice .container ul li .contents div p {
    font-size: 24px;
    line-height: 24px;
  }
  html body main section.voice .container ul li .contents div p img {
    width: 24px;
    height: 24px;
  }
  html body main section.voice .container ul li .contents div h3 {
    margin-top: 8px;
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.voice .container ul li p.contents-copy {
    width: calc(100% - 32px);
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.voice .container ul li:nth-of-type(1) {
    margin-top: 0;
  }
  html body main section.cta-margin-top-0 {
    margin-top: 0;
  }
  html body main section.service {
    margin-top: 80px;
  }
  html body main section.service .flex {
    margin-left: 16px;
  }
  html body main section.service .container {
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
    display: block;
  }
  html body main section.service .container img {
    width: 100%;
    margin-top: 16px;
  }
  html body main section.service .container img:nth-of-type(2) {
    margin-top: 16px;
  }
  html body main section.service h3 {
    margin-top: 32px;
    font-size: 28px;
    line-height: 28px;
    letter-spacing: 1px;
  }
  html body main section.service table {
    width: calc(100% - 32px);
    margin: 24px auto 0 auto;
  }
  html body main section.service table tr {
    height: 50px;
  }
  html body main section.service table tr th {
    padding-left: 12px;
  }
  html body main section.service table tr th span.option {
    gap: 8px;
    font-size: 14px;
    line-height: 1.2;
  }
  html body main section.service table tr th span.option img {
    width: 28px;
    height: 28px;
  }
  html body main section.service table tr th span.option br.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  html body main section.service table tr th span.option br.sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  html body main section.service table tr td {
    padding-right: 12px;
    padding-left: 0;
    text-align: end;
  }
  html body main section.service table tr td span.price {
    font-size: 14px;
    line-height: 14px;
  }
  html body main section.service table tr td span.price span:nth-of-type(1) {
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.service table tr td span.price span:nth-of-type(2) {
    display: block;
    font-size: 12px;
    line-height: 14px;
  }
  html body main section.service table tr:nth-last-of-type(2) td span.price {
    display: inline-block;
    right: 20px;
  }
  html body main section.service table tr:nth-last-of-type(2) td span.price::before {
    right: -5px;
    transform: translate(100%, -50%);
  }
  html body main section.price {
    margin-top: 121px;
  }
  html body main section.price .flex {
    margin-left: 16px;
  }
  html body main section.price table.sp {
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
  }
  html body main section.price table.sp tr th, html body main section.price table.sp tr td {
    padding: 28px 0;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
  }
  html body main section.price table.sp tr th span, html body main section.price table.sp tr td span {
    font-weight: 400;
  }
  html body main section.price table.sp tr th {
    width: 25%;
    border-top: solid 1px #FFFFFF;
    background-color: #C11732;
    font-size: 16px;
    color: #FFFFFF;
  }
  html body main section.price table.sp tr td {
    width: 37.5%;
    border-top: solid 1px #C11732;
    border-left: solid 1px #C11732;
    font-size: 14px;
  }
  html body main section.price table.sp tr td span.container span.contents {
    display: block;
    width: fit-content;
    background-color: #DDC4A6;
    padding: 2px 6px;
    margin: 4px auto 0 auto;
    font-size: 11px;
  }
  html body main section.price table.sp tr td span.annotation {
    display: block;
    width: fit-content;
    padding: 2px 6px;
    margin: 4px auto 0 auto;
    font-size: 11px;
    line-height: 11px;
  }
  html body main section.price table.sp tr td:nth-last-of-type(1) {
    border-right: solid 1px #C11732;
  }
  html body main section.price table.sp tr:nth-of-type(1) th {
    border-top: solid 1px #C11732;
  }
  html body main section.price table.sp tr:nth-last-of-type(1) th {
    border-bottom: solid 1px #C11732;
  }
  html body main section.price table.sp tr:nth-last-of-type(1) td {
    border-bottom: solid 1px #C11732;
  }
  html body main section.price table.sp tr:nth-last-of-type(1) td:nth-of-type(2) span.annotation {
    background-color: #D2CAD5;
  }
  html body main section.price ul {
    width: calc(100% - 32px);
    margin: 8px auto 0 auto;
  }
  html body main section.price ul li {
    margin-top: 4px;
    font-size: 12px;
    line-height: 16.8px;
  }
  html body main section.price ul li:nth-of-type(1) {
    margin-top: 0;
  }
  html body main section.faq {
    margin-top: 121px;
  }
  html body main section.faq .flex {
    margin-left: 16px;
  }
  html body main section.faq ul.container {
    width: calc(100% - 32px);
    margin: 32px auto 0 auto;
  }
  html body main section.faq ul.container li.container {
    margin-top: 16px;
  }
  html body main section.faq ul.container li.container ul.contents li.contents span:nth-of-type(1) {
    width: 40px;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 1px;
  }
  html body main section.faq ul.container li.container ul.contents li.contents span:nth-of-type(2) {
    width: calc(100% - 40px);
    font-size: 14px;
    line-height: 1.2;
  }
  html body main section.faq ul.container li.container ul.contents li.contents span:nth-of-type(2) button {
    width: 28px !important;
    height: 28px !important;
    right: 12px !important;
  }
  html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(1) {
    height: 52px;
  }
  html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(1) span:nth-of-type(2) {
    padding-right: 50px;
  }
  html body main section.faq ul.container li.container ul.contents li.contents:nth-of-type(2) div span:nth-of-type(2) {
    width: calc(100% - 40px);
    padding-right: 12px;
    line-height: 23.8px;
  }
}