/* =========================
   Reset CSS (LP / Form)
========================= */

/* Box sizing */

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

/* Margin reset */

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Body */

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* List */

ul,
ol {
  list-style: none;
  padding: 0;
}

/* Link */

a {
  text-decoration: none;
  color: inherit;
}

/* Image */

img {
  max-width: 100%;
  display: block;
}

/* Form */

input,
button,
textarea,
select {
  font: inherit;
  border: none;
  outline: none;
  background: transparent;
}

/* Button */

button {
  cursor: pointer;
}

/* Table */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  background: #fff;
  color: #000;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* =========================
   Header
========================= */

.header {
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 20px;
  line-height: 1;
  width: 100%;
}

.header__inner {
  max-width: 1185px;
  margin: 0 auto;
  display: flex;
  padding: 20px 0 19px;
  justify-content: space-between;
}

.header__brand {
  display: flex;
  gap: 30px;
  align-items: center;
}

.header__logo {
  display: inline-block;
  width: 221px;
  height: auto;
}

.header__text {
  font-size: clamp(17px, calc(19 / 1440 * 100vw), 19px);
  font-weight: 700;
}

.header__contact {
  display: flex;
  gap: 16px;
  align-items: baseline;
}

.header__time {
  font-size: clamp(15px, calc(17 / 1440 * 100vw), 17px);
  font-weight: 700;
}

.header__tel {
  color: #ff514f;
  font-family: "Roboto Slab", serif;
  font-size: clamp(15px, calc(28 / 1440 * 100vw), 28px);
  font-weight: 600;
  letter-spacing: 1.12px;
}

.header__tel-number {
  font-size: clamp(21px, calc(40 / 1440 * 100vw), 40px);
  letter-spacing: 0.01em;
}

/* ==========================
   PCではクリック不可
========================== */

@media screen and (min-width: 1024px) {
  .header__tel-number {
    pointer-events: none;
    cursor: default;
  }
}

@media (max-width: 1023px) {
  .header__inner {
    padding: 12px 0 12px;
    align-items: center;
  }

  .header__brand {
    flex-direction: column;
    gap: 6px;
  }

  .header__logo {
    width: clamp(143px, calc(143 * 100vw / 390), 221px);
  }

  .header__text {
    font-size: clamp(10px, calc(10 * 100vw / 390), 17px);
  }

  .header__time {
    display: none;
  }

  .header__tel {
    font-size: clamp(14px, calc(14 * 100vw / 390), 15px);
  }
}

/* =========================
   Layout
========================= */

.form-layout {
  padding-inline: 40px;
  flex: 1;
}

.form-layout__inner {
  max-width: 1080px;
  margin: 10px auto 88px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 64px;
}

.form-layout__content {
  flex: 1;
  min-width: 0;
}

.form-layout__form {
  flex: 1;
  min-width: 0;
  margin-top: 18px;
}

.form-layout__form-inner {
  padding: 26px 22px 40px;
  background: #effbff;
}

@media (max-width: 1023px) {
  .form-layout__form-inner {
    padding: 26px 20px 40px;
  }
}

/* =========================
   Guide
========================= */

.p-guide__title {
  display: flex;
  flex-direction: column;
}

.p-guide__title-main {
  font-size: 24px;
  font-weight: 700;
}


.p-guide__banner {
  margin-top: 31px;
  width: 508px;
  max-width: 100%;
}

.p-guide__banner img {
  width: 100%;
  height: auto;
}

.p-guide__about {
  margin-top: 24px;
  padding: 17px 45px 16px;
  border-radius: 8px;
  background: #fffceb;
}

.p-guide__heading-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.p-guide__heading {
  position: relative;
  padding-left: 38px;
  display: inline-block;
  margin: 0 auto;
  color: #00aaeb;
  font-size: 20px;
  font-weight: 700;
}

.p-guide__heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 22px;
  background-image: url("data:image/svg+xml,%3csvg%20fill='none'%20height='22'%20viewBox='0%200%2030%2022'%20width='30'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20stroke='%2300aaeb'%20stroke-linejoin='round'%20stroke-width='1.5'%3e%3cpath%20d='m25.75%202.75h2.5333c.2583%200%20.4667.201.4667.45v17.1c0%20.249-.2084.45-.4667.45h-12.6518c-.1307-.261-.476-.45-.8825-.45-.4066%200-.7519.189-.8774.45h-12.65493c-.258226%200-.46667-.201-.46667-.45v-17.1c0-.249.208444-.45.46667-.45h2.53333'/%3e%3cpath%20d='m14.75%205.75v-3'/%3e%3cpath%20d='m14.75%2019.75v-3'/%3e%3cpath%20d='m25.75%2010.7024v7.7538c-3.0302-.767-6.2174-.569-9.1328.567l-1.8672.7268-1.8672-.7268c-2.91639-1.136-6.10357-1.333-9.1328-.567v-17.24769c3.02923-.766031%206.21735-.568995%209.1328.56698l1.8672.72682%201.8672-.72682c2.9164-1.135975%206.1036-1.333011%209.1328-.56698z'/%3e%3cpath%20d='m14.7483%2013.9548c1.7574%200%203.182-1.389%203.182-3.1024%200-1.71341-1.4246-3.1024-3.182-3.1024-1.7573%200-3.1819%201.38899-3.1819%203.1024%200%201.7134%201.4246%203.1024%203.1819%203.1024z'/%3e%3cpath%20d='m17%2013.0469%202.7506%202.6818'/%3e%3c/g%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
}

.p-guide__list {
  margin-top: 9px;
}

.p-guide__list-item {
  position: relative;
  padding-left: 22px;
  font-size: 18px;
  line-height: 1.6;
}

.p-guide__list-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 14px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3csvg%20width='14'%20height='13'%20viewBox='0%200%2014%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.5%201.50012L6.05172%2010.5001L1.5%206.83133'%20stroke='%2300AAEB'%20stroke-width='3'%20stroke-linecap='round'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
}

.p-guide__preview {
  margin-top: 24px;
  display: flex;
  gap: 10px;
  width: 100%;
}

.p-guide__preview-image {
  width: 50%;
}

@media (max-width: 1023px) {
  .p-guide__header {
    display: none;
  }

  .p-guide__banner {
    width: 100%;
    margin-top: 25px;
  }

  .p-guide__about {
    padding: 14px 30px 16px;
  }

  .p-guide__list-item {
    font-size: clamp(16px, calc(16 * 100vw / 390), 18px);
    line-height: 1.4;
  }

  .p-guide__list-item:not(:last-of-type) {
    margin-bottom: 5px;
  }

  .p-guide__preview {
    flex-direction: column;
    gap: 18px;
  }

  .p-guide__preview-image {
    width: 100%;
  }

  .p-guide__preview-image img {
    width: 100%;
  }
}

/* =========================
   Step Indicator
========================= */

.p-form-step {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 13px;
  width: 345px;
}

.p-form-step__item {
  flex: 1;
  position: relative;
  text-align: center;
  padding-top: 28px;
  font-size: 12px;
  font-weight: 700;
  color: #c4c4c4;
}

.p-form-step__number {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #c4c4c4;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  padding-bottom: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.p-form-step__item::before {
  content: "";
  position: absolute;
  top: 12px;
  left: calc(-50% + 12px);
  width: calc(100% - 24px);
  height: 2px;
  background: #c4c4c4;
  z-index: 1;
}

.p-form-step__item:first-child::before {
  display: none;
}

.p-form-step__item.is-complete::before {
  background: #00aaeb;
}

.p-form-step__item.is-active::before {
  background: #00aaeb;
}

.p-form-step__item.is-active {
  color: #00aaeb;
}

.p-form-step__item.is-active .p-form-step__number {
  color: #00aaeb;
  background: #fff;
  border: 2px solid #00aaeb;
}

.p-form-step__item.is-complete .p-form-step__number {
  background: #00aaeb;
  color: transparent;
  border: none;
  background-image: url("data:image/svg+xml,%3csvg%20width='13'%20height='12'%20viewBox='0%200%2013%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11.5001%201.50012L5.63799%209.50012L1.50006%206.23898'%20stroke='white'%20stroke-width='3'%20stroke-linecap='round'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px 12px;
}

.p-form-step__item.is-complete .p-form-step__text {
  color: #00aaeb;
}

.p-form-note {
  line-height: 1;
  margin-bottom: 8px;
}

.p-form-note__text {
  display: inline-block;
  font-size: 14px;
  line-height: 1.8;
}

.p-form-note__required {
  display: inline-block;
  font-size: 12px;
  color: #f00;
  margin-left: -9px;
}

.p-form-note__period {
  letter-spacing: -0.3em;
}

@media (max-width: 1023px) {
  .p-form__header {
    display: block !important;
  }

  .p-form__title {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .p-form__title-main {
    display: block;
    font-size: clamp(24px, calc(24 * 100vw / 390), 36px);
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    margin-inline: auto;
    max-inline-size: 100%;
    word-break: keep-all;
  }


  .p-form__title-note {
    font-size: clamp(13px, calc(13 * 100vw / 390), 14px);
    text-align: center;
    margin-bottom: 24px;
    line-height: 1;
  }

  .p-form-step {
    display: none;
  }

  .p-form-note {
    display: none;
  }
}

/* =========================
   Form
========================= */

.p-form {
  width: 100%;
  padding: 0 10px;
}

.p-form__header {
  display: none;
}

.p-form__group {
  display: flex;
  flex-direction: column;
  position: relative;
  border: 0;
  padding: 0;
  margin: 0 0 8px 0;
}

.p-form__group:has(+ .c-button) {
  margin-bottom: 28px;
}

/* ラベル */

.p-form__label {
  font-size: 14px;
  margin-bottom: 4px;
}

/* 必須 */

.p-form__label--required::after {
  content: "*";
  margin-left: 5px;
  color: #e60012;
}

/* 入力エリア */

.p-form__control {
  flex: 1;
  position: relative;
}

/* 虫眼鏡アイコン */

.p-form__control-company::before {
  content: "";
  background-image: url("data:image/svg+xml,%3csvg%20width='23'%20height='23'%20viewBox='0%200%2023%2023'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M4.28799%2012.5332C5.41535%2013.6634%206.78429%2014.2285%208.3948%2014.2285C10.0053%2014.2285%2011.3743%2013.6634%2012.5016%2012.5332C13.629%2011.403%2014.1926%2010.0306%2014.1926%208.41602C14.1926%206.80143%2013.629%205.42904%2012.5016%204.29883C11.3743%203.16862%2010.0053%202.60352%208.3948%202.60352C6.78429%202.60352%205.41535%203.16862%204.28799%204.29883C3.16063%205.42904%202.59695%206.80143%202.59695%208.41602C2.59695%2010.0306%203.16063%2011.403%204.28799%2012.5332ZM16.1253%2014.2285L22.5271%2020.6465L20.5944%2022.584L14.1926%2016.166V15.1367L13.8303%2014.7734C12.3003%2016.1055%2010.4885%2016.7715%208.3948%2016.7715C6.05956%2016.7715%204.06655%2015.9642%202.41577%2014.3496C0.805257%2012.735%200%2010.7572%200%208.41602C0%206.07487%200.805257%204.097%202.41577%202.48242C4.06655%200.827474%206.05956%200%208.3948%200C10.73%200%2012.7029%200.827474%2014.3134%202.48242C15.924%204.097%2016.7292%206.07487%2016.7292%208.41602C16.7292%209.26367%2016.5279%2010.2324%2016.1253%2011.3223C15.7226%2012.3717%2015.2596%2013.2194%2014.7362%2013.8652L15.0986%2014.2285H16.1253Z'%20fill='%23A8A8A8'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  width: 23px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translateY(-50%);
}

/* selectタブの矢印アイコン */

.p-form__control-select {
  position: relative;
  width: fit-content;
}

.p-form__control-select::before {
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain
    no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain no-repeat;
  background-color: #000000;
  width: 10px;
  aspect-ratio: 10/17;
  position: absolute;
  right: 9%;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
}

.p-form__inline {
  display: flex;
  gap: 28px;
}

/* input */

.p-form__input,
.p-form__select {
  width: 100%;
  height: 50px;
  padding: 0 18px;
  font-size: 18px;
  border: 3px solid #cfcfcf;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

.p-form__input-company {
  border-radius: 30px;
  padding-left: 64px;
}

.p-form__input-half,
.p-form__select-half {
  width: 240px;
}

/* フォーカス */

.p-form__input:focus,
.p-form__select:focus {
  outline: none;
  border-color: #00aaeb;
}

.p-form__input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #000;
  transition: background-color 5000s ease-in-out 0s;
}

.p-form__input.is-error:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #ffe6e6 inset !important;
}

/* プレースホルダー */

.p-form__input::placeholder {
  color: #b5b5b5;
}

/* selectタグ */

.p-form__select {
  appearance: none;
  -webkit-appearance: none;
}

/* ラジオボタン */

.p-form__radio:first-of-type {
  margin-top: 4px;
}

.p-form__radio:not(:last-of-type) {
  margin-bottom: 13px;
}

.p-form__radio-input {
  display: none;
}

.p-form__radio-label {
  font-size: 16px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}

.p-form__radio-label:after,
.p-form__radio-label:before {
  content: "";
}

.p-form__radio-label::before {
  width: 24px;
  aspect-ratio: 1/1;
  border: 1px solid #c7c7c7;
  border-radius: 50%;
  background-color: #fff;
  display: block;
}

.p-form__radio-label:after {
  width: 16px;
  aspect-ratio: 1/1;
  background: #00aaeb;
  border-radius: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
}

.p-form__radio-input:checked + .p-form__radio-label:after {
  opacity: 1;
}

/* ラジオボタン */

.p-form__checkbox {
  margin-top: 28px;
}

.p-form__checkbox-input {
  display: none;
}

.p-form__checkbox-label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  font-size: 14px;
  cursor: pointer;
  width: fit-content;
  margin: 0 auto;
}

.p-form__checkbox-label::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #c7c7c7;
  border-radius: 4px;
  background: #fff;
}

.p-form__checkbox-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1%;
  transform: translateY(-50%);
  width: 14px;
  height: 13px;
  background-image: url("data:image/svg+xml,%3csvg%20width='14'%20height='13'%20viewBox='0%200%2014%2013'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.5%201.50012L6.05172%2010.5001L1.5%206.83133'%20stroke='%2300AAEB'%20stroke-width='3'%20stroke-linecap='round'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
}

.p-form__checkbox-input:checked + .p-form__checkbox-label::before {
  border-color: #00aaeb;
}

.p-form__checkbox-input:checked + .p-form__checkbox-label::after {
  opacity: 1;
}

.p-form__checkbox-label a {
  color: #00aaeb;
  text-decoration: underline;
}

.p-form__checkbox-label a:hover {
  text-decoration: none;
}

.p-form__error-msg {
  display: none;
  position: absolute;
  content: "";
  top: 0;
  left: 10px;
  transform: translateY(calc(-100% + 12px));
  border-radius: 8px;
  background: #fc0001;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  padding: 10.5px 16px;
  white-space: nowrap;
  z-index: 20;
}

.p-form__error-msg::after {
  content: "";
  position: absolute;
  left: 28px;
  bottom: -10px;
  width: 37px;
  height: 15px;
  background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' width='43' height='15' viewBox='0 0 43 15' fill='none'>\<path d='M21.1064 15L0 0H42.2129L21.1064 15Z' fill='%23FC0001'/>\</svg>");
  background-repeat: no-repeat;
  background-size: contain;
}

.p-form__input.is-error,
.p-form__select.is-error {
  background-color: #ffe6e6;
}

.p-form__checkbox-label .p-form__error-msg {
  top: -20px;
}

select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px white inset;
  -webkit-text-fill-color: #000;
}

/* コーチマーク */

.p-form__coachmark {
  line-height: 1;
  padding: 18px 18px 0;
  position: absolute;
  bottom: -123px;
  right: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-image: url("data:image/svg+xml,%3csvg%20width='320'%20height='132'%20viewBox='0%200%20320%20132'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cmask%20id='path-1-inside-1_1678_1709'%20fill='white'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M157.628%200.541119C158.397%20-0.180372%20159.595%20-0.180374%20160.364%200.541119L176.847%2016.0001H316C318.209%2016.0001%20320%2017.791%20320%2020.0001V128C320%20130.209%20318.209%20132%20316%20132H4C1.79086%20132%200%20130.209%200%20128V20.0001C0.000100114%2017.791%201.79092%2016.0001%204%2016.0001H141.146L157.628%200.541119Z'/%3e%3c/mask%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M157.628%200.541119C158.397%20-0.180372%20159.595%20-0.180374%20160.364%200.541119L176.847%2016.0001H316C318.209%2016.0001%20320%2017.791%20320%2020.0001V128C320%20130.209%20318.209%20132%20316%20132H4C1.79086%20132%200%20130.209%200%20128V20.0001C0.000100114%2017.791%201.79092%2016.0001%204%2016.0001H141.146L157.628%200.541119Z'%20fill='%23FFFFF0'%20fill-opacity='0.8'/%3e%3cpath%20d='M157.628%200.541119L156.26%20-0.917761L156.26%20-0.917659L157.628%200.541119ZM160.364%200.541119L161.732%20-0.917659L161.732%20-0.917759L160.364%200.541119ZM176.847%2016.0001L175.478%2017.4589L176.056%2018.0001H176.847V16.0001ZM320%2020.0001H322V20L320%2020.0001ZM316%20132V134V132ZM0%2020.0001L-2%2020V20.0001H0ZM4%2016.0001V14.0001V16.0001ZM141.146%2016.0001V18.0001H141.937L142.514%2017.4589L141.146%2016.0001ZM157.628%200.541119L158.996%202L158.996%202L160.364%200.541119L161.732%20-0.917759C160.194%20-2.36075%20157.799%20-2.36074%20156.26%20-0.917761L157.628%200.541119ZM160.364%200.541119L158.996%201.9999L175.478%2017.4589L176.847%2016.0001L178.215%2014.5413L161.732%20-0.917659L160.364%200.541119ZM176.847%2016.0001V18.0001H316V16.0001V14.0001H176.847V16.0001ZM316%2016.0001V18.0001C317.104%2018.0001%20318%2018.8955%20318%2020.0002L320%2020.0001L322%2020C322%2016.6865%20319.314%2014.0001%20316%2014.0001V16.0001ZM320%2020.0001H318V128H320H322V20.0001H320ZM320%20128H318C318%20129.105%20317.105%20130%20316%20130V132V134C319.314%20134%20322%20131.314%20322%20128H320ZM316%20132V130H4V132V134H316V132ZM4%20132V130C2.89543%20130%202%20129.105%202%20128H0H-2C-2%20131.314%200.686292%20134%204%20134V132ZM0%20128H2V20.0001H0H-2V128H0ZM0%2020.0001L2%2020.0002C2.00005%2018.8955%202.89558%2018.0001%204%2018.0001V16.0001V14.0001C0.686263%2014.0001%20-1.99985%2016.6866%20-2%2020L0%2020.0001ZM4%2016.0001V18.0001H141.146V16.0001V14.0001H4V16.0001ZM141.146%2016.0001L142.514%2017.4589L158.996%201.9999L157.628%200.541119L156.26%20-0.917659L139.777%2014.5413L141.146%2016.0001Z'%20fill='%2300AAEB'%20mask='url(%23path-1-inside-1_1678_1709)'/%3e%3c/svg%3e");
  background-size: contain;
  background-repeat: no-repeat;
  width: 320px;
  height: 132px;
}

.p-form__coachmark-title {
  font-size: 14px;
  font-weight: 700;
  color: #00aaeb;
  line-height: 1;
  margin-bottom: 5px;
}

.p-form__coachmark-text {
  font-size: 12px;
  line-height: 1.6;
}

.p-form__coachmark-annot {
  font-size: 12px;
  line-height: 1.6;
}

.p-form__coachmark-annot::before {
  content: "※";
}

@media (max-width: 1023px) {
  .p-form {
    padding: 0;
  }

  .p-form__group {
    margin-bottom: 17px;
  }

  .p-form__group:has(+ .c-button) {
    margin-bottom: 32px;
  }

  .p-form__label {
    font-size: clamp(14px, calc(14 * 100vw / 390), 18px);
    margin-bottom: 4px;
  }

  .p-form__control-select {
    width: 100%;
  }

  .p-form__control-select::before {
    width: clamp(9px, calc(9 * 100vw / 390), 10px);
    aspect-ratio: 9/14;
    right: 21px;
  }

  .p-form__control-company::before {
    width: clamp(19px, calc(19 * 100vw / 390), 23px);
    left: 22px;
  }

  .p-form__input,
  .p-form__select {
    height: 46px;
    font-size: clamp(14px, calc(14 * 100vw / 390), 18px);
  }

  .p-form__input-half,
  .p-form__select-half {
    width: 100%;
  }

  .p-form__input-company {
    padding-left: 49px;
  }

  .p-form__inline {
    flex-direction: column;
    gap: 8px;
  }

  .p-form__radio:not(:last-of-type) {
    margin-bottom: 11px;
  }

  .p-form__radio-label {
    font-size: clamp(14px, calc(14 * 100vw / 390), 16px);
    gap: 6px;
  }

  .p-form__radio-label::before {
    width: clamp(20px, calc(20 * 100vw / 390), 24px);
  }

  .p-form__radio-label:after {
    width: clamp(12px, calc(12 * 100vw / 390), 16px);
  }

  .p-form__checkbox {
    margin-top: 26px;
  }

  .p-form__checkbox-label {
    gap: 10px;
  }

  .p-form__checkbox-label::after {
    left: 3px;
  }

  .p-form__error-msg {
    transform: translateY(calc(-100% + 8px));
    border-radius: 6.23px;
    font-size: clamp(14px, calc(14 * 100vw / 390), 18px);
    padding: 8px 16px;
  }

  .p-form__error-msg::after {
    width: 29px;
    height: 12px;
    bottom: -8px;
    left: 22px;
  }
}

/* =========================
   Button
========================= */

.p-form__button {
  display: flex;
  gap: calc(20 / 444 * 100%);
  margin-top: 15px;
}

.p-form__button button {
  margin-top: 0;
}

.c-button--primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 64px;
  margin: 30px auto 0;
  background: #00aaeb;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 5%;
  border: none;
  border-radius: 36px;
  cursor: pointer;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
}

.c-button--primary::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: left top;
  background-color: #fff;
  content: "";
  transition: transform 0.3s;
}

.c-button--primary::after {
  content: "";
  border: 3px solid #00aaeb;
  border-radius: 36px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-button--primary span {
  display: inline-block;
  position: relative;
  z-index: 1;
}

.c-button--primary > span:first-child::after {
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain
    no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain no-repeat;
  background-color: #fff;
  width: 10px;
  aspect-ratio: 10/17;
  position: absolute;
  top: 50%;
  right: -35%;
  transform: translateY(-50%);
  transition: 0.3s;
}

/* Hide arrow when loading */
.c-button--primary.is-loading span::after {
  content: none;
}

/* Hide loader by default, show when loading */
.c-button--primary .simple-spinner {
  display: none;
}
.c-button--primary.is-loading .simple-spinner {
  display: inline-block;
  margin-left: 8px;
}
.c-button--primary:hover {
  color: #00aaeb;
}

.c-button--primary:hover::before {
  transform: scale(1, 1);
  transform-origin: left top;
}

.c-button--primary:hover span::after {
  background-color: #00aaeb;
}

.c-button--back {
  display: block;
  width: calc(141 / 444 * 100%);
  height: 64px;
  margin: 30px auto 0;
  background: #fff;
  color: #00aaeb;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 5%;
  border: none;
  border-radius: 36px;
  cursor: pointer;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
}

.c-button--back::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

.c-button--back::after {
  content: "";
  border: 3px solid #00aaeb;
  border-radius: 36px;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-button--back span {
  position: relative;
  display: block;
}

.c-button--back span::after {
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain no-repeat;
  background-color: #00aaeb;
  width: 8px;
  aspect-ratio: 8/12;
  position: absolute;
  top: 50%;
  left: 12%;
  transform: translateY(-50%) rotate(180deg);
}

.c-button--back:hover {
  opacity: 0.6;
}

.c-button--submit {
  position: relative;
  width: calc(283 / 444 * 100%);
}

#simple-loader {
  position: absolute;
  top: 35%;
  left: 80%;
  margin-left: 8px;
}

.c-button--primary.is-loading #simple-loader {
  display: inline-flex !important;
  align-items: center;
}

.simple-spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 2px solid #fff;
  border-top: 2px solid #3498db;
  border-radius: 50%;
  animation: simple-spin 0.8s linear infinite;
  vertical-align: middle;
}
@keyframes simple-spin {
  0% { transform: rotate(0deg);}
  100% { transform: rotate(360deg);}
}

@media (max-width: 1023px) {
  .p-form__button {
    flex-direction: column;
    margin-top: 25px;
    gap: 24px;
  }

  .c-button--primary {
    height: 56px;
    font-size: clamp(18px, calc(18 * 100vw / 390), 20px);
    letter-spacing: 0;
  }

  .c-button--primary span::after {
    width: clamp(9px, calc(9 * 100vw / 390), 10px);
    right: 5%;
    aspect-ratio: 9/14;
  }

  .c-button--back {
    height: 56px;
    font-size: clamp(18px, calc(18 * 100vw / 390), 20px);
    letter-spacing: 0;
    width: 200px;
    order: 2;
  }

  .c-button--back span::after {
    width: 9px;
    left: 8%;
    aspect-ratio: 9/14;
  }

  .c-button--submit {
    width: 100%;
  }
}

/* =========================
   Pagetop
========================= */

.pagetop {
  display: none;
  position: sticky;
  left: 0;
  bottom: 0;
  z-index: 1000;
  transform: translateY(30px);
  opacity: 0;
  pointer-events: none;
  transition: all 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
}

.pagetop a {
  position: absolute;
  right: 11px;
  bottom: 11px;
  width: 54px;
  aspect-ratio: 1/1;
  display: block;
  background: #87dcfd;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
  transition: 0.3s;
  font-size: 0;
}

@media (hover: hover) {
  .pagetop a:hover {
    opacity: 0.8;
  }
}

.pagetop a::before {
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain
    no-repeat;
  mask: url("data:image/svg+xml,%3csvg%20width='10'%20height='17'%20viewBox='0%200%2010%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1%2015.6055L8.30293%208.30254L1%200.999608'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") center / contain no-repeat;
  background-color: #fff;
  width: 15px;
  height: 26px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(270deg);
}

.pagetop.is-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

@media (max-width: 1023px) {
  .pagetop {
    display: block;
  }
}

/* =========================
   Footer
========================= */

.footer {
  background-color: #f6f6f6;
  padding: 0 20px;
}

.footer-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.footer-copy {
  display: block;
  font-size: 12px;
  color: #333;
  line-height: 1;
}

.footer-privacy-mark {
  width: 56px;
  height: auto;
}

/* =========================
   Utility
========================= */

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* =========================
   Responsive (1024)
========================= */

@media (max-width: 1023px) {
  .form-layout {
    max-width: 768px;
    margin: 0 auto;
    padding: 0;
  }

  .form-layout__inner {
    flex-direction: column;
    margin-top: 0;
    gap: 0;
  }

  .form-layout--reverse {
    flex-direction: column;
  }

  .form-layout__content,
  .form-layout__form {
    width: 100%;
  }

  .form-layout__content {
    order: 1;
    padding-inline: 20px;
  }

  .form-layout__form {
    margin-top: 16px;
  }
}

  .form-helper {
    display: none;
  }
/*$vite$:1*/