@keyframes rotate {
  0% {
    rotate: 0deg;
  }
  50% {
    rotate: 180deg;
  }
  100% {
    rotate: 360deg;
  }
}
html {
  color: #231815;
}
@media (min-width: 769px) {
  html {
    font-size: min(0.667vw, 10px);
  }
}
@media (max-width: 768px) {
  html {
    font-size: min(1.334vw, 10px);
  }
}

body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}

body, h1, h2, h3, h4, p, figure, ul, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

a {
  color: inherit;
  cursor: pointer;
}

img {
  max-width: 100%;
  max-height: 100%;
  vertical-align: bottom;
}
img[src^=cg-] {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

*, *::before, *::after {
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}

@media (orientation: landscape) {
  .for-portrait {
    display: none !important;
  }
}

@media (orientation: portrait) {
  .for-landscape {
    display: none !important;
  }
}

@media print {
  .cg-image {
    display: none !important;
  }
}

.js-animation.slideUpIn {
  opacity: 0;
  translate: 0 30px;
  transition: opacity 0.4s linear, translate 0.4s ease-out;
}
.js-animation.slideUpIn.is-animated {
  opacity: 1;
  translate: 0 0;
}

main {
  position: relative;
  background: #fff0d9;
  color: #004f2f;
}
main .kazari {
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 769px) {
  main .kazari.kazari1 {
    background-image: url(../images/kazari1_pc.png);
    width: 21.5rem;
    height: 22.9rem;
    right: calc(50% + 39.2rem);
    top: -15.1rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari1 {
    background-image: url(../images/kazari1_sp.png);
    width: 25.2rem;
    height: 27.1rem;
    right: calc(50% + 21.8rem);
    top: -18.5rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari2 {
    background-image: url(../images/kazari2_pc.png);
    width: 12.6rem;
    height: 11.5rem;
    right: calc(50% + 36.6rem);
    top: 6.8rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari2 {
    background-image: url(../images/kazari2_sp.png);
    width: 15.2rem;
    height: 13.7rem;
    right: calc(50% + 19.1rem);
    top: 11.9rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari3 {
    background-image: url(../images/kazari3_pc.png);
    width: 10.6rem;
    height: 10.8rem;
    left: calc(50% + 35.1rem);
    top: -12rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari3 {
    background-image: url(../images/kazari3_sp.png);
    width: 12.4rem;
    height: 12.8rem;
    left: calc(50% + 24.1rem);
    top: -17.5rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari4 {
    background-image: url(../images/kazari4_pc.png);
    width: 15.1rem;
    height: 16rem;
    left: calc(50% + 39.8rem);
    top: -11.3rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari4 {
    background-image: url(../images/kazari4_sp.png);
    width: 15.8rem;
    height: 16.8rem;
    left: calc(50% + 27.2rem);
    top: -10.4rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari5 {
    background-image: url(../images/kazari5_pc.png);
    width: 11.9rem;
    height: 12.9rem;
    right: calc(50% + 56.3rem);
    top: 2rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari5 {
    background-image: url(../images/kazari5_sp.png);
    width: 13.8rem;
    height: 15.3rem;
    right: calc(50% + 8.6rem);
    bottom: -12.5rem;
    z-index: -1;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari6 {
    background-image: url(../images/kazari6_pc.png);
    width: 20.2rem;
    height: 23.6rem;
    left: calc(50% + 64.4rem);
    top: 40.7rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari6 {
    background-image: url(../images/kazari6_sp.png);
    width: 13.6rem;
    height: 17.3rem;
    left: calc(50% + 16.5rem);
    bottom: -11.3rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari7 {
    background-image: url(../images/kazari7_pc.png);
    width: 13rem;
    height: 14.9rem;
    left: calc(50% + 60.7rem);
    top: 57.1rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari7 {
    background-image: url(../images/kazari7_sp.png);
    width: 12.4rem;
    height: 13.3rem;
    right: calc(50% + 25.1rem);
    bottom: 16.3rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari8 {
    background-image: url(../images/kazari8_pc.png);
    width: 11.4rem;
    height: 12.6rem;
    right: calc(50% + 48.3rem);
    bottom: 4rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari9 {
    background-image: url(../images/kazari9_pc.png);
    width: 19.8rem;
    height: 22.7rem;
    left: calc(50% + 45.7rem);
    top: 0.2rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari9 {
    background-image: url(../images/kazari9_sp.png);
    width: 23.2rem;
    height: 26.9rem;
    left: calc(50% + 25.3rem);
    top: -14.9rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari10 {
    background-image: url(../images/kazari10_pc.png);
    width: 16.6rem;
    height: 19.1rem;
    right: calc(50% + 54.1rem);
    bottom: 38.4rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari10 {
    background-image: url(../images/kazari10_sp.png);
    width: 21.2rem;
    height: 24.9rem;
    right: calc(50% + 26.8rem);
    top: 16.5rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari11 {
    background-image: url(../images/kazari11_pc.png);
    width: 14.3rem;
    height: 14rem;
    right: calc(50% + 47.8rem);
    bottom: 35.3rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari11 {
    background-image: url(../images/kazari11_sp.png);
    width: 17.9rem;
    height: 17.2rem;
    right: calc(50% + 17.2rem);
    top: 23.7rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari12_1 {
    background-image: url(../images/kazari12_1_pc.png);
    width: 18.1rem;
    height: 15.4rem;
    left: calc(50% + 49.4rem);
    top: 6.4rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari12_2 {
    background-image: url(../images/kazari12_2_pc.png);
    width: 18.1rem;
    height: 15.4rem;
    left: calc(50% + 49.4rem);
    top: 6.4rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari12_2 {
    background-image: url(../images/kazari12_2_sp.png);
    width: 17.2rem;
    height: 18rem;
    right: calc(50% + 10.4rem);
    top: 0.9rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari13 {
    background-image: url(../images/kazari13_pc.png);
    width: 24rem;
    height: 28rem;
    left: calc(50% + 65.3rem);
    top: 14.5rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari14 {
    background-image: url(../images/kazari14_pc.png);
    width: 19.8rem;
    height: 22.7rem;
    right: calc(50% + 62.4rem);
    bottom: 37.5rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari14 {
    background-image: url(../images/kazari14_sp.png);
    width: 23.2rem;
    height: 26.9rem;
    right: calc(50% + 25.7rem);
    top: 46.2rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari15 {
    background-image: url(../images/kazari15_pc.png);
    width: 10.4rem;
    height: 10.9rem;
    right: calc(50% + 58.1rem);
    bottom: 42.7rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari15 {
    background-image: url(../images/kazari15_sp.png);
    width: 13rem;
    height: 13.8rem;
    right: calc(50% + 17.4rem);
    top: 58.3rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari16 {
    background-image: url(../images/kazari16_pc.png);
    width: 10.6rem;
    height: 11.2rem;
    left: calc(50% + 30rem);
    top: -8.3rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari16 {
    background-image: url(../images/kazari16_sp.png);
    width: 13.1rem;
    height: 14.9rem;
    left: calc(50% + 10.7rem);
    top: -25.3rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari17 {
    background-image: url(../images/kazari17_pc.png);
    width: 21.1rem;
    height: 22.3rem;
    left: calc(50% + 40.7rem);
    top: -3rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari17 {
    background-image: url(../images/kazari17_sp.png);
    width: 25.4rem;
    height: 29.7rem;
    left: calc(50% + 15.3rem);
    top: -22.6rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari18 {
    background-image: url(../images/kazari18_pc.png);
    width: 11.1rem;
    height: 14rem;
    left: calc(50% + 54.6rem);
    top: 16.1rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari19 {
    background-image: url(../images/kazari19_pc.png);
    width: 13.6rem;
    height: 14.1rem;
    right: calc(50% + 54.2rem);
    top: 7.3rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari20 {
    background-image: url(../images/kazari20_pc.png);
    width: 14.2rem;
    height: 15rem;
    right: calc(50% + 39.6rem);
    top: 14.5rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari21 {
    background-image: url(../images/kazari21_pc.png);
    width: 11.9rem;
    height: 12.9rem;
    right: calc(50% + 46.2rem);
    top: 27.1rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari22 {
    background-image: url(../images/kazari22_pc.png);
    width: 11.2rem;
    height: 12.3rem;
    left: calc(50% + 45.8rem);
    top: -20.3rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari23 {
    background-image: url(../images/kazari23_pc.png);
    width: 30.5rem;
    height: 28.4rem;
    left: calc(50% + 34.1rem);
    top: -12.7rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari23 {
    background-image: url(../images/kazari23_sp.png);
    width: 30.6rem;
    height: 28.4rem;
    left: calc(50% + 11.9rem);
    top: -16.8rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari24 {
    background-image: url(../images/kazari24_pc.png);
    width: 21.5rem;
    height: 22.9rem;
    right: calc(50% + 41.9rem);
    top: -18.3rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari24 {
    background-image: url(../images/kazari24_sp.png);
    width: 25.3rem;
    height: 27.1rem;
    right: calc(50% + 20.2rem);
    top: -18.2rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari25 {
    background-image: url(../images/kazari25_pc.png);
    width: 9.9rem;
    height: 10.4rem;
    right: calc(50% + 42.8rem);
    top: -1.8rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari25 {
    background-image: url(../images/kazari25_sp.png);
    width: 12.4rem;
    height: 13.3rem;
    right: calc(50% + 21.9rem);
    top: 4.4rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari26 {
    background-image: url(../images/kazari26_pc.png);
    width: 26.4rem;
    height: 27.2rem;
    right: calc(50% + 37.7rem);
    top: 28.4rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari26 {
    background-image: url(../images/kazari26_sp.png);
    width: 33.7rem;
    height: 40.6rem;
    right: calc(50% + 16.3rem);
    top: 39.4rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari27 {
    background-image: url(../images/kazari27_pc.png);
    width: 15.9rem;
    height: 16.8rem;
    left: calc(50% + 56.3rem);
    top: 36.6rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari28 {
    background-image: url(../images/kazari28_pc.png);
    width: 11.1rem;
    height: 14rem;
    left: calc(50% + 49.6rem);
    top: 50.1rem;
  }
}
main .kazari.kazari29 {
  background-image: url(../images/kazari29.png);
}
@media (min-width: 769px) {
  main .kazari.kazari29 {
    width: 22.8rem;
    height: 21.5rem;
    left: calc(50% + 28.9rem);
    top: -14.6rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari29 {
    width: 22.8rem;
    height: 21.5rem;
    left: calc(50% + 11.7rem);
    top: -5.3rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari30 {
    background-image: url(../images/kazari30_pc.png);
    width: 10.5rem;
    height: 12.8rem;
    right: calc(50% + 55.1rem);
    top: -3.6rem;
    z-index: 2;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari31_1 {
    background-image: url(../images/kazari31_1_pc.png);
    width: 18.8rem;
    height: 14.5rem;
    left: calc(50% + 42.6rem);
    top: 21.7rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari31_1 {
    background-image: url(../images/kazari31_1_sp.png);
    width: 11.3rem;
    height: 11.9rem;
    left: calc(50% + 22.8rem);
    top: 9.9rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari31_2 {
    background-image: url(../images/kazari31_2_pc.png);
    width: 18.8rem;
    height: 14.5rem;
    left: calc(50% + 42.6rem);
    top: 21.7rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari31_2 {
    background-image: url(../images/kazari31_2_sp.png);
    width: 15.2rem;
    height: 18rem;
    left: calc(50% + 13.4rem);
    top: 2.9rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari32_1 {
    background-image: url(../images/kazari32_1_pc.png);
    width: 18.2rem;
    height: 18.9rem;
    right: calc(50% + 35.9rem);
    top: 1.8rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari32_1 {
    background-image: url(../images/kazari32_1_sp.png);
    width: 13.5rem;
    height: 14rem;
    right: calc(50% + 15.7rem);
    top: 1.3rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari32_2 {
    background-image: url(../images/kazari32_2_pc.png);
    width: 18.2rem;
    height: 18.9rem;
    right: calc(50% + 35.9rem);
    top: 1.8rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari32_2 {
    background-image: url(../images/kazari32_2_sp.png);
    width: 17.9rem;
    height: 17.2rem;
    right: calc(50% + 17.4rem);
    top: 10.6rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari33 {
    background-image: url(../images/kazari33_pc.png);
    width: 21.1rem;
    height: 23rem;
    left: calc(50% + 46.6rem);
    top: 8rem;
    z-index: 5;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari33 {
    background-image: url(../images/kazari33_sp.png);
    width: 27.8rem;
    height: 30.6rem;
    left: calc(50% + 19.6rem);
    top: 5.4rem;
    z-index: 5;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari34 {
    background-image: url(../images/kazari34_pc.png);
    width: 11.2rem;
    height: 12.6rem;
    left: calc(50% + 41.8rem);
    top: 28.5rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari34 {
    background-image: url(../images/kazari34_sp.png);
    width: 13.4rem;
    height: 15.3rem;
    left: calc(50% + 19.4rem);
    top: 31.8rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari35 {
    background-image: url(../images/kazari35_pc.png);
    width: 14.7rem;
    height: 14.6rem;
    right: calc(50% + 57rem);
    bottom: 19.2rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari35 {
    background-image: url(../images/kazari35_sp.png);
    width: 20.2rem;
    height: 20.2rem;
    right: calc(50% + 23.2rem);
    bottom: 10.9rem;
  }
}
@media (min-width: 769px) {
  main .kazari.kazari36 {
    background-image: url(../images/kazari36_pc.png);
    width: 11.9rem;
    height: 14.1rem;
    right: calc(50% + 49.2rem);
    bottom: 5.1rem;
  }
}
@media (max-width: 768px) {
  main .kazari.kazari36 {
    background-image: url(../images/kazari36_sp.png);
    width: 15.4rem;
    height: 18.7rem;
    right: calc(50% + 13.8rem);
    bottom: 0.1rem;
  }
}

.main_inner {
  contain: paint;
}

section {
  padding: 0;
}

.kv_section {
  position: relative;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
}
@media (min-width: 769px) {
  .kv_section {
    height: calc(100dvh - 8.5rem);
    max-height: 82.4rem;
  }
}
@media (max-width: 768px) {
  .kv_section {
    height: calc(100dvh - 16.3rem);
    max-height: 116.2rem;
  }
}
@media (orientation: landscape) {
  .kv_section {
    background-image: url(../images/kv_bg_pc.jpg);
  }
}
@media (orientation: portrait) {
  .kv_section {
    background-image: url(../images/kv_bg_sp.jpg);
  }
}
.kv_section .kv_image, .kv_section .kv_title, .kv_section .kv_lead {
  opacity: 0;
  transition: opacity 0.5s linear 0s;
}
.kv_section .kv_prod1, .kv_section .kv_prod2 {
  opacity: 0;
  translate: 0 20px;
  transition: opacity 0.5s linear 0.25s, translate 0.75s cubic-bezier(0.45, 0.45, 0.38, 1.28) 0.25s;
}
.kv_section .kv_anchor {
  opacity: 0;
  transition: opacity 0.5s linear 0.65s;
}
.kv_section.is-animated .kv_image, .kv_section.is-animated .kv_title, .kv_section.is-animated .kv_lead, .kv_section.is-animated .kv_anchor {
  opacity: 1;
}
.kv_section.is-animated .kv_prod1, .kv_section.is-animated .kv_prod2 {
  opacity: 1;
  translate: 0 0;
}

.kv_inner {
  position: relative;
  height: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .kv_inner {
    aspect-ratio: 1500/824;
  }
}
@media (max-width: 768px) {
  .kv_inner {
    aspect-ratio: 750/1162;
  }
}
.kv_inner img {
  display: inline-block;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.kv_content {
  position: absolute;
  inset: 0;
}

.kv_image {
  position: absolute;
  inset: 0;
}
.kv_image::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center bottom;
  left: 50%;
  top: 0;
  bottom: 0;
  translate: -50% 0;
  pointer-events: none;
}
@media (min-width: 769px) {
  .kv_image::before {
    background-image: url(../images/cg-kv_image_pc.webp);
    background-size: contain;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .kv_image::before {
    background-image: url(../images/cg-kv_image_sp.webp);
    background-size: auto 100%;
    width: 100vw;
  }
}

.kv_title {
  position: absolute;
}
@media (min-width: 769px) {
  .kv_title {
    width: 35.667%;
    height: 45.51%;
    right: 65.867%;
    bottom: 50.607%;
  }
}
@media (max-width: 768px) {
  .kv_title {
    width: 59.734%;
    height: 27.281%;
    right: 40.934%;
    bottom: 69.708%;
  }
}
@media (min-width: 769px) {
  .kv_title img {
    object-position: right bottom;
  }
}
@media (max-width: 768px) {
  .kv_title img {
    object-position: left bottom;
  }
}
@media screen and (max-width: 375px) {
  .kv_title img {
    object-position: center bottom;
  }
}

.kv_lead {
  position: absolute;
}
@media (min-width: 769px) {
  .kv_lead {
    width: 18.8%;
    height: 19.115%;
    right: 76.867%;
    top: 46.845%;
  }
}
@media (max-width: 768px) {
  .kv_lead {
    width: 24.667%;
    height: 8.348%;
    right: 72.8%;
    top: 37.522%;
  }
}
.kv_lead img {
  object-position: right top;
}

.kv_prod1 {
  position: absolute;
}
@media (min-width: 769px) {
  .kv_prod1 {
    width: 14.267%;
    height: 40.777%;
    left: 72.6%;
    bottom: 45.389%;
  }
}
@media (max-width: 768px) {
  .kv_prod1 {
    width: 25.6%;
    height: 25.99%;
    left: 52.934%;
    bottom: 69.45%;
  }
}
@media (min-width: 769px) {
  .kv_prod1 img {
    object-position: left bottom;
  }
}
@media (max-width: 768px) {
  .kv_prod1 img {
    object-position: right bottom;
  }
}
@media screen and (max-width: 375px) {
  .kv_prod1 img {
    object-position: center bottom;
  }
}

.kv_prod2 {
  position: absolute;
}
@media (min-width: 769px) {
  .kv_prod2 {
    width: 18.667%;
    height: 46.967%;
    left: 81.2%;
    bottom: 36.53%;
  }
}
@media (max-width: 768px) {
  .kv_prod2 {
    width: 33.467%;
    height: 29.863%;
    left: 68.267%;
    bottom: 63.856%;
  }
}
@media (min-width: 769px) {
  .kv_prod2 img {
    object-position: left bottom;
  }
}
@media (max-width: 768px) {
  .kv_prod2 img {
    object-position: center bottom;
  }
}
@media screen and (max-width: 375px) {
  .kv_prod2 img {
    object-position: left bottom;
  }
}

.kv_anchor {
  position: absolute;
  right: 0;
}
@media (min-width: 769px) {
  .kv_anchor {
    width: 27.4rem;
    bottom: 3.5rem;
  }
  .kv_anchor svg {
    position: absolute;
    fill: #feecd6;
    width: 8.395%;
    height: 7.265%;
    left: 49.636%;
    bottom: 16.24%;
    rotate: 90deg;
  }
}
@media (max-width: 768px) {
  .kv_anchor {
    width: 44%;
    height: 28.916%;
    bottom: -0.5rem;
  }
  .kv_anchor::after {
    content: "";
    position: absolute;
    background-image: url(../images/kv_anchor_arrow.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: contain;
    inset: 0;
  }
}
.kv_anchor img {
  object-position: right bottom;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.kv_anchor::after, .kv_anchor img, .kv_anchor svg {
  transition: opacity 0.4s ease;
}
.kv_anchor:hover::after, .kv_anchor:hover img, .kv_anchor:hover svg {
  opacity: 0.7;
}
.kv_anchor:hover::after, .kv_anchor:hover svg {
  translate: 0 5px;
}

.nav_outer {
  position: sticky;
  background: #004f2f;
  top: 0;
  color: #fef4e7;
  z-index: 550;
}
@media (min-width: 769px) {
  .nav_outer {
    height: 8.5rem;
  }
}
@media (max-width: 768px) {
  .nav_outer {
    height: 16.3rem;
  }
}

.nav_inner {
  position: relative;
}

.nav_list {
  display: flex;
  justify-content: center;
}
.nav_list > li {
  position: relative;
}
@media (min-width: 769px) {
  .nav_list > li {
    width: 27.5rem;
    height: 8.5rem;
    padding: 0 1rem;
  }
}
@media (max-width: 768px) {
  .nav_list > li {
    width: 100%;
    height: 16.3rem;
  }
}
.nav_list > li::before {
  position: absolute;
  background: #fef4e7;
  width: 1px;
  left: 0;
  top: 50%;
  translate: -50% -50%;
}
@media (min-width: 769px) {
  .nav_list > li::before {
    content: "";
    height: 84.706%;
  }
}
@media (max-width: 768px) {
  .nav_list > li::before {
    height: 88.344%;
  }
}
@media (max-width: 768px) {
  .nav_list > li:nth-of-type(n+2)::before {
    content: "";
  }
}
@media (min-width: 769px) {
  .nav_list > li:last-of-type::after {
    content: "";
    position: absolute;
    background: #fef4e7;
    width: 1px;
    right: 0;
    top: 50%;
    translate: 50% -50%;
  }
}
@media (min-width: 769px) and (min-width: 769px) {
  .nav_list > li:last-of-type::after {
    height: 84.706%;
  }
}
@media (min-width: 769px) and (max-width: 768px) {
  .nav_list > li:last-of-type::after {
    height: 169.412%;
  }
}

.nav_link {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
}
@media (min-width: 769px) {
  .nav_link {
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .nav_link {
    justify-content: space-between;
    padding: 2rem 0 1.6rem;
  }
}
.nav_link small {
  padding-bottom: 0.8rem;
  letter-spacing: 0.01em;
  line-height: 1;
  font-weight: 500;
  font-family: "EB Garamond", serif;
}
@media (min-width: 769px) {
  .nav_link small {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .nav_link small {
    padding-bottom: 0.8rem;
    font-size: 2rem;
  }
}
.nav_link strong {
  padding-bottom: 1.3rem;
  letter-spacing: 0;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .nav_link strong {
    line-height: 1;
    font-size: 1.9rem;
  }
}
@media (max-width: 768px) {
  .nav_link strong {
    line-height: 1.143;
    font-size: 2.8rem;
  }
}
.nav_link svg {
  stroke: #fffaf3;
}
@media (min-width: 769px) {
  .nav_link svg {
    stroke-width: 1px;
    width: 1rem;
    height: 0.7rem;
  }
}
@media (max-width: 768px) {
  .nav_link svg {
    stroke-width: 2px;
    width: 1.6rem;
    height: 1.1rem;
  }
}
.nav_link:hover {
  opacity: 1;
}
.nav_link:hover svg {
  translate: 0 5px;
}

.lead_section {
  position: relative;
  background-color: #fcebd3;
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media (min-width: 769px) {
  .lead_section {
    background-image: url(../images/lead_bg_pc.webp);
    padding: 9.2rem 0 calc(8.4rem + 5.2vw);
  }
}
@media (max-width: 768px) {
  .lead_section {
    background-image: url(../images/lead_bg_sp.webp);
    padding: 13.9rem 0 calc(13.3rem + 10.134vw);
  }
}
.lead_section::before, .lead_section::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
@media (min-width: 769px) {
  .lead_section::before, .lead_section::after {
    bottom: 0;
  }
}
@media (max-width: 768px) {
  .lead_section::before, .lead_section::after {
    bottom: -2rem;
  }
}
.lead_section::before {
  background-position: left bottom;
  left: 0;
}
@media (min-width: 769px) {
  .lead_section::before {
    background-image: url(../images/lead_bg_left_pc.webp);
    width: 30rem;
    height: 22.8rem;
  }
}
@media (max-width: 768px) {
  .lead_section::before {
    background-image: url(../images/lead_bg_left_sp.webp);
    width: 29rem;
    height: 25rem;
  }
}
.lead_section::after {
  background-position: right bottom;
  right: 0;
}
@media (min-width: 769px) {
  .lead_section::after {
    background-image: url(../images/lead_bg_right_pc.webp);
    width: 33.3rem;
    height: 48.9rem;
  }
}
@media (max-width: 768px) {
  .lead_section::after {
    background-image: url(../images/lead_bg_right_sp.webp);
    width: 33.3rem;
    height: 60.4rem;
  }
}

.lead_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.lead_text {
  position: relative;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
}
@media (min-width: 769px) {
  .lead_text {
    line-height: 1.772;
    font-size: 3.5rem;
  }
  .lead_text > p {
    font: inherit;
  }
  .lead_text > p:first-of-type {
    margin-top: -0.385em;
  }
  .lead_text > p:last-of-type {
    margin-bottom: -0.385em;
  }
}
@media (max-width: 768px) {
  .lead_text {
    line-height: 1.773;
    font-size: 4.4rem;
  }
  .lead_text > p {
    font: inherit;
  }
  .lead_text > p:first-of-type {
    margin-top: -0.386em;
  }
  .lead_text > p:last-of-type {
    margin-bottom: -0.386em;
  }
}
.lead_text strong {
  display: inline-block;
  background: #004f2f;
  margin: 0 0.1em;
  padding: 0 0.1em 0 0.15em;
  font-weight: inherit;
  color: #fffaf3;
}
@media (min-width: 769px) {
  .lead_text strong {
    line-height: 1.343em;
  }
}
@media (max-width: 768px) {
  .lead_text strong {
    line-height: 1.432em;
  }
}

@media (min-width: 769px) {
  .lead_image {
    width: 9.3rem;
    padding-top: 3.3rem;
  }
}
@media (max-width: 768px) {
  .lead_image {
    width: 11.6rem;
    padding-top: 5.4rem;
  }
}

.product_section {
  position: relative;
  background-color: #db9357;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media (min-width: 769px) {
  .product_section {
    background-image: url(../images/product_bg_pc.webp);
    background-position: center -13rem;
  }
}
@media (max-width: 768px) {
  .product_section {
    background-image: url(../images/product_bg_sp.webp);
    background-position: center -30rem;
  }
}
.product_section::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% auto;
  left: 0;
  right: 0;
  pointer-events: none;
}
@media (min-width: 769px) {
  .product_section::before {
    background-image: url(../images/product_bg_top_pc.webp);
    height: 5.334vw;
    bottom: calc(100% - 0.2rem);
  }
}
@media (max-width: 768px) {
  .product_section::before {
    background-image: url(../images/product_bg_top_sp.webp);
    height: 10.667vw;
    bottom: calc(100% - 0.4rem);
  }
}

.product_inner {
  position: relative;
  margin: 0 auto;
  z-index: 2;
}
@media (min-width: 769px) {
  .product_inner {
    max-width: 110rem;
    padding: 5rem 0 3.3rem;
  }
}
@media (max-width: 768px) {
  .product_inner {
    max-width: 68rem;
    padding: 1rem 0 5.6rem;
  }
}

.product_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fef4e7;
}
@media (min-width: 769px) {
  .product_head {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .product_head {
    gap: 1.2rem;
  }
}
.product_head h2 {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .product_head h2 {
    font-size: 5.2rem;
  }
}
@media (max-width: 768px) {
  .product_head h2 {
    font-size: 6.4rem;
  }
}
.product_head p {
  line-height: 1;
  font-weight: 700;
  font-family: "EB Garamond", serif;
}
@media (min-width: 769px) {
  .product_head p {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  .product_head p {
    font-size: 2.4rem;
  }
}
@media (min-width: 769px) {
  .product_head + .product_point {
    margin-top: 13.7rem;
  }
}
@media (max-width: 768px) {
  .product_head + .product_point {
    margin-top: 15.8rem;
  }
}

.product_point {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  background: #fef4e7;
}
@media (min-width: 769px) {
  .product_point {
    border-radius: 2.4rem;
  }
}
@media (max-width: 768px) {
  .product_point {
    border-radius: 1.9rem;
  }
}
@media (min-width: 769px) {
  .product_point.point1 {
    padding: 6.8rem 0 7rem;
  }
}
@media (max-width: 768px) {
  .product_point.point1 {
    padding: 6.8rem 0 7.6rem;
  }
}
@media (min-width: 769px) {
  .product_point.point2 {
    padding: 5.9rem 0 7.3rem;
  }
}
@media (max-width: 768px) {
  .product_point.point2 {
    padding: 6.4rem 0 2.5rem;
  }
}
@media (min-width: 769px) {
  .product_point + .product_point {
    margin-top: 11.3rem;
  }
}
@media (max-width: 768px) {
  .product_point + .product_point {
    margin-top: 14.2rem;
  }
}

.product_point_h3 {
  position: absolute;
  left: 50%;
  translate: -50% 0;
}
@media (min-width: 769px) {
  .product_point_h3 {
    width: 18.8rem;
    top: -7.9rem;
  }
}
@media (max-width: 768px) {
  .product_point_h3 {
    width: 23.4rem;
    top: -10.3rem;
  }
}

.product_point_lead {
  position: relative;
}
@media (min-width: 769px) {
  .product_point_lead {
    width: fit-content;
    height: 9.9rem;
  }
}
@media (min-width: 769px) {
  .point1 .product_point_lead {
    margin-bottom: 4.1rem;
  }
}
@media (max-width: 768px) {
  .point1 .product_point_lead {
    width: 48rem;
    margin-bottom: 4rem;
  }
}
@media (min-width: 769px) {
  .point2 .product_point_lead {
    margin-bottom: 1.1rem;
  }
}
@media (max-width: 768px) {
  .point2 .product_point_lead {
    width: 54.6rem;
    margin-bottom: -9.1rem;
    z-index: 2;
  }
}

.product_block {
  display: flex;
  align-items: center;
}
@media (min-width: 769px) {
  .product_block {
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .product_block {
    flex-direction: column;
  }
}
@media (min-width: 769px) {
  .point1 .product_block {
    gap: 4.6rem;
  }
}
@media (max-width: 768px) {
  .point1 .product_block {
    gap: 4.2rem;
  }
}
@media (max-width: 768px) {
  .point2 .product_block {
    gap: 4.7rem;
  }
}
@media (min-width: 769px) {
  .product_block + .product_detail {
    padding-top: 4.4rem;
  }
}
@media (max-width: 768px) {
  .product_block + .product_detail {
    padding-top: 5.7rem;
  }
}

.product_image {
  position: relative;
}
.point1 .product_image {
  border-radius: 2rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .point1 .product_image {
    width: 48rem;
  }
}
@media (max-width: 768px) {
  .point1 .product_image {
    width: 60rem;
  }
}
@media (min-width: 769px) {
  .point2 .product_image {
    width: 45.4rem;
    height: 46.8rem;
  }
}
@media (max-width: 768px) {
  .point2 .product_image {
    width: 65rem;
    height: 81.2rem;
  }
}
.point2 .product_image figure {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}
@media (min-width: 769px) {
  .point2 .product_image figure {
    background-image: url(../images/cg-product_point2_image_pc.webp);
  }
}
@media (max-width: 768px) {
  .point2 .product_image figure {
    background-image: url(../images/cg-product_point2_image_sp.webp);
  }
}

.product_comments {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .point1 .product_comments {
    width: 36.4rem;
    padding-top: 1.7rem;
  }
}
@media (min-width: 769px) {
  .point2 .product_comments {
    width: 40rem;
    padding-top: 4.5rem;
  }
}

.product_comment {
  display: flex;
}
@media (min-width: 769px) {
  .product_comment {
    gap: 2.3rem 1.4rem;
  }
}
@media (max-width: 768px) {
  .product_comment {
    align-items: center;
    gap: 3.4rem;
    width: 58.9rem;
  }
}
@media (min-width: 769px) {
  .point1 .product_comment {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .point1 .product_comment + .product_comment_note {
    margin-top: 1.6rem;
  }
}
@media (min-width: 769px) {
  .point2 .product_comment {
    align-items: center;
  }
}
@media (max-width: 768px) {
  .point2 .product_comment + .product_comment_note {
    margin-top: 4rem;
  }
}
@media (min-width: 769px) {
  .product_comment + .product_comment {
    margin-top: 2.4rem;
  }
}
@media (max-width: 768px) {
  .product_comment + .product_comment {
    margin-top: 2.3rem;
  }
}
@media (min-width: 769px) {
  .product_comment + .product_comment_note {
    margin-top: 1.9rem;
  }
}

.product_comment_avatar {
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .product_comment_avatar {
    width: 12.6rem;
  }
}
@media (max-width: 768px) {
  .product_comment_avatar {
    width: 18.3rem;
  }
}

.product_comment_note {
  letter-spacing: 0;
  line-height: 1;
  text-align: right;
}
@media (min-width: 769px) {
  .product_comment_note {
    font-size: 1.2rem;
  }
}
@media (max-width: 768px) {
  .product_comment_note {
    font-size: 2rem;
  }
}

.product_detail {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 769px) {
  .product_detail {
    gap: 1.8rem;
  }
}
@media (max-width: 768px) {
  .product_detail {
    gap: 2.6rem;
  }
}
@media (min-width: 769px) {
  .product_detail + .product_point_note {
    padding-top: 2.4rem;
  }
}
@media (max-width: 768px) {
  .product_detail + .product_point_note {
    padding-top: 2rem;
  }
}

.product_detail_h4 {
  line-height: 1;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .product_detail_h4 {
    font-size: 2.7rem;
  }
}
@media (max-width: 768px) {
  .product_detail_h4 {
    font-size: 3.4rem;
  }
}

.product_detail_list {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .product_detail_list {
    gap: 2rem;
  }
}
.product_detail_list > li {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid;
  border-radius: 50%;
  letter-spacing: 0;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .product_detail_list > li {
    width: 15.4rem;
    height: 15.4rem;
    font-size: 2.5rem;
  }
}
@media (max-width: 768px) {
  .product_detail_list > li {
    width: 17.5rem;
    height: 17.5rem;
    margin: 0 -0.5rem;
    font-size: 2.8rem;
  }
}

@media (min-width: 769px) {
  .product_point_note {
    line-height: 1.667;
    font-size: 1.2rem;
  }
  .product_point_note > p {
    font: inherit;
  }
  .product_point_note > p:first-of-type {
    margin-top: -0.333em;
  }
  .product_point_note > p:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media (max-width: 768px) {
  .product_point_note {
    width: 60rem;
    line-height: 1.5;
    font-size: 2rem;
  }
  .product_point_note > p {
    font: inherit;
  }
  .product_point_note > p:first-of-type {
    margin-top: -0.25em;
  }
  .product_point_note > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
.product_point_note p {
  padding-left: 1em;
  text-indent: -1em;
}

.product_items {
  display: flex;
  justify-content: center;
  position: relative;
  background-color: #fff0d9;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media (min-width: 769px) {
  .product_items {
    gap: 7.7rem;
    background-image: url(../images/product_bg_bottom_pc.webp);
    padding: calc(12.134vw - 9.9rem) 0 calc(9.6rem + 5.2vw);
  }
}
@media (max-width: 768px) {
  .product_items {
    flex-direction: column;
    background-image: url(../images/product_bg_bottom_sp.webp);
    padding: calc(20vw - 13.9rem) 0 calc(14.8rem + 10.134vw);
  }
}

.product_item {
  display: flex;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  .product_item {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .product_item {
    flex-direction: row-reverse;
  }
}
@media (max-width: 768px) {
  .product_item + .product_item {
    margin-top: -12rem;
  }
}

@media (min-width: 769px) {
  .product_item_image {
    width: 54.7rem;
  }
}
@media (max-width: 768px) {
  .product_item_image {
    width: 57rem;
    margin-left: -11rem;
    margin-right: -7.5rem;
  }
}

@media (max-width: 768px) {
  .product_item_caption {
    width: 33.2rem;
    margin-left: 4.3rem;
  }
}
@media (max-width: 768px) {
  .item1 .product_item_caption {
    padding-bottom: 2.6rem;
  }
}
@media (max-width: 768px) {
  .item2 .product_item_caption {
    padding-bottom: 6.1rem;
  }
}

.product_item_name {
  position: relative;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .product_item_name {
    margin-top: -7.8rem;
    letter-spacing: 0.02em;
    line-height: 1.358;
    font-size: 2.8rem;
  }
  .product_item_name > p {
    font: inherit;
  }
  .product_item_name > p:first-of-type {
    margin-top: -0.178em;
  }
  .product_item_name > p:last-of-type {
    margin-bottom: -0.178em;
  }
  .product_item_name {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .product_item_name {
    letter-spacing: 0;
    line-height: 1.369;
    font-size: 3.8rem;
  }
  .product_item_name > p {
    font: inherit;
  }
  .product_item_name > p:first-of-type {
    margin-top: -0.184em;
  }
  .product_item_name > p:last-of-type {
    margin-bottom: -0.184em;
  }
  .product_item_name {
    white-space: nowrap;
  }
}

.product_item_note {
  position: relative;
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .product_item_note {
    padding-top: 1.7rem;
    font-size: 1.7rem;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .product_item_note {
    padding-top: 2.1rem;
    font-size: 2.3rem;
  }
}

.product_item_link {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #004f2f;
  letter-spacing: 0.01em;
  line-height: 1;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  color: #fef4e7;
}
@media (min-width: 769px) {
  .product_item_link {
    gap: 1rem;
    border-radius: 6.8rem;
    width: 23.2rem;
    height: 6.8rem;
    margin-top: 3.1rem;
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .product_item_link {
    gap: 0.8rem;
    border-radius: 8.5rem;
    width: 29rem;
    height: 8.5rem;
    margin-top: 3.7rem;
    padding-left: 0.5rem;
    font-size: 2.6rem;
  }
}
.product_item_link svg {
  stroke: #fffaf3;
  width: 0.45em;
  height: 0.65em;
}
@media (min-width: 769px) {
  .product_item_link svg {
    stroke-width: 1px;
  }
}
@media (max-width: 768px) {
  .product_item_link svg {
    stroke-width: 2px;
  }
}
.product_item_link:hover svg {
  translate: 5px 0;
}

.campaign_section {
  position: relative;
  background-color: #cad984;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media (min-width: 769px) {
  .campaign_section {
    background-image: url(../images/campaign_bg_pc.webp);
    background-position: center -10.4rem;
    padding: 0 0 calc(12rem + 5.2vw);
  }
}
@media (max-width: 768px) {
  .campaign_section {
    background-image: url(../images/campaign_bg_sp.webp);
    background-position: center -9.2rem;
    padding: 0 0 calc(15.4rem + 10.134vw);
  }
}
.campaign_section::before {
  content: "";
  position: absolute;
  background-image: url(../images/cg-campaign_bg_image.webp);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 769px) {
  .campaign_section::before {
    width: 59rem;
    height: 44.3rem;
    left: 50%;
    bottom: calc(100% + 6.3rem);
    translate: -50% 0;
  }
}
@media (max-width: 768px) {
  .campaign_section::before {
    width: 53rem;
    height: 39.9rem;
    left: -5.3rem;
    bottom: calc(100% + 4.4rem);
  }
}
@media print {
  .campaign_section::before {
    display: none !important;
  }
}
.campaign_section::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% auto;
  left: 0;
  right: 0;
  pointer-events: none;
}
@media (min-width: 769px) {
  .campaign_section::after {
    background-image: url(../images/campaign_bg_top_pc.webp);
    height: 5.334vw;
    bottom: calc(100% - 0.2rem);
  }
}
@media (max-width: 768px) {
  .campaign_section::after {
    background-image: url(../images/campaign_bg_top_sp.webp);
    height: 10.667vw;
    bottom: calc(100% - 0.4rem);
  }
}

.campaign_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .campaign_inner {
    max-width: 110rem;
    padding: 5rem 0 0;
  }
}
@media (max-width: 768px) {
  .campaign_inner {
    padding: 4.7rem 0 0;
  }
}

.campaign_head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 769px) {
  .campaign_head {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .campaign_head {
    gap: 1.2rem;
  }
}
.campaign_head h2 {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .campaign_head h2 {
    font-size: 5.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_head h2 {
    font-size: 6.4rem;
  }
}
.campaign_head p {
  line-height: 1;
  font-weight: 700;
  font-family: "EB Garamond", serif;
}
@media (min-width: 769px) {
  .campaign_head p {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_head p {
    font-size: 2.4rem;
  }
}

.campaign_caption {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
@media (min-width: 769px) {
  .campaign_caption + .campaign_links {
    padding-top: 6rem;
  }
}
@media (max-width: 768px) {
  .campaign_caption + .campaign_links {
    padding-top: 7.7rem;
  }
}

@media (min-width: 769px) {
  .campaign_text {
    width: 61.5rem;
    margin-top: 1.3rem;
  }
}
@media (max-width: 768px) {
  .campaign_text {
    width: 68.5rem;
    margin-top: 2.4rem;
  }
}

@media (min-width: 769px) {
  .campaign_title {
    width: 70.2rem;
    margin-top: -5.9rem;
  }
}
@media (max-width: 768px) {
  .campaign_title {
    width: 74.2rem;
    margin-top: -5.2rem;
  }
}

@media (min-width: 769px) {
  .campaign_lead {
    width: 65.6rem;
    margin-top: -1.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_lead {
    width: 68.2rem;
  }
}

.campaign_attention {
  position: relative;
  font-weight: 700;
  text-align: center;
  color: #ff0000;
}
@media (min-width: 769px) {
  .campaign_attention {
    padding-top: 1.1rem;
    line-height: 1.5;
    font-size: 1.6rem;
  }
  .campaign_attention > p {
    font: inherit;
  }
  .campaign_attention > p:first-of-type {
    margin-top: -0.25em;
  }
  .campaign_attention > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media (max-width: 768px) {
  .campaign_attention {
    padding-top: 1.4rem;
    line-height: 1.546;
    font-size: 2.2rem;
  }
  .campaign_attention > p {
    font: inherit;
  }
  .campaign_attention > p:first-of-type {
    margin-top: -0.272em;
  }
  .campaign_attention > p:last-of-type {
    margin-bottom: -0.272em;
  }
}

.campaign_prizes {
  display: flex;
  justify-content: center;
  position: relative;
  background: #fff0d9;
  width: 100%;
}
@media (min-width: 769px) {
  .campaign_prizes {
    align-items: flex-end;
    gap: 4rem;
    border-radius: 2.5rem;
    margin-top: 3.5rem;
    padding: 1.8rem 0 0;
  }
}
@media (max-width: 768px) {
  .campaign_prizes {
    align-items: flex-start;
    gap: 0.4rem;
    margin-top: 4.9rem;
    padding: 3.1rem 0 4.1rem;
  }
}

.campaign_prize {
  display: flex;
  position: relative;
}
@media (min-width: 769px) {
  .campaign_prize {
    align-items: flex-end;
  }
}
@media (max-width: 768px) {
  .campaign_prize {
    flex-direction: column;
    align-items: center;
  }
}

.campaign_prize_caption {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .campaign_prize_caption {
    padding: 0 0 6rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_caption {
    align-items: center;
    padding: 0 0 3rem;
  }
}

.campaign_prize_label {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.05em;
  background: #004f2f;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 769px) {
  .campaign_prize_label {
    clip-path: polygon(0 0, 100% 0, calc(100% - 0.7rem) 50%, 100% 100%, 0 100%, 0.7rem 50%);
    width: 10.6rem;
    padding: 0.2rem 0 0.6rem;
    font-size: 2.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_label {
    clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 50%, 100% 100%, 0 100%, 1rem 50%);
    width: 14.7rem;
    padding: 0.2rem 0 1rem;
    font-size: 3rem;
  }
}
.campaign_prize_label strong {
  font-weight: inherit;
  color: #fee780;
}
.campaign_prize_label small {
  font-size: 0.8em;
  color: #fff;
}

.campaign_prize_title {
  letter-spacing: 0;
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_prize_title {
    padding-top: 2.2rem;
    line-height: 1.353;
    font-size: 1.7rem;
  }
  .campaign_prize_title > h4 {
    font: inherit;
  }
  .campaign_prize_title > h4:first-of-type {
    margin-top: -0.176em;
  }
  .campaign_prize_title > h4:last-of-type {
    margin-bottom: -0.176em;
  }
}
@media (max-width: 768px) {
  .campaign_prize_title {
    padding-top: 1.6rem;
    line-height: 1.334;
    font-size: 2.4rem;
  }
  .campaign_prize_title > h4 {
    font: inherit;
  }
  .campaign_prize_title > h4:first-of-type {
    margin-top: -0.166em;
  }
  .campaign_prize_title > h4:last-of-type {
    margin-bottom: -0.166em;
  }
  .campaign_prize_title {
    text-align: center;
  }
}

.campaign_prize_text {
  display: flex;
  align-items: baseline;
  color: #f08300;
}
@media (min-width: 769px) {
  .campaign_prize_text {
    padding-top: 1.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_text {
    padding-top: 1.8rem;
  }
}
.campaign_prize_text strong {
  letter-spacing: 0.01em;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 769px) {
  .campaign_prize_text strong {
    font-size: 3.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_text strong {
    font-size: 4.481rem;
  }
}
.campaign_prize_text small {
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 769px) {
  .campaign_prize_text small {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_text small {
    font-size: 2rem;
  }
}

.campaign_prize_image {
  position: relative;
}
@media (min-width: 769px) {
  .campaign_prize_image.img1 {
    width: 25.6rem;
    height: 20.6rem;
    margin-left: 1rem;
    padding-bottom: 3.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_image.img1 {
    width: 35rem;
    height: 27.4rem;
  }
}
.campaign_prize_image.img1 figure {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}
@media (min-width: 769px) {
  .campaign_prize_image.img1 figure {
    background-image: url(../images/cg-prize1_image1_pc.webp);
  }
}
@media (max-width: 768px) {
  .campaign_prize_image.img1 figure {
    background-image: url(../images/cg-prize1_image1_sp.webp);
  }
}
@media (min-width: 769px) {
  .campaign_prize_image.img2 {
    width: 22.7rem;
    margin-left: -1.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_prize_image.img2 {
    width: 31.6rem;
  }
}
.campaign_prize_image figure {
  position: relative;
}

.campaign_links {
  display: flex;
  justify-content: center;
}
@media (min-width: 769px) {
  .campaign_links + .campaign_detail {
    margin-top: 7.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_links + .campaign_detail {
    margin-top: 9.6rem;
  }
}

.campaign_link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #da3000;
  line-height: 1;
  font-weight: 900;
  fill: #fff;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_link {
    border-radius: 8rem;
    width: 64rem;
    height: 8rem;
    font-size: 3rem;
  }
}
@media (max-width: 768px) {
  .campaign_link {
    border-radius: 12rem;
    width: 68rem;
    height: 12rem;
    font-size: 4.4rem;
  }
}
.campaign_link svg {
  position: absolute;
  width: 1.1em;
  height: 0.7em;
}
@media (min-width: 769px) {
  .campaign_link svg {
    right: 1.334em;
  }
}
@media (max-width: 768px) {
  .campaign_link svg {
    right: 1.364em;
  }
}
.campaign_link:hover svg {
  translate: 5px 0;
}

.campaign_detail {
  position: relative;
  background: #fff;
}
@media (min-width: 769px) {
  .campaign_detail {
    border-radius: 2.5rem;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .campaign_detail {
    border-radius: 2rem;
    width: 68rem;
  }
}
@media (min-width: 769px) {
  .campaign_detail + .campaign_detail {
    margin-top: 3.9rem;
  }
}
@media (max-width: 768px) {
  .campaign_detail + .campaign_detail {
    margin-top: 4.5rem;
  }
}
@media (min-width: 769px) {
  .campaign_detail + .campaign_box {
    margin-top: 6.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_detail + .campaign_box {
    margin-top: 9.1rem;
  }
}

.campaign_detail_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  background: #004f2f;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_detail_head {
    gap: 0.9rem 0;
    border-radius: 2.5rem;
    padding: 2.6rem 0 2.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_detail_head {
    gap: 1.2rem 0;
    border-radius: 2rem;
    padding: 3.2rem 0 3.4rem;
  }
}
.campaign_detail_head h4 {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .campaign_detail_head h4 {
    font-size: 3.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_detail_head h4 {
    font-size: 3.8rem;
  }
}
.campaign_detail_head h4 img {
  display: inline-block;
  width: 1.938em;
  translate: 0 7%;
}
.campaign_detail_head p {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .campaign_detail_head p {
    font-size: 1.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_detail_head p {
    font-size: 2.4rem;
  }
}
.campaign_detail_head.js-accSwitch {
  background: #f0f6d1;
  color: #004f2f;
  cursor: pointer;
}
.campaign_detail_head.js-accSwitch::before, .campaign_detail_head.js-accSwitch::after {
  content: "";
  position: absolute;
  background: #004f2f;
  height: 1px;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
@media (min-width: 769px) {
  .campaign_detail_head.js-accSwitch::before, .campaign_detail_head.js-accSwitch::after {
    width: 1.26rem;
    right: 5.1rem;
  }
}
@media (max-width: 768px) {
  .campaign_detail_head.js-accSwitch::before, .campaign_detail_head.js-accSwitch::after {
    width: 1.8rem;
    right: 4.1rem;
  }
}
.campaign_detail_head.js-accSwitch::after {
  rotate: 90deg;
}
.campaign_detail_head.js-accSwitch.is-opened::after {
  display: none;
}

.campaign_detail_body.js-accElement {
  height: 0;
  overflow: hidden;
  transition: 0.4s ease;
}

.campaign_data {
  display: flex;
  justify-content: center;
}
@media (min-width: 769px) {
  .campaign_data {
    align-items: baseline;
    gap: 3.9rem;
    padding: 3.9rem 0 5.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_data {
    flex-direction: column;
    align-items: center;
    gap: 3.8rem;
    padding: 3.8rem 0 4.6rem;
  }
}
.campaign_data small {
  position: relative;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_data small {
    font-size: 2.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_data small {
    font-size: 3.2rem;
  }
}
.campaign_data strong {
  position: relative;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 769px) {
  .campaign_data strong {
    font-size: 3rem;
  }
}
@media (max-width: 768px) {
  .campaign_data strong {
    font-size: 3.5rem;
  }
}
.campaign_data strong::before {
  content: "";
  position: absolute;
  background-image: url(../images/campaign_data_arrow.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 769px) {
  .campaign_data strong::before {
    width: 1.3rem;
    height: 1.3rem;
    left: -3.2rem;
    top: 50%;
    translate: 0 -50%;
  }
}
@media (max-width: 768px) {
  .campaign_data strong::before {
    width: 1.6rem;
    height: 1.6rem;
    left: 50%;
    top: -2.5rem;
    translate: -50% 0;
    rotate: 90deg;
  }
}
.campaign_data span {
  margin-left: -0.3em;
}

.campaign_target {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .campaign_target {
    gap: 5rem;
    padding: 4rem 0 4.9rem;
  }
}
@media (max-width: 768px) {
  .campaign_target {
    flex-direction: column;
    gap: 4.1rem;
    padding: 4rem 0 6.1rem;
  }
}

.campaign_target_caption {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .campaign_target_caption {
    gap: 1.9rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_caption {
    gap: 2.6rem;
  }
}

.campaign_target_name {
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_target_name {
    line-height: 1.429;
    font-size: 2.8rem;
  }
  .campaign_target_name > p {
    font: inherit;
  }
  .campaign_target_name > p:first-of-type {
    margin-top: -0.214em;
  }
  .campaign_target_name > p:last-of-type {
    margin-bottom: -0.214em;
  }
}
@media (max-width: 768px) {
  .campaign_target_name {
    line-height: 1.5;
    font-size: 3.2rem;
  }
  .campaign_target_name > p {
    font: inherit;
  }
  .campaign_target_name > p:first-of-type {
    margin-top: -0.25em;
  }
  .campaign_target_name > p:last-of-type {
    margin-bottom: -0.25em;
  }
  .campaign_target_name {
    text-align: center;
  }
}

.campaign_target_note {
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_target_note {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_note {
    font-size: 2.6rem;
    text-align: center;
  }
}

.campaign_target_images {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .campaign_target_images {
    justify-content: center;
  }
}

.campaign_target_image {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.campaign_target_image h5 {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f08300;
  gap: 0.2rem;
  line-height: 1;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_target_image h5 {
    border-radius: 4.2rem;
    width: 12.4rem;
    height: 4.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image h5 {
    border-radius: 5.8rem;
    width: 17.2rem;
    height: 5.8rem;
    padding-bottom: 0.01rem;
  }
}
.campaign_target_image h5 strong {
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_target_image h5 strong {
    font-size: 2.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image h5 strong {
    font-size: 3.8rem;
  }
}
.campaign_target_image h5 span {
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_target_image h5 span {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image h5 span {
    font-size: 2.5rem;
  }
}
.campaign_target_image p {
  font-weight: 700;
  color: #f08300;
}
@media (min-width: 769px) {
  .campaign_target_image p {
    font-size: 1.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image p {
    font-size: 2.4rem;
  }
}
@media (min-width: 769px) {
  .campaign_target_image.img1 {
    width: 17.1rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image.img1 {
    width: 23.7rem;
    margin-left: 5.2rem;
  }
}
@media (min-width: 769px) {
  .campaign_target_image.img1 p {
    margin-top: -0.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image.img1 p {
    margin-top: -0.8rem;
  }
}
@media (min-width: 769px) {
  .campaign_target_image.img2 {
    width: 36.6rem;
    margin-left: -4.9rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image.img2 {
    width: 50.7rem;
    margin-left: -8.3rem;
    margin-right: -3.3rem;
  }
}
@media (min-width: 769px) {
  .campaign_target_image.img2 h5 {
    margin-bottom: 0.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_target_image.img2 h5 {
    margin-bottom: 1rem;
  }
}
@media (min-width: 769px) {
  .campaign_target_image.img2 p {
    margin-top: 0.2rem;
  }
}

.campaign_courses {
  display: flex;
}
@media (min-width: 769px) {
  .campaign_courses {
    padding: 5.1rem 0 6.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_courses {
    flex-direction: column;
    gap: 12.1rem;
    padding: 6.1rem 0 8.6rem;
  }
}

.campaign_course {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  .campaign_course {
    width: 50%;
  }
}
@media (min-width: 769px) {
  .campaign_course.course1 {
    padding: 0 4rem 0 4.6rem;
  }
}
@media (min-width: 769px) {
  .campaign_course.course2 {
    padding: 0 2.5rem 0 1.5rem;
  }
}
.campaign_course.course2::before {
  content: "";
  position: absolute;
  background-image: url(../images/line1.svg);
  background-position: left top;
}
@media (min-width: 769px) {
  .campaign_course.course2::before {
    background-repeat: repeat-y;
    background-size: 100% auto;
    width: 0.8rem;
    left: -0.2rem;
    top: -0.2rem;
    bottom: -2.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_course.course2::before {
    background-repeat: repeat-x;
    background-size: auto 100%;
    height: 0.8rem;
    left: 3.8rem;
    right: 3.3rem;
    top: -6.3rem;
  }
}

.campaign_course_head {
  display: flex;
  align-items: baseline;
  width: 100%;
}
@media (min-width: 769px) {
  .campaign_course_head {
    gap: 1.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head {
    gap: 1.6rem;
  }
}
.campaign_course_head h5 {
  display: flex;
  align-items: baseline;
  background: #004f2f;
  line-height: 1;
}
@media (min-width: 769px) {
  .campaign_course_head h5 {
    clip-path: polygon(0 0, 100% 0, calc(100% - 1.5rem) 50%, 100% 100%, 0 100%);
    width: 17rem;
    height: 6.2rem;
    padding: 0.3rem 0 0 3rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head h5 {
    clip-path: polygon(0 0, 100% 0, calc(100% - 2rem) 50%, 100% 100%, 0 100%);
    width: 21.3rem;
    height: 7.8rem;
    padding: 0.4rem 0 0 3.2rem;
  }
}
.campaign_course_head h5 strong {
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  color: #fee780;
}
@media (min-width: 769px) {
  .campaign_course_head h5 strong {
    font-size: 4.86rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head h5 strong {
    font-size: 6.12rem;
  }
}
.campaign_course_head h5 span {
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_course_head h5 span {
    font-size: 2.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head h5 span {
    font-size: 2.8rem;
  }
}
.campaign_course_head p {
  line-height: 1;
  font-weight: 700;
  color: #f08300;
}
@media (min-width: 769px) {
  .campaign_course_head p {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head p {
    font-size: 3.6rem;
  }
}
.campaign_course_head p strong {
  font-size: 1.8em;
}
@media (min-width: 769px) {
  .campaign_course_head + .campaign_course_kome {
    padding-top: 1.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head + .campaign_course_kome {
    padding-top: 2.7rem;
  }
}
@media (min-width: 769px) {
  .campaign_course_head + .campaign_course_detail {
    padding-top: 6.1rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_head + .campaign_course_detail {
    padding-top: 5.5rem;
  }
}

.campaign_course_kome {
  letter-spacing: 0;
  text-align: justify;
}
@media (min-width: 769px) {
  .campaign_course_kome {
    line-height: 1.667;
    font-size: 1.2rem;
  }
  .campaign_course_kome > p {
    font: inherit;
  }
  .campaign_course_kome > p:first-of-type {
    margin-top: -0.333em;
  }
  .campaign_course_kome > p:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media (max-width: 768px) {
  .campaign_course_kome {
    width: 60rem;
    line-height: 1.455;
    font-size: 2.2rem;
  }
  .campaign_course_kome > p {
    font: inherit;
  }
  .campaign_course_kome > p:first-of-type {
    margin-top: -0.227em;
  }
  .campaign_course_kome > p:last-of-type {
    margin-bottom: -0.227em;
  }
}
@media (min-width: 769px) {
  .campaign_course_kome + .campaign_course_detail {
    padding-top: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_kome + .campaign_course_detail {
    padding-top: 4.5rem;
  }
}

.campaign_course_detail {
  display: flex;
  align-items: center;
}
@media (min-width: 769px) {
  .campaign_course_detail {
    flex-direction: column;
  }
}
@media (max-width: 768px) {
  .campaign_course_detail {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 0 3rem;
  }
}

.campaign_course_label {
  display: flex;
  justify-content: center;
  position: relative;
  background: #f08300;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_course_label {
    align-items: baseline;
    gap: 0.2rem;
    border-radius: 5rem;
    width: 13.4rem;
    height: 5rem;
    padding: 0.8rem 0 0 0.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_label {
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    border-radius: 9.7rem;
    width: 15.6rem;
    height: 9.7rem;
  }
}
.campaign_course_label strong {
  letter-spacing: 0;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 769px) {
  .campaign_course_label strong {
    font-size: 3.041rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_label strong {
    font-size: 4.641rem;
  }
}
.campaign_course_label span {
  letter-spacing: 0;
  line-height: 1;
  font-weight: 900;
}
@media (min-width: 769px) {
  .campaign_course_label span {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_label span {
    font-size: 2.2rem;
  }
}

.campaign_course_name {
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_course_name {
    padding-top: 2rem;
    letter-spacing: 0;
    line-height: 1.462;
    font-size: 2.6rem;
  }
  .campaign_course_name > p {
    font: inherit;
  }
  .campaign_course_name > p:first-of-type {
    margin-top: -0.23em;
  }
  .campaign_course_name > p:last-of-type {
    margin-bottom: -0.23em;
  }
  .campaign_course_name {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .campaign_course_name {
    width: calc(100% - 17.6rem);
    letter-spacing: -0.01em;
    line-height: 1.469;
    font-size: 3.2rem;
  }
  .campaign_course_name > p {
    font: inherit;
  }
  .campaign_course_name > p:first-of-type {
    margin-top: -0.234em;
  }
  .campaign_course_name > p:last-of-type {
    margin-bottom: -0.234em;
  }
}
@media (min-width: 769px) {
  .campaign_course_name + .campaign_course_box {
    margin-top: 3.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_name + .campaign_course_box {
    margin-top: 2.7rem;
  }
}
@media (min-width: 769px) {
  .campaign_course_name + .campaign_course_image {
    margin-top: 2.3rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_name + .campaign_course_image {
    margin-top: 3.3rem;
  }
}

.campaign_course_box {
  display: flex;
  background: #fef4e7;
  border-radius: 1.9rem;
}
@media (min-width: 769px) {
  .campaign_course_box {
    width: 40.1rem;
    padding: 2rem 2.1rem 2.1rem 1.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_box {
    width: 60rem;
    margin-left: auto;
    margin-right: auto;
    padding: 1.6rem 3.7rem 1.8rem 4.1rem;
  }
}

.campaign_course_image.img1 {
  width: 100%;
}
@media (min-width: 769px) {
  .campaign_course_image.img1 {
    height: 27.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_image.img1 {
    height: 40.4rem;
  }
}
.campaign_course_image.img1 figure {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}
@media (min-width: 769px) {
  .campaign_course_image.img1 figure {
    background-image: url(../images/cg-prize1_image2_pc.webp);
  }
}
@media (max-width: 768px) {
  .campaign_course_image.img1 figure {
    background-image: url(../images/cg-prize1_image2_sp.webp);
  }
}
@media (min-width: 769px) {
  .campaign_course_image.img2 {
    width: 37.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_course_image.img2 {
    width: 45.1rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.campaign_course_dots {
  letter-spacing: 0;
  text-align: justify;
}
@media (min-width: 769px) {
  .campaign_course_dots {
    padding-top: 2.6rem;
    line-height: 1.667;
    font-size: 1.2rem;
  }
  .campaign_course_dots > li {
    font: inherit;
  }
  .campaign_course_dots > li:first-of-type {
    margin-top: -0.333em;
  }
  .campaign_course_dots > li:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media (max-width: 768px) {
  .campaign_course_dots {
    width: 60rem;
    padding-top: 2.7rem;
    line-height: 1.5;
    font-size: 2rem;
  }
  .campaign_course_dots > li {
    font: inherit;
  }
  .campaign_course_dots > li:first-of-type {
    margin-top: -0.25em;
  }
  .campaign_course_dots > li:last-of-type {
    margin-bottom: -0.25em;
  }
}
.campaign_course_dots li {
  padding-left: 1em;
  text-indent: -1em;
}

@media (min-width: 769px) {
  .campaign_entry {
    padding: 5.7rem 0 0;
  }
}
@media (max-width: 768px) {
  .campaign_entry {
    padding: 5.8rem 0 0;
  }
}

.campaign_entry_lead {
  font-weight: 700;
  text-align: center;
}
@media (min-width: 769px) {
  .campaign_entry_lead {
    line-height: 1.634;
    font-size: 3rem;
  }
  .campaign_entry_lead > p {
    font: inherit;
  }
  .campaign_entry_lead > p:first-of-type {
    margin-top: -0.316em;
  }
  .campaign_entry_lead > p:last-of-type {
    margin-bottom: -0.316em;
  }
}
@media (max-width: 768px) {
  .campaign_entry_lead {
    line-height: 1.589;
    font-size: 3.4rem;
  }
  .campaign_entry_lead > p {
    font: inherit;
  }
  .campaign_entry_lead > p:first-of-type {
    margin-top: -0.294em;
  }
  .campaign_entry_lead > p:last-of-type {
    margin-bottom: -0.294em;
  }
}
.campaign_entry_lead strong {
  background: #004f2f;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_entry_lead strong:nth-of-type(1) {
    padding-left: 0.334em;
  }
  .campaign_entry_lead strong:nth-of-type(2) {
    padding-right: 0.267em;
  }
}
@media (max-width: 768px) {
  .campaign_entry_lead strong {
    margin: 0 0.2em;
    padding: 0 0.177em 0 0.295em;
  }
}

.campaign_entry_note {
  letter-spacing: 0;
  font-weight: 700;
  text-align: center;
  color: #ff0000;
}
@media (min-width: 769px) {
  .campaign_entry_note {
    padding-top: 1.8rem;
    line-height: 1.625;
    font-size: 1.6rem;
  }
  .campaign_entry_note > p {
    font: inherit;
  }
  .campaign_entry_note > p:first-of-type {
    margin-top: -0.312em;
  }
  .campaign_entry_note > p:last-of-type {
    margin-bottom: -0.312em;
  }
}
@media (max-width: 768px) {
  .campaign_entry_note {
    padding-top: 2.8rem;
    line-height: 1.546;
    font-size: 2.2rem;
  }
  .campaign_entry_note > p {
    font: inherit;
  }
  .campaign_entry_note > p:first-of-type {
    margin-top: -0.272em;
  }
  .campaign_entry_note > p:last-of-type {
    margin-bottom: -0.272em;
  }
}

.campaign_steps {
  display: grid;
  position: relative;
}
@media (min-width: 769px) {
  .campaign_steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 7.6rem 0;
    padding: 4rem 0 5rem;
  }
}
@media (max-width: 768px) {
  .campaign_steps {
    gap: 3rem;
    padding: 4.6rem 0 5rem 5.9rem;
  }
}
.campaign_steps > li {
  position: relative;
}
@media (min-width: 769px) {
  .campaign_steps > li:nth-of-type(2n) {
    padding: 0 5rem 0 4rem;
  }
  .campaign_steps > li:nth-of-type(2n)::after {
    content: "";
    position: absolute;
    background-image: url(../images/line2_pc.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 1.4rem;
    left: -0.7rem;
    top: -0.2rem;
    bottom: 0.2rem;
  }
  .campaign_steps > li:nth-of-type(2n+1) {
    padding: 0 7rem 0 10.5rem;
  }
  .campaign_steps > li:nth-of-type(n+3)::before {
    content: "";
    position: absolute;
    background-image: url(../images/line1.svg);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: auto 100%;
    height: 0.8rem;
    top: -4rem;
  }
  .campaign_steps > li:nth-of-type(n+3):nth-of-type(2n)::before {
    left: 1.8rem;
    right: 4.5rem;
  }
  .campaign_steps > li:nth-of-type(n+3):nth-of-type(2n+1)::before {
    left: 4.8rem;
    right: 1.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_steps > li::before {
    content: "";
    position: absolute;
    border-left: 0.3rem dashed #f0f6d1;
    width: 0;
    left: 5rem;
    top: 13.2rem;
    bottom: -2rem;
  }
  .campaign_steps > li:last-of-type::before {
    display: none;
  }
}

.campaign_step {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .campaign_step {
    align-items: center;
  }
}
@media (min-width: 769px) {
  .campaign_step.step3 {
    padding: 0 0 1.9rem;
  }
}

.campaign_step_head {
  display: flex;
  align-items: center;
}
@media (min-width: 769px) {
  .campaign_step_head {
    gap: 1.4rem;
  }
  .campaign_step_head:has(+ .campaign_step_kome) {
    align-items: flex-start;
  }
  .campaign_step_head:has(+ .campaign_step_kome) p {
    padding-top: 0.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_step_head {
    gap: 2.8rem;
  }
  .campaign_step_head:has(+ .campaign_step_kome) {
    align-items: flex-start;
  }
  .campaign_step_head:has(+ .campaign_step_kome) p {
    padding-top: 1.8rem;
  }
}
.campaign_step_head h5 {
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .campaign_step_head h5 {
    width: 8.3rem;
  }
}
@media (max-width: 768px) {
  .campaign_step_head h5 {
    background: #fff;
    width: 11.8rem;
  }
}
@media (min-width: 769px) {
  .step1 .campaign_step_head p {
    width: 25.3rem;
  }
}
@media (max-width: 768px) {
  .step1 .campaign_step_head p {
    width: 34.3rem;
  }
}
@media (min-width: 769px) {
  .step2 .campaign_step_head p {
    width: 34rem;
  }
}
@media (max-width: 768px) {
  .step2 .campaign_step_head p {
    width: 38.4rem;
  }
}
@media (min-width: 769px) {
  .step3 .campaign_step_head p {
    width: 27.9rem;
  }
}
@media (max-width: 768px) {
  .step3 .campaign_step_head p {
    width: 30rem;
  }
}
@media (min-width: 769px) {
  .step4 .campaign_step_head p {
    width: 36.1rem;
  }
}
@media (max-width: 768px) {
  .step4 .campaign_step_head p {
    width: 28.7rem;
  }
}

.campaign_step_kome {
  letter-spacing: 0;
  text-align: justify;
}
@media (min-width: 769px) {
  .campaign_step_kome {
    width: 28rem;
    margin: -1.2rem auto 0 9.7rem;
    line-height: 1.667;
    font-size: 1.2rem;
  }
  .campaign_step_kome > p {
    font: inherit;
  }
  .campaign_step_kome > p:first-of-type {
    margin-top: -0.333em;
  }
  .campaign_step_kome > p:last-of-type {
    margin-bottom: -0.333em;
  }
}
@media (max-width: 768px) {
  .campaign_step_kome {
    width: 41rem;
    margin: -0.8rem auto 0 14.6rem;
    line-height: 1.5;
    font-size: 2rem;
  }
  .campaign_step_kome > p {
    font: inherit;
  }
  .campaign_step_kome > p:first-of-type {
    margin-top: -0.25em;
  }
  .campaign_step_kome > p:last-of-type {
    margin-bottom: -0.25em;
  }
}
@media (min-width: 769px) {
  .step2 .campaign_step_kome {
    width: 30rem;
  }
}
@media (max-width: 768px) {
  .step4 .campaign_step_kome {
    margin-top: 2.2rem;
  }
}

@media (max-width: 768px) {
  .campaign_step_image {
    margin-left: 14.6rem;
  }
}
@media (min-width: 769px) {
  .step1 .campaign_step_image {
    width: 25rem;
    margin-left: 10rem;
    margin-top: 1rem;
  }
}
@media (max-width: 768px) {
  .step1 .campaign_step_image {
    width: 34.4rem;
    margin-top: 1.5rem;
  }
}
@media (min-width: 769px) {
  .step2 .campaign_step_image {
    width: 21.7rem;
    margin-top: 1.8rem;
  }
}
@media (max-width: 768px) {
  .step2 .campaign_step_image {
    width: 30.8rem;
    margin-top: 2.7rem;
  }
}
@media (min-width: 769px) {
  .step3 .campaign_step_image {
    width: 27.8rem;
    margin-top: 2.1rem;
  }
}
@media (max-width: 768px) {
  .step3 .campaign_step_image {
    width: 39.5rem;
    margin-top: 4.7rem;
  }
}
@media (min-width: 769px) {
  .step4 .campaign_step_image {
    width: 21.7rem;
    margin-top: 1.9rem;
  }
}
@media (max-width: 768px) {
  .step4 .campaign_step_image {
    width: 30.8rem;
    margin-top: 3.6rem;
  }
}

.campaign_examples {
  display: flex;
}
@media (min-width: 769px) {
  .campaign_examples {
    justify-content: center;
    gap: 11.5rem;
    padding: 5.6rem 0 8rem;
  }
}
@media (max-width: 768px) {
  .campaign_examples {
    flex-direction: column;
    gap: 12.1rem;
    padding: 7rem 0 10rem;
  }
}

.campaign_example {
  position: relative;
}
@media (min-width: 769px) {
  .campaign_example {
    display: grid;
    grid-template-rows: auto 1fr;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .campaign_example {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.campaign_example h5 {
  display: flex;
  align-items: center;
  width: 100%;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 769px) {
  .campaign_example h5 {
    gap: 0.8rem;
    margin-bottom: 2.8rem;
    font-size: 2.6rem;
  }
}
@media (max-width: 768px) {
  .campaign_example h5 {
    gap: 0.4rem;
    padding: 0 6rem;
    font-size: 3.2rem;
  }
}
.campaign_example h5 i {
  position: relative;
  width: 0.962em;
  height: 0.962em;
  translate: 0 5%;
}
@media (min-width: 769px) {
  .campaign_example.good {
    justify-content: flex-end;
    gap: 0 3.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_example.good {
    gap: 0 2.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_example.good h5 {
    margin-bottom: 2.9rem;
  }
}
.campaign_example.good h5 i {
  border: 0.193em solid #ff0000;
  border-radius: 50%;
}
@media (min-width: 769px) {
  .campaign_example.bad {
    justify-content: flex-start;
    gap: 0 1rem;
  }
}
@media (max-width: 768px) {
  .campaign_example.bad {
    gap: 0 1.1rem;
  }
}
.campaign_example.bad::before {
  content: "";
  position: absolute;
  background-image: url(../images/line1.svg);
  background-position: left top;
}
@media (min-width: 769px) {
  .campaign_example.bad::before {
    background-repeat: repeat-y;
    background-size: 100% auto;
    width: 0.8rem;
    left: -6rem;
    top: -0.8rem;
    bottom: -3rem;
  }
}
@media (max-width: 768px) {
  .campaign_example.bad::before {
    background-repeat: repeat-x;
    background-size: auto 100%;
    height: 0.8rem;
    left: 4.7rem;
    right: 4.7rem;
    top: -6rem;
  }
}
@media (max-width: 768px) {
  .campaign_example.bad h5 {
    margin-bottom: 3.5rem;
  }
}
.campaign_example.bad h5 i::before, .campaign_example.bad h5 i::after {
  content: "";
  position: absolute;
  background: #ff0000;
  width: 0.979em;
  height: 0.193em;
  inset: 0;
  margin: auto;
}
.campaign_example.bad h5 i::before {
  rotate: 45deg;
}
.campaign_example.bad h5 i::after {
  rotate: -45deg;
}

.campaign_example_image {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 769px) {
  .campaign_example_image {
    grid-row: 2/3;
  }
}
.campaign_example_image::before, .campaign_example_image::after {
  display: none;
}
.campaign_example_image > dt {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}
.campaign_example_image > dt h6 {
  line-height: 1;
  font-weight: 900;
  text-align: center;
}
@media (min-width: 769px) {
  .campaign_example_image > dt h6 {
    font-size: 1.6rem;
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .campaign_example_image > dt h6 {
    font-size: 2.4rem;
  }
}
.campaign_example_image > dt p {
  background: #004f2f;
  width: 100%;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media (min-width: 769px) {
  .campaign_example_image > dt p {
    line-height: 1.65;
    font-size: 2rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image > dt p {
    line-height: 1.616;
    font-size: 2.6rem;
  }
}
.campaign_example_image > dd {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.campaign_example_image.img1 {
  filter: drop-shadow(0.35rem 0.35rem 0.7rem rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .campaign_example_image.img1 {
    width: 16.2rem;
    padding-top: 2.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img1 {
    width: 24.9rem;
    padding-top: 4.1rem;
  }
}
@media (min-width: 769px) {
  .campaign_example_image.img2 {
    gap: 1.4rem;
    width: 19rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img2 {
    gap: 1.8rem;
    width: 31rem;
    margin-right: -1rem;
  }
}
.campaign_example_image.img2 figure {
  filter: drop-shadow(0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .campaign_example_image.img2 figure {
    width: 15.1rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img2 figure {
    width: 23.3rem;
  }
}
@media (min-width: 769px) {
  .campaign_example_image.img3 {
    gap: 2.2rem;
    width: 13.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img3 {
    gap: 2.5rem;
    width: 27rem;
  }
}
.campaign_example_image.img3 figure {
  filter: drop-shadow(0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .campaign_example_image.img3 figure {
    width: 12.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img3 figure {
    width: 25.6rem;
  }
}
@media (min-width: 769px) {
  .campaign_example_image.img4 {
    gap: 2.2rem;
    width: 13.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img4 {
    gap: 2.5rem;
    width: 27rem;
  }
}
.campaign_example_image.img4 figure {
  filter: drop-shadow(0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .campaign_example_image.img4 figure {
    width: 11.5rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img4 figure {
    width: 22.6rem;
  }
}
@media (min-width: 769px) {
  .campaign_example_image.img5 {
    gap: 2.2rem;
    width: 13.2rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img5 {
    gap: 2.5rem;
    width: 27rem;
    margin-top: 3.9rem;
  }
}
.campaign_example_image.img5 figure {
  filter: drop-shadow(0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .campaign_example_image.img5 figure {
    width: 11.3rem;
  }
}
@media (max-width: 768px) {
  .campaign_example_image.img5 figure {
    width: 22.5rem;
  }
}

.campaign_example_note {
  letter-spacing: 0;
  text-align: center;
}
@media (min-width: 769px) {
  .campaign_example_note {
    padding-top: 2.4rem;
    line-height: 1.715;
    font-size: 1.4rem;
  }
  .campaign_example_note > p {
    font: inherit;
  }
  .campaign_example_note > p:first-of-type {
    margin-top: -0.357em;
  }
  .campaign_example_note > p:last-of-type {
    margin-bottom: -0.357em;
  }
  .campaign_example_note {
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .campaign_example_note {
    padding-top: 2.9rem;
    line-height: 1.5;
    font-size: 2.2rem;
  }
  .campaign_example_note > p {
    font: inherit;
  }
  .campaign_example_note > p:first-of-type {
    margin-top: -0.25em;
  }
  .campaign_example_note > p:last-of-type {
    margin-bottom: -0.25em;
  }
}

.campaign_box {
  position: relative;
  background: #fff;
}
@media (min-width: 769px) {
  .campaign_box {
    border-radius: 2.5rem;
    width: 100%;
    padding: 6.5rem 7.5rem 10rem 10rem;
  }
}
@media (max-width: 768px) {
  .campaign_box {
    border-radius: 2rem;
    width: 68rem;
    padding: 6rem 2rem 6.5rem 5rem;
  }
}
.campaign_box > dt {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
}
@media (min-width: 769px) {
  .campaign_box > dt {
    margin-bottom: 4rem;
    font-size: 2.7rem;
  }
}
@media (max-width: 768px) {
  .campaign_box > dt {
    margin-bottom: 4.8rem;
    font-size: 3.8rem;
  }
}
@media (min-width: 769px) {
  .campaign_box + .campaign_links {
    margin-top: 4.9rem;
  }
}
@media (max-width: 768px) {
  .campaign_box + .campaign_links {
    margin-top: 6.1rem;
  }
}

.campaign_term {
  padding: 0 3rem 0 0;
  overflow: scroll;
  scrollbar-color: #e6e6e6 #fff;
}
@media (min-width: 769px) {
  .campaign_term {
    height: 47rem;
  }
}
@media (max-width: 768px) {
  .campaign_term {
    height: 58rem;
  }
}
@media (min-width: 769px) {
  .campaign_term > dd + dt {
    padding-top: 2.8rem;
  }
}
@media (max-width: 768px) {
  .campaign_term > dd + dt {
    padding-top: 3.6rem;
  }
}

.campaign_term_title {
  font-weight: 500;
}
@media (min-width: 769px) {
  .campaign_term_title {
    line-height: 2;
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_term_title {
    line-height: 1.637;
    font-size: 2.2rem;
  }
}

@media (min-width: 769px) {
  .campaign_term_text {
    line-height: 2;
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_term_text {
    line-height: 1.637;
    font-size: 2.2rem;
  }
}
.campaign_term_text a:hover {
  text-decoration: underline;
}

@media (min-width: 769px) {
  .campaign_term_kome {
    line-height: 2;
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_term_kome {
    line-height: 1.637;
    font-size: 2.2rem;
  }
}

@media (min-width: 769px) {
  .campaign_term_dot {
    line-height: 2;
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_term_dot {
    line-height: 1.637;
    font-size: 2.2rem;
  }
}
@media (min-width: 769px) {
  .campaign_term_dot > li .campaign_term_num {
    padding-left: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_term_dot > li .campaign_term_num {
    padding-left: 2.2rem;
  }
}

@media (min-width: 769px) {
  .campaign_term_num {
    line-height: 2;
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .campaign_term_num {
    line-height: 1.637;
    font-size: 2.2rem;
  }
}

.movie_section {
  position: relative;
  background-color: #f1dcad;
  background-repeat: repeat-y;
  background-size: 100% auto;
  z-index: 2;
}
@media (min-width: 769px) {
  .movie_section {
    background-image: url(../images/movie_bg_pc.webp);
    background-position: center -10.4rem;
  }
}
@media (max-width: 768px) {
  .movie_section {
    background-image: url(../images/movie_bg_sp.webp);
    background-position: center top;
  }
}
.movie_section::before, .movie_section::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% auto;
  left: 0;
  right: 0;
  pointer-events: none;
}
@media (min-width: 769px) {
  .movie_section::before, .movie_section::after {
    background-image: url(../images/movie_bg_top_pc.webp);
    height: 5.334vw;
  }
}
@media (max-width: 768px) {
  .movie_section::before, .movie_section::after {
    background-image: url(../images/movie_bg_top_sp.webp);
    height: 10.667vw;
  }
}
@media (min-width: 769px) {
  .movie_section::before {
    bottom: calc(100% - 0.2rem);
  }
}
@media (max-width: 768px) {
  .movie_section::before {
    bottom: calc(100% - 0.4rem);
  }
}
.movie_section::after {
  scale: -1 -1;
}
@media (min-width: 769px) {
  .movie_section::after {
    top: calc(100% - 0.2rem);
  }
}
@media (max-width: 768px) {
  .movie_section::after {
    top: calc(100% - 0.4rem);
  }
}

@media (min-width: 769px) {
  .movie_inner {
    padding: 4.5rem 0 5.9rem;
  }
}
@media (max-width: 768px) {
  .movie_inner {
    background-image: url(../images/paper_bg_img.png);
    background-position: right 3.2rem bottom 0.2rem;
    background-repeat: no-repeat;
    background-size: 36.4rem auto;
    padding: 5rem 0 7.9rem;
  }
}

.movie_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #603813;
}
@media (min-width: 769px) {
  .movie_head {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .movie_head {
    gap: 1.2rem;
  }
}
.movie_head h2 {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .movie_head h2 {
    font-size: 5.2rem;
  }
}
@media (max-width: 768px) {
  .movie_head h2 {
    font-size: 6.4rem;
  }
}
.movie_head p {
  line-height: 1;
  font-weight: 700;
  font-family: "EB Garamond", serif;
}
@media (min-width: 769px) {
  .movie_head p {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  .movie_head p {
    font-size: 2.4rem;
  }
}

.movie_content {
  position: relative;
}
@media (min-width: 769px) {
  .movie_content {
    padding-top: 7.3rem;
  }
}
@media (max-width: 768px) {
  .movie_content {
    padding-top: 7rem;
  }
}

.movie_items {
  display: flex;
  justify-content: center;
  position: relative;
}
@media (min-width: 769px) {
  .movie_items {
    gap: 2rem;
  }
}
@media (max-width: 768px) {
  .movie_items {
    flex-direction: column;
    align-items: center;
    gap: 6rem;
  }
}
@media (min-width: 769px) {
  .movie_items + .movie_items {
    padding-top: 5rem;
  }
}
@media (max-width: 768px) {
  .movie_items + .movie_items {
    padding-top: 6rem;
  }
}

.movie_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: 0.4s ease;
}
@media (min-width: 769px) {
  .movie_item {
    gap: 1.7rem;
    width: 54rem;
  }
}
@media (max-width: 768px) {
  .movie_item {
    gap: 2.7rem;
    width: 64rem;
  }
}
.movie_item:hover {
  opacity: 0.7;
}

.movie_item_title {
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
  color: #603813;
}
@media (min-width: 769px) {
  .movie_item_title {
    line-height: 1.77;
    font-size: 2.6rem;
  }
  .movie_item_title > h3 {
    font: inherit;
  }
  .movie_item_title > h3:first-of-type {
    margin-top: -0.384em;
  }
  .movie_item_title > h3:last-of-type {
    margin-bottom: -0.384em;
  }
}
@media (max-width: 768px) {
  .movie_item_title {
    line-height: 1.438;
    font-size: 3.2rem;
  }
  .movie_item_title > h3 {
    font: inherit;
  }
  .movie_item_title > h3:first-of-type {
    margin-top: -0.218em;
  }
  .movie_item_title > h3:last-of-type {
    margin-bottom: -0.218em;
  }
}

.movie_item_thumb {
  position: relative;
  background: #afafaf;
  border-radius: 2rem;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
@media (min-width: 769px) {
  .movie_item_thumb {
    height: 30.375rem;
  }
}
@media (max-width: 768px) {
  .movie_item_thumb {
    height: 36rem;
  }
}
.movie_item_thumb::after {
  content: "";
  position: absolute;
  background-image: url(../images/play.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 769px) {
  .movie_item_thumb::after {
    width: 4.8rem;
    height: 4.8rem;
    right: 2.5rem;
    bottom: 2.5rem;
  }
}
@media (max-width: 768px) {
  .movie_item_thumb::after {
    width: 8.1rem;
    height: 8.1rem;
    right: 3rem;
    bottom: 2.9rem;
  }
}
.movie_item_thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.profile_block {
  display: flex;
  justify-content: center;
  position: relative;
}
@media (min-width: 769px) {
  .profile_block {
    margin-top: 15.2rem;
  }
}
@media (max-width: 768px) {
  .profile_block {
    margin-top: 7.9rem;
  }
}
.profile_block::before, .profile_block::after {
  content: "";
  position: absolute;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  left: 0;
  right: 0;
  z-index: 2;
  pointer-events: none;
}
@media (min-width: 769px) {
  .profile_block::before, .profile_block::after {
    height: 24.4rem;
    top: -8.6rem;
  }
}
@media (max-width: 768px) {
  .profile_block::before, .profile_block::after {
    height: 14.6rem;
    top: -3.4rem;
  }
}
@media (min-width: 769px) {
  .profile_block::before {
    background-image: url(../images/profile_bg1_pc.png);
  }
}
@media (max-width: 768px) {
  .profile_block::before {
    background-image: url(../images/profile_bg1_sp.png);
  }
}
.profile_block::after {
  z-index: 3;
}
@media (min-width: 769px) {
  .profile_block::after {
    background-image: url(../images/profile_bg2_pc.png);
  }
}
@media (max-width: 768px) {
  .profile_block::after {
    background-image: url(../images/profile_bg2_sp.png);
  }
}

.profile_box {
  display: flex;
  position: relative;
  background: #fef4e7;
  width: 100%;
  z-index: 3;
}
@media (min-width: 769px) {
  .profile_box {
    justify-content: flex-end;
    border-radius: 2000px;
    max-width: 110rem;
    height: 33.9rem;
    padding: 0 9rem 0 0;
  }
}
@media (max-width: 768px) {
  .profile_box {
    flex-direction: column;
    align-items: center;
    border-radius: 34rem 34rem 2rem 2rem;
    width: 68rem;
    padding: 13.5rem 0 0;
  }
}

@media (min-width: 769px) {
  .profile_box_caption {
    margin-right: -6.7rem;
    padding-top: 6.5rem;
  }
}

.profile_box_name {
  display: flex;
  flex-direction: column;
  color: #603813;
}
@media (min-width: 769px) {
  .profile_box_name {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .profile_box_name {
    align-items: center;
    gap: 1.7rem;
    text-align: center;
  }
}
.profile_box_name strong {
  line-height: 1;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .profile_box_name strong {
    font-size: 2.8rem;
  }
}
@media (max-width: 768px) {
  .profile_box_name strong {
    font-size: 4rem;
  }
}
.profile_box_name small {
  letter-spacing: 0;
  line-height: 1;
  font-weight: 500;
  font-family: "EB Garamond", serif;
}
@media (min-width: 769px) {
  .profile_box_name small {
    font-size: 1.4rem;
  }
}
@media (max-width: 768px) {
  .profile_box_name small {
    font-size: 2rem;
  }
}

.profile_box_text {
  letter-spacing: 0;
  text-align: justify;
  color: #603813;
}
@media (min-width: 769px) {
  .profile_box_text {
    padding-top: 2.6rem;
    line-height: 1.688;
    font-size: 1.6rem;
  }
  .profile_box_text > p {
    font: inherit;
  }
  .profile_box_text > p:first-of-type {
    margin-top: -0.343em;
  }
  .profile_box_text > p:last-of-type {
    margin-bottom: -0.343em;
  }
}
@media (max-width: 768px) {
  .profile_box_text {
    padding-top: 3.7rem;
    line-height: 1.584;
    font-size: 2.4rem;
  }
  .profile_box_text > p {
    font: inherit;
  }
  .profile_box_text > p:first-of-type {
    margin-top: -0.291em;
  }
  .profile_box_text > p:last-of-type {
    margin-bottom: -0.291em;
  }
  .profile_box_text {
    text-align: center;
  }
}

.profile_box_image {
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .profile_box_image {
    width: 52.8rem;
    height: 33.9rem;
  }
}
@media (max-width: 768px) {
  .profile_box_image {
    width: 59.2rem;
    height: 44.5rem;
    margin: -5.6rem auto -4.7rem 2.1rem;
  }
}
.profile_box_image figure {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
}
@media (min-width: 769px) {
  .profile_box_image figure {
    background-image: url(../images/cg-profile_image_pc.webp);
    height: 39.6rem;
    margin-top: -1.6rem;
  }
}
@media (max-width: 768px) {
  .profile_box_image figure {
    background-image: url(../images/cg-profile_image_sp.webp);
    height: 100%;
  }
}

.paper_block {
  position: relative;
}
@media (min-width: 769px) {
  .paper_block {
    padding-top: 2.4rem;
  }
}
@media (max-width: 768px) {
  .paper_block {
    padding-top: 23.5rem;
  }
}
.paper_block::before {
  content: "";
  position: absolute;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  left: 0;
  right: 0;
  pointer-events: none;
}
@media (min-width: 769px) {
  .paper_block::before {
    background-image: url(../images/paper_bg_pc.png);
    height: 33.8rem;
    top: 20rem;
  }
}
@media (max-width: 768px) {
  .paper_block::before {
    background-image: url(../images/paper_bg1_sp.png);
    height: 25rem;
    top: 4.9rem;
  }
}
@media (max-width: 768px) {
  .paper_block::after {
    content: "";
    position: absolute;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-image: url(../images/paper_bg2_sp.png);
    height: 25rem;
    top: 4.9rem;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 5;
  }
}

.paper_content {
  display: flex;
  position: relative;
}
@media (min-width: 769px) {
  .paper_content {
    justify-content: center;
    gap: 1.9rem;
  }
}
@media (max-width: 768px) {
  .paper_content {
    flex-direction: column-reverse;
    align-items: center;
    gap: 3rem;
  }
}

.paper_content_caption {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .paper_content_caption {
    gap: 5.8rem;
  }
}

@media (min-width: 769px) {
  .paper_content_title {
    width: 38.6rem;
  }
}
@media (max-width: 768px) {
  .paper_content_title {
    position: absolute;
    width: 43.3rem;
    left: -2.3rem;
    bottom: calc(100% - 19rem);
    z-index: 2;
  }
}

.paper_content_button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #004f2f;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  fill: #fef4e7;
  color: #fef4e7;
}
@media (min-width: 769px) {
  .paper_content_button {
    border-radius: 7rem;
    width: 38rem;
    height: 7rem;
    padding-right: 1rem;
    font-size: 2.4rem;
  }
}
@media (max-width: 768px) {
  .paper_content_button {
    border-radius: 10rem;
    width: 57.6rem;
    height: 10rem;
    padding-right: 1rem;
    font-size: 3.2rem;
  }
}
.paper_content_button svg {
  position: absolute;
  width: 1.25em;
  height: 0.959em;
}
@media (min-width: 769px) {
  .paper_content_button svg {
    right: 4rem;
  }
}
@media (max-width: 768px) {
  .paper_content_button svg {
    right: 10rem;
  }
}

.paper_content_image {
  background: #fffaf3;
  border-radius: 2rem;
}
@media (min-width: 769px) {
  .paper_content_image {
    width: 28.8rem;
    height: 51.2rem;
    margin-top: 4.2rem;
    padding: 0.8rem;
  }
}
@media (max-width: 768px) {
  .paper_content_image {
    width: 57.6rem;
    height: 102.4rem;
    padding: 1rem;
  }
}
.paper_content_image figure {
  position: relative;
  background-image: url(../images/cg-paper_content_image.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: 1.2rem;
  width: 100%;
  height: 100%;
}

.news_section {
  position: relative;
  background-color: #f3f8c1;
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media (min-width: 769px) {
  .news_section {
    background-image: url(../images/news_bg_pc.webp);
    padding: calc(11rem + 5.2vw) 0 26.3rem;
  }
}
@media (max-width: 768px) {
  .news_section {
    background-image: url(../images/news_bg_sp.webp);
    padding: calc(11.5rem + 10.134vw) 0 31.6rem;
  }
}

.news_inner {
  position: relative;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .news_inner {
    max-width: 110rem;
  }
}
@media (max-width: 768px) {
  .news_inner {
    max-width: 68rem;
  }
}

.news_head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 769px) {
  .news_head {
    gap: 1rem;
  }
}
@media (max-width: 768px) {
  .news_head {
    gap: 1.2rem;
  }
}
.news_head h2 {
  line-height: 1;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
}
@media (min-width: 769px) {
  .news_head h2 {
    font-size: 5.2rem;
  }
}
@media (max-width: 768px) {
  .news_head h2 {
    font-size: 6.4rem;
  }
}
.news_head p {
  line-height: 1;
  font-weight: 700;
  font-family: "EB Garamond", serif;
}
@media (min-width: 769px) {
  .news_head p {
    font-size: 1.8rem;
  }
}
@media (max-width: 768px) {
  .news_head p {
    font-size: 2.4rem;
  }
}

.news_list {
  position: relative;
  border-top: 1px solid #808080;
}
@media (min-width: 769px) {
  .news_list {
    margin-top: 6.3rem;
  }
}
@media (max-width: 768px) {
  .news_list {
    margin-top: 10.4rem;
  }
}
.news_list > li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #808080;
}
@media (min-width: 769px) {
  .news_list > li {
    min-height: 12rem;
    padding: 5rem 4rem;
  }
}
@media (max-width: 768px) {
  .news_list > li {
    padding: 4.5rem 1.2rem 5.5rem;
  }
}

.news_content {
  display: flex;
}
@media (max-width: 768px) {
  .news_content {
    flex-wrap: wrap;
    gap: 3rem 1.8rem;
  }
}
.news_content time {
  flex-shrink: 0;
  line-height: 1;
  font-weight: 700;
}
@media (min-width: 769px) {
  .news_content time {
    width: 9rem;
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  .news_content time {
    font-size: 2.8rem;
  }
}
@media (min-width: 769px) {
  .news_content time + .news_text {
    padding-left: 10rem;
  }
}

.news_newly {
  flex-shrink: 0;
}
@media (min-width: 769px) {
  .news_newly {
    width: 10rem;
  }
}
.news_newly p {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f08300;
  letter-spacing: 0;
  line-height: 1;
  font-weight: 600;
  font-family: "EB Garamond", serif;
  color: #fff;
}
@media (min-width: 769px) {
  .news_newly p {
    border-radius: 1.9rem;
    width: 5.9rem;
    height: 1.9rem;
    font-size: 1.65rem;
  }
}
@media (max-width: 768px) {
  .news_newly p {
    border-radius: 3.2rem;
    width: 9.9rem;
    height: 3.2rem;
    font-size: 2.8rem;
  }
}

.news_text {
  letter-spacing: 0;
  font-weight: 500;
  text-align: justify;
}
@media (min-width: 769px) {
  .news_text {
    line-height: 1.685;
    font-size: 1.9rem;
  }
  .news_text > p {
    font: inherit;
  }
  .news_text > p:first-of-type {
    margin-top: -0.342em;
  }
  .news_text > p:last-of-type {
    margin-bottom: -0.342em;
  }
}
@media (max-width: 768px) {
  .news_text {
    line-height: 1.8;
    font-size: 3rem;
  }
  .news_text > p {
    font: inherit;
  }
  .news_text > p:first-of-type {
    margin-top: -0.4em;
  }
  .news_text > p:last-of-type {
    margin-bottom: -0.4em;
  }
}
.news_text a:hover {
  text-decoration: underline;
}

.pagetop_anchor {
  display: block;
  position: absolute;
  margin-left: auto;
  z-index: 500;
  transition: opacity 0.4s linear !important;
}
@media (min-width: 769px) {
  .pagetop_anchor {
    width: 10rem;
    height: 10rem;
    right: 3rem;
    bottom: 5rem;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor {
    width: 8rem;
    height: 8rem;
    right: 1rem;
    bottom: 6rem;
  }
}
.pagetop_anchor figure {
  position: absolute;
  inset: -32%;
  transition: 0.4s ease;
  pointer-events: none;
}
.pagetop_anchor figure::before {
  content: "";
  position: absolute;
  background-image: url(../images/pagetop_anchor_bg.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  inset: 0;
}
.pagetop_anchor:hover {
  opacity: 1;
}
.pagetop_anchor:hover figure {
  opacity: 0.7;
}
.pagetop_anchor:hover figure::before {
  animation: rotate 20s linear infinite;
}
.pagetop_anchor.is-fixed {
  position: fixed;
  translate: 0 0 !important;
}
.pagetop_anchor:not(.is-show) {
  opacity: 0 !important;
  pointer-events: none;
}

.movie-dialog {
  display: none;
  height: 100vh;
  width: 100%;
  left: 0;
  position: fixed;
  top: 0;
  z-index: 99999;
  pointer-events: none;
}

.movie-dialog.is-show {
  align-items: center;
  display: flex;
  justify-content: center;
}

.movie-dialog-close {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: -6.4rem;
  background: url(../images/modal_close.png) center center no-repeat;
  background-size: contain;
  pointer-events: auto;
}

@media screen and (min-width: 769px) {
  .movie-dialog-close {
    width: min(5vw, 50px);
    height: min(5vw, 50px);
  }
}
@media screen and (max-width: 768px) {
  .movie-dialog-close {
    width: 6.6vw;
    height: 6.6vw;
  }
}
.movie-dialog-background {
  background: rgba(0, 0, 0, 0.8);
  display: none;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -1;
  pointer-events: auto;
}

.movie-dialog-background.is-show {
  display: block;
}

.movie-dialog iframe {
  height: 100%;
  width: 100%;
  pointer-events: auto;
}

.movie-trigger {
  color: #585858;
  pointer-events: none;
}

.movie-trigger.is-ready {
  cursor: pointer;
  pointer-events: initial;
}

.movie-container {
  width: 96%;
  max-width: 1000px;
  aspect-ratio: 16/9;
  position: relative;
}

.movie-iframe-container {
  width: 100%;
  max-width: 1000px;
  aspect-ratio: 16/9;
  position: relative;
}

.movie-iframe-container iframe {
  height: 100%;
  position: absolute;
  width: 100%;
  pointer-events: auto;
}

.movie-trigger {
  text-decoration: none;
}