@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;
}
html body main section.fv .slick {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
html body main section.fv .slick img {
  height: calc(100vh - 88px);
  object-fit: cover;
}
html body main section.fv ul.contents {
  margin-left: 85px;
}
@media screen and (max-width: 1024px) {
  html body main section.fv ul.contents {
    position: absolute;
    top: 99px;
  }
}
@media screen and (min-width: 1920px) {
  html body main section.fv ul.contents {
    position: absolute;
    top: 99px;
  }
}
html body main section.fv ul.contents li {
  width: fit-content;
  background: linear-gradient(to right, #EB3349, #F45C43);
  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;
}
html body main section.fv .contents:nth-of-type(2) {
  margin: 7.2vh 0 12.3vh 85px;
}
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;
  color: #FFFFFF;
  line-height: 20px;
  position: absolute;
  bottom: -12px;
  right: 0;
  transform: translate(20px, 100%);
}
html body main section.fv .contents:nth-of-type(2) ul {
  margin-top: 9.4vh;
  display: flex;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 1024px) {
  html body main section.fv .contents:nth-of-type(2) ul {
    margin-top: 83px;
  }
}
@media screen and (min-width: 1920px) {
  html body main section.fv .contents:nth-of-type(2) ul {
    margin-top: 83px;
  }
}
html body main section.fv .contents:nth-of-type(2) ul li {
  border: solid 1px #C11732;
  background-color: #FFFFFF;
  padding: 6px 17px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  font-weight: 700;
  line-height: 18px;
  color: #C11732;
  transform: skewX(-10deg);
}
html body main section.fv .contents:nth-of-type(2) ul li img {
  width: 24px;
  height: 24px;
}
html body main section.fv .cta {
  display: none;
  width: 500px;
  height: 80px;
  border-radius: 4px;
  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;
}
html body main section.fv .cta a:hover {
  opacity: 0.7;
}
html body main section.fv .cta a:first-of-type {
  background: linear-gradient(to right, #EB3349, #F45C43);
  border-radius: 8px;
}
html body main section.fv .cta__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 6px;
  height: 100%;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}
html body main section.fv .cta__ttl {
  font-size: 18px;
  font-weight: bold;
  display: block;
  color: #FFFFFF;
  text-align: center;
}
html body main section.fv .cta__period {
  font-size: 14px;
  font-weight: bold;
  display: block;
  text-align: center;
  background-color: #FFFFFF;
  width: fit-content;
  margin: 0 auto;
  border-radius: 2px;
}
html body main section.fv .cta__period__txt {
  font-weight: bold;
  background: linear-gradient(to right, #EB3349, #F45C43);
  padding: 4px 16px;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: block;
  -webkit-text-fill-color: transparent;
}
html body main section.fv .cta__icon {
  position: absolute;
  right: -48px;
}
html body main section.fv .cta__icon svg {
  fill: #FFFFFF;
}
@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 #CCCCCC;
  margin-top: 0;
}
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 .flex, html body main section.machine .flex, html body main section.features .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;
  justify-content: center;
  align-items: end;
}
html body main section.equipment .flex h2, html body main section.machine .flex h2, html body main section.features .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: 68px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 1px;
  line-height: 68px;
}
html body main section.equipment .flex h2 span, html body main section.machine .flex h2 span, html body main section.features .flex h2 span, html body main section.service .flex h2 span, html body main section.price .flex h2 span, html body main section.faq .flex h2 span {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
html body main section.equipment .flex h2 span span, html body main section.machine .flex h2 span span, html body main section.features .flex h2 span span, html body main section.service .flex h2 span span, html body main section.price .flex h2 span span, html body main section.faq .flex h2 span span {
  margin-bottom: 0;
  display: inline-block;
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
}
html body main section.equipment .flex h2 span span:nth-of-type(1), html body main section.machine .flex h2 span span:nth-of-type(1), html body main section.features .flex h2 span span:nth-of-type(1), html body main section.service .flex h2 span span:nth-of-type(1), html body main section.price .flex h2 span span:nth-of-type(1), html body main section.faq .flex h2 span span:nth-of-type(1) {
  font-style: italic;
}
html body main section.equipment .flex h2 span span.reveal, html body main section.machine .flex h2 span span.reveal, html body main section.features .flex h2 span span.reveal, html body main section.service .flex h2 span span.reveal, html body main section.price .flex h2 span span.reveal, html body main section.faq .flex h2 span span.reveal {
  background-color: #C11732;
  padding: 8px;
  color: #FFFFFF;
  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 .flex h2 span span.reveal.is-show, html body main section.machine .flex h2 span span.reveal.is-show, html body main section.features .flex h2 span span.reveal.is-show, html body main section.service .flex h2 span span.reveal.is-show, html body main section.price .flex h2 span span.reveal.is-show, html body main section.faq .flex h2 span span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.equipment .flex p, html body main section.machine .flex p, html body main section.features .flex p, html body main section.service .flex p, html body main section.price .flex p, html body main section.faq .flex p {
  margin-left: 50px;
  font-size: 16px;
  line-height: 27.2px;
}
html body main section.equipment article.large-img .slider-text, html body main section.machine article.large-img .slider-text, html body main section.features article.large-img .slider-text, html body main section.service article.large-img .slider-text, html body main section.price article.large-img .slider-text, html body main section.faq article.large-img .slider-text {
  width: 100%;
  height: 100px;
  background: linear-gradient(to right, #EB3349, #F45C43);
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
}
html body main section.equipment article.large-img .slider-text p, html body main section.machine article.large-img .slider-text p, html body main section.features article.large-img .slider-text p, html body main section.service article.large-img .slider-text p, html body main section.price article.large-img .slider-text p, html body main section.faq article.large-img .slider-text p {
  margin: 0 20px;
  white-space: nowrap;
  font-size: 80px;
  font-weight: 700;
  font-style: italic;
  color: transparent;
  -webkit-text-stroke: 1px #FFFFFF;
  letter-spacing: 1px;
  line-height: 100%;
  transition-duration: initial;
}
html body main section.equipment article.large-img .slider-text .first, html body main section.equipment article.large-img .slider-text .second, html body main section.machine article.large-img .slider-text .first, html body main section.machine article.large-img .slider-text .second, html body main section.features article.large-img .slider-text .first, html body main section.features article.large-img .slider-text .second, html body main section.service article.large-img .slider-text .first, html body main section.service article.large-img .slider-text .second, html body main section.price article.large-img .slider-text .first, html body main section.price article.large-img .slider-text .second, html body main section.faq article.large-img .slider-text .first, html body main section.faq article.large-img .slider-text .second {
  flex-shrink: 0;
  width: auto;
  height: auto;
  text-wrap: nowrap;
  word-break: keep-all;
  display: inline;
}
@keyframes anim--first {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes anim--second {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-100%);
  }
}
html body main section.equipment {
  margin-top: 120px;
}
html body main section.equipment article.large-img img {
  position: relative;
  transform: translateY(50px);
  z-index: -1;
}
html body main section.equipment article.large-img .slider-text {
  flex-wrap: nowrap;
}
html body main section.equipment article.large-img .slider-text p.first, html body main section.equipment article.large-img .slider-text p.second {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}
html body main section.equipment article.large-img .slider-text p.first {
  animation: anim--first 200s infinite linear 0.1s both;
}
html body main section.equipment article.large-img .slider-text p.second {
  animation: anim--second 200s infinite linear 0.1s both;
}
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) {
  margin-top: 40px;
}
html body main section.equipment article.img-list:nth-of-type(3) {
  margin-top: 24px;
}
html body main section.equipment p {
  margin: 20px 0 0 84px;
  font-size: 14px;
  line-height: 14px;
}
html body main section.machine {
  margin-top: 160px;
}
html body main section.machine article.large-img {
  margin-top: 42px;
}
html body main section.machine article.large-img .img {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 64px;
  position: relative;
  transform: translateY(22px);
  z-index: 1;
}
html body main section.machine article.large-img .img div {
  display: flex;
  gap: 64px;
}
html body main section.machine article.large-img .img img {
  width: 300px;
  transform: translateY(20px);
  opacity: 0;
  transition: opacity 0.8s ease, transform 0.8s ease;
}
html body main section.machine article.large-img .img img.is-visible {
  transform: translateY(0);
  opacity: 1;
}
html body main section.machine article.large-img .slider-text .first {
  animation: anim--first 200s infinite linear 0.1s both;
}
html body main section.machine article.large-img .slider-text .second {
  animation: anim--second 200s infinite linear 0.1s both;
}
html body main section.machine article.machine-list {
  background-color: #F7F7F7;
  padding-bottom: 72px;
}
html body main section.machine article.machine-list nav.large {
  padding-top: 48px;
}
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;
  width: 100%;
  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: 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.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 {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
html body main section.plan h2 span span {
  margin-bottom: 0;
  display: inline-block;
  font-size: 32px;
  font-weight: 700;
  line-height: 32px;
}
html body main section.plan h2 span span:nth-of-type(1) {
  font-style: italic;
}
html body main section.plan h2 span span.reveal {
  background-color: #C11732;
  padding: 8px;
  color: #FFFFFF;
  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 span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.plan .planlist {
  display: flex;
  justify-content: center;
  column-gap: 32px;
  margin-top: 40px;
}
html body main section.plan .planlist .point1 {
  background: linear-gradient(to right, #EB3349, #F45C43);
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  font-size: 22px;
  padding: 16px 0;
}
html body main section.plan .planlist__item {
  background-color: #FFFFFF;
  width: 375px;
  border-radius: 6px;
  padding-bottom: 32px;
}
html body main section.plan .planlist__item:first-child {
  border-left: 6px solid var(--text-gradient-01, #EB3349);
  border-right: 6px solid var(--text-gradient-01, #EB3349);
  border-bottom: 6px solid var(--text-gradient-01, #EB3349);
}
html body main section.plan .planlist__item:last-child {
  margin-top: 56px;
}
html body main section.plan .planlist__item__desc {
  text-align: center;
  color: #FFFFFF;
  margin-top: 48px;
  margin-bottom: 40px;
}
html body main section.plan .planlist__item__inner {
  padding: 0 32px;
}
html body main section.plan .planlist__item__planname {
  font-size: 22px;
  color: #C11732;
  font-weight: 900;
  text-align: center;
  border-top: 2px solid #C11732;
  border-bottom: 2px solid #C11732;
  padding: 12px 0;
  margin: 32px 0;
}
html body main section.plan .planlist__item__planname__txt {
  font-style: italic;
}
html body main section.plan .planlist__item__ttl {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 24px;
}
html body main section.plan .planlist__item__price {
  display: flex;
  justify-content: center;
  column-gap: 16px;
  align-items: baseline;
  position: relative;
  border-bottom: dashed 1px #ccc;
  margin-bottom: 24px;
  padding-bottom: 8px;
}
html body main section.plan .planlist__item__price__arrow {
  position: relative;
  top: -16px;
}
html body main section.plan .planlist__item__price__point {
  background: linear-gradient(to right, #EB3349, #F45C43);
  color: #FFFFFF;
  font-weight: 900;
  font-size: 14px;
  padding: 6px 18px;
  position: absolute;
  left: 0;
  border-radius: 2px;
}
html body main section.plan .planlist__item__price__beforeprice {
  width: fit-content;
}
html body main section.plan .planlist__item__price__afterprice {
  font-size: 110px;
  line-height: 80px;
  font-weight: 900;
  background: linear-gradient(to right, #EB3349, #F45C43);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
html body main section.plan .planlist__item__price__afterprice span {
  font-size: 48px;
  font-weight: bold;
}
html body main section.plan .planlist__item__price__desc {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
html body main section.plan .planlist__item__price__desc span {
  background: linear-gradient(transparent 70%, #FFD78C 0%);
  font-weight: bold;
}
html body main section.plan .planlist__option {
  margin-top: 49px;
}
html body main section.plan .planlist__option h3 {
  font-size: 40px;
  font-weight: 900;
  font-style: italic;
  color: #FFFFFF;
  line-height: 40px;
  text-align: center;
}
html body main section.plan .planlist__option p {
  margin-top: 33px;
  font-size: 16px;
  color: #FFFFFF;
  line-height: 22px;
  text-align: center;
}
html body main section.plan .planlist__option table {
  width: 750px;
  margin: 32px auto 0 auto;
}
html body main section.plan .planlist__option table tr {
  width: 100%;
  height: 56px;
  border-top: 1px solid #1B1416;
  background-color: #FFFFFF;
}
html body main section.plan .planlist__option table tr th, html body main section.plan .planlist__option table tr td {
  vertical-align: middle;
}
html body main section.plan .planlist__option table tr th {
  padding-left: 24px;
}
html body main section.plan .planlist__option 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 .planlist__option table tr th span.option img {
  width: 40px;
  height: 40px;
}
html body main section.plan .planlist__option table tr td {
  padding-left: 48px;
}
html body main section.plan .planlist__option table tr td span.price {
  font-size: 20px;
  font-weight: 700;
  line-height: 20px;
}
html body main section.plan .planlist__option 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 .planlist__option table tr td span.price span:nth-of-type(2) {
  font-weight: 400;
}
html body main section.plan .planlist__option table tr:nth-of-type(1) {
  border-top: none;
}
html body main section.plan .planlist__option table tr:nth-of-type(1) th {
  border-radius: 4px 0 0 0;
}
html body main section.plan .planlist__option table tr:nth-of-type(1) td {
  border-radius: 0 4px 0 0;
}
html body main section.plan .planlist__option table tr:nth-last-of-type(1) th {
  border-radius: 0 0 0 4px;
}
html body main section.plan .planlist__option 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.voice .flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: end;
}
html body main section.join .flex h2, html body main section.access .flex h2, html body main section.voice .flex h2 {
  font-size: 68px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: 1px;
  line-height: 100%;
}
html body main section.join .flex h2 span, html body main section.access .flex h2 span, html body main section.voice .flex h2 span {
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 4px;
}
html body main section.join .flex h2 span span, html body main section.access .flex h2 span span, html body main section.voice .flex h2 span span {
  margin-bottom: 0;
  display: inline-block;
  font-size: 32px;
  font-weight: 700;
  line-height: 100%;
}
html body main section.join .flex h2 span span.reveal, html body main section.access .flex h2 span span.reveal, html body main section.voice .flex h2 span span.reveal {
  background-color: #C11732;
  padding: 8px;
  color: #FFFFFF;
  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 span.reveal.is-show, html body main section.access .flex h2 span span.reveal.is-show, html body main section.voice .flex h2 span span.reveal.is-show {
  clip-path: inset(0 -20% 0 0);
}
html body main section.join .flex h2 span span:nth-of-type(2), html body main section.access .flex h2 span span:nth-of-type(2), html body main section.voice .flex h2 span span:nth-of-type(2) {
  font-style: italic;
}
html body main section.join .flex p, html body main section.access .flex p, html body main section.voice .flex p {
  margin-left: 50px;
  font-size: 16px;
  line-height: 170%;
}
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-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 .flex {
  justify-content: initial;
}
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 .container {
  background-color: #F7F7F7;
  padding: 48px 0;
  margin-top: 49px;
}
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 {
  font-weight: 700;
  position: relative;
  z-index: 1;
}
html body main section.voice .container ul li p.contents-copy 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.cta-margin-top-0 {
  margin-top: 0;
}
html body main section.service {
  margin-top: 160px;
}
html body main section.service .flex {
  justify-content: initial;
}
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 div {
  width: calc((100% - 32px) / 2);
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  html body main section.service .container div {
    width: 100%;
    margin-top: 16px;
  }
}
html body main section.service .container div img {
  width: 100%;
}
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-of-type(6) td span.price {
  position: relative;
  display: inline-block;
  right: 16px;
}
html body main section.service table tr:nth-of-type(6) td span.price::before {
  content: "〜";
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translate(75%, -50%);
}
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.price {
  margin-top: 160px;
}
html body main section.price .flex {
  justify-content: initial;
}
html body main section.price .flex h2 span span:nth-of-type(2) {
  padding: 5px 15px 5px 10px;
}
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 .flex {
  justify-content: initial;
}
html body main section.faq .flex h2 span span:nth-of-type(2) {
  padding: 5px 15px 5px 10px;
}
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: 472px;
    margin-top: 50px;
  }
  html body main section.fv .slick .slick-list.draggable {
    height: 100%;
  }
  html body main section.fv .slick img {
    height: 100%;
    object-fit: cover;
  }
  html body main section.fv ul.contents {
    width: calc(100% - 24px);
    margin-left: initial;
    position: absolute;
    top: 40px;
    left: 12px;
  }
  html body main section.fv ul.contents li {
    font-size: 24px;
    line-height: 24px;
  }
  html body main section.fv .contents:nth-of-type(2) {
    width: calc(100vw - 24px);
    margin: initial;
    position: absolute;
    bottom: 32px;
    left: 12px;
  }
  html body main section.fv .contents:nth-of-type(2) p {
    margin-top: 130px;
    align-items: self-end;
  }
  html body main section.fv .contents:nth-of-type(2) p span.vertical {
    width: 28px;
    height: 64px;
    padding: 0 4px;
  }
  html body main section.fv .contents:nth-of-type(2) p span.vertical span {
    font-size: 16px;
    line-height: 18.5px;
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) {
    font-size: 60px;
    line-height: 45px;
    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: 32px;
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(2) span:nth-of-type(2) {
    font-size: 22px;
    line-height: 22px;
  }
  html body main section.fv .contents:nth-of-type(2) p span:nth-of-type(3) {
    font-size: 12px;
    font-weight: 700;
    line-height: 12px;
    bottom: 0;
    transform: translate(100%, 0);
  }
  html body main section.fv .contents:nth-of-type(2) ul {
    margin: 16px auto 0 auto;
    gap: 4px;
  }
  html body main section.fv .contents:nth-of-type(2) ul li {
    width: calc(33.3333333333% - 3px);
    padding: 1.025vw 1.28vw;
    gap: 1.5vw;
    font-size: 3.07vw;
    font-weight: 700;
    line-height: 12px;
  }
  html body main section.fv .contents:nth-of-type(2) ul li img {
    width: 3.07vw;
    height: 3.07vw;
  }
  html body main section.fv .cta {
    display: block;
    width: 100%;
    height: 68px;
    border-radius: 0;
    display: flex;
    bottom: 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 390px) {
  html body main section.fv .cta__inner {
    padding-left: 3.5vw !important;
  }
}
@media screen and (max-width: 767px) {
  html body main section.fv .cta__ttl {
    font-size: 16px;
  }
  html body main section.fv .cta__period {
    font-size: 11px;
    padding: 0;
  }
  html body main section.fv .cta__period__txt {
    padding: 4px 8px;
  }
  html body main section.fv .cta__icon {
    position: absolute;
    left: -40px;
  }
  html body main section.fv .cta__icon svg {
    width: 28px;
    height: 28px;
  }
}
@media screen and (max-width: 767px) and (max-width: 390px) {
  html body main section.fv .cta__icon {
    left: -28px !important;
  }
}
@media screen and (max-width: 767px) {
  html body main section.fv .cta__visiticon svg {
    width: 28px;
    height: 28px;
  }
  html body main section.fv .cta a {
    gap: 7px;
  }
  html body main section.fv .cta a:nth-of-type(1) {
    border-radius: 0;
  }
  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;
    display: flex;
  }
  html body main section.fv .cta a:nth-of-type(2) svg {
    fill: #FFFFFF;
  }
  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 .flex, html body main section.machine .flex, html body main section.features .flex, html body main section.service .flex, html body main section.price .flex, html body main section.faq .flex {
    width: calc(100% - 32px);
    display: block;
  }
  html body main section.equipment .flex h2, html body main section.machine .flex h2, html body main section.features .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.equipment .flex h2 span span, html body main section.machine .flex h2 span span, html body main section.features .flex h2 span span, html body main section.service .flex h2 span span, html body main section.price .flex h2 span span, html body main section.faq .flex h2 span span {
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.equipment .flex p, html body main section.machine .flex p, html body main section.features .flex p, html body main section.service .flex p, html body main section.price .flex p, html body main section.faq .flex p {
    width: 100%;
    margin-top: 32px;
    margin-left: 0;
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.equipment {
    margin-top: 80px;
  }
  html body main section.equipment article.large-img {
    height: 260px;
    margin-top: 41px;
  }
  html body main section.equipment article.large-img img {
    height: 100%;
    object-fit: cover;
    transform: translateY(0);
  }
  html body main section.equipment article.large-img .slider-text {
    height: 58px;
    align-items: center;
    transform: translateY(-100%);
  }
  html body main section.equipment article.large-img .slider-text .first, html body main section.equipment article.large-img .slider-text .second {
    font-size: 38px !important;
    position: relative;
    bottom: 4px;
  }
  html body main section.equipment article.img-list {
    margin-top: 14px;
  }
  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: 0 24px;
    flex-direction: column;
    font-size: 11px;
    line-height: 11px;
  }
  html body main section.equipment article.img-list h3 span {
    font-size: 9px;
  }
  html body main section.equipment article.img-list h3 span.pc {
    display: none;
  }
  html body main section.equipment article.img-list:nth-of-type(3) {
    margin-top: 8px;
  }
  html body main section.equipment p {
    margin: 8px 0 0 16px;
    font-size: 12px;
    line-height: 12px;
  }
  html body main section.machine {
    margin-top: 120px;
  }
  html body main section.machine article.large-img {
    margin-top: 32px;
  }
  html body main section.machine article.large-img .img {
    display: block;
    transform: translateY(0);
  }
  html body main section.machine article.large-img .img div {
    justify-content: space-between;
    gap: initial;
  }
  html body main section.machine article.large-img .img div img {
    height: auto;
    transform: translateY(20px);
  }
  html body main section.machine article.large-img .img div img:nth-of-type(1) {
    width: 51vw;
    margin: 0 0 0 0;
  }
  html body main section.machine article.large-img .img div img:nth-of-type(2) {
    width: 45vw;
    margin: 0 0 0 0;
    position: relative;
    top: 71px;
  }
  html body main section.machine article.large-img .img div img.is-visible {
    transform: translateY(0);
  }
  html body main section.machine article.large-img .img img {
    display: block;
    width: 170px;
    margin: 84px auto 0 auto;
    transform: translateY(20px);
  }
  html body main section.machine article.large-img .img img.is-visible {
    transform: translateY(0);
  }
  html body main section.machine article.large-img .slider-text {
    height: 58px;
    margin-top: 24px;
    align-items: center;
    transform: translateY(0);
  }
  html body main section.machine article.large-img .slider-text .first, html body main section.machine article.large-img .slider-text .second {
    font-size: 38px !important;
    position: relative;
    bottom: 4px;
  }
  html body main section.machine article.machine-list {
    padding-bottom: 40px;
  }
  html body main section.machine article.machine-list nav.large {
    padding-top: 16px;
  }
  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.plan {
    padding-bottom: 47px;
  }
  html body main section.plan h2 {
    padding-top: 48px;
    font-size: 40px;
    line-height: 40px;
    text-align: center;
  }
  html body main section.plan h2 span span {
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.plan h2 span span.reveal {
    padding: 8px 6px 8px 10px;
  }
  html body main .planlist {
    padding: 0 16px !important;
  }
  html body main .planlist__item__inner {
    padding: 0 16px !important;
  }
  html body main .planlist__item__price__point {
    left: 5.87% !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 390px) {
  html body main .planlist__item__price__point {
    font-size: 12px !important;
    padding: 6px 12px !important;
    top: 0px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  html body main .planlist__item__price__point {
    top: -9px !important;
    left: 3% !important;
  }
}
@media screen and (max-width: 767px) {
  html body main .planlist__item__price {
    column-gap: 12px !important;
  }
  html body main .planlist__item__desc {
    margin: 32px 0;
  }
  html body main .planlist__item {
    width: initial;
  }
  html body main .planlist__item:last-child {
    margin-top: 20px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 390px) {
  html body main .planlist__item__price__afterprice span {
    font-size: 40px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  html body main .planlist__item__price__afterprice {
    font-size: 90px !important;
  }
}
@media screen and (max-width: 767px) {
  html body main .planlist__option .option {
    font-size: 16px !important;
  }
  html body main .planlist__option .option img {
    width: 32px !important;
    height: 32px !important;
  }
  html body main .planlist__option table tr th {
    padding: 0 16px !important;
  }
  html body main .planlist__option table tr td {
    padding-left: 20px !important;
    width: 150px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 500px) {
  html body main .planlist__option table tr td {
    padding-left: 0 !important;
    width: fit-content !important;
  }
}
@media screen and (max-width: 767px) {
  html body main .planlist__option table tr td span.price {
    font-size: 16px !important;
  }
  html body main .planlist__option table tr td span.price span:nth-of-type(1) {
    font-size: 20px !important;
    line-height: 20px !important;
  }
  html body main .planlist__option table tr td span.price span:nth-of-type(2) {
    display: block !important;
  }
  html body main .planlist__option__table {
    width: 100% !important;
  }
  html body main section.join .flex, html body main section.access .flex, html body main section.voice .flex {
    width: calc(100% - 32px);
    margin-left: 16px;
    display: block;
  }
  html body main section.join .flex h2, html body main section.access .flex h2, html body main section.voice .flex h2 {
    font-size: 40px;
    line-height: 40px;
  }
  html body main section.join .flex h2 span span, html body main section.access .flex h2 span span, html body main section.voice .flex h2 span span {
    font-size: 20px;
    line-height: 20px;
  }
  html body main section.join .flex p, html body main section.access .flex p, html body main section.voice .flex p {
    width: 100%;
    margin-top: 32px;
    margin-left: 0;
    font-size: 14px;
    line-height: 23.8px;
  }
  html body main section.join ul {
    display: block;
  }
  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: 88px;
    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) 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: 15px;
    margin-top: 32px;
    font-size: 15px;
  }
  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;
  }
  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(1) {
    padding: 0 0 24px 0;
  }
  html body main section.access .container iframe {
    width: 100%;
    height: 73.3vw;
    margin-top: 32px;
  }
  html body main section.features {
    margin-top: 120px;
  }
  html body main section.features .flex {
    margin-left: 16px;
  }
  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.4px;
  }
  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 .container {
    padding: 32px 0;
    margin-top: 32px;
  }
  html body main section.voice .container p.copy {
    width: 289px;
    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: 60px;
  }
  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(1) td span.price {
    display: inline-block;
    right: 20px;
  }
  html body main section.service table tr:nth-last-of-type(1) td span.price::before {
    right: -5px;
    transform: translate(100%, -50%);
  }
  html body main section.price {
    margin-top: 120px;
  }
  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: 120px;
  }
  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;
  }
  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;
  }
}