@charset "UTF-8";
/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

a, button {
  cursor: revert;
}

ol, ul, menu, summary {
  list-style: none;
}

ol {
  counter-reset: revert;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

:where(pre) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-input-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

::-webkit-details-marker {
  display: none;
}

:root {
  --color-font: #262626;
  --color-font-strong: #1a1a1a;
  --color-primary: #df1717;
  --color-secondary: #e01a1b;
  --color-tertiary: #f33a3b;
  --font-NotoSansJP: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, sans-serif;
  --font-NotoSerifJP: "Noto Serif JP", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, serif;
}

html, body {
  height: 100svh;
  overflow: clip;
}

body {
  background: #fafafa;
  color: var(--color-font);
  font-family: var(--font-NotoSansJP);
  font-weight: 400;
  line-height: 1;
  margin-inline: auto;
  width: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3.733svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  body {
    font-size: 1.406vw;
  }
}
@media screen and (min-width: 1280px) {
  body {
    font-size: 18px;
    min-width: 1280px;
  }
}

a:not([class]) {
  color: var(--color-font);
}
@media (any-hover: hover) {
  a:not([class]):hover {
    opacity: 0.8;
  }
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

img[height] {
  height: auto;
  width: 100%;
}

b, strong {
  font-weight: bolder;
}

@media screen and (min-width: 768px) {
  .only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .only-pc {
    display: none !important;
  }
}
.l-wrapper {
  height: 100svh;
  overflow: auto;
}

@media screen and (min-width: 768px) {
  .l-inner {
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-inner {
    width: 93.75%;
  }
}
@media screen and (min-width: 1280px) {
  .l-inner {
    width: 1200px;
  }
}

.l-copyright {
  background: #3c3c3c;
  color: #fff;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-copyright {
    font-size: 2.667svw;
    line-height: 5;
  }
}
@media screen and (min-width: 768px) {
  .l-copyright {
    line-height: 5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-copyright {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-copyright {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .l-copyright--index {
    -webkit-padding-after: 3.2svw;
            padding-block-end: 3.2svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-copyright--index {
    -webkit-padding-after: 2.365vw;
            padding-block-end: 2.365vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-copyright--index {
    -webkit-padding-after: 35px;
            padding-block-end: 35px;
  }
}

.l-box__border,
.l-box__corner {
  background: #eb0b0b;
  display: block;
  position: fixed;
  z-index: 10;
}

.l-box__border--top,
.l-box__border--bottom {
  left: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-box__border--top,
  .l-box__border--bottom {
    height: 3.2svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .l-box__border--top,
  .l-box__border--bottom {
    height: 2.365vw;
  }
}
@media screen and (min-width: 1480px) {
  .l-box__border--top,
  .l-box__border--bottom {
    height: 35px;
  }
}

.l-box__border--right,
.l-box__border--left {
  height: 120vh;
  height: 120dvh;
  top: 0;
}
@media screen and (max-width: 767px) {
  .l-box__border--right,
  .l-box__border--left {
    width: 3.2svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .l-box__border--right,
  .l-box__border--left {
    width: 2.365vw;
  }
}
@media screen and (min-width: 1480px) {
  .l-box__border--right,
  .l-box__border--left {
    width: 35px;
  }
}

.l-box__border--top {
  top: 0;
}

.l-box__border--right {
  right: 0;
}

.l-box__border--bottom {
  bottom: 0;
}

.l-box__border--left {
  left: 0;
}

@media screen and (max-width: 767px) {
  .l-box__corner {
    height: 3.2svw;
    width: 3.2svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .l-box__corner {
    height: 2.365vw;
    width: 2.365vw;
  }
}
@media screen and (min-width: 1480px) {
  .l-box__corner {
    height: 35px;
    width: 35px;
  }
}

.l-box__corner--top-left {
  left: 0;
  top: 0;
}

.l-box__corner--top-right {
  right: 0;
  top: 0;
}

.l-box__corner--bottom-left {
  bottom: 0;
  left: 0;
}

.l-box__corner--bottom-right {
  bottom: 0;
  right: 0;
}

.l-sticky {
  background: #eb0b0b;
  bottom: 0;
  display: block;
  position: fixed;
  right: 0;
  z-index: 100;
  will-change: transform, opacity;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 767px) {
  .l-sticky {
    height: 29.333svw;
    -webkit-padding-before: 4svw;
            padding-block-start: 4svw;
    width: 25.333svw;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .l-sticky {
    height: 16.515svw;
    -webkit-padding-before: 2.252svw;
            padding-block-start: 2.252svw;
    width: 14.263svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-sticky {
    height: 17.188vw;
    -webkit-padding-before: 2.5vw;
            padding-block-start: 2.5vw;
    width: 14.844vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-sticky {
    height: 220px;
    -webkit-padding-before: 32px;
            padding-block-start: 32px;
    width: 190px;
  }
}

.l-sticky__logo {
  margin-inline: auto;
  width: 66.842%;
}
@media screen and (min-width: 1280px) {
  .l-sticky__logo {
    width: 127px;
  }
}

.l-sticky__link {
  align-items: center;
  background: var(--color-font);
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  position: relative;
  text-align: center;
  transition: scale 0.2s ease-in-out;
  width: 84.21%;
}
@media screen and (max-width: 767px) {
  .l-sticky__link {
    border-radius: 1.067svw;
    height: 7.467svw;
    -webkit-margin-before: 1.6svw;
            margin-block-start: 1.6svw;
    -webkit-padding-end: 0.533svw;
            padding-inline-end: 0.533svw;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .l-sticky__link {
    height: 4.204svw;
    -webkit-margin-before: 0.901svw;
            margin-block-start: 0.901svw;
    -webkit-padding-end: 0.3svw;
            padding-inline-end: 0.3svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-sticky__link {
    border-radius: 0.547vw;
    height: 3.75vw;
    -webkit-margin-before: 1.406vw;
            margin-block-start: 1.406vw;
    -webkit-padding-end: 0.625vw;
            padding-inline-end: 0.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-sticky__link {
    border-radius: 7px;
    height: 48px;
    -webkit-margin-before: 18px;
            margin-block-start: 18px;
    -webkit-padding-end: 8px;
            padding-inline-end: 8px;
    width: 160px;
  }
}
@media (any-hover: hover) {
  .l-sticky__link:hover {
    scale: 1.05;
  }
}

.l-sticky__label {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .l-sticky__label {
    font-size: 2.4svw;
    line-height: 1.222;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .l-sticky__label {
    font-size: 1.351svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-sticky__label {
    font-size: 1.016vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-sticky__label {
    font-size: 13px;
  }
}

.l-sticky__arrow {
  fill: none;
  position: absolute;
  stroke: #fff;
  stroke-miterlimit: 10;
  stroke-width: 2px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .l-sticky__arrow {
    right: 0.667svw;
    width: 0.8svw;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .l-sticky__arrow {
    right: 0.375svw;
    width: 0.45svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .l-sticky__arrow {
    right: 0.391vw;
    width: 0.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-sticky__arrow {
    right: 5px;
    width: 7px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact {
    background: url(../images/contact_bg_01_sp.png) 0 0/100% auto no-repeat, url(../images/contact_bg_02_sp.png) 0 100%/100% auto no-repeat #f0f3f5;
    padding-block: 20svw 20.667svw;
  }
}
@media screen and (min-width: 768px) {
  .c-contact {
    background: url(../images/contact_bg_pc.png) 50% 0 no-repeat #f0f3f5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact {
    background-size: 156.25vw auto;
    padding-block: 13.281vw 14.844vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact {
    padding-block: 170px 190px;
  }
}

.c-contact__title {
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-contact__title {
    font-size: 6.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact__title {
    font-size: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact__title {
    font-size: 50px;
  }
}

.c-contact__text {
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-contact__text {
    font-size: 3.467svw;
    line-height: 1.692;
    -webkit-margin-before: 7.333svw;
            margin-block-start: 7.333svw;
    width: 88svw;
  }
}
@media screen and (min-width: 768px) {
  .c-contact__text {
    line-height: 1.556;
    width: 83%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact__text {
    -webkit-margin-before: 5.859vw;
            margin-block-start: 5.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact__text {
    -webkit-margin-before: 75px;
            margin-block-start: 75px;
  }
}

.c-contact-form {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-contact-form {
    -webkit-margin-before: 12.667svw;
            margin-block-start: 12.667svw;
    width: 88svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form {
    -webkit-margin-before: 4.297vw;
            margin-block-start: 4.297vw;
    width: 78.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form {
    -webkit-margin-before: 55px;
            margin-block-start: 55px;
    width: 1000px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-form__group {
    -webkit-margin-before: 6svw;
            margin-block-start: 6svw;
  }
}
@media screen and (min-width: 768px) {
  .c-contact-form__group {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__group {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__group {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}

.c-contact-form__title {
  font-weight: 500;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-contact-form__title {
    font-size: 4.267svw;
    -webkit-padding-start: 2.4svw;
            padding-inline-start: 2.4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__title {
    font-size: 1.563vw;
    -webkit-padding-before: 2.031vw;
            padding-block-start: 2.031vw;
    width: 18.75vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__title {
    font-size: 20px;
    -webkit-padding-before: 26px;
            padding-block-start: 26px;
    width: 240px;
  }
}

.c-contact-form__group:nth-child(-n+4) .c-contact-form__title::after {
  background: var(--color-tertiary);
  color: #fff;
  content: "必須";
  font-weight: 400;
  display: inline-block;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-contact-form__group:nth-child(-n+4) .c-contact-form__title::after {
    border-radius: 1.067svw;
    font-size: 2.667svw;
    line-height: 1.5;
    -webkit-margin-start: 6svw;
            margin-inline-start: 6svw;
    vertical-align: middle;
    width: 8svw;
  }
}
@media screen and (min-width: 768px) {
  .c-contact-form__group:nth-child(-n+4) .c-contact-form__title::after {
    line-height: 1.625;
    position: absolute;
    right: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__group:nth-child(-n+4) .c-contact-form__title::after {
    border-radius: 0.313vw;
    font-size: 1.25vw;
    top: 1.719vw;
    width: 3.75vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__group:nth-child(-n+4) .c-contact-form__title::after {
    border-radius: 4px;
    font-size: 16px;
    top: 22px;
    width: 48px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact-form__data {
    -webkit-margin-before: 2.667svw;
            margin-block-start: 2.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__data {
    width: 57.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__data {
    width: 740px;
  }
}

.c-contact-form__input,
.c-contact-form__textarea {
  background: #fff;
  border: 1px solid #ccc;
  font-size: 100%;
  line-height: 1.6;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c-contact-form__input,
  .c-contact-form__textarea {
    border-radius: 1.067svw;
    padding-block: 2.667svw;
    padding-inline: 2.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__input,
  .c-contact-form__textarea {
    border-radius: 0.313vw;
    padding-block: 1.563vw;
    padding-inline: 0.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__input,
  .c-contact-form__textarea {
    border-radius: 4px;
    padding-block: 20px;
    padding-inline: 12px;
  }
}
.c-contact-form__input::-webkit-input-placeholder, .c-contact-form__textarea::-webkit-input-placeholder {
  color: #c8c8c8;
}
.c-contact-form__input:-ms-input-placeholder, .c-contact-form__textarea:-ms-input-placeholder {
  color: #c8c8c8;
}
.c-contact-form__input::-ms-input-placeholder, .c-contact-form__textarea::-ms-input-placeholder {
  color: #c8c8c8;
}
.c-contact-form__input::placeholder,
.c-contact-form__textarea::placeholder {
  color: #c8c8c8;
}
.c-contact-form__input:focus,
.c-contact-form__textarea:focus {
  outline: 2px solid #666;
}

@media screen and (max-width: 767px) {
  .c-contact-form__textarea {
    field-sizing: content;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__textarea {
    height: 10.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__textarea {
    height: 140px;
  }
}

.c-privacy-box {
  background: #fff;
  border: 1px solid #ccc;
  margin-inline: auto;
  overflow-x: hidden;
  overflow-y: scroll;
}
@media screen and (max-width: 767px) {
  .c-privacy-box {
    border-radius: 1.067svw;
    height: 33.333svw;
    -webkit-margin-before: 13.333svw;
            margin-block-start: 13.333svw;
    padding-block: 5.333svw;
    padding-inline: 3.067svw;
    width: 82.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-privacy-box {
    border-radius: 0.313vw;
    height: 13.594vw;
    -webkit-margin-before: 5.469vw;
            margin-block-start: 5.469vw;
    padding-block: 2.344vw;
    padding-inline: 1.953vw;
    width: 78.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-privacy-box {
    border-radius: 4px;
    height: 174px;
    -webkit-margin-before: 70px;
            margin-block-start: 70px;
    padding-block: 30px;
    padding-inline: 25px;
    width: 1000px;
  }
}

.c-privacy-box__title {
  color: #3c3c3c;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-privacy-box__title {
    font-size: 3.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-privacy-box__title {
    font-size: 1.875vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-privacy-box__title {
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .c-privacy-box__body {
    -webkit-margin-before: 2.667svw;
            margin-block-start: 2.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-privacy-box__body {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-privacy-box__body {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}

.c-privacy-box__text {
  color: #3c3c3c;
  letter-spacing: 0.04em;
  -webkit-margin-before: 1.5em;
          margin-block-start: 1.5em;
}
@media screen and (max-width: 767px) {
  .c-privacy-box__text {
    font-size: 3.2svw;
    line-height: 1.667;
  }
}
@media screen and (min-width: 768px) {
  .c-privacy-box__text {
    line-height: 1.867;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-privacy-box__text {
    font-size: 1.172vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-privacy-box__text {
    font-size: 15px;
  }
}

.c-contact-form__consent {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: center;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .c-contact-form__consent {
    gap: 2svw;
    font-size: 3.467svw;
    -webkit-margin-before: 4.667svw;
            margin-block-start: 4.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__consent {
    gap: 1.172vw;
    font-size: 1.563vw;
    -webkit-margin-before: 2.734vw;
            margin-block-start: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__consent {
    gap: 15px;
    font-size: 20px;
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
}

.c-contact-form__checkbox {
  accent-color: var(--color-tertiary);
  -webkit-appearance: auto;
          appearance: auto;
  border-radius: 0;
  display: inline-block;
  -webkit-margin-end: 0.5em;
          margin-inline-end: 0.5em;
  padding: 0;
  -webkit-transform-origin: 0% 50%;
          transform-origin: 0% 50%;
}
@media screen and (max-width: 767px) {
  .c-contact-form__checkbox {
    -webkit-transform: scale(1.25);
            transform: scale(1.25);
  }
}
@media screen and (min-width: 768px) {
  .c-contact-form__checkbox {
    -webkit-transform: scale(1.85);
            transform: scale(1.85);
  }
}
.c-contact-form__checkbox:focus {
  outline: 1px solid var(--color-tertiary);
  outline-offset: 1px;
}

@media screen and (max-width: 767px) {
  .c-contact-form__action {
    -webkit-margin-before: 12.667svw;
            margin-block-start: 12.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__action {
    -webkit-margin-before: 5.469vw;
            margin-block-start: 5.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__action {
    -webkit-margin-before: 70px;
            margin-block-start: 70px;
  }
}

.c-contact-form__btn {
  color: #fff;
  cursor: pointer;
  display: block;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-contact-form__btn {
    border-radius: 8svw;
    font-size: 5.867svw;
    line-height: 2.727;
    width: 69.333svw;
  }
}
@media screen and (min-width: 768px) {
  .c-contact-form__btn {
    line-height: 2.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-contact-form__btn {
    border-radius: 3.516vw;
    font-size: 2.813vw;
    width: 40.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-contact-form__btn {
    border-radius: 45px;
    font-size: 36px;
    width: 520px;
  }
}
@media (any-hover: hover) {
  .c-contact-form__btn:hover {
    opacity: 0.8;
  }
}
.c-contact-form__btn:focus {
  outline: 3px solid var(--color-font);
  outline-offset: 1px;
}
.c-contact-form__btn--submit {
  background: var(--color-tertiary);
}
.c-contact-form__btn--back {
  background: #999;
}

@media screen and (max-width: 767px) {
  .c-thanks {
    background: url(../images/contact_bg_01_sp.png) 0 0/100% auto no-repeat, url(../images/contact_bg_02_sp.png) 0 100%/100% auto no-repeat #f0f3f5;
    min-height: calc(100vh - 13.333svw);
    min-height: calc(100dvh - 13.333svw);
    padding-block: 20svw 20.667svw;
  }
}
@media screen and (min-width: 768px) {
  .c-thanks {
    background: url(../images/contact_bg_pc.png) 50% 0 no-repeat #f0f3f5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-thanks {
    background-size: 156.25vw auto;
    min-height: calc(100vh - 6.25vw);
    min-height: calc(100dvh - 6.25vw);
    padding-block: 13.281vw 32.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-thanks {
    min-height: calc(100vh - 80px);
    min-height: calc(100dvh - 80px);
    padding-block: 170px 410px;
  }
}

.c-thanks__title {
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-thanks__title {
    font-size: 6.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-thanks__title {
    font-size: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-thanks__title {
    font-size: 50px;
  }
}

.c-thanks__text-wrap {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .c-thanks__text-wrap {
    -webkit-margin-before: 8.667svw;
            margin-block-start: 8.667svw;
    width: 88svw;
  }
}
@media screen and (min-width: 768px) {
  .c-thanks__text-wrap {
    width: 83%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-thanks__text-wrap {
    -webkit-margin-before: 7.031vw;
            margin-block-start: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-thanks__text-wrap {
    -webkit-margin-before: 90px;
            margin-block-start: 90px;
  }
}

.c-thanks__text {
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-thanks__text {
    font-size: 3.467svw;
    line-height: 1.692;
    -webkit-margin-before: 6svw;
            margin-block-start: 6svw;
  }
}
@media screen and (min-width: 768px) {
  .c-thanks__text {
    line-height: 2.25;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-thanks__text {
    font-size: 1.563vw;
    -webkit-margin-before: 3.906vw;
            margin-block-start: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-thanks__text {
    font-size: 20px;
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.c-thanks-btn {
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-thanks-btn {
    font-size: 5.333svw;
    line-height: 3;
    -webkit-margin-before: 40svw;
            margin-block-start: 40svw;
    width: 69.333svw;
  }
}
@media screen and (min-width: 768px) {
  .c-thanks-btn {
    line-height: 2.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-thanks-btn {
    font-size: 2.813vw;
    -webkit-margin-before: 10.156vw;
            margin-block-start: 10.156vw;
    width: 40.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-thanks-btn {
    font-size: 36px;
    -webkit-margin-before: 130px;
            margin-block-start: 130px;
    width: 520px;
  }
}

.c-thanks-btn__link {
  background: var(--color-font);
  color: #fff;
  cursor: pointer;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-thanks-btn__link {
    border-radius: 8svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .c-thanks-btn__link {
    border-radius: 3.516vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-thanks-btn__link {
    border-radius: 45px;
  }
}
@media (any-hover: hover) {
  .c-thanks-btn__link:hover {
    opacity: 0.8;
  }
}

@media screen and (max-width: 767px) {
  .kv {
    background: url(../images/kv_bg_sp.jpg) 0 0/cover no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .kv {
    background: url(../images/kv_bg_pc.jpg) 50% 0/auto 100% no-repeat #fff;
  }
}

.kv__container {
  position: relative;
}
@media screen and (max-width: 767px) {
  .kv__container {
    height: 168svw;
    padding-block: 6svw 3.2svw;
  }
}
@media screen and (min-width: 768px) {
  .kv__container {
    margin-inline: auto;
    max-width: 1480px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .kv__container {
    padding-block: 5.469vw 2.734vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__container {
    height: 60.811vw;
  }
}
@media screen and (min-width: 1280px) {
  .kv__container {
    padding-block: 70px 35px;
  }
}
@media screen and (min-width: 1480px) {
  .kv__container {
    height: 900px;
  }
}

@media screen and (max-width: 767px) {
  .kv__lead {
    margin-inline: auto;
    width: 58.533svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__lead {
    -webkit-margin-start: 15.946vw;
            margin-inline-start: 15.946vw;
    width: 29.662vw;
  }
}
@media screen and (min-width: 1480px) {
  .kv__lead {
    -webkit-margin-start: 236px;
            margin-inline-start: 236px;
    width: 439px;
  }
}

@media screen and (max-width: 767px) {
  .kv__fee {
    -webkit-margin-before: 1.333svw;
            margin-block-start: 1.333svw;
    margin-inline: auto;
    width: 60svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__fee {
    -webkit-margin-before: 0.676vw;
            margin-block-start: 0.676vw;
    -webkit-margin-start: 16.486vw;
            margin-inline-start: 16.486vw;
    width: 28.108vw;
  }
}
@media screen and (min-width: 1480px) {
  .kv__fee {
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    -webkit-margin-start: 244px;
            margin-inline-start: 244px;
    width: 416px;
  }
}

@media screen and (max-width: 767px) {
  .kv__catch {
    -webkit-margin-before: 4svw;
            margin-block-start: 4svw;
    -webkit-margin-start: 4.8svw;
            margin-inline-start: 4.8svw;
    width: 88.533svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__catch {
    -webkit-margin-before: 2.162vw;
            margin-block-start: 2.162vw;
    -webkit-margin-start: 0.811vw;
            margin-inline-start: 0.811vw;
    width: 54.189vw;
  }
}
@media screen and (min-width: 1480px) {
  .kv__catch {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
    -webkit-margin-start: 12px;
            margin-inline-start: 12px;
    width: 802px;
  }
}

.kv__title {
  background: url(../images/kv_title_bg.png) 0/cover no-repeat;
  color: #ec6d82;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.786;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 767px) {
  .kv__title {
    -webkit-filter: drop-shadow(0.907svw 1.52svw 1.52svw rgba(122, 11, 0, 0.3));
            filter: drop-shadow(0.907svw 1.52svw 1.52svw rgba(122, 11, 0, 0.3));
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    margin-inline: auto;
    -webkit-padding-start: 11.333svw;
            padding-inline-start: 11.333svw;
    width: 46.533svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__title {
    -webkit-filter: drop-shadow(0.459vw 0.77vw 0.77vw rgba(122, 11, 0, 0.3));
            filter: drop-shadow(0.459vw 0.77vw 0.77vw rgba(122, 11, 0, 0.3));
    font-size: 1.892vw;
    -webkit-margin-before: 0.878vw;
            margin-block-start: 0.878vw;
    -webkit-margin-start: 15.405vw;
            margin-inline-start: 15.405vw;
    -webkit-padding-start: 6.081vw;
            padding-inline-start: 6.081vw;
    width: 23.581vw;
  }
}
@media screen and (min-width: 1480px) {
  .kv__title {
    -webkit-filter: drop-shadow(6.8px 11.4px 11.4px rgba(122, 11, 0, 0.3));
            filter: drop-shadow(6.8px 11.4px 11.4px rgba(122, 11, 0, 0.3));
    font-size: 28px;
    -webkit-margin-before: 13px;
            margin-block-start: 13px;
    -webkit-margin-start: 228px;
            margin-inline-start: 228px;
    -webkit-padding-start: 90px;
            padding-inline-start: 90px;
    width: 349px;
  }
}

@media screen and (max-width: 767px) {
  .kv__standard {
    -webkit-margin-before: 3.467svw;
            margin-block-start: 3.467svw;
    margin-inline: auto;
    width: 73.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__standard {
    -webkit-margin-before: 5.743vw;
            margin-block-start: 5.743vw;
    -webkit-margin-start: 4.392vw;
            margin-inline-start: 4.392vw;
    width: 47.432vw;
  }
}
@media screen and (min-width: 1480px) {
  .kv__standard {
    -webkit-margin-before: 85px;
            margin-block-start: 85px;
    -webkit-margin-start: 65px;
            margin-inline-start: 65px;
    width: 702px;
  }
}

.kv__standard-term {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 767px) {
  .kv__standard-term {
    -webkit-filter: drop-shadow(0.947svw 1.585svw 1.585svw rgba(122, 11, 0, 0.3));
            filter: drop-shadow(0.947svw 1.585svw 1.585svw rgba(122, 11, 0, 0.3));
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__standard-term {
    -webkit-filter: drop-shadow(0.48vw 0.803vw 0.803vw rgba(122, 11, 0, 0.3));
            filter: drop-shadow(0.48vw 0.803vw 0.803vw rgba(122, 11, 0, 0.3));
  }
}
@media screen and (min-width: 1480px) {
  .kv__standard-term {
    -webkit-filter: drop-shadow(7.1px 11.89px 11.89px rgba(122, 11, 0, 0.3));
            filter: drop-shadow(7.1px 11.89px 11.89px rgba(122, 11, 0, 0.3));
  }
}

.kv__standard-data {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .kv__standard-data {
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    width: 29.067svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__standard-data {
    -webkit-margin-before: 1.689vw;
            margin-block-start: 1.689vw;
    width: 15.608vw;
  }
}
@media screen and (min-width: 1480px) {
  .kv__standard-data {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    width: 231px;
  }
}

.kv__notes {
  color: #fff;
  letter-spacing: 0.04em;
  position: absolute;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .kv__notes {
    bottom: 6svw;
    font-size: 2.4svw;
    left: 32.667svw;
    line-height: 1.32;
    text-align: left;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .kv__notes {
    font-size: 1.016vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1479px) {
  .kv__notes {
    bottom: 3.716vw;
    right: 15.541vw;
  }
}
@media screen and (min-width: 1280px) {
  .kv__notes {
    font-size: 13px;
  }
}
@media screen and (min-width: 1480px) {
  .kv__notes {
    bottom: 55px;
    right: 110px;
  }
}

@media screen and (max-width: 767px) {
  .point {
    -webkit-margin-before: -1.6svw;
            margin-block-start: -1.6svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point {
    -webkit-margin-before: -0.547vw;
            margin-block-start: -0.547vw;
  }
}
@media screen and (min-width: 1280px) {
  .point {
    -webkit-margin-before: -7px;
            margin-block-start: -7px;
  }
}

@media screen and (max-width: 767px) {
  .point__upper {
    background: url(../images/point_bg_01_sp.png) 0 0/100% auto no-repeat, url(../images/point_bg_02_sp.png) 0 100%/100% auto no-repeat;
    padding-block: 15.2svw 38svw;
  }
}
@media screen and (min-width: 768px) {
  .point__upper {
    background: url(../images/point_bg_pc.png) 50% 0 no-repeat;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point__upper {
    background-size: 156.25vw auto;
    padding-block: 10.703vw 12.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .point__upper {
    padding-block: 137px 160px;
  }
}

.point__en {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .point__en {
    width: 32svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point__en {
    width: 9.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .point__en {
    width: 120px;
  }
}

.point__lead {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .point__lead {
    font-size: 5.6svw;
    -webkit-margin-before: 5.6svw;
            margin-block-start: 5.6svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point__lead {
    font-size: 3.125vw;
    -webkit-margin-before: 1.563vw;
            margin-block-start: 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .point__lead {
    font-size: 40px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.point__title {
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: -0.025em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .point__title {
    font-size: 11.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point__title {
    font-size: 5.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .point__title {
    font-size: 76px;
  }
}
.point__title-l {
  font-weight: 400;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .point__title-l {
    font-size: 19.733svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point__title-l {
    font-size: 10.156vw;
  }
}
@media screen and (min-width: 1280px) {
  .point__title-l {
    font-size: 130px;
  }
}
.point__title-s {
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .point__title-s {
    font-size: 9.067svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point__title-s {
    font-size: 4.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .point__title-s {
    font-size: 60px;
  }
}

.reason {
  display: flex;
}
@media screen and (max-width: 767px) {
  .reason {
    flex-direction: column;
    margin-inline: auto;
    width: 80svw;
  }
}
@media screen and (min-width: 768px) {
  .reason {
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .reason {
    -webkit-margin-before: 7.031vw;
            margin-block-start: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .reason {
    -webkit-margin-before: 90px;
            margin-block-start: 90px;
  }
}

.reason__item {
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .reason__item {
    border-radius: 0.533svw;
    box-shadow: 0 2.453svw 2.453svw rgba(0, 0, 0, 0.05);
    -webkit-margin-before: 14.667svw;
            margin-block-start: 14.667svw;
    min-height: 128.933svw;
    padding-block: 4svw 8.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .reason__item {
    border-radius: 0.625vw;
    box-shadow: 0 1.438vw 1.438vw rgba(0, 0, 0, 0.05);
    padding-block: 3.125vw 3.906vw;
    width: 29.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .reason__item {
    border-radius: 8px;
    box-shadow: 0 18px 18px rgba(0, 0, 0, 0.05);
    padding-block: 40px 50px;
    width: 380px;
  }
}

.reason__num {
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .reason__num {
    top: -4svw;
    width: 13.067svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .reason__num {
    top: -1.563vw;
    width: 5.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .reason__num {
    top: -20px;
    width: 70px;
  }
}

.reason__figure {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .reason__figure {
    width: 62.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .reason__figure {
    width: 23.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .reason__figure {
    width: 300px;
  }
}

.reason__catch {
  color: var(--color-secondary);
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-inline: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .reason__catch {
    font-size: 6.4svw;
    line-height: 1.542;
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    width: 62.667svw;
  }
}
@media screen and (min-width: 768px) {
  .reason__catch {
    line-height: 1.385;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .reason__catch {
    font-size: 2.031vw;
    -webkit-margin-before: 0.781vw;
            margin-block-start: 0.781vw;
    width: 23.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .reason__catch {
    font-size: 26px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    width: 300px;
  }
}

.reason__text {
  color: #3c3c3c;
  letter-spacing: 0.04em;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .reason__text {
    line-height: 1.786;
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    width: 62.667svw;
  }
}
@media screen and (min-width: 768px) {
  .reason__text {
    line-height: 1.875;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .reason__text {
    font-size: 1.25vw;
    -webkit-margin-before: 0.781vw;
            margin-block-start: 0.781vw;
    width: 23.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .reason__text {
    font-size: 16px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .reason__text--wide {
    width: 66.667svw;
  }
}

.feature {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .feature {
    -webkit-margin-before: 16svw;
            margin-block-start: 16svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .feature {
    -webkit-margin-before: 7.031vw;
            margin-block-start: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .feature {
    -webkit-margin-before: 90px;
            margin-block-start: 90px;
  }
}

.feature__lead {
  color: var(--color-secondary);
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  .feature__lead {
    background: url(../images/feature_bracket_sp.png) 50% 50% no-repeat;
    background-size: 82.267svw auto;
    font-size: 4svw;
    line-height: 1.867;
  }
}
@media screen and (min-width: 768px) {
  .feature__lead {
    background: url(../images/feature_bracket_pc.png) 50% 50% no-repeat;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .feature__lead {
    background-size: 48.906vw auto;
    font-size: 1.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .feature__lead {
    font-size: 22px;
  }
}
.feature__lead-em {
  position: relative;
}
.feature__lead-em::before {
  content: "・・・・・";
  height: 1em;
  letter-spacing: 0.66em;
  left: 0.35em;
  line-height: 1;
  position: absolute;
  top: -0.6em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .feature__lead-em::before {
    font-size: 2.533svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .feature__lead-em::before {
    font-size: 1.094vw;
  }
}
@media screen and (min-width: 1280px) {
  .feature__lead-em::before {
    font-size: 14px;
  }
}

.feature__text {
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .feature__text {
    font-size: 4.533svw;
    line-height: 1.824;
    -webkit-margin-before: 4svw;
            margin-block-start: 4svw;
  }
}
@media screen and (min-width: 768px) {
  .feature__text {
    line-height: 1.692;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .feature__text {
    font-size: 2.031vw;
    -webkit-margin-before: 0.781vw;
            margin-block-start: 0.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .feature__text {
    font-size: 26px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}

.feature__wavy {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .feature__wavy {
    background: url(../images/feature_wavy_sp.png) 0 100% repeat-x;
    background-size: 4.8svw auto;
    font-size: 4.667svw;
    -webkit-padding-after: 1.333svw;
            padding-block-end: 1.333svw;
  }
}
@media screen and (min-width: 768px) {
  .feature__wavy {
    background: url(../images/feature_wavy_pc.png) 0 100% repeat-x;
    -webkit-padding-after: 0.25em;
            padding-block-end: 0.25em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .feature__wavy {
    background-size: 2.5vw auto;
    font-size: 2.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .feature__wavy {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .point-sec--point01 {
    background: url(../images/point01_bg_sp.png) 0 0/100% auto no-repeat #fff;
    padding-block: 8.667svw 19.333svw;
  }
}
@media screen and (min-width: 768px) {
  .point-sec--point01 {
    background: url(../images/point01_bg_pc.png) 50% 0 no-repeat #fff;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec--point01 {
    background-size: 156.25vw auto;
    padding-block: 9.922vw 6.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec--point01 {
    padding-block: 127px 82px;
  }
}
@media screen and (max-width: 767px) {
  .point-sec--point02 {
    background: url(../images/point02_bg_sp.png) 0 0/100% auto no-repeat #fff;
    padding-block: 8.667svw 19.333svw;
  }
}
@media screen and (min-width: 768px) {
  .point-sec--point02 {
    background: url(../images/point02_bg_pc.png) 50% 0 no-repeat #fff;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec--point02 {
    background-size: 156.25vw auto;
    padding-block: 10.156vw 1.953vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec--point02 {
    padding-block: 130px 25px;
  }
}
@media screen and (max-width: 767px) {
  .point-sec--point03 {
    background: url(../images/point03_bg_sp.png) 0 0/100% auto no-repeat #fff;
    padding-block: 13.333svw;
  }
}
@media screen and (min-width: 768px) {
  .point-sec--point03 {
    background: url(../images/point03_bg_pc.png) 50% 0 no-repeat #fff;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec--point03 {
    background-size: 156.25vw auto;
    padding-block: 13.125vw 12.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec--point03 {
    padding-block: 168px 156px;
  }
}

.point-sec__header {
  display: flex;
}
@media screen and (max-width: 767px) {
  .point-sec__header {
    -webkit-padding-start: 8.667svw;
            padding-inline-start: 8.667svw;
  }
}
@media screen and (min-width: 768px) {
  .point-sec__header {
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .point-sec__header--point01 {
    gap: 4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec__header--point01 {
    gap: 3.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec__header--point01 {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .point-sec__header--point02 {
    gap: 3.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec__header--point02 {
    gap: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec__header--point02 {
    gap: 35px;
  }
}
@media screen and (max-width: 767px) {
  .point-sec__header--point03 {
    gap: 3.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec__header--point03 {
    gap: 2.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec__header--point03 {
    gap: 28px;
  }
}

.point-sec__num {
  width: auto;
}
@media screen and (max-width: 767px) {
  .point-sec__num {
    height: 12svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec__num {
    height: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec__num {
    height: 90px;
  }
}

.point-sec__title {
  color: var(--color-secondary);
  font-weight: 900;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .point-sec__title {
    font-size: 7.467svw;
    line-height: 1.286;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec__title {
    font-size: 4.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec__title {
    font-size: 56px;
  }
}

.point-sec__text {
  color: var(--color-font-strong);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .point-sec__text {
    line-height: 1.786;
    -webkit-margin-before: 5.333svw;
            margin-block-start: 5.333svw;
  }
}
@media screen and (min-width: 768px) {
  .point-sec__text {
    line-height: 1.7;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .point-sec__text {
    font-size: 1.563vw;
    -webkit-margin-before: 5.859vw;
            margin-block-start: 5.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .point-sec__text {
    font-size: 20px;
    -webkit-margin-before: 75px;
            margin-block-start: 75px;
  }
}

.develop {
  background: #fff;
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .develop {
    border-radius: 5.333svw;
    box-shadow: 1.067svw 1.333svw 1.067svw rgba(188, 0, 14, 0.15);
    width: 85.333svw;
  }
}
@media screen and (min-width: 768px) {
  .develop {
    display: flex;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop {
    border-radius: 1.563vw;
    box-shadow: 0.313vw 0.781vw 0.625vw rgba(188, 0, 14, 0.15);
    width: 76.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop {
    border-radius: 20px;
    box-shadow: 4px 10px 8px rgba(188, 0, 14, 0.15);
    width: 980px;
  }
}
@media screen and (max-width: 767px) {
  .develop--cart {
    -webkit-margin-before: 8.667svw;
            margin-block-start: 8.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop--cart {
    -webkit-margin-before: 2.734vw;
            margin-block-start: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop--cart {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
}
@media screen and (max-width: 767px) {
  .develop--ad {
    -webkit-margin-before: 10.667svw;
            margin-block-start: 10.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop--ad {
    -webkit-margin-before: 1.563vw;
            margin-block-start: 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop--ad {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.develop__figure {
  align-items: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .develop__figure {
    height: 37.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__figure {
    height: 15vw;
    width: 23.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop__figure {
    height: 192px;
    width: 300px;
  }
}

.develop__image {
  display: block;
}
@media screen and (max-width: 767px) {
  .develop__image--cart {
    -webkit-margin-before: 1.067svw;
            margin-block-start: 1.067svw;
    width: 40.533svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__image--cart {
    -webkit-margin-before: 0.625vw;
            margin-block-start: 0.625vw;
    width: 15.703vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop__image--cart {
    -webkit-margin-before: 8px;
            margin-block-start: 8px;
    width: 201px;
  }
}
@media screen and (max-width: 767px) {
  .develop__image--ad {
    -webkit-margin-before: 2.267svw;
            margin-block-start: 2.267svw;
    width: 44svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__image--ad {
    -webkit-margin-before: 0.547vw;
            margin-block-start: 0.547vw;
    width: 16.953vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop__image--ad {
    -webkit-margin-before: 7px;
            margin-block-start: 7px;
    width: 217px;
  }
}

.develop__contents {
  background: #ef4f4f;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .develop__contents {
    border-radius: 0 0 4.8svw 4.8svw;
    -webkit-margin-after: 0.8svw;
            margin-block-end: 0.8svw;
    margin-inline: 0.8svw;
    padding-block: 5.333svw 4.667svw;
  }
}
@media screen and (min-width: 768px) {
  .develop__contents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-block: 3px;
    -webkit-margin-end: 3px;
            margin-inline-end: 3px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__contents {
    border-radius: 0 1.406vw 1.406vw 0;
    -webkit-padding-start: 2.734vw;
            padding-inline-start: 2.734vw;
    width: calc(100% - 23.438vw);
  }
}
@media screen and (min-width: 1280px) {
  .develop__contents {
    border-radius: 0 18px 18px 0;
    -webkit-padding-start: 35px;
            padding-inline-start: 35px;
    width: calc(100% - 300px);
  }
}
.develop__contents::before {
  content: "";
  position: absolute;
}
@media screen and (max-width: 767px) {
  .develop__contents::before {
    background: linear-gradient(to bottom, rgba(229, 44, 71, 0.87) 0%, rgba(229, 44, 71, 0) 100%);
    height: 4.267svw;
    left: -0.8svw;
    top: 0;
    width: calc(100% + 1.6svw);
  }
}
@media screen and (min-width: 768px) {
  .develop__contents::before {
    background: linear-gradient(to right, rgba(229, 44, 71, 0.87) 0%, rgba(229, 44, 71, 0) 100%);
    height: calc(100% + 6px);
    left: 0;
    top: -3px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__contents::before {
    width: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop__contents::before {
    width: 16px;
  }
}

.develop__lead {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .develop__lead {
    font-size: 4.267svw;
    line-height: 1.75;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .develop__lead {
    align-items: center;
    display: flex;
    line-height: 1.545;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__lead {
    font-size: 1.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop__lead {
    font-size: 22px;
  }
}

.develop__text {
  background-position: 0 50%;
  background-repeat: no-repeat;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .develop__text {
    background-image: url(../images/point01_arrow_sp.png);
    background-size: 10.933svw auto;
    font-size: 3.467svw;
    line-height: 1.769;
    -webkit-margin-before: 3.333svw;
            margin-block-start: 3.333svw;
    -webkit-margin-start: 4svw;
            margin-inline-start: 4svw;
    -webkit-padding-start: 13.333svw;
            padding-inline-start: 13.333svw;
    width: 76svw;
  }
}
@media screen and (min-width: 768px) {
  .develop__text {
    background-image: url(../images/point01_arrow_pc.png);
    line-height: 1.75;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .develop__text {
    background-size: 5.313vw auto;
    font-size: 1.25vw;
    -webkit-margin-before: 1.172vw;
            margin-block-start: 1.172vw;
    -webkit-padding-start: 7.031vw;
            padding-inline-start: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .develop__text {
    background-size: 68px auto;
    font-size: 16px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    -webkit-padding-start: 90px;
            padding-inline-start: 90px;
  }
}

@media screen and (max-width: 767px) {
  .cost {
    -webkit-margin-before: 5.333svw;
            margin-block-start: 5.333svw;
  }
}
@media screen and (min-width: 768px) {
  .cost {
    display: flex;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost {
    gap: 3.125vw;
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
    -webkit-margin-start: 9.375vw;
            margin-inline-start: 9.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost {
    gap: 40px;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    -webkit-margin-start: 120px;
            margin-inline-start: 120px;
  }
}

@media screen and (max-width: 767px) {
  .cost-usual {
    margin-inline: auto;
    width: 82.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-usual {
    width: 44.922vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-usual {
    width: 575px;
  }
}

.cost-table {
  border-collapse: separate;
  border-spacing: 2px;
  width: 100%;
}

.cost-table__header-cell,
.cost-table__row-header,
.cost-table__cell {
  letter-spacing: 0.04em;
  text-align: center;
  width: 50%;
}

.cost-table__header-cell {
  background: #ef4f4f;
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .cost-table__header-cell {
    box-shadow: 0.733svw 1.84svw 1.467svw rgba(188, 0, 14, 0.15);
    font-size: 4svw;
    line-height: 2.133;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__header-cell {
    line-height: 2.222;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__header-cell {
    box-shadow: 0.43vw 1.078vw 0.859vw rgba(188, 0, 14, 0.15);
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__header-cell {
    box-shadow: 5.5px 13.8px 11px rgba(188, 0, 14, 0.15);
  }
}
@media screen and (max-width: 767px) {
  .cost-table__header-cell--items {
    border-top-left-radius: 1.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__header-cell--items {
    border-top-left-radius: 0.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__header-cell--items {
    border-top-left-radius: 11px;
  }
}
@media screen and (max-width: 767px) {
  .cost-table__header-cell--price {
    border-top-right-radius: 1.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__header-cell--price {
    border-top-right-radius: 0.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__header-cell--price {
    border-top-right-radius: 11px;
  }
}

.cost-table__row-header {
  background: #fbd5d5;
  color: #333;
}
@media screen and (max-width: 767px) {
  .cost-table__row-header {
    box-shadow: 0.733svw 1.84svw 1.467svw rgba(188, 0, 14, 0.05);
    line-height: 2.286;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__row-header {
    line-height: 2.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__row-header {
    box-shadow: 0.43vw 1.078vw 0.859vw rgba(188, 0, 14, 0.05);
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__row-header {
    box-shadow: 5.5px 13.8px 11px rgba(188, 0, 14, 0.05);
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .cost-table__row-header--last {
    border-bottom-left-radius: 1.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__row-header--last {
    border-bottom-left-radius: 0.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__row-header--last {
    border-bottom-left-radius: 11px;
  }
}

.cost-table__cell {
  background: #fff;
  color: var(--color-secondary);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .cost-table__cell {
    box-shadow: 0.76svw 1.067svw 1.067svw rgba(188, 0, 14, 0.1);
    font-size: 4svw;
    line-height: 2.133;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__cell {
    line-height: 2.222;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__cell {
    box-shadow: 0.445vw 0.625vw 0.625vw rgba(188, 0, 14, 0.1);
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__cell {
    box-shadow: 5.7px 8px 8px rgba(188, 0, 14, 0.1);
  }
}
@media screen and (max-width: 767px) {
  .cost-table__cell--last {
    border-bottom-right-radius: 1.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-table__cell--last {
    border-bottom-right-radius: 0.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-table__cell--last {
    border-bottom-right-radius: 11px;
  }
}

.cost__other {
  color: var(--color-secondary);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .cost__other {
    font-size: 3.467svw;
    -webkit-margin-before: 2.4svw;
            margin-block-start: 2.4svw;
    -webkit-margin-end: 2.133svw;
            margin-inline-end: 2.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost__other {
    font-size: 1.484vw;
    -webkit-margin-before: 0.781vw;
            margin-block-start: 0.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost__other {
    font-size: 19px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}
.cost__other::before {
  background: url(../images/point02_icon_plus.svg) no-repeat 0/contain #fff;
  border-radius: 50%;
  content: "";
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .cost__other::before {
    box-shadow: 0.741svw 1.852svw 1.467svw rgba(188, 0, 14, 0.1);
    height: 6.133svw;
    -webkit-margin-end: 1.333svw;
            margin-inline-end: 1.333svw;
    width: 6.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost__other::before {
    box-shadow: 0.219vw 0.547vw 0.445vw rgba(188, 0, 14, 0.15);
    height: 2vw;
    -webkit-margin-end: 0.391vw;
            margin-inline-end: 0.391vw;
    width: 2vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost__other::before {
    box-shadow: 2.8px 7px 5.7px rgba(188, 0, 14, 0.15);
    height: 25.6px;
    -webkit-margin-end: 5px;
            margin-inline-end: 5px;
    width: 25.6px;
  }
}

.cost-zero {
  position: relative;
}
@media screen and (max-width: 767px) {
  .cost-zero {
    background: url(../images/point02_arrow_sp.png) 50% 0 no-repeat;
    background-size: 17.867svw auto;
    -webkit-margin-before: -1.6svw;
            margin-block-start: -1.6svw;
    -webkit-padding-before: 16svw;
            padding-block-start: 16svw;
  }
}
@media screen and (min-width: 768px) {
  .cost-zero {
    background: url(../images/point02_arrow_pc.png) 0 50% no-repeat;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-zero {
    background-size: 6.875vw auto;
    -webkit-padding-before: 2.734vw;
            padding-block-start: 2.734vw;
    -webkit-padding-start: 7.813vw;
            padding-inline-start: 7.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-zero {
    background-size: 88px auto;
    -webkit-padding-before: 35px;
            padding-block-start: 35px;
    -webkit-padding-start: 100px;
            padding-inline-start: 100px;
  }
}

.cost-wow {
  align-items: center;
  background: #f16878;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .cost-wow {
    height: 22.4svw;
    right: 15.6svw;
    top: 11.733svw;
    width: 22.4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-wow {
    height: 9.42vw;
    left: 17.344vw;
    top: -1.406vw;
    width: 9.42vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-wow {
    height: 120.57px;
    left: 222px;
    top: -18px;
    width: 120.57px;
  }
}
.cost-wow::after {
  background: #f16878;
  clip-path: polygon(42% 0, 0% 100%, 100% 20%);
  content: "";
  display: block;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .cost-wow::after {
    bottom: 1.867svw;
    height: 4.4svw;
    left: 0.8svw;
    width: 6svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-wow::after {
    bottom: 0.391vw;
    height: 1.953vw;
    left: 0.859vw;
    width: 2.578vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-wow::after {
    bottom: 5px;
    height: 25px;
    left: 11px;
    width: 33px;
  }
}

.cost-wow__text {
  color: #fff;
  font-weight: 700;
  text-indent: 0.25em;
}
@media screen and (max-width: 767px) {
  .cost-wow__text {
    font-size: 4.533svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-wow__text {
    font-size: 1.953vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-wow__text {
    font-size: 25px;
  }
}

.cost-zero__text {
  color: var(--color-secondary);
  font-weight: 900;
}
@media screen and (max-width: 767px) {
  .cost-zero__text {
    font-size: 13.333svw;
    text-align: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-zero__text {
    font-size: 4.844vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-zero__text {
    font-size: 62px;
  }
}
.cost-zero__text-num {
  font-weight: 500;
  vertical-align: text-bottom;
}
@media screen and (max-width: 767px) {
  .cost-zero__text-num {
    font-size: 37.067svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .cost-zero__text-num {
    font-size: 13.75vw;
  }
}
@media screen and (min-width: 1280px) {
  .cost-zero__text-num {
    font-size: 176px;
  }
}

@media screen and (max-width: 767px) {
  .function {
    -webkit-margin-before: 5.333svw;
            margin-block-start: 5.333svw;
  }
}
@media screen and (min-width: 768px) {
  .function {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function {
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
    -webkit-margin-start: 12.344vw;
            margin-inline-start: 12.344vw;
    width: 68.281vw;
  }
}
@media screen and (min-width: 1280px) {
  .function {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    -webkit-margin-start: 158px;
            margin-inline-start: 158px;
    width: 874px;
  }
}

@media screen and (max-width: 767px) {
  .function__image {
    -webkit-margin-start: 25.867svw;
            margin-inline-start: 25.867svw;
    width: 44svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__image {
    width: 15vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__image {
    width: 192px;
  }
}

@media screen and (max-width: 767px) {
  .function__contents {
    background: url(../images/function_bg_sp.png) 0/contain no-repeat;
    height: 56.533svw;
    margin-inline: auto;
    -webkit-padding-before: 9.333svw;
            padding-block-start: 9.333svw;
    width: 84.267svw;
  }
}
@media screen and (min-width: 768px) {
  .function__contents {
    background: url(../images/function_bg_pc.png) 0/contain no-repeat;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__contents {
    gap: 1.172vw;
    height: 12.969vw;
    -webkit-padding-start: 5.859vw;
            padding-inline-start: 5.859vw;
    width: 52.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__contents {
    gap: 15px;
    height: 166px;
    -webkit-padding-start: 75px;
            padding-inline-start: 75px;
    width: 678px;
  }
}

.function__lead {
  color: var(--color-tertiary);
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .function__lead {
    font-size: 3.867svw;
    line-height: 1.655;
    margin-inline: 6svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__lead {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__lead {
    font-size: 16px;
  }
}

.function__list {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .function__list {
    gap: 0.667svw;
    -webkit-margin-before: 2.667svw;
            margin-block-start: 2.667svw;
    -webkit-margin-start: 4.667svw;
            margin-inline-start: 4.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__list {
    gap: 0.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__list {
    gap: 4px;
  }
}

.function__item {
  background: #f58e8e;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .function__item {
    font-size: 3.467svw;
    line-height: 1.692;
    -webkit-padding-start: 3.333svw;
            padding-inline-start: 3.333svw;
  }
}
@media screen and (min-width: 768px) {
  .function__item {
    line-height: 2.071;
    text-align: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item {
    font-size: 1.094vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--01 {
    width: 20svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--01 {
    width: 7.578vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--01 {
    width: 97px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--02 {
    width: 20svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--02 {
    width: 7.656vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--02 {
    width: 98px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--03 {
    width: 34.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--03 {
    width: 11.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--03 {
    width: 150px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--04 {
    width: 44.8svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--04 {
    width: 15.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--04 {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--05 {
    width: 23.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--05 {
    width: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--05 {
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--06 {
    width: 23.467svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--06 {
    width: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--06 {
    width: 90px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--07 {
    width: 52svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--07 {
    width: 16.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--07 {
    width: 210px;
  }
}
@media screen and (max-width: 767px) {
  .function__item--08 {
    width: 37.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__item--08 {
    width: 12.109vw;
  }
}
@media screen and (min-width: 1280px) {
  .function__item--08 {
    width: 155px;
  }
}

.function__notes {
  color: #808080;
  letter-spacing: 0.04em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .function__notes {
    font-size: 2.4svw;
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    margin-inline: auto;
    width: 85.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .function__notes {
    font-size: 1.016vw;
    -webkit-margin-before: 1.172vw;
            margin-block-start: 1.172vw;
    width: 100%;
  }
}
@media screen and (min-width: 1280px) {
  .function__notes {
    font-size: 13px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .system--pgs {
    -webkit-margin-before: 8svw;
            margin-block-start: 8svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system--pgs {
    -webkit-margin-before: 7.031vw;
            margin-block-start: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .system--pgs {
    -webkit-margin-before: 90px;
            margin-block-start: 90px;
  }
}
@media screen and (max-width: 767px) {
  .system--sgs {
    -webkit-margin-before: 18.667svw;
            margin-block-start: 18.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system--sgs {
    -webkit-margin-before: 8.984vw;
            margin-block-start: 8.984vw;
  }
}
@media screen and (min-width: 1280px) {
  .system--sgs {
    -webkit-margin-before: 115px;
            margin-block-start: 115px;
  }
}

.system__header {
  align-items: center;
  border: solid #f16878;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .system__header {
    border-width: 0.533svw 0;
    height: 16.267svw;
    width: 82.667svw;
  }
}
@media screen and (min-width: 768px) {
  .system__header {
    border-width: 2px 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__header {
    height: 7.813vw;
    width: 57.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__header {
    height: 100px;
    width: 740px;
  }
}
.system__header::before {
  background: 0/contain no-repeat;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .system__header::before {
    height: 3.2svw;
    width: 21.067svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__header::before {
    height: 1.25vw;
    width: 9.063vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__header::before {
    height: 16px;
    width: 116px;
  }
}
@media screen and (max-width: 767px) {
  .system__header--pgs::before {
    background-image: url(../images/pgs_lead_sp.png);
  }
}
@media screen and (min-width: 768px) {
  .system__header--pgs::before {
    background-image: url(../images/pgs_lead_pc.png);
  }
}
@media screen and (max-width: 767px) {
  .system__header--sgs::before {
    background-image: url(../images/sgs_lead_sp.png);
  }
}
@media screen and (min-width: 768px) {
  .system__header--sgs::before {
    background-image: url(../images/sgs_lead_pc.png);
  }
}

.system__title {
  align-items: center;
  display: flex;
  font-weight: 900;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .system__title {
    font-size: 6.8svw;
    gap: 2.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__title {
    font-size: 3.359vw;
    gap: 1.953vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__title {
    font-size: 43px;
    gap: 25px;
  }
}

.system__title-name {
  letter-spacing: 0;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .system__title-name {
    font-size: 10.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__title-name {
    font-size: 5.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__title-name {
    font-size: 68px;
  }
}
.system__title-name--pgs {
  color: #f44e4f;
}
.system__title-name--sgs {
  color: #f33a3b;
}

.system__body {
  position: relative;
}
@media screen and (max-width: 767px) {
  .system__body {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    -webkit-margin-before: 7.333svw;
            margin-block-start: 7.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__body {
    -webkit-margin-start: 8.984vw;
            margin-inline-start: 8.984vw;
    width: 76.172vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__body {
    -webkit-margin-start: 115px;
            margin-inline-start: 115px;
    width: 975px;
  }
}
@media screen and (min-width: 768px) {
  .system__body::after {
    clear: both;
    content: "";
    display: block;
  }
}

.system__caps {
  position: relative;
}
@media screen and (max-width: 767px) {
  .system__caps {
    height: 58.533svw;
    -webkit-margin-start: 11.6svw;
            margin-inline-start: 11.6svw;
    width: 28.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__caps {
    height: 35.781vw;
    -webkit-margin-before: 1.172vw;
            margin-block-start: 1.172vw;
    width: 17.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__caps {
    height: 458px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 220px;
  }
}
.system__caps::before {
  background: url(../images/system_caps_shadow.png) 50% 50%/contain no-repeat;
  content: "";
  display: block;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .system__caps::before {
    bottom: -11.333svw;
    height: 64.267svw;
    right: -11.333svw;
    width: 41svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__caps::before {
    bottom: -6.641vw;
    height: 38.828vw;
    right: -6.641vw;
    width: 24.766vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__caps::before {
    bottom: -85px;
    height: 497px;
    right: -85px;
    width: 317px;
  }
}
.system__caps::after {
  background: url(../images/system_caps_frame.png) 50% 50%/contain no-repeat;
  content: "";
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .system__caps--pgs {
    float: left;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__caps--pgs {
    -webkit-margin-before: -0.781vw;
            margin-block-start: -0.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__caps--pgs {
    -webkit-margin-before: -10px;
            margin-block-start: -10px;
  }
}
@media screen and (min-width: 768px) {
  .system__caps--sgs {
    float: right;
  }
}

.system__video {
  height: auto !important;
  overflow: hidden;
  position: absolute;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .system__video {
    border-radius: 4svw;
    left: 0.933svw;
    top: 0.933svw;
    width: 26.4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__video {
    border-radius: 2.344vw;
    left: 0.547vw;
    top: 0.547vw;
    width: 16.094vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__video {
    border-radius: 30px;
    left: 7px;
    top: 7px;
    width: 206px;
  }
}

.system__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .system__text {
    line-height: 1.786;
    -webkit-margin-before: 2.667svw;
            margin-block-start: 2.667svw;
    -webkit-margin-start: 6svw;
            margin-inline-start: 6svw;
    width: 43.467svw;
  }
}
@media screen and (min-width: 768px) {
  .system__text {
    line-height: 1.556;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__text {
    -webkit-margin-before: 4.297vw;
            margin-block-start: 4.297vw;
    width: 44.141vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__text {
    -webkit-margin-before: 55px;
            margin-block-start: 55px;
    width: 565px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__text--pgs {
    -webkit-margin-start: 23.438vw;
            margin-inline-start: 23.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__text--pgs {
    -webkit-margin-start: 300px;
            margin-inline-start: 300px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system__text--sgs {
    -webkit-margin-start: 8.594vw;
            margin-inline-start: 8.594vw;
  }
}
@media screen and (min-width: 1280px) {
  .system__text--sgs {
    -webkit-margin-start: 110px;
            margin-inline-start: 110px;
  }
}

.system-list {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .system-list {
    gap: 2.133svw;
    margin-inline: auto;
    width: 84svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list {
    gap: 0.781vw;
    width: 39.063vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list {
    gap: 10px;
    width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .system-list--pgs {
    -webkit-margin-before: 8.667svw;
            margin-block-start: 8.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list--pgs {
    -webkit-margin-before: 3.516vw;
            margin-block-start: 3.516vw;
    -webkit-margin-start: 22.656vw;
            margin-inline-start: 22.656vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list--pgs {
    -webkit-margin-before: 45px;
            margin-block-start: 45px;
    -webkit-margin-start: 290px;
            margin-inline-start: 290px;
  }
}
@media screen and (max-width: 767px) {
  .system-list--sgs {
    -webkit-margin-before: 8svw;
            margin-block-start: 8svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list--sgs {
    -webkit-margin-before: 2.734vw;
            margin-block-start: 2.734vw;
    -webkit-margin-start: 8.203vw;
            margin-inline-start: 8.203vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list--sgs {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    -webkit-margin-start: 105px;
            margin-inline-start: 105px;
  }
}

.system-list__item {
  background: #fff;
  display: flex;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .system-list__item {
    border-radius: 2.133svw;
    box-shadow: 1.067svw 1.333svw 2.133svw rgba(188, 0, 14, 0.1);
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list__item {
    border-radius: 0.625vw;
    box-shadow: 0.313vw 0.781vw 0.625vw rgba(188, 0, 14, 0.1);
  }
}
@media screen and (min-width: 1280px) {
  .system-list__item {
    border-radius: 8px;
    box-shadow: 4px 10px 8px rgba(188, 0, 14, 0.1);
  }
}

.system-list__icon {
  align-items: center;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .system-list__icon {
    height: 18.4svw;
    width: 18.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list__icon {
    height: 8.594vw;
    width: 9.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list__icon {
    height: 110px;
    width: 120px;
  }
}

@media screen and (max-width: 767px) {
  .system-list__icon-image {
    width: 12svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list__icon-image {
    width: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list__icon-image {
    width: 90px;
  }
}

.system-list__body {
  background: #ef4f4f;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .system-list__body {
    border-radius: 0 2.133svw 2.133svw 0;
    margin-block: 0.533svw;
    -webkit-margin-end: 0.533svw;
            margin-inline-end: 0.533svw;
    -webkit-padding-start: 3.333svw;
            padding-inline-start: 3.333svw;
    width: calc(100% - 10.781vw);
  }
}
@media screen and (min-width: 768px) {
  .system-list__body {
    margin-block: 3px;
    -webkit-margin-end: 3px;
            margin-inline-end: 3px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list__body {
    border-radius: 0 0.625vw 0.625vw 0;
    -webkit-padding-start: 2.734vw;
            padding-inline-start: 2.734vw;
    width: calc(100% - 9.375vw);
  }
}
@media screen and (min-width: 1280px) {
  .system-list__body {
    border-radius: 0 8px 8px 0;
    -webkit-padding-start: 35px;
            padding-inline-start: 35px;
    width: calc(100% - 120px);
  }
}
.system-list__body::before {
  background: linear-gradient(to right, rgba(229, 44, 71, 0.87) 0%, rgba(229, 44, 71, 0) 100%);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 767px) {
  .system-list__body::before {
    width: 2.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list__body::before {
    width: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list__body::before {
    width: 16px;
  }
}

.system-list__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .system-list__text {
    font-size: 3.467svw;
    line-height: 1.692;
  }
}
@media screen and (min-width: 768px) {
  .system-list__text {
    line-height: 1.667;
  }
}
@media screen and (max-width: 767px) {
  .system-list__text-l {
    font-size: 3.6svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .system-list__text-l {
    font-size: 1.484vw;
  }
}
@media screen and (min-width: 1280px) {
  .system-list__text-l {
    font-size: 19px;
  }
}

@media screen and (max-width: 767px) {
  .pgs-image {
    -webkit-margin-start: 25.333svw;
            margin-inline-start: 25.333svw;
    width: 20svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .pgs-image {
    bottom: 1.172vw;
    position: absolute;
    right: -1.172vw;
    width: 11.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .pgs-image {
    bottom: 15px;
    position: absolute;
    right: -15px;
    width: 150px;
  }
}

@media screen and (max-width: 767px) {
  .sgs-figure {
    -webkit-margin-before: 6.4svw;
            margin-block-start: 6.4svw;
    -webkit-margin-start: 15.2svw;
            margin-inline-start: 15.2svw;
    width: 79.2svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-figure {
    -webkit-margin-before: 2.656vw;
            margin-block-start: 2.656vw;
    -webkit-margin-start: 6.641vw;
            margin-inline-start: 6.641vw;
    width: 46.875vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-figure {
    -webkit-margin-before: 34px;
            margin-block-start: 34px;
    -webkit-margin-start: 85px;
            margin-inline-start: 85px;
    width: 600px;
  }
}

@media screen and (max-width: 767px) {
  .sgs-image {
    -webkit-margin-before: -7.333svw;
            margin-block-start: -7.333svw;
    -webkit-margin-start: 10svw;
            margin-inline-start: 10svw;
    width: 15.867svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-image {
    bottom: 3.125vw;
    left: -4.688vw;
    position: absolute;
    width: 9.297vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-image {
    bottom: 40px;
    left: -60px;
    position: absolute;
    width: 119px;
  }
}

.record {
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .record {
    padding-block: 17.067svw 8svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record {
    padding-block: 6.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .record {
    padding-block: 85px;
  }
}
.record::before {
  background: linear-gradient(90deg, rgb(236, 109, 130) 17%, rgb(206, 18, 27) 100%);
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.3);
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.record-award {
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .record-award {
    -webkit-padding-after: 1.333svw;
            padding-block-end: 1.333svw;
    width: 86.4svw;
  }
}
@media screen and (min-width: 768px) {
  .record-award {
    align-items: center;
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award {
    gap: 2.734vw;
    width: 74.609vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award {
    gap: 35px;
    width: 955px;
  }
}
.record-award::before, .record-award::after {
  background: url(../images/record_deco@2x.png) 0/contain no-repeat;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .record-award::before, .record-award::after {
    height: 37.067svw;
    width: 12.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award::before, .record-award::after {
    height: 11.484vw;
    width: 3.75vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award::before, .record-award::after {
    height: 147px;
    width: 48px;
  }
}
.record-award::before {
  left: 0;
}
.record-award::after {
  right: 0;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.record-award__upper {
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award__upper {
    -webkit-padding-before: 2.734vw;
            padding-block-start: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award__upper {
    -webkit-padding-before: 35px;
            padding-block-start: 35px;
  }
}

.record-award__title {
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .record-award__title {
    font-size: 6.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award__title {
    font-size: 3.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award__title {
    font-size: 44px;
  }
}

.record-award__site {
  background: linear-gradient(90deg, rgb(237, 126, 85) 0%, rgb(229, 0, 18) 50%, rgb(206, 18, 27) 100%);
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .record-award__site {
    border-radius: 2.933svw;
    font-size: 3.467svw;
    line-height: 1.692;
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    width: 52.8svw;
  }
}
@media screen and (min-width: 768px) {
  .record-award__site {
    line-height: 1.667;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award__site {
    border-radius: 1.563vw;
    font-size: 1.875vw;
    -webkit-margin-before: 1.172vw;
            margin-block-start: 1.172vw;
    width: 28.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award__site {
    border-radius: 20px;
    font-size: 24px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 360px;
  }
}

.record-award__under {
  color: var(--color-primary);
  position: relative;
}

.record-award__company {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .record-award__company {
    font-size: 15.467svw;
    text-align: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award__company {
    font-size: 6.875vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award__company {
    font-size: 88px;
  }
}
.record-award__company-num {
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  vertical-align: text-bottom;
}
@media screen and (max-width: 767px) {
  .record-award__company-num {
    font-size: 27.733svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award__company-num {
    font-size: 14.063vw;
  }
}
@media screen and (min-width: 1280px) {
  .record-award__company-num {
    font-size: 180px;
  }
}

.record-award__notes {
  letter-spacing: 0.06em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .record-award__notes {
    bottom: -2.667svw;
    font-size: 2.667svw;
    position: absolute;
    right: 14svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record-award__notes {
    font-size: 0.938vw;
    -webkit-margin-before: -1em;
            margin-block-start: -1em;
  }
}
@media screen and (min-width: 1280px) {
  .record-award__notes {
    font-size: 12px;
    -webkit-margin-before: -1em;
            margin-block-start: -1em;
  }
}

.record__text {
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .record__text {
    font-size: 4.8svw;
    line-height: 1.556;
    -webkit-margin-before: 4.667svw;
            margin-block-start: 4.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .record__text {
    font-size: 2.656vw;
    -webkit-margin-before: 3.906vw;
            margin-block-start: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .record__text {
    font-size: 34px;
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.patterns {
  overflow-x: hidden;
  white-space: nowrap;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .patterns {
    -webkit-margin-before: 6.667svw;
            margin-block-start: 6.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .patterns {
    -webkit-margin-before: 5.078vw;
            margin-block-start: 5.078vw;
  }
}
@media screen and (min-width: 1280px) {
  .patterns {
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
  }
}

@-webkit-keyframes scrooll-left {
  0% {
    translate: 0%;
  }
  100% {
    translate: -100%;
  }
}

@keyframes scrooll-left {
  0% {
    translate: 0%;
  }
  100% {
    translate: -100%;
  }
}
@-webkit-keyframes scrooll-right {
  0% {
    translate: -100%;
  }
  100% {
    translate: 0%;
  }
}
@keyframes scrooll-right {
  0% {
    translate: -100%;
  }
  100% {
    translate: 0%;
  }
}
.patterns__list {
  display: flex;
  width: -webkit-max-content;
  width: max-content;
}
@media screen and (max-width: 767px) {
  .patterns__list--middle {
    -webkit-margin-before: 4svw;
            margin-block-start: 4svw;
  }
}
@media screen and (max-width: 767px) {
  .patterns__list--bottom {
    -webkit-margin-before: 4svw;
            margin-block-start: 4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .patterns__list--bottom {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .patterns__list--bottom {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}

.patterns__items {
  display: flex;
}
@media screen and (max-width: 767px) {
  .patterns__items {
    height: 9.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .patterns__items {
    height: 6.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .patterns__items {
    height: 82px;
  }
}
.patterns__items img {
  height: 100%;
  max-width: inherit !important;
}

@media screen and (max-width: 767px) {
  .record.is-loaded .patterns__items--top {
    -webkit-animation: scrooll-left linear 20s infinite both;
            animation: scrooll-left linear 20s infinite both;
  }
}
@media screen and (min-width: 768px) {
  .record.is-loaded .patterns__items--top {
    -webkit-animation: scrooll-left linear 40s infinite both;
            animation: scrooll-left linear 40s infinite both;
  }
}
@media screen and (max-width: 767px) {
  .record.is-loaded .patterns__items--middle {
    -webkit-animation: scrooll-right linear 20s infinite both;
            animation: scrooll-right linear 20s infinite both;
  }
}
@media screen and (max-width: 767px) {
  .record.is-loaded .patterns__items--bottom {
    -webkit-animation: scrooll-left linear 20s infinite both;
            animation: scrooll-left linear 20s infinite both;
  }
}
@media screen and (min-width: 768px) {
  .record.is-loaded .patterns__items--bottom {
    -webkit-animation: scrooll-right linear 40s infinite both;
            animation: scrooll-right linear 40s infinite both;
  }
}

@media screen and (max-width: 767px) {
  .case {
    background: url(../images/case_bg_01_sp.png) 0 0/100% auto no-repeat, url(../images/case_bg_02_sp.png) 0 100%/100% auto no-repeat #f0f3f5;
    padding-block: 25.333svw 46svw;
  }
}
@media screen and (min-width: 768px) {
  .case {
    background: url(../images/case_bg_01_pc.png) 50% 0 no-repeat, url(../images/case_bg_02_pc.png) 50% 100% no-repeat #f0f3f5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case {
    background-size: 156.25vw auto;
    padding-block: 16.016vw 23.828vw;
  }
}
@media screen and (min-width: 1280px) {
  .case {
    padding-block: 205px 305px;
  }
}

.case__lead {
  background: var(--color-tertiary);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-inline: auto;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .case__lead {
    border-radius: 3.667svw;
    font-size: 4svw;
    line-height: 1.833;
    width: 63.333svw;
  }
}
@media screen and (min-width: 768px) {
  .case__lead {
    line-height: 1.833;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__lead {
    border-radius: 1.719vw;
    font-size: 1.875vw;
    width: 29.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__lead {
    border-radius: 22px;
    font-size: 24px;
    width: 380px;
  }
}
.case__lead::after {
  background: var(--color-tertiary);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  translate: -50% 0;
}
@media screen and (max-width: 767px) {
  .case__lead::after {
    bottom: -2svw;
    height: 2.667svw;
    width: 5.867svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__lead::after {
    bottom: -0.938vw;
    height: 1.25vw;
    width: 2.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__lead::after {
    bottom: -12px;
    height: 16px;
    width: 32px;
  }
}

.case__title {
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.103;
  margin-inline: auto;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .case__title {
    font-size: 7.733svw;
    -webkit-margin-before: 5.067svw;
            margin-block-start: 5.067svw;
    -webkit-padding-after: 0.8svw;
            padding-block-end: 0.8svw;
    width: 85.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__title {
    font-size: 4.531vw;
    -webkit-margin-before: 2.734vw;
            margin-block-start: 2.734vw;
    -webkit-padding-after: 0.469vw;
            padding-block-end: 0.469vw;
    width: 50vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__title {
    font-size: 58px;
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    -webkit-padding-after: 6px;
            padding-block-end: 6px;
    width: 640px;
  }
}
.case__title::before, .case__title::after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
}
@media screen and (max-width: 767px) {
  .case__title::before, .case__title::after {
    border: 2px solid #c9cace;
    width: 2.133svw;
  }
}
@media screen and (min-width: 768px) {
  .case__title::before, .case__title::after {
    border: 4px solid #c9cace;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__title::before, .case__title::after {
    width: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__title::before, .case__title::after {
    width: 16px;
  }
}
.case__title::before {
  border-right: 0;
  left: 0;
}
.case__title::after {
  border-left: 0;
  right: 0;
}

.case__block {
  background: #fff;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .case__block {
    box-shadow: 1.467svw 2.347svw 2.347svw rgba(188, 0, 14, 0.1);
    -webkit-padding-before: 4.8svw;
            padding-block-start: 4.8svw;
    width: 89.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__block {
    box-shadow: 0.781vw 1.25vw 1.25vw rgba(188, 0, 14, 0.1);
    -webkit-padding-before: 3.281vw;
            padding-block-start: 3.281vw;
    width: 90.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__block {
    box-shadow: 10px 16px 16px rgba(188, 0, 14, 0.1);
    -webkit-padding-before: 42px;
            padding-block-start: 42px;
    width: 1160px;
  }
}
@media screen and (max-width: 767px) {
  .case__block--pgs {
    -webkit-margin-before: 7.333svw;
            margin-block-start: 7.333svw;
    -webkit-padding-after: 4svw;
            padding-block-end: 4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__block--pgs {
    -webkit-margin-before: 5.078vw;
            margin-block-start: 5.078vw;
    -webkit-padding-after: 1.563vw;
            padding-block-end: 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__block--pgs {
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
    -webkit-padding-before: 20px;
            padding-block-start: 20px;
  }
}
@media screen and (max-width: 767px) {
  .case__block--sgs {
    -webkit-margin-before: 13.333svw;
            margin-block-start: 13.333svw;
    -webkit-padding-after: 10.667svw;
            padding-block-end: 10.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__block--sgs {
    -webkit-margin-before: 6.641vw;
            margin-block-start: 6.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__block--sgs {
    -webkit-margin-before: 85px;
            margin-block-start: 85px;
  }
}

.case__data {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .case__data {
    width: 82.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__data {
    width: 82.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__data {
    width: 1060px;
  }
}

@media screen and (min-width: 768px) {
  .case__inner {
    display: grid;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__inner {
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
    -webkit-margin-start: 4.688vw;
            margin-inline-start: 4.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__inner {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    -webkit-margin-start: 60px;
            margin-inline-start: 60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__inner--pgs {
    gap: 3.125vw;
    grid-template-columns: 33.125vw 45.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__inner--pgs {
    gap: 40px;
    grid-template-columns: 424px 580px;
  }
}
@media screen and (min-width: 768px) {
  .case__inner--sgs {
    grid-template-areas: "contents figure" "popup figure";
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__inner--sgs {
    gap: 3.906vw 2.734vw;
    -webkit-padding-after: 5.078vw;
            padding-block-end: 5.078vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__inner--sgs {
    gap: 50px 35px;
    -webkit-padding-after: 65px;
            padding-block-end: 65px;
  }
}

@media screen and (max-width: 767px) {
  .case__contents {
    -webkit-margin-before: 10svw;
            margin-block-start: 10svw;
  }
}
@media screen and (min-width: 768px) {
  .case__contents--sgs {
    grid-area: contents;
  }
}

.corp {
  align-items: flex-start;
  display: flex;
}
@media screen and (max-width: 767px) {
  .corp {
    gap: 4svw;
    -webkit-margin-start: 7.333svw;
            margin-inline-start: 7.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp {
    gap: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp {
    gap: 35px;
  }
}

@media screen and (max-width: 767px) {
  .corp__logo {
    box-shadow: 2svw 3.2svw 3.2svw rgba(188, 0, 14, 0.1);
    width: 32svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp__logo {
    box-shadow: 0.781vw 1.25vw 1.25vw rgba(188, 0, 14, 0.1);
    width: 12.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp__logo {
    box-shadow: 10px 16px 16px rgba(188, 0, 14, 0.1);
    width: 160px;
  }
}

@media screen and (max-width: 767px) {
  .corp-spec {
    width: 40.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp-spec {
    width: 14.531vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp-spec {
    width: 186px;
  }
}

.corp-spec__term {
  color: #787a7a;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .corp-spec__term {
    border-bottom: 1px solid #e6eaee;
    font-size: 3.2svw;
    -webkit-margin-before: 2svw;
            margin-block-start: 2svw;
    -webkit-padding-after: 1.333svw;
            padding-block-end: 1.333svw;
    -webkit-padding-start: 2.667svw;
            padding-inline-start: 2.667svw;
    width: 34.667svw;
  }
}
@media screen and (min-width: 768px) {
  .corp-spec__term {
    border-bottom: 2px solid #e6eaee;
    -webkit-padding-after: 0.5em;
            padding-block-end: 0.5em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp-spec__term {
    font-size: 1.25vw;
    -webkit-margin-before: 0.781vw;
            margin-block-start: 0.781vw;
    -webkit-padding-start: 0.938vw;
            padding-inline-start: 0.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp-spec__term {
    font-size: 16px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
    -webkit-padding-start: 12px;
            padding-inline-start: 12px;
  }
}

.corp-spec__detail {
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .corp-spec__detail {
    font-size: 4svw;
    line-height: 1.6;
    -webkit-margin-before: 0.667svw;
            margin-block-start: 0.667svw;
    -webkit-padding-start: 2.667svw;
            padding-inline-start: 2.667svw;
  }
}
@media screen and (min-width: 768px) {
  .corp-spec__detail {
    line-height: 1.333;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp-spec__detail {
    font-size: 1.563vw;
    -webkit-margin-before: 0.391vw;
            margin-block-start: 0.391vw;
    -webkit-padding-start: 0.938vw;
            padding-inline-start: 0.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp-spec__detail {
    font-size: 20px;
    -webkit-margin-before: 5px;
            margin-block-start: 5px;
    -webkit-padding-start: 12px;
            padding-inline-start: 12px;
  }
}
@media screen and (max-width: 767px) {
  .corp-spec__detail + .corp-spec__term {
    -webkit-margin-before: 3.333svw;
            margin-block-start: 3.333svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp-spec__detail + .corp-spec__term {
    -webkit-margin-before: 1.563vw;
            margin-block-start: 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp-spec__detail + .corp-spec__term {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp-spec__detail--small {
    font-size: 1.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp-spec__detail--small {
    font-size: 18px;
  }
}

.corp__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .corp__text {
    line-height: 1.786;
    -webkit-margin-before: 4.667svw;
            margin-block-start: 4.667svw;
    -webkit-margin-start: 5.333svw;
            margin-inline-start: 5.333svw;
    width: 78.667svw;
  }
}
@media screen and (min-width: 768px) {
  .corp__text {
    line-height: 1.556;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .corp__text {
    -webkit-margin-before: 2.734vw;
            margin-block-start: 2.734vw;
    width: 32.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .corp__text {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    width: 422px;
  }
}
.corp__text-em {
  color: var(--color-tertiary);
}

@media screen and (max-width: 767px) {
  .case__pgs-figure {
    -webkit-margin-before: 2.667svw;
            margin-block-start: 2.667svw;
    -webkit-margin-start: 6svw;
            margin-inline-start: 6svw;
    width: 83.2svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__pgs-figure {
    width: 45.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__pgs-figure {
    width: 580px;
  }
}

@media screen and (max-width: 767px) {
  .case__sgs-figure {
    -webkit-margin-before: 8.667svw;
            margin-block-start: 8.667svw;
    -webkit-margin-start: 2.667svw;
            margin-inline-start: 2.667svw;
    width: 85.867svw;
  }
}
@media screen and (min-width: 768px) {
  .case__sgs-figure {
    grid-area: figure;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .case__sgs-figure {
    width: 43.359vw;
  }
}
@media screen and (min-width: 1280px) {
  .case__sgs-figure {
    width: 555px;
  }
}

.sgs-popup {
  border: 1px solid #f16878;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sgs-popup {
    margin-inline: auto;
    -webkit-margin-before: 7.333svw;
            margin-block-start: 7.333svw;
    padding-block: 2svw 3.333svw;
    width: 76svw;
  }
}
@media screen and (min-width: 768px) {
  .sgs-popup {
    grid-area: popup;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-popup {
    padding-block: 1.172vw 1.953vw;
    width: 35.156vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-popup {
    padding-block: 15px 25px;
    width: 450px;
  }
}
.sgs-popup::before, .sgs-popup::after {
  background: #f16878;
  content: "";
  display: block;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .sgs-popup::before {
    height: 5.067svw;
    left: 8svw;
    top: 0;
    translate: 0 -100%;
    width: 1px;
  }
}
@media screen and (min-width: 768px) {
  .sgs-popup::before {
    height: 1px;
    right: 0;
    translate: 100% 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-popup::before {
    top: 3.75vw;
    width: 4.297vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-popup::before {
    top: 48px;
    width: 55px;
  }
}
.sgs-popup::after {
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .sgs-popup::after {
    height: 1.6svw;
    left: 8svw;
    top: -5.067svw;
    translate: -50%;
    width: 1.6svw;
  }
}
@media screen and (min-width: 768px) {
  .sgs-popup::after {
    translate: 50% -45%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-popup::after {
    height: 0.625vw;
    right: -4.297vw;
    top: 3.75vw;
    width: 0.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-popup::after {
    height: 8px;
    right: -55px;
    top: 48px;
    width: 8px;
  }
}

.sgs-popup__title {
  background: #f16878;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .sgs-popup__title {
    border-radius: 0 3.467svw 3.467svw 0;
    line-height: 1.857;
    -webkit-padding-start: 4svw;
            padding-inline-start: 4svw;
    width: 69.333svw;
  }
}
@media screen and (min-width: 768px) {
  .sgs-popup__title {
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-popup__title {
    border-radius: 0 1.25vw 1.25vw 0;
    font-size: 1.563vw;
    -webkit-padding-start: 2.344vw;
            padding-inline-start: 2.344vw;
    width: 29.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-popup__title {
    border-radius: 0 16px 16px 0;
    font-size: 20px;
    -webkit-padding-start: 30px;
            padding-inline-start: 30px;
    width: 380px;
  }
}

.sgs-popup__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .sgs-popup__text {
    font-size: 3.467svw;
    line-height: 1.538;
    -webkit-margin-before: 2.667svw;
            margin-block-start: 2.667svw;
    -webkit-margin-start: 2.933svw;
            margin-inline-start: 2.933svw;
    width: 68.8svw;
  }
}
@media screen and (min-width: 768px) {
  .sgs-popup__text {
    line-height: 1.75;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sgs-popup__text {
    font-size: 1.25vw;
    -webkit-margin-start: 2.344vw;
            margin-inline-start: 2.344vw;
    width: 30.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .sgs-popup__text {
    font-size: 16px;
    -webkit-margin-start: 30px;
            margin-inline-start: 30px;
    width: 390px;
  }
}

@media screen and (max-width: 767px) {
  .qa {
    background: url(../images/qa_bg_01_sp.png) 0 0/100% auto no-repeat, url(../images/qa_bg_01_sp.png) 0 100%/100% auto no-repeat #ef4f4f;
  }
}
@media screen and (min-width: 768px) {
  .qa {
    background: url(../images/qa_bg_pc.png) 50% 0 no-repeat #ef4f4f;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa {
    background-size: 156.25vw auto;
  }
}

.qa__contents {
  position: relative;
}
@media screen and (max-width: 767px) {
  .qa__contents {
    padding-block: 12svw 10.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__contents {
    padding-block: 7.031vw 5.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__contents {
    padding-block: 90px 70px;
  }
}

.qa__en {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .qa__en {
    left: 4.667svw;
    top: -17.333svw;
    width: 46.133svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__en {
    left: 4.531vw;
    top: -10.156vw;
    width: 27.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__en {
    left: 58px;
    top: -130px;
    width: 346px;
  }
}

.qa__title {
  color: var(--color-primary);
  font-weight: 700;
  letter-spacing: 0.08em;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .qa__title {
    font-size: 4.8svw;
    left: 9.067svw;
    top: -24.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__title {
    font-size: 2.813vw;
    left: 36.328vw;
    top: -6.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__title {
    font-size: 36px;
    left: 465px;
    top: -85px;
  }
}

.qa__figure {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .qa__figure {
    left: 54.667svw;
    top: -22.667svw;
    width: 40.933svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__figure {
    right: 1.563vw;
    top: -15.859vw;
    width: 30vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__figure {
    right: 20px;
    top: -203px;
    width: 384px;
  }
}

.qa__list {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .qa__list {
    width: 86.667svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__list {
    width: 84.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__list {
    width: 1080px;
  }
}

.qa__question {
  background-color: #fff;
  background-repeat: no-repeat;
  color: #2a2a2a;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .qa__question {
    background-position: 4.533svw 50%;
    background-size: 9.6svw auto;
    box-shadow: 0 1.169svw 1.169svw rgba(163, 0, 0, 0.5);
    font-size: 4svw;
    padding-block: 2.4svw;
    padding-inline: 17.333svw 2.4svw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__question {
    background-position: 4.688vw 50%;
    background-size: 3.984vw 50%;
    box-shadow: 0 0.605vw 0.605vw rgba(163, 0, 0, 0.5);
    font-size: 1.563vw;
    padding-block: 1.25vw;
    padding-inline: 12.266vw 2.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__question {
    background-position: 60px 50%;
    background-size: 51px auto;
    box-shadow: 0 7.746px 7.746px rgba(163, 0, 0, 0.5);
    font-size: 20px;
    padding-block: 16px;
    padding-inline: 157px 38px;
  }
}
.qa__question--q1 {
  background-image: url(../images/qa_q_01@2x.png);
}
.qa__question--q2 {
  background-image: url(../images/qa_q_02@2x.png);
}
.qa__question--q3 {
  background-image: url(../images/qa_q_03@2x.png);
}
.qa__question--q4 {
  background-image: url(../images/qa_q_04@2x.png);
}
.qa__question--q5 {
  background-image: url(../images/qa_q_05@2x.png);
}

.qa__answer {
  background: url(../images/qa_a@2x.png) no-repeat;
  color: #fff;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .qa__answer {
    background-position: 5.867svw 5.867svw;
    background-size: 5.867svw auto;
    font-size: 3.467svw;
    line-height: 1.692;
    padding-block: 4.533svw 5.6svw;
    padding-inline: 17.333svw 2.4svw;
  }
}
@media screen and (min-width: 768px) {
  .qa__answer {
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .qa__answer {
    background-position: 5.859vw 33%;
    background-size: 2.734vw auto;
    font-size: 1.25vw;
    padding-block: 1.563vw 3.516vw;
    padding-inline: 12.266vw 2.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .qa__answer {
    background-position: 75px 33%;
    background-size: 35px auto;
    font-size: 16px;
    padding-block: 20px 45px;
    padding-inline: 157px 38px;
  }
}/*# sourceMappingURL=style.css.map */