@charset "UTF-8";
:root {
  --module: 13.021vw;
  --navy: #062745;
  --text: #081d2f;
  --red: #de0000;
  --shadow: 0 0 calc(0.24 * var(--module)) rgba(0, 0, 0, 0.2);
  scroll-behavior: smooth;
  scroll-padding-top: calc(1.2 * var(--module));
}
@media screen and (min-width: 769px) {
  :root {
    --module: 5.208vw;
  }
}
@media screen and (min-width: 1280px) {
  :root {
    --module: 4.34vw;
  }
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  list-style: none;
  font: inherit;
}
*::before, *::after {
  box-sizing: border-box;
}

:where(img, video) {
  font-size: 0;
  line-height: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

:where(picture) {
  display: block;
}

:where(body) {
  font-family: "Noto Sans JP", Helvetica, Arial, "Hiragino Sans", YuGothic, "Yu Gothic medium", sans-serif;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-rendering: optimizeLegibility;
  font-feature-settings: "palt";
  font-size: calc(0.32 * var(--module));
  line-height: 1.76;
  color: var(--text, inherit);
}
:where(a, button) {
  color: inherit;
}
@media screen and (min-width: 769px) {
  :where(a, button) {
    transition: 0.4s;
  }
}
@media screen and (min-width: 769px) {
  :where(a, button):hover {
    opacity: 0.8;
    text-decoration: none;
  }
}

.red {
  color: var(--red, red);
}

:where(input[type=text],
input[type=tel],
input[type=email],
textarea,
.select_wrap select) {
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
  color: inherit;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 0;
  font-size: max(calc(0.28 * var(--module)), 16px);
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.48em 1em;
  transition: 0.4s;
}
:where(input[type=text],
input[type=tel],
input[type=email],
textarea,
.select_wrap select):hover, :where(input[type=text],
input[type=tel],
input[type=email],
textarea,
.select_wrap select):focus {
  border-color: var(--red);
}
:where(input[type=text],
input[type=tel],
input[type=email],
textarea,
.select_wrap select):focus {
  box-shadow: var(--shadow);
}
:where(label, button, [type=submit], [type=button]) {
  cursor: pointer;
  font: inherit;
}

:where(label):has(> [type=radio], > [type=checkbox]) {
  display: inline-flex;
  align-items: center;
  gap: 0.64em;
  font-size: max(calc(0.28 * var(--module)), 16px);
}
:where(label):has(> [type=radio], > [type=checkbox]) [type=radio], :where(label):has(> [type=radio], > [type=checkbox]) [type=checkbox] {
  display: none;
}
:where(label):has(> [type=radio], > [type=checkbox])::before {
  content: "";
  box-shadow: 0 0 0 1px #aaa;
  width: 0.8em;
  height: 0.8em;
  transition: 0.4s;
}
:where(label):has(> [type=radio])::before {
  border: 0.16em solid #fff;
  border-radius: 50%;
  background: #fff;
}
:where(label):has(> [type=checkbox])::before {
  background: #fff url("../images/icon_check_1.svg") no-repeat center/64%;
}
:where(label):has(:checked)::before {
  background-color: var(--navy);
  box-shadow: 0 0 0 1px var(--navy);
}

.select_wrap {
  position: relative;
}
.select_wrap::after {
  content: "";
  background: url("../images/icon_arrow_1.svg") no-repeat center/contain;
  width: calc(0.24 * var(--module));
  height: 100%;
  position: absolute;
  right: calc(0.24 * var(--module));
  top: 0;
  pointer-events: none;
}

::placeholder {
  color: #aaa;
}

@media screen and (min-width: 769px) {
  .layout_body {
    display: grid;
    min-height: 100dvh;
    grid-template-columns: 1fr auto;
  }
  .layout_body:not(:has(.layout_cta))::before {
    content: "";
    background: url("../images/img_cta_1.jpg") repeat-y center top/100%;
  }
}
.layout_main {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
@media screen and (min-width: 769px) {
  .layout_main {
    width: calc(7.68 * var(--module));
  }
}
.layout_cta {
  position: sticky;
  left: 0;
  top: 0;
  align-self: start;
  background: url("../images/img_cta_1.jpg") repeat-y center top/100%;
  height: 100dvh;
  overflow: hidden;
  display: grid;
  place-content: center;
}
@media screen and (max-width: 768px) {
  .layout_cta {
    display: none;
  }
}
.layout_cta dl {
  width: calc(6.56 * var(--module));
  width: min(calc(6.56 * var(--module)), 64vh);
}
.layout_cta dd {
  width: 90%;
  margin: auto;
}

.header {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 100;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(1.2 * var(--module));
  padding: 0 5%;
}
.header_logo {
  width: calc(3 * var(--module));
}
.header_btn {
  width: calc(3.04 * var(--module));
  margin-left: auto;
}

.footer {
  background: var(--text);
  color: #fff;
  text-align: center;
  padding: 1.6em 0;
  margin-top: auto;
}
.footer small {
  display: block;
  font-size: calc(0.28 * var(--module));
}

.mv {
  background: url("../images/img_mv_1.jpg") no-repeat center/cover;
  min-height: calc(7.5 * var(--module));
  display: grid;
  place-items: center;
  padding: calc(0.56 * var(--module));
}

.section {
  padding: var(--pt, calc(0.48 * var(--module))) var(--pr, 5%) var(--pb, var(--pt, calc(0.48 * var(--module)))) var(--pl, var(--pr, 5%));
  background: var(--bg, var(--navy));
}
.section_benefits {
  --pr: 10%;
}
.section_form {
  --pb: calc(0.96 * var(--module));
}
.section_form_content {
  background: #d6e0ea;
  border-radius: calc(0.16 * var(--module));
  padding: calc(0.96 * var(--module)) 5%;
}
.section_form_content dt {
  font-weight: bold;
  margin-top: 1em;
}
.section_form_content dt.must {
  display: flex;
  align-items: center;
  gap: 1em;
}
.section_form_content dt.must::after {
  content: "※必須";
  font-size: 80%;
  color: var(--red, red);
}
.section_form_content dd {
  margin-top: 0.32em;
}
.section_form_content dd.map {
  background: #fff;
}
.section_form_content dd.map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 616/690;
  display: block;
}
.section_form_content dd.map p {
  font-size: calc(0.28 * var(--module));
  padding: 1.6em;
}
.section_form_content dl ~ p {
  margin-top: 1.6em;
  font-size: max(calc(0.28 * var(--module)), 16px);
}
.section_form_content dl ~ p small {
  display: block;
  text-align: center;
  font-size: 88%;
  margin-top: 0.64em;
}
.section_location {
  --pb: calc(0.96 * var(--module));
}
.section_location h2 {
  width: calc(1.49 * var(--module));
  margin: auto;
}
.section_location_content {
  background: #fff;
  margin-top: calc(0.48 * var(--module));
}
.section_location_content iframe {
  width: 100%;
  height: calc(6.9 * var(--module));
  display: block;
}
.section_location_content p {
  font-size: calc(0.28 * var(--module));
  padding: 1.6em 5%;
}
.section_faq {
  --bg: #d6e0ea;
  --pt: calc(0.96 * var(--module));
}
.section_faq h2 {
  width: calc(2.95 * var(--module));
  margin: auto;
}
.section_faq li {
  margin-top: calc(0.48 * var(--module));
}
.section_company {
  --pt: calc(0.96 * var(--module));
}
.section_company h2 {
  width: calc(1.98 * var(--module));
  margin: auto;
}
.section_company dl {
  color: #fff;
  margin-top: calc(0.48 * var(--module));
  border-bottom: max(1px, min(calc(0.02 * var(--module)), 2px)) dashed;
}
.section_company dt, .section_company dd {
  padding-inline: 5%;
}
.section_company dt {
  font-weight: bold;
  border-top: max(1px, min(calc(0.02 * var(--module)), 2px)) dashed;
  padding-top: calc(0.24 * var(--module));
}
.section_company dt::before {
  content: "■ ";
}
.section_company dd {
  font-weight: 500;
  font-size: calc(0.28 * var(--module));
  padding-block: calc(0.08 * var(--module)) calc(0.24 * var(--module));
}
.section_company li {
  position: relative;
  padding-left: 1.28em;
}
.section_company li::before {
  content: "○";
  position: absolute;
  left: 0;
  top: 0;
}
.section_thanks {
  flex: auto;
}
.section_thanks_content {
  background: #d6e0ea;
  border-radius: calc(0.16 * var(--module));
  padding: calc(0.96 * var(--module)) 5%;
}
.section_thanks_content h2 {
  font-weight: bold;
  text-align: center;
  font-size: 120%;
}
.section_thanks_content p {
  margin-top: 1.6em;
  font-size: max(calc(0.28 * var(--module)), 16px);
}
.section_thanks_content .btn {
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background: var(--navy);
  border-radius: 16em;
  padding: 0.64em;
  width: 90%;
  margin: auto;
}
