@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;
}

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

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

b, strong {
  font-weight: bolder;
}

main > section {
  padding: 0;
}

:root {
  --color-font: #102b77;
  --color-sub: #4d4d4d;
  --color-primary: #14b4b4;
  --color-secondary: #f7931e;
  --color-tertiary: #4867aa;
  --font-NotoSansJP: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", YuGothic, sans-serif;
}

body {
  background: #fff;
  color: var(--color-font);
  font-family: var(--font-NotoSansJP);
  font-weight: 400;
  line-height: 1;
  margin-inline: auto;
  overflow-wrap: break-word;
  width: 100%;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 4vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  body {
    font-size: 1.719vw;
  }
}
@media screen and (min-width: 1280px) {
  body {
    font-size: 22px;
    min-width: 1280px;
  }
}

.l-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
}

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

.l-header {
  background: #fff;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.l-header__inner {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .l-header__inner {
    height: 12.533vw;
    padding-inline: 2.667vw 3.067vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__inner {
    align-items: flex-start;
    gap: 1.5%;
    padding-block: 1.719vw 1.953vw;
    padding-inline: 3%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__inner {
    gap: 40px;
    height: 110px;
    max-width: 1840px;
    padding-inline: 20px;
  }
}

.l-header__logo {
  -webkit-margin-end: auto;
          margin-inline-end: auto;
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    width: 23.733vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__logo {
    width: 20%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__logo {
    width: 300px;
  }
}

.l-header__tel-list {
  display: flex;
}
@media screen and (max-width: 768px) {
  .l-header__tel-list {
    gap: 2.133vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__tel-list {
    justify-content: space-between;
    width: 40%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__tel-list {
    gap: 20px;
  }
}

@media screen and (max-width: 768px) {
  .l-header__tel-item--weekday {
    width: 30.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__tel-item--weekday {
    width: 45.455%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__tel-item--weekday {
    width: 260px;
  }
}

@media screen and (max-width: 768px) {
  .l-header__tel-item--holiday {
    width: 34.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__tel-item--holiday {
    width: 51.515%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__tel-item--holiday {
    width: 300px;
  }
}

@media screen and (min-width: 769px) {
  .l-header__btn-list {
    display: flex;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__btn-list {
    justify-content: flex-end;
    /* -webkit-margin-before: 0.625vw; */
    /* margin-block-start: 0.625vw; */
    width: 20%;
  }
}
/*@media screen and (min-width: 1600px) {
  .l-header__btn-list {
    gap: 15px; ボタンを1つに統一したため
  }
}*/

@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__btn-item {
    width: 100%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn-item {
    width: 380px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__btn-item .c-btn__main {
    -webkit-filter: drop-shadow(0.282vw 0.482vw 0.482vw rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0.282vw 0.482vw 0.482vw rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn-item .c-btn__main {
    -webkit-filter: drop-shadow(3.6158px 3.6158px 3.6158px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(3.6158px 3.6158px 3.6158px rgba(0, 0, 0, 0.2));
  }
}
/*@media screen and (min-width: 769px) and (max-width: 1599px) {
  .l-header__btn-item .c-btn__shadow {
    bottom: -35%;
    width: 88.9%;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn-item .c-btn__shadow {
    bottom: -25px;
    width: 258px;
  }
}*/

.l-footer-top {
  background: #f2f8ff;
}

@media screen and (max-width: 768px) {
  .l-footer-top__inner {
    padding-block: 7.333vw 0.667vw;
    padding-inline: 5.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-footer-top__inner {
    padding-block: 4.297vw 0.391vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-footer-top__inner {
    padding-block: 55px 5px;
  }
}

.l-foooter__logo {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .l-foooter__logo {
    width: 45.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-foooter__logo {
    width: 22.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-foooter__logo {
    width: 284px;
  }
}

.l-privacymark {
  align-items: center;
  border-top: 1px solid #999;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .l-privacymark {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    padding-block: 4vw;
    padding-inline: 5.067vw 1.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-privacymark {
    -webkit-margin-before: 1.719vw;
            margin-block-start: 1.719vw;
    padding-block: 2.344vw;
    padding-inline: 10.156vw 7.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-privacymark {
    -webkit-margin-before: 22px;
            margin-block-start: 22px;
    padding-block: 30px;
    padding-inline: 130px 100px;
  }
}

@media screen and (max-width: 768px) {
  .l-privacymark__logo {
    width: 16vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-privacymark__logo {
    width: 5.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-privacymark__logo {
    width: 75px;
  }
}

.l-privacymark__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .l-privacymark__text {
    font-size: 3.467vw;
    line-height: 1.846;
    width: 62.667vw;
  }
}
@media screen and (min-width: 769px) {
  .l-privacymark__text {
    line-height: 1.625;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-privacymark__text {
    font-size: 1.25vw;
    width: 67.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-privacymark__text {
    font-size: 16px;
    width: 870px;
  }
}

.l-footer-bottom {
  background: #fff;
}

@media screen and (max-width: 768px) {
  .l-footer-bottom__inner {
    padding-block: 8vw 6.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-footer-bottom__inner {
    padding-block: 1.953vw 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-footer-bottom__inner {
    padding-block: 25px 30px;
  }
}

@media screen and (max-width: 768px) {
  .l-nav {
    padding-inline: 5.333vw;
  }
}

.l-nav__list {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .l-nav__list {
    flex-wrap: wrap;
    gap: 2.933vw 0;
  }
}

.l-nav__item {
  letter-spacing: 0.04em;
  padding-inline: 1.5em;
}
@media screen and (max-width: 768px) {
  .l-nav__item {
    font-size: 3.467vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-nav__item {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-nav__item {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .l-nav__item:nth-child(n+1) {
    border-right: 1px solid var(--color-sub);
  }
}
@media screen and (min-width: 769px) {
  .l-nav__item:not(:last-child) {
    border-right: 1px solid var(--color-sub);
  }
}

@media (any-hover: hover) {
  .l-nav__link:hover {
    opacity: 0.8;
    text-decoration: underline;
  }
}

.l-copyright {
  font-weight: 300;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .l-copyright {
    font-size: 3.467vw;
    -webkit-margin-before: 8.667vw;
            margin-block-start: 8.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .l-copyright {
    font-size: 1.25vw;
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .l-copyright {
    font-size: 16px;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

@media screen and (max-width: 768px) {
  .l-fixed {
    background: rgba(255, 255, 255, 0.8);
    bottom: 0;
    display: none;
    left: 0;
    padding-block: 3.333vw;
    position: fixed;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    transition: 0.3s;
    width: 100%;
    z-index: 100;
  }
}
.l-fixed.is-show {
  display: inherit;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (max-width: 768px) {
  .l-fixed__btn-list {
    display: flex;
    justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .l-fixed__btn-item {
    width: 90vw;
  }
}
@media screen and (max-width: 768px) {
  .l-fixed__btn-item .c-btn__main {
    -webkit-filter: drop-shadow(0.8vw 0.8vw 0.8vw rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0.8vw 0.8vw 0.8vw rgba(0, 0, 0, 0.2));
  }
}
/*media screen and (max-width: 768px) {
  .l-fixed__btn-item .c-btn__shadow {
    bottom: -3.333vw;
    width: 40.267vw;
  }
}*/

.c-btn__link {
  display: block;
  position: relative;
}
@media (any-hover: hover) {
  .c-btn__link:hover .c-btn__main img {
    -webkit-filter: brightness(1.1);
            filter: brightness(1.1);
  }
}

@media (any-hover: hover) {
  .c-btn__link--contact:hover .c-btn__main img {
    -webkit-filter: brightness(1.6);
            filter: brightness(1.6);
  }
}

.c-btn__main {
  position: relative;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  z-index: 5;
}

.c-btn__shadow {
  left: 50%;
  mix-blend-mode: multiply;
  pointer-events: none;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.c-cta {
  background: #001c59;
}

@media screen and (max-width: 768px) {
  .c-cta__inner {
    padding-block: 8.667vw 10.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-cta__inner {
    padding-block: 5.469vw 7.422vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-cta__inner {
    padding-block: 70px 95px;
  }
}

.c-cta__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-cta__title {
    width: 80vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-cta__title {
    width: 62.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-cta__title {
    width: 800px;
  }
}

.c-cta__lead {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .c-cta__lead {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    width: 85.2vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-cta__lead {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
    width: 41.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-cta__lead {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    width: 533px;
  }
}

@media screen and (max-width: 768px) {
  .c-btn--cta {
    margin-inline: auto;
    width: 80vw;
  }
}
.c-btn--cta .c-btn__lead {
  left: 50%;
  position: absolute;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .c-btn--cta .c-btn__lead {
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 18.933vw;
  }
}
@media screen and (max-width: 768px) {
  .c-btn--cta .c-btn__main {
    -webkit-filter: drop-shadow(0.8vw 0.8vw 0.8vw rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0.8vw 0.8vw 0.8vw rgba(0, 0, 0, 0.2));
  }
}
@media screen and (max-width: 768px) {
  .c-btn--cta .c-btn__shadow {
    bottom: -5.6vw;
    width: 72vw;
  }
}

@media screen and (max-width: 768px) {
  .c-btn--centering {
    -webkit-margin-before: 9.333vw;
            margin-block-start: 9.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-btn--centering {
    -webkit-margin-before: 4.063vw;
            margin-block-start: 4.063vw;
    margin-inline: auto;
    width: 55.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-btn--centering {
    -webkit-margin-before: 52px;
            margin-block-start: 52px;
    margin-inline: auto;
    width: 714px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-btn--centering .c-btn__lead {
    top: -1.406vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 12.422vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-btn--centering .c-btn__lead {
    top: -18px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 159px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-btn--centering .c-btn__main {
    -webkit-filter: drop-shadow(0.577vw 0.577vw 0.577vw rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0.577vw 0.577vw 0.577vw rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 1280px) {
  .c-btn--centering .c-btn__main {
    -webkit-filter: drop-shadow(7.3831px 7.3831px 7.3831px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(7.3831px 7.3831px 7.3831px rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .c-btn--centering .c-btn__shadow {
    bottom: -4.531vw;
    width: 50.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .c-btn--centering .c-btn__shadow {
    bottom: -58px;
    width: 650px;
  }
}

@media screen and (max-width: 768px) {
  .p-kv {
    background: url(../img/kv_bg_sp.webp) 0 0/100% auto no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .p-kv {
    background: url(../img/kv_bg_pc.webp) 50% 0 no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv {
    background-size: 171.875vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-kv__inner {
    -webkit-padding-before: 82.667vw;
            padding-block-start: 82.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv__inner {
    -webkit-padding-before: 14.453vw;
            padding-block-start: 14.453vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-kv__inner {
    -webkit-padding-before: 185px;
            padding-block-start: 185px;
  }
}

@media screen and (max-width: 768px) {
  .p-kv__title {
    -webkit-margin-start: 5.067vw;
            margin-inline-start: 5.067vw;
    width: 88.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv__title {
    -webkit-margin-start: 3.906vw;
            margin-inline-start: 3.906vw;
    width: 52.266vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-kv__title {
    -webkit-margin-start: 50px;
            margin-inline-start: 50px;
    width: 669px;
  }
}

@media screen and (max-width: 768px) {
  .p-kv__btn {
    -webkit-margin-before: 11.333vw;
            margin-block-start: 11.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv__btn {
    -webkit-margin-before: 5.078vw;
            margin-block-start: 5.078vw;
    -webkit-margin-start: 4.688vw;
            margin-inline-start: 4.688vw;
    width: 45.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-kv__btn {
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
    -webkit-margin-start: 60px;
            margin-inline-start: 60px;
    width: 580px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv__btn .c-btn__lead {
    top: -1.719vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 11.094vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-kv__btn .c-btn__lead {
    top: -22px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 142px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv__btn .c-btn__main {
    -webkit-filter: drop-shadow(0.469vw 0.469vw 0.469vw rgba(0, 0, 0, 0.2));
            filter: drop-shadow(0.469vw 0.469vw 0.469vw rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 1280px) {
  .p-kv__btn .c-btn__main {
    -webkit-filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, 0.2));
            filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, 0.2));
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-kv__btn .c-btn__shadow {
    bottom: -3.516vw;
    width: 41.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-kv__btn .c-btn__shadow {
    bottom: -45px;
    width: 528px;
  }
}

@media screen and (max-width: 768px) {
  .p-intro {
    -webkit-margin-before: 15.333vw;
            margin-block-start: 15.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro {
    -webkit-margin-before: 5.625vw;
            margin-block-start: 5.625vw;
    position: relative;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro {
    -webkit-margin-before: 72px;
            margin-block-start: 72px;
    position: relative;
  }
}
@media screen and (min-width: 769px) {
  .p-intro::before {
    background: var(--color-font);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 50%;
  }
}

.p-intro__inner {
  background: var(--color-font);
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-intro__inner {
    border-top-right-radius: 6.667vw;
    border-bottom-right-radius: 6.667vw;
    padding-block: 11.333vw 8vw;
    width: 94.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__inner {
    padding-block: 4.688vw 4.297vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__inner {
    padding-block: 60px 55px;
  }
}
.p-intro__inner::after {
  background: var(--color-font);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__inner::after {
    border-top-right-radius: 3.906vw;
    border-bottom-right-radius: 3.906vw;
    -webkit-transform: translateX(5.781vw);
            transform: translateX(5.781vw);
    width: 5.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__inner::after {
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    -webkit-transform: translateX(74px);
            transform: translateX(74px);
    width: 75px;
  }
}

@media screen and (max-width: 768px) {
  .p-intro__title {
    width: 94.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__title {
    -webkit-margin-start: 4.297vw;
            margin-inline-start: 4.297vw;
    width: 85.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__title {
    -webkit-margin-start: 55px;
            margin-inline-start: 55px;
    width: 1092px;
  }
}

.p-intro__list {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-intro__list {
    gap: 2.667vw;
    flex-wrap: wrap;
    justify-content: center;
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__list {
    gap: 1.563vw;
    -webkit-margin-before: 2.734vw;
            margin-block-start: 2.734vw;
    -webkit-margin-start: 3.906vw;
            margin-inline-start: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__list {
    gap: 20px;
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
    -webkit-margin-start: 50px;
            margin-inline-start: 50px;
  }
}

.p-intro__item {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 768px) {
  .p-intro__item {
    -webkit-filter: drop-shadow(1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1));
    width: 38.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__item {
    -webkit-filter: drop-shadow(0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1));
    width: 22.656vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__item {
    -webkit-filter: drop-shadow(8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1));
            filter: drop-shadow(8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1));
    width: 290px;
  }
}
@media screen and (max-width: 768px) {
  .p-intro__item:nth-of-type(1) {
    -webkit-filter: drop-shadow(1.333vw 1.333vw 1.333vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(1.333vw 1.333vw 1.333vw rgba(0, 0, 0, 0.1));
    width: 22.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__item:nth-of-type(1) {
    -webkit-filter: drop-shadow(0.781vw 0.781vw 0.781vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0.781vw 0.781vw 0.781vw rgba(0, 0, 0, 0.1));
    width: 13.281vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__item:nth-of-type(1) {
    -webkit-filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
            filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
    width: 170px;
  }
}

.p-intro__notes {
  counter-reset: number 0;
}
@media screen and (max-width: 768px) {
  .p-intro__notes {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    margin-inline: auto;
    -webkit-padding-start: 6.667vw;
            padding-inline-start: 6.667vw;
    width: 80vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__notes {
    -webkit-margin-before: 1.953vw;
            margin-block-start: 1.953vw;
    -webkit-margin-start: 4.688vw;
            margin-inline-start: 4.688vw;
    -webkit-padding-start: 3.125vw;
            padding-inline-start: 3.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__notes {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    -webkit-margin-start: 60px;
            margin-inline-start: 60px;
    -webkit-padding-start: 40px;
            padding-inline-start: 40px;
  }
}

.p-intro__notes-item {
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-intro__notes-item {
    font-size: 2.933vw;
    line-height: 1.636;
  }
}
@media screen and (min-width: 769px) {
  .p-intro__notes-item {
    line-height: 1.733;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__notes-item {
    font-size: 1.172vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__notes-item {
    font-size: 15px;
  }
}
.p-intro__notes-item::before {
  counter-increment: number 1;
  content: "※" counter(number);
  position: absolute;
  top: 0;
}
@media screen and (max-width: 768px) {
  .p-intro__notes-item::before {
    left: -6.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-intro__notes-item::before {
    left: -3.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-intro__notes-item::before {
    left: -40px;
  }
}
@media screen and (min-width: 769px) {
  .p-intro__notes-item:nth-of-type(1) {
    -webkit-margin-start: 3em;
            margin-inline-start: 3em;
    text-indent: -3em;
  }
}

@media screen and (max-width: 768px) {
  .p-diff {
    background: url(../img/diff_bg_sp.webp) 0 100%/100% auto no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .p-diff {
    background: url(../img/diff_bg_pc.webp) 50% 100% no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff {
    background-size: 156.25vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-diff__inner {
    -webkit-padding-after: 27.333vw;
            padding-block-end: 27.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff__inner {
    -webkit-padding-after: 6.641vw;
            padding-block-end: 6.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff__inner {
    -webkit-padding-after: 85px;
            padding-block-end: 85px;
  }
}

.p-diff__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-diff__title {
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
    width: 86.933vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff__title {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
    width: 58.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff__title {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    width: 754px;
  }
}

.p-diff-table {
  align-items: flex-end;
  display: flex;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-diff-table {
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table {
    -webkit-margin-before: 3.906vw;
            margin-block-start: 3.906vw;
    width: 81.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table {
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
    width: 1046px;
  }
}

.p-diff-table__column {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-diff-table__column {
    gap: 1.067vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column {
    gap: 0.625vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column {
    gap: 8px;
  }
}
.p-diff-table__column::after {
  bottom: 0;
  content: "";
  display: block;
  opacity: 0.06;
  position: absolute;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p-diff-table__column::after {
    width: 2vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column::after {
    width: 1.172vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column::after {
    width: 15px;
  }
}

.p-diff-table__row {
  align-items: center;
  background: 50% 50% no-repeat;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-diff-table__row {
    background-size: 13.333vw auto;
    height: 21.067vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__row {
    background-size: 7.813vw auto;
    height: 9.531vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__row {
    background-size: 100px auto;
    height: 122px;
  }
}

.p-diff-table__row-header {
  align-items: center;
  display: flex;
  justify-content: center;
}

.p-diff-table__cell-lead {
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.523;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-diff-table__cell-lead {
    font-size: 2.933vw;
    -webkit-margin-after: 0.8vw;
            margin-block-end: 0.8vw;
    width: 9.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__cell-lead {
    font-size: 2.031vw;
    width: 5.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__cell-lead {
    font-size: 26px;
    width: 70px;
  }
}

.p-diff-table__cell-text {
  letter-spacing: 0.04em;
  line-height: 1.462;
}
@media screen and (max-width: 768px) {
  .p-diff-table__cell-text {
    font-size: 3.467vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__cell-text {
    font-size: 2.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__cell-text {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .p-diff-table__column--labels {
    -webkit-padding-after: 2.667vw;
            padding-block-end: 2.667vw;
    width: 20vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--labels {
    -webkit-padding-after: 0.938vw;
            padding-block-end: 0.938vw;
    width: 19.219vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--labels {
    -webkit-padding-after: 12px;
            padding-block-end: 12px;
    width: 246px;
  }
}
@media screen and (max-width: 768px) {
  .p-diff-table__column--labels::after {
    height: calc(100% - 21.333vw - 2px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--labels::after {
    height: calc(100% - 10vw - 2px);
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--labels::after {
    height: calc(100% - 130px);
  }
}
.p-diff-table__column--labels .p-diff-table__row {
  background: #3f5172;
  color: #fff;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-diff-table__column--labels .p-diff-table__row {
    border-bottom-left-radius: 0.8vw;
    border-top-left-radius: 0.8vw;
    font-size: 2.933vw;
    line-height: 1.364;
  }
}
@media screen and (min-width: 769px) {
  .p-diff-table__column--labels .p-diff-table__row {
    line-height: 1.375;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--labels .p-diff-table__row {
    border-bottom-left-radius: 0.469vw;
    border-top-left-radius: 0.469vw;
    font-size: 1.875vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--labels .p-diff-table__row {
    border-bottom-left-radius: 6px;
    border-top-left-radius: 6px;
    font-size: 24px;
  }
}

.p-diff-table__column--sub {
  background: #e6e6e6;
  border: 1px solid #b5b5b5;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-diff-table__column--sub {
    border-radius: 1.333vw 1.333vw 0 0;
    padding-block: 1.333vw 2.667vw;
    padding-inline: 1.333vw;
    width: 34.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--sub {
    border-radius: 0.781vw 0.781vw 0 0;
    padding-block: 0.781vw 0.938vw;
    padding-inline: 0.781vw;
    width: 31.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--sub {
    border-radius: 10px 10px 0 0;
    padding-block: 10px 12px;
    padding-inline: 10px;
    width: 400px;
  }
}
.p-diff-table__column--sub::after {
  height: 100%;
}
.p-diff-table__column--sub .p-diff-table__row-header {
  background: #3f5172;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-diff-table__column--sub .p-diff-table__row-header {
    border-top-left-radius: 1.067vw;
    border-top-right-radius: 1.067vw;
    font-size: 4.533vw;
    height: 12vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--sub .p-diff-table__row-header {
    border-top-left-radius: 0.625vw;
    border-top-right-radius: 0.625vw;
    font-size: 2.656vw;
    height: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--sub .p-diff-table__row-header {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    font-size: 34px;
    height: 90px;
  }
}
.p-diff-table__column--sub .p-diff-table__row {
  background-color: #fff;
}
.p-diff-table__column--sub .p-diff-table__row:nth-of-type(3), .p-diff-table__column--sub .p-diff-table__row:nth-of-type(4), .p-diff-table__column--sub .p-diff-table__row:nth-of-type(5) {
  background-image: url(../img/diff_icon_01.svg);
}
.p-diff-table__column--sub .p-diff-table__cell-lead {
  background: #65748e;
}

.p-diff-table__column--main {
  background: #72d2d2;
  border: 1px solid var(--color-primary);
}
@media screen and (max-width: 768px) {
  .p-diff-table__column--main {
    border-radius: 1.333vw 1.333vw 0 0;
    padding-block: 1.333vw 2.667vw;
    padding-inline: 1.333vw;
    width: 34.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--main {
    border-radius: 0.781vw 0.781vw 0 0;
    padding-block: 0.781vw 0.938vw;
    padding-inline: 0.781vw;
    width: 31.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--main {
    border-radius: 10px 10px 0 0;
    padding-block: 10px 12px;
    padding-inline: 10px;
    width: 400px;
  }
}
.p-diff-table__column--main::after {
  display: none;
}
.p-diff-table__column--main .p-diff-table__row-header {
  background: var(--color-primary);
  color: #ff0;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-diff-table__column--main .p-diff-table__row-header {
    border-top-left-radius: 1.067vw;
    border-top-right-radius: 1.067vw;
    font-size: 4.533vw;
    height: 12vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-diff-table__column--main .p-diff-table__row-header {
    border-top-left-radius: 0.625vw;
    border-top-right-radius: 0.625vw;
    font-size: 2.656vw;
    height: 7.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-diff-table__column--main .p-diff-table__row-header {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    font-size: 34px;
    height: 90px;
  }
}
.p-diff-table__column--main .p-diff-table__row {
  background-color: #fff;
}
.p-diff-table__column--main .p-diff-table__row:nth-of-type(3), .p-diff-table__column--main .p-diff-table__row:nth-of-type(4), .p-diff-table__column--main .p-diff-table__row:nth-of-type(5) {
  background-image: url(../img/diff_icon_02.svg);
}
.p-diff-table__column--main .p-diff-table__cell-lead {
  background: var(--color-secondary);
}

@media screen and (max-width: 768px) {
  .p-about {
    -webkit-margin-before: 14.667vw;
            margin-block-start: 14.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-about {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-about {
    -webkit-margin-before: 8.984vw;
            margin-block-start: 8.984vw;
    -webkit-margin-start: 4.922vw;
            margin-inline-start: 4.922vw;
    width: 82.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-about {
    -webkit-margin-before: 115px;
            margin-block-start: 115px;
    -webkit-margin-start: 63px;
            margin-inline-start: 63px;
    width: 1060px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-about__content {
    width: 41.797vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-about__content {
    width: 535px;
  }
}

@media screen and (max-width: 768px) {
  .p-about__title {
    -webkit-margin-start: 8.4vw;
            margin-inline-start: 8.4vw;
    width: 85.333vw;
  }
}

.p-about__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-about__text {
    line-height: 1.867;
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    -webkit-margin-start: 7.333vw;
            margin-inline-start: 7.333vw;
    width: 85.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-about__text {
    line-height: 2;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-about__text {
    width: 41.016vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-about__text {
    width: 525px;
  }
}

.p-about__image {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-about__image {
    border-radius: 4vw;
    box-shadow: 2vw 2vw 2vw rgba(0, 0, 0, 0.1);
    -webkit-margin-before: 8.667vw;
            margin-block-start: 8.667vw;
    margin-inline: auto;
    width: 85.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-about__image {
    border-radius: 2.344vw;
    box-shadow: 1.172vw 1.172vw 1.172vw rgba(0, 0, 0, 0.1);
    width: 35.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-about__image {
    border-radius: 30px;
    box-shadow: 15px 15px 15px rgba(0, 0, 0, 0.1);
    width: 460px;
  }
}

.p-problem {
  background: #9fa8b8;
  position: relative;
}
.p-problem::after {
  background: #9fa8b8;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .p-problem::after {
    bottom: -9.333vw;
    height: 13.333vw;
    width: 93.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem::after {
    bottom: -4.688vw;
    height: 7.813vw;
    width: 54.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem::after {
    bottom: -60px;
    height: 100px;
    width: 700px;
  }
}

@media screen and (max-width: 768px) {
  .p-problem__inner {
    padding-block: 16.667vw 16vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__inner {
    padding-block: 7.422vw 8.203vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__inner {
    padding-block: 95px 105px;
  }
}

.p-problem__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-problem__title {
    width: 84.8vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__title {
    width: 73.75vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__title {
    width: 944px;
  }
}

@media screen and (min-width: 769px) {
  .p-problem__content {
    position: relative;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__content {
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
    -webkit-margin-start: 5.313vw;
            margin-inline-start: 5.313vw;
    width: 82.266vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__content {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    -webkit-margin-start: 68px;
            margin-inline-start: 68px;
    width: 1053px;
  }
}

@media screen and (max-width: 768px) {
  .p-problem__image {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    -webkit-margin-start: 5.333vw;
            margin-inline-start: 5.333vw;
    width: 77.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-problem__image {
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__image {
    width: 52.031vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__image {
    width: 666px;
  }
}

.p-problem__list {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (max-width: 768px) {
  .p-problem__list {
    gap: 4vw;
    -webkit-margin-before: -9.333vw;
            margin-block-start: -9.333vw;
    -webkit-margin-start: 12.8vw;
            margin-inline-start: 12.8vw;
    width: 81.867vw;
  }
}
@media screen and (min-width: 769px) {
  .p-problem__list {
    margin-inline: auto 0;
    position: relative;
    z-index: 5;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__list {
    gap: 1.875vw;
    width: 40.078vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__list {
    gap: 24px;
    width: 513px;
  }
}

.p-problem__item {
  align-items: center;
  background: #808da0;
}
@media screen and (max-width: 768px) {
  .p-problem__item {
    border-radius: 1.067vw;
    padding-block: 5.333vw 4.667vw;
    -webkit-padding-start: 4vw;
            padding-inline-start: 4vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__item {
    border-radius: 0.625vw;
    min-height: 14.844vw;
    padding-block: 2.5vw;
    -webkit-padding-start: 1.875vw;
            padding-inline-start: 1.875vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__item {
    border-radius: 8px;
    min-height: 190px;
    padding-block: 32px;
    -webkit-padding-start: 24px;
            padding-inline-start: 24px;
  }
}

@media screen and (max-width: 768px) {
  .p-problem__num {
    width: 21.067vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__num {
    width: 10.391vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__num {
    width: 133px;
  }
}

.p-problem__item-text {
  color: #fff;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-problem__item-text {
    font-size: 4.533vw;
    line-height: 1.588;
    -webkit-margin-before: 1.333vw;
            margin-block-start: 1.333vw;
    -webkit-margin-start: 6.4vw;
            margin-inline-start: 6.4vw;
  }
}
@media screen and (min-width: 769px) {
  .p-problem__item-text {
    line-height: 1.615;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__item-text {
    font-size: 2.031vw;
    -webkit-margin-before: 0.469vw;
            margin-block-start: 0.469vw;
    -webkit-margin-start: 3.281vw;
            margin-inline-start: 3.281vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__item-text {
    font-size: 26px;
    -webkit-margin-before: 6px;
            margin-block-start: 6px;
    -webkit-margin-start: 42px;
            margin-inline-start: 42px;
  }
}

.p-problem__text {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-problem__text {
    font-size: 2.933vw;
    line-height: 1.727;
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
  }
}
@media screen and (min-width: 769px) {
  .p-problem__text {
    line-height: 1.864;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-problem__text {
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-problem__text {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-solution__inner {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-solution__inner {
    padding-block: 22vw 12vw;
  }
}
@media screen and (min-width: 769px) {
  .p-solution__inner {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-solution__inner {
    padding-block: 10.547vw 6.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-solution__inner {
    padding-block: 135px 85px;
  }
}

.p-solution__lead {
  color: #fff;
  left: 50%;
  letter-spacing: 0.08em;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-solution__lead {
    font-size: 6.133vw;
    top: -4.8vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-solution__lead {
    font-size: 2.969vw;
    top: -2.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-solution__lead {
    font-size: 38px;
    top: -36px;
  }
}

@media screen and (min-width: 769px) {
  .p-solution__content {
    position: relative;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-solution__content {
    width: 49.219vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-solution__content {
    width: 630px;
  }
}

@media screen and (max-width: 768px) {
  .p-solution__title {
    -webkit-margin-start: 7.2vw;
            margin-inline-start: 7.2vw;
    width: 85.867vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-solution__title {
    margin-inline: auto;
    width: 41.953vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-solution__title {
    margin-inline: auto;
    width: 537px;
  }
}

.p-solution__text {
  letter-spacing: 0.04em;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-solution__text {
    font-size: 4.533vw;
    line-height: 1.588;
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-solution__text {
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-solution__text {
    font-size: 1.875vw;
    -webkit-margin-before: 1.563vw;
            margin-block-start: 1.563vw;
    width: 42.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-solution__text {
    font-size: 24px;
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
    width: 540px;
  }
}

@media screen and (max-width: 768px) {
  .p-solution__image {
    -webkit-margin-before: 7.333vw;
            margin-block-start: 7.333vw;
    -webkit-margin-start: 8vw;
            margin-inline-start: 8vw;
    width: 84.267vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-solution__image {
    -webkit-margin-before: 1.328vw;
            margin-block-start: 1.328vw;
    -webkit-margin-end: -5.313vw;
            margin-inline-end: -5.313vw;
    width: 49.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-solution__image {
    -webkit-margin-before: 17px;
            margin-block-start: 17px;
    -webkit-margin-end: -68px;
            margin-inline-end: -68px;
    width: 632px;
  }
}

@media screen and (max-width: 768px) {
  .p-merit {
    background: url(../img/merit_bg_sp.webp) 0 0/100% auto no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .p-merit {
    background: url(../img/merit_bg_pc.webp) 50% 0 no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit {
    background-size: 156.25vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-merit__inner {
    padding-block: 20vw 10vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__inner {
    padding-block: 12.891vw 9.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__inner {
    padding-block: 165px 120px;
  }
}

@media screen and (min-width: 769px) {
  .p-merit__title {
    margin-inline: auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__title {
    width: 66.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__title {
    width: 850px;
  }
}

.p-merit__list {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-merit__list {
    -webkit-margin-before: 8.267vw;
            margin-block-start: 8.267vw;
    margin-inline: auto;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-merit__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__list {
    gap: 2.344vw;
    -webkit-margin-before: 5.078vw;
            margin-block-start: 5.078vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__list {
    gap: 30px;
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
  }
}

.p-merit__item {
  background: #e6f1ff;
}
@media screen and (max-width: 768px) {
  .p-merit__item {
    border-radius: 1.067vw;
    display: grid;
    grid-template-columns: 7.733vw 28.8vw 1fr;
    grid-template-rows: 28.8vw 1fr;
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
    padding-block: 6.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-merit__item {
    display: grid;
    gap: 0;
    grid-row: span 3;
    grid-template-rows: subgrid;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__item {
    border-radius: 0.625vw;
    padding-block: 3.281vw 3.906vw;
    padding-inline: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__item {
    border-radius: 8px;
    padding-block: 42px 50px;
    padding-inline: 35px;
  }
}

@media screen and (max-width: 768px) {
  .p-merit__icon {
    grid-area: 1/2/2/3;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__icon {
    margin-inline: auto;
    width: 14.063vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__icon {
    margin-inline: auto;
    width: 180px;
  }
}

.p-merit__sub-title {
  align-self: center;
  font-weight: 700;
  letter-spacing: 0.075em;
}
@media screen and (max-width: 768px) {
  .p-merit__sub-title {
    font-size: 5.867vw;
    grid-area: 1/3/2/4;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) {
  .p-merit__sub-title {
    line-height: 1.421;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__sub-title {
    font-size: 2.969vw;
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__sub-title {
    font-size: 38px;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.p-merit__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-merit__text {
    grid-area: 2/1/3/4;
    line-height: 1.867;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    padding-inline: 6.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-merit__text {
    line-height: 1.818;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__text {
    -webkit-margin-before: 1.563vw;
            margin-block-start: 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__text {
    -webkit-margin-before: 20px;
            margin-block-start: 20px;
  }
}

.p-merit__deco {
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-merit__deco {
    bottom: -25.6vw;
    right: -3.333vw;
    width: 48.533vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__deco {
    bottom: -9.375vw;
    right: -5.938vw;
    width: 23.359vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__deco {
    bottom: -120px;
    right: -76px;
    width: 299px;
  }
}

@media screen and (max-width: 768px) {
  .p-merit__notes {
    -webkit-margin-before: 26.667vw;
            margin-block-start: 26.667vw;
    margin-inline: auto;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__notes {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__notes {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}

.p-merit__notes-item {
  letter-spacing: 0.04em;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .p-merit__notes-item {
    font-size: 2.933vw;
    line-height: 1.636;
  }
}
@media screen and (min-width: 769px) {
  .p-merit__notes-item {
    line-height: 1.625;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-merit__notes-item {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-merit__notes-item {
    font-size: 16px;
  }
}

.p-price {
  background: #f2f8ff;
}

@media screen and (max-width: 768px) {
  .p-price__inner {
    padding-block: 13.333vw 19.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-price__inner {
    padding-block: 8.203vw 12.109vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-price__inner {
    padding-block: 105px 155px;
  }
}

.p-price__content {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-price__content {
    border-radius: 4vw;
    box-shadow: 1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1);
    margin-inline: auto;
    padding-block: 13.333vw 12vw;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-price__content {
    border-radius: 2.344vw;
    box-shadow: 0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1);
    padding-block: 6.25vw 8.203vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-price__content {
    border-radius: 30px;
    box-shadow: 8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1);
    padding-block: 80px 105px;
  }
}

.p-price__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-price__title {
    width: 80vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-price__title {
    width: 75.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-price__title {
    width: 970px;
  }
}

.p-price__text {
  color: #666;
  letter-spacing: 0.04em;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-price__text {
    line-height: 1.667;
    -webkit-margin-before: 2.667vw;
            margin-block-start: 2.667vw;
    width: 78.133vw;
  }
}
@media screen and (min-width: 769px) {
  .p-price__text {
    line-height: 1.667;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-price__text {
    font-size: 1.875vw;
    -webkit-margin-before: 1.172vw;
            margin-block-start: 1.172vw;
    width: 78.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-price__text {
    font-size: 24px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
    width: 1000px;
  }
}

.p-plan {
  display: flex;
  flex-direction: column;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-plan {
    gap: 10.667vw;
    -webkit-margin-before: 8.667vw;
            margin-block-start: 8.667vw;
    width: 78.133vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan {
    gap: 4.688vw;
    -webkit-margin-before: 5.078vw;
            margin-block-start: 5.078vw;
    width: 78.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan {
    gap: 60px;
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
    width: 1000px;
  }
}

.p-plan__section {
  position: relative;
}

.p-plan__header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.p-plan__header::before, .p-plan__header::after {
  content: "";
  display: block;
  height: 1px;
}
@media screen and (max-width: 768px) {
  .p-plan__header::before, .p-plan__header::after {
    width: 13.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-plan__header::before, .p-plan__header::after {
    width: 100%;
  }
}

.p-plan__title {
  align-items: center;
  display: flex;
  font-weight: 700;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-plan__title {
    flex-direction: column;
    font-size: 4.8vw;
    gap: 2.4vw;
    height: 16vw;
    width: 51.467vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__title {
    font-size: 2.344vw;
    gap: 0.938vw;
    padding-inline: 2.031vw 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__title {
    font-size: 30px;
    gap: 12px;
    padding-inline: 26px 20px;
  }
}
.p-plan__title::before, .p-plan__title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
}
@media screen and (max-width: 768px) {
  .p-plan__title::before, .p-plan__title::after {
    height: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__title::before, .p-plan__title::after {
    height: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__title::before, .p-plan__title::after {
    height: 30px;
  }
}
.p-plan__title::before {
  left: 0;
}
.p-plan__title::after {
  right: 0;
}

.p-plan__title-lead {
  color: #fff;
  letter-spacing: 0.04em;
  padding-inline: 0.5em;
}
@media screen and (max-width: 768px) {
  .p-plan__title-lead {
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) {
  .p-plan__title-lead {
    line-height: 1.533;
    white-space: nowrap;
  }
}

.p-plan__title-main {
  letter-spacing: 0.025em;
}
@media screen and (min-width: 769px) {
  .p-plan__title-main {
    white-space: nowrap;
  }
}

@media screen and (max-width: 768px) {
  .p-plan__list {
    -webkit-margin-before: 5.867vw;
            margin-block-start: 5.867vw;
    margin-inline: auto;
    width: 76.8vw;
  }
}
@media screen and (min-width: 769px) {
  .p-plan__list {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__list {
    -webkit-margin-before: 2.5vw;
            margin-block-start: 2.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__list {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
  }
}

@media screen and (max-width: 768px) {
  .p-plan__item {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__item {
    width: 37.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__item {
    width: 480px;
  }
}

.p-plan__section--recommend .p-plan__header::before, .p-plan__section--recommend .p-plan__header::after {
  background: var(--color-primary);
}
.p-plan__section--recommend .p-plan__title::before, .p-plan__section--recommend .p-plan__title::after {
  background: var(--color-primary);
}
.p-plan__section--recommend .p-plan__title-lead {
  background: var(--color-primary);
}
.p-plan__section--recommend .p-plan__comment {
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-plan__section--recommend .p-plan__comment {
    right: -8.267vw;
    top: -12.533vw;
    width: 25.6vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__section--recommend .p-plan__comment {
    right: 1.953vw;
    top: -4.297vw;
    width: 12.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__section--recommend .p-plan__comment {
    right: 25px;
    top: -55px;
    width: 160px;
  }
}
.p-plan__section--normal .p-plan__header::before, .p-plan__section--normal .p-plan__header::after {
  background: #808080;
}
.p-plan__section--normal .p-plan__title::before, .p-plan__section--normal .p-plan__title::after {
  background: #808080;
}
.p-plan__section--normal .p-plan__title-lead {
  background: #808080;
}
.p-plan__section--normal .p-plan__title-main {
  color: #808080;
}
.p-plan__section--normal .p-plan__comment {
  background: #4867aa;
  border: solid rgba(255, 255, 255, 0.25);
}
@media screen and (max-width: 768px) {
  .p-plan__section--normal .p-plan__comment {
    border-radius: 3.133vw;
    border-width: 0.8vw;
    -webkit-margin-before: 3.733vw;
            margin-block-start: 3.733vw;
    margin-inline: auto;
    padding-block: 1.6vw;
    width: 72vw;
  }
}
@media screen and (min-width: 769px) {
  .p-plan__section--normal .p-plan__comment {
    position: absolute;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__section--normal .p-plan__comment {
    border-radius: 1.836vw;
    border-width: 0.469vw;
    padding-block: 0.938vw;
    right: 1.719vw;
    top: -1.172vw;
    width: 16.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__section--normal .p-plan__comment {
    border-radius: 23.5px;
    border-width: 6px;
    padding-block: 12px;
    right: 22px;
    top: -15px;
    width: 213px;
  }
}
.p-plan__section .p-plan__comment-text {
  color: #fff;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-plan__section .p-plan__comment-text {
    font-size: 3.467vw;
    line-height: 1.462;
  }
}
@media screen and (min-width: 769px) {
  .p-plan__section .p-plan__comment-text {
    line-height: 1.444;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-plan__section .p-plan__comment-text {
    font-size: 1.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-plan__section .p-plan__comment-text {
    font-size: 18px;
  }
}

@media screen and (max-width: 768px) {
  .p-reason {
    background: url(../img/reason_bg_sp.webp) 0 0/100% auto no-repeat #f2f8ff;
  }
}
@media screen and (min-width: 769px) {
  .p-reason {
    background: url(../img/reason_bg_pc.webp) 50% 0 no-repeat #f2f8ff;
    position: relative;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason {
    background-size: 156.25vw auto;
  }
}
@media screen and (min-width: 769px) {
  .p-reason::before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 84%, rgb(0, 0, 0) 100%);
    content: "";
    display: block;
    left: 0;
    opacity: 0.04;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason::before {
    height: 1.563vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason::before {
    height: 20px;
  }
}

@media screen and (max-width: 768px) {
  .p-reason__inner {
    padding-block: 9.733vw 17.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__inner {
    padding-block: 5.078vw 11.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__inner {
    padding-block: 65px 150px;
  }
}

.p-reason__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-reason__title {
    width: 77.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__title {
    width: 50.313vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__title {
    width: 644px;
  }
}

.p-reason__list {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (max-width: 768px) {
  .p-reason__list {
    gap: 22.667vw;
    -webkit-margin-before: 16vw;
            margin-block-start: 16vw;
    margin-inline: auto;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__list {
    gap: 7.422vw;
    -webkit-margin-before: 3.906vw;
            margin-block-start: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__list {
    gap: 95px;
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
  }
}

.p-reason__item {
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-reason__item {
    align-items: flex-start;
    display: flex;
  }
}

.p-reason__num {
  position: absolute;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .p-reason__num {
    -webkit-filter: drop-shadow(1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1));
    width: 19.733vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__num {
    -webkit-filter: drop-shadow(0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1));
            filter: drop-shadow(0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1));
    width: 11.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__num {
    -webkit-filter: drop-shadow(8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1));
            filter: drop-shadow(8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1));
    width: 146px;
  }
}

.p-reason__image {
  overflow: hidden;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-reason__image {
    border-radius: 4vw;
    width: 72vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__image {
    border-radius: 2.344vw;
    width: 42.188vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__image {
    border-radius: 30px;
    width: 540px;
  }
}

.p-reason__content {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-reason__content {
    border-radius: 4vw;
    box-shadow: 2vw 2vw 2.667vw rgba(0, 0, 0, 0.1);
    -webkit-padding-start: 7.067vw;
            padding-inline-start: 7.067vw;
    width: 82.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__content {
    border-radius: 2.344vw;
    box-shadow: 1.172vw 1.172vw 1.563vw rgba(0, 0, 0, 0.1);
    width: 63.281vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__content {
    border-radius: 30px;
    box-shadow: 15px 15px 20px rgba(0, 0, 0, 0.1);
    width: 810px;
  }
}

.p-reason__lead {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reason__lead {
    font-size: 5.067vw;
    line-height: 1.895;
  }
}
@media screen and (min-width: 769px) {
  .p-reason__lead {
    line-height: 1.875;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__lead {
    font-size: 2.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__lead {
    font-size: 32px;
  }
}

.p-reason__sub-title {
  font-weight: 900;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reason__sub-title {
    font-size: 9.333vw;
    line-height: 1.286;
    -webkit-margin-before: 2vw;
            margin-block-start: 2vw;
  }
}
@media screen and (min-width: 769px) {
  .p-reason__sub-title {
    line-height: 1.219;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__sub-title {
    font-size: 5vw;
    -webkit-margin-before: 1.172vw;
            margin-block-start: 1.172vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__sub-title {
    font-size: 64px;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
}

.p-reason__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reason__text {
    line-height: 1.867;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 68.533vw;
  }
}
@media screen and (min-width: 769px) {
  .p-reason__text {
    line-height: 1.909;
    -webkit-margin-before: 1em;
            margin-block-start: 1em;
  }
}

@media screen and (min-width: 769px) {
  .p-reason__item:nth-of-type(1) {
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(1) .p-reason__num {
    left: 66.667vw;
    top: -8vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(1) .p-reason__num {
    left: 80.469vw;
    top: 1.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(1) .p-reason__num {
    left: 1030px;
    top: 18px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(1) .p-reason__image {
    margin-inline: auto 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(1) .p-reason__image {
    -webkit-margin-before: 6.094vw;
            margin-block-start: 6.094vw;
    -webkit-margin-start: -11.719vw;
            margin-inline-start: -11.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(1) .p-reason__image {
    -webkit-margin-before: 78px;
            margin-block-start: 78px;
    -webkit-margin-start: -150px;
            margin-inline-start: -150px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(1) .p-reason__content {
    -webkit-margin-before: -17.067vw;
            margin-block-start: -17.067vw;
    padding-block: 24vw 8.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(1) .p-reason__content {
    padding-block: 5.078vw 4.688vw;
    -webkit-padding-start: 7.813vw;
            padding-inline-start: 7.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(1) .p-reason__content {
    padding-block: 65px 60px;
    -webkit-padding-start: 100px;
            padding-inline-start: 100px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(1) .p-reason__text {
    width: 39.063vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(1) .p-reason__text {
    width: 500px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(2) .p-reason__num {
    left: 5.067vw;
    top: -12.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(2) .p-reason__num {
    left: 2.969vw;
    top: -0.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(2) .p-reason__num {
    left: 38px;
    top: -12px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(2) .p-reason__image {
    -webkit-margin-before: 5.469vw;
            margin-block-start: 5.469vw;
    -webkit-margin-end: -11.719vw;
            margin-inline-end: -11.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(2) .p-reason__image {
    -webkit-margin-before: 70px;
            margin-block-start: 70px;
    -webkit-margin-end: -150px;
            margin-inline-end: -150px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(2) .p-reason__content {
    -webkit-margin-before: -18.4vw;
            margin-block-start: -18.4vw;
    margin-inline: auto 0;
    padding-block: 22vw 7.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(2) .p-reason__content {
    padding-block: 5.078vw 5.859vw;
    -webkit-padding-start: 16.406vw;
            padding-inline-start: 16.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(2) .p-reason__content {
    padding-block: 65px 75px;
    -webkit-padding-start: 210px;
            padding-inline-start: 210px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(2) .p-reason__text {
    width: 39.453vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(2) .p-reason__text {
    width: 505px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(3) {
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(3) .p-reason__num {
    left: 65.067vw;
    top: -19.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(3) .p-reason__num {
    left: 79.688vw;
    top: 0.391vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(3) .p-reason__num {
    left: 1020px;
    top: 5px;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__item:nth-of-type(3) .p-reason__content {
    margin-inline: auto 0;
    padding-block: 7.333vw 8.667vw;
    position: relative;
    z-index: 5;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(3) .p-reason__content {
    padding-block: 5.078vw 5.469vw;
    -webkit-padding-start: 7.813vw;
            padding-inline-start: 7.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(3) .p-reason__content {
    padding-block: 65px 70px;
    -webkit-padding-start: 100px;
            padding-inline-start: 100px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason__item:nth-of-type(3) .p-reason__text {
    width: 30.859vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason__item:nth-of-type(3) .p-reason__text {
    width: 395px;
  }
}

.p-reason-ex {
  background: #cfe6ff;
}
@media screen and (max-width: 768px) {
  .p-reason-ex {
    border-radius: 4.073vw;
    -webkit-margin-before: -3.733vw;
            margin-block-start: -3.733vw;
    padding-block: 13.6vw 8.267vw;
    width: 77.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason-ex {
    border-radius: 2.387vw;
    -webkit-margin-before: 4.688vw;
            margin-block-start: 4.688vw;
    -webkit-margin-start: -17.031vw;
            margin-inline-start: -17.031vw;
    padding-block: 6.016vw 5.469vw;
    width: 47.578vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason-ex {
    border-radius: 30.55px;
    -webkit-margin-before: 60px;
            margin-block-start: 60px;
    -webkit-margin-start: -218px;
            margin-inline-start: -218px;
    padding-block: 77px 70px;
    width: 609px;
  }
}

.p-reason-ex__lead {
  background: var(--color-font);
  border-radius: 100vw;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-reason-ex__lead {
    font-size: 3.2vw;
    line-height: 1.667;
    -webkit-margin-start: 4.267vw;
            margin-inline-start: 4.267vw;
    padding-inline: 4vw;
  }
}
@media screen and (min-width: 769px) {
  .p-reason-ex__lead {
    line-height: 1.7;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason-ex__lead {
    font-size: 1.563vw;
    -webkit-margin-start: 6.094vw;
            margin-inline-start: 6.094vw;
    padding-inline: 1.875vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason-ex__lead {
    font-size: 20px;
    -webkit-margin-start: 78px;
            margin-inline-start: 78px;
    padding-inline: 24px;
  }
}

.p-reason-ex__title {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reason-ex__title {
    font-size: 5.333vw;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    -webkit-margin-start: 5.333vw;
            margin-inline-start: 5.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason-ex__title {
    font-size: 2.891vw;
    -webkit-margin-before: 1.406vw;
            margin-block-start: 1.406vw;
    -webkit-margin-start: 6.406vw;
            margin-inline-start: 6.406vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason-ex__title {
    font-size: 37px;
    -webkit-margin-before: 18px;
            margin-block-start: 18px;
    -webkit-margin-start: 82px;
            margin-inline-start: 82px;
  }
}

.p-reason-ex__notes {
  color: #333;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reason-ex__notes {
    font-size: 3.2vw;
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    -webkit-margin-start: 16.667vw;
            margin-inline-start: 16.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason-ex__notes {
    font-size: 1.563vw;
    -webkit-margin-before: 1.406vw;
            margin-block-start: 1.406vw;
    -webkit-margin-start: 13.438vw;
            margin-inline-start: 13.438vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason-ex__notes {
    font-size: 20px;
    -webkit-margin-before: 18px;
            margin-block-start: 18px;
    -webkit-margin-start: 172px;
            margin-inline-start: 172px;
  }
}

@media screen and (max-width: 768px) {
  .p-reason-ex__image {
    -webkit-margin-before: 3.333vw;
            margin-block-start: 3.333vw;
    -webkit-margin-start: 4.667vw;
            margin-inline-start: 4.667vw;
    width: 67.467vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-reason-ex__image {
    -webkit-margin-before: 1.953vw;
            margin-block-start: 1.953vw;
    -webkit-margin-start: 3.906vw;
            margin-inline-start: 3.906vw;
    width: 39.531vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-reason-ex__image {
    -webkit-margin-before: 25px;
            margin-block-start: 25px;
    -webkit-margin-start: 50px;
            margin-inline-start: 50px;
    width: 506px;
  }
}

.p-trust {
  background: var(--color-primary);
}

@media screen and (max-width: 768px) {
  .p-trust__main {
    background: url(../img/trust_bg_sp.webp) 0 100%/100% auto no-repeat #088d97;
  }
}
@media screen and (min-width: 769px) {
  .p-trust__main {
    background: url(../img/trust_bg_pc.webp) 50% 100% no-repeat #088d97;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__main {
    background-size: 171.875vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-trust__inner {
    padding-block: 17.333vw 36vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__inner {
    padding-block: 6.25vw 9.766vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__inner {
    padding-block: 80px 125px;
  }
}

.p-trust__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-trust__title {
    width: 69.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__title {
    width: 65.156vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__title {
    width: 834px;
  }
}

@media screen and (min-width: 769px) {
  .p-trust__content {
    display: grid;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__content {
    gap: 0 4.063vw;
    grid-template-rows: 41.25vw 27.344vw;
    grid-template-rows: 15.625vw 1fr;
    -webkit-margin-before: 6.641vw;
            margin-block-start: 6.641vw;
    -webkit-margin-start: 9.375vw;
            margin-inline-start: 9.375vw;
    width: 72.656vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__content {
    gap: 0 52px;
    grid-template-columns: 528px 350px;
    grid-template-rows: 200px 1fr;
    -webkit-margin-before: 85px;
            margin-block-start: 85px;
    -webkit-margin-start: 120px;
            margin-inline-start: 120px;
    width: 930px;
  }
}

@media screen and (max-width: 768px) {
  .p-trust__catch {
    -webkit-margin-before: 16vw;
            margin-block-start: 16vw;
    margin-inline: auto;
    width: 84.533vw;
  }
}
@media screen and (min-width: 769px) {
  .p-trust__catch {
    grid-area: 1/1/2/2;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__catch {
    width: 41.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__catch {
    width: 528px;
  }
}

.p-trust__list {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (max-width: 768px) {
  .p-trust__list {
    gap: 3.733vw;
    -webkit-margin-before: 3.467vw;
            margin-block-start: 3.467vw;
    margin-inline: auto;
    width: 66.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-trust__list {
    grid-area: 1/2/3/3;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__list {
    gap: 1.563vw;
    width: 27.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__list {
    gap: 20px;
    width: 350px;
  }
}

.p-trust__item {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-trust__item {
    border-radius: 1.067vw;
    box-shadow: 1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__item {
    border-radius: 0.625vw;
    box-shadow: 0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1);
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__item {
    border-radius: 8px;
    box-shadow: 8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1);
  }
}

.p-trust__note {
  color: #fff;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-trust__note {
    font-size: 2.933vw;
    line-height: 1.636;
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    margin-inline: auto;
    width: 66.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-trust__note {
    grid-area: 2/1/3/2;
    line-height: 1.533;
    justify-self: center;
    -webkit-padding-before: 1em;
            padding-block-start: 1em;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-trust__note {
    font-size: 1.172vw;
    width: 31.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-trust__note {
    font-size: 15px;
    width: 400px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-partner__inner {
    -webkit-padding-after: 2.344vw;
            padding-block-end: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-partner__inner {
    -webkit-padding-after: 30px;
            padding-block-end: 30px;
  }
}

.p-partner__content {
  background: #fff;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-partner__content {
    border-radius: 4vw;
    box-shadow: 1.102vw 1.102vw 1.102vw rgba(0, 0, 0, 0.1);
    padding-block: 9.333vw 5.6vw;
    -webkit-transform: translateY(-26.667vw);
            transform: translateY(-26.667vw);
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-partner__content {
    border-radius: 2.344vw;
    box-shadow: 0.646vw 0.646vw 0.646vw rgba(0, 0, 0, 0.1);
    padding-block: 5.469vw 5.078vw;
    -webkit-transform: translateY(-5.469vw);
            transform: translateY(-5.469vw);
    width: 85.938vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-partner__content {
    border-radius: 30px;
    box-shadow: 8.265px 8.265px 8.265px rgba(0, 0, 0, 0.1);
    padding-block: 70px 65px;
    -webkit-transform: translateY(-70px);
            transform: translateY(-70px);
    width: 1100px;
  }
}

.p-partner__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-partner__title {
    width: 73.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-partner__title {
    width: 42.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-partner__title {
    width: 550px;
  }
}

.p-partner__list {
  display: grid;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-partner__list {
    gap: 0;
    grid-template-columns: repeat(3, 1fr);
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
    width: 84vw;
  }
}
@media screen and (min-width: 769px) {
  .p-partner__list {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-partner__list {
    gap: 0.781vw 0;
    -webkit-margin-before: 3.906vw;
            margin-block-start: 3.906vw;
    width: 75vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-partner__list {
    gap: 10px 0;
    -webkit-margin-before: 50px;
            margin-block-start: 50px;
    width: 960px;
  }
}

@media screen and (max-width: 768px) {
  .p-trust + .c-cta {
    -webkit-margin-before: -10.667vw;
            margin-block-start: -10.667vw;
  }
}

@media screen and (max-width: 768px) {
  .p-flow {
    background: url(../img/flow_bg_sp.webp) 0 0/100% auto no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .p-flow {
    background: url(../img/flow_bg_pc.webp) 50% 0 no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow {
    background-size: 156.25vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-flow__inner {
    padding-block: 13.333vw 8vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow__inner {
    padding-block: 7.813vw 10.156vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-flow__inner {
    padding-block: 100px 130px;
  }
}

.p-flow__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-flow__title {
    width: 56.133vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow__title {
    width: 31.25vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-flow__title {
    width: 400px;
  }
}

.p-flow__lead {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-flow__lead {
    -webkit-margin-before: 4vw;
            margin-block-start: 4vw;
    width: 68vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow__lead {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
    width: 36.719vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-flow__lead {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    width: 470px;
  }
}

.p-flow__catch {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-flow__catch {
    height: 10.933vw;
    -webkit-margin-before: 4.667vw;
            margin-block-start: 4.667vw;
    -webkit-padding-before: 0.667vw;
            padding-block-start: 0.667vw;
    -webkit-padding-start: 2vw;
            padding-inline-start: 2vw;
    width: 56vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow__catch {
    height: 5.313vw;
    -webkit-margin-before: 2.188vw;
            margin-block-start: 2.188vw;
    -webkit-padding-before: 0.234vw;
            padding-block-start: 0.234vw;
    -webkit-padding-start: 1.172vw;
            padding-inline-start: 1.172vw;
    width: 27.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-flow__catch {
    height: 68px;
    -webkit-margin-before: 28px;
            margin-block-start: 28px;
    -webkit-padding-before: 3px;
            padding-block-start: 3px;
    -webkit-padding-start: 15px;
            padding-inline-start: 15px;
    width: 350px;
  }
}
.p-flow__catch::before {
  background: var(--color-secondary);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transform: skew(-28deg);
          transform: skew(-28deg);
  width: 100%;
}

.p-flow__catch-label {
  color: #fff;
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-flow__catch-label {
    font-size: 5.867vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow__catch-label {
    font-size: 2.969vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-flow__catch-label {
    font-size: 38px;
  }
}

.p-flow__catch-large {
  display: inline-block;
  -webkit-transform: translateY(0.05em);
          transform: translateY(0.05em);
}
@media screen and (max-width: 768px) {
  .p-flow__catch-large {
    font-size: 8vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-flow__catch-large {
    font-size: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-flow__catch-large {
    font-size: 50px;
  }
}

@media screen and (max-width: 768px) {
  .p-step {
    margin-inline: auto;
    width: 82.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-step {
    display: grid;
    grid-template-columns: repeat(4, 25%);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step {
    -webkit-margin-before: 5.469vw;
            margin-block-start: 5.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step {
    -webkit-margin-before: 70px;
            margin-block-start: 70px;
  }
}

.p-step__item {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-step__item {
    display: grid;
    grid-template-columns: 7.333vw 26.667vw 1fr;
    grid-template-rows: 6.667vw 26.667vw 1fr;
    padding-block: 13.067vw 9.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-step__item {
    display: grid;
    gap: 0;
    grid-row: span 4;
    grid-template-rows: subgrid;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__item {
    padding-block: 1.953vw 3.516vw;
    padding-inline: 2.734vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__item {
    padding-block: 20px 45px;
    padding-inline: 35px;
  }
}
@media screen and (max-width: 768px) {
  .p-step__item:not(:last-child) {
    border-bottom: 1px solid #b3b3b3;
  }
}
@media screen and (min-width: 769px) {
  .p-step__item:not(:last-child) {
    border-right: 1px solid #b3b3b3;
  }
}
.p-step__item:not(:last-child)::after {
  background: url(../img/step_arrow.svg) 0/contain no-repeat;
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .p-step__item:not(:last-child)::after {
    bottom: 0;
    height: 8vw;
    left: 50%;
    -webkit-transform: rotate(90deg) translate(50%, 50%);
            transform: rotate(90deg) translate(50%, 50%);
    width: 8vw;
  }
}
@media screen and (min-width: 769px) {
  .p-step__item:not(:last-child)::after {
    right: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__item:not(:last-child)::after {
    height: 2.813vw;
    top: 9.766vw;
    width: 2.813vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__item:not(:last-child)::after {
    height: 36px;
    top: 125px;
    width: 36px;
  }
}

@media screen and (max-width: 768px) {
  .p-step__num {
    grid-area: 1/1/2/4;
    -webkit-padding-after: 2.933vw;
            padding-block-end: 2.933vw;
    padding-inline: 28vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__num {
    margin-inline: auto;
    width: 12.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__num {
    margin-inline: auto;
    width: 160px;
  }
}

@media screen and (max-width: 768px) {
  .p-step__image {
    grid-area: 2/2/3/3;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__image {
    -webkit-margin-before: 0.938vw;
            margin-block-start: 0.938vw;
    margin-inline: auto;
    width: 12.5vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__image {
    -webkit-margin-before: 12px;
            margin-block-start: 12px;
    margin-inline: auto;
    width: 160px;
  }
}

.p-step__item-title {
  align-self: center;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-step__item-title {
    font-size: 5.867vw;
    grid-area: 2/3/3/4;
    line-height: 1.364;
    -webkit-padding-end: 2vw;
            padding-inline-end: 2vw;
  }
}
@media screen and (min-width: 769px) {
  .p-step__item-title {
    line-height: 1.389;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__item-title {
    font-size: 2.813vw;
    -webkit-margin-before: 0.781vw;
            margin-block-start: 0.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__item-title {
    font-size: 36px;
    -webkit-margin-before: 10px;
            margin-block-start: 10px;
  }
}

@media screen and (max-width: 768px) {
  .p-step__item-text {
    grid-area: 3/1/4/4;
    line-height: 1.867;
    padding-inline: 2.667vw;
  }
}
@media screen and (min-width: 769px) {
  .p-step__item-text {
    line-height: 2;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__item-text {
    font-size: 1.563vw;
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__item-text {
    font-size: 20px;
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}

.p-step__item:nth-of-type(2) .p-step__item-title, .p-step__item:nth-of-type(3) .p-step__item-title {
  letter-spacing: 0.1em;
}
.p-step__item:nth-of-type(4) .p-step__item-title {
  letter-spacing: 0.04em;
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-step__item-note {
    font-size: 1.328vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-step__item-note {
    font-size: 17px;
  }
}

.p-qa {
  background: var(--color-primary);
}

@media screen and (max-width: 768px) {
  .p-qa__inner {
    padding-block: 16vw 18vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__inner {
    padding-block: 7.813vw 9.375vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__inner {
    padding-block: 100px 120px;
  }
}

.p-qa__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-qa__title {
    width: 63.467vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__title {
    width: 39.453vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__title {
    width: 505px;
  }
}

@media screen and (max-width: 768px) {
  .p-qa__list {
    -webkit-margin-before: 6vw;
            margin-block-start: 6vw;
    margin-inline: auto;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__list {
    -webkit-margin-before: 5.078vw;
            margin-block-start: 5.078vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__list {
    -webkit-margin-before: 65px;
            margin-block-start: 65px;
  }
}

.p-qa__item {
  background: #fff;
}
@media screen and (max-width: 768px) {
  .p-qa__item {
    border-radius: 4vw;
    box-shadow: 1.067vw 1.067vw 1.067vw rgba(0, 0, 0, 0.1);
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    padding-inline: 7.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__item {
    border-radius: 2.344vw;
    box-shadow: 0.625vw 0.625vw 0.625vw rgba(0, 0, 0, 0.1);
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
    padding-inline: 3.906vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__item {
    border-radius: 30px;
    box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.1);
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
    padding-inline: 50px;
  }
}

@media screen and (max-width: 768px) {
  .p-qa__icon {
    width: 12vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__icon {
    width: 4.688vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__icon {
    width: 60px;
  }
}

.p-qa__question {
  align-items: flex-start;
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-qa__question {
    border-bottom: 2px dotted var(--color-font);
    gap: 4vw;
    padding-block: 8vw 3.333vw;
    -webkit-padding-start: 1.333vw;
            padding-inline-start: 1.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__question {
    border-bottom: 2px dotted var(--color-font);
    gap: 1.563vw;
    padding-block: 2.969vw 1.953vw;
    -webkit-padding-start: 0.781vw;
            padding-inline-start: 0.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__question {
    border-bottom: 3px dotted var(--color-font);
    gap: 20px;
    padding-block: 38px 25px;
    -webkit-padding-start: 10px;
            padding-inline-start: 10px;
  }
}

.p-qa__question-text {
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-qa__question-text {
    font-size: 5.067vw;
    line-height: 1.556;
    width: 61.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-qa__question-text {
    line-height: 1.7;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__question-text {
    font-size: 2.5vw;
    width: 78.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__question-text {
    font-size: 32px;
    width: 1000px;
  }
}

.p-qa__answer {
  align-items: flex-start;
  display: flex;
}
@media screen and (max-width: 768px) {
  .p-qa__answer {
    gap: 4vw;
    padding-block: 4.667vw 7.333vw;
    -webkit-padding-start: 1.333vw;
            padding-inline-start: 1.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__answer {
    gap: 1.563vw;
    padding-block: 1.953vw 4.297vw;
    -webkit-padding-start: 0.781vw;
            padding-inline-start: 0.781vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__answer {
    gap: 20px;
    padding-block: 25px 55px;
    -webkit-padding-start: 10px;
            padding-inline-start: 10px;
  }
}

.p-qa__answer-text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-qa__answer-text {
    line-height: 1.867;
    -webkit-padding-before: 2vw;
            padding-block-start: 2vw;
    width: 57.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-qa__answer-text {
    line-height: 1.727;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__answer-text {
    -webkit-padding-before: 0.781vw;
            padding-block-start: 0.781vw;
    width: 78.125vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__answer-text {
    -webkit-padding-before: 10px;
            padding-block-start: 10px;
    width: 1000px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-qa__item:nth-of-type(4) .p-qa__answer-text {
    -webkit-margin-end: -2.344vw;
            margin-inline-end: -2.344vw;
    width: 81.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-qa__item:nth-of-type(4) .p-qa__answer-text {
    -webkit-margin-end: -30px;
            margin-inline-end: -30px;
    width: 1045px;
  }
}

@media screen and (max-width: 768px) {
  .p-contact__inner {
    padding-block: 17.333vw 18.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-contact__inner {
    padding-block: 10.156vw 8.203vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-contact__inner {
    padding-block: 130px 105px;
  }
}

.p-contact__lead {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__lead {
    width: 61.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-contact__lead {
    width: 31.641vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-contact__lead {
    width: 405px;
  }
}

.p-contact__title {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__title {
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    width: 80.667vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-contact__title {
    -webkit-margin-before: 3.125vw;
            margin-block-start: 3.125vw;
    width: 59.844vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-contact__title {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
    width: 766px;
  }
}

.p-contact__text {
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-contact__text {
    line-height: 1.867;
    -webkit-margin-before: 5.333vw;
            margin-block-start: 5.333vw;
    margin-inline: auto;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) {
  .p-contact__text {
    line-height: 1.2;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-contact__text {
    -webkit-margin-before: 2.344vw;
            margin-block-start: 2.344vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-contact__text {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}
.p-contact__text + .p-contact__text {
  -webkit-margin-before: 1.5em;
          margin-block-start: 1.5em;
}

@media screen and (max-width: 768px) {
  .p-form {
    -webkit-margin-before: 6.667vw;
            margin-block-start: 6.667vw;
    margin-inline: auto;
    width: 89.333vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1279px) {
  .p-form {
    -webkit-margin-before: 5.469vw;
            margin-block-start: 5.469vw;
  }
}
@media screen and (min-width: 1280px) {
  .p-form {
    -webkit-margin-before: 70px;
            margin-block-start: 70px;
  }
}

@media screen and (min-width: 769px) {
  .u-only-sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .u-only-pc {
    display: none !important;
  }
}
.u-sup {
  font-size: 58.3%;
  vertical-align: super;
}

.u-color-sub {
  color: var(--color-sub);
}

.u-color-primary {
  color: var(--color-primary);
}

.u-color-secondary {
  color: var(--color-secondary);
}

.u-color-tertiary {
  color: var(--color-tertiary);
}

.u-align-center {
  text-align: center;
}

.u-visibility-hidden {
  visibility: hidden;
}
/* ============================================================
    Contact Form Styles (修正版)2026.4.21
   ============================================================ */

/* 既にご利用中のお客様向けメッセージ */
#form1 .sales-ng {
  background: #fdf2e9;
  border: 2px solid var(--color-secondary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 40px;
  text-align: center;
}
#form1 .sales-ng span {
  font-weight: 700;
  color: var(--color-secondary);
  display: block;
  margin-bottom: 10px;
}
#form1 .sales-ng a {
  color: var(--color-font);
  text-decoration: underline;
  font-weight: 700;
}

/* フォームテーブル構造 */
#form1 .tbl_form {
  border-top: 1px solid #ccc;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
#form1 .tbl_form:last-of-type {
  border-bottom: 1px solid #ccc;
}

/* 各セルの基本余白 */
#form1 .tbl_form .cell {
  padding: 15px 20px;
  box-sizing: border-box;
  margin: 0;
}

/* ラベル側 (PC) */
#form1 .tbl_form h3.cell {
  background: #f2f8ff; 
  width: 30%;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 入力側 (PC) */
#form1 .tbl_form .cell.in {
  width: 70%;
  background: #fff;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

/* お名前（姓名）の並び */
/* 横幅をそれぞれ35%（合計70%）にすることで1行に収める */
#form1 .tbl_form .lastnames {
  width: 35% !important;
  padding-right: 10px !important;
}
#form1 .tbl_form .firstnames {
  width: 35% !important;
  padding-left: 10px !important;
}

/* テキストエリアを含む行は上揃えにする */
#form1 .tbl_form .lastlist {
  align-items: flex-start !important;
}

/* 必須・任意ラベル */
#form1 .need, #form1 .noneed {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 4px;
  color: #fff;
  white-space: nowrap;
}
#form1 .need { background: #e74c3c; }
#form1 .noneed { background: #999; }

/* 入力要素のスタイル */
#form1 .tbl_form input[type="text"],
#form1 .tbl_form input[type="tel"],
#form1 .tbl_form input[type="email"],
#form1 .tbl_form select,
#form1 .tbl_form textarea {
  width: 100%;
  border: 1px solid #ccc;
  padding: 12px 15px;
  border-radius: 4px;
  font-size: 16px;
  background: #fafafa;
  transition: border-color 0.3s;
  box-sizing: border-box;
}
#form1 .tbl_form input:focus, 
#form1 .tbl_form textarea:focus,
#form1 .tbl_form select:focus {
  border-color: var(--color-primary);
  outline: none;
  background: #fff;
}

/* プライバシーポリシー周辺の余白調整 */
#form1 .mail_check {
  margin-top: 30px;
  text-align: center;
}
#form1 .agree_check {
  margin: 30px 0;
  font-weight: 700;
  font-size: 18px;
}
#form1 .agree_check input {
  all: revert;
  transform: scale(1.3);
  margin-right: 10px;
  vertical-align: middle;
}
#form1 .agree_check_txt {
  margin-bottom: 30px;
  color: var(--color-sub);
}

/* 送信ボタン */
#form1 .btn_container .submit {
  background: var(--color-secondary);
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  padding: 20px 80px;
  border-radius: 50px;
  cursor: pointer;
  border: none;
  box-shadow: 0 5px 0 #d37800;
  transition: all 0.3s;
  letter-spacing: 0.05em;
}
#form1 .btn_container .submit:hover {
  transform: translateY(3px);
  box-shadow: 0 2px 0 #d37800;
  opacity: 0.9;
}
#form1 .btn_container .submit.btn-back {
  background: var(--color-sub);
  box-shadow: 0 5px 0 #262626;
}
#form1 .btn_container .submit.btn-back:hover {
  transform: translateY(3px);
  box-shadow: 0 2px 0 #262626;
  opacity: 0.9;
}
/* ステップ画像 */
#form1 .step {display: block; margin: 40px auto; width: 80%; height: auto; }

/* ============================================================
    Responsive (Smartphone)2026.4.21
   ============================================================ */
@media screen and (max-width: 768px) {
  #form1 .tbl_form { flex-direction: column; }
  
  #form1 .tbl_form h3.cell { 
    width: 100%; 
    border-bottom: none; 
    padding: 15px 20px; 
  }
  
  #form1 .tbl_form .cell.in { 
    width: 100%; 
    padding: 10px 20px 20px; 
  }
  
  /* スマホでは名前欄を縦並びに戻す */
  #form1 .tbl_form .lastnames, 
  #form1 .tbl_form .firstnames { 
    width: 100% !important; 
    padding: 10px 20px !important; 
  }
  
  #form1 .btn_container .submit { 
    width: 80%; 
    font-size: 20px; 
    padding: 15px; 
  }
  #form1 .btn_container .submit.btn-back{
    margin-bottom: 15px;
  }
  .s_none { display: none; } /* PC用ステップ非表示 */
}
@media screen and (min-width: 769px) {
  .pt_none { display: none; } /* SP用ステップ非表示 */
}

/* ============================================================
    個人情報の取扱い (Privacy Policy) エリアのスタイル2026.04.22
   ============================================================ */

/* 全体の余白と幅の調整 */
#form1 #policy {
  margin: 0 auto 30px;
  max-width: 1200px;
}

/* 見出し（個人情報の取扱いについて） */
#form1 .step_txt {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
  color: var(--color-font);
  text-align: justify;
}

/* 規約文を囲うボックス */
#form1 .terms_box {
  background: #f9f9f9;
  border: 1px solid #ccc;
  padding: 20px;
  border-radius: 4px;
}

/* 規約のテキスト */
#form1 .terms_box_txt {
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-sub);
  text-align: left;
}

/* テキスト内のリンク */
#form1 .url_underline {
  color: #0056b3;
  text-decoration: underline;
  font-weight: bold;
}
#form1 .url_underline:hover {
  opacity: 0.8;
}

/* ------------------------------------------------------------
    スマホ表示用の微調整
   ------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  #form1 #policy {
    padding: 0 15px;
  }
  #form1 .step_txt {
    font-size: 16px;
  }
  #form1 .terms_box {
    padding: 15px;
  }
  #form1 .terms_box_txt {
    font-size: 13px;
  }
  #form1 .agree_check {
    font-size: 16px;
    margin: 20px 0;
  }
}

/* ============================================================
    入力エラー時のデザイン
   ============================================================ */

/* エラーメッセージのテキスト */
.error-text {
  width: 100%;
  color: #e74c3c;
  font-size: 13px;
  margin-top: 5px;
  font-weight: 700;
}

/* エラーが起きている入力欄の枠線と背景 */
input.is-error, 
select.is-error, 
textarea.is-error {
  border-color: #e74c3c !important;
  background-color: #fdf2f2 !important;
}
.btn_container.confirm-btns{
  display: block;
  margin-top: 40px;
  text-align: center;
}
/* ============================================================
    reCAPTCHA v3 デザイン微調整
   ============================================================ */
.grecaptcha-badge {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.5s ease, visibility 0.5s ease, width 0.3s ease !important;
    pointer-events: none !important; 
    bottom: 90px !important;
    right: 0 !important;
    width: 70px !important;
    overflow: hidden !important;
    border-radius: 3px 0 0 3px !important;
    box-shadow: 0 0 5px rgba(0,0,0,0.2) !important;
}
.grecaptcha-badge:hover {
    width: 70px !important; 
}
body.show-recaptcha .grecaptcha-badge {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}
@media screen and (max-width: 768px) {
    .grecaptcha-badge {
        bottom: 20px !important;
        width: 70px !important;
    }
}
/* ============================================================
    ページ上部に戻るボタン (Back to Top)
   ============================================================ */

.c-pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 50px;
  height: 50px;
  background-color: var(--color-primary);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  transform: translateY(20px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* JSで付与される表示クラス */
.c-pagetop.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); 
}

/* マウスオーバー時（PCのみ） */
@media (any-hover: hover) {
  .c-pagetop:hover {
    opacity: 0.8;
    transform: translateY(-3px);
  }
}

/* 上向きの矢印（画像を使わずCSSの線で作成） */
.c-pagetop__arrow {
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-45deg);
  margin-top: 4px;
}

/* スマホ版の位置調整（画面下の固定ボタンと干渉しないように） */
@media screen and (max-width: 768px) {
  .c-pagetop {
    right: 15px;
    bottom: 115px;
    width: 45px;
    height: 45px;
  }
}
@media screen and (min-width: 769px) {
  .l-header__tel-item a {
    pointer-events: none; 
    cursor: default;
  }
}