*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
a,
button {
  cursor: revert;
}
ol,
ul,
menu {
  list-style: none;
}
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}
table {
  border-collapse: collapse;
}
input,
textarea {
  -webkit-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  appearance: revert;
}
pre {
  all: revert;
}
::-webkit-input-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}
::marker {
  content: initial;
}
:where([hidden]) {
  display: none;
}
:where([contenteditable]:not([contenteditable='false'])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
  -webkit-user-select: auto;
  -ms-user-select: auto;
  user-select: auto;
}
:where([draggable='true']) {
  -webkit-user-drag: element;
}
:where(dialog:modal) {
  all: revert;
}
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  font-weight: inherit;
}
html {
  font-size: 62.5%;
}
body {
  background-color: #fff;
  color: #222;
  font-family: 'vdl-v7gothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', '游ゴシック体', YuGothic,
    'Yu Gothic Medium', sans-serif;
  font-size: 1.2em;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: 0.005em;
  overflow-x: hidden;
  overflow-y: scroll;
  position: relative;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 1024px) {
  body {
    font-size: 2em;
  }
}
* {
  min-height: 0vw;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
a:focus-visible,
button:focus-visible {
  outline: 0;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #222;
}
a img,
button img {
  transition: 0.2s ease-in-out;
}
a img:hover,
button img:hover {
  opacity: 0.8;
}
a {
  color: #222;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
button {
  display: inline-block;
  line-height: 1;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
button:focus {
  outline: 0;
}
button:not(:disabled) {
  cursor: pointer;
}
.lp_loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #f5f3ec url(../img/bg_01_sp.webp) no-repeat center top/cover;
  opacity: 1;
  visibility: visible;
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  .lp_loading {
    background-image: url(../img/bg_01_pc.webp);
  }
}
.lp_loading .loading_inner {
  width: min(82.051vw, 48rem);
  position: relative;
  overflow: hidden;
}
.lp_loading .loading_inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 20%;
  height: 100%;
  background-color: rgba(245, 243, 236, 0.5);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
  -webkit-animation: loading_img 1.4s ease-in-out infinite;
  animation: loading_img 1.4s ease-in-out infinite;
}
@-webkit-keyframes loading_img {
  100% {
    left: 130%;
  }
}
@keyframes loading_img {
  100% {
    left: 130%;
  }
}
body.is_loaded .lp_loading {
  -webkit-animation: loading_end 0.6s ease-in-out forwards;
  animation: loading_end 0.6s ease-in-out forwards;
}
@-webkit-keyframes loading_end {
  0%,
  80% {
    opacity: 1;
    visibility: visible;
    z-index: 200;
  }
  99% {
    opacity: 0;
    visibility: visible;
    z-index: 200;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    z-index: -200;
  }
}
@keyframes loading_end {
  0%,
  80% {
    opacity: 1;
    visibility: visible;
    z-index: 200;
  }
  99% {
    opacity: 0;
    visibility: visible;
    z-index: 200;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    z-index: -200;
  }
}
.visible_xxs {
  display: none;
}
@media screen and (max-width: 374px) {
  .visible_xxs {
    display: inline-block !important;
  }
}
.hidden_xxs {
  display: inline-block;
}
@media screen and (max-width: 374px) {
  .hidden_xxs {
    display: none !important;
  }
}
.visible_xs {
  display: none;
}
@media screen and (max-width: 767px) {
  .visible_xs {
    display: inline-block !important;
  }
}
.hidden_xs {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .hidden_xs {
    display: none !important;
  }
}
.visible_sm {
  display: none;
}
@media screen and (min-width: 768px) {
  .visible_sm {
    display: inline-block !important;
  }
}
.hidden_sm {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .hidden_sm {
    display: none !important;
  }
}
.visible_md {
  display: none;
}
@media screen and (min-width: 1024px) {
  .visible_md {
    display: inline-block !important;
  }
}
.hidden_md {
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  .hidden_md {
    display: none !important;
  }
}
.visible_lg {
  display: none;
}
@media screen and (min-width: 1366px) {
  .visible_lg {
    display: inline-block !important;
  }
}
.hidden_lg {
  display: inline-block;
}
@media screen and (min-width: 1366px) {
  .hidden_lg {
    display: none !important;
  }
}
.visible_xl {
  display: none;
}
@media screen and (min-width: 1920px) {
  .visible_xl {
    display: inline-block !important;
  }
}
.hidden_xl {
  display: inline-block;
}
@media screen and (min-width: 1920px) {
  .hidden_xl {
    display: none !important;
  }
}
.visible_all {
  display: inline-block !important;
}
.hidden_all {
  display: none !important;
}
.lp_header .header_inner {
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(2.051vw, 2vw, 2rem) clamp(4.103vw, 4vw, 4rem);
}
@media screen and (min-width: 1366px) {
  .lp_header .header_inner {
    background-color: rgba(0, 0, 0, 0);
    padding: 1.042vw 2.083vw;
  }
}
.lp_header .header_logo a {
  min-height: 4.4rem;
  display: grid;
  place-content: center;
  position: relative;
  z-index: 20;
}
.lp_header .header_logo a img {
  width: auto;
  height: min(9.231vw, 5.6rem);
}
.lp_header .header_sns a {
  min-width: 4.4rem;
  min-height: 4.4rem;
  display: grid;
  place-content: center;
  position: relative;
  z-index: 10;
}
.lp_header .header_sns a img {
  width: auto;
  height: min(6.154vw, 4.4rem);
}
.lp_footer {
  position: relative;
}
.lp_footer .footer_inner {
  width: 100%;
  background-color: #222;
  color: #fff;
  padding: min(6.154vw, 3.6rem) min(4.103vw, 2.4rem) min(4.103vw, 2.4rem) min(4.103vw, 2.4rem);
  text-align: center;
}
.lp_footer .footer_inner img {
  aspect-ratio: 104/41;
}
.lp_footer .footer_copyright {
  margin-top: min(4.103vw, 2.4rem);
}
.lp_footer .footer_copyright small {
  font-size: clamp(1.0576923077rem, 0.6vw + 0.5974923077rem, 1.2rem);
}
.lp_pagetop a {
  background-color: #222;
  display: grid;
  place-items: center;
  position: absolute;
  right: 0;
  bottom: calc(100% - 1px);
  left: 0;
  margin: auto;
  border-radius: 50% 50% 0 0/100% 100% 0 0;
  width: min(11.282vw, 6.6rem);
  height: 0;
  overflow: hidden;
  padding-top: min(5.641vw, 3.3rem);
}
.lp_pagetop a::before {
  content: '';
  width: min(2.564vw, 1.6rem);
  height: min(1.538vw, 0.9rem);
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.lp_wrap {
  position: relative;
  overflow: hidden;
}
.lp_container {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  position: relative;
  font-size: clamp(1.1538461538rem, 3.3vw + -1.3772538462rem, 2rem);
}
.lp_container::before {
  content: '';
  width: 100vw;
  height: 100vh;
  background: url(../img/bg_container_sp.webp) no-repeat center top/cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .lp_container::before {
    background-image: url(../img/bg_container_pc.webp);
  }
}
body.is_loaded .lp_container {
  opacity: 1;
  visibility: visible;
  z-index: 0;
}
.lp_main {
  padding-bottom: min(32.308vw, 15.2rem);
}
.lp_main .sec {
  margin-top: min(20.513vw, 16rem);
  padding-top: min(12.308vw, 9.6rem);
  background: url(../img/bg_line.png) repeat-x center top;
  background-size: min(2.308vw, 0.9rem);
  text-align: center;
}
.lp_main .sec_header {
  line-height: 1.5;
  font-family: 'dnp-shuei-4gob-std', 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro',
    HGS明朝E, メイリオ, Meiryo, serif;
  display: inline-block;
  position: relative;
}
.lp_main .sec_header::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 130%;
  height: 100%;
  min-width: min(51.282vw, 40rem);
  min-height: min(24.615vw, 16rem);
  max-width: 100vw;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: url(../img/star.svg) no-repeat right min(4.103vw, 3.2rem) top,
    url(../img/star.svg) no-repeat right min(1.026vw, 0.8rem) top min(2.051vw, 1.6rem),
    url(../img/star.svg) no-repeat left min(1.026vw, 0.8rem) bottom;
  background-size: min(8.205vw, 6.4rem) auto;
}
.lp_main .sec_heading {
  font-size: clamp(3.0769230769rem, 6.7vw + -2.0619769231rem, 4.8rem);
}
.lp_main .sec_heading_sub {
  font-size: clamp(1.7307692308rem, 2.6vw + -0.2634307692rem, 2.4rem);
}
.lp_main .sec_heading_en {
  display: inline-block;
  margin-top: min(2.051vw, 1.2rem);
  font-size: clamp(1.0576923077rem, 2.5vw + -0.8598076923rem, 1.7rem);
}
.lp_main .sec_body {
  margin-top: min(14.359vw, 10.4rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lp_main .sec_subheader {
  position: absolute;
  top: max(-5.128vw, -3.2rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.lp_main .sec_subheader_inner {
  position: relative;
}
.lp_main .sec_subheading {
  width: min(39.231vw, 28.7rem);
  height: min(9.487vw, 7rem);
  background: url(../img/bg_subheading.png) no-repeat center top/100% auto;
  text-align: center;
  line-height: 1.5;
  font-family: 'dnp-shuei-4gob-std', 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro',
    HGS明朝E, メイリオ, Meiryo, serif;
  padding-top: min(2.051vw, 1.4rem);
  font-size: min(4.615vw, 3.2rem);
}
.lp_main .sec_subheading_new {
  position: absolute;
  top: max(-5.128vw, -2.8rem);
  right: max(-11.282vw, -6.8rem);
}
.lp_main .sec_subheading_new span {
  position: relative;
  display: grid;
  place-content: center;
  background-color: #eb050a;
  color: #fff;
  -webkit-transform: rotate(10deg);
  transform: rotate(10deg);
  width: min(11.282vw, 6.6rem);
  height: min(11.282vw, 6.6rem);
  border-radius: 50%;
  font-size: min(2.821vw, 1.7rem);
}
.lp_main .sec_subheading_new span::before {
  content: '';
  width: min(1.795vw, 1.1rem);
  height: min(2.821vw, 1.7rem);
  -webkit-clip-path: polygon(50% min(2.821vw, 1.7rem), 0% 0%, min(1.795vw, 1.1rem) 0%);
  clip-path: polygon(50% min(2.821vw, 1.7rem), 0% 0%, min(1.795vw, 1.1rem) 0%);
  background-color: #eb050a;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.lp_main .sec_coming {
  display: grid;
  place-content: center;
  background-color: #f5f3ec;
  height: min(26.667vw, 24rem);
}
.lp_main .sec_coming_txt {
  color: #96896f;
  letter-spacing: 0.1em;
  font-weight: 900;
  font-size: clamp(1.7307692308rem, 5.7vw + -2.6411307692rem, 3.2rem);
}
.lp_main .btn {
  margin-top: min(4.103vw, 2.4rem);
  text-align: center;
}
.lp_main .btn a {
  display: inline-block;
  padding: min(3.077vw, 2rem) min(16.41vw, 9.6rem);
  position: relative;
  background-color: #222;
  box-shadow: 0 min(1.026vw, 0.6rem) 0 0 rgba(34, 34, 34, 0.25);
  color: #fff;
  font-weight: 900;
  font-size: clamp(1.5384615385rem, 3.4vw + -1.0693384615rem, 2.4rem);
}
.lp_main .btn a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: min(4.103vw, 2.4rem);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: min(4.103vw, 2.4rem);
  height: min(4.103vw, 2.4rem);
  background: url(../img/icon_window.svg) no-repeat center top/100% auto;
}
.lp_main .btn a:hover {
  box-shadow: 0 0 0 0 rgba(34, 34, 34, 0);
  -webkit-transform: translateY(min(1.026vw, 0.6rem));
  transform: translateY(min(1.026vw, 0.6rem));
}
.lp_main .box_item {
  background-color: #fff;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  padding: min(8.205vw, 6.4rem) min(4.103vw, 12rem);
  position: relative;
  width: 100vw;
}
@media screen and (min-width: 1366px) {
  .lp_main .box_item {
    border-width: 2px;
    padding: 6.4rem 12rem;
    width: 104rem;
  }
}
.lp_main .box_item:not(:first-of-type) {
  margin-top: min(10.256vw, 8rem);
}
.lp_main .zoomin_out {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: scale(1.2) translateY(4rem);
  transform: scale(1.2) translateY(4rem);
  transition: all 0.5s ease-in-out;
}
.lp_main .zoomin_out.is-show {
  visibility: visible;
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
  -webkit-animation: zoomin_out 0.5s ease-in-out forwards;
  animation: zoomin_out 0.5s ease-in-out forwards;
}
@-webkit-keyframes zoomin_out {
  0% {
    opacity: 0;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  20% {
    opacity: 0.13;
    -webkit-transform: scale(1.1) translateY(0);
    transform: scale(1.1) translateY(0);
  }
  65% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  80% {
    opacity: 1;
    -webkit-transform: scale(1.05) translateY(0);
    transform: scale(1.05) translateY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
}
@keyframes zoomin_out {
  0% {
    opacity: 0;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  20% {
    opacity: 0.13;
    -webkit-transform: scale(1.1) translateY(0);
    transform: scale(1.1) translateY(0);
  }
  65% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
  80% {
    opacity: 1;
    -webkit-transform: scale(1.05) translateY(0);
    transform: scale(1.05) translateY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
}
.fv_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  min-height: min(201.026vw, 90rem);
  text-align: center;
  padding-bottom: min(16.923vw, 14.4rem);
}
@media screen and (min-width: 1024px) {
  .fv_inner {
    min-height: calc(47.448vw - 9.6rem);
  }
}
@media screen and (min-width: 1366px) {
  .fv_inner {
    padding-bottom: 14.4rem;
  }
}
.fv_main,
.fv_special,
.fv_topics {
  z-index: 10;
}
.fv_main {
  padding-top: max(7.179vw, 0.8rem);
  width: 100%;
}
@media screen and (min-width: 1366px) {
  .fv_main {
    padding-top: 0;
    margin-top: -2.083vw;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
  }
}
.fv_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
}
@media screen and (min-width: 1366px) {
  .fv_title {
    width: 34.583vw;
  }
}
body.is_loaded .fv_title {
  -webkit-animation: fv_title 0.6s ease-in-out forwards 0.4s;
  animation: fv_title 0.6s ease-in-out forwards 0.4s;
}
@-webkit-keyframes fv_title {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  20% {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
  }
  65% {
    opacity: 1;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  75% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  85% {
    opacity: 1;
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
  90% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes fv_title {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  20% {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
  }
  65% {
    opacity: 1;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
  }
  75% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  85% {
    opacity: 1;
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
  90% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.fv_title_catch {
  background: url(../img/fv/bg_catch.png) no-repeat center top/contain;
  width: min(84.359vw, 65.8rem);
  height: min(11.795vw, 9.2rem);
  font-family: 'dnp-shuei-4gob-std', 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro',
    HGS明朝E, メイリオ, Meiryo, serif;
  font-size: min(4.615vw, 3.6rem);
}
@media screen and (min-width: 1366px) {
  .fv_title_catch {
    width: 34.583vw;
    height: 4.844vw;
    font-size: 1.875vw;
  }
}
.fv_title_catch_inner {
  position: relative;
  width: 100%;
  border-radius: 50%;
  -webkit-transform: rotate(-15.5deg);
  transform: rotate(-15.5deg);
  margin: max(-6.667vw, -5.6rem) auto 0 min(11.795vw, 9.2rem);
}
@media screen and (min-width: 1366px) {
  .fv_title_catch_inner {
    margin: -2.969vw auto 0 5.417vw;
  }
}
.fv_title_catch span {
  width: 1em;
  height: min(102.564vw, 80rem);
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: bottom center;
  transform-origin: bottom center;
}
@media screen and (min-width: 1366px) {
  .fv_title_catch span {
    height: 38.542vw;
  }
}
.fv_title_catch span:nth-child(1) {
  -webkit-transform: rotate(3deg);
  transform: rotate(3deg);
}
.fv_title_catch span:nth-child(2) {
  -webkit-transform: rotate(6deg);
  transform: rotate(6deg);
}
.fv_title_catch span:nth-child(3) {
  -webkit-transform: rotate(9deg);
  transform: rotate(9deg);
}
.fv_title_catch span:nth-child(4) {
  -webkit-transform: rotate(12deg);
  transform: rotate(12deg);
}
.fv_title_catch span:nth-child(5) {
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
}
.fv_title_catch span:nth-child(6) {
  -webkit-transform: rotate(18deg);
  transform: rotate(18deg);
}
.fv_title_catch span:nth-child(7) {
  -webkit-transform: rotate(21deg);
  transform: rotate(21deg);
}
.fv_title_catch span:nth-child(8) {
  -webkit-transform: rotate(24deg);
  transform: rotate(24deg);
}
.fv_title_catch span:nth-child(9) {
  -webkit-transform: rotate(27deg);
  transform: rotate(27deg);
}
.fv_title_catch span:nth-child(10) {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}
.fv_title_catch span:nth-child(11) {
  -webkit-transform: rotate(33deg);
  transform: rotate(33deg);
}
.fv_title_catch span:nth-child(12) {
  -webkit-transform: rotate(36deg);
  transform: rotate(36deg);
}
.fv_title_img {
  width: min(82.051vw, 64.5rem);
}
@media screen and (min-width: 1366px) {
  .fv_title_img {
    width: 33.594vw;
    padding-top: 0.417vw;
  }
}
.fv_chara_sp {
  margin-top: min(4.103vw, 3.2rem);
  position: relative;
  display: flex;
  width: 100vw;
  height: min(23.59vw, 18.4rem);
  left: 50%;
  margin-left: -50vw;
  overflow: hidden;
  opacity: 0;
}
body.is_loaded .fv_chara_sp {
  -webkit-animation: fv_fade 0.7s forwards 1.2s;
  animation: fv_fade 0.7s forwards 1.2s;
}
@-webkit-keyframes fv_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fv_fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fv_chara_sp img {
  width: auto;
  height: 100%;
  max-width: none;
}
.fv_chara_sp img:first-child {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
  -webkit-animation: fv_chara_sp_01 50s -25s linear infinite;
  animation: fv_chara_sp_01 50s -25s linear infinite;
}
.fv_chara_sp img:last-child {
  -webkit-animation: fv_chara_sp_02 50s linear infinite;
  animation: fv_chara_sp_02 50s linear infinite;
}
@-webkit-keyframes fv_chara_sp_01 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes fv_chara_sp_01 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@-webkit-keyframes fv_chara_sp_02 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
@keyframes fv_chara_sp_02 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
.fv_lead {
  padding: max(11.538vw, 4rem) 0;
  margin-top: max(-6.154vw, -3.2rem);
  position: relative;
  opacity: 0;
}
@media screen and (min-width: 1366px) {
  .fv_lead {
    padding: 2.083vw 0;
    margin-top: 0;
    width: 29.375vw;
  }
}
body.is_loaded .fv_lead {
  -webkit-animation: fv_title 0.5s ease-in-out forwards 1.5s;
  animation: fv_title 0.5s ease-in-out forwards 1.5s;
}
.fv_lead::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/fv/bg_lead_sp.png) no-repeat center center/100% auto;
}
@media screen and (min-width: 1366px) {
  .fv_lead::before {
    background-image: url(../img/fv/bg_lead_pc.png);
  }
}
.fv_lead_head {
  line-height: 1.5;
  font-family: 'dnp-shuei-4gob-std', 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro',
    HGS明朝E, メイリオ, Meiryo, serif;
  font-size: clamp(1.1538461538rem, 1.7vw + -0.1500538462rem, 1.6rem);
}
.fv_lead_head span {
  font-size: clamp(1.9230769231rem, 3.4vw + -0.6847230769rem, 2.8rem);
}
.fv_lead_txt {
  margin-top: min(4.103vw, 2.4rem);
  line-height: 2;
  font-size: clamp(1.25rem, 2.1vw + -0.3607rem, 1.8rem);
}
.fv_lead_txt span {
  font-weight: 900;
  font-size: clamp(1.5384615385rem, 3.4vw + -1.0693384615rem, 2.4rem);
}
.fv_special {
  margin: max(-4.103vw, -2.4rem) auto 0;
  width: min(91.795vw, 76rem);
  opacity: 0;
}
@media screen and (min-width: 1366px) {
  .fv_special {
    margin-top: 6rem;
  }
}
body.is_loaded .fv_special {
  -webkit-animation: fv_fade 0.7s forwards 1.3s;
  animation: fv_fade 0.7s forwards 1.3s;
}
.fv_special_inner {
  background-color: #fff;
  padding: min(2.051vw, 1.6rem) min(2.051vw, 2.4rem);
  display: flex;
  align-items: center;
  gap: min(4.103vw, 2.4rem);
  position: relative;
  box-shadow: 0 min(1.026vw, 0.6rem) 0 0 rgba(34, 34, 34, 0.25);
}
.fv_special_inner:hover {
  box-shadow: 0 0 0 0 rgba(34, 34, 34, 0);
  -webkit-transform: translateY(min(1.026vw, 0.6rem));
  transform: translateY(min(1.026vw, 0.6rem));
  opacity: 0.8;
}
.fv_special_img {
  width: min(30.769vw, 32rem);
}
.fv_special_txt {
  background: url(../img/star.svg) no-repeat right min(14.359vw, 8rem) top,
    url(../img/star.svg) no-repeat right min(12.308vw, 6.4rem) top min(1.026vw, 0.6rem),
    url(../img/star.svg) no-repeat left bottom;
  background-size: min(4.103vw, 2.4rem) auto;
  flex: 1;
  font-family: 'dnp-shuei-4gob-std', 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro',
    HGS明朝E, メイリオ, Meiryo, serif;
  font-size: clamp(1.25rem, 3.7vw + -1.5879rem, 2.2rem);
}
.fv_special_txt::after {
  content: '';
  display: block;
  width: min(2.564vw, 1.6rem);
  height: min(1.538vw, 0.9rem);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #eb050a;
  margin: 1em auto 0;
  -webkit-animation: fv_special_txt 1s ease-in-out infinite;
  animation: fv_special_txt 1s ease-in-out infinite;
}
@-webkit-keyframes fv_special_txt {
  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(0.3rem);
    transform: translateY(0.3rem);
  }
}
@keyframes fv_special_txt {
  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  70% {
    -webkit-transform: translateY(0.3rem);
    transform: translateY(0.3rem);
  }
}
.fv_special_txt span {
  display: block;
  line-height: 1.5;
  margin-top: 0.8em;
}
.fv_special_new {
  position: absolute;
  top: max(-4.103vw, -3.2rem);
  right: max(-4.103vw, -3.2rem);
}
@media screen and (min-width: 1366px) {
  .fv_special_new {
    top: -0.625vw;
    right: -0.625vw;
  }
}
.fv_special_new span {
  position: relative;
  display: grid;
  place-content: center;
  background-color: #eb050a;
  color: #fff;
  -webkit-transform: rotate(10deg);
  transform: rotate(10deg);
  width: min(11.282vw, 6.6rem);
  height: min(11.282vw, 6.6rem);
  border-radius: 50%;
  font-size: clamp(1.0576923077rem, 2.5vw + -0.8598076923rem, 1.7rem);
}
.fv_special_new span::before {
  content: '';
  width: min(1.795vw, 1.1rem);
  height: min(2.821vw, 1.7rem);
  -webkit-clip-path: polygon(50% min(2.821vw, 1.7rem), 0% 0%, min(1.795vw, 1.1rem) 0%);
  clip-path: polygon(50% min(2.821vw, 1.7rem), 0% 0%, min(1.795vw, 1.1rem) 0%);
  background-color: #eb050a;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.fv_special_column .fv_special_inner {
  flex-wrap: wrap;
  gap: min(2.051vw, 1.6rem);
}
.fv_special_column .fv_special_img {
  width: calc((100% - min(4.103vw, 2.4rem)) / 2);
}
.fv_special_column .fv_special_txt {
  background-position: right min(2.051vw, 1.6rem) top, right top min(1.026vw, 0.6rem), left bottom min(2.051vw, 1.2rem);
  width: 100%;
  flex: auto;
  justify-content: center;
}
.fv_special_column .fv_special_txt::after,
.fv_special_column .fv_special_txt span {
  margin-top: 0.4em;
}
.fv_special_column .fv_special_new {
  top: max(-5.128vw, -3.2rem);
  right: max(-5.128vw, -3.2rem);
}
@media screen and (min-width: 1366px) {
  .fv_special_column .fv_special_new {
    top: -3.2rem;
    right: -3.2rem;
  }
}
.fv_special_column .fv_special_new span::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.fv_topics {
  margin: min(6.154vw, 4rem) auto 0;
  width: min(91.795vw, 76rem);
  background-color: #fff;
  opacity: 0;
}
@media screen and (min-width: 1366px) {
  .fv_topics {
    margin-top: 4rem;
  }
}
body.is_loaded .fv_topics {
  -webkit-animation: fv_fade 0.7s forwards 1.5s;
  animation: fv_fade 0.7s forwards 1.5s;
}
.fv_topics_list {
  display: flex;
}
.fv_topics_list dt {
  background-color: #222;
  color: #fff;
  position: relative;
  font-family: 'dnp-shuei-4gob-std', 游明朝, 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro',
    HGS明朝E, メイリオ, Meiryo, serif;
  padding: min(1.026vw, 0.8rem) min(1.026vw, 0.8rem) min(1.026vw, 0.8rem) min(2.051vw, 1.6rem);
  display: flex;
  position: relative;
  font-size: clamp(1.1538461538rem, 1.7vw + -0.1500538462rem, 1.6rem);
}
.fv_topics_list dt::after {
  content: '';
  background-color: #222;
  width: min(2.051vw, 1.6rem);
  height: 100%;
  -webkit-clip-path: polygon(min(2.051vw, 1.6rem) 50%, 0% 0%, 0% 100%);
  clip-path: polygon(min(2.051vw, 1.6rem) 50%, 0% 0%, 0% 100%);
  position: absolute;
  top: 0;
  left: calc(100% - 1px);
}
.fv_topics_list dd {
  flex: 1;
  padding: min(1.538vw, 1rem) min(1.026vw, 0.8rem) min(1.026vw, 0.8rem) min(4.103vw, 3.2rem);
  font-size: clamp(1.0576923077rem, 1.3vw + 0.0605923077rem, 1.4rem);
}
.fv_topics_item {
  position: relative;
  overflow: hidden;
  text-align: left;
}
.fv_topics_item ul {
  width: 100%;
  position: relative;
}
.fv_topics_item ul li {
  width: 100%;
  display: none;
}
.fv_topics_new {
  background-color: #eb050a;
  color: #fff;
  padding: min(1.026vw, 0.6rem);
  margin-right: 0.5em;
  font-size: clamp(0.9615384615rem, 0.9vw + 0.2712384615rem, 1.2rem);
}
.fv_topics_timer {
  opacity: 0;
  visibility: hidden;
}
.fv_topics_timer.is_update {
  opacity: 1;
  visibility: visible;
}
.fv_scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
}
body.is_loaded .fv_scroll {
  -webkit-animation: fv_fade 0.7s forwards 1.8s;
  animation: fv_fade 0.7s forwards 1.8s;
}
.fv_scroll span {
  position: relative;
  width: 100%;
  height: min(14.359vw, 8rem);
}
.fv_scroll span::before,
.fv_scroll span::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 2px;
  height: min(14.359vw, 8rem);
}
.fv_scroll span::before {
  background-color: rgba(150, 137, 111, 0.3);
}
.fv_scroll span::after {
  background-color: #96896f;
  -webkit-animation: fv_scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  animation: fv_scroll 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@-webkit-keyframes fv_scroll {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
@keyframes fv_scroll {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}
.fv_chara_pc img {
  position: absolute;
  opacity: 0;
}
.fv_chara_pc img:nth-child(1) {
  z-index: 2;
  width: 9.323vw;
  top: 2.76vw;
  left: 1.51vw;
}
body.is_loaded .fv_chara_pc img:nth-child(1) {
  -webkit-animation: fv_fade 0.5s forwards 1.1s;
  animation: fv_fade 0.5s forwards 1.1s;
}
.fv_chara_pc img:nth-child(2) {
  z-index: 5;
  width: 7.813vw;
  top: 22.656vw;
  right: 0.938vw;
}
body.is_loaded .fv_chara_pc img:nth-child(2) {
  -webkit-animation: fv_fade 0.5s forwards 1.4s;
  animation: fv_fade 0.5s forwards 1.4s;
}
.fv_chara_pc img:nth-child(3) {
  z-index: 5;
  width: 7.448vw;
  top: 19.583vw;
  left: 7.396vw;
}
body.is_loaded .fv_chara_pc img:nth-child(3) {
  -webkit-animation: fv_fade 0.5s forwards 1.4s;
  animation: fv_fade 0.5s forwards 1.4s;
}
.fv_chara_pc img:nth-child(4) {
  z-index: 4;
  width: 10.833vw;
  top: 16.875vw;
  right: 1.719vw;
}
body.is_loaded .fv_chara_pc img:nth-child(4) {
  -webkit-animation: fv_fade 0.5s forwards 1.3s;
  animation: fv_fade 0.5s forwards 1.3s;
}
.fv_chara_pc img:nth-child(5) {
  z-index: 3;
  width: 11.25vw;
  top: 9.167vw;
  left: 2.292vw;
}
body.is_loaded .fv_chara_pc img:nth-child(5) {
  -webkit-animation: fv_fade 0.5s forwards 1.2s;
  animation: fv_fade 0.5s forwards 1.2s;
}
.fv_chara_pc img:nth-child(6) {
  z-index: 6;
  width: 8.75vw;
  top: 22.76vw;
  left: 1.146vw;
}
body.is_loaded .fv_chara_pc img:nth-child(6) {
  -webkit-animation: fv_fade 0.5s forwards 1.5s;
  animation: fv_fade 0.5s forwards 1.5s;
}
.fv_chara_pc img:nth-child(7) {
  z-index: 2;
  width: 9.01vw;
  top: 4.948vw;
  right: 0.99vw;
}
body.is_loaded .fv_chara_pc img:nth-child(7) {
  -webkit-animation: fv_fade 0.5s forwards 1.1s;
  animation: fv_fade 0.5s forwards 1.1s;
}
.fv_chara_pc img:nth-child(8) {
  z-index: 1;
  width: 12.969vw;
  top: -2.812vw;
  right: 3.073vw;
}
body.is_loaded .fv_chara_pc img:nth-child(8) {
  -webkit-animation: fv_fade 0.5s forwards 1s;
  animation: fv_fade 0.5s forwards 1s;
}
.fv_chara_pc img:nth-child(9) {
  z-index: 7;
  width: 8.75vw;
  top: 27.917vw;
  left: 8.802vw;
}
body.is_loaded .fv_chara_pc img:nth-child(9) {
  -webkit-animation: fv_fade 0.5s forwards 1.6s;
  animation: fv_fade 0.5s forwards 1.6s;
}
.fv_chara_pc img:nth-child(10) {
  z-index: 3;
  width: 7.083vw;
  top: 10.417vw;
  right: 8.958vw;
}
body.is_loaded .fv_chara_pc img:nth-child(10) {
  -webkit-animation: fv_fade 0.5s forwards 1.2s;
  animation: fv_fade 0.5s forwards 1.2s;
}
.fv_chara_pc img:nth-child(11) {
  z-index: 4;
  width: 8.49vw;
  top: 10.833vw;
  left: 9.74vw;
}
body.is_loaded .fv_chara_pc img:nth-child(11) {
  -webkit-animation: fv_fade 0.5s forwards 1.3s;
  animation: fv_fade 0.5s forwards 1.3s;
}
.fv_chara_pc img:nth-child(12) {
  z-index: 6;
  width: 10.208vw;
  top: 27.76vw;
  right: 5.729vw;
}
body.is_loaded .fv_chara_pc img:nth-child(12) {
  -webkit-animation: fv_fade 0.5s forwards 1.5s;
  animation: fv_fade 0.5s forwards 1.5s;
}
.fv_chara_pc img:nth-child(13) {
  z-index: 1;
  width: 9.323vw;
  top: -0.885vw;
  left: 7.969vw;
}
body.is_loaded .fv_chara_pc img:nth-child(13) {
  -webkit-animation: fv_fade 0.5s forwards 1s;
  animation: fv_fade 0.5s forwards 1s;
}
.special {
  margin-top: min(12.308vw, 8rem);
}
.special_img {
  text-align: center;
}
.special_img img {
  aspect-ratio: 800/436;
}
.special_date {
  margin-top: min(4.103vw, 2.4rem);
  display: flex;
  justify-content: center;
  font-weight: 900;
  font-size: clamp(1.1538461538rem, 4.1vw + -1.9908538462rem, 2.2rem);
}
.special_txt {
  margin-top: min(4.103vw, 2.4rem);
  display: flex;
  justify-content: center;
  text-align: left;
}
.topics {
  margin-top: min(12.308vw, 8rem);
}
.topics_inner_after + .topics_inner_after {
  border-top: 1px solid #222;
  padding-top: min(4.103vw, 3.2em);
  margin-top: min(4.103vw, 3.2em);
}
.topics_img {
  text-align: center;
}
.topics_img img {
  aspect-ratio: 800/436;
}
.topics_txt {
  margin-top: min(4.103vw, 2.4rem);
  display: flex;
  justify-content: center;
  text-align: left;
} /*# sourceMappingURL=lp.min.css.map */
