@charset "UTF-8";
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  font-weight: normal;
  vertical-align: baseline;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

table,
tr,
th,
td,
caption {
  vertical-align: middle;
  text-align: left;
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

textarea {
  vertical-align: top;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body.is-modal-open {
  overflow: hidden;
}

body {
  width: 100%;
  max-width: 750px;
  color: #333;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: min(28 / 750 * 100vw, 28px);
  font-weight: 400;
  -webkit-text-size-adjust: none;
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow-x: hidden;
  margin: auto;
  line-height: 1.5;
  background-color: #e3f2fd;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.07), 10px 0 30px rgba(0, 0, 0, 0.07);
}
@media screen and (max-width: 768px) {
  body {
    max-width: 100%;
    box-shadow: none;
  }
}

sup {
  font-size: 0.5em;
  vertical-align: super;
}

a {
  color: #333;
  display: block;
  text-decoration: none;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

.fade-in {
  opacity: 0;
  transform: translateY(min(30 / 750 * 100vw, 30px));
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.btn--primary {
  position: relative;
  overflow: hidden;
  display: block;
  font-size: min(52 / 750 * 100vw, 52px);
  color: #fff;
  font-weight: 700;
  margin-top: min(4 / 750 * 100vw, 4px);
  height: min(110 / 750 * 100vw, 110px);
  line-height: min(110 / 750 * 100vw, 110px);
  border-radius: min(55 / 750 * 100vw, 55px);
  background-image: url("../img/cta-bg.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  text-shadow: 0 min(8 / 750 * 100vw, 8px) min(4 / 750 * 100vw, 4px) rgba(252, 81, 50, 0.8);
}
.btn--primary::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-20deg);
}
.btn--primary.is-shine::after {
  animation: btnShine 1.2s ease forwards;
}

.header {
  background-color: #fff;
}
.header .inner {
  padding: min(11 / 750 * 100vw, 11px) min(25 / 750 * 100vw, 25px);
}
.header__logo {
  width: min(179 / 750 * 100vw, 179px);
}

.mv__body {
  animation: fadeUp 0.7s ease forwards;
}
.mv__period {
  animation: fadeUp 0.7s ease 0.15s both;
  text-align: center;
  background-color: #004ea2;
  color: #fff;
  padding: min(17 / 750 * 100vw, 17px) 0;
  font-size: min(30 / 750 * 100vw, 30px);
  letter-spacing: 0.05em;
}
.mv .cta-block {
  animation: fadeUp 0.7s ease 0.3s both;
}

.cta-block {
  background-color: #fff;
  text-align: center;
  padding: min(26 / 750 * 100vw, 26px) min(30 / 750 * 100vw, 30px) min(32 / 750 * 100vw, 32px);
}
.cta-block--footer {
  background-color: #004ea2;
}
.cta-block--footer .cta-block__lead {
  color: #fff;
  background-image: url("../img/cta-lead-bg-white.webp");
}
.cta-block--footer .btn--primary {
  box-shadow: 0 8px 8px rgba(0, 0, 0, 0.3);
}
.cta-block--footer.is-sticky {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 750px;
  z-index: 50;
  box-shadow: 0 -2px 24px rgba(0, 0, 0, 0.18), 0 -1px 6px rgba(0, 0, 0, 0.08);
  animation: ctaSlideUp 0.4s ease forwards;
}
.cta-block--footer.is-sticky.is-sticky-out {
  animation: ctaSlideDown 0.35s ease forwards;
}
.cta-block .cta-sticky-sentinel {
  height: 0;
}
.cta-block__lead {
  color: #004ea2;
  font-size: min(32 / 750 * 100vw, 32px);
  font-weight: 600;
  background-image: url("../img/cta-lead-bg.webp");
  background-size: min(439 / 750 * 100vw, 439px) min(30 / 750 * 100vw, 30px);
  background-repeat: no-repeat;
  background-position: center;
}
.cta-block__note {
  color: #4f4f4f;
  font-size: min(17 / 750 * 100vw, 17px);
  margin-top: min(10 / 750 * 100vw, 10px);
}

.present {
  background-image: url("../img/present-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.present .inner {
  padding: min(46 / 750 * 100vw, 46px) min(30 / 750 * 100vw, 30px) min(50 / 750 * 100vw, 50px);
}
.present__item {
  background-color: #fff;
  border-radius: min(24 / 750 * 100vw, 24px);
  overflow: hidden;
}
.present__item:not(:first-of-type) {
  margin-top: min(30 / 750 * 100vw, 30px);
}
.present__item:last-of-type {
  position: relative;
  overflow: visible;
  margin-top: min(66 / 750 * 100vw, 66px);
}
.present__item:last-of-type::before {
  content: "";
  position: absolute;
  top: max(-36 / 750 * 100vw, -36px);
  left: 50%;
  transform: translateX(-50%);
  width: min(409 / 750 * 100vw, 409px);
  height: min(72 / 750 * 100vw, 72px);
  background-image: url("../img/present-more.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.present__item-head {
  background-color: #ddd;
  background-image: url("../img/present-badge-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  padding: min(14 / 750 * 100vw, 14px) 0;
}
.present__badge {
  color: #fff;
  font-size: min(56 / 750 * 100vw, 56px);
  font-weight: 600;
}
.present__item-body {
  padding: min(40 / 750 * 100vw, 40px) min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px);
}
.present__item:last-of-type .present__item-body {
  padding: min(80 / 750 * 100vw, 80px) min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px);
}
.present__item-text {
  text-align: center;
}
.present__item:first-of-type .present__item-text {
  position: relative;
}
.present__item:first-of-type .present__item-text::after {
  content: "";
  position: absolute;
  bottom: max(-40 / 750 * 100vw, -40px);
  right: max(-12 / 750 * 100vw, -12px);
  width: min(173 / 750 * 100vw, 173px);
  height: min(130 / 750 * 100vw, 130px);
  background-image: url("../img/present-medal.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.present__item:nth-child(1) .present__item-text img {
  width: min(594 / 750 * 100vw, 594px);
}
.present__item:nth-child(2) .present__item-text img {
  width: min(568 / 750 * 100vw, 568px);
}
.present__item:nth-child(3) .present__item-text img {
  width: min(607 / 750 * 100vw, 607px);
}
.present__amounts {
  margin-top: min(30 / 750 * 100vw, 30px);
  text-align: center;
}
.present__amounts img {
  width: min(630 / 750 * 100vw, 630px);
}

.section-ttl__heading {
  text-align: center;
}
.section-ttl__heading img {
  width: min(638 / 750 * 100vw, 638px);
}

.points .inner {
  padding: min(45 / 750 * 100vw, 45px) min(30 / 750 * 100vw, 30px);
}
.points__list {
  margin-top: max(-55 / 750 * 100vw, -55px);
}
.points__item {
  position: relative;
  background-color: #fff;
  border-radius: min(24 / 750 * 100vw, 24px);
  padding: min(110 / 750 * 100vw, 110px) min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px);
  box-shadow: 5px 6px 0 2px rgb(127, 189, 255);
}
.points__item:not(:first-of-type) {
  margin-top: min(80 / 750 * 100vw, 80px);
}
.points__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -30%);
  width: min(120 / 750 * 100vw, 120px);
  height: min(135 / 750 * 100vw, 135px);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.points__item--01::before {
  background-image: url("../img/points-balloon01.webp");
}
.points__item--02::before {
  background-image: url("../img/points-balloon02.webp");
}
.points__item--03::before {
  background-image: url("../img/points-balloon03.webp");
}
.points__title {
  text-align: center;
  color: #f6ab00;
  font-size: min(48 / 750 * 100vw, 48px);
  font-weight: 700;
  -webkit-text-stroke: min(12 / 750 * 100vw, 12px) #fff;
  paint-order: stroke fill;
  text-shadow: 0 0 min(8 / 750 * 100vw, 8px) #fff, 0 0 min(8 / 750 * 100vw, 8px) #fff, 0 0 min(8 / 750 * 100vw, 8px) #fff;
  filter: drop-shadow(1px 6px 4px rgba(26, 38, 47, 0.3));
}
.points__text {
  position: relative;
  line-height: 1.4;
  font-weight: 600;
}
.points__text .marker {
  font-weight: 600;
  color: #004ea2;
  background: linear-gradient(transparent calc(100% - 12px), #fff76b calc(100% - 12px));
  padding-bottom: 4px;
}
.points__text::before {
  content: "";
  position: absolute;
  top: min(6 / 750 * 100vw, 6px);
  left: max(-40 / 750 * 100vw, -40px);
  width: min(32 / 750 * 100vw, 32px);
  height: min(25 / 750 * 100vw, 25px);
  background-image: url("../img/points-icon.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.points__note {
  color: #4f4f4f;
  font-size: min(17 / 750 * 100vw, 17px);
  margin-top: min(10 / 750 * 100vw, 10px);
}
.points__body {
  margin-top: min(15 / 750 * 100vw, 15px);
  background-color: #f9f5eb;
  border-radius: min(24 / 750 * 100vw, 24px);
  font-size: min(28 / 750 * 100vw, 28px);
  font-weight: 600;
  padding: min(30 / 750 * 100vw, 30px) min(40 / 750 * 100vw, 40px) min(30 / 750 * 100vw, 30px) min(70 / 750 * 100vw, 70px);
}

.flow .inner {
  padding: min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px);
}
.flow__eyebrow {
  text-align: center;
  color: #004ea2;
  font-size: min(32 / 750 * 100vw, 32px);
  font-weight: 700;
}
.flow__eyebrow span {
  font-weight: 400;
}
.flow__title {
  text-align: center;
  font-size: min(43 / 750 * 100vw, 43px);
  font-weight: 700;
  color: #a70101;
  margin-top: min(5 / 750 * 100vw, 5px);
  -webkit-text-stroke: min(8 / 750 * 100vw, 8px) #fff;
  paint-order: stroke fill;
  background-image: url("../img/flow-title-bg.webp");
  background-size: min(649 / 750 * 100vw, 649px) min(14 / 750 * 100vw, 14px);
  background-repeat: no-repeat;
  background-position: center bottom;
  padding-bottom: min(25 / 750 * 100vw, 25px);
}
.flow__step {
  background-color: #fff;
  border-radius: min(16 / 750 * 100vw, 16px);
  padding: min(20 / 750 * 100vw, 20px) min(30 / 750 * 100vw, 30px) min(40 / 750 * 100vw, 40px);
  margin-top: min(35 / 750 * 100vw, 35px);
  text-align: center;
}
.flow__step-label img {
  width: min(234 / 750 * 100vw, 234px);
}
.flow__step-text {
  font-size: min(40 / 750 * 100vw, 40px);
  font-weight: 700;
  color: #333;
  margin-top: min(20 / 750 * 100vw, 20px);
  line-height: 1.3;
}
.flow__step-text span {
  font-weight: 700;
  color: #004ea2;
}
.flow__branch {
  display: flex;
  justify-content: center;
  gap: min(20 / 750 * 100vw, 20px);
  margin-top: min(30 / 750 * 100vw, 30px);
}
.flow__branch-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(270 / 750 * 100vw, 270px);
  height: min(142 / 750 * 100vw, 142px);
  font-size: min(45 / 750 * 100vw, 45px);
  font-weight: 700;
  color: #fff;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  text-shadow: 0 min(2 / 750 * 100vw, 2px) min(4 / 750 * 100vw, 4px) rgba(0, 0, 0, 0.3);
  filter: drop-shadow(0 8px 4px rgba(0, 0, 0, 0.3));
  border: none;
  background-color: transparent;
  cursor: pointer;
  font-family: inherit;
}
.flow__branch-btn--yes {
  background-image: url("../img/flow-btn-yes.webp");
}
.flow__branch-btn--no {
  height: min(142 / 750 * 100vw, 142px);
  background-image: url("../img/flow-btn-no.webp");
}

.app .inner {
  padding: min(25 / 750 * 100vw, 25px) min(30 / 750 * 100vw, 30px) 0;
}
.app__title {
  text-align: center;
}
.app__title img {
  width: min(630 / 750 * 100vw, 630px);
}
.app__stores {
  display: flex;
  justify-content: center;
  gap: min(35 / 750 * 100vw, 35px);
  margin-top: min(15 / 750 * 100vw, 15px);
}
.app__store-item {
  text-align: center;
}
.app__store-label {
  font-size: min(30 / 750 * 100vw, 30px);
  font-weight: 600;
}
.app__store-link {
  display: inline-block;
  margin-top: min(10 / 750 * 100vw, 10px);
}
.app__store-link img {
  width: min(265 / 750 * 100vw, 265px);
}
.app__store-item:nth-child(2) .app__store-link img {
  width: min(325 / 750 * 100vw, 325px);
}
.app__note {
  text-align: center;
  font-size: min(24 / 750 * 100vw, 24px);
  font-weight: 600;
  margin-top: min(25 / 750 * 100vw, 25px);
  line-height: 1.6;
}
.app__note span {
  border-bottom: min(2 / 750 * 100vw, 2px) solid #333;
  font-weight: 600;
}

.notice .inner {
  padding: min(50 / 750 * 100vw, 50px) min(30 / 750 * 100vw, 30px) 0;
}
.notice__block {
  background-color: #fff;
  border-radius: min(24 / 750 * 100vw, 24px);
  padding: min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px) min(55 / 750 * 100vw, 55px) min(30 / 750 * 100vw, 30px);
}
.notice__title {
  font-size: min(30 / 750 * 100vw, 30px);
  font-weight: 600;
  color: #333;
  text-align: center;
}
.notice__list {
  margin-top: min(30 / 750 * 100vw, 30px);
}
.notice__item {
  position: relative;
  padding-left: min(20 / 750 * 100vw, 20px);
  font-size: min(17 / 750 * 100vw, 17px);
  color: #666;
  letter-spacing: -0.05em;
}
.notice__item::before {
  content: "";
  position: absolute;
  top: min(4 / 750 * 100vw, 4px);
  left: 0;
  width: min(10 / 750 * 100vw, 10px);
  height: min(10 / 750 * 100vw, 10px);
  background-color: #004ea2;
  border-radius: 50%;
}
.notice__item:not(:first-of-type) {
  margin-top: min(10 / 750 * 100vw, 10px);
}

.risk .inner {
  padding: min(25 / 750 * 100vw, 25px) min(30 / 750 * 100vw, 30px) min(60 / 750 * 100vw, 60px);
}
.risk__block {
  width: min(572 / 750 * 100vw, 572px);
  height: min(438 / 750 * 100vw, 438px);
  background-image: url("../img/risk-block-bg.webp");
  background-size: cover;
  background-position: center;
  margin: auto;
  padding-top: min(110 / 750 * 100vw, 110px);
}
.risk__title {
  font-size: min(40 / 750 * 100vw, 40px);
  font-weight: 700;
  color: #004ea2;
  text-align: center;
  -webkit-text-stroke: min(8 / 750 * 100vw, 8px) #fff;
  paint-order: stroke fill;
  background-image: url("../img/risk-title-bg.webp");
  background-size: min(480 / 750 * 100vw, 480px) min(30 / 750 * 100vw, 30px);
  background-repeat: no-repeat;
  background-position: center bottom;
}
.risk__list {
  margin-top: min(40 / 750 * 100vw, 40px);
  padding-left: min(100 / 750 * 100vw, 100px);
}
.risk__item {
  position: relative;
}
.risk__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: max(-35 / 750 * 100vw, -35px);
  width: min(23 / 750 * 100vw, 23px);
  height: min(23 / 750 * 100vw, 23px);
  background-image: url("../img/risk-icon.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
}
.risk__item:not(:first-of-type) {
  margin-top: min(15 / 750 * 100vw, 15px);
}
.risk__btn {
  color: #004ea2;
  font-size: min(24 / 750 * 100vw, 24px);
  font-weight: 500;
  text-decoration: underline;
}

.contact {
  background-color: #f9f5eb;
}
.contact .inner {
  padding: min(60 / 750 * 100vw, 60px) min(30 / 750 * 100vw, 30px) min(30 / 750 * 100vw, 30px);
}
.contact__title {
  text-align: center;
  font-size: min(50 / 750 * 100vw, 50px);
  font-weight: 700;
  color: #004ea2;
}
.contact__table-wrap {
  position: relative;
  margin-top: min(35 / 750 * 100vw, 35px);
  padding-bottom: min(30 / 750 * 100vw, 30px);
}
.contact__table {
  width: 100%;
  border-collapse: collapse;
}
.contact__table-head {
  background-color: #004ea2;
  color: #fff;
  font-size: min(24 / 750 * 100vw, 24px);
  font-weight: 700;
  text-align: center;
  padding: min(10 / 750 * 100vw, 10px) min(16 / 750 * 100vw, 16px);
  line-height: 1.5;
  width: 50%;
}
.contact__table-head--yellow {
  background-color: #f6ab00;
  color: #fff;
}
.contact__table-cell {
  background-color: #fff;
  text-align: center;
  padding: min(24 / 750 * 100vw, 24px) min(16 / 750 * 100vw, 16px) min(120 / 750 * 100vw, 120px);
  border-right: min(1 / 750 * 100vw, 1px) solid #ddd;
  vertical-align: middle;
}
.contact__table-cell:last-child {
  border-right: none;
}
.contact__table-name {
  font-size: min(24 / 750 * 100vw, 24px);
  font-weight: 600;
  color: #004ea2;
  margin-bottom: min(8 / 750 * 100vw, 8px);
}
.contact__table-name--yellow {
  color: #f6ab00;
}
.contact__table-tel {
  display: block;
  font-size: min(25 / 750 * 100vw, 25px);
  font-weight: 600;
  color: #333;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  .contact__table-tel {
    pointer-events: none;
    cursor: default;
  }
}
.contact__table-hours {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -85%);
  width: min(650 / 750 * 100vw, 650px);
  border-radius: min(5 / 750 * 100vw, 5px);
  background-color: #f4f4f4;
  text-align: center;
  font-size: min(22 / 750 * 100vw, 22px);
  padding: min(14 / 750 * 100vw, 14px) min(16 / 750 * 100vw, 16px);
  color: #4f4f4f;
  white-space: nowrap;
}
.contact__table-hours span {
  display: inline-block;
  background-color: #fff;
  font-weight: 600;
  font-size: min(22 / 750 * 100vw, 22px);
  padding: min(4 / 750 * 100vw, 4px) min(16 / 750 * 100vw, 16px);
  border-radius: min(4 / 750 * 100vw, 4px);
  margin-right: min(12 / 750 * 100vw, 12px);
}
.contact__table-hours small {
  font-size: min(17 / 750 * 100vw, 17px);
}

.footer {
  background-color: #004ea2;
  color: #fff;
  text-align: center;
  font-size: min(20 / 750 * 100vw, 20px);
  padding: min(40 / 750 * 100vw, 40px) min(30 / 750 * 100vw, 30px) min(45 / 750 * 100vw, 45px);
  margin-top: max(-1 / 750 * 100vw, -1px);
}
.footer__copyright {
  margin-top: min(30 / 750 * 100vw, 30px);
}

.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
}
.modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
}
.modal__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 690px;
  max-height: 90vh;
  overflow-y: auto;
  background-color: #fff;
  border-radius: min(20 / 750 * 100vw, 20px);
  padding: min(40 / 750 * 100vw, 40px) min(30 / 750 * 100vw, 30px) min(50 / 750 * 100vw, 50px);
}
.modal__panels .modal__content {
  max-height: none;
  overflow-y: visible;
}
.modal__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: min(20 / 750 * 100vw, 20px);
}
.modal__lead {
  font-size: min(40 / 750 * 100vw, 40px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.modal__lead span {
  color: #004ea2;
  font-weight: 700;
}
.modal__lead .modal__lead-blue {
  color: #004ea2;
}
.modal__lead .modal__lead-red {
  color: #a70101;
}
.modal__img {
  flex-shrink: 0;
  width: min(199 / 750 * 100vw, 199px);
}
.modal__btn {
  display: block;
  font-size: min(31 / 750 * 100vw, 31px);
}
.modal__btn--sm-text {
  font-size: min(29 / 750 * 100vw, 29px);
}
.modal__btn {
  color: #fff;
  font-weight: 700;
  margin-top: min(30 / 750 * 100vw, 30px);
  height: min(110 / 750 * 100vw, 110px);
  line-height: min(110 / 750 * 100vw, 110px);
  border-radius: min(55 / 750 * 100vw, 55px);
  background-image: url("../img/cta-bg.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  text-shadow: 0 min(8 / 750 * 100vw, 8px) min(4 / 750 * 100vw, 4px) rgba(252, 81, 50, 0.8);
  text-align: center;
}
.modal__note {
  margin-top: min(20 / 750 * 100vw, 20px);
  font-size: min(30 / 750 * 100vw, 30px);
  color: #333;
  text-align: center;
}
.modal__note--sm {
  font-size: min(24 / 750 * 100vw, 24px);
  font-weight: 700;
}
.modal__note-link {
  display: inline;
  color: #004ea2;
  font-weight: 700;
  text-decoration: underline;
}
.modal__note-blue {
  color: #004ea2;
  font-weight: 700;
}
.modal__caution {
  margin-top: min(10 / 750 * 100vw, 10px);
  font-size: min(17 / 750 * 100vw, 17px);
  color: #4f4f4f;
}
.modal__caution--center {
  text-align: center;
}
.modal__links {
  margin-top: min(20 / 750 * 100vw, 20px);
}
.modal__links-link {
  display: flex;
  align-items: center;
  gap: min(10 / 750 * 100vw, 10px);
  padding: 0 min(10 / 750 * 100vw, 10px);
  font-size: min(24 / 750 * 100vw, 24px);
  color: #004ea2;
  text-decoration: none;
}
.modal__links-link span {
  text-decoration: underline;
}
.modal__links-link::before {
  content: "▶";
  display: inline-block;
  font-size: min(20 / 750 * 100vw, 20px);
  color: #004ea2;
  flex-shrink: 0;
}
.modal__title {
  font-size: min(40 / 750 * 100vw, 40px);
  font-weight: 700;
  color: #004ea2;
  line-height: 1.4;
  text-align: center;
}
.modal__text {
  font-size: min(26 / 750 * 100vw, 26px);
  color: #333;
  line-height: 1.7;
  margin-top: min(15 / 750 * 100vw, 15px);
  text-align: center;
}
.modal__text--bold {
  font-size: min(24 / 750 * 100vw, 24px);
  font-weight: 700;
}
.modal__separator {
  display: flex;
  justify-content: center;
}
.modal__separator::before {
  content: "";
  display: block;
  width: min(9 / 750 * 100vw, 9px);
  height: min(75 / 750 * 100vw, 75px);
  background-image: url("../img/flow-separator.webp");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.modal__panels {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 690px;
  max-height: 90vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: min(20 / 750 * 100vw, 20px);
}
.modal__panels .modal__content {
  position: static;
  width: 100%;
  max-width: none;
  transform: none;
}

.txt-red {
  color: #a70101;
  font-weight: 700;
}

@keyframes btnShine {
  0% {
    left: -75%;
  }
  40%, 100% {
    left: 125%;
  }
}
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(min(30 / 750 * 100vw, 30px));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ctaSlideUp {
  from {
    transform: translateX(-50%) translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }
}
@keyframes ctaSlideDown {
  from {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }
  to {
    transform: translateX(-50%) translateY(100%);
    opacity: 0;
  }
}
