@charset "UTF-8";
html {
  font-size: 6.6666666667vw;
}
@media screen and (max-width: 960px) {
  html {
    font-size: 10.4166666667vw;
  }
}

:root {
  --text: #222;
  --red: #d61314;
  --red-bg: #B51419;
  --blue: #0265ab;
  --yellow: #fff071;
  --navy: #182e62;
  --shadow: 0 0 0.32rem rgba(19, 46, 94, 0.48);
  --grad: linear-gradient(90deg,#005a99,#0b81d7,#005a99);
  scroll-behavior: smooth;
}
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  list-style: none;
}
*::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: 0.32rem;
  line-height: 1.76;
  color: var(--text, inherit);
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}
:where(a, button) {
  color: currentColor;
  text-decoration: none;
}
@media screen and (min-width: 961px) {
  :where(a, button) {
    transition: 0.4s;
  }
}
@media screen and (min-width: 961px) {
  :where(a, button):hover {
    opacity: 0.8;
  }
}

:where([class^=btn_]) {
  border-radius: 16em;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow);
  background: var(--bg, #fff);
  color: var(--color, var(--blue));
  min-height: var(--h, 1.2rem);
  font-weight: 900;
  line-height: 1.44;
  gap: 0.24rem;
}
:where([class^=btn_]) :where(img) {
  width: var(--icon, 0.48rem);
}
:where([class^=btn_]) .span1 {
  display: grid;
}
:where([class^=btn_]) .span2 {
  font-size: 76%;
  color: var(--text);
  font-weight: bold;
}

.btn_map {
  --h: 1rem;
  --icon: 0.34rem;
}
.btn_submit {
  --bg: var(--red);
  --color: #fff;
  font-weight: 900;
  font-size: max(0.32rem, 16px);
}

.link_text {
  color: var(--blue);
  text-decoration: underline;
}

@media screen and (min-width: 961px) {
  .pc_hide {
    display: none !important;
  }
}

@media screen and (max-width: 960px) {
  .sp_hide {
    display: none !important;
  }
}

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

.blue {
  color: var(--blue);
}

:where(.note) {
  text-align: center;
  font-size: 0.24rem;
}

:where(.dia):not(:has(> li)), :where(.dia) :where(li) {
  padding-left: 1.12em;
  position: relative;
}
:where(.dia):not(:has(> li))::before, :where(.dia) :where(li)::before {
  content: "◇";
  position: absolute;
  left: 0;
  top: 0;
}
:where(.dia) :where(.note) {
  font-size: 100%;
  text-align: left;
  display: block;
  margin-left: -1.12em;
}

.header {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  height: 1.5rem;
  z-index: 10;
}
.header_logo {
  width: 4.5rem;
}
.header_tel {
  width: 3.51rem;
}

.mv {
  padding: 1.52rem max(0.48rem, (100% - 8.6rem) * 0.5) 0.32rem;
  background: url("../images/img_mv_bg_1.jpg") no-repeat center top/max(15rem, 100%);
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-pb: 0;
  --skew-bh: 10rem;
  --skew-ah: 10rem;
  --skew-ac: polygon(0 0, 100% 32%, 100% 100%, 0% 100%);
}
.mv::before, .mv::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.mv::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.mv::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.mv h1, .mv figure {
  position: relative;
}
.mv h1::before, .mv h1::after, .mv figure::before, .mv figure::after {
  content: "";
  background: url("../images/img_deco_1.png") no-repeat center/contain;
  width: 2.75rem;
  height: 2.75rem;
  position: absolute;
  mix-blend-mode: screen;
}
.mv h1 {
  width: min(8.49rem, 100%);
}
.mv h1::before {
  left: 2.88rem;
  top: 1.52rem;
}
.mv h1::after {
  left: 6.4rem;
  top: 2rem;
}
.mv figure {
  margin-top: 0.24rem;
}
.mv figure::before, .mv figure::after {
  top: -0.8rem;
}
.mv figure::before {
  left: 1.36rem;
}
.mv figure::after {
  right: 0;
}
.mv.campaign {
  --skew-bh: 12.4rem;
  --skew-ah: 12.8rem;
  --skew-bc: polygon(0 32%, 100% 0, 100% 100%, 0% 100%);
  --skew-ac: polygon(0 0, 100% 24%, 100% 100%, 0% 100%);
}
.mv.campaign p.campaign {
  position: relative;
  margin-top: 0.16rem;
}
.mv.campaign p.campaign::after {
  content: "";
  background: url("../images/img_deco_1.png") no-repeat center/contain;
  width: 2.75rem;
  height: 2.75rem;
  position: absolute;
  mix-blend-mode: screen;
  left: 0.4rem;
  top: -1.04rem;
}

.cta {
  background: var(--grad);
  color: #fff;
}
.cta_content {
  padding: 0.4rem 0;
}
.cta_content h2 {
  text-align: center;
  font-size: 0.4rem;
  filter: drop-shadow(var(--shadow));
  line-height: 1.44;
}
.cta_content h2 .span1 {
  background: var(--yellow);
  color: var(--red);
  font-weight: 900;
  padding: 0 0.16em;
}
.cta_content ul {
  width: min(8.6rem, 90%);
  margin: 0.24rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
}
.cta_content p {
  text-align: center;
  font-size: 0.24rem;
  margin-top: 0.16rem;
}
.cta_footer {
  background: var(--navy);
  height: 2rem;
  display: flex;
  justify-content: center;
  gap: 0.24rem;
}
.cta_footer figure {
  width: 2.99rem;
  align-self: end;
}
.cta_footer dl {
  text-align: center;
  display: grid;
  place-content: center;
  line-height: 1.44;
  gap: 0.08rem;
}
.cta_footer dt {
  font-weight: bold;
  font-size: 0.48rem;
}
.cta_footer dd {
  font-weight: 900;
  font-size: 0.38rem;
  background: var(--yellow);
  color: var(--red);
}

.footer {
  margin-top: auto;
  text-align: center;
}
.footer_content {
  padding: 0.96rem max(0.48rem, (100% - 8.6rem) * 0.5) 0.48rem;
}
.footer_content dt {
  display: grid;
  place-content: center;
  font-weight: bold;
  gap: 0.16rem;
}
.footer_content dt img {
  width: 6rem;
}
.footer_content dd {
  font-size: 0.28rem;
}
.footer_content ul {
  font-weight: bold;
  margin-top: 0.4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.16rem;
}
.footer_content ul a {
  display: grid;
  place-content: center;
  border: 1px solid;
  min-height: 1.2rem;
}
.footer_copy {
  --blue: #063097;
  background: var(--blue);
  color: #fff;
}
.footer_copy:has(+ .footer_cta) {
  padding-bottom: 3.04rem;
}
.footer_copy small {
  display: block;
  font-size: 0.24rem;
  padding: 1em;
}
.footer_cta {
  background: var(--grad);
  color: #fff;
  padding: 0.48rem max(0.48rem, (100% - 8.6rem) * 0.5);
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: 100;
  transition: 0.4s;
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  pointer-events: none;
}
.body_sticky .footer_cta {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
}
.footer_cta h3 {
  font-size: 0.36rem;
}
.footer_cta ul {
  margin-top: 0.24rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.16rem;
}

:where(input[type=text],
input[type=tel],
input[type=email],
textarea,
select) {
  font: inherit;
  color: inherit;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 0;
  font-size: max(0.28rem, 16px);
  display: block;
  width: 100%;
  padding: 0.48em 1em;
}
@media screen and (min-width: 961px) {
  :where(input[type=text],
  input[type=tel],
  input[type=email],
  textarea,
  select) {
    transition: 0.4s;
  }
  :where(input[type=text],
  input[type=tel],
  input[type=email],
  textarea,
  select):hover, :where(input[type=text],
  input[type=tel],
  input[type=email],
  textarea,
  select):focus {
    border-color: var(--blue);
  }
  :where(input[type=text],
  input[type=tel],
  input[type=email],
  textarea,
  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: flex;
  align-items: center;
  gap: 0.64em;
  font-size: max(0.32rem, 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: 1em;
  height: 1em;
  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/img_icon_check_1.svg") no-repeat center/64%;
}
:where(label):has(:checked)::before {
  background-color: var(--blue);
  box-shadow: 0 0 0 1px var(--blue);
}

.select_wrap {
  border: 1px solid #aaa;
  position: relative;
}
.select_wrap::after {
  content: "";
  background: url("../images/img_icon_arrow_3.svg") no-repeat center/contain;
  height: 100%;
  width: 0.25rem;
  position: absolute;
  right: 0.48rem;
  top: 0;
  pointer-events: none;
}
.select_wrap select {
  border: none;
  appearance: none;
  -webkit-appearance: none;
}

::placeholder {
  color: #aaa;
}

.section {
  padding: var(--pt, 0.96rem) var(--plr, max(0.48rem, (100% - 8.6rem) * 0.5)) var(--pb, 0.96rem);
}
.section_description {
  --pt: 1.92rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: -0.88rem;
  --skew-bh: 3.28rem;
  --skew-bc: polygon(100% 0, 0 0, 0 100%);
  --skew-apt: 0;
  --skew-ah: 3.28rem;
  --skew-ac: polygon(100% 0, 0 0, 100% 100%);
}
.section_description::before, .section_description::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_description::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_description::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_description_header {
  line-height: 1.44;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem 0;
}
.section_description_header h2 {
  font-size: 0.4rem;
}
.section_description_header h2 .span1 {
  font-weight: 900;
  font-size: 200%;
  display: block;
}
.section_description_header p {
  font-weight: bold;
  letter-spacing: 0.09em;
  align-self: end;
}
.section_description_header p .span1 {
  font-size: 120%;
  letter-spacing: 0;
}
.section_description_header figure {
  grid-column: 1/3;
}
.section_description ul {
  border-top: max(1px, min(0.02rem, 4px)) solid var(--navy);
  margin-top: 0.48rem;
  font-weight: bold;
  line-height: 1.44;
  font-size: 0.4rem;
}
.section_description li {
  border-bottom: max(1px, min(0.02rem, 4px)) solid var(--navy);
  padding: 0.16rem 0;
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 0.48rem;
}
.section_description li p {
  align-self: center;
}
.section_description li p strong {
  display: block;
  color: var(--red);
  font-size: 152%;
  font-weight: 900;
}
.section_description li p .span1 {
  font-size: 128%;
  vertical-align: -0.064em;
  line-height: 1.2;
}
.section_description_footer {
  text-align: center;
}
.section_description_footer h3 {
  font-weight: 900;
  font-size: 0.4rem;
  margin-top: 1em;
}
.section_support {
  --pt: 2.8rem;
  margin-top: -1.6rem;
  background: linear-gradient(rgba(255, 255, 255, 0) 4rem, var(--red-bg) 4rem);
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: 0.88rem;
  --skew-bh: 6.56rem;
  --skew-bc: polygon(0 0, 100% 50%, 100% 100%, 0% 100%);
  --skew-apt: 0;
  --skew-ah: 6.56rem;
  --skew-ac: polygon(0 50%, 100% 0, 100% 100%, 0% 100%);
}
.section_support::before, .section_support::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_support::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_support::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_support h2 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: #fff;
  gap: 0.08rem;
  font-size: 0.48rem;
  font-weight: 900;
  line-height: 1.04;
}
.section_support h2 img {
  width: 2.86rem;
}
.section_support h2 .span2 {
  color: var(--yellow);
  font-size: 184%;
  vertical-align: -0.032em;
}
.section_support h2 .span3 {
  font-size: 144%;
}
.section_support ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.24rem 0.08rem;
  margin-top: 0.64rem;
}
.section_support li {
  width: 2.8rem;
}
.section_introduce {
  --pt: 0.4rem;
  --pb: 0.4rem;
  background: var(--grad);
  text-align: center;
  color: #fff;
}
.section_introduce h2 {
  font-size: 0.48rem;
}
.section_introduce h2::after {
  content: "";
  display: block;
  border: 1px solid;
  margin: 0.32em auto 0;
  width: min(5.04rem, 100%);
}
.section_introduce ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
  align-items: end;
  margin-top: -0.24rem;
}
.section_introduce .note {
  margin-top: 0.64em;
}
.section_benefits {
  --pt: 1.92rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: -0.88rem;
  --skew-bh: 3.28rem;
  --skew-bc: polygon(100% 0, 0 0, 100% 100%);
  --skew-apt: 0;
  --skew-ah: 3.28rem;
  --skew-ac: polygon(100% 0, 0 0, 0 100%);
}
.section_benefits::before, .section_benefits::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_benefits::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_benefits::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_benefits h2 {
  font-size: 0.4rem;
  line-height: 1.44;
  text-shadow: 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff, 0 0 0.192em #fff;
}
.section_benefits h2 .span1 {
  font-weight: 900;
  font-size: 176%;
  display: block;
}
.section_benefits figure {
  margin: 0.48rem auto;
  width: min(7.61rem, 100%);
}
.section_benefits figure ~ figure {
  margin-top: 0.96rem;
}
.section_benefits_content {
  border-radius: 0.3rem;
  background: #f7f7f8;
  margin: 0.32rem 0;
  padding: 0.4rem 0.56rem;
  line-height: 1.52;
}
.section_benefits_content_header h3 {
  display: grid;
  align-items: center;
  place-content: center;
  font-size: 0.4rem;
  font-weight: 900;
}
.section_benefits_content_header h3:has(.span1) {
  place-content: stretch;
  grid-template-columns: auto auto;
}
.section_benefits_content_header h3 .span1 {
  font-weight: bold;
  font-size: 0.24rem;
  color: var(--blue);
}
.section_benefits_content_header h3 .span2 {
  display: block;
  font-size: 120%;
}
.section_benefits_content_header p {
  text-align: center;
  font-weight: 900;
  color: var(--red);
  font-size: 0.4rem;
  border: solid;
  border-image: linear-gradient(90deg, rgba(165, 113, 34, 0), #A57122, rgba(165, 113, 34, 0)) 1;
  border-width: max(1px, min(0.02rem, 4px)) 0;
  margin-top: 0.16rem;
  padding: 0.12rem 0 0.16rem;
  line-height: 1.28;
}
.section_benefits_content_header p .span1 {
  display: block;
  font-size: 80%;
  font-weight: bold;
}
.section_benefits_content_detail {
  font-size: 0.28rem;
  letter-spacing: -0.03em;
}
.section_benefits_content_detail p {
  margin-top: 0.8em;
}
.section_benefits_content_detail strong {
  display: block;
  font-size: 112%;
  margin: 0.16em 0;
}
.section_flow {
  --pt: 3.84rem;
  --pb: 3.28rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpb: 1.04rem;
  --skew-bh: calc(100% - 4.08rem);
  --skew-bc: polygon(0 24%, 100% 0, 100% 76%, 0% 100%);
  --skew-apb: 0;
  --skew-ah: calc(100% - 2rem);
  --skew-ac: polygon(0 0, 100% 24%, 100% 100%, 0 76%);
  background: url("../images/img_flow_bg_1.jpg") no-repeat center top -0.32rem/max(15rem, 100%);
  min-height: 15.76rem;
  color: #fff;
}
.section_flow::before, .section_flow::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_flow::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_flow::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_flow h2 {
  font-size: 0.4rem;
  line-height: 1.52;
}
.section_flow h2 .span1 {
  display: block;
  font-weight: 900;
  font-size: 176%;
}
.section_flow ol {
  padding-left: 0.48rem;
  margin-top: 0.4rem;
  position: relative;
}
.section_flow ol::after {
  content: "";
  background: url("../images/img_flow_illust_1.png") no-repeat center/contain;
  width: 3.35rem;
  height: 3rem;
  position: absolute;
  right: -0.56rem;
  bottom: -1.6rem;
}
.section_flow li {
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  gap: 0.32rem;
  position: relative;
  z-index: 1;
}
.section_flow li:not(:last-child) {
  padding-bottom: 0.4rem;
}
.section_flow li:not(:last-child)::before {
  content: "";
  width: 0.06rem;
  height: 100%;
  background: var(--yellow);
  position: absolute;
  left: 0.6rem;
  top: 0;
  z-index: -1;
  transform: translate(-50%, 0.16rem);
}
.section_flow li p {
  height: 1.2rem;
  background: var(--yellow);
  color: var(--red-bg);
  display: grid;
  place-content: center;
  place-items: center;
  font-size: 0.28rem;
  font-weight: 900;
  line-height: 1.04;
  border-radius: 50%;
  padding-top: 0.16em;
}
.section_flow li p .span1 {
  font-size: 144%;
}
.section_flow li dl {
  line-height: 1.28;
  align-self: center;
}
.section_flow li dt {
  color: var(--yellow);
  font-weight: 900;
  font-size: 0.5rem;
}
.section_flow li dt:has(+ dd) {
  margin-bottom: 0.16em;
}
.section_requirements {
  --pt: 0;
  --pb: 0;
  position: relative;
  z-index: 10;
}
.section_requirements h2 {
  font-weight: 900;
  font-size: 0.7rem;
}
.section_requirements_content {
  border-radius: 0.3rem;
  background: #f7f7f8;
  margin-top: 0.4rem;
  padding: 0.56rem;
  line-height: 1.52;
  font-size: 0.28rem;
}
.section_requirements_content h3 {
  color: var(--blue);
  font-weight: 900;
  font-size: 0.32rem;
}
.section_requirements_content h3 ~ h3 {
  position: relative;
  padding-top: 0.8em;
  margin-top: 0.64em;
}
.section_requirements_content h3 ~ h3::before {
  content: "";
  width: 100%;
  height: 0.352em;
  background: radial-gradient(currentColor 26%, rgba(255, 255, 255, 0) 28%) space center/0.352em 0.352em;
  position: absolute;
  left: 0;
  top: 0;
}
.section_requirements_content h3:has(.span1) {
  display: flex;
  align-items: center;
}
.section_requirements_content h3:has(.span1) .span1 {
  color: #fff;
  font-size: 88%;
  background: var(--red);
  font-weight: bold;
  padding: 0 0.32em;
}
.section_requirements_content p, .section_requirements_content ul {
  margin-top: 0.32em;
}
.section_requirements_content p + p, .section_requirements_content p ul, .section_requirements_content ul + p, .section_requirements_content ul ul {
  margin-top: 0.8em;
}
.section_faq {
  --pt: 3.68rem;
  --pb: 0.32rem;
  margin-top: -2.8rem;
  background: linear-gradient(rgba(255, 255, 255, 0) 4rem, var(--red-bg) 4rem);
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: 0.88rem;
  --skew-bh: 6.56rem;
  --skew-bc: polygon(0 0, 100% 50%, 100% 100%, 0% 100%);
  --skew-apt: 0;
  --skew-ah: 6.56rem;
  --skew-ac: polygon(0 50%, 100% 0, 100% 100%, 0% 100%);
}
.section_faq::before, .section_faq::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_faq::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_faq::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_faq h2 {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.4rem;
  line-height: 1.52;
  gap: 0.16rem;
}
.section_faq h2 .span2 {
  display: block;
  font-weight: 900;
  font-size: 176%;
}
.section_faq h2 img {
  width: 2.2rem;
}
.section_faq .toggle_btn, .section_faq .toggle_panel_content {
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.24rem;
}
.section_faq .toggle_btn::before, .section_faq .toggle_panel_content::before {
  font-size: 0.4rem;
  line-height: 1.44;
}
.section_faq .toggle_btn {
  line-height: 1.44;
  font-size: 0.36rem;
  background: #f4f4f4;
  color: var(--navy);
  position: relative;
  z-index: 1;
  min-height: 1.2rem;
  align-items: center;
  padding: 0.24rem 0.48rem;
}
.section_faq .toggle_btn::before {
  content: "Q";
  color: var(--red-bg);
}
.section_faq .toggle_btn ~ .toggle_btn {
  margin-top: 0.32rem;
}
.section_faq .toggle_btn.is_js {
  grid-template-columns: auto 1fr auto;
  cursor: pointer;
  transition: 0.4s;
}
.section_faq .toggle_btn .toggle_icon {
  background: var(--red-bg) url("../images/img_icon_arrow_1.svg") no-repeat center/48%;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  transition: 0.4s;
  border: max(1px, min(0.02rem, 4px)) solid var(--red-bg);
}
.section_faq .toggle_btn.is_open {
  background: #cef0f8;
}
.section_faq .toggle_btn.is_open .toggle_icon {
  background-color: #f7f7f8;
  background-image: url("../images/img_icon_arrow_2.svg");
  transform: scale(-1, -1);
}
.section_faq .toggle_panel_content {
  font-weight: bold;
  color: var(--blue);
  background: #fff;
  padding: 0.4rem 0.48rem;
}
.section_faq .toggle_panel_content::before {
  content: "A";
}
.section_faq .toggle_panel.is_js {
  overflow: hidden;
  transition: 0.4s;
}
.section_faq .toggle_panel.is_js .toggle_panel_content {
  transition: 0.4s;
  opacity: 0;
}
.section_faq .toggle_panel.is_js.is_open .toggle_panel_content {
  opacity: 1;
}
.section_location {
  --pt: 2.88rem;
  --pb: 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: -0.88rem;
  --skew-bh: 3.28rem;
  --skew-bc: polygon(100% 0, 0 0, 100% 100%);
  --skew-apt: 0;
  --skew-ah: 3.28rem;
  --skew-ac: polygon(100% 0, 0 0, 0 100%);
  background: #edf8ff;
  counter-reset: num;
}
.section_location::before, .section_location::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_location::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_location::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_location h2 {
  font-weight: 900;
  font-size: 0.7rem;
}
.section_location_header {
  display: grid;
  margin-top: 0.16rem;
}
.section_location_header dt {
  color: var(--blue);
  font-size: 0.4rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  gap: 0.16em;
}
.section_location_header dt::before {
  content: counter(num);
  counter-increment: num;
  color: #fff;
  background: var(--blue);
  width: 1.28em;
  height: 1.28em;
  border-radius: 50%;
  font-weight: bold;
  font-size: 80%;
  display: grid;
  place-content: center;
  line-height: 1.04;
  padding-bottom: 0.064em;
}
.section_location_header dd {
  font-size: 0.28rem;
}
.section_location_header:has(> dl:nth-child(2)) {
  grid-template-columns: 1fr auto;
  border-top: max(1px, min(0.02rem, 4px)) solid var(--blue);
  margin-top: 0.24rem;
  padding-top: 0.24rem;
}
.section_location ul {
  margin-top: 0.32rem;
  display: grid;
  gap: 0.32rem;
}
.section_location li {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  background: #fff;
}
.section_location li img {
  height: 100%;
  object-fit: cover;
}
.section_location li p {
  text-align: center;
  font-weight: bold;
  display: grid;
  place-content: center;
  gap: 0.32em;
  line-height: 1.52;
}
.section_location li p .span1 {
  font-weight: 900;
  font-size: 152%;
  color: var(--blue);
  line-height: 1.28;
}
.section_location li:nth-child(2n) {
  grid-template-columns: 1fr 4.5rem;
}
.section_location li:nth-child(2n) figure {
  grid-column: 2;
}
.section_location li:nth-child(2n) p {
  grid-column: 1;
  grid-row: 1;
}
.section_location figure.fig1 {
  margin: 0.32rem -0.24rem 0 0;
}
.section_location figure.fig2 {
  margin: -0.24rem -0.24rem 0 -0.48rem;
}
.section_location figure.fig3 {
  margin: -0.56rem 0 0 -0.24rem;
}
.section_location figure.fig4 {
  margin: 0.32rem -0.24rem 0 0;
}
.section_interview {
  --pt: 2.8rem;
  background: linear-gradient(#edf8ff 4rem, var(--red-bg) 4rem);
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: 0.88rem;
  --skew-bh: 6.56rem;
  --skew-bc: polygon(0 50%, 100% 0, 100% 100%, 0% 100%);
  --skew-apt: 0;
  --skew-ah: 6.56rem;
  --skew-ac: polygon(0 0, 100% 50%, 100% 100%, 0% 100%);
  color: #fff;
}
.section_interview::before, .section_interview::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_interview::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_interview::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_interview_header h2, .section_interview_header h3 {
  text-align: center;
}
.section_interview_header h3 {
  color: var(--yellow);
  font-weight: 900;
  font-size: 0.4rem;
}
.section_interview_header p {
  font-size: 0.24rem;
}
.section_interview figure {
  margin-top: 0.48rem;
}
.section_interview h2 {
  font-weight: 900;
  font-size: 0.7rem;
}
.section_interview ul {
  display: grid;
  gap: 0.32rem;
  margin-top: 0.32rem;
}
.section_interview li {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 4.08rem;
  gap: 0.16rem;
}
.section_interview iframe {
  grid-column: 1/3;
  width: 100%;
  height: auto;
  aspect-ratio: 2/1;
}
.section_interview dt {
  font-weight: 900;
  font-size: 0.4rem;
}
.section_interview dd {
  font-size: 0.28rem;
}
.section_entry {
  --pt: 1.92rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
  --skew-bpt: -0.88rem;
  --skew-bh: 3.28rem;
  --skew-bc: polygon(100% 0, 0 0, 0 100%);
  --skew-apt: 0;
  --skew-ah: 3.28rem;
  --skew-ac: polygon(100% 0, 0 0, 100% 100%);
  background: #f7f7f8;
}
.section_entry::before, .section_entry::after {
  content: "";
  width: max(15rem, 100%);
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background: var(--red-bg);
  z-index: -1;
  pointer-events: none;
  top: var(--skew-pt, auto);
  bottom: var(--skew-pb, auto);
}
.section_entry::before {
  height: var(--skew-bh, 7.28rem);
  opacity: 0.32;
  clip-path: var(--skew-bc, polygon(0 65%, 100% 0, 100% 100%, 0% 100%));
  top: var(--skew-bpt, var(--skew-pt, auto));
  bottom: var(--skew-bpb, var(--skew-pb, auto));
}
.section_entry::after {
  height: var(--skew-ah, 7.76rem);
  clip-path: var(--skew-ac, polygon(0 0, 100% 45%, 100% 100%, 0% 100%));
  top: var(--skew-apt, var(--skew-pt, auto));
  bottom: var(--skew-apb, var(--skew-pb, auto));
}
.section_entry h2 {
  font-weight: 900;
  font-size: 0.7rem;
}
.section_entry h2 + p {
  font-weight: bold;
}
.section_entry dl {
  margin-top: 0.4rem;
}
.section_entry dt {
  font-weight: bold;
  margin-top: 0.32rem;
}
.section_entry dt.must {
  display: flex;
  align-items: center;
  gap: 0.16em;
}
.section_entry dt.must::after {
  content: "※必須";
  color: var(--red);
  font-size: 76%;
  margin-top: 0.32em;
}
.section_entry dd {
  margin-top: 0.16rem;
}
.section_entry dd:has(> label) {
  display: grid;
  place-content: start;
}
.section_entry dd .privacy {
  background: #fff;
  border: 1px solid #aaa;
  font-size: 0.28rem;
  padding: 0.4rem 0.48rem;
  max-height: 4rem;
  overflow: auto;
}
.section_entry dd .privacy p + p {
  margin-top: 1em;
}
.section_entry dd .privacy + p {
  font-weight: bold;
  display: grid;
  place-content: center;
  margin-top: 0.4rem;
}
.section_entry .btn_submit {
  width: 100%;
  margin-top: 0.48rem;
}
.section_thanks {
  --pt: 1.68rem;
  flex: auto;
  display: grid;
  place-content: center;
}
.section_thanks h2 {
  font-size: 0.7rem;
  font-weight: 900;
  text-align: center;
}
.section_thanks p {
  margin-top: 1em;
}
.section_thanks .btn_normal {
  margin-top: 0.48rem;
}
.section_news {
  background: #e6e6e6;
  padding: 0.48rem 0;
  display: grid;
  place-content: center;
  font-size: 0.28rem;
  font-weight: 500;
}
.section_news dl {
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1em;
}
.section_news dt {
  font-weight: bold;
  color: #fff;
  background: #0265ab;
  padding: 0.16em 0.64em;
}
