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

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

html, body {
  scroll-behavior: smooth;
}

body {
  background: #fff;
  line-height: 1;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  body {
    min-width: 1200px;
  }
}

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

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

b, strong {
  font-weight: bolder;
}

@media screen and (min-width: 769px) {
  .only-sp {
    display: none !important;
  }
  br.only-pc {
    display: block !important;
    content: '';
  }
}
@media screen and (max-width: 768px) {
  .only-pc {
    display: none !important;
  }
  br.only-sp {
    display: block !important;
  }
}
.l-wrapper {
  overflow: hidden;
  width: 100%;
}

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

.l-fixed {
  bottom: 0;
  display: none;
  position: fixed;
  transition: 0.3s;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .l-fixed {
    left: 0;
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .l-fixed {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .l-fixed {
    width: 87vw;
  }
}
@media screen and (min-width: 1200px) {
  .l-fixed {
    width: 1044px;
  }
}
@media (any-hover: hover) {
  .l-fixed:hover {
    -webkit-filter: brightness(1.1);
            filter: brightness(1.1);
  }
}
.l-fixed.is-show {
  display: inherit;
}

.c-cta {
  display: flex;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-cta {
    align-items: center;
    flex-direction: column;
    gap: 2.604vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .c-cta {
    gap: 2.5vw;
    justify-content: center;
  }
}
@media screen and (min-width: 1200px) {
  .c-cta {
    gap: 30px;
    justify-content: center;
  }
}

.c-btn {
  display: block;
}
@media screen and (max-width: 768px) {
  .c-btn {
    width: 78.125vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .c-btn {
    width: 31.667vw;
  }
}
@media screen and (min-width: 1200px) {
  .c-btn {
    width: 380px;
  }
}
@media (any-hover: hover) {
  .c-btn:hover {
    opacity: 0.8;
  }
}

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

.p-kv__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-right: 0;
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .p-kv__inner {
    height: 162.109vw;
    align-items: flex-start;
    justify-content: flex-start;
    padding-left: 12vw;
    padding-top: 44vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-kv__inner {
    height: 61.083vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__inner {
    height: 733px;
  }
}

@media screen and (max-width: 768px) {
  .p-kv__title {
    padding-top: 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-kv__title {
    margin-inline: 0;
    padding-top: 0;
    width: auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title {
    margin-inline: 0;
    padding-top: 0;
    width: auto;
  }
}

.p-kv__list {
  margin-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-kv__list:not(.p-kv__list--text) {
    margin-block-start: 0;
    margin-inline-start: 0;
    width: auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-kv__list {
    width: auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__list {
    width: auto;
  }
}

.p-kv__cta {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-kv__cta {
    bottom: -7.813vw;
    left: 0;
    transform: none;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-kv__cta {
    bottom: -4.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__cta {
    bottom: -54px;
  }
}

@media screen and (max-width: 768px) {
  .p-problem {
    background: url(../images/problem_bg_sp.jpg) 50% 50% / cover no-repeat #051427;
    padding: 16vw 0 20vw;
  }
}
@media screen and (min-width: 769px) {
  .p-problem {
    background: url(../images/problem_bg_pc.jpg) 50% 50% / cover no-repeat #051427;
    padding: 90px 0 110px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem {
    padding: 7.5vw 0 9vw;
  }
}

.p-problem__inner {
  position: relative;
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem__title,
  .p-problem__list,
  .p-problem__text {
    margin-inline: auto;
    width: 65.833vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-problem__title,
  .p-problem__list,
  .p-problem__text {
    margin-inline: auto;
    width: 790px;
  }
}

.p-problem__list {
  display: grid;
}
@media screen and (max-width: 768px) {
  .p-problem__list {
    grid-template-columns: 89.583vw;
    gap: 3.906vw;
    margin-inline: auto;
    width: 89.583vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem__list {
    gap: 2.5vw;
    grid-template-columns: repeat(2, 1fr);
    -webkit-padding-end: 0.833vw;
            padding-inline-end: 0.833vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-problem__list {
    gap: 30px;
    grid-template-columns: repeat(2, 1fr);
    -webkit-padding-end: 10px;
            padding-inline-end: 10px;
  }
}

.p-problem__arrow {
  bottom: 0;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, 140%);
          transform: translate(-50%, 140%);
}
@media screen and (max-width: 768px) {
  .p-problem__arrow {
    width: 10.938vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem__arrow {
    width: 7vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-problem__arrow {
    width: 84px;
  }
}

@media screen and (max-width: 768px) {
  .p-solution {
    background: url(../images/solution_bg_sp.jpg) 0 0/100% auto no-repeat;
    padding: 10vw 5vw 12vw;
  }
}

/* SP solution タイトル・本文サイズ調整 */
@media screen and (max-width: 768px) {
  .p-solution__title--text { margin-bottom: 5vw; text-align: center; }
  .p-solution__title-sub { font-size: 4.5vw; text-align: center; }
  .p-solution__title-main { font-size: 6.5vw; text-align: center; }
  .p-solution__text--text { font-size: 3.8vw; gap: 3vw; text-align: left; }
  .p-solution__text--text p { font-size: 3.8vw; text-align: left; }
}
@media screen and (min-width: 769px) {
  .p-solution {
    background: url(../images/solution_bg_pc.jpg) 50% 0 / cover no-repeat;
    padding: 80px 0 100px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-solution {
    padding: 6.667vw 0 8.333vw;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-solution__title {
    margin-inline: auto;
    width: 82.5vw;
  }
  .p-solution__text {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 82.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-solution__title {
    margin-inline: auto;
    width: 990px;
  }
  .p-solution__text {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 990px;
  }
}

/* タイトル テキスト化 */
.p-solution__title--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-solution__title--text { margin-bottom: 8vw; }
}

.p-solution__title-sub {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 700;
  color: #333;
  letter-spacing: 0.08em;
  text-shadow: 0 0 20px #fff, 0 0 30px #fff, 2px 2px 8px rgba(255,255,255,0.9);
}
@media screen and (max-width: 768px) {
  .p-solution__title-sub { font-size: 6.5vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-solution__title-sub { font-size: 2.6vw; }
}
@media screen and (min-width: 1200px) {
  .p-solution__title-sub { font-size: 31px; }
}

.p-solution__title-main {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.06em;
  text-shadow: 0 0 20px #fff, 0 0 30px #fff, 2px 2px 8px rgba(255,255,255,0.9);
}
.p-solution__title-brand {
  color: #1a3a6b !important;
  text-shadow: none;
}
@media screen and (max-width: 768px) {
  .p-solution__title-main { font-size: 8.5vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-solution__title-main { font-size: 4.117vw; }
}
@media screen and (min-width: 1200px) {
  .p-solution__title-main { font-size: 49px; }
}

/* 本文テキスト：ゴシック体に変更 */
.p-solution__text--text {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400;
  color: #222;
  line-height: 1.9;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .p-solution__text--text {
    font-size: 3.9vw;
    padding: 0 5vw;
    gap: 4vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-solution__text--text { font-size: 1.417vw; gap: 1.25vw; align-items: flex-start; }
  .p-solution__text-center { text-align: left; }
  .p-solution__text-left { text-align: left; }
}
@media screen and (min-width: 1200px) {
  .p-solution__text--text { font-size: 17px; align-items: flex-start; }
  .p-solution__text-center { text-align: left; }
  .p-solution__text-left { text-align: left; }
}

.p-solution__text--text strong {
  font-weight: 700;
  color: #1a1a1a;
}

@media screen and (max-width: 768px) {
  .p-reasons {
    background: url(../images/reasons_bg_sp_01.jpg) 0 0/100% auto no-repeat, url(../images/reasons_bg_sp_02.jpg) 0 100%/100% auto no-repeat;
    background-color: #f0f4f8;
  }
}
@media screen and (min-width: 769px) {
  .p-reasons {
    background: url(../images/reasons_bg_pc.jpg) 50% 0 no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons {
    background-size: 166.667vw auto;
  }
}

.p-reasons__inner {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-reasons__inner {
    padding-block: 12vw 13.021vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__inner {
    padding-block: 6vw 12vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-reasons__inner {
    padding-block: 72px 140px;
  }
}

@media screen and (min-width: 769px) {
  .p-reasons__title {
    left: 0;
    position: absolute;
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__title {
    top: -7vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-reasons__title {
    top: -80px;
  }
}

@media screen and (max-width: 768px) {
  .p-reasons__cta {
    padding-block: 9.766vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__cta {
    margin-top: 8vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-reasons__cta {
    margin-top: 100px;
  }
}

.p-profit-model {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-profit-model {
    width: 89.583vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-profit-model {
    -webkit-margin-before: 3.75vw;
            margin-block-start: 3.75vw;
    width: 83.333vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-profit-model {
    -webkit-margin-before: 45px;
            margin-block-start: 45px;
    width: 1000px;
  }
}

@media screen and (max-width: 768px) {
  .p-support {
    background: url(../images/support_bg_sp.jpg) 0 0/100% auto no-repeat #e0e6f5;
  }
}
@media screen and (min-width: 769px) {
  .p-support {
    background: url(../images/support_bg_pc.jpg) 50% 0 no-repeat #e0e6f5;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-support {
    background-size: 166.667vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-our-salon {
    background: none;
    position: relative;
  }
  .p-our-salon__inner--text {
    padding-top: 100vw !important;
    padding-bottom: 10vw !important;
    position: relative;
    z-index: 1;
  }
  .p-our-salon::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/our-salon_bg_sp.jpg) top center / 100% auto no-repeat;
    z-index: 0;
    min-height: calc(100vw * 2.99);
  }
  .p-our-salon__inner--text::before {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .p-our-salon {
    background: url(../images/our-salon_bg_pc.jpg) 50% 0 / cover no-repeat #eee;
  }
}

/* inner: 固定heightをやめてpaddingベースに */
.p-our-salon__inner--text {
  height: auto !important;
  padding-block: 140px 80px;
}
@media screen and (max-width: 768px) {
  .p-our-salon__inner--text { padding-bottom: 14vw !important; }
}

/* 右カラム：ロゴ＋タイトル＋本文 → 右寄り・中央揃え */
.p-our-salon__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 60px;
  margin-left: 54%;
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .p-our-salon__content {
    align-items: center;
    text-align: center;
    margin-bottom: 8vw;
    margin-left: 0;
    width: 100%;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon__content { margin-left: 50%; margin-right: 0; }
}

/* ロゴ */
.p-our-salon__logo {
  margin-bottom: 16px;
  align-self: center;
  width: 100%;
  text-align: center;
}
.p-our-salon__logo img {
  filter: brightness(0) saturate(100%) invert(70%) sepia(10%) saturate(400%) hue-rotate(10deg);
}
@media screen and (max-width: 768px) {
  .p-our-salon__logo img { width: 40vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon__logo img { width: 18vw; }
}
@media screen and (min-width: 1200px) {
  .p-our-salon__logo img { width: 220px; }
}

/* タイトル */
.p-our-salon__title--text {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
  line-height: 1.4;
  text-align: center;
  align-items: center;
}
.p-our-salon__title-sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #333;
  letter-spacing: 0.06em;
  text-align: center;
  align-self: stretch;
}
.p-our-salon__title-main {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.04em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-our-salon__title-sub { font-size: 4.5vw; text-align: center; }
  .p-our-salon__title-main { font-size: 7vw; text-align: center; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon__title-sub { font-size: calc(1.925vw * 1.3); }
  .p-our-salon__title-main { font-size: 3.3vw; }
}
@media screen and (min-width: 1200px) {
  .p-our-salon__title-sub { font-size: calc(23.1px * 1.3); }
  .p-our-salon__title-main { font-size: 39.6px; }
}

/* 本文 */
.p-our-salon__text--text {
  max-width: 480px;
  text-align: center;
}
.p-our-salon__text--text p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400;
  color: #333;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-our-salon__text--text { text-align: center; max-width: 100%; transform: scale(0.9); transform-origin: top center; }
  .p-our-salon__text--text p { font-size: 4.4vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon__text--text p { font-size: calc(1.375vw * 1.1); }
}
@media screen and (min-width: 1200px) {
  .p-our-salon__text--text p { font-size: calc(16.5px * 1.1); }
}

/* 特徴カード：縦長・中央揃え */
.p-features--text {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  justify-items: center;
  margin-top: 300px;
}
@media screen and (max-width: 768px) {
  .p-features--text { display: block; margin-top: 8vw; }
  .p-features__carousel-wrapper { position: relative; width: 100%; overflow: hidden; }
  .p-features__carousel {
    display: flex; gap: 0;
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
    padding-left: 6vw;
  }
  .p-features__carousel .p-features__item--text {
    flex: 0 0 76vw; width: 76vw; max-width: 76vw;
    margin: 0 3vw 0 0;
    padding: calc(48px * 0.8) calc(20px * 0.8) calc(26px * 0.8);
  }
  .p-features__carousel .p-features__item--text:last-child { margin-right: 6vw; }
  .p-features__dots {
    display: flex; justify-content: center; gap: 8px;
    margin-top: 4vw; padding-bottom: 4vw;
  }
  .p-features__dots .dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(0,0,0,0.2); cursor: pointer; transition: background 0.2s;
  }
  .p-features__dots .dot.active { background: #D9BD8B; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-features--text { margin-top: 20vw; }
  .p-features__carousel-wrapper { display: contents; }
  .p-features__carousel { display: contents; }
  .p-features__dots { display: none; }
}
@media screen and (min-width: 1200px) {
  .p-features__carousel-wrapper { display: contents; }
  .p-features__carousel { display: contents; }
  .p-features__dots { display: none; }
}

.p-features__item--text {
  background: #fff;
  border-radius: 8px;
  padding: 60px 24px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  position: relative;
  width: 100%;
  max-width: 380px;
}
@media screen and (max-width: 768px) {
  .p-features__item--text { max-width: 100%; }
}

/* ゴールドバッジ：左上にくっつける */
.p-features__badge {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: linear-gradient(135deg, #D9BD8B, #b8973a);
  color: #1a1a1a;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 6px 16px;
  border-radius: 0 0 8px 0;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 27.6px;
  margin-bottom: 0;
}
.p-features__badge span {
  font-style: italic;
  font-size: 1.3em;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-features__badge { font-size: calc(7.02vw * 0.8); }
}

/* アイコン画像 */
.p-features__icon {
  margin-bottom: 16px;
}
.p-features__icon img {
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-features__icon img { width: calc(27vw * 0.8); height: calc(27vw * 0.8); object-fit: contain; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-features__icon img { width: 9.75vw; height: 9.75vw; object-fit: contain; }
}
@media screen and (min-width: 1200px) {
  .p-features__icon img { width: 117px; height: 117px; object-fit: contain; }
}

/* 特徴タイトル */
.p-features__title {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
  margin-bottom: 12px;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-features__title { font-size: calc(5.5vw * 0.8); }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-features__title { font-size: 2vw; }
}
@media screen and (min-width: 1200px) {
  .p-features__title { font-size: 24px; }
}

/* 特徴本文 */
.p-features__text {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400;
  color: #555;
  line-height: 1.8;
  text-align: center;
}
.p-features__text strong { font-weight: 700; color: #1a1a1a; }
@media screen and (max-width: 768px) {
  .p-features__text { font-size: calc(4vw * 0.8); }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-features__text { font-size: 1.417vw; }
}
@media screen and (min-width: 1200px) {
  .p-features__text { font-size: 17px; }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-interview__title {
    margin-inline: auto;
    width: 92.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-interview__title {
    margin-inline: auto;
    width: 1110px;
  }
}

.p-interview__movie {
  aspect-ratio: 16/9;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-interview__movie {
    width: 89.583vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-interview__movie {
    width: 62.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-interview__movie {
    width: 750px;
  }
}
.p-interview__movie iframe, .p-interview__movie video {
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-achievements {
    background: url(../images/achievements_bg_sp.jpg) 0 100%/100% auto no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .p-achievements {
    background: url(../images/achievements_bg_pc.jpg) 50% 100% no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-achievements {
    background-size: 166.667vw auto;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-achievements__title {
    margin-inline: auto;
    width: 92.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-achievements__title {
    margin-inline: auto;
    width: 1110px;
  }
}

.p-achievements__list {
  background: #fff;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-achievements__list {
    border-radius: 1.302vw;
    box-shadow: 1.302vw 1.302vw 1.302vw rgba(0, 0, 0, 0.2);
    padding: 3.906vw;
    width: 89.583vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-achievements__list {
    border-radius: 0.833vw;
    box-shadow: 0.833vw 0.833vw 0.833vw rgba(0, 0, 0, 0.2);
    padding: 4.167vw;
    width: 92.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-achievements__list {
    border-radius: 10px;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
    padding: 50px;
    width: 1110px;
  }
}
.p-achievements__list .slide-arrow {
  cursor: pointer;
  position: absolute;
  top: 50%;
}
@media screen and (max-width: 768px) {
  .p-achievements__list .slide-arrow {
    width: 6.51vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-achievements__list .slide-arrow {
    width: 5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-achievements__list .slide-arrow {
    width: 60px;
  }
}
.p-achievements__list .slide-arrow--prev {
  left: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-achievements__list .slide-arrow--next {
  right: 0;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

@media screen and (max-width: 768px) {
  .p-achievements__cta {
    padding-block: 11.068vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-achievements__cta {
    padding-block: 4.167vw 7.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-achievements__cta {
    padding-block: 50px 90px;
  }
}

.p-flow {
  background: #004c80;
}

/* ========== flowセクション テキストコーディング ========== */
.p-flow__inner--text {
  padding-block: 60px 80px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-flow__inner--text { padding-block: 10vw 12vw; }
}

/* タイトル */
.p-flow__title--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 28px;
  line-height: 1.3;
}
.p-flow__title-en {
  font-family: "Noto Serif JP", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.2em;
  opacity: 0.85;
}
.p-flow__title-ja {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-flow__title-en { font-size: 4vw; }
  .p-flow__title-ja { font-size: 7.5vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-flow__title-en { font-size: 1.5vw; }
  .p-flow__title-ja { font-size: 3vw; }
}
@media screen and (min-width: 1200px) {
  .p-flow__title-en { font-size: 18px; }
  .p-flow__title-ja { font-size: 36px; }
}

/* キャッチ吹き出し */
.p-flow__catch--text {
  display: table;
  margin: 0 auto 48px;
  background: radial-gradient(ellipse at center, #227097 0%, #0e3a5c 50%, #081F39 100%);
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 0.08em;
  border-radius: 50px;
  padding: 18px 28px;
  position: relative;
  white-space: nowrap;
}
.p-flow__catch--text::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  border: 12px solid transparent;
  border-top-color: #081F39;
  border-bottom: none;
  margin-top: -1px;
}
.p-flow__catch-gold {
  color: #D9BD8B;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-flow__catch--text { font-size: 3.8vw; padding: 2.5vw 5vw; margin-bottom: 8vw; white-space: normal; text-align: center; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-flow__catch--text { font-size: 3.15vw; }
}
@media screen and (min-width: 1200px) {
  .p-flow__catch--text { font-size: 34px; }
}

/* ステップグリッド */
.p-step--text {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px 0;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-step--text { grid-template-columns: 1fr; gap: 0; max-width: 88%; margin: 0 auto; }
}

/* ステップカード */
.p-step__item {
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 8px;
  min-height: 110px;
}
@media screen and (max-width: 768px) {
  .p-step__item {
    margin: 0;
    min-height: auto;
    padding: 4vw 5vw;
    flex-direction: row;
    align-items: center;
    gap: 3vw;
    border-radius: 8px;
  }
  .p-step__item:not(.p-step__item--no-arrow) { margin-bottom: 5vw; }
  .p-step__item:not(.p-step__item--no-arrow)::after {
    content: "";
    position: absolute;
    bottom: -4.5vw;
    left: 50%;
    transform: translateX(-50%);
    width: 0; height: 0;
    border-left: 4vw solid transparent;
    border-right: 4vw solid transparent;
    border-top: 3.5vw solid #D9BD8B;
    z-index: 3;
  }
}

/* 右矢印（カード右端に絶対配置） */
.p-step__arrow {
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 14px solid #D9BD8B;
  z-index: 2;
}
.p-step__item--no-arrow .p-step__arrow { display: none; }
@media screen and (max-width: 768px) {
  .p-step__arrow { display: none; }
}

/* STEPラベル */
.p-step__label {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-bottom: 8px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-step__label { margin-bottom: 0; flex-shrink: 0; }
}
.p-step__step {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #004c80;
  letter-spacing: 0.12em;
}
.p-step__num {
  font-family: "Noto Serif JP", Georgia, serif;
  font-style: normal;
  font-weight: 700;
  color: #D9BD8B;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-step__step { font-size: 3.5vw; }
  .p-step__num  { font-size: 7vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-step__step { font-size: 1.625vw; }
  .p-step__num  { font-size: 3.75vw; }
}
@media screen and (min-width: 1200px) {
  .p-step__step { font-size: 19px; }
  .p-step__num  { font-size: 45px; }
}

/* ステップ名 */
.p-step__name {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-step__name { font-size: 5vw; white-space: nowrap; }
  .p-step__name br { display: none; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-step__name { font-size: 2.5vw; }
}
@media screen and (min-width: 1200px) {
  .p-step__name { font-size: 30px; }
}

@media screen and (max-width: 768px) {
  .p-faq {
    background: url(../images/faq_bg_sp_01.jpg) 0 0/100% auto no-repeat, url(../images/faq_bg_sp_02.jpg) 0 100%/100% auto no-repeat #fbfbfd;
  }
}
@media screen and (min-width: 769px) {
  .p-faq {
    background: url(../images/faq_bg_pc.jpg) 50% 0 / cover no-repeat #fbfbfd;
  }
}

/* ========== FAQセクション テキストコーディング ========== */
.p-faq__inner--text {
  padding-block: 70px 90px;
}
@media screen and (max-width: 768px) {
  .p-faq__inner--text { padding-block: 12vw 14vw; width: 87%; margin: 0 auto; box-sizing: border-box; transform: scale(0.9); transform-origin: top center; }
}

/* タイトル */
.p-faq__title--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 48px;
  line-height: 1.3;
}
.p-faq__title-en {
  font-family: "Noto Serif JP", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #2a5298;
  letter-spacing: 0.2em;
}
.p-faq__title-ja {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.1em;
}
.p-flow__title-ja {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-faq__title-en { font-size: 4vw; }
  .p-faq__title-ja { font-size: 7vw; }
  .p-faq__title--text { margin-bottom: 8vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-faq__title-en { font-size: 1.5vw; }
  .p-faq__title-ja { font-size: 3vw; }
}
@media screen and (min-width: 1200px) {
  .p-faq__title-en { font-size: 18px; }
  .p-faq__title-ja { font-size: 36px; }
}

/* リスト */
.p-faq__list--text {
  display: flex;
  flex-direction: column;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-faq__list--text { max-width: 98vw; }
}

/* Q&Aアイテム */
.p-faq__item--text {
  padding-block: 28px;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.p-faq__item--text:first-child { border-top: 1px solid rgba(0,0,0,0.1); }
@media screen and (max-width: 768px) {
  .p-faq__item--text { padding-block: 5vw; gap: 3vw; }
}

/* Q行 */
.p-faq__q {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.p-faq__q-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #1a3a6b;
  color: #fff;
  font-family: "Noto Serif JP", Georgia, serif;
  font-style: italic;
  font-weight: 700;
  border-radius: 4px;
  font-size: 18px;
}
.p-faq__q-text {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.04em;
  line-height: 1.6;
  padding-top: 4px;
}
@media screen and (max-width: 768px) {
  .p-faq__q-badge { width: 7vw; height: 7vw; font-size: 4vw; }
  .p-faq__q-text { font-size: 4.8vw; }
  .p-faq__q { gap: 3vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-faq__q-text { font-size: 1.8vw; }
}
@media screen and (min-width: 1200px) {
  .p-faq__q-text { font-size: 21.6px; }
}

/* A行 */
.p-faq__a {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.p-faq__a-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #D9BD8B;
  color: #1a1a1a;
  font-family: "Noto Serif JP", Georgia, serif;
  font-style: italic;
  font-weight: 700;
  border-radius: 4px;
  font-size: 18px;
}
.p-faq__a-text {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400;
  color: #444;
  letter-spacing: 0.03em;
  line-height: 1.8;
  padding-top: 4px;
}
@media screen and (max-width: 768px) {
  .p-faq__a-badge { width: 7vw; height: 7vw; font-size: 4vw; }
  .p-faq__a-text { font-size: 4.56vw; }
  .p-faq__a { gap: 3vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-faq__a-text { font-size: 1.5vw; }
}
@media screen and (min-width: 1200px) {
  .p-faq__a-text { font-size: 18px; }
}/*# sourceMappingURL=style.css.map */

/* ========== supportセクション テキストコーディング ========== */

/* セクション padding */
.p-support__inner {
  padding-block: 60px 80px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-support__inner { padding-block: 10vw 14vw; overflow: visible; }
  .p-support { overflow: visible; }
}

/* リード吹き出し */
.p-support__lead--text {
  display: table;
  margin: 0 auto 32px;
  background: radial-gradient(ellipse at center, #227097 0%, #0e3a5c 50%, #081F39 100%);
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  border-radius: 50px;
  padding: 18px 28px;
  position: relative;
  white-space: nowrap;
}
.p-support__lead--text::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  border: 12px solid transparent;
  border-top-color: #081F39;
  border-bottom: none;
  margin-top: -1px;
}
.p-support__lead--text strong { font-weight: 700; color: #D9BD8B; }
@media screen and (max-width: 768px) {
  .p-support__lead--text { font-size: 4vw; padding: 2.5vw 6vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-support__lead--text { font-size: 3.6vw; }
}
@media screen and (min-width: 1200px) {
  .p-support__lead--text { font-size: 38px; }
}

/* タイトル */
.p-support__title--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 72px;
  line-height: 1.4;
}
.p-support__title-sub {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #1a1a1a;
  letter-spacing: 0.08em;
  text-shadow: 0 0 20px #fff, 0 0 30px #fff, 2px 2px 8px rgba(255,255,255,0.9);
}
.p-support__title-main {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.06em;
  text-shadow: 0 0 20px #fff, 0 0 30px #fff, 2px 2px 8px rgba(255,255,255,0.9);
}
.p-support__title-main em { font-style: normal; color: #1a1a1a; }
@media screen and (max-width: 768px) {
  .p-support__title-sub { font-size: 6.5vw; }
  .p-support__title-main { font-size: 7.5vw; }
  .p-support__title--text { margin-bottom: 8vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-support__title-sub { font-size: 2.6vw; }
  .p-support__title-main { font-size: 4.55vw; }
}
@media screen and (min-width: 1200px) {
  .p-support__title-sub { font-size: 31px; }
  .p-support__title-main { font-size: 55px; }
}

/* カードエリア */
.p-support__cards {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .p-support__cards {
    grid-template-columns: 1fr;
    gap: 8vw;
    max-width: 88%;
    margin: 0 auto;
    padding-top: 18vw;
  }

  /* カードを白背景・角丸 */
  .p-support__card {
    background: #fff;
    border-radius: 10px;
    padding: 0 0 5vw;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    position: relative;
  }

  /* タブをカード上辺にくっつける */
  .p-support__card-tab {
    clip-path: polygon(0% 0%, 100% 0%, 92% 100%, 8% 100%);
    border-radius: 0;
    display: inline-block;
    padding: 2vw 8vw;
    margin: 0 auto 4vw;
    font-size: 4.5vw;
    font-weight: 700;
    position: relative;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
  }
  /* 契約前カードを0.9倍・少し下に */
  .p-support__card--before {
    transform: scale(0.9);
    transform-origin: top center;
    margin-bottom: -3vw;
  }
}

/* 各カードのタブカラー */
.p-support__card--before .p-support__card-tab {
  background: #5FB2D6;
}
.p-support__card--after .p-support__card-tab {
  background: #0F88B2;
}
.p-support__card--open .p-support__card-tab {
  background: #014C80;
}

/* 円弧装飾 SVG */
.p-support__arc {
  position: absolute;
  width: 408px;
  height: 408px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%);
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .p-support__arc {
    width: 102vw;
    height: 102vw;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-support__arc { width: 33.6vw; height: 33.6vw; }
}

/* 契約前：2列にまたがって中央 */
.p-support__card--before {
  grid-column: 1 / 3;
  max-width: 300px;
  margin: 0 auto;
  width: 100%;
  transform: scale(1.1);
  transform-origin: top center;
  position: relative;
  top: -40px;
}
@media screen and (max-width: 768px) {
  .p-support__card--before { grid-column: 1; max-width: 100%; transform: scale(0.9); transform-origin: top center; margin-top: 0; margin-bottom: -3vw; }
}

/* カード共通 */
.p-support__card {
  background: #fff;
  border-radius: 12px;
  padding: 0 0 24px;
  text-align: left;
  position: relative;
  z-index: 1;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

/* タブ */
.p-support__card-tab {
  background: linear-gradient(135deg, #2ab5c8, #1a7fa0);
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 12px 40px;
  margin-bottom: 20px;
  font-size: 27px;
  /* 台形：上が広く、下が少し短い */
  clip-path: polygon(0% 0%, 100% 0%, 92% 100%, 8% 100%);
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-support__card-tab {
    font-size: 4.5vw;
    padding: 2vw 6vw;
    border-radius: 0;
    display: inline-block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    margin-bottom: 4vw;
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-support__card-tab { font-size: 1.5vw; }
}

/* リスト */
.p-support__card-list {
  list-style: none;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-support__card-list li {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 700;
  color: #222;
  line-height: 1.6;
  padding-left: 1.2em;
  position: relative;
  font-size: 14px;
}
.p-support__card-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #2ab5c8;
}
@media screen and (max-width: 768px) {
  .p-support__card-list li { font-size: 3.8vw; }
  .p-support__card-list { padding: 0 4vw; gap: 3vw; }
  .p-support__card--after .p-support__card-list li { font-size: 3.2vw; }
  .p-support__card--after .p-support__card-tab { font-size: 3.6vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-support__card-list li { font-size: 1.2vw; }
}
.p-support__card-note { font-size: 0.85em; color: #666; }

@media screen and (max-width: 768px) {
  /* テキスト・ダークパネル非表示 */
  .p-reasons__item--right .p-reasons__item-body,
  .p-reasons__item--left .p-reasons__item-body {
    display: none !important;
  }
  .p-reasons__item--right,
  .p-reasons__item--left {
    background: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .p-reasons__item--text::before {
    display: none !important;
  }

  /* リストを画面端いっぱいに */
  .p-reasons__list--text {
    gap: 6vw !important;
    width: 100vw !important;
    margin-left: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  /* l-inner のpadding を相殺 */
  .p-reasons__inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .p-reasons .l-inner {
    padding: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    max-width: 100% !important;
  }

  /* 各画像を縦に見切れないよう表示 */
  .p-reasons__item--text:nth-child(1) {
    background: url(../images/reasons_01_sp.png) top center / 100% auto no-repeat !important;
    min-height: 120vw;
    padding-top: 0;
    width: 100%;
    display: block;
  }
  .p-reasons__item--text:nth-child(2) {
    background: url(../images/reasons_02_sp.png) top center / 100% auto no-repeat !important;
    min-height: 120vw;
    padding-top: 0;
    width: 100%;
    display: block;
  }
  .p-reasons__item--text:nth-child(3) {
    background: url(../images/reasons_03_sp.png) top center / 100% auto no-repeat !important;
    min-height: 120vw;
    padding-top: 0;
    width: 100%;
    display: block;
  }
}

/* 吹き出しタイトル */
.p-reasons__title--text {
  position: relative;
  display: table;
  width: max-content;
  background: radial-gradient(ellipse at center, #227097 0%, #0e3a5c 50%, #081F39 100%);
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  border-radius: 50px;
  text-align: center;
  margin: 0 auto;
  white-space: nowrap;
  padding: 10px 24px;
  font-size: 16px;
  margin-bottom: 60px;
}
/* 吹き出し下三角 */
.p-reasons__title--text::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  border: 12px solid transparent;
  border-top-color: #081F39;
  border-bottom: none;
  margin-top: -1px;
}
@media screen and (max-width: 768px) {
  .p-reasons__title--text {
    font-size: calc(4vw * 1.3);
    padding: 2.5vw 6vw;
    margin-top: 12vw;
    margin-bottom: 10vw;
    border-radius: 8vw;
  }
  .p-reasons__title--text::after {
    bottom: -3vw;
    border-width: 1.8vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__title--text {
    font-size: 4.5vw;
    padding: 1vw 2.5vw;
    margin-bottom: 5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-reasons__title--text {
    font-size: 48px;
    padding: 18px 28px;
    margin-bottom: 60px;
  }
}

/* リスト */
.p-reasons__list--text {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .p-reasons__list--text { gap: 8vw; }
}

/* カード共通：テキストのみ・交互配置 */
.p-reasons__item--text {
  display: flex;
}
.p-reasons__item--right { justify-content: flex-end; }
.p-reasons__item--left  { justify-content: flex-start; }

.p-reasons__item-body {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
@media screen and (max-width: 768px) {
  .p-reasons__item-body { width: 100%; padding: 4vw 0; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item-body { width: 50%; padding: 1.5vw 0; }
}
@media screen and (min-width: 1200px) {
  .p-reasons__item-body { width: 500px; padding: 12px 0; }
}

/* 右寄りアイテム（01・03）→ 左（中心）に大きく寄せ */
.p-reasons__item--right .p-reasons__item-body {
  margin-right: 8%;
}
/* 左寄りアイテム（02）→ 右（中心）に大きく寄せ */
.p-reasons__item--left .p-reasons__item-body {
  margin-left: 8%;
}
@media screen and (max-width: 768px) {
  .p-reasons__item--right .p-reasons__item-body,
  .p-reasons__item--left .p-reasons__item-body {
    margin: 0;
  }
}

/* 理由01はもう少し上に */
.p-reasons__item--text:nth-child(1) .p-reasons__item-body {
  padding-top: 0;
  margin-top: -40px;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item--text:nth-child(1) .p-reasons__item-body {
    margin-top: -3.333vw;
  }
}
@media screen and (max-width: 768px) {
  .p-reasons__item--text:nth-child(1) .p-reasons__item-body {
    margin-top: 0;
  }
}

/* 理由02・03は少し下に */
.p-reasons__item--text:nth-child(2) .p-reasons__item-body,
.p-reasons__item--text:nth-child(3) .p-reasons__item-body {
  padding-top: 140px;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item--text:nth-child(2) .p-reasons__item-body,
  .p-reasons__item--text:nth-child(3) .p-reasons__item-body {
    padding-top: 11.667vw;
  }
}
@media screen and (max-width: 768px) {
  .p-reasons__item--text:nth-child(2) .p-reasons__item-body,
  .p-reasons__item--text:nth-child(3) .p-reasons__item-body {
    padding-top: 0;
  }
}

/* 「理由 + 番号」ラベル */
.p-reasons__item-label {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 12px;
}

.p-reasons__item-riyuu {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  color: #D9BD8B;
  border: none;
  border-top: 1px solid #D9BD8B;
  border-bottom: 1px solid #D9BD8B;
  padding: 2px 0;
  letter-spacing: 0.05em;
  line-height: 1;
  align-self: flex-end;
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .p-reasons__item-riyuu { font-size: 7.2vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item-riyuu { font-size: 2.6vw; }
}
@media screen and (min-width: 1200px) {
  .p-reasons__item-riyuu { font-size: 31px; }
}

.p-reasons__item-num {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 300;
  font-style: normal;
  color: #D9BD8B;
  line-height: 1;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .p-reasons__item-num { font-size: 14.3vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item-num { font-size: 6.417vw; }
}
@media screen and (min-width: 1200px) {
  .p-reasons__item-num { font-size: 77px; }
}

/* 見出し */
.p-reasons__item-title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.06em;
  line-height: 1.45;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .p-reasons__item-title { font-size: 6.5vw; margin-bottom: 3vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item-title { font-size: 2.917vw; }
}
@media screen and (min-width: 1200px) {
  .p-reasons__item-title { font-size: 35px; margin-bottom: 8px; }
}

/* 本文 */
.p-reasons__item-text {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 400;
  color: #fff;
  line-height: 1.85;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-reasons__item-text { font-size: 4.2vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__item-text { font-size: 1.583vw; }
}
@media screen and (min-width: 1200px) {
  .p-reasons__item-text { font-size: 19px; }
}

/* タイトル */
.p-problem__title--text {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
/* 「お悩み」だけ大きく */
.p-problem__title--text .big {
  font-size: 1.2em;
}

/* 各文字の上に金色の小円 */
.p-problem__title--text .dot-above {
  position: relative;
  display: inline-block;
}
.p-problem__title--text .dot-above::before {
  content: "";
  position: absolute;
  top: -0.45em;
  left: 50%;
  transform: translateX(-50%);
  width: 0.18em;
  height: 0.18em;
  border-radius: 50%;
  background: #D9BD8B;
}
@media screen and (max-width: 768px) {
  .p-problem__title--text { font-size: 7.5vw; margin-bottom: 6vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem__title--text { font-size: 3.75vw; margin-bottom: 3vw; }
}
@media screen and (min-width: 1200px) {
  .p-problem__title--text { font-size: 45px; margin-bottom: 36px; }
}

/* カードリスト */
.p-problem__list--text {
  list-style: none;
}

/* カード1枚 */
.p-problem__item--text {
  position: relative;
  background: rgba(235, 240, 248, 0.92);
  border-radius: 8px;
  padding: 36px 36px 36px 56px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  color: #1a1a1a;
  line-height: 1.8;
  backdrop-filter: blur(4px);
  min-height: 120px;
}
@media screen and (max-width: 768px) {
  .p-problem__item--text { font-size: 5.46vw; padding: 6vw 5vw 6vw 12vw; border-radius: 2vw; min-height: auto; }
}
@media screen and (min-width: 769px) {
  .p-problem__item--text { font-size: 1.95vw; }
}
@media screen and (min-width: 1200px) {
  .p-problem__item--text { font-size: 23px; }
}

/* チェックマーク（左上の青い角） */
.p-problem__check {
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 36px;
  background: #1a3a6b;
  border-radius: 8px 0 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-problem__check { width: 8vw; height: 8vw; font-size: 4.5vw; border-radius: 2vw 0 2vw 0; }
}

/* 強調テキスト（青・太字） */
.p-problem__item--text strong {
  color: #1a4fa0;
  font-weight: 700;
  display: block;
}

/* 下部テキスト */
.p-problem__text--text {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.7;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
@media screen and (max-width: 768px) {
  .p-problem__text--text { font-size: calc(7.8vw * 0.8); margin-top: 8vw; }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem__text--text { font-size: 3.9vw; margin-top: 3.5vw; }
}
@media screen and (min-width: 1200px) {
  .p-problem__text--text { font-size: 47px; margin-top: 42px; }
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;900&family=Noto+Serif+JP:wght@400;500&display=swap');

/* --- タイトル全体 --- */
.p-kv__title--text {
  display: flex;
  flex-direction: column;
  color: #fff;
  line-height: 1.2;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

@media screen and (min-width: 769px) {
  .p-kv__title--text {
    margin-top: 20px;
  }
}

/* 「未経験から」：明朝体・×1.3倍・中央揃え */
.p-kv__title-sub {
  display: block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-kv__title-sub {
    font-size: 10.5vw;
    margin-bottom: 0.5vw;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__title-sub {
    font-size: 6.76vw;
    margin-bottom: 0.2vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title-sub {
    font-size: 80px;
    margin-bottom: 2px;
  }
}

/* 「から」だけ少し小さく・字間を狭く */
.p-kv__title-kara {
  font-size: 0.78em;
  letter-spacing: 0.02em;
}

/* 「年商 6,000万」ブロック */
.p-kv__title-main {
  display: flex;
  align-items: center;
  line-height: 0.95;
  letter-spacing: -0.02em;
}

/* 「年商」：縦書き・長方形ボックス・高さ=数字の縦幅の半分 */
.p-kv__title-nensho {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-style: normal;
  color: #4B5B6C;
  background-color: #D9BD8B;
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 1;
  align-self: flex-end;
  margin-right: 0.1em;
  margin-bottom: 0.42em;
  padding: 0.08em 0.2em;
}
@media screen and (max-width: 768px) {
  .p-kv__title-nensho {
    font-size: 4vw;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__title-nensho {
    font-size: 3.8vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title-nensho {
    font-size: 46px;
  }
}

/* 「6,000万」数字部分：明朝体・イタリック・明るいゴールド */
.p-kv__title-number {
  display: inline-block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", Georgia, serif;
  font-weight: 700;
  font-style: italic;
  color: #D9BD8B;
  letter-spacing: -0.02em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-kv__title-number {
    font-size: 21vw;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__title-number {
    font-size: 12.35vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title-number {
    font-size: 148px;
  }
}

/* 「万」だけ0.6倍 */
.p-kv__title-number .man {
  font-size: 0.6em;
  display: inline;
  vertical-align: baseline;
}

/* 「全国 143 店舗」コンテナ */
.p-kv__title-zenkoyu {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
  margin-bottom: 0.2vw;
}
@media screen and (max-width: 768px) {
  .p-kv__title-zenkoyu {
    font-size: 10.5vw;
    margin-bottom: 0.5vw;
    justify-content: center;
    padding-left: -10vw;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__title-zenkoyu {
    font-size: 6.76vw;
    margin-bottom: 0.2vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title-zenkoyu {
    font-size: 80px;
    margin-bottom: 2px;
  }
}

/* 「全国」：小さい */
.p-kv__title-sub-small {
  display: inline;
  font-size: 0.36em;
  letter-spacing: 0.06em;
  margin-right: 0.05em;
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  font-weight: 400;
  position: relative;
  top: 0.6em;
}

/* 「143店舗」：大きい数字 */
.p-kv__title-number-sub {
  display: inline;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", Georgia, serif;
  font-weight: 700;
  font-style: italic;
  color: #D9BD8B;
  letter-spacing: -0.08em;
  line-height: 1;
  font-size: 1.08em;
  margin: 0 0.05em;
  position: relative;
  left: -0.08em;
}

/* 「店舗」：小さい */
.p-kv__title-sub-unit {
  display: inline;
  font-size: 0.36em;
  margin-left: 0.05em;
  color: #fff;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  font-weight: 400;
  position: relative;
  top: 0.6em;
}

/* 「※事例あり」の位置を店舗の右側、同じY座標に配置 */
.p-kv__title-catch-note {
  font-size: 0.4em;
  display: inline;
  color: #fff;
  margin-left: 0.1em;
  position: relative;
  top: 0em;
}

/* PC時に3行目に表示する「※事例あり」 */
.p-kv__title-catch-note-line {
  font-size: 0.42em;
  color: #fff;
  display: inline;
  position: relative;
  top: 0.3em;
}

/* 「実働ほぼゼロ。次世代の〜」：明朝体・中央揃え・×1.2倍 */
.p-kv__title-catch {
  display: block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "游明朝", serif;
  font-weight: 400;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-kv__title-catch {
    font-size: 3vw;
    margin-top: 1.5vw;
    text-align: left;
    padding-left: 2vw;
    white-space: normal;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__title-catch {
    font-size: 2.74vw;
    margin-top: 0.8vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title-catch {
    font-size: 32px;
    margin-top: 10px;
  }
}

/* --- バッジリスト --- */
.p-kv__list--text {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .p-kv__list--text {
    gap: 2.604vw;
    margin-block-start: 0;
    margin-inline-start: 0;
    width: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, auto);
  }
}
@media screen and (min-width: 769px) {
  .p-kv__list--text {
    gap: 1.25vw;
    margin-top: 2vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__list--text {
    gap: 15px;
    margin-top: 24px;
  }
}

.p-kv__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: radial-gradient(ellipse at 40% 35%,
    #FFF0A0 0%,
    #F0C830 20%,
    #C8940A 55%,
    #A07008 80%,
    #7A5000 100%);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  text-align: center;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-kv__badge {
    width: 22vw;
    height: 22vw;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__badge {
    width: 11.2vw;
    height: 11.2vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__badge {
    width: 134px;
    height: 134px;
  }
}

.p-kv__badge-text {
  display: block;
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 700;
  color: #321606;
  text-shadow: none;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .p-kv__badge-text {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 769px) {
  .p-kv__badge-text {
    font-size: 1.61vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__badge-text {
    font-size: 19px;
  }
}

/* =========================
       問い合わせフォーム：スクショ寄せ
       ========================= */
    :root{
      --accent: #18A9CF;     /* スクショっぽい青 */
      --text: #1a1a1a;
      --muted: #6b7280;
      --line: rgba(0,0,0,.08);
      --paper: #f6f7f8;
      --required: #e11d48;   /* 必須の赤 */
    }

    .contact-section{
      position: relative;
      padding: 64px 16px 80px;
      font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      color: var(--text);
      background: var(--paper);
      overflow: hidden;
    }

    /* 方眼紙（網）背景：線を2方向に敷く */
    .contact-section::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        repeating-linear-gradient(
          to right,
          rgba(0,0,0,0.06) 0px,
          rgba(0,0,0,0.06) 1px,
          transparent 1px,
          transparent 24px
        ),
        repeating-linear-gradient(
          to bottom,
          rgba(0,0,0,0.06) 0px,
          rgba(0,0,0,0.06) 1px,
          transparent 1px,
          transparent 24px
        );
      opacity: .55;
      pointer-events:none;
    }

    /* 背景の“白い紙”感（内側カード） */
    .contact-inner{
      position: relative;
      z-index: 1;
      max-width: 720px;
      margin: 0 auto;
      padding: 28px 18px 26px;
      background: rgba(255,255,255,.75);
      border: 1px solid rgba(0,0,0,.06);
      border-radius: 18px;
      backdrop-filter: blur(2px);
      box-shadow: 0 10px 30px rgba(0,0,0,.06);
    }

    /* 上部の“説明→でかいタイトル” */
    .contact-lead{
      text-align:center;
      line-height:1.3;
      margin-bottom: 18px;
    }

    .contact-lead .mini{
      display:inline-flex;
      align-items:center;
      gap: 10px;
      justify-content:center;
      font-size: 14px;
      color: #111;
      letter-spacing: .02em;
      margin-bottom: 12px;
    }

    .pill{
      display:inline-block;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,.12);
      background: rgba(255,255,255,.9);
      font-weight: 700;
      font-size: 12px;
      color: #111;
      transform: translateY(-1px);
    }

    .contact-lead h2{
      margin: 0;
      font-size: 44px; /* スクショの“無料資料”級 */
      letter-spacing: .06em;
      font-weight: 900;
      color: var(--accent);
    }

    .contact-lead .headline{
      margin-top: 10px;
      font-size: 42px; /* “ダウンロード！”級の太文字 */
      font-weight: 900;
      letter-spacing: .04em;
      color: #111;
    }

    .contact-lead .subline{
      margin-top: 12px;
      font-size: 14px;
      color: var(--muted);
      letter-spacing: .02em;
    }

    .contact-lead .subline strong{
      color: var(--accent);
      font-weight: 900;
    }

    /* フォーム */
    form{ margin-top: 18px; }

    .form-group{ margin-top: 18px; }

    .label-row{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      margin-bottom: 8px;
    }

    .label-row label{
      font-size: 16px;
      font-weight: 900;
      letter-spacing: .04em;
      color: var(--accent);     /* スクショっぽい“青い項目名” */
    }

    .req{
      display:inline-flex;
      align-items:center;
      gap: 6px;
      font-size: 13px;
      font-weight: 900;
      color: var(--required);
      letter-spacing: .02em;
      white-space: nowrap;
    }
    .req::before{
      content:"※";
      font-weight: 900;
    }

    .help{
      margin-top: 6px;
      font-size: 12px;
      color: var(--muted);
      line-height: 1.5;
    }

    /* 入力欄：スクショの“枠がしっかり＋薄影” */
    input[type="text"], input[type="email"], textarea{
      width:100%;
      padding: 14px 14px;
      border-radius: 12px;
      border: 1px solid rgba(0,0,0,.14);
      background: rgba(255,255,255,.95);
      font-size: 16px;
      outline: none;
      box-shadow: 0 4px 14px rgba(0,0,0,.05);
      transition: border .15s ease, box-shadow .15s ease, transform .15s ease;
      appearance:none;
      -webkit-appearance:none;
    }
    textarea{ resize: vertical; min-height: 140px; }

    input:focus, textarea:focus{
      border-color: rgba(24,169,207,.55);
      box-shadow: 0 6px 18px rgba(24,169,207,.18);
      transform: translateY(-1px);
    }

    /* “種別”の3択：スクショの箱っぽいラジオ */
    .choice-row{
      display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      margin-top: 10px;
    }

    .choice{
      position: relative;
    }

    .choice input{
      position:absolute;
      inset:0;
      opacity:0;
      cursor:pointer;
    }

    .choice .box{
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 10px;
      padding: 14px 14px;
      border-radius: 12px;
      border: 1px solid rgba(0,0,0,.14);
      background: rgba(255,255,255,.92);
      font-weight: 800;
      color: #111;
      letter-spacing: .03em;
      box-shadow: 0 4px 14px rgba(0,0,0,.04);
      transition: transform .15s ease, border .15s ease, box-shadow .15s ease;
      user-select:none;
    }

    .choice .dot{
      width: 16px; height: 16px;
      border-radius: 999px;
      border: 2px solid rgba(0,0,0,.25);
      background: transparent;
      display:inline-block;
      box-sizing:border-box;
    }

    .choice input:checked + .box{
      border-color: rgba(24,169,207,.6);
      box-shadow: 0 6px 18px rgba(24,169,207,.16);
      transform: translateY(-1px);
    }
    .choice input:checked + .box .dot{
      border-color: var(--accent);
      background: radial-gradient(circle at center, var(--accent) 0 45%, transparent 46% 100%);
    }

    /* 送信ボタン：スクショ寄せで“でかく・強い” */
    .form-submit{ margin-top: 26px; }
    .form-submit button{
      width:100%;
      border: none;
      border-radius: 16px;
      padding: 18px 16px;
      font-size: 20px;
      font-weight: 900;
      letter-spacing: .06em;
      color: #fff;
      background: linear-gradient(180deg, #1fb6d9, #1199bd);
      box-shadow: 0 14px 30px rgba(17,153,189,.25);
      cursor:pointer;
      transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
      /* ★追加 */
  display:flex;
  align-items:center;
  justify-content:center;
    }
    .form-submit button:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 36px rgba(17,153,189,.32);
      filter: brightness(1.02);
    }

    @media (max-width: 520px){
      .contact-inner{ padding: 22px 14px; border-radius: 16px; }
      .contact-lead h2{ font-size: 36px; }
      .contact-lead .headline{ font-size: 34px; }
      .choice-row{ grid-template-columns: 1fr; } /* スマホは縦積みの方がスクショっぽく綺麗 */
    }