@charset "UTF-8";
/*!
 * Bootstrap Reboot v4.1.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

p {
  margin: 0;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin: 0;
  padding: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0;
  padding: 0;
}

blockquote {
  margin: 0 0 1rem;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin: 0;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0;
}

img {
  vertical-align: middle;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding: 0;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin: 0;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

:root {
  --fs-base: clamp( 14px, calc( 10px + 0.3125vw ), 16px );
  --c-main: #F58376;
  --c-sub-01: #1A39A9;
  --c-sub-02: #68C3A3;
  --c-light-main: rgba(245, 131, 118, .05);
  --c-light-sub-01: rgba(26, 57, 169, .05);
  --c-light-sub-02: rgba(104, 195, 163, .05);
  --c-main-shadow: rgba(245, 131, 118, .4);
  --c-sub-01-shadow: rgba(26, 57, 169, .4);
  --c-border: #F2E3DD;
  --c-required: #F44336;
  --c-error: #F44336;
}

html, body {
  font-size: var(--fs-base);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-optical-sizing: auto;
  color: #333;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-feature-settings: "halt";
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  background-color: #FFF8F5;
}
@media (max-width: 1280px) {
  html, body {
    scroll-padding-top: 80px;
  }
}

#wrap {
  width: 100%;
  min-width: 1080px;
}
@media (max-width: 768px) {
  #wrap {
    min-width: inherit;
  }
}

br.smt {
  display: none;
}
@media (max-width: 640px) {
  br.smt {
    display: block;
  }
}

#main-visual {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media (max-width: 768px) {
  #main-visual {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
#main-visual--catch {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 7.5%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2.5lvw;
  width: 37.5%;
  max-width: 680px;
  height: 100%;
}
@media (max-width: 1080px) {
  #main-visual--catch {
    gap: 30px;
  }
}
@media (max-width: 768px) {
  #main-visual--catch {
    position: static;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    order: 10;
  }
}
#main-visual--catch * picture, #main-visual--catch * img {
  width: 100%;
  height: auto;
}
#main-visual--catch .main {
  width: 100%;
  max-width: 80%;
  margin-top: 7.5lvw;
}
@media (max-width: 1080px) {
  #main-visual--catch .main {
    margin-top: 60px;
  }
}
@media (max-width: 768px) {
  #main-visual--catch .main {
    max-width: 540px;
    margin-top: 2rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10lvw;
    padding-right: 10lvw;
  }
}
@media (max-width: 640px) {
  #main-visual--catch .main {
    max-width: 420px;
  }
}
#main-visual--catch .sub {
  width: 100%;
}
@media (max-width: 768px) {
  #main-visual--catch .sub {
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10lvw;
    padding-right: 10lvw;
  }
}
@media (max-width: 640px) {
  #main-visual--catch .sub {
    max-width: 420px;
  }
}
#main-visual--catch_button {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1em;
  width: 100%;
  margin: 0;
  padding: 1em;
  border-radius: 1em;
  box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media (max-width: 1080px) {
  #main-visual--catch_button {
    gap: 0.75em;
    padding: 0.75em;
  }
}
@media (max-width: 768px) {
  #main-visual--catch_button {
    flex-direction: column;
    padding: 1.25em;
    font-size: 1.35rem;
  }
}
@media (max-width: 640px) {
  #main-visual--catch_button {
    font-size: 1.25rem;
    border-radius: 0;
  }
}
#main-visual--catch_button a {
  flex: 1;
  position: relative;
  text-decoration: none;
}
#main-visual--catch_button a:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.7em);
  right: 0.75em;
  display: block;
  width: 1.4em;
  height: 1.4em;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 16L6 10H18L12 16Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 16L6 10H18L12 16Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}
@media (max-width: 1280px) {
  #main-visual--catch_button a:after {
    right: 0.5em;
  }
}
@media (max-width: 768px) {
  #main-visual--catch_button a:after {
    top: calc(50% - 0.5em);
    width: 1em;
    height: 1em;
  }
}
#main-visual--catch_button a span {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 1em 1.5em 1em 5.6em;
  font-size: 1.15em;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  transition: 0.3s opacity;
  border-radius: 0.75em;
  background-color: var(--c-sub-01);
}
@media (max-width: 1280px) {
  #main-visual--catch_button a span {
    padding-left: 4em;
    font-size: 1em;
  }
}
@media (max-width: 768px) {
  #main-visual--catch_button a span br {
    display: none;
  }
}
#main-visual--catch_button a span:hover {
  opacity: 0.7;
  cursor: pointer;
}
#main-visual--catch_button a span:before {
  content: "";
  position: absolute;
  top: calc(50% - 1.7em);
  left: 1em;
  display: block;
  width: 3.4em;
  height: 3.4em;
  border-radius: 999px;
  background-color: #fff;
}
@media (max-width: 1280px) {
  #main-visual--catch_button a span:before {
    top: calc(50% - 1.2em);
    left: 0.75em;
    width: 2.4em;
    height: 2.4em;
  }
}
#main-visual--catch_button a span:after {
  content: "";
  position: absolute;
  top: calc(50% - 1.7em);
  left: 1em;
  display: block;
  width: 3.4em;
  height: 3.4em;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M2 3.9934C2 3.44476 2.45531 3 2.9918 3H21.0082C21.556 3 22 3.44495 22 3.9934V20.0066C22 20.5552 21.5447 21 21.0082 21H2.9918C2.44405 21 2 20.5551 2 20.0066V3.9934ZM10.6219 8.41459C10.5562 8.37078 10.479 8.34741 10.4 8.34741C10.1791 8.34741 10 8.52649 10 8.74741V15.2526C10 15.3316 10.0234 15.4088 10.0672 15.4745C10.1897 15.6583 10.4381 15.708 10.6219 15.5854L15.5008 12.3328C15.5447 12.3035 15.5824 12.2658 15.6117 12.2219C15.7343 12.0381 15.6846 11.7897 15.5008 11.6672L10.6219 8.41459Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M2 3.9934C2 3.44476 2.45531 3 2.9918 3H21.0082C21.556 3 22 3.44495 22 3.9934V20.0066C22 20.5552 21.5447 21 21.0082 21H2.9918C2.44405 21 2 20.5551 2 20.0066V3.9934ZM10.6219 8.41459C10.5562 8.37078 10.479 8.34741 10.4 8.34741C10.1791 8.34741 10 8.52649 10 8.74741V15.2526C10 15.3316 10.0234 15.4088 10.0672 15.4745C10.1897 15.6583 10.4381 15.708 10.6219 15.5854L15.5008 12.3328C15.5447 12.3035 15.5824 12.2658 15.6117 12.2219C15.7343 12.0381 15.6846 11.7897 15.5008 11.6672L10.6219 8.41459Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 2em;
          mask-size: 2em;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-sub-01);
}
@media (max-width: 1280px) {
  #main-visual--catch_button a span:after {
    top: calc(50% - 1.2em);
    left: 0.75em;
    width: 2.4em;
    height: 2.4em;
    -webkit-mask-size: 1.4em;
            mask-size: 1.4em;
  }
}
#main-visual--catch_button a + a span {
  background-color: var(--c-main);
}
#main-visual--catch_button a + a span:after {
  background-color: var(--c-main);
}
#main-visual--background {
  position: relative;
  width: 100%;
  height: auto;
}
#main-visual--background picture, #main-visual--background img {
  display: block;
  width: 100%;
  height: auto;
}

section {
  width: 100%;
  padding-top: 90px;
  padding-left: 5lvw;
  padding-right: 5lvw;
  padding-bottom: 90px;
}
@media (max-width: 768px) {
  section {
    padding-top: 50px;
    padding-left: 3.5lvw;
    padding-right: 3.5lvw;
    padding-bottom: 50px;
  }
}
section .box {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
section .shadow-contents {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 2rem;
  border-radius: 2rem;
  box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.05);
  background-color: #fff;
}
@media (max-width: 768px) {
  section .shadow-contents {
    border-radius: 1rem;
  }
}
section .shadow-contents .shadow-arrow {
  position: absolute;
  left: calc(50% - 6rem);
  bottom: -3rem;
  display: block;
  width: 12rem;
  height: 3rem;
  overflow: hidden;
}
section .shadow-contents .shadow-arrow:before {
  content: "";
  position: absolute;
  top: -5rem;
  left: calc(50% - 3rem);
  width: 6rem;
  height: 6rem;
  transform: rotate(45deg);
  box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.03);
  background-color: #fff;
}
section .shadow-contents:has(.shadow-arrow) {
  margin-bottom: 3rem;
}
section .section-head {
  width: 100%;
}
section .section-head .balloon {
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
}
section .section-head .balloon span {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 0 2rem;
  font-size: 1.25rem;
  font-weight: 700;
}
section .section-head .balloon span:before {
  content: "";
  position: absolute;
  top: calc(50% - 0.8rem);
  left: 0;
  display: block;
  width: 2px;
  height: 1.6rem;
  transform: rotate(-25deg);
  border-radius: 999px;
  background-color: var(--c-main);
}
section .section-head .balloon span:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.8rem);
  right: 0;
  display: block;
  width: 2px;
  height: 1.6rem;
  transform: rotate(25deg);
  border-radius: 999px;
  background-color: var(--c-main);
}
section .section-head h2 {
  width: 100%;
  margin-bottom: 2rem;
}
section .section-head h2 img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 50px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  section .section-head h2 img {
    height: 35px;
  }
}
@media (max-width: 768px) {
  section .section-head h2 picture img {
    height: 80px;
  }
}
section .section-head p {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  section .section-head p {
    font-size: 1rem;
  }
}
section .section-sub-head {
  width: 100%;
  text-align: center;
}
section .section-sub-head > div {
  width: 100%;
  font-size: 2.25rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  section .section-sub-head > div {
    position: relative;
    display: inline-block;
    width: auto;
    padding: 0 1rem;
    font-size: 1.85rem;
  }
}
section .section-sub-head > div span.--c-pink {
  color: var(--c-main);
}
section .section-sub-head > div span.--c-blue {
  color: var(--c-sub-01);
}
section .section-sub-head > div span.--c-green {
  color: var(--c-sub-02);
}
section .section-sub-head > div:before {
  content: "“";
  opacity: 0.5;
}
section .section-sub-head > div:after {
  content: "”";
  opacity: 0.5;
}
@media (max-width: 768px) {
  section .section-sub-head > div:before, section .section-sub-head > div:after {
    position: absolute;
    top: 0;
  }
  section .section-sub-head > div:before {
    left: 0;
  }
  section .section-sub-head > div:after {
    right: 0;
  }
}
@media (max-width: 768px) {
  section#about {
    padding-bottom: 250px;
  }
}
section#about .shadow-contents {
  margin-bottom: 6rem;
  padding-top: 6rem;
  padding-bottom: 4rem;
}
@media (max-width: 768px) {
  section#about .shadow-contents {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
section#about .about-contents {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 3rem;
  margin-top: 3rem;
}
@media (max-width: 768px) {
  section#about .about-contents {
    gap: 2rem;
  }
}
@media (max-width: 640px) {
  section#about .about-contents {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}
section#about .about-contents--item {
  width: calc(33.3333333333% - 2rem);
}
@media (max-width: 640px) {
  section#about .about-contents--item {
    width: 100%;
  }
}
section#about .about-contents--item img {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 640px) {
  section#about .about-contents--item img {
    max-width: 220px;
  }
}
section#about .about-contents--item h3 {
  font-size: 1.5rem;
  text-align: center;
}
@media (max-width: 768px) {
  section#about .about-contents--item h3 {
    font-size: 1.25rem;
  }
}
section#about .about-contents--item:nth-child(1) h3 span {
  color: var(--c-main);
}
section#about .about-contents--item:nth-child(2) h3 span {
  color: var(--c-sub-01);
}
section#about .about-contents--item:nth-child(3) h3 span {
  color: var(--c-sub-02);
}
section#about .about-contents--item_sub {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 0.5rem;
  width: 10rem;
  height: 10rem;
  border-radius: 999px;
  background-color: #f7f7f7;
}
@media (max-width: 768px) {
  section#about .about-contents--item_sub {
    width: 8rem;
    height: 8rem;
  }
}
section#about .about-contents--item_sub p {
  font-size: 1.05rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 768px) {
  section#about .about-contents--item_sub p {
    font-size: 0.9rem;
  }
}
section#about .customer-contents {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3rem;
  width: 100%;
}
@media (max-width: 768px) {
  section#about .customer-contents {
    flex-direction: column;
    gap: 1.5rem;
  }
}
section#about .customer-contents--item {
  width: calc(50% - 1.5rem);
  padding: 2rem;
  border-radius: 1rem;
  border: 1px solid var(--c-border);
  background-color: #fff;
  overflow: hidden;
}
@media (max-width: 768px) {
  section#about .customer-contents--item {
    width: 100%;
  }
}
section#about .customer-contents--item h3 {
  width: calc(100% + 4rem);
  margin: -2rem -2rem 1rem -2rem;
  padding: 0.75rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
section#about .customer-contents--item h3 span {
  display: inline-block;
  margin: 0;
  padding-left: 2.5rem;
  background-size: contain;
  background-position: center left;
  background-repeat: no-repeat;
}
section#about .customer-contents--item h4 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
section#about .customer-contents--item h4:before {
  content: "▼";
  margin-right: 0.5rem;
}
section#about .customer-contents--item p {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
}
section#about .customer-contents--item ul {
  margin-left: 1rem;
}
section#about .customer-contents--item ul li::marker {
  content: "・";
}
section#about .customer-contents--item:nth-of-type(1) h3 {
  background-color: var(--c-main);
}
section#about .customer-contents--item:nth-of-type(1) h3 span {
  background-image: url(../image/emoji/e-customer-001.svg);
}
section#about .customer-contents--item:nth-of-type(1) h4::before {
  color: var(--c-main);
}
section#about .customer-contents--item:nth-of-type(2) h3 {
  background-color: var(--c-sub-01);
}
section#about .customer-contents--item:nth-of-type(2) h3 span {
  background-image: url(../image/emoji/e-customer-002.svg);
}
section#about .customer-contents--item:nth-of-type(2) h4::before {
  color: var(--c-sub-01);
}
section#about .customer-contents--choice {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
  width: 100%;
  margin: 0;
  padding: 3rem;
  color: #fff;
  border-radius: 2rem;
  background-color: var(--c-main);
}
@media (max-width: 768px) {
  section#about .customer-contents--choice {
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    border-radius: 1rem;
  }
}
section#about .customer-contents--choice h3 {
  margin: 0;
  padding-left: 2.5rem;
  font-size: 1.65rem;
  background-image: url(../image/emoji/e-customer-003.svg);
  background-size: 2rem;
  background-position: center left;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  section#about .customer-contents--choice h3 {
    width: 100%;
  }
}
@media (max-width: 640px) {
  section#about .customer-contents--choice h3 {
    font-size: 1.35rem;
  }
}
section#about .customer-contents--choice ul {
  flex: 1;
  width: 100%;
  margin-left: 1rem;
}
section#about .customer-contents--choice ul li {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}
@media (max-width: 768px) {
  section#about .customer-contents--choice ul li {
    font-size: 1.05rem;
  }
}
@media (max-width: 640px) {
  section#about .customer-contents--choice ul li {
    font-size: 1rem;
  }
}
section#about .customer-contents--choice ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
section#about .customer-contents--choice ul li::marker {
  content: "・";
}
section#comparison {
  padding-top: 0;
  padding-bottom: 70px;
  background-image: url(../image/comparison/comparison-background.webp);
  background-size: 100%;
  background-position: top center;
  background-repeat: no-repeat;
  background-color: var(--c-main);
}
@media (max-width: 768px) {
  section#comparison {
    padding-bottom: 30px;
  }
}
section#comparison .comparison-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  margin-bottom: -100px;
  transform: translateY(-50px);
}
@media (max-width: 768px) {
  section#comparison .comparison-head {
    flex-direction: column;
    gap: 3rem;
    margin-bottom: -200px;
    transform: translateY(-225px);
  }
}
@media (max-width: 420px) {
  section#comparison .comparison-head {
    margin-bottom: -155px;
    transform: translateY(-180px);
  }
}
section#comparison .comparison-head--title {
  width: 30rem;
}
@media (max-width: 768px) {
  section#comparison .comparison-head--title {
    width: 100%;
    max-width: 420px;
    padding-left: 3.5%;
    padding-right: 3.5%;
    order: 10;
  }
}
@media (max-width: 640px) {
  section#comparison .comparison-head--title {
    max-width: 360px;
  }
}
section#comparison .comparison-head--title h2 {
  margin-bottom: 1rem;
}
section#comparison .comparison-head--title h2 img {
  width: 100%;
}
section#comparison .comparison-head--title p {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}
section#comparison .comparison-head--ta {
  flex: 1;
  position: relative;
  padding-left: 1rem;
}
@media (max-width: 768px) {
  section#comparison .comparison-head--ta {
    padding-left: 0;
  }
}
@media (max-width: 640px) {
  section#comparison .comparison-head--ta {
    width: 100%;
  }
}
section#comparison .comparison-head--ta img {
  display: block;
  width: 500px;
  height: 500px;
}
@media (max-width: 768px) {
  section#comparison .comparison-head--ta img {
    position: relative;
    z-index: 1;
    width: 250px;
    height: 250px;
  }
}
@media (max-width: 420px) {
  section#comparison .comparison-head--ta img {
    width: 200px;
    height: 200px;
  }
}
section#comparison .comparison-head--ta .caption {
  position: absolute;
  z-index: 0;
  left: calc(500px + 1rem);
  bottom: 5rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  text-indent: -0.5em;
  line-height: 1.5;
}
@media (max-width: 1280px) {
  section#comparison .comparison-head--ta .caption {
    left: calc(500px - 3rem);
    bottom: 200px;
    width: 9.5em;
  }
}
@media (max-width: 768px) {
  section#comparison .comparison-head--ta .caption {
    left: calc(250px - 1.5rem);
    bottom: 5rem;
    width: 12em;
    padding: 1em;
    color: #333;
    border-radius: 1em 1em 1em 0;
    background-color: #fff;
  }
}
@media (max-width: 420px) {
  section#comparison .comparison-head--ta .caption {
    left: calc(200px - 1.5rem);
  }
}
section#comparison .comparison-contents {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
  width: 100%;
}
section#comparison .comparison-contents-nav {
  position: sticky;
  top: calc(100px + 1.5rem);
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
  width: 28rem;
}
@media (max-width: 1080px) {
  section#comparison .comparison-contents-nav {
    display: none;
  }
}
section#comparison .comparison-contents-nav--item {
  width: 100%;
}
section#comparison .comparison-contents-nav--item a {
  flex: 1;
  position: relative;
  text-decoration: none;
}
section#comparison .comparison-contents-nav--item a:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 1rem;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
}
section#comparison .comparison-contents-nav--item a span {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 4rem;
  margin: 0;
  padding-left: 4rem;
  padding-right: 2rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-main);
  line-height: 1.25;
  transition: 0.3s opacity;
  border-radius: 999px;
  background-color: #fff;
}
section#comparison .comparison-contents-nav--item a span:hover {
  opacity: 0.7;
  cursor: pointer;
}
section#comparison .comparison-contents-nav--item a span:before {
  content: "";
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.75rem;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  background-color: var(--c-main);
}
section#comparison .comparison-contents-nav--item a span:after {
  content: "";
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.75rem;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 1.4rem;
          mask-size: 1.4rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}
section#comparison .comparison-contents-nav--item:nth-of-type(1) a span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M4 19H20V12H22V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V12H4V19ZM13 9V16H11V9H6L12 3L18 9H13Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M4 19H20V12H22V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V12H4V19ZM13 9V16H11V9H6L12 3L18 9H13Z" /></svg>');
}
section#comparison .comparison-contents-nav--item:nth-of-type(2) a span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M7.38938 16.5386C5.33894 15.0901 4 12.7014 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 12.7014 18.6611 15.0901 16.6106 16.5386L18.6936 21.2996C18.8043 21.5526 18.6889 21.8474 18.4359 21.9581C18.3727 21.9857 18.3045 22 18.2355 22H5.76451C5.48837 22 5.26451 21.7761 5.26451 21.5C5.26451 21.431 5.27878 21.3628 5.30643 21.2996L7.38938 16.5386ZM8.11851 10.9704C8.55217 12.7106 10.1255 14 12 14C13.8745 14 15.4478 12.7106 15.8815 10.9704L13.9407 10.4852C13.7239 11.3553 12.9372 12 12 12C11.0628 12 10.2761 11.3553 10.0593 10.4852L8.11851 10.9704Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M7.38938 16.5386C5.33894 15.0901 4 12.7014 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 12.7014 18.6611 15.0901 16.6106 16.5386L18.6936 21.2996C18.8043 21.5526 18.6889 21.8474 18.4359 21.9581C18.3727 21.9857 18.3045 22 18.2355 22H5.76451C5.48837 22 5.26451 21.7761 5.26451 21.5C5.26451 21.431 5.27878 21.3628 5.30643 21.2996L7.38938 16.5386ZM8.11851 10.9704C8.55217 12.7106 10.1255 14 12 14C13.8745 14 15.4478 12.7106 15.8815 10.9704L13.9407 10.4852C13.7239 11.3553 12.9372 12 12 12C11.0628 12 10.2761 11.3553 10.0593 10.4852L8.11851 10.9704Z" /></svg>');
}
section#comparison .comparison-contents-nav--item:nth-of-type(3) a span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M6.45455 19L2 22.5V4C2 3.44772 2.44772 3 3 3H21C21.5523 3 22 3.44772 22 4V18C22 18.5523 21.5523 19 21 19H6.45455ZM11 14V16H13V14H11ZM8.56731 8.81346L10.5288 9.20577C10.6656 8.51823 11.2723 8 12 8C12.8284 8 13.5 8.67157 13.5 9.5C13.5 10.3284 12.8284 11 12 11H11V13H12C13.933 13 15.5 11.433 15.5 9.5C15.5 7.567 13.933 6 12 6C10.302 6 8.88637 7.20919 8.56731 8.81346Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M6.45455 19L2 22.5V4C2 3.44772 2.44772 3 3 3H21C21.5523 3 22 3.44772 22 4V18C22 18.5523 21.5523 19 21 19H6.45455ZM11 14V16H13V14H11ZM8.56731 8.81346L10.5288 9.20577C10.6656 8.51823 11.2723 8 12 8C12.8284 8 13.5 8.67157 13.5 9.5C13.5 10.3284 12.8284 11 12 11H11V13H12C13.933 13 15.5 11.433 15.5 9.5C15.5 7.567 13.933 6 12 6C10.302 6 8.88637 7.20919 8.56731 8.81346Z" /></svg>');
}
section#comparison .comparison-contents-nav--item:nth-of-type(4) a span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M9 1V3H15V1H17V3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H7V1H9ZM20 8H4V19H20V8ZM15.0355 10.136L16.4497 11.5503L11.5 16.5L7.96447 12.9645L9.37868 11.5503L11.5 13.6716L15.0355 10.136Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M9 1V3H15V1H17V3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3H7V1H9ZM20 8H4V19H20V8ZM15.0355 10.136L16.4497 11.5503L11.5 16.5L7.96447 12.9645L9.37868 11.5503L11.5 13.6716L15.0355 10.136Z" /></svg>');
}
section#comparison .comparison-contents-nav--item:nth-of-type(5) a span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M18 8H20C20.5523 8 21 8.44772 21 9V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V9C3 8.44772 3.44772 8 4 8H6V7C6 3.68629 8.68629 1 12 1C15.3137 1 18 3.68629 18 7V8ZM11 15.7324V18H13V15.7324C13.5978 15.3866 14 14.7403 14 14C14 12.8954 13.1046 12 12 12C10.8954 12 10 12.8954 10 14C10 14.7403 10.4022 15.3866 11 15.7324ZM16 8V7C16 4.79086 14.2091 3 12 3C9.79086 3 8 4.79086 8 7V8H16Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M18 8H20C20.5523 8 21 8.44772 21 9V21C21 21.5523 20.5523 22 20 22H4C3.44772 22 3 21.5523 3 21V9C3 8.44772 3.44772 8 4 8H6V7C6 3.68629 8.68629 1 12 1C15.3137 1 18 3.68629 18 7V8ZM11 15.7324V18H13V15.7324C13.5978 15.3866 14 14.7403 14 14C14 12.8954 13.1046 12 12 12C10.8954 12 10 12.8954 10 14C10 14.7403 10.4022 15.3866 11 15.7324ZM16 8V7C16 4.79086 14.2091 3 12 3C9.79086 3 8 4.79086 8 7V8H16Z" /></svg>');
}
section#comparison .comparison-contents-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
  max-width: calc(100% - 30rem);
}
@media (max-width: 1080px) {
  section#comparison .comparison-contents-main {
    max-width: 100%;
  }
}
section#comparison .comparison-contents-main--item {
  width: 100%;
  margin: 0;
  padding: 3rem 2rem;
  border-radius: 1.5rem;
  box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media (max-width: 768px) {
  section#comparison .comparison-contents-main--item {
    padding: 2rem 1.5rem 1.5rem 1.5rem;
    border-radius: 1rem;
  }
}
section#comparison .comparison-contents-main--item .head {
  width: 100%;
  margin-bottom: 1.5rem;
}
section#comparison .comparison-contents-main--item .head span {
  display: inline-block;
  margin: 0;
  padding: 0.1rem 1.5rem;
  font-size: 0.9rem;
  color: #fff;
  border-radius: 999px;
  background-color: var(--c-sub-01);
}
section#comparison .comparison-contents-main--item .head h3 {
  display: block;
  width: 100%;
  margin-top: 0.75rem;
  font-size: 1.75rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  section#comparison .comparison-contents-main--item .head h3 {
    font-size: 1.5rem;
  }
}
section#comparison .comparison-contents-main--item h4 {
  width: 100%;
  margin-top: 2rem;
  margin-bottom: 1rem;
  padding: 0.75rem 0.75rem 0.75rem 3rem;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 0.35rem;
  background-position: top 1rem left 1rem;
  background-size: 1.25rem;
  background-repeat: no-repeat;
  background-color: #f5f5f5;
}
section#comparison .comparison-contents-main--item h4.i-001 {
  background-image: url(../image/emoji/e-comparison-001.svg);
}
section#comparison .comparison-contents-main--item h4.i-002 {
  background-image: url(../image/emoji/e-comparison-002.svg);
}
section#comparison .comparison-contents-main--item h4.i-003 {
  background-image: url(../image/emoji/e-comparison-003.svg);
}
section#comparison .comparison-contents-main--item h4.i-004 {
  background-image: url(../image/emoji/e-comparison-004.svg);
}
section#comparison .comparison-contents-main--item h4.i-005 {
  background-image: url(../image/emoji/e-comparison-005.svg);
}
section#comparison .comparison-contents-main--item p {
  font-size: 1.05rem;
}
section#comparison .comparison-contents-main--item img {
  display: block;
  width: 100%;
  height: auto;
}
section#comparison .comparison-contents-main--item .use-flow {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 3rem;
  width: 100%;
  margin: 0;
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #f5f5f5;
}
@media (max-width: 640px) {
  section#comparison .comparison-contents-main--item .use-flow {
    flex-direction: column;
    padding: 0.75rem;
  }
}
section#comparison .comparison-contents-main--item .use-flow--item:nth-of-type(1) {
  flex: 5;
}
section#comparison .comparison-contents-main--item .use-flow--item:nth-of-type(2) {
  flex: 3;
}
section#comparison .comparison-contents-main--item .use-flow--item:not(:last-child) {
  position: relative;
}
section#comparison .comparison-contents-main--item .use-flow--item:not(:last-child):after {
  content: "";
  position: absolute;
  top: calc(50% - 1rem);
  right: -2rem;
  display: block;
  width: 2rem;
  height: 2rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M16 12L10 18V6L16 12Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M16 12L10 18V6L16 12Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 3rem;
          mask-size: 3rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
}
@media (max-width: 640px) {
  section#comparison .comparison-contents-main--item .use-flow--item:not(:last-child):after {
    top: auto;
    left: calc(50% - 1rem);
    right: auto;
    bottom: -2rem;
    -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 16L6 10H18L12 16Z" /></svg>');
            mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 16L6 10H18L12 16Z" /></svg>');
  }
}
section#comparison .comparison-contents-main--item .use-flow--item b {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
  font-size: 1.15rem;
  font-weight: 700;
  text-align: center;
}
section#comparison .comparison-contents-main--item .use-flow--item img {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
}
section#comparison .comparison-contents-main--item .use-flow--item .example {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}
section#comparison .comparison-contents-main--item .use-flow--item .example:before {
  content: "例";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.4rem;
  height: 2.4rem;
  font-weight: 700;
  color: #fff;
  border-radius: 999px;
  background-color: var(--c-main);
}
section#comparison .comparison-contents-main--item .use-flow--item .example p {
  flex: 1;
  line-height: 1.5;
}
section#comparison .comparison-contents-main--item .button {
  width: 100%;
}
section#comparison .comparison-contents-main--item .button a {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem 2rem 1rem 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: 0.3s opacity;
  border-radius: 0.35rem;
  background-color: var(--c-main);
}
section#comparison .comparison-contents-main--item .button a:hover {
  opacity: 0.7;
  cursor: pointer;
}
section#comparison .comparison-contents-main--item .button a:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 0.75rem;
  display: block;
  width: 1.4rem;
  height: 1.4rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}
@media (max-width: 1280px) {
  section#comparison .comparison-contents-main--item .button a:after {
    right: 0.5rem;
  }
}
section#howto {
  position: relative;
  background-color: #fff;
}
@media (max-width: 768px) {
  section#howto {
    padding-bottom: 0;
  }
}
section#howto:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 55%;
  height: 100%;
  opacity: 0.05;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1180 840"><path d="M720 0H1180V840H0L720 0Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1180 840"><path d="M720 0H1180V840H0L720 0Z" /></svg>');
  -webkit-mask-position: top left;
          mask-position: top left;
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
}
@media (max-width: 768px) {
  section#howto:after {
    width: 100%;
  }
}
section#howto .howto-contents {
  width: 100%;
  margin-top: 3rem;
}
section#howto .howto-contents--movie {
  position: relative;
  z-index: 1;
  width: 60%;
  max-width: 670px;
  margin: 0 auto;
  padding: 0;
  aspect-ratio: 16/9;
  border-radius: 1rem;
  overflow: hidden;
}
@media (max-width: 768px) {
  section#howto .howto-contents--movie {
    width: 80%;
  }
}
@media (max-width: 640px) {
  section#howto .howto-contents--movie {
    width: 100%;
  }
}
section#howto .howto-contents--movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
section#howto .howto-contents--ta {
  position: absolute;
  z-index: 1;
  left: calc(20% - 180px);
  bottom: 0;
  display: block;
  width: 20%;
  max-width: 360px;
}
@media (max-width: 768px) {
  section#howto .howto-contents--ta {
    position: relative;
    left: auto;
    width: 100%;
    max-width: 420px;
    margin: 1rem auto 0 auto;
  }
}
section#howto .howto-contents--ta img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  section#howto .howto-contents--ta img {
    position: relative;
    z-index: 2;
    width: 90%;
    margin-left: auto;
  }
}
section#howto .howto-contents--ta .caption {
  position: absolute;
  right: 4em;
  bottom: 1.5rem;
  font-size: 0.85rem;
  font-weight: 700;
  text-indent: -0.5em;
  line-height: 1.5;
  transform: translateX(100%);
}
@media (max-width: 768px) {
  section#howto .howto-contents--ta .caption {
    top: 1rem;
    left: 0;
    right: auto;
    bottom: auto;
    width: 11em;
    padding: 1em;
    color: #333;
    border-radius: 1em 1em 1em 0;
    background-color: #fff;
    transform: translate(0);
  }
}
section#case {
  background-color: var(--c-light-main);
  overflow: hidden;
}
@media (max-width: 768px) {
  section#case {
    padding-bottom: 6rem;
  }
}
section#case .swiper-wrapper {
  align-items: stretch;
}
section#case .swiper-slide {
  height: auto;
  padding: 0 3.5%;
}
@media (max-width: 768px) {
  section#case .swiper-slide {
    padding: 0 2.5%;
  }
}
@media (max-width: 640px) {
  section#case .swiper-slide {
    padding: 0 1.5lvw;
  }
}
section#case .swiper-pagination {
  bottom: -2rem;
  transform: translateY(100%);
}
section#case .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  margin: 0 0.5rem;
  border-radius: 999px;
  background-color: var(--c-main);
}
section#case .case-slider {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
}
section#case .case-slide {
  position: relative;
  margin: 0;
  padding: 2rem;
  border-radius: 2rem;
  box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.1);
  background-color: #fff;
}
@media (max-width: 768px) {
  section#case .case-slide {
    height: 100%;
    padding: 2rem 1rem 1rem 1rem;
    border-radius: 1rem;
  }
}
section#case .case-slide h3 {
  display: block;
  width: 100%;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  section#case .case-slide h3 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 4rem;
    font-size: 1.35rem;
  }
}
section#case .case-slide .tag {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  display: inline-block;
  padding: 0.35em 1.5em;
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  box-shadow: 0.3em 0.3em 0 var(--c-main-shadow);
  border-radius: 0.35em 0.35em 0.35em 0;
  background-color: var(--c-main);
}
@media (max-width: 768px) {
  section#case .case-slide .tag {
    top: -0.75rem;
  }
}
section#case .case-slide .tag.is-external {
  box-shadow: 0.3em 0.3em 0 var(--c-sub-01-shadow);
  background-color: var(--c-sub-01);
}
section#case .case-slide-contents {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
  width: 100%;
}
@media (max-width: 768px) {
  section#case .case-slide-contents {
    flex-direction: column;
  }
}
section#case .case-slide-contents .image {
  flex: 1;
  width: 35%;
}
@media (max-width: 768px) {
  section#case .case-slide-contents .image {
    width: calc(100% + 2rem);
    margin-left: -1rem;
    margin-right: -1rem;
  }
}
section#case .case-slide-contents .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  section#case .case-slide-contents .image img {
    border-radius: 0;
  }
}
section#case .case-slide-contents .case-flow {
  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
}
section#case .case-slide-contents .case-flow--item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  margin: 0;
  padding: 1rem;
  border-radius: 1rem;
}
@media (max-width: 768px) {
  section#case .case-slide-contents .case-flow--item {
    flex-direction: column;
    border-radius: 0.5rem;
  }
}
section#case .case-slide-contents .case-flow--item:nth-of-type(1) {
  background-color: var(--c-light-main);
}
section#case .case-slide-contents .case-flow--item:nth-of-type(2) {
  background-color: var(--c-light-sub-01);
}
section#case .case-slide-contents .case-flow--item:nth-of-type(3) {
  background-color: var(--c-light-sub-02);
}
section#case .case-slide-contents .case-flow--item > div {
  position: relative;
  width: 10rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  section#case .case-slide-contents .case-flow--item > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
  }
  section#case .case-slide-contents .case-flow--item > div img {
    width: 2.4rem;
    height: 2.4rem;
  }
}
section#case .case-slide-contents .case-flow--item:not(:first-child) > div:after {
  content: "";
  position: absolute;
  top: -3rem;
  left: calc(50% - 1rem);
  display: block;
  width: 2rem;
  height: 2rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
}
section#case .case-slide-contents .case-flow--item > ul {
  flex: 1;
  padding-left: 2rem;
}
@media (max-width: 768px) {
  section#case .case-slide-contents .case-flow--item > ul {
    width: 100%;
  }
}
section#case .case-slide-contents .case-flow--item > ul.is-example {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5rem;
}
@media (max-width: 768px) {
  section#case .case-slide-contents .case-flow--item > ul.is-example {
    padding-left: 0;
  }
}
section#case .case-slide-contents .case-flow--item > ul.is-example li {
  display: inline-block;
  margin: 0;
  padding: 0.1rem 0.5rem;
  font-size: 0.9rem;
  border-radius: 0.2rem;
  border: 1px solid var(--c-border);
  background-color: #fff;
}
section#usage .usage-contents {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3rem;
  width: 100%;
  margin-top: 3rem;
}
@media (max-width: 1080px) {
  section#usage .usage-contents {
    gap: 1rem;
  }
}
section#usage .usage-contents--item {
  position: relative;
  width: calc(33.3333333333% - 2rem);
  margin: 0;
  padding: 2rem;
  border-radius: 2rem;
  border: 1px solid var(--c-border);
  background-color: #fff;
}
@media (max-width: 1080px) {
  section#usage .usage-contents--item {
    width: calc(33.3333333333% - 1.5rem);
    border-radius: 1rem;
  }
}
@media (max-width: 768px) {
  section#usage .usage-contents--item {
    width: calc(50% - 0.5rem);
  }
}
@media (max-width: 640px) {
  section#usage .usage-contents--item {
    width: 100%;
  }
}
section#usage .usage-contents--item .tag {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  display: inline-block;
  padding: 0.35em 1.5em;
  font-size: 0.9rem;
  font-weight: 700;
  color: #fff;
  box-shadow: 0.3em 0.3em 0 var(--c-main-shadow);
  border-radius: 0.35em 0.35em 0.35em 0;
  background-color: var(--c-main);
}
section#usage .usage-contents--item h3 {
  width: 100%;
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
}
section#usage .usage-contents--item p {
  margin-bottom: 2rem;
  line-height: 1.5;
}
section#usage .usage-contents--item ul {
  width: 100%;
  margin: 0;
}
section#usage .usage-contents--item ul li {
  width: 100%;
  padding-left: 2.5rem;
  list-style: none;
  background-size: 1.5em;
  background-position: center left;
  background-repeat: no-repeat;
}
section#usage .usage-contents--item ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
section#usage .usage-contents--item ul li.i-pdf {
  background-image: url(../image/common/icon-pdf.svg);
}
section#usage .usage-contents--item ul li.i-word {
  background-image: url(../image/common/icon-word.svg);
}
section#usage .usage-contents--item ul li.i-web {
  background-image: url(../image/common/icon-web.svg);
}
section#utility .shadow-contents {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media (max-width: 768px) {
  section#utility .shadow-contents {
    padding-top: 4rem;
    padding-bottom: 2rem;
  }
}
section#utility .utility-contents {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3rem;
  width: 100%;
  max-width: 980px;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 768px) {
  section#utility .utility-contents {
    gap: 2rem;
    margin-top: 2rem;
  }
}
section#utility .utility-contents--item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  width: calc(100% - 2rem);
}
@media (max-width: 768px) {
  section#utility .utility-contents--item {
    gap: 1rem;
    flex-direction: column;
    width: 100%;
  }
}
section#utility .utility-contents--item .image {
  width: 150px;
  height: 150px;
  border-radius: 999px;
  border: 2px solid #333333;
  overflow: hidden;
}
@media (max-width: 768px) {
  section#utility .utility-contents--item .image {
    width: 100%;
    height: 120px;
    border: none;
    border-radius: 1rem;
    background-color: #fff9f6;
  }
}
section#utility .utility-contents--item .image img {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  section#utility .utility-contents--item .image img {
    width: 120px;
    height: 120px;
    margin: 0 auto;
  }
}
section#utility .utility-contents--item .balloon {
  position: relative;
  flex: 1;
  width: 100%;
  margin: 0;
  padding: 2rem;
  border-radius: 1rem;
}
section#utility .utility-contents--item .balloon:before {
  content: "";
  position: absolute;
  top: 2rem;
  display: block;
  width: 0;
  height: 0;
  border: 1rem solid transparent;
}
section#utility .utility-contents--item .balloon h3 {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
  font-size: 1.15rem;
}
section#utility .utility-contents--item:nth-child(odd) {
  margin-left: 2rem;
}
@media (max-width: 768px) {
  section#utility .utility-contents--item:nth-child(odd) {
    margin-left: 0;
  }
}
section#utility .utility-contents--item:nth-child(odd) .balloon {
  color: #fff;
  background-color: var(--c-main);
}
section#utility .utility-contents--item:nth-child(odd) .balloon:before {
  left: -1.85rem;
  border-right-color: var(--c-main);
}
@media (max-width: 768px) {
  section#utility .utility-contents--item:nth-child(odd) .balloon:before {
    top: -1.5rem;
    left: calc(50px - 1rem);
    border-right-color: transparent;
    border-bottom-color: var(--c-main);
  }
}
section#utility .utility-contents--item:nth-child(even) {
  flex-direction: row-reverse;
  margin-right: 2rem;
}
@media (max-width: 768px) {
  section#utility .utility-contents--item:nth-child(even) {
    flex-direction: column;
    margin-right: 0;
  }
  section#utility .utility-contents--item:nth-child(even) .image {
    margin-left: auto;
  }
}
section#utility .utility-contents--item:nth-child(even) .balloon {
  background-color: #f5f5f5;
}
section#utility .utility-contents--item:nth-child(even) .balloon:before {
  right: -1.85rem;
  border-left-color: #f5f5f5;
}
@media (max-width: 768px) {
  section#utility .utility-contents--item:nth-child(even) .balloon:before {
    top: -1.5rem;
    right: calc(50px - 1rem);
    border-left-color: transparent;
    border-bottom-color: #f5f5f5;
  }
}
section#security {
  position: relative;
  padding-top: 0;
  background-color: #FFF8F5;
  overflow: hidden;
}
section#security .security-wrapper {
  position: relative;
  width: calc(100% + 10lvw);
  margin-left: -5lvw;
  margin-right: -5lvw;
  padding-left: 5lvw;
  padding-right: 5lvw;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1920 540"><path d="M1920 457.312C1690.7 507.847 1345.76 540 960 540C574.241 540 229.295 507.847 0 457.312V0H1920V457.312Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1920 540"><path d="M1920 457.312C1690.7 507.847 1345.76 540 960 540C574.241 540 229.295 507.847 0 457.312V0H1920V457.312Z" /></svg>');
  -webkit-mask-position: center bottom;
          mask-position: center bottom;
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-image: url(../image/security/security-background.webp);
  background-size: 100%;
  background-position: center top;
  background-repeat: no-repeat;
  background-color: var(--c-main);
}
@media (max-width: 768px) {
  section#security .security-wrapper {
    width: calc(100% + 7lvw);
    margin-left: -3.5lvw;
    margin-right: -3.5lvw;
    padding-left: 3.5lvw;
    padding-right: 3.5lvw;
    -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 420 540"><path d="M420 496.83C360.893 523.996 288.372 540 210 540C131.628 540 59.1073 523.996 0 496.83V0H420V496.83Z" /></svg>');
            mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 420 540"><path d="M420 496.83C360.893 523.996 288.372 540 210 540C131.628 540 59.1073 523.996 0 496.83V0H420V496.83Z" /></svg>');
  }
}
section#security .security-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0;
}
@media (max-width: 768px) {
  section#security .security-head {
    flex-direction: column;
    padding-top: 4rem;
  }
}
@media (max-width: 640px) {
  section#security .security-head {
    padding-left: 3.5lvw;
    padding-right: 3.5lvw;
  }
}
section#security .security-head--ta {
  position: relative;
  width: 600px;
}
@media (max-width: 768px) {
  section#security .security-head--ta {
    width: 400px;
    order: 10;
  }
}
@media (max-width: 640px) {
  section#security .security-head--ta {
    width: calc(100% - 2rem);
    margin-left: 2rem;
  }
}
@media (max-width: 345px) {
  section#security .security-head--ta {
    width: calc(100% - 3rem);
    margin-left: 5rem;
  }
}
section#security .security-head--ta img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
}
section#security .security-head--ta .caption {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 0;
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  text-indent: -0.5em;
  line-height: 1.5;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  section#security .security-head--ta .caption {
    left: -3rem;
    width: 12em;
    padding: 1em;
    border-radius: 1em 1em 1em 0;
    background-color: rgba(255, 255, 255, 0.1);
  }
}
@media (max-width: 345px) {
  section#security .security-head--ta .caption {
    left: -4rem;
  }
}
section#security .security-head--title {
  flex: 1;
}
section#security .security-head--title h2 {
  width: 100%;
  margin-bottom: 2rem;
}
section#security .security-head--title h2 img {
  display: block;
  width: 100%;
  max-width: 475px;
  height: auto;
}
@media (max-width: 768px) {
  section#security .security-head--title h2 img {
    max-width: 420px;
  }
}
section#security .security-head--title p {
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
}
@media (max-width: 768px) {
  section#security .security-head--title p {
    font-size: 1rem;
  }
}
section#security .security-contents {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 3rem;
  width: 100%;
  margin-top: 3rem;
}
@media (max-width: 768px) {
  section#security .security-contents {
    gap: 1rem;
    margin-top: 2rem;
  }
}
@media (max-width: 640px) {
  section#security .security-contents {
    gap: 2rem;
  }
}
section#security .security-contents--item {
  width: calc(50% - 1.5rem);
  margin: 0;
  padding: 1.5rem;
  border-radius: 1rem;
  box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.075);
  background-color: #fff;
}
@media (max-width: 768px) {
  section#security .security-contents--item {
    width: calc(50% - 0.5rem);
    border-radius: 0.35rem;
  }
}
@media (max-width: 640px) {
  section#security .security-contents--item {
    width: 100%;
  }
}
section#security .security-contents--item .image {
  border-radius: 1rem;
  background-color: #FFF8F5;
  overflow: hidden;
}
section#security .security-contents--item .image img {
  display: block;
  width: 100%;
  height: auto;
}
section#security .security-contents--item h3 {
  display: block;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}
section#faq .faq-contents {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  margin-top: 3rem;
}
section#faq .faq-contents--item {
  width: 100%;
  border-radius: 1rem;
  border: 1px solid var(--c-border);
  background-color: #fff;
}
section#faq .faq-contents--item .question {
  display: block;
  padding: 1.25rem;
}
section#faq .faq-contents--item .question:hover {
  cursor: pointer;
}
section#faq .faq-contents--item .question h3 {
  position: relative;
  padding-left: 2.5rem;
  font-size: 1.15rem;
  font-weight: 700;
}
section#faq .faq-contents--item .question h3:before {
  content: "Q";
  position: absolute;
  top: calc(50% - 1.1rem);
  left: 0;
  font-size: 2rem;
  font-weight: 700;
  color: var(--c-main);
  line-height: 1;
}
section#faq .faq-contents--item .question h3:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.75rem);
  right: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-main);
}
section#faq .faq-contents--item .answer {
  margin: 0;
  padding: 1.25rem;
  border-top: 1px solid var(--c-border);
}
section#price {
  background-color: #fff;
}
section#price .price-contents {
  width: 100%;
  margin-top: 3rem;
  margin-bottom: 6rem;
}
@media (max-width: 768px) {
  section#price .price-contents {
    margin-top: 2rem;
  }
}
section#price .price-contents--table {
  width: 100%;
  overflow-x: auto;
}
section#price .price-contents--table table {
  width: 100%;
  border-spacing: 5px;
  border-collapse: separate;
}
@media (max-width: 768px) {
  section#price .price-contents--table table {
    min-width: 768px;
  }
}
section#price .price-contents--table table th, section#price .price-contents--table table td {
  margin: 0;
  padding: 1.5rem 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 768px) {
  section#price .price-contents--table table th, section#price .price-contents--table table td {
    padding: 1rem 0.75rem;
    font-size: 1.05rem;
  }
}
section#price .price-contents--table table th.head, section#price .price-contents--table table td.head {
  background-color: #f5f5f5;
}
section#price .price-contents--table table th:first-child, section#price .price-contents--table table td:first-child {
  width: 15rem;
}
@media (max-width: 768px) {
  section#price .price-contents--table table th:first-child, section#price .price-contents--table table td:first-child {
    width: 12rem;
  }
}
section#price .price-contents--table table th:nth-of-type(2), section#price .price-contents--table table td:nth-of-type(2) {
  background-color: var(--c-light-main);
}
section#price .price-contents--table table th:nth-of-type(3), section#price .price-contents--table table td:nth-of-type(3) {
  background-color: var(--c-light-sub-02);
}
section#price .price-contents--table table th:nth-of-type(4), section#price .price-contents--table table td:nth-of-type(4) {
  background-color: var(--c-light-sub-01);
}
section#price .price-contents--table table thead tr th {
  color: #fff;
  border-radius: 1rem 1rem 0 0;
}
section#price .price-contents--table table thead tr th:nth-of-type(2) {
  background-color: var(--c-main);
}
section#price .price-contents--table table thead tr th:nth-of-type(3) {
  background-color: var(--c-sub-02);
}
section#price .price-contents--table table thead tr th:nth-of-type(4) {
  background-color: var(--c-sub-01);
}
section#price .price-contents--table table tbody tr td {
  border-radius: 0.5rem;
}
section#price .price-contents--table table tbody tr td div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
  font-size: 2rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 768px) {
  section#price .price-contents--table table tbody tr td div {
    font-size: 1.5rem;
  }
}
section#price .price-contents--table table tbody tr td div span {
  margin-top: 0.35rem;
  font-size: 1.05rem;
}
@media (max-width: 768px) {
  section#price .price-contents--table table tbody tr td div span {
    font-size: 1rem;
  }
}
section#price .price-contents .note {
  width: 100%;
  margin-top: 1rem;
  padding-left: 1.5rem;
}
@media (max-width: 768px) {
  section#price .price-contents .note li {
    font-size: 0.85rem;
  }
}
section#price .price-contents .note li::marker {
  content: "※";
}
section#price .period-contents {
  margin-top: 3rem;
}
section#price .period-contents--image {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 1px solid var(--c-border);
}
section#price .period-contents--image img {
  display: block;
  width: 100%;
  height: auto;
}
section#price .period-contents--item {
  margin-top: 2rem;
}
section#price .period-contents--item h4 {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
  font-size: 1.15rem;
}
section#price .period-contents--item h4:before {
  content: "●";
  margin-right: 0.5rem;
  color: var(--c-main);
}
section#price .period-contents--item ul {
  padding-left: 1.5rem;
}
section#flow {
  position: relative;
  padding: 0;
  background: linear-gradient(245deg, rgb(255, 255, 255) 0%, rgb(247, 247, 247) 100%);
}
section#flow .flow-wrapper {
  height: 670px;
  padding-top: 90px;
  padding-left: 5lvw;
  padding-right: 5lvw;
  padding-bottom: 90px;
  background-image: url(../image/flow/flow-background-002.webp);
  background-repeat: no-repeat;
  background-size: 50%;
  background-position: top right;
}
@media (max-width: 1280px) {
  section#flow .flow-wrapper {
    height: auto;
  }
}
@media (max-width: 768px) {
  section#flow .flow-wrapper {
    padding-top: 4rem;
    padding-bottom: 0;
    background-image: url(../image/flow/flow-background_sp.webp);
    background-size: cover;
    background-position: center;
  }
}
section#flow .flow-wrapper:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../image/flow/ta-flow.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}
@media (max-width: 1650px) {
  section#flow .flow-wrapper:before {
    background-position: top right -120px;
  }
}
@media (max-width: 768px) {
  section#flow .flow-wrapper:before {
    display: none;
  }
}
section#flow .flow-wrapper:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 50%;
  height: 100%;
  background-image: url(../image/flow/flow-background-001.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}
@media (max-width: 768px) {
  section#flow .flow-wrapper:after {
    position: static;
    width: calc(100% + 10lvw);
    margin-left: -5lvw;
    margin-right: -5lvw;
    aspect-ratio: 154/67;
    background-image: url(../image/flow/ta-flow_tb.webp);
  }
}
@media (max-width: 640px) {
  section#flow .flow-wrapper:after {
    aspect-ratio: 84/67;
    background-image: url(../image/flow/ta-flow_sp.webp);
  }
}
section#flow .flow-head {
  position: relative;
  z-index: 5;
  width: 100%;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
}
@media (max-width: 768px) {
  section#flow .flow-head {
    font-size: 2rem;
  }
}
section#flow .flow-head:before {
  content: "";
  position: absolute;
  left: calc(50% - 2rem);
  bottom: 0;
  display: block;
  width: 4rem;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--c-main) 0%, var(--c-sub-01) 100%);
}
section#flow .flow-contents {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
  width: 65%;
}
@media (max-width: 768px) {
  section#flow .flow-contents {
    flex-direction: column;
    width: 100%;
  }
}
section#flow .flow-contents--item {
  flex: 1;
  width: 100%;
  margin: 0;
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid var(--c-border);
  box-shadow: 0.3rem 0.5rem 0.75rem rgba(0, 0, 0, 0.05);
  background-color: #fff;
}
section#flow .flow-contents--item span {
  display: inline-block;
  margin: 0;
  padding: 0.1rem 2.5rem;
  font-weight: 700;
  color: #fff;
  border-radius: 999px;
}
section#flow .flow-contents--item span.step-01 {
  background-color: var(--c-main);
}
section#flow .flow-contents--item span.step-02 {
  background-color: var(--c-sub-01);
}
section#flow .flow-contents--item h3 {
  display: block;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.5rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  section#flow .flow-contents--item h3 {
    font-size: 1.35rem;
  }
  section#flow .flow-contents--item h3 br {
    display: none;
  }
}
section#flow .flow-contents--item small {
  display: block;
  margin-top: 0.5rem;
  padding-left: 1rem;
  text-indent: -1rem;
  line-height: 1.5;
}
section#contact {
  background-color: var(--c-main);
}
section#contact .section-head h2 {
  margin-bottom: 4rem;
}
@media (max-width: 768px) {
  section#contact .section-head h2 {
    margin-bottom: 2rem;
  }
}
section#contact .section-head h2 img {
  height: 120px;
}
@media (max-width: 768px) {
  section#contact .section-head h2 img {
    height: 80px;
  }
}
section#contact .contact-contents {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 3rem;
  border-radius: 2rem;
  border: 1px solid var(--c-border);
  box-shadow: 0.3rem 0.5rem 0.75rem rgba(0, 0, 0, 0.05);
  background-color: #fff;
}
@media (max-width: 768px) {
  section#contact .contact-contents {
    padding: 1.5rem;
    border-radius: 1rem;
  }
}
section#contact .contact-contents--item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
}
@media (max-width: 768px) {
  section#contact .contact-contents--item {
    flex-direction: column;
  }
}
section#contact .contact-contents--item_title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  width: 20rem;
  margin-top: 1rem;
  font-size: 1.15rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  section#contact .contact-contents--item_title {
    width: 100%;
    font-size: 1.05rem;
  }
}
section#contact .contact-contents--item_title span {
  display: inline-block;
  margin: 0;
  padding: 0.2rem 0.5rem;
  font-size: 0.8rem;
  color: #fff;
  border-radius: 0.2rem;
  background-color: var(--c-sub-01);
}
section#contact .contact-contents--item_title span.required {
  background-color: var(--c-required);
}
section#contact .contact-contents--item_input {
  flex: 1;
  width: 100%;
}
section#contact .contact-contents--item_input input, section#contact .contact-contents--item_input textarea {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.5rem;
  border: 1px solid transparent;
  background-color: #f7f7f7;
}
@media (max-width: 768px) {
  section#contact .contact-contents--item_input input, section#contact .contact-contents--item_input textarea {
    padding: 0.75rem;
  }
}
section#contact .contact-contents--item_input label {
  position: relative;
  width: 100%;
}
section#contact .contact-contents--item_input label:hover {
  cursor: pointer;
}
section#contact .contact-contents--item_input label input[type=checkbox], section#contact .contact-contents--item_input label input[type=radio] {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  opacity: 0;
}
section#contact .contact-contents--item_input label input[type=checkbox]:checked + span {
  background-color: var(--c-light-main);
}
section#contact .contact-contents--item_input label input[type=checkbox]:checked + span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12ZM12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM17.4571 9.45711L16.0429 8.04289L11 13.0858L8.20711 10.2929L6.79289 11.7071L11 15.9142L17.4571 9.45711Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12ZM12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM17.4571 9.45711L16.0429 8.04289L11 13.0858L8.20711 10.2929L6.79289 11.7071L11 15.9142L17.4571 9.45711Z" /></svg>');
  background-color: var(--c-main);
}
section#contact .contact-contents--item_input label input[type=radio] + span:before {
  border-radius: 999px;
}
section#contact .contact-contents--item_input label input[type=radio]:checked + span {
  background-color: var(--c-light-main);
}
section#contact .contact-contents--item_input label input[type=radio]:checked + span:after {
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12C17 14.7614 14.7614 17 12 17Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 17C9.23858 17 7 14.7614 7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12C17 14.7614 14.7614 17 12 17Z" /></svg>');
  background-color: var(--c-main);
}
section#contact .contact-contents--item_input label span {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem 1rem 1rem 3.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0.5rem;
  border: none;
  background-color: #f7f7f7;
}
@media (max-width: 768px) {
  section#contact .contact-contents--item_input label span {
    padding: 0.75rem 0.75rem 0.75rem 3.5rem;
  }
}
section#contact .contact-contents--item_input label span:before, section#contact .contact-contents--item_input label span:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.75rem);
  left: 1rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.35rem;
  background-color: #fff;
}
section#contact .contact-contents--item_input label span:after {
  border-radius: 0;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: transparent;
}
section#contact .contact-contents--item_input ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
  margin: 0;
  padding: 0;
}
@media (max-width: 640px) {
  section#contact .contact-contents--item_input ul {
    flex-direction: column;
    gap: 0.5rem;
  }
}
section#contact .contact-contents--item_input ul li {
  flex: 1;
  width: 100%;
  list-style: none;
}
section#contact .contact-contents--item_input.is-error input, section#contact .contact-contents--item_input.is-error textarea {
  border: 1px solid var(--c-error);
}
section#contact .contact-contents--item_input .error-message {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: var(--c-error);
}
section#contact .contact-contents--privacy {
  width: 100%;
  text-align: center;
}
section#contact .contact-contents--privacy a {
  color: #333;
  text-decoration: underline;
}
section#contact .contact-contents--privacy a:hover {
  opacity: 0.7;
}
section#contact .contact-contents--button {
  width: 100%;
}
section#contact .contact-contents--button input[type=submit] {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1rem 2rem 1rem 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s background-color;
  border-radius: 0.35rem;
  border: 2px solid var(--c-main);
  background-color: var(--c-main);
}
section#contact .contact-contents--button input[type=submit]:hover {
  cursor: pointer;
  color: var(--c-main);
  background-color: #fff;
}
section#contact .contact-tel {
  width: 100%;
  max-width: 1080px;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2.5rem;
  border-radius: 2rem;
  border: 2px solid #fff;
  background-color: rgba(255, 255, 255, 0.1);
}
@media (max-width: 768px) {
  section#contact .contact-tel {
    padding: 1.5rem;
    border-radius: 1rem;
  }
}
section#contact .contact-tel--title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  width: 100%;
  margin-bottom: 1rem;
  padding-bottom: 2rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  border-bottom: 1px solid #fff;
}
@media (max-width: 768px) {
  section#contact .contact-tel--title {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    font-size: 1.25rem;
  }
}
section#contact .contact-tel--title span {
  display: inline-block;
  font-size: 1.15rem;
  font-weight: 400;
}
@media (max-width: 768px) {
  section#contact .contact-tel--title span {
    font-size: 1rem;
  }
}
section#contact .contact-tel--number {
  width: 100%;
}
section#contact .contact-tel--number img {
  width: 100%;
  max-width: 460px;
}
@media (max-width: 768px) {
  section#contact .contact-tel--number img {
    max-width: 340px;
  }
}
section#contact .contact-tel--number a {
  transition: 0.3s opacity;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
}
@media (max-width: 768px) {
  section#contact .contact-tel--number a {
    -webkit-user-select: auto;
       -moz-user-select: auto;
            user-select: auto;
    pointer-events: all;
  }
}
section#contact .contact-tel--number a:hover {
  cursor: pointer;
  opacity: 0.7;
}
section#contact .contact-tel--number p {
  width: 100%;
  margin-top: 1rem;
  color: #fff;
}
section#tokutei .section-sub-head {
  margin-bottom: 3rem;
}
section#tokutei .shadow-contents {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem 3rem;
}
@media (max-width: 768px) {
  section#tokutei .shadow-contents {
    padding: 1.5rem 2rem;
  }
}
section#tokutei .shadow-contents h3 {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  color: var(--c-main);
}
section#tokutei .tokutei-contents {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0;
}
section#tokutei .tokutei-contents--item {
  width: 100%;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
section#tokutei .tokutei-contents--item:not(:first-child) {
  border-top: 1px solid var(--c-border);
}
section#tokutei .tokutei-contents--item a {
  color: #333;
  text-decoration: underline;
}

header {
  position: sticky;
  z-index: 999;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  padding: 5px;
}
header .header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  height: 90px;
  padding-left: 2rem;
  padding-right: 1rem;
  border-radius: 1rem;
  background-color: #fff;
}
@media (max-width: 1280px) {
  header .header-wrapper {
    height: 70px;
  }
}
header .header-wrapper h1 {
  display: flex;
  width: 240px;
}
@media (max-width: 768px) {
  header .header-wrapper h1 {
    width: 180px;
  }
}
header .header-wrapper h1 a {
  display: block;
}
header .header-wrapper h1 img {
  width: 100%;
  height: auto;
}
header .header-wrapper #humb {
  position: absolute;
  z-index: 999;
  top: calc(50% - 1.5rem);
  right: 1rem;
  display: none;
  width: 3rem;
  height: 3rem;
}
@media (max-width: 1280px) {
  header .header-wrapper #humb {
    display: block;
  }
  header .header-wrapper #humb:hover {
    cursor: pointer;
  }
}
header .header-wrapper #humb span {
  position: absolute;
  top: calc(50% - 1px);
  left: 0.5rem;
  display: block;
  width: 2rem;
  height: 0;
  border-top: 2px solid var(--c-main);
}
header .header-wrapper #humb span.top {
  transition: 0.3s transform;
  top: calc(50% - 0.5rem - 2px);
}
header .header-wrapper #humb span.middle {
  transition: 0.3s opacity;
}
header .header-wrapper #humb span.bottom {
  transition: 0.3s transform;
  top: calc(50% + 0.5rem);
}
header .header-wrapper #humb.is-close span {
  border-top-color: #fff;
}
header .header-wrapper #humb.is-close span.top {
  top: calc(50% - 1px);
  transform: rotate(45deg);
}
header .header-wrapper #humb.is-close span.middle {
  opacity: 0;
}
header .header-wrapper #humb.is-close span.bottom {
  top: calc(50% - 1px);
  transform: rotate(-45deg);
}
header .header-wrapper nav {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0;
  width: 100%;
}
@media (max-width: 1280px) {
  header .header-wrapper nav {
    position: absolute;
    z-index: 888;
    top: 5px;
    right: 5px;
    flex-direction: column;
    justify-content: flex-start;
    width: 21rem;
    padding: 5rem 2rem 2rem 2rem;
    visibility: hidden;
    opacity: 0;
    transition: 0.6s opacity;
    border-radius: 1.5rem;
    box-shadow: 0.3rem 0.5rem 1rem rgba(0, 0, 0, 0.03);
    background-color: var(--c-main);
  }
  header .header-wrapper nav.is-visible {
    visibility: visible;
    opacity: 1;
  }
}
header .header-wrapper nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  width: calc(100% - 17rem);
}
@media (max-width: 1280px) {
  header .header-wrapper nav ul {
    flex-direction: column;
    width: 100%;
    margin-bottom: 2rem;
  }
}
header .header-wrapper nav ul li {
  list-style: none;
}
@media (max-width: 1280px) {
  header .header-wrapper nav ul li {
    width: 100%;
    text-align: left;
  }
}
header .header-wrapper nav ul li a {
  font-size: 1rem;
  font-weight: 700;
  color: #333;
  transition: 0.3s color;
  text-decoration: none;
}
@media (max-width: 1280px) {
  header .header-wrapper nav ul li a {
    font-size: 1.25rem;
    color: #fff;
    transition: 0.3s opacity;
  }
}
header .header-wrapper nav ul li a:hover {
  cursor: pointer;
  color: var(--c-main);
}
@media (max-width: 1280px) {
  header .header-wrapper nav ul li a:hover {
    color: #fff;
    opacity: 0.7;
  }
}
header .header-wrapper nav .button {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  width: 17rem;
  margin: 0;
  padding: 0;
}
header .header-wrapper nav .button a {
  flex: 3;
  position: relative;
  text-decoration: none;
}
header .header-wrapper nav .button a:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.7rem);
  right: 0.75rem;
  display: block;
  width: 1rem;
  height: 1rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 16L6 10H18L12 16Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M12 16L6 10H18L12 16Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #fff;
}
@media (max-width: 1280px) {
  header .header-wrapper nav .button a:after {
    background-color: var(--c-main);
  }
}
header .header-wrapper nav .button a span {
  flex: 1;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0.75rem 1.5rem 0.75rem 4rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  transition: 0.3s opacity;
  border-radius: 0.75rem;
  background-color: var(--c-sub-01);
}
@media (max-width: 1280px) {
  header .header-wrapper nav .button a span {
    color: var(--c-main);
    background-color: #fff;
  }
}
header .header-wrapper nav .button a span:hover {
  opacity: 0.7;
  cursor: pointer;
}
header .header-wrapper nav .button a span:before {
  content: "";
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.75rem;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  background-color: #fff;
}
@media (max-width: 1280px) {
  header .header-wrapper nav .button a span:before {
    background-color: var(--c-main);
  }
}
header .header-wrapper nav .button a span:after {
  content: "";
  position: absolute;
  top: calc(50% - 1.2rem);
  left: 0.75rem;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  -webkit-mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM20 7.23792L12.0718 14.338L4 7.21594V19H20V7.23792ZM4.51146 5L12.0619 11.662L19.501 5H4.51146Z" /></svg>');
          mask-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path d="M3 3H21C21.5523 3 22 3.44772 22 4V20C22 20.5523 21.5523 21 21 21H3C2.44772 21 2 20.5523 2 20V4C2 3.44772 2.44772 3 3 3ZM20 7.23792L12.0718 14.338L4 7.21594V19H20V7.23792ZM4.51146 5L12.0619 11.662L19.501 5H4.51146Z" /></svg>');
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 1.4rem;
          mask-size: 1.4rem;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--c-sub-01);
}
@media (max-width: 1280px) {
  header .header-wrapper nav .button a span:after {
    background-color: #fff;
  }
}
header .header-wrapper nav .button a + a {
  flex: 2;
}
header .header-wrapper nav .button a + a span {
  background-color: var(--c-main);
}
header .header-wrapper nav .button a + a span:after {
  background-color: var(--c-main);
}

footer {
  width: 100%;
  background-color: #fff;
}
footer .footer-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding-top: 6rem;
  padding-left: 5lvw;
  padding-right: 5lvw;
  padding-bottom: 6rem;
}
@media (max-width: 768px) {
  footer .footer-wrapper {
    flex-direction: column;
    gap: 3rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
footer .footer-wrapper .company-information {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  width: 35rem;
}
@media (max-width: 768px) {
  footer .footer-wrapper .company-information {
    flex-direction: column;
    width: 100%;
    text-align: center;
  }
}
footer .footer-wrapper .company-information img {
  display: block;
  width: 95px;
  height: auto;
}
footer .footer-wrapper .company-information address {
  display: block;
  margin: 0;
  font-size: 1.05rem;
  font-style: normal;
}
footer .footer-wrapper .company-information address b {
  font-size: 1.15rem;
}
footer .footer-wrapper .footer-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  flex: 1;
  width: 100%;
}
@media (max-width: 768px) {
  footer .footer-wrapper .footer-nav {
    justify-content: center;
  }
}
footer .footer-wrapper .footer-nav--item {
  display: inline-block;
}
footer .footer-wrapper .footer-nav--item a {
  color: #000;
}
footer .footer-wrapper .footer-nav--item a:hover {
  text-decoration: underline;
}
footer .copyrights {
  width: 100%;
  margin: 0;
  padding: 0.35rem;
  font-size: 0.95rem;
  text-align: center;
  background-color: #f7f7f7;
}
section#price .price-contents--button {
  width: 100%;
  text-align: center;
  padding-top: 40px;
}
section#price .price-contents--button a {
  display: block;
  width: 50%;
  margin: 0 auto;
  text-align: center;
  padding: 1rem 2rem 1rem 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s background-color;
  border-radius: 0.35rem;
  border: 2px solid var(--c-main);
  background-color: var(--c-main);
}
section#price .price-contents--button a:hover {
  cursor: pointer;
  color: var(--c-main);
  background-color: #fff;
}
@media (max-width: 768px) {
  section#price .price-contents--button a {
    width: 70%;
  }
}





