/***
    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;
  }
}
@media screen and (max-width: 768px) {
  .only-pc {
    display: none !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;
}
@media screen and (max-width: 768px) {
  .p-kv__inner {
    height: 162.109vw;
  }
}
@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 (min-width: 769px) and (max-width: 1199px) {
  .p-kv__title {
    margin-inline: auto;
    width: 65.833vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__title {
    margin-inline: auto;
    width: 790px;
  }
}

.p-kv__list {
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-kv__list {
    -webkit-margin-before: -4.557vw;
            margin-block-start: -4.557vw;
    -webkit-margin-start: 3.125vw;
            margin-inline-start: 3.125vw;
    width: 71.094vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-kv__list {
    width: 50vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-kv__list {
    width: 600px;
  }
}

.p-kv__cta {
  left: 0;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-kv__cta {
    bottom: -7.813vw;
  }
}
@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) 0 100%/100% auto no-repeat #051427;
  }
}
@media screen and (min-width: 769px) {
  .p-problem {
    background: url(../images/problem_bg_pc.jpg) 50% 100% no-repeat #051427;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-problem {
    background-size: 166.667vw auto;
  }
}

.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%, 50%);
          transform: translate(-50%, 50%);
}
@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;
  }
}
@media screen and (min-width: 769px) {
  .p-solution {
    background: url(../images/solution_bg_pc.jpg) 50% 0 no-repeat;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-solution {
    background-size: 166.667vw auto;
    height: 63.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-solution {
    height: 762px;
  }
}

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

@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;
  }
}
@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 {
    -webkit-padding-after: 13.021vw;
            padding-block-end: 13.021vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-reasons__inner {
    padding-block: 6vw 6.667vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-reasons__inner {
    padding-block: 72px 80px;
  }
}

@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: -4.5vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-reasons__title {
    top: -54px;
  }
}

@media screen and (max-width: 768px) {
  .p-reasons__cta {
    padding-block: 9.766vw;
  }
}

.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: url(../images/our-salon_bg_sp.jpg) 0 0/cover no-repeat;
  }
}
@media screen and (min-width: 769px) {
  .p-our-salon {
    background: url(../images/our-salon_bg_pc.jpg) 50% 0 no-repeat #eee;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon {
    background-size: 166.667vw auto;
  }
}

@media screen and (max-width: 768px) {
  .p-our-salon__inner {
    height: 298.698vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon__inner {
    height: 114.167vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-our-salon__inner {
    height: 1370px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-our-salon__title,
  .p-our-salon__text {
    margin-inline: auto 0;
    width: 54.167vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-our-salon__title,
  .p-our-salon__text {
    margin-inline: auto 0;
    width: 650px;
  }
}

@media screen and (max-width: 768px) {
  .p-features {
    position: relative;
  }
}
@media screen and (min-width: 769px) {
  .p-features {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .p-features .slide-arrow {
    cursor: pointer;
    position: absolute;
    top: 37.76vw;
    width: 10.938vw;
  }
  .p-features .slide-arrow--prev {
    left: 0;
  }
  .p-features .slide-arrow--next {
    right: 0;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-features__item {
    width: 31.667vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-features__item {
    width: 380px;
  }
}

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

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-flow__title,
  .p-flow__catch,
  .p-step {
    margin-inline: auto;
    width: 89.167vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-flow__title,
  .p-flow__catch,
  .p-step {
    margin-inline: auto;
    width: 1070px;
  }
}

@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 no-repeat #fbfbfd;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-faq {
    background-size: 166.667vw auto;
  }
}

@media screen and (min-width: 769px) and (max-width: 1199px) {
  .p-faq__title,
  .p-faq__list {
    margin-inline: auto;
    width: 89.167vw;
  }
}
@media screen and (min-width: 1200px) {
  .p-faq__title,
  .p-faq__list {
    margin-inline: auto;
    width: 1070px;
  }
}/*# sourceMappingURL=style.css.map */

/* =========================
       問い合わせフォーム：スクショ寄せ
       ========================= */
    :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; } /* スマホは縦積みの方がスクショっぽく綺麗 */
    }