/* =========================================================
consol log
========================================================= */
/* =========================================================
body
========================================================= */
body {
  background: #fff;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  word-break: break-word;
}

input, button, textarea, select {
  font-family: "Noto Sans JP", sans-serif;
  box-sizing: border-box;
  outline: none;
}

* {
  letter-spacing: 0.04em;
}

*:before, *:after {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

a[href*="tel:"] {
  text-decoration: underline;
}

@media (hover: hover) {
  a[href*="tel:"] {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (width <= 768px) {
  .pc-br {
    display: none;
  }
}
@media (769px <= width) {
  .sp-br {
    display: none;
  }
}
@container (width <= 768px) {
  .cont-pc-br {
    display: none;
  }
}
@container (769px <= width) {
  .cont-sp-br {
    display: none;
  }
}
@media (width <= 768px) {
  .pc-disp {
    display: none !important;
  }
}
@media (769px <= width) {
  .sp-disp {
    display: none !important;
  }
}
@media (hover: hover) {
  .opacity-link {
    transition: opacity 0.2s ease;
  }

  .opacity-link:hover {
    opacity: 0.4;
  }
}
.txt-link {
  text-decoration: underline;
}

@media (hover: hover) {
  .txt-link:hover {
    text-decoration: none;
  }
}
[class*=c-tag--] {
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding: 4px 6px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
}

@media (width <= 768px) {
  [class*=c-tag--] {
    font-size: 10px;
  }
}
@media (769px <= width) {
  [class*=c-tag--] {
    font-size: 14px;
  }
}
.c-tag--required {
  border-color: #2187FF;
  color: #2187FF;
}

.c-tag--optional {
  border-color: #727272;
  color: #727272;
}

.wrapper {
  min-width: 320px;
  overflow: clip;
}

.main-cont {
  position: relative;
}

@media (width <= 768px) {
  .main-cont {
    padding-bottom: 40px;
  }
}
@media (769px <= width) {
  .main-cont {
    padding-bottom: 80px;
  }
}
.safari-status-bars,
.safari-tab-bars {
  display: none;
}

body.is-safari .safari-status-bars {
  display: block;
  width: 100%;
  height: 5px;
  background: #000;
  mix-blend-mode: lighten;
  position: fixed;
  top: 0;
  pointer-events: none;
}

body.is-safari .safari-tab-bars {
  display: block;
  width: 100%;
  height: 4px;
  background: #000;
  mix-blend-mode: lighten;
  position: fixed;
  bottom: 0;
  pointer-events: none;
}

/* =========================================================
header
========================================================= */
.form-hd {
  background: #EBF4FF;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .form-hd {
    height: 70px;
  }
}
@media (769px <= width) {
  .form-hd {
    height: 100px;
  }
}
@media (width <= 768px) {
  .form-hd__logo {
    width: 80px;
  }
}
@media (769px <= width) {
  .form-hd__logo {
    width: 113px;
  }
}
.form-hd__logo a {
  display: block;
}

/* =========================================================
footer
========================================================= */
@media (width <= 768px) {
  .form-ft {
    padding: 0 10px 15px;
  }
}
@media (769px <= width) {
  .form-ft {
    padding: 0 30px 20px;
  }
}
.form-ft__in {
  background: linear-gradient(45deg, #f4f4f4 0%, #ebf4ff 100%);
  border-radius: 10px;
  position: relative;
}

@media (width <= 768px) {
  .form-ft__in {
    padding: 20px 0 10px;
  }
}
@media (769px <= width) {
  .form-ft__in {
    padding: 40px 0 30px;
  }
}
.form-ft__logo {
  width: clamp(1px, 21.33vw, 100px);
  margin: 0 auto;
}

.form-ft__logo a {
  display: block;
}

.form-ft__link {
  text-align: center;
}

@media (width <= 768px) {
  .form-ft__link {
    margin: 25px auto 0;
  }
}
@media (769px <= width) {
  .form-ft__link {
    margin: 30px auto 0;
  }
}
.form-ft__link a {
  color: #656565;
  line-height: 1.3;
  font-size: 12px;
}

.form-ft__copyright {
  margin: 30px auto 0;
  font-family: "Lato", sans-serif;
  color: rgba(0, 0, 0, 0.3);
  font-size: 10px;
  line-height: 1;
  text-align: center;
}

/* =========================================================
common
========================================================= */
/*------------------------------------------
title
------------------------------------------*/
.form-ttl01 {
  line-height: 1.66;
  text-align: center;
}

@media (width <= 768px) {
  .form-ttl01 {
    font-size: 16px;
  }
}
@media (769px <= width) {
  .form-ttl01 {
    font-size: 24px;
  }
}
@media (width <= 768px) {
  .form-ttl01 + * {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .form-ttl01 + * {
    margin: 30px auto 0;
  }
}
/*------------------------------------------
button
------------------------------------------*/
.c-btn01 {
  position: relative;
}

.c-btn01 a,
.c-btn01 button,
.c-btn01 .dummy {
  width: 100%;
  border-radius: 70px;
  background: #2187FF;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media (width <= 768px) {
  .c-btn01 a,
.c-btn01 button,
.c-btn01 .dummy {
    height: 50px;
    gap: 5px;
  }
}
@media (769px <= width) {
  .c-btn01 a,
.c-btn01 button,
.c-btn01 .dummy {
    height: 70px;
    gap: 10px;
  }
}
.c-btn01 input[type=submit] {
  width: 100%;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.c-btn01__en {
  font-family: "Lato", sans-serif;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-btn01__en {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-btn01__en {
    font-size: 13px;
  }
}
.c-btn01__ja {
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-btn01__ja {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-btn01__ja {
    font-size: 15px;
  }
}
.c-btn01.arrow a::after,
.c-btn01.arrow button::after,
.c-btn01.arrow .dummy::after {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../images/ico_arrow01.svg) no-repeat center/contain;
}

.c-btn01.arrow.down a::after,
.c-btn01.arrow.down button::after,
.c-btn01.arrow.down .dummy::after {
  transform: rotate(90deg);
}

.c-btn01.arrow-re a::before,
.c-btn01.arrow-re button::before,
.c-btn01.arrow-re .dummy::before {
  content: "";
  width: 12px;
  height: 10px;
  background: url(../images/ico_arrow02.svg) no-repeat center/contain;
  transform: scale(-1, -1);
}

.c-btn01.white a,
.c-btn01.white button,
.c-btn01.white .dummy {
  color: #2187FF;
  background: #fff;
}

.c-btn01.white.arrow a::before,
.c-btn01.white.arrow button::before,
.c-btn01.white.arrow .dummy::before {
  background: url(../images/ico_arrow02.svg) no-repeat center/contain;
}

.c-btn01.border-b a,
.c-btn01.border-b button,
.c-btn01.border-b .dummy {
  border: 1px solid #2187FF;
  color: #2187FF;
  background: none;
}

.c-btn01.border-b.arrow a::before,
.c-btn01.border-b.arrow button::before,
.c-btn01.border-b.arrow .dummy::before, .c-btn01.border-b.arrow-re a::before,
.c-btn01.border-b.arrow-re button::before,
.c-btn01.border-b.arrow-re .dummy::before {
  background: url(../images/ico_arrow02.svg) no-repeat center/contain;
}

@media (hover: hover) {
  .c-btn01 a,
.c-btn01 button {
    transition: background 0.2s ease;
  }

  .c-btn01 a:hover,
.c-btn01 button:hover {
    background: #55A3FF;
  }

  .c-btn01:has(.dummy) .dummy {
    transition: background 0.2s ease;
  }

  .c-btn01:has(.dummy):hover .dummy {
    background: #55A3FF;
  }

  .c-btn01.border-b a,
.c-btn01.border-b button {
    transition: opacity 0.2s ease;
  }

  .c-btn01.border-b a:hover,
.c-btn01.border-b button:hover {
    opacity: 0.6;
    background: none;
  }

  .c-btn01.border-b:has(.dummy) .dummy {
    transition: opacity 0.2s ease;
  }

  .c-btn01.border-b:has(.dummy):hover .dummy {
    opacity: 0.6;
    background: none;
  }
}
@media (hover: hover) {
  .c-btn01:has(.dummy) .dummy {
    transition: background 0.2s ease;
  }

  .c-btn01:has(.dummy) .dummy:hover {
    background: #55A3FF;
  }
}
/*------------------------------------------
card
------------------------------------------*/
.c-card01 {
  background: #F4F4F4;
  border-radius: 5px;
  position: relative;
  display: grid;
}

@media (width <= 768px) {
  .c-card01 {
    padding: 20px 6.25%;
    grid-template-columns: 22.4vw 1fr;
    grid-template-rows: repeat(2, max-content) 1fr;
    grid-template-areas: "title title" "image price" "list list";
    gap: 0 10px;
  }
}
@media (769px <= width) {
  .c-card01 {
    padding: 40px;
  }
}
@media (769px <= width) {
  .c-card01 {
    display: grid;
    grid-template-columns: 22.69vw 1fr;
    grid-template-rows: repeat(2, max-content) 1fr;
    grid-template-areas: "image title" "image price" "image list";
    gap: 0 clamp(1px, 2.92vw, 40px);
  }
}
.c-card01__ttl {
  grid-area: title;
  font-weight: 500;
}

@media (width <= 768px) {
  .c-card01__ttl {
    padding: 0 0 20px;
    font-size: 12px;
    line-height: 1.83;
  }
}
@media (769px <= width) {
  .c-card01__ttl {
    font-size: 18px;
    line-height: 2;
  }
}
.c-card01__img {
  grid-area: image;
  aspect-ratio: 310/223;
}

.c-card01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card01__wrap {
  height: -moz-fit-content;
  height: fit-content;
  grid-area: price;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px 15px;
}

@media (769px <= width) {
  .c-card01__wrap {
    padding: 20px 0 0;
  }
}
.c-card01__tag {
  border: 1px solid #2187FF;
  border-radius: 3px;
  color: #2187FF;
  line-height: 1;
  text-align: center;
}

@media (width <= 768px) {
  .c-card01__tag {
    min-width: 75px;
    padding: 4px 10px;
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card01__tag {
    min-width: 90px;
    padding: 5px 14px;
    font-size: 12px;
  }
}
.c-card01__price {
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0;
}

@media (width <= 768px) {
  .c-card01__price {
    width: 100%;
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card01__price {
    font-size: 14px;
  }
}
.c-card01__price .strong {
  font-family: "Lato", sans-serif;
  color: #2187FF;
  letter-spacing: 0;
}

@media (width <= 768px) {
  .c-card01__price .strong {
    font-size: 1.45em;
  }
}
@media (769px <= width) {
  .c-card01__price .strong {
    font-size: 2.1em;
  }
}
.c-card01__price .tax {
  font-size: 0.7em;
}

.c-card01__list01 {
  grid-area: list;
}

@media (width <= 768px) {
  .c-card01__list01 {
    padding: 5px 0 0;
  }
}
@media (769px <= width) {
  .c-card01__list01 {
    padding: 15px 0 0;
  }
}
.c-card01__list01 .bundle {
  display: flex;
  border-bottom: 1px solid #C6C6C6;
  line-height: 1.8;
}

@media (width <= 768px) {
  .c-card01__list01 .bundle {
    padding: 10px 0;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .c-card01__list01 .bundle {
    padding: 15px 0;
    font-size: 14px;
  }
}
.c-card01__list01 dt {
  color: #797979;
  font-weight: 400;
}

@media (width <= 768px) {
  .c-card01__list01 dt {
    width: 65px;
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-card01__list01 dt {
    width: 80px;
  }
}
.c-card01__list01 dd {
  flex: 1;
}

/*------------------------------------------
step
------------------------------------------*/
.form-step {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .form-step {
    gap: 40px;
  }
}
@media (769px <= width) {
  .form-step {
    gap: 50px;
  }
}
@media (width <= 768px) {
  .form-step + * {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .form-step + * {
    margin: 40px auto 0;
  }
}
[class*=form-step__item] {
  aspect-ratio: 1/1;
  border: 1px solid #797979;
  border-radius: 50%;
  color: #797979;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media (width <= 768px) {
  [class*=form-step__item] {
    width: clamp(1px, 13.33vw, 50px);
  }
}
@media (769px <= width) {
  [class*=form-step__item] {
    width: 70px;
  }
}
[class*=form-step__item]::after {
  content: "";
  width: 10px;
  height: 12px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background: #2187FF;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media (width <= 768px) {
  [class*=form-step__item]::after {
    left: calc(100% + 15px);
  }
}
@media (769px <= width) {
  [class*=form-step__item]::after {
    left: calc(100% + 20px);
  }
}
[class*=form-step__item]:last-child::after {
  content: none;
}

body.page-select .form-step__item--select,
body.page-form .form-step__item--input,
body.page-confirm .form-step__item--confirm,
body.page-thanks .form-step__item--thanks {
  background: #2187FF;
  border: none;
  color: #fff;
}

/*------------------------------------------
box
------------------------------------------*/
@media (width <= 768px) {
  .form-box + .form-box {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .form-box + .form-box {
    margin: 30px auto 0;
  }
}
.form-box__head .strong {
  font-weight: 500;
}

.form-box__head [class*=c-tag--] {
  font-weight: 400;
  margin-left: 10px;
}

@media (width <= 768px) {
  .form-box__body {
    margin: 8px auto 0;
  }
}
@media (769px <= width) {
  .form-box__body {
    margin: 10px auto 0;
  }
}
@media (width <= 768px) {
  [class*=form-box__list] {
    padding: 10px 0 0;
  }
}
@media (769px <= width) {
  [class*=form-box__list] {
    padding: 15px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 22px 60px;
  }
}
@media (width <= 768px) {
  [class*=form-box__list] > * + * {
    margin: 15px auto 0;
  }
}
@media (width <= 768px) {
  [class*=form-box__list] + * {
    margin: 15px auto 0;
  }
}
@media (769px <= width) {
  [class*=form-box__list] + * {
    margin: 10px auto 0;
  }
}
[class*=form-box__list] + .c-input input {
  border-color: #C6C6C6 !important;
}

.form-box__ymd {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (width <= 768px) {
  .form-box__ymd {
    flex-wrap: wrap;
  }
}
@media (width <= 768px) {
  .form-box__ymd .c-select {
    width: calc(100% - 35px);
  }
}
@media (769px <= width) {
  .form-box__ymd .c-select {
    flex: 1;
  }
}
.form-box__flex {
  display: flex;
  align-items: center;
  gap: 10px;
}

@media (width <= 768px) {
  .form-box__flex {
    flex-wrap: wrap;
  }
}
@media (width <= 768px) {
  .form-box__flex .c-select,
.form-box__flex .c-input {
    width: 50%;
  }
}
@media (769px <= width) {
  .form-box__flex .c-select,
.form-box__flex .c-input {
    width: 33.33%;
  }
}
.form-box.js-checked {
  display: none;
}

/*------------------------------------------
form
------------------------------------------*/
.c-input input[type=text] {
  width: 100%;
  background: #fff;
  border: 1px solid #C6C6C6;
  border-radius: 4px;
}

@media (width <= 768px) {
  .c-input input[type=text] {
    height: 40px;
    padding: 0 12px;
  }
}
@media (769px <= width) {
  .c-input input[type=text] {
    height: 44px;
    padding: 0 20px;
  }
}
@media (769px <= width) {
  .c-input.w-type01 {
    width: 66.66%;
  }
}
@media (769px <= width) {
  .c-input.w-type02 {
    width: 41.66%;
  }
}
.c-radio label {
  cursor: pointer;
}

.c-radio input[type=radio] {
  display: none;
}

.c-radio .txt {
  letter-spacing: 0.06em;
}

.c-radio .txt::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #D1D1D1;
  background: #fff;
  vertical-align: text-top;
}

@media (width <= 768px) {
  .c-radio .txt::before {
    width: 18px;
    margin-right: 7px;
  }
}
@media (769px <= width) {
  .c-radio .txt::before {
    width: 22px;
    margin-right: 10px;
  }
}
.c-radio .small {
  color: #939393;
  letter-spacing: 0.06em;
  font-size: 0.8em;
}

.c-radio input[type=radio]:checked + .txt::before {
  background: radial-gradient(circle, #2187FF 0%, #2187FF 40%, #fff 40%, #fff 100%);
}

.c-checkbox label {
  cursor: pointer;
}

.c-checkbox input[type=radio] {
  display: none;
}

.c-checkbox .txt {
  letter-spacing: 0.06em;
}

.c-checkbox .txt::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  border-radius: 3px;
  border: 1px solid #D1D1D1;
  background: #fff;
  vertical-align: sub;
}

@media (width <= 768px) {
  .c-checkbox .txt::before {
    width: 16px;
    margin-right: 7px;
  }
}
@media (769px <= width) {
  .c-checkbox .txt::before {
    width: 22px;
    margin-right: 10px;
  }
}
.c-checkbox input[type=checkbox]:checked + .txt::before {
  border-color: #2187FF;
  background: #2187FF url(../images/ico_check.svg) no-repeat center/60% auto;
}

.c-file input[type=file] {
  min-width: 300px;
  cursor: pointer;
}

.c-file input[type=file]::file-selector-button {
  padding: 0 15px;
  border: 1px solid #C6C6C6;
  border-radius: 4px;
  background: #E0E0E0 url(../images/ico_file.svg) no-repeat calc(100% - 13px) center/18px auto;
  letter-spacing: 0.04em;
  text-align: left;
}

@media (width <= 768px) {
  .c-file input[type=file]::file-selector-button {
    width: 147px;
    height: 40px;
  }
}
@media (769px <= width) {
  .c-file input[type=file]::file-selector-button {
    width: 170px;
    height: 50px;
  }
}
.c-textarea textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #C6C6C6;
  border-radius: 4px;
}

@media (width <= 768px) {
  .c-textarea textarea {
    height: 238px;
    padding: 10px 12px;
  }
}
@media (769px <= width) {
  .c-textarea textarea {
    height: 284px;
    padding: 10px 20px;
  }
}
.c-select {
  background: #fff;
  border: 1px solid #C6C6C6;
  border-radius: 4px;
  position: relative;
}

@media (769px <= width) {
  .c-select {
    width: 50%;
  }
}
.c-select::after {
  content: "";
  width: 13px;
  height: 10px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #1862B9;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

@media (width <= 768px) {
  .c-select::after {
    right: 10px;
  }
}
@media (769px <= width) {
  .c-select::after {
    right: 10px;
  }
}
.c-select select {
  width: 100%;
  position: relative;
  z-index: 1;
  cursor: pointer;
}

@media (width <= 768px) {
  .c-select select {
    height: 40px;
    padding: 0 12px;
  }
}
@media (769px <= width) {
  .c-select select {
    height: 44px;
    padding: 0 20px;
  }
}
@media (769px <= width) {
  .c-select.w-type01 {
    width: 66.66%;
  }
}
@media (769px <= width) {
  .c-select.w-type02 {
    width: 41.66%;
  }
}
/*------------------------------------------
calender
------------------------------------------*/
.c-calender {
  width: clamp(1px, 69.33vw, 260px);
  padding: 3px;
  border: 1px solid #C6C6C6;
  background: #fff;
}

.c-calender__head {
  background: #C6C6C6;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-calender__head .month {
  font-style: 15px;
  font-weight: 700;
}

.c-calender__head .btn {
  width: 30px;
  height: 30px;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.c-calender__head .btn::before {
  content: "";
  width: 50%;
  height: 50%;
  background: url(../images/ico_arrow03.svg) no-repeat center/contain;
}

.c-calender__head .btn.no-month {
  opacity: 0.3;
  pointer-events: none;
}

.c-calender__head .prev {
  transform: scale(-1, -1);
}

.c-calender__body {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 3px;
}

.c-calender__body th,
.c-calender__body td {
  height: 30px;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  align-items: center;
}

.c-calender__body td.day {
  border: 1px solid #C6C6C6;
  background: #EDEDED;
  cursor: pointer;
}

.c-calender__body td.no-link {
  pointer-events: none;
  opacity: 0.5;
}

/*------------------------------------------
error
------------------------------------------*/
.err-txt {
  margin: 5px auto 0;
  color: #F56161;
}

@media (width <= 768px) {
  .err-txt {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .err-txt {
    font-size: 14px;
  }
}
.err .c-input input[type=text] {
  border-color: #F56161;
}

.err .c-radio .txt::before,
.err .c-checkbox .txt::before {
  border-color: #F56161;
}

.err .c-textarea textarea {
  border-color: #F56161;
}

.err .c-select {
  border-color: #F56161;
}

/*------------------------------------------
breadcrumb
------------------------------------------*/
@media (width <= 768px) {
  .c-breadcrumb {
    padding: 20px 5.55%;
  }
}
@media (769px <= width) {
  .c-breadcrumb {
    padding: 40px 8.35vw;
  }
}
.c-breadcrumb__item {
  display: inline;
  margin-right: 15px;
  color: #797979;
  line-height: 1.3;
}

@media (width <= 768px) {
  .c-breadcrumb__item {
    font-size: 11px;
  }
}
@media (769px <= width) {
  .c-breadcrumb__item {
    font-size: 12px;
  }
}
.c-breadcrumb__item::after {
  content: "";
  width: 6px;
  height: 10px;
  display: inline-block;
  margin-left: 15px;
  background: url(../images/ico_arrow03.svg) no-repeat center/contain;
  vertical-align: middle;
}

.c-breadcrumb__item:last-child {
  margin-right: 0;
}

.c-breadcrumb__item:last-child::after {
  content: none;
}

/* =========================================================
contents
========================================================= */
/*------------------------------------------
head
------------------------------------------*/
@media (width <= 768px) {
  .form-head {
    padding: 30px 5.55%;
  }
}
@media (769px <= width) {
  .form-head {
    padding: 54px calc(8.35vw + 6.25%);
  }
}
.form-head .sec-in > * + * {
  margin: 20px auto 0;
}

.form-head__txt01 {
  letter-spacing: 0.06em;
  line-height: 1.85;
}

@media (width <= 768px) {
  .form-head__txt01 {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .form-head__txt01 {
    font-size: 18px;
  }
}
.form-head__txt02 {
  line-height: 1.66;
}

@media (width <= 768px) {
  .form-head__txt02 {
    font-size: 12px;
  }
}
@media (769px <= width) {
  .form-head__txt02 {
    font-size: 14px;
  }
}
.form-head + .form-property {
  padding-top: 0;
}

body.page-confirm .form-head + * {
  padding-top: 0 !important;
}

/*------------------------------------------
select
------------------------------------------*/
.form-select {
  background: #F4F4F4;
}

@media (width <= 768px) {
  .form-select {
    padding: 30px 5.55% 40px;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .form-select {
    padding: 50px calc(8.35vw + 12.5%) 60px;
    font-size: 16px;
    line-height: 1.75;
  }
}
.form-select .form-box {
  max-width: 600px;
}

@media (width <= 768px) {
  .form-select .form-box {
    margin: 30px auto 0;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .form-select .form-box {
    margin: 50px auto 0;
  }
}
.form-select .form-box__list02 > * {
  width: 100%;
}

.form-select .c-btn01 {
  width: clamp(1px, 48.53vw, 275px);
}

@media (width <= 768px) {
  .form-select .c-btn01 {
    margin: 40px auto 0;
  }
}
@media (769px <= width) {
  .form-select .c-btn01 {
    margin: 60px auto 0;
  }
}
.form-select .c-btn01 .c-btn01 {
  flex: 1;
}

/*------------------------------------------
property
------------------------------------------*/
@media (width <= 768px) {
  .form-property {
    padding: 30px 5.55% 20px;
  }
}
@media (769px <= width) {
  .form-property {
    padding: 60px calc(8.35vw + 6.25%) 40px;
  }
}
@media (width <= 768px) {
  .form-property .c-card01 + .c-card01 {
    margin: 10px auto 0;
  }
}
@media (769px <= width) {
  .form-property .c-card01 + .c-card01 {
    margin: 20px auto 0;
  }
}
.form-property + .form-confirm {
  padding-top: 0;
}

/*------------------------------------------
body
------------------------------------------*/
.form-body {
  background: #F4F4F4;
}

@media (width <= 768px) {
  .form-body {
    padding: 30px 5.55% 40px;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .form-body {
    padding: 50px calc(8.35vw + 12.5%) 60px;
    font-size: 16px;
    line-height: 1.75;
  }
}
@media (width <= 768px) {
  .form-body__list {
    margin: 25px auto 0;
  }
}
@media (769px <= width) {
  .form-body__list {
    margin: 40px auto 0;
  }
}
.form-body .form-box .wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

@media (width <= 768px) {
  .form-body .form-box .wrap {
    gap: 5px;
  }
}
@media (769px <= width) {
  .form-body .form-box .wrap {
    gap: 10px;
  }
}
@media (width <= 768px) {
  .form-body .form-box .c-input {
    flex: 1;
  }
}
.form-body .form-box .pc-btn a {
  background: #2187FF;
  border-radius: 38px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 768px) {
  .form-body .form-box .pc-btn a {
    padding: 3px 9px;
    font-size: 12px;
  }
}
@media (769px <= width) {
  .form-body .form-box .pc-btn a {
    padding: 7px 15px;
    font-size: 14px;
  }
}
.form-body .form-box .c-checkbox.w-100 {
  width: 100%;
}

.calender-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.calender-box + .calender-box {
  margin: 15px auto 0;
}

@media (width < 1025px) {
  .calender-box {
    width: 100%;
  }
}
[class*=calender-box__bundle] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

@media (width < 1025px) {
  [class*=calender-box__bundle] {
    width: 100%;
  }
}
@media (width <= 768px) {
  .calender-box__txt {
    width: 55px;
  }
}
@media (769px <= width <= 1024px) {
  .calender-box__txt {
    width: 70px;
  }
}
@media (width < 1025px) {
  .calender-box__txt + * {
    flex: 1;
  }
}
.calender-box__select {
  position: relative;
}

.calender-box__select .c-calender {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
}

.calender-box__select .c-calender.is-open {
  display: block;
}

@media (1025px <= width) {
  .calender-box .c-input {
    width: clamp(1px, 25.62vw, 350px);
  }
}
@media (1025px <= width) {
  .calender-box .c-select {
    width: clamp(1px, 13.17vw, 180px);
  }
}
.privacypolicy-box {
  text-align: center;
}

@media (width <= 768px) {
  .privacypolicy-box {
    margin: 25px auto 0;
  }
}
@media (769px <= width) {
  .privacypolicy-box {
    margin: 40px auto 0;
  }
}
@media (width <= 768px) {
  .privacypolicy-box > * + * {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .privacypolicy-box > * + * {
    margin: 15px auto 0;
  }
}
.privacypolicy-box__txt01 a {
  color: #2187FF;
}

.privacypolicy-box__txt02 {
  font-weight: 500;
}

.privacypolicy-box .c-checkbox {
  width: -moz-fit-content;
  width: fit-content;
}

@media (width <= 768px) {
  .submit-btn {
    width: 182px;
    margin: 25px auto 0;
  }
}
@media (769px <= width) {
  .submit-btn {
    width: 275px;
    margin: 40px auto 0;
  }
}
/*------------------------------------------
tel
------------------------------------------*/
.form-tel {
  text-align: center;
}

@media (width <= 768px) {
  .form-tel {
    padding: 30px 5.55%;
  }
}
@media (769px <= width) {
  .form-tel {
    padding: 60px 8.35vw 0;
  }
}
.form-tel__txt01 {
  line-height: 1.85;
  letter-spacing: 0.06em;
}

@media (width <= 768px) {
  .form-tel__txt01 {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .form-tel__txt01 {
    font-size: 18px;
  }
}
.form-tel__box {
  margin: 20px auto 0;
  border-radius: 10px;
  background: linear-gradient(45deg, #f4f4f4 0%, #ebf4ff 100%);
}

@media (width <= 768px) {
  .form-tel__box {
    padding: 15px 0 30px;
  }
}
@media (769px <= width) {
  .form-tel__box {
    padding: 20px 0 30px;
  }
}
@media (width <= 768px) {
  .form-tel__box > * + * {
    margin: 10px auto 0;
  }
}
@media (769px <= width) {
  .form-tel__box > * + * {
    margin: 15px auto 0;
  }
}
.form-tel__box .txt01 {
  line-height: 1.4;
  font-weight: 500;
}

@media (width <= 768px) {
  .form-tel__box .txt01 {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .form-tel__box .txt01 {
    font-size: 17px;
  }
}
.form-tel__box .tel {
  color: #2187FF;
  font-family: "Lato", sans-serif;
  line-height: 1;
  letter-spacing: 0;
}

@media (width <= 768px) {
  .form-tel__box .tel {
    font-size: 21px;
  }
}
@media (769px <= width) {
  .form-tel__box .tel {
    font-size: 28px;
  }
}
.form-tel__box .tel::before {
  content: "";
  display: inline-block;
  margin-right: 8px;
  aspect-ratio: 1/1;
  background: url(../images/ico_tel.svg) no-repeat center/contain;
  vertical-align: bottom;
}

@media (width <= 768px) {
  .form-tel__box .tel::before {
    width: 19px;
  }
}
@media (769px <= width) {
  .form-tel__box .tel::before {
    width: 23px;
  }
}
.form-tel__box .txt02 {
  line-height: 1.8;
}

@media (width <= 768px) {
  .form-tel__box .txt02 {
    font-size: 13px;
  }
}
@media (769px <= width) {
  .form-tel__box .txt02 {
    font-size: 15px;
  }
}
.form-tel__box .txt02 .strong {
  font-weight: 500;
}

/*------------------------------------------
confirm
------------------------------------------*/
@media (width <= 768px) {
  .form-confirm {
    padding: 20px 5.55%;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .form-confirm {
    padding: 60px 8.35vw 0;
    font-size: 16px;
    line-height: 1.75;
  }
}
.form-confirm__list {
  max-width: 650px;
}

@media (width <= 768px) {
  .form-confirm__list {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .form-confirm__list {
    margin: 40px auto 0;
  }
}
@media (769px <= width) {
  .form-confirm__list .bundle {
    display: flex;
    gap: clamp(1px, 4.09vw, 56px);
  }
}
@media (width <= 768px) {
  .form-confirm__list .bundle + .bundle {
    margin: 20px auto 0;
  }
}
@media (769px <= width) {
  .form-confirm__list .bundle + .bundle {
    margin: 35px auto 0;
  }
}
.form-confirm__list dt {
  color: #939393;
  font-weight: 400;
}

.form-confirm__list dt .strong {
  font-weight: 500;
}

.form-confirm__list dt .note {
  font-size: 0.8em;
}

@media (769px <= width) {
  .form-confirm__list dt {
    width: 36%;
  }
}
@media (width <= 768px) {
  .form-confirm__list dd {
    font-size: 14px;
  }
}
@media (769px <= width) {
  .form-confirm__list dd {
    flex: 1;
  }
}
.form-confirm__btn {
  width: clamp(1px, 67.2vw, 410px);
  display: flex;
}

@media (width <= 768px) {
  .form-confirm__btn {
    margin: 30px auto 0;
    gap: 10px;
  }
}
@media (769px <= width) {
  .form-confirm__btn {
    margin: 60px auto 0;
    gap: 15px;
  }
}
.form-confirm__btn .c-btn01 {
  flex: 1;
}

/*------------------------------------------
thanks
------------------------------------------*/
@media (width <= 768px) {
  .form-thanks {
    min-height: calc(100vh - 327px);
    padding: 30px 5.55%;
  }
}
@media (769px <= width) {
  .form-thanks {
    min-height: calc(100vh - 509px);
    padding: 60px 8.35vw 0;
  }
}
.form-thanks__txt01 {
  text-align: center;
}

@media (width <= 768px) {
  .form-thanks__txt01 {
    margin: 20px auto 0;
    font-size: 13px;
    line-height: 1.84;
  }
}
@media (769px <= width) {
  .form-thanks__txt01 {
    margin: 40px auto 0;
    font-size: 18px;
    line-height: 1.88;
  }
}
.form-thanks__txt02 {
  line-height: 1.8;
  text-align: center;
}

@media (width <= 768px) {
  .form-thanks__txt02 {
    margin: 20px auto 0;
    font-size: 11px;
  }
}
@media (769px <= width) {
  .form-thanks__txt02 {
    margin: 40px auto 0;
    font-size: 14px;
  }
}