

:root {
  --u: .1cqw;
  --f-min: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --f-zen: "Zen Old Mincho", "Noto Serif JP", "Yu Mincho", serif;
  --f-go: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  --f-hand: "Klee One", "Zen Old Mincho", serif;
  --f-bod: "Bodoni Moda", "Didot", "Bodoni 72", serif;
  --red: #c3262b;
  --gold-line: #b99b65;
  --side: #e9eef4;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--side);
  color: #0c0c0c;
  font-family: var(--f-go);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img { display: block; max-width: none; }
h1, h2, h3, p, ul, dl, dd { margin: 0; padding: 0; }
ul { list-style: none; }
b { font-weight: 700; }
a { color: inherit; }

.lp {
  position: relative;
  width: min(1000px, 100%);
  margin: 0 auto;
  container-type: inline-size;
  background: #fff;
  overflow: clip;
  box-shadow: 0 0 40px rgba(40, 60, 90, .10);
}


.sec { position: relative; height: calc(var(--h) * var(--u)); }
.a { position: absolute; left: calc(var(--x, 0) * var(--u)); top: calc(var(--y, 0) * var(--u)); margin: 0; }
img.a { width: calc(var(--w) * var(--u)); height: auto; }
.c { left: calc((var(--cx) - var(--cw, 1000) / 2) * var(--u)); width: calc(var(--cw, 1000) * var(--u)); text-align: center; white-space: nowrap; }
.plate { --x: 0; --y: 0; --w: 1000; }
.scr { mix-blend-mode: screen; pointer-events: none; }
.v { writing-mode: vertical-rl; white-space: nowrap; line-height: 1; }



.g-gold, .g-navy, .g-navy2, .g-brown, .g-cream, .g-blue {
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.g-gold { background-image: linear-gradient(166deg, #cda965 0%, #ddab4f 30%, #ebd9ab 52%, #bf9335 78%, #cbab59 100%); }
.g-navy { background-image: linear-gradient(12deg, #17192b 0%, #176191 32%, #1f3955 55%, #156f9f 78%, #17192b 100%); }
.g-brown { background-image: linear-gradient(180deg, #7a5243 0%, #553d37 50%, #33291f 100%); }
.g-navy2 { background-image: linear-gradient(90deg, #1a3c6e 0%, #1c4479 50%, #1a3f73 100%); }
.g-cream { background-image: linear-gradient(180deg, #f3e8b2 0%, #f8f2cc 35%, #f8f6e2 70%, #f8f8f0 100%); }
.g-blue { background-image: linear-gradient(90deg, #1979ad 0%, #b9cfdf 22%, #1b85bb 40%, #556597 60%, #61a5cb 78%, #136391 90%, #193b59 100%); }


.s-hero { --h: 765; background: #eef3f9; overflow: hidden; }
.hero-bg { --w: 1000; }
.hero-woman { --x: 440; --y: 9; --w: 560; }
.hero-flare { --x: 511; --y: 475; --w: 443; }
.hero-spark-l { --x: 0; --y: 0; --w: 138; }
.hero-spark-r { --x: 525; --y: 42; --w: 127; }
.hero-aur-band { --x: 191; --y: 2; --w: 170; }
.hero-aur-copy { --x: 4; --y: 222; --w: 568; }
.hero-aur-label { --x: 685; --y: 470; --w: 263; }
.hero-prod { --x: 30; --y: 490; --w: 170; }
.hero-prod-spark { --x: 0; --y: 422; --w: 229; }

.hero-band {
  --x: 0; --y: 52;
  width: calc(700 * var(--u)); height: calc(62 * var(--u));
  display: flex; align-items: center;
  padding-left: calc(109 * var(--u));
  background: url(img/hero-band.webp) 0 0 / 100% 100% no-repeat;
  font: 600 calc(38 * var(--u)) / 1 var(--f-min);
  color: #392d1a; letter-spacing: .03em; white-space: nowrap;
}
.hero-band small { font-size: .684em; }
.hero-band small.s2 { font-size: .79em; }

.hero-ttl { font-weight: inherit; }
.hero-lead {
  --x: 71; --y: 158;
  font: 500 calc(40 * var(--u)) / 1 var(--f-min);
  color: #3e342f; white-space: nowrap; letter-spacing: .02em;
}
.hero-lead b { font-weight: 600; font-size: 1.45em; margin: 0 .04em; letter-spacing: .01em; vertical-align: .05em; }
.hero-big { --x: 0; --y: 0; width: calc(1000 * var(--u)); height: calc(765 * var(--u)); pointer-events: none; }
.hero-big > span {
  position: absolute;
  font-family: var(--f-zen); font-weight: 500; line-height: 1; color: #3d332f;
  filter: drop-shadow(0 0 calc(6 * var(--u)) rgba(255, 255, 255, .85));
}
.hero-big .k1 { left: calc(61 * var(--u)); top: calc(239 * var(--u)); font-size: calc(186 * var(--u)); letter-spacing: .01em; }
.hero-big .k2 { left: calc(436 * var(--u)); top: calc(253 * var(--u)); font-size: calc(148 * var(--u)); }

.hero-label {
  display: flex; justify-content: flex-start; align-items: center;
  font: 600 calc(28 * var(--u)) / 1 var(--f-min);
  color: #1f1c15; letter-spacing: 0;
  background: 0 0 / 100% 100% no-repeat;
}
.hero-label1 { --x: 793; --y: 424; width: calc(42 * var(--u)); height: calc(331 * var(--u)); padding-top: calc(18 * var(--u)); background-image: url(img/hero-label1.webp); }
.hero-label2 { --x: 844; --y: 328; width: calc(44 * var(--u)); height: calc(326 * var(--u)); padding-top: calc(16 * var(--u)); background-image: url(img/hero-label2.webp); }

.hero-badge { width: calc(176 * var(--u)); height: calc(170 * var(--u)); text-align: center; color: #083e87; }
.hero-badge img { width: 100%; height: auto; }
.hero-badge.b1 { --x: 218; --y: 494; }
.hero-badge.b2 { --x: 397; --y: 494; }
.hero-badge.b3 { --x: 575; --y: 496; }
.hb-l, .hb-n { position: absolute; left: 0; right: 0; line-height: 1; white-space: nowrap; font-family: var(--f-min); }
.hb-l {
  top: calc(50 * var(--u)); padding-left: calc(4 * var(--u));
  font-weight: 600; font-size: calc(28 * var(--u)); color: #fff;
  filter: drop-shadow(0 0 calc(4 * var(--u)) rgba(49, 97, 143, .95));
}
.hb-l1 { top: calc(54 * var(--u)); font-size: calc(21.8 * var(--u)); }
.hb-n {
  top: calc(80 * var(--u)); padding-left: calc(8 * var(--u));
  font-weight: 800; font-size: calc(56 * var(--u)); letter-spacing: -.01em;
  filter: drop-shadow(0 0 calc(5 * var(--u)) rgba(244, 249, 250, .95));
}
.hb-n small { font-size: .39em; font-weight: 700; color: #09479b; margin-left: .06em; }
.hb-n2 { top: calc(87 * var(--u)); padding-left: calc(4 * var(--u)); font-size: calc(38 * var(--u)); letter-spacing: .02em; }

.hero-name {
  --cx: 495; --cw: 640; --y: 674;
  font: 600 calc(42 * var(--u)) / 1 var(--f-min);
  color: #202020; letter-spacing: .02em;
  filter: drop-shadow(0 0 calc(5 * var(--u)) rgba(246, 248, 243, .9));
}
.hero-name { left: calc((var(--cx) - var(--cw) / 2) * var(--u)); width: calc(var(--cw) * var(--u)); text-align: center; white-space: nowrap; }


.s-cta { --h: 623; overflow: hidden; }
.s-cta2 { --h: 635; }
.cta-bg { --w: 1000; }
.cta-box {
  position: absolute;
  left: calc(66 * var(--u)); top: calc(78 * var(--u));
  width: calc(866 * var(--u)); height: calc(483 * var(--u));
  background: #0c2a6e url(img/cta-navy.webp) 0 0 / 100% 100% no-repeat;
  box-shadow: 0 calc(6 * var(--u)) calc(18 * var(--u)) rgba(10, 20, 50, .35);
}
.cta-ttl {
  height: calc(67 * var(--u));
  display: flex; align-items: center; justify-content: center;
  padding: 0 calc(7 * var(--u)) calc(4 * var(--u)) 0;
  font: 500 calc(44 * var(--u)) / 1 var(--f-zen);
  color: #fcfcfc; white-space: nowrap;
}
.cta-ttl .lg { font-size: 1.045em; margin-right: .12em; letter-spacing: -.01em; word-spacing: -.12em; }
.cta-ttl .wo { font-size: .864em; }
.cta-panel {
  position: absolute;
  left: calc(11 * var(--u)); top: calc(67 * var(--u));
  width: calc(843 * var(--u)); height: calc(403 * var(--u));
  background: #fff url(img/cta-panel.webp) 0 0 / 100% 100% no-repeat;
}
.cta-panel > * { position: absolute; margin: 0; }
.cta-camp {
  left: calc(222 * var(--u)); width: calc(600 * var(--u)); top: calc(26 * var(--u));
  text-align: center; white-space: nowrap;
  font: 700 calc(40 * var(--u)) / 1 var(--f-go); color: var(--red); letter-spacing: -.01em;
}
.cta-camp .l { font-size: 1.25em; }
.cta-camp .s1 { font-size: .95em; }
.cta-camp .s2 { font-size: .75em; }
.cta-reg {
  left: calc(296 * var(--u)); top: calc(90 * var(--u));
  display: flex; align-items: baseline; white-space: nowrap;
  color: #47433f; line-height: 1;
}
.cta-reg .tri { font-size: calc(20 * var(--u)); letter-spacing: -.12em; color: #47433f; font-family: var(--f-go); }
.cta-reg .tri:first-child { margin-right: calc(10 * var(--u)); }
.cta-reg .tri:last-child { margin-left: calc(10 * var(--u)); }
.cta-reg .lb { font: 400 calc(24 * var(--u)) / 1 var(--f-go); margin-right: calc(6 * var(--u)); }
.cta-reg s { position: relative; text-decoration: none; font-family: var(--f-min); font-weight: 600; }
.cta-reg s::after {
  content: ""; position: absolute; left: -2%; right: -2%; top: 50%;
  height: calc(2.4 * var(--u)); background: var(--red);
  transform: rotate(-9deg);
}
.cta-reg .n { font-size: calc(32 * var(--u)); }
.cta-reg .y { font-size: calc(22 * var(--u)); }
.cta-reg .tax { font: 600 calc(18 * var(--u)) / 1 var(--f-min); }
.cta-reg .tax .p { font-size: 1.33em; }
.cta-price { left: calc(269 * var(--u)); top: calc(132 * var(--u)); display: flex; align-items: flex-start; color: var(--red); white-space: nowrap; }
.cta-first {
  display: flex; align-items: center; justify-content: center; text-align: center;
  width: calc(80 * var(--u)); height: calc(84 * var(--u)); margin-top: calc(33 * var(--u));
  border: calc(2 * var(--u)) solid var(--red); border-radius: calc(3 * var(--u));
  background: #fff;
  font: 700 calc(28 * var(--u)) / 1.16 var(--f-go);
}
.cta-num { font: 600 calc(152 * var(--u)) / 1 var(--f-min); letter-spacing: -.045em; margin: calc(-13 * var(--u)) 0 0 calc(7 * var(--u)); }
.cta-yen { position: relative; font: 600 calc(62 * var(--u)) / 1 var(--f-min); margin: calc(54 * var(--u)) 0 0 calc(-2 * var(--u)); }
.cta-yen small { position: absolute; left: 0; right: 0; top: calc(-26 * var(--u)); text-align: center; font-size: calc(16 * var(--u)); }
.cta-off {
  left: calc(673 * var(--u)); top: calc(125 * var(--u));
  width: calc(134 * var(--u)); height: calc(134 * var(--u));
  background: url(img/cta-off.webp) 0 0 / 100% 100% no-repeat;
  color: #fcfcfc; font-family: var(--f-min); font-weight: 600; text-align: center; line-height: 1;
}
.cta-off .o1 {
  display: block; padding: calc(22 * var(--u)) 0 0 calc(4 * var(--u));
  font-size: calc(60.6 * var(--u));
  filter: drop-shadow(0 0 calc(8 * var(--u)) rgba(188, 146, 72, .6));
}
.cta-off .o1 small { font-size: .42em; margin-left: .04em; }
.cta-off .o2 { display: block; margin-top: calc(6 * var(--u)); font-size: calc(32 * var(--u)); letter-spacing: .02em; }
.cta-prod { left: calc(19 * var(--u)); top: calc(18 * var(--u)); width: calc(234 * var(--u)); height: auto; }
.cta-btn {
  left: calc(41 * var(--u)); top: calc(287 * var(--u));
  width: calc(760 * var(--u)); height: calc(82 * var(--u));
  display: flex; align-items: center; justify-content: center;
  padding-left: calc(8 * var(--u));
  border: calc(3 * var(--u)) solid #18822f; border-radius: calc(12 * var(--u));
  background: linear-gradient(180deg, #59b85b 0%, #3a9f3d 46%, #22882b 54%, #1f8a2f 100%);
  box-shadow: inset 0 calc(2 * var(--u)) 0 rgba(255, 255, 255, .45), 0 calc(8 * var(--u)) calc(14 * var(--u)) rgba(0, 0, 0, .32);
  color: #fdfdfd; text-decoration: none; white-space: nowrap;
  font: 700 calc(44 * var(--u)) / 1 var(--f-go); letter-spacing: 0;
  text-shadow: 0 calc(2 * var(--u)) calc(3 * var(--u)) rgba(0, 60, 10, .35);
  translate: 0 0; transition: translate .25s, filter .25s;
}
.cta-btn i {
  position: relative; flex: none;
  width: calc(43 * var(--u)); height: calc(43 * var(--u)); margin-left: calc(22 * var(--u));
  border-radius: 50%; background: #fff;
}
.cta-btn i::after {
  content: ""; position: absolute; left: 38%; top: 50%; translate: 0 -50%;
  border-style: solid; border-color: transparent transparent transparent #1f8a2f;
  border-width: calc(10 * var(--u)) 0 calc(10 * var(--u)) calc(16 * var(--u));
}
@media (hover: hover) {
  .cta-btn:hover { translate: 0 -2px; filter: brightness(1.06); }
}
.cta-btn:focus-visible { outline: 3px solid #f2c94c; outline-offset: 3px; }


.s-worry { --h: 905; z-index: 3; color: #fff; }
.worry-bg {
  position: absolute; left: 0; top: 0; width: 100%; height: calc(1096 * var(--u));
  background: #161616 url(img/worry-bg.webp) 50% 0 / cover no-repeat;
  clip-path: polygon(0 0, 100% 0, 100% 82.57%, 49% 100%, 0 83.12%);
}
.worry-ttl { position: absolute; inset: 0 0 auto 0; height: calc(200 * var(--u)); font-weight: 400; }
.w-big {
  position: absolute; left: calc(112 * var(--u)); top: calc(81 * var(--u));
  font: 600 calc(94 * var(--u)) / 1 var(--f-min); letter-spacing: .01em;
}
.w-side { position: absolute; inset: 0; }
.w-s1, .w-s2 { position: absolute; font-family: var(--f-go); font-weight: 400; line-height: 1; color: #fdfaf9; white-space: nowrap; }
.w-s1 { left: calc(425 * var(--u)); top: calc(40 * var(--u)); font-size: calc(52 * var(--u)); letter-spacing: .04em; }
.w-s2 { left: calc(410 * var(--u)); top: calc(103 * var(--u)); font-size: calc(62 * var(--u)); letter-spacing: .01em; }
.worry-swirl { --x: 818; --y: 95; --w: 65; }
.worry-wave { --x: 136; --y: 182; --w: 699; }
.worry-list { position: absolute; inset: 0; }
.wi { position: absolute; width: calc(275 * var(--u)); left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u)); }
.wi img { width: 100%; height: auto; }
.wi1 { --x: 65; --y: 214; }
.wi2 { --x: 361; --y: 215; }
.wi3 { --x: 656; --y: 215; }
.wi4 { --x: 162; --y: 570; }
.wi5 { --x: 559; --y: 569; }
.wi p {
  display: flex; flex-direction: column; align-items: center; gap: calc(3 * var(--u));
  margin-top: calc(2 * var(--u));
  width: calc(400 * var(--u)); margin-left: calc(-62.5 * var(--u));
}
.wi4 p, .wi5 p { margin-top: calc(3 * var(--u)); }
.wi p span {
  display: block; height: calc(35 * var(--u));
  padding: 0 calc(13 * var(--u));
  background: #0b0b0b;
  font: 400 calc(20 * var(--u)) / calc(35 * var(--u)) var(--f-go);
  color: #fefbfb; letter-spacing: -.02em; white-space: nowrap;
}
.worry-bubble { position: absolute; left: calc(340 * var(--u)); top: calc(908 * var(--u)); width: calc(300 * var(--u)); }
.worry-bubble img { width: 100%; height: auto; }
.worry-bubble p {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center;
  padding: calc(72 * var(--u)) calc(4 * var(--u)) 0 0; gap: calc(18 * var(--u));
  font: 600 calc(50 * var(--u)) / 1 var(--f-min); color: #fdf8f7; letter-spacing: -.03em;
  filter: drop-shadow(0 0 calc(6 * var(--u)) rgba(172, 125, 46, .9));
}


.s-main { --h: 1199; background: #1a2a5a; }
.main-ttl { font-weight: 500; }
.main-t1, .main-t2 { font-family: var(--f-min); font-weight: 500; line-height: 1; filter: drop-shadow(0 0 calc(10 * var(--u)) rgba(251, 249, 245, .75)); }
.main-t1 { --cx: 498.5; --y: 318; font-size: calc(72 * var(--u)); letter-spacing: -.05em; }
.main-t2 { --cx: 500; --y: 396; font-size: calc(103.2 * var(--u)); letter-spacing: -.05em; }
.main-t2 .dsu { font-family: var(--f-zen); font-size: .643em; margin-left: .05em; }
.main-aur { --x: 130; --y: 358; --w: 446; }


.s-ima { --h: 1854; }
.ima-t1, .ima-t2 { font-family: var(--f-zen); font-weight: 500; line-height: 1; color: #f7f8f9; }
.ima-t1 { --cx: 523.5; --y: 24; font-size: calc(68 * var(--u)); letter-spacing: -.04em; }
.ima-t2 { --cx: 503.5; --y: 106; font-size: calc(68 * var(--u)); letter-spacing: -.05em; }
.ima-t1 .m, .ima-t2 .m { font-size: .647em; }
.ima-t1 .m { margin: 0 .12em 0 .2em; }
.vt { font-family: var(--f-zen); font-weight: 500; color: #1b1e33; filter: drop-shadow(0 0 calc(10 * var(--u)) rgba(251, 249, 247, .8)); }
.vt b { font-family: var(--f-min); font-weight: 600; font-size: calc(76 * var(--u)); }
.vt b.big { font-size: calc(81 * var(--u)); }
.vt span { font-size: calc(44 * var(--u)); }
.vt .md { font-family: var(--f-min); font-weight: 500; font-size: calc(60.5 * var(--u)); }
.vt .sm { font-family: var(--f-min); font-weight: 600; }
.vt .af { font-size: calc(46.9 * var(--u)); }
.vt-c1 { --x: 753; --y: 269; }
.vt-c2 { --x: 660; --y: 346; }
.vt-c3 { --x: 580; --y: 431; }
.vt-d1 { --x: 244; --y: 697; }
.vt-d2 { --x: 145; --y: 752; }
.vt-e1 { --x: 768; --y: 1269; }
.vt-e2 { --x: 667; --y: 1310; }
.ba { font: 500 calc(32 * var(--u)) / 1 var(--f-min); color: #1b3d75; width: calc(160 * var(--u)); text-align: center; filter: drop-shadow(0 0 calc(10 * var(--u)) rgba(251, 249, 247, .7)); }
.ba-b { --x: 196.5; --y: 1713; }
.ba-a { --x: 418.5; --y: 1714; }


.s-kg { --h: 766; }
.kg-ttl { font-weight: 600; }
.kg-t1 {
  --cx: 492; --y: 40;
  font: 600 calc(98 * var(--u)) / 1 var(--f-min); letter-spacing: -.04em;
  filter: drop-shadow(0 0 calc(8 * var(--u)) rgba(246, 247, 251, .95));
}
.kg-t1 .m { font-size: .633em; }
.kg-t2, .kg-t3, .kg-t4 {
  font-family: var(--f-min); font-weight: 600; line-height: 1; color: #fafafa; letter-spacing: -.04em;
  filter: drop-shadow(0 0 calc(5 * var(--u)) rgba(116, 158, 246, .95));
}
.kg-t2 { --cx: 501; --y: 279; font-size: calc(68 * var(--u)); letter-spacing: -.07em; }
.kg-t2 .m { font-size: .618em; }
.kg-t3 { --cx: 501.5; --y: 352; font-size: calc(108 * var(--u)); letter-spacing: 0; }
.kg-t3 .m { font-size: .593em; }
.kg-t4 { --cx: 501.5; --y: 480; font-size: calc(50 * var(--u)); }
.kg-aur { --x: 206; --y: 50; --w: 479; }


.rs-head { --h: 215; }
.rs-t1, .rs-t2 { font-family: var(--f-min); font-weight: 500; line-height: 1; color: #fafafa; }
.rs-t1 { --cx: 508; --y: 35; font-size: calc(52 * var(--u)); }
.rs-t2 { --cx: 508.5; --y: 86; font-size: calc(72 * var(--u)); letter-spacing: 0; }
.rs-t2 .m { font-size: .694em; }
.pt { position: relative; }
.pt1 .pt-fig { --h: 432; }
.pt2 .pt-fig { --h: 579; }
.pt3 .pt-fig { --h: 524; }
.pt4 .pt-fig { --h: 630; }
.pt-no { font: 500 calc(30 * var(--u)) / 1 var(--f-zen); white-space: nowrap; }
.pt-no span { font-size: 2.667em; margin-left: .05em; vertical-align: -.16em; }
.pt-no-r { left: auto; right: calc((1000 - var(--r)) * var(--u)); }
.pt-h {
  font: 600 calc(50 * var(--u)) / calc(60 * var(--u)) var(--f-min); white-space: nowrap;
  filter: drop-shadow(0 0 calc(8 * var(--u)) rgba(251, 251, 251, .8));
}
.pt-h .m { font-size: .84em; }
.pt-h .l1, .pt-h .l2 { display: block; }
.pt3 .pt-h .l2 { margin-top: calc(-6 * var(--u)); }
.pt4 .pt-h { letter-spacing: -.02em; }
.pt4 .pt-h .l2 { margin-top: calc(-7 * var(--u)); }
.pt3 .pt-tx { font-feature-settings: "palt"; }

.pt-tx {
  position: absolute; left: calc(var(--x) * var(--u)); top: calc(var(--ty) * var(--u));
  font: 400 calc(30 * var(--u)) / calc(40 * var(--u)) var(--f-go); color: #020202; white-space: nowrap;
  filter: drop-shadow(0 0 calc(10 * var(--u)) rgba(252, 252, 252, .85));
}
.pt1 .pt-no { --x: 72; --y: 29; }
.pt1 .pt-h { --x: 68; --y: 151; }
.pt1 .pt-tx { --x: 70; --ty: 252; }
.pt2 .pt-no { --r: 870; --y: 164; }
.pt2 .pt-h { --x: 543; --y: 280; }
.pt2 .pt-tx { --x: 545; --ty: 432; }
.pt3 .pt-no { --x: 71; --y: 136; }
.pt3 .pt-h { --x: 66; --y: 259; }
.pt3 .pt-tx { --x: 70; --ty: 413; }
.pt4 .pt-no { --r: 871; --y: 197; }
.pt4 .pt-h { --x: 496; --y: 318; }
.pt4 .pt-tx { --x: 498; --ty: 466; }
.pt-ing {
  font: 500 calc(28 * var(--u)) / 1 var(--f-min); color: #f9f6f6; text-align: center; white-space: nowrap;
  --g1: 0 0 calc(1.5 * var(--u)) rgb(var(--gc)); --g2: 0 0 calc(3 * var(--u)) rgb(var(--gc));
  text-shadow: var(--g1), var(--g1), var(--g1), var(--g2), var(--g2), var(--g2), var(--g2),
    0 0 calc(6 * var(--u)) rgb(var(--gc)), 0 0 calc(10 * var(--u)) rgb(var(--gc)), 0 0 calc(16 * var(--u)) rgba(var(--gc), .8);
  width: calc(200 * var(--u)); left: calc((var(--cx) - 100) * var(--u));
}
.ing1 { --cx: 615; --y: 75; font-size: calc(32 * var(--u)); --gc: 214, 164, 65; }
.ing2 { --cx: 914; --y: 161; font-size: calc(26 * var(--u)); --gc: 105, 162, 205; }
.ing3 { --cx: 570.5; --y: 284; --gc: 247, 155, 191; }
.ing4 { --cx: 898.5; --y: 378; --gc: 180, 166, 156; }


.s-vo { --h: 1750; overflow: hidden; }
.vo-bg { position: absolute; left: 0; right: 0; top: calc(43 * var(--u)); bottom: 0; background: #dfe9f4 url(img/voice-bg.webp) 50% 0 / 100% 100% no-repeat; }
.vo-band { --x: 0; --y: -5; --w: 1000; }
.vo-t1, .vo-t2 { font-family: var(--f-min); font-weight: 500; line-height: 1; color: #fafafa; }
.vo-t1 { --cx: 499; --y: 38; font-size: calc(52 * var(--u)); letter-spacing: .04em; }
.vo-t2 { --cx: 499; --y: 103; font-size: calc(62 * var(--u)); letter-spacing: .01em; }
.vo-t2 .m { font-size: .742em; }
.vo-en { --cx: 504.5; --y: 246; font: 400 calc(66 * var(--u)) / 1 var(--f-bod); color: #1c2c40; letter-spacing: -.035em; }
.vo-en .g-blue { margin-right: .12em; }
.drop1 { --x: 65; --y: 240; --w: 137; }
.drop7 { --x: 727; --y: 221; --w: 40; }
.drop8 { --x: 772; --y: 259; --w: 24; }
.drop2 { --x: 503; --y: 754; --w: 82; }
.drop6 { --x: 491; --y: 823; --w: 33; }
.drop3 { --x: 343; --y: 1203; --w: 116; }
.drop4 { --x: 761; --y: 1638; --w: 94; }
.drop5 { --x: 852; --y: 1628; --w: 33; }

.vc-fig {
  position: absolute; left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u));
  width: calc(393 * var(--u)); height: calc(303 * var(--u));
}
.vc-ph { width: 100%; height: 100%; object-fit: cover; box-shadow: 0 calc(4 * var(--u)) calc(14 * var(--u)) rgba(30, 50, 90, .22); }
.vc1 .vc-fig { --x: 66; --y: 369; }
.vc2 .vc-fig { --x: 528; --y: 839; }
.vc3 .vc-fig { --x: 66; --y: 1305; }
.vc-catch { position: absolute; inset: 0; pointer-events: none; }
.vc-catch span {
  position: absolute;
  writing-mode: vertical-rl; white-space: nowrap;
  display: flex; justify-content: flex-start; align-items: center;
  font: 600 calc(30 * var(--u)) / 1 var(--f-hand); color: #f7f8fa; letter-spacing: -.08em;
  background: linear-gradient(180deg, #273a7e 0%, #2b5c9e 45%, #1c86c7 78%, #0aa7e3 100%);
}
.vc-catch span:first-child { width: calc(52 * var(--u)); padding-top: calc(25 * var(--u)); }
.vc-catch span:last-child { width: calc(56 * var(--u)); padding-top: calc(23 * var(--u)); }
.vc1 .vc-catch span:first-child { left: calc(62 * var(--u)); top: calc(-71 * var(--u)); height: calc(240 * var(--u)); }
.vc1 .vc-catch span:last-child { left: calc(2 * var(--u)); top: calc(-23 * var(--u)); height: calc(292 * var(--u)); }
.vc2 .vc-catch span:first-child { left: calc(353 * var(--u)); top: calc(-52 * var(--u)); height: calc(181 * var(--u)); width: calc(54 * var(--u)); }
.vc2 .vc-catch span:last-child { left: calc(294 * var(--u)); top: calc(-10 * var(--u)); height: calc(215 * var(--u)); padding-top: calc(16 * var(--u)); }
.vc3 .vc-catch span:first-child { left: calc(61 * var(--u)); top: calc(-62 * var(--u)); height: calc(183 * var(--u)); width: calc(54 * var(--u)); }
.vc3 .vc-catch span:last-child { left: calc(2 * var(--u)); top: calc(-13 * var(--u)); height: calc(212 * var(--u)); }
.vc-name {
  position: absolute; width: calc(152 * var(--u)); height: calc(128 * var(--u));
  display: flex; flex-direction: column; align-items: center;
  padding-top: calc(12 * var(--u));
  background: url(img/voice-hex.webp) 0 0 / 100% 100% no-repeat;
  font: 500 calc(24 * var(--u)) / 1 var(--f-zen); color: #fafafa; white-space: nowrap;
  filter: drop-shadow(0 0 calc(3 * var(--u)) rgba(228, 184, 12, .9));
}
.vc-name .gn { font-size: .92em; margin-top: calc(9 * var(--u)); }
.vc-name .dt { font-size: .7em; line-height: .6; margin-top: calc(4 * var(--u)); }
.vc-name .ag { margin-top: calc(1 * var(--u)); }
.vc1 .vc-name { left: calc(54 * var(--u)); top: calc(243 * var(--u)); }
.vc2 .vc-name { left: calc(207 * var(--u)); top: calc(242 * var(--u)); }
.vc3 .vc-name { left: calc(44 * var(--u)); top: calc(241 * var(--u)); }
.vc-script { position: absolute; height: auto; }
.vc1 .vc-script { left: calc(196 * var(--u)); top: calc(278 * var(--u)); width: calc(174 * var(--u)); }
.vc2 .vc-script { left: calc(-26 * var(--u)); top: calc(276 * var(--u)); width: calc(205 * var(--u)); }
.vc3 .vc-script { left: calc(177 * var(--u)); top: calc(280 * var(--u)); width: calc(201 * var(--u)); }
.vc-card {
  position: absolute; left: calc(var(--x) * var(--u)); top: calc(var(--y) * var(--u));
  width: calc(var(--w) * var(--u)); height: calc(var(--hh) * var(--u));
  filter: drop-shadow(0 calc(3 * var(--u)) calc(8 * var(--u)) rgba(30, 50, 90, .22));
}
.vc-card p {
  height: 100%;
  background: #fefefd;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 34 * var(--u)), calc(100% - 34 * var(--u)) 100%, 0 100%);
  font: 400 calc(20 * var(--u)) / calc(32 * var(--u)) var(--f-go); color: #0d0d0d;
  letter-spacing: -.05em;
}
.vc1 .vc-card { --x: 503; --y: 372; --w: 423; --hh: 330; }
.vc1 .vc-card p { padding: calc(21 * var(--u)) calc(21 * var(--u)) 0 calc(20 * var(--u)); }
.vc2 .vc-card { --x: 71; --y: 839; --w: 405; --hh: 330; }
.vc2 .vc-card p { padding: calc(21 * var(--u)) calc(21 * var(--u)) 0 calc(22 * var(--u)); letter-spacing: 0; }
.vc3 .vc-card { --x: 507; --y: 1305; --w: 419; --hh: 331; }
.vc3 .vc-card p { padding: calc(23 * var(--u)) calc(27 * var(--u)) 0 calc(29 * var(--u)); }


.s-faq { --h: 1326; overflow: hidden; }
.faq-bg { position: absolute; inset: 0; background: #d9e6f2 url(img/faq-bg.webp) 50% 0 / cover no-repeat; }
.faq-lg {
  --cx: 500; --y: 52;
  font: 600 calc(42 * var(--u)) / 1 var(--f-min); color: #b89b65; letter-spacing: -.02em;
  filter: drop-shadow(0 0 calc(6 * var(--u)) rgba(253, 253, 253, .95));
}
.faq-qa { --cx: 497.5; --y: 117; font: 600 calc(30 * var(--u)) / 1 var(--f-min); color: #6e5a54; }
.faq-qa span { position: relative; display: inline-block; }
.faq-qa span::before, .faq-qa span::after {
  content: ""; position: absolute; top: 54%; width: calc(66 * var(--u)); height: calc(2 * var(--u));
  background: linear-gradient(90deg, #c79d4b, #e5cf83 50%, #c39b41);
  box-shadow: 0 0 calc(5 * var(--u)) rgba(255, 255, 255, .9);
}
.faq-qa span::before { right: calc(100% + 13 * var(--u)); }
.faq-qa span::after { left: calc(100% + 8 * var(--u)); }
.faq-ttl {
  --cx: 499.5; --y: 153;
  font: 600 calc(72 * var(--u)) / 1 var(--f-min); color: #353535; letter-spacing: 0;
  -webkit-background-clip: text; background-clip: text;
  background-image: linear-gradient(180deg, #7f5a50 0%, #6a5550 45%, #4c4543 100%);
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 calc(10 * var(--u)) rgba(255, 255, 255, .7));
}
.faq-prod { --x: 712; --y: 35; --w: 122; }
.faq-list {
  position: absolute; left: calc(66 * var(--u)); top: calc(297 * var(--u)); width: calc(869 * var(--u));
  display: flex; flex-direction: column;
}
.qa {
  padding: calc(26 * var(--u)) calc(46 * var(--u)) calc(33 * var(--u)) calc(48 * var(--u));
  background: #f9fafb;
  border: calc(3 * var(--u)) solid var(--gold-line); border-radius: calc(16 * var(--u));
  height: calc(var(--qh) * var(--u)); padding-top: calc((26 + var(--qt, 0)) * var(--u));
}

.qa:nth-child(1) { --qh: 172; }
.qa:nth-child(2) { --qh: 179; --qt: 1; --qg: 3; margin-top: calc(40 * var(--u)); }
.qa:nth-child(3) { --qh: 219; --qt: 3; --qg: 10; margin-top: calc(39 * var(--u)); }
.qa:nth-child(4) { --qh: 219; --qt: 6; --qg: 7; margin-top: calc(37 * var(--u)); }
.qa dt, .qa dd { display: flex; align-items: baseline; }
.qa i { flex: none; width: calc(46 * var(--u)); font: 500 calc(36 * var(--u)) / 1 var(--f-min); font-style: normal; color: #121213; }
.qa dt {
  padding-bottom: calc(11 * var(--u)); margin-bottom: calc((14 + var(--qg, 0)) * var(--u));
  border-bottom: calc(2 * var(--u)) solid #c7ad7a;
  font: 500 calc(32 * var(--u)) / 1.3 var(--f-min); color: #0e0e0e;
}
.qa dd { font: 400 calc(24 * var(--u)) / calc(36 * var(--u)) var(--f-go); color: #0c0c0c; }
.qa dd i { position: relative; top: calc(2 * var(--u)); }


.hero-band, .hero-lead, .hero-name, .hb-l, .cta-ttl, .worry-ttl, .worry-bubble p, .main-t1, .main-t2, .ima-t1, .ima-t2,
.kg-t1, .kg-t2, .kg-t3, .kg-t4, .rs-t1, .rs-t2, .pt-h, .pt-ing, .vo-t1, .vo-t2, .faq-lg, .faq-ttl, .qa dt { font-feature-settings: "palt"; }



.is-anim [data-rv] { opacity: 0; transform: translateY(24px); }
.is-anim [data-fade] { opacity: 0; }

.is-anim [data-wipe] { transform: scale(1.07); transform-origin: 50% 32%; filter: brightness(1.12); }
.is-anim [data-pop] { opacity: 0; transform: scale(.88); }


@media (max-width: 767px) {
  .lp { width: min(100%, 560px); }

  
  .s-hero { --h: 1770; }
  img.hero-bg { left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0 0; }
  .hero-band { --x: 0; --y: 70; width: calc(930 * var(--u)); height: calc(112 * var(--u)); padding-left: calc(60 * var(--u)); font-size: calc(56 * var(--u)); }
  .hero-aur-band { --x: 205; --y: -10; --w: 250; }
  .hero-lead { --x: 50; --y: 236; font-size: calc(54 * var(--u)); }
  .hero-big .k1 { left: calc(36 * var(--u)); top: calc(338 * var(--u)); font-size: calc(226 * var(--u)); }
  .hero-big .k2 { left: calc(508 * var(--u)); top: calc(354 * var(--u)); font-size: calc(186 * var(--u)); }
  .hero-aur-copy { --x: -40; --y: 304; --w: 714; }
  .hero-woman { --x: 380; --y: 560; --w: 620; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent 98%); mask-image: linear-gradient(180deg, #000 72%, transparent 98%); }
  .hero-flare { --x: 459; --y: 1076; --w: 490; }
  .hero-spark-l { --x: -20; --y: 0; --w: 200; }
  .hero-spark-r { --x: 840; --y: 120; --w: 160; }
  .hero-label { font-size: calc(40 * var(--u)); }
  .hero-label1 { --x: 832; --y: 850; width: calc(64 * var(--u)); height: calc(446 * var(--u)); padding-top: calc(22 * var(--u)); }
  .hero-label2 { --x: 910; --y: 760; width: calc(66 * var(--u)); height: calc(446 * var(--u)); padding-top: calc(22 * var(--u)); }
  .hero-aur-label { --x: 780; --y: 980; --w: 300; }
  .hero-prod { --x: 40; --y: 760; --w: 300; }
  .hero-prod-spark { --x: -13; --y: 640; --w: 404; }
  .hero-badge { width: calc(300 * var(--u)); height: calc(290 * var(--u)); }
  .hero-badge.b1 { --x: 22; --y: 1300; }
  .hero-badge.b2 { --x: 352; --y: 1300; }
  .hero-badge.b3 { --x: 682; --y: 1300; }
  .hb-l { top: calc(86 * var(--u)); font-size: calc(46 * var(--u)); padding-left: calc(6 * var(--u)); }
  .hb-l1 { top: calc(92 * var(--u)); font-size: calc(37 * var(--u)); }
  .hb-n { top: calc(138 * var(--u)); font-size: calc(94 * var(--u)); padding-left: calc(12 * var(--u)); }
  .hb-n2 { top: calc(150 * var(--u)); font-size: calc(64 * var(--u)); padding-left: calc(6 * var(--u)); }
  .hero-name { --cx: 500; --cw: 1000; --y: 1630; font-size: calc(66 * var(--u)); }

  
  .s-cta, .s-cta2 { height: auto; padding: 30px 12px 34px; }
  img.cta-bg { left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
  .cta-box { position: relative; left: auto; top: auto; width: auto; height: auto; padding: 0 7px 7px; box-shadow: 0 4px 14px rgba(10, 20, 50, .35); }
  .cta-ttl { height: 52px; padding: 0 0 2px; font-size: 24px; }
  .cta-panel {
    position: relative; left: auto; top: auto; width: auto; height: auto;
    display: grid; grid-template-columns: 31% 1fr; column-gap: 6px;
    grid-template-areas: "camp camp" "reg reg" "prod price" "btn btn";
    padding: 16px 12px 16px;
    background-size: 100% auto;
  }
  .cta-panel > * { position: static; }
  .cta-camp { grid-area: camp; width: auto; font-size: 18.5px; margin-bottom: 8px; letter-spacing: -.02em; }
  .cta-reg { grid-area: reg; justify-content: center; margin-bottom: 4px; }
  .cta-reg .tri { font-size: 10px; }
  .cta-reg .tri:first-child { margin-right: 4px; }
  .cta-reg .tri:last-child { margin-left: 4px; }
  .cta-reg .lb { font-size: 13px; margin-right: 4px; }
  .cta-reg .n { font-size: 18px; }
  .cta-reg .y { font-size: 12px; }
  .cta-reg .tax { font-size: 11px; }
  .cta-reg s::after { height: 1.5px; }
  .cta-price { grid-area: price; justify-content: center; align-items: flex-end; align-self: center; }
  .cta-first { width: 40px; height: 44px; margin: 0 0 12px; border-width: 1.5px; font-size: 14px; }
  .cta-num { font-size: 72px; margin: 0 0 0 5px; line-height: .9; }
  .cta-yen { font-size: 28px; margin: 0 0 6px 2px; }
  .cta-yen small { top: -14px; font-size: 9px; }
  .cta-off { position: absolute; left: calc(31% - 38px); top: 112px; width: 58px; height: 58px; }
  .cta-off .o1 { padding: 10px 0 0 2px; font-size: 26px; }
  .cta-off .o2 { margin-top: 1px; font-size: 13px; }
  .cta-prod { grid-area: prod; width: 100%; max-width: 128px; align-self: center; justify-self: start; margin-top: 6px; }
  .cta-btn {
    grid-area: btn; width: auto; height: 62px; margin-top: 14px; padding-left: 18px;
    border-width: 2px; border-radius: 9px; font-size: 21px; letter-spacing: .05em;
    box-shadow: inset 0 2px 0 rgba(255, 255, 255, .45), 0 5px 10px rgba(0, 0, 0, .3);
  }
  .cta-btn i { width: 26px; height: 26px; margin-left: 12px; }
  .cta-btn i::after { border-width: 6px 0 6px 10px; }

  
  .s-worry { height: auto; padding: 34px 14px 0; }
  .worry-bg { height: 100%; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 191 * var(--u)), 49% 100%, 0 calc(100% - 185 * var(--u))); }
  .worry-ttl { position: relative; inset: auto; height: auto; display: flex; justify-content: center; align-items: center; gap: 6px; }
  .w-big { position: static; font-size: 50px; }
  .w-side { position: static; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
  .w-s1, .w-s2 { position: static; }
  .w-s1 { font-size: 21px; padding-left: 4px; }
  .w-s2 { font-size: 27px; }
  .worry-swirl { left: auto; right: 10px; top: 32px; width: 30px; }
  .worry-wave { position: relative; left: auto; top: auto; width: min(100%, 340px); margin: 12px auto 0; }
  .worry-list { position: relative; inset: auto; display: flex; flex-direction: column; gap: 14px; margin-top: 22px; }
  .wi { position: relative; left: auto; top: auto; width: auto; display: flex; align-items: center; gap: 10px; }
  .wi:nth-child(even) { flex-direction: row-reverse; }
  .wi img { width: 128px; flex: none; }
  .wi p, .wi4 p, .wi5 p { width: auto; flex: 1; margin: 0; gap: 4px; }
  .wi p span { height: 32px; padding: 0 9px; font-size: 16px; line-height: 32px; letter-spacing: 0; }
  .worry-bubble { left: calc(50% - 150 * var(--u)); top: auto; bottom: calc(-98 * var(--u)); width: calc(300 * var(--u)); }
  .worry-bubble p { padding-top: calc(70 * var(--u)); gap: calc(18 * var(--u)); font-size: calc(52 * var(--u)); }
  .s-worry::after { content: ""; display: block; height: calc(250 * var(--u)); }

  
  .s-main { margin-top: calc(-191 * var(--u)); }
  .ba { font-size: calc(40 * var(--u)); }
  .ba-b { --y: 1709; }
  .ba-a { --y: 1710; }

  
  .pt-tx {
    position: relative; left: auto; top: auto;
    padding: 16px 22px 24px; background: #f4f8fc;
    font-size: 16px; line-height: 1.75; white-space: normal; filter: none;
  }
  .pt-tx br { display: none; }
  .pt-ing { font-size: calc(36 * var(--u)) !important; }
  .ing1 { --y: 70; }
  .ing2 { --y: 160; --cx: 908; font-size: calc(29 * var(--u)) !important; }
  .pt-h { filter: drop-shadow(0 0 calc(6 * var(--u)) rgba(255, 255, 255, .95)); }

  
  .s-vo { height: auto; padding-bottom: 46px; }
  .vo-bg { top: calc(43 * var(--u)); background-size: cover; }
  .vo-head { position: relative; height: calc(330 * var(--u)); }
  .vo-en { --y: 248; }
  .drop { display: none; }
  .drop1, .drop2, .drop4 { display: block; }
  .drop1 { --x: 20; --y: 236; --w: 110; }
  .drop2 { --x: 880; --y: 300; --w: 70; }
  .drop4 { --x: 40; --y: 2600; --w: 80; }
  .vo-list { position: relative; display: flex; flex-direction: column; gap: 58px; padding: 64px 16px 0; }
  .vc { position: relative; }
  .vc-fig { position: relative; left: auto; top: auto; width: calc(100% - 50px); height: auto; aspect-ratio: 393 / 303; margin-left: auto; }
  .vc2 .vc-fig { margin-left: 0; margin-right: auto; }
  .vc-catch span { font-size: 21px; }
  .vc-catch span:first-child, .vc-catch span:last-child { width: 36px; padding-top: 14px; }
  .vc1 .vc-catch span:first-child, .vc3 .vc-catch span:first-child { left: -4px; top: -40px; height: auto; padding-bottom: 14px; }
  .vc1 .vc-catch span:last-child, .vc3 .vc-catch span:last-child { left: -44px; top: -8px; height: auto; padding-bottom: 14px; }
  .vc2 .vc-catch span:first-child { left: auto; right: -44px; top: -40px; height: auto; width: 36px; padding-bottom: 14px; }
  .vc2 .vc-catch span:last-child { left: auto; right: -4px; top: -8px; height: auto; padding-bottom: 14px; }
  .vc-name { width: 112px; height: 94px; padding-top: 9px; font-size: 17px; }
  .vc-name .gn { margin-top: 6px; }
  .vc-name .dt { margin-top: 2px; }
  .vc1 .vc-name, .vc3 .vc-name { left: 8px; top: auto; bottom: -50px; }
  .vc2 .vc-name { left: auto; right: 8px; top: auto; bottom: -50px; }
  .vc-script { top: auto !important; bottom: -36px; }
  .vc1 .vc-script, .vc3 .vc-script { left: auto; right: 4px; width: 128px; }
  .vc2 .vc-script { left: 4px; width: 140px; }
  .vc-card { position: relative; left: auto; top: auto; width: auto; height: auto; margin-top: 58px; }
  .vc1 .vc-card p, .vc2 .vc-card p, .vc3 .vc-card p {
    padding: 20px 20px 26px; font-size: 15.5px; line-height: 1.85; letter-spacing: .02em;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%);
  }
  .vc-card br.pc { display: none; }

  
  .s-faq { height: auto; padding-bottom: 44px; }
  .faq-head { position: relative; height: calc(300 * var(--u)); }
  .faq-lg { --y: 60; font-size: calc(50 * var(--u)); }
  .faq-qa { --y: 132; font-size: calc(36 * var(--u)); }
  .faq-ttl { --y: 180; font-size: calc(80 * var(--u)); }
  .faq-prod { --x: 790; --y: 40; --w: 150; }
  .faq-list { position: relative; left: auto; top: auto; width: auto; gap: 16px; padding: 0 14px; }
  .qa { height: auto; padding: 16px 16px 18px; border-width: 2px; border-radius: 12px; }
  .qa:nth-child(n+2) { margin-top: 0; }
  .qa dt { margin-bottom: 11px; }
  .qa i { width: 24px; font-size: 20px; }
  .qa dt { text-wrap: balance; word-break: auto-phrase; font-size: 16px; line-height: 1.5; padding-bottom: 10px; margin-bottom: 11px; border-bottom-width: 1px; }
  .qa dd { font-size: 15.5px; line-height: 1.75; }
  .qa dd i { top: 1px; }
}

@media (prefers-reduced-motion: reduce) {
  .cta-btn { transition: none; }
}
