@charset "UTF-8";
/*
 * Josh's Custom CSS Reset
 * https://www.joshwcomeau.com/css/custom-css-reset/
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

/*
 * SCSS Variables
------------------------------ */
/*
 * breakpoint
 */
/*
 * design
 */
/*
 * font
 */
/*
 * layout
 */
/*
 * parts
 */
/*
 * CSS Variables
------------------------------ */
:root {
  --color-text: #333;
  --ff-zenmaru: "Zen Maru Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
    "Helvetica Neue", "Helvetica", "Arial", "Meiryo", sans-serif;
  --ff-en: "Noto Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 700;
  --layer-1: 1;
  --layer-2: 10;
  --layer-3: 100;
  --layer-4: 1000;
  --breakpoint: "mn";
}

/*
 * keyframes
------------------------------ */
@keyframes mvHeading {
  0% {
    opacity: 0;
    transform: scale(160%);
  }
  20% {
    opacity: 1;
  }
  65% {
    transform: scale(92%);
  }
  100% {
    opacity: 1;
    transform: scale(100%);
  }
}
@keyframes mvTerm {
  0% {
    opacity: 0;
    transform: translateY(170%) scale(112%);
  }
  20% {
    opacity: 1;
  }
  65% {
    transform: translateY(-40%) scale(96%);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(100%);
  }
}
@keyframes mvKuma {
  0% {
    opacity: 0;
    transform: translateY(30%);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes mvTouch {
  0% {
    width: calc(100% + 6px);
  }
  24% {
    width: calc(100% + 6px);
  }
  32% {
    width: calc(30% + 6px);
  }
  87% {
    width: calc(30% + 6px);
  }
  95% {
    width: calc(100% + 6px);
  }
  100% {
    width: calc(100% + 6px);
  }
}
@keyframes mvBaloon {
  0% {
    transform: rotate(-8deg);
  }
  20% {
    transform: rotate(-8deg);
  }
  21% {
    transform: rotate(8deg);
  }
  22% {
    transform: rotate(6deg);
  }
  23% {
    transform: rotate(8deg);
  }
  24% {
    transform: rotate(6deg);
  }
  25% {
    transform: rotate(8deg);
  }
  90% {
    transform: rotate(8deg);
  }
  91% {
    transform: rotate(-8deg);
  }
  92% {
    transform: rotate(-6deg);
  }
  93% {
    transform: rotate(-8deg);
  }
  94% {
    transform: rotate(-6deg);
  }
  95% {
    transform: rotate(-8deg);
  }
  100% {
    transform: rotate(-8deg);
  }
}
@keyframes otefuri {
  0% {
    transform: rotate(0deg);
  }
  20% {
    transform: rotate(-8deg);
  }
  40% {
    transform: rotate(8deg);
  }
  60% {
    transform: rotate(-5deg);
  }
  80% {
    transform: rotate(5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes springIn {
  0% {
    opacity: 0;
    transform: translateY(30px) scale(1.1);
  }
  40% {
    opacity: 1;
    transform: translateY(-8px) scale(0.97);
  }
  60% {
    transform: translateY(4px) scale(1.03);
  }
  75% {
    transform: translateY(-2px) scale(0.99);
  }
  85% {
    transform: translateY(1px) scale(1.01);
  }
  100% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}
@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
/*
 * rem
 */
/*
 * vw
 */
/*
 * %
 */
/*
 * media-query
------------------------------ */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 30px;
}

body {
  overflow-wrap: anywhere;
  font-family: var(--ff-zenmaru);
  font-size: medium;
  font-weight: var(--fw-medium);
  color: var(--color-text);
}

a {
  color: inherit;
}

button {
  cursor: pointer;
  outline: none;
  border: none;
  background-color: transparent;
}

main {
  overflow: hidden;
}

.c-button {
  padding-bottom: 7px;
}
.c-button a,
.c-button button {
  position: relative;
  display: flex;
  padding: 12px 30px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  align-self: stretch;
  border-radius: 52px;
  background: #e26a36;
  box-shadow: 0px 7px 0px 0px #be2d28;
  color: #fff;
  font-weight: var(--fw-bold);
  line-height: 120%;
  text-decoration: none;
}
.c-button.-green a,
.c-button.-green button {
  background: #006531;
  box-shadow: 0px 7px 0px 0px #66bc15;
}

.c-detail {
  max-width: calc(800px + 7.6923076923vw);
  margin: 0 auto;
  padding: 34px 3.8461538462vw 60px;
}
.c-detail h2 {
  text-align: center;
  font-size: 23px;
  font-weight: var(--fw-bold);
  line-height: 150%;
}
.c-detail dl {
  margin-top: 34px;
}
.c-detail dl dt {
  font-size: 16px;
  font-weight: var(--fw-bold);
  line-height: 150%;
}
.c-detail dl dt:not(:first-child) {
  margin-top: 20px;
}
.c-detail dl dd {
  font-size: 16px;
  font-weight: var(--fw-medium);
  line-height: 150%;
}
.c-detail dl dd ul li {
  list-style: none;
  text-indent: -1em;
  margin-left: 1em;
}
.c-detail dl dd ul li::before {
  content: "・";
}

.c-hfcount.tick {
  color: #fff;
  font-family: var(--ff-en);
  font-size: 10.7692307692vw;
  font-weight: var(--fw-bold);
}
.c-hfcount.tick > span {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.9523809524%;
  width: 100%;
  aspect-ratio: 315/62;
}
.c-hfcount.tick .tick-flip {
  margin: 0;
  min-width: 0;
  border-radius: 1.0256410256vw;
}
.c-hfcount.tick .tick-flip-panel {
  border-radius: 1.0256410256vw;
  background-color: #4e3826;
}
.c-hfcount.tick .tick-flip-panel-back:after {
  border-radius: 1.0256410256vw;
}
.c-hfcount.tick .tick-flip-shadow {
  box-shadow: none;
}
.c-hfcount.tick .tick-credits {
  height: 0;
  overflow: hidden;
}

.c-present {
  padding: 0 5.1282051282vw;
  background-image: url("../images/common/present-bg-mn.svg");
  background-size: 100% auto;
  background-position: top center;
  background-color: #b5e595;
}
.c-present > * {
  max-width: 560px;
  margin: 0 auto;
}
.c-present img {
  width: 100%;
}
.c-present_heading h2 {
  margin: 0 auto;
}
.c-present_heading p {
  margin-top: 20px;
  padding: 0 28px;
  font-size: 0.9125rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.c-present_section {
  position: relative;
  margin: 20% auto 0;
  padding: 22.8571428571% 0;
  border-radius: 51.2820512821vw;
  background: #fff;
  opacity: 0;
  transform: translateY(30px) scale(1.1);
}
.c-present_section.is-visible {
  animation: springIn 0.8s ease-out 0.1s forwards;
}
.c-present_section > p:first-child {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -32%);
  width: 48%;
}
.c-present_section h3 {
  margin: 0 auto;
}
.c-present_section h3 + p {
  margin-top: 16px;
  padding: 0 28px;
  text-align: center;
  font-size: 0.9125rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.c-present_section:nth-of-type(1) .c-present_img img {
  width: 56%;
}
.c-present_section:nth-of-type(2) .c-present_img img {
  width: 64%;
}
.c-present_name {
  margin: 30px auto 0;
  width: 81.7142857143%;
}
.c-present_name + p {
  margin-top: 12px;
  padding: 0 28px;
  text-align: center;
  font-size: 0.9125rem;
  font-weight: var(--fw-bold);
  line-height: 170%;
}
.c-present_img {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 69.7142857143%;
  margin: 3.0769230769vw auto 0;
  aspect-ratio: 1/1;
}
.c-present_img img {
  position: relative;
}
.c-present_img::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/common/bg-togetoge-yellow.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: spin 15s linear infinite;
}
.c-present_img + p:not(.c-present_note) {
  margin-top: 20px;
  text-align: center;
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 150%;
}
.c-present_note {
  text-align: center;
  font-size: 0.5rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.c-present_note + p {
  margin-top: 20px;
  text-align: center;
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 150%;
}
.c-present_detail {
  display: grid;
  grid-template-columns: max(15.3846153846vw, 60px) auto;
  gap: 2.5641025641vw;
  align-items: start;
  max-width: 440px;
  margin: 40px auto 0;
  padding: 0 28px;
}
.c-present_detail dt {
  display: flex;
  justify-content: center;
  border-radius: 5px;
  background: #addb8f;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 150%;
}
.c-present_detail dd {
  font-size: 0.9125rem;
  font-weight: var(--fw-bold);
  line-height: 150%;
}
.c-present_detail-box {
  max-width: 500px;
  margin: 20px auto 0;
  padding: 0 28px;
}
.c-present_detail-box > div {
  padding: 32px 20px;
  border-radius: 32px;
  background: #f8f2f2;
}
.c-present_detail-box h4 {
  color: #382b20;
  text-align: center;
  font-size: 1.25rem;
  font-weight: var(--fw-bold);
  line-height: 100%;
}
.c-present_detail-box ol {
  margin-top: 20px;
}
.c-present_detail-box ol li:not(:first-child) {
  margin-top: 32px;
}
.c-present_detail-box .c-sns {
  justify-content: center;
}
.c-present_flow li {
  position: relative;
  margin-left: 1.625rem;
  counter-increment: flow;
  list-style: none;
  font-size: 0.9125rem;
  font-weight: var(--fw-bold);
  line-height: 150%;
}
.c-present_flow li::before {
  content: counter(flow);
  position: absolute;
  top: 0;
  left: -1.625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  aspect-ratio: 1/1;
  background-image: url("../images/common/bg-list-count.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  leading-trim: both;
  text-edge: cap;
  font-family: var(--ff-en);
  font-size: 0.75rem;
  font-weight: var(--fw-bold);
  line-height: 1;
}
.c-present_flow li:not(:first-child) {
  margin-top: 0.8em;
}
.c-present_flow li .-note {
  margin-top: 6px;
  color: #382b20;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.c-present_flow li .c-button {
  margin-top: 12px;
}
.c-present_button {
  margin-top: 40px;
  padding: 0 28px;
}
.c-present_button > div:not(.c-button) {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6%;
  align-items: start;
  max-width: 300px;
  margin: 0 auto;
}
.c-present_button > div:not(.c-button) > * {
  flex: 0 0 50%;
}
.c-present_button > div:not(.c-button) p {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  background-image: url("../images/common/present-baloon.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  font-size: 0.9125rem;
  font-weight: var(--fw-medium);
  line-height: 150%;
}
.c-present_button .c-button button {
  margin: 0 auto;
}

.c-sns {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  margin: 10px 0;
}
.c-sns a {
  flex: 0 0 50px;
  aspect-ratio: 1/1;
}

.c-wave {
  position: relative;
  background-color: var(--wave-bgc);
}
.c-wave.-top::before {
  content: "";
  position: absolute;
  top: -10.2564102564vw;
  left: 0;
  width: 100%;
  aspect-ratio: 390/40;
  background-image: var(--wave-mn);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}
*:has(+ .c-wave.-top) {
  padding-bottom: 10.2564102564vw;
}

.c-wave.-bottom::after {
  content: "";
  position: absolute;
  bottom: -10.2564102564vw;
  left: 0;
  width: 100%;
  aspect-ratio: 390/40;
  background-image: var(--wave-bottom-mn);
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
}
.c-wave.-bottom + * {
  padding-top: 10.2564102564vw;
}

.g-footer {
  display: flex;
  max-width: 390px;
  margin: 0 auto;
  padding: 32px 0px 80px 0px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
body.-p-top .g-footer {
  padding-bottom: 140px;
}

.g-footer > div:nth-child(1) {
  display: flex;
  align-items: center;
  gap: 20px;
}
.g-footer > div:nth-child(2) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2px 13px;
  width: 80%;
  margin: 0 auto;
}
.g-footer > div:nth-child(2) a {
  text-decoration: none;
  color: #000;
  font-size: 0.875rem;
  font-weight: var(--fw-regular);
}
.g-footer > p {
  color: #373a3c;
  text-align: center;
  font-size: 0.625rem;
  font-weight: var(--fw-regular);
}

.g-header_logo {
  z-index: var(--layer-3);
  position: absolute;
  top: 10px;
  left: 10px;
}
.-p-thanks .g-header_logo {
  pointer-events: none;
  opacity: 0;
}

.g-header-nav-button {
  z-index: calc(var(--layer-3) + 1);
  position: fixed;
  top: 10px;
  right: 10px;
  display: block;
  width: 46.209px;
  aspect-ratio: 46.209/43.651;
  background-image: url("../images/common/header-nav-button.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.g-header-nav-button[aria-expanded=true] {
  aspect-ratio: 46.209/48.115;
  background-image: url("../images/common/header-nav-button-open.svg");
}

.g-header-nav {
  z-index: var(--layer-3);
  position: fixed;
  top: 10px;
  right: 10px;
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 305px;
  height: 517px;
  padding: 68px 38px;
  background-image: url("../images/common/header-nav-bg.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.g-header-nav[hidden] {
  display: none;
}
.g-header-nav > a {
  position: relative;
  display: flex;
  background-image: url("../images/common/header-nav-arrow.svg");
  background-size: 20px 14px;
  background-position: right center;
  background-repeat: no-repeat;
  flex-direction: column;
  color: #382b20;
  font-size: 18px;
  font-weight: var(--fw-bold);
  line-height: 120%;
  text-decoration: none;
}
.g-header-nav > a span {
  font-size: 12px;
  line-height: 1;
}
.g-header-nav > a.-min {
  font-size: 12px;
  background-image: none;
}
.g-header-nav > a:not(:nth-of-type(1)):not(:nth-of-type(3)) {
  margin-top: 15px;
}
.g-header-nav > a:not(:nth-of-type(1)):not(:nth-of-type(3))::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  width: 100%;
  border-top: 1px solid #e3e3e3;
}
.g-header-nav .c-sns {
  margin: 30px 0 0;
  gap: 13.92px;
}
.g-header-nav .c-sns a {
  flex: 0 0 36.338px;
}

.p-thanks-mv {
  max-width: 578px;
  margin: 0 auto;
  padding-top: min(17.9487179487vw, 70px);
  padding-bottom: 5.1282051282vw;
}
.p-thanks-mv h1 {
  width: min(80.7692307692vw, 578px);
  margin: 0 auto;
}
.p-thanks-mv h1 img {
  width: 100%;
}
.p-thanks-mv > p {
  display: flex;
  flex-direction: column;
  gap: 3.0769230769vw;
  width: 80.7692307692vw;
  margin: 12px auto 0;
  color: #382b20;
  text-align: center;
  font-size: 4.6153846154vw;
  font-weight: var(--fw-bold);
  line-height: 120%;
}

.p-thanks-mv-lottie {
  width: 112%;
  aspect-ratio: 652/636;
  margin: 5.1282051282vw auto 0 -6%;
}
.p-thanks-mv-lottie + * {
  margin-top: 5.1282051282vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.p-thanks-mv-lottie + * ul li {
  list-style: none;
  color: #382b20;
  font-size: 3.0769230769vw;
  font-weight: 500;
  line-height: 1.5;
}
.p-thanks-mv-lottie + * img {
  width: 63.8461538462vw;
}

.p-thanks-block-present {
  padding: 40px 0;
}
.p-thanks-block-present .c-present_heading h2 {
  width: 78%;
}
.p-thanks-block-present .c-present_section h3 {
  margin-top: 20px;
}
.p-thanks-block-present .c-present_section:nth-of-type(1) h3 {
  width: 50.8571428571%;
}
.p-thanks-block-present .c-present_section:nth-of-type(2) h3 {
  width: 50.8571428571%;
}
.p-thanks-block-present .c-present_section .c-button button {
  width: 100%;
}

.p-thanks-detail {
  max-width: 800px;
  margin: 0 auto;
  padding-bottom: 60px;
}
.p-thanks-detail_button {
  max-width: min(89.7435897436vw, 480px);
  margin: 0 auto;
}

.p-top-mv {
  overflow: hidden;
  position: relative;
}
.p-top-mv img {
  width: 100%;
}
.p-top-mv_heading {
  position: absolute;
  top: 20.5128205128vw;
  left: 19.2307692308vw;
  width: 61.2820512821vw;
  opacity: 0;
  transform: scale(160%);
}
.p-top-mv_term {
  position: absolute;
  top: 72.5641025641vw;
  left: 21.0256410256vw;
  width: 57.9487179487vw;
  opacity: 0;
  transform: translateY(170%) scale(112%);
}
.p-top-mv_fukukuma {
  position: absolute;
  top: 84.1025641026vw;
  left: 24.358974359vw;
  width: 57.1333333333vw;
  aspect-ratio: 222.82/311.98;
  opacity: 0;
  transform: translateY(30%);
}
.p-top-mv_fukukuma > * {
  position: absolute;
}
.p-top-mv_fukukuma > *:nth-of-type(1) {
  top: 0;
  left: 0;
  width: 26.0299793555%;
}
.p-top-mv_fukukuma > *:nth-of-type(2) {
  bottom: 0;
  right: 0;
  width: 100%;
}
.p-top-mv_touch {
  position: absolute;
  top: 79.4871794872vw;
  left: 21.0256410256vw;
  display: block;
  width: 19.4871794872vw;
  aspect-ratio: 1/1;
  border: 3px solid #ffff78;
  border-radius: 50%;
  background-color: rgba(255, 255, 186, 0.4);
  opacity: 0;
  transition: opacity 0.9s ease-out 0.3s;
}
.p-top-mv_touch::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 6px);
  aspect-ratio: 1/1;
  border: 3px solid #ffff78;
  border-radius: 50%;
  background-color: rgba(255, 255, 186, 0.4);
}
.p-top-mv_baloon {
  position: absolute;
  top: 68.2051282051vw;
  left: 0.5128205128vw;
  width: 20.5128205128vw;
  opacity: 0;
  transition: opacity 0.9s ease-out 0.3s;
  transform: rotate(-8deg);
}
.p-top-mv_link {
  position: absolute;
  bottom: 6.1538461538vw;
  right: 2.5641025641vw;
  display: flex;
  justify-content: center;
  width: 30.2564102564vw;
  aspect-ratio: 1/1;
}
.p-top-mv_link img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
  width: 72%;
}
.p-top-mv_link::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/common/bg-togetoge-red.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: spin 15s linear infinite;
}
.p-top-mv_link::after {
  content: "";
  position: absolute;
  top: 70%;
  left: 45%;
  width: 10%;
  aspect-ratio: 14/22;
  background-image: url("../images/top/mv-link-arrow.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  animation: float 2s ease-in-out infinite;
}
.p-top-mv:has(.p-top-mv-lottie.is-complete) .p-top-mv_heading {
  animation: mvHeading 0.6s ease-out 0.3s forwards;
}
.p-top-mv:has(.p-top-mv-lottie.is-complete) .p-top-mv_term {
  animation: mvTerm 0.6s ease-out 0.35s forwards;
}
.p-top-mv:has(.p-top-mv-lottie.is-complete) .p-top-mv_fukukuma {
  animation: mvKuma 0.1s ease-out forwards;
}
.p-top-mv:has(.p-top-mv-lottie.is-complete) .p-top-mv_touch {
  opacity: 1;
}
.p-top-mv:has(.p-top-mv-lottie.is-complete) .p-top-mv_touch::after {
  animation: mvTouch 3.4s linear 1.6s infinite;
}
.p-top-mv:has(.p-top-mv-lottie.is-complete) .p-top-mv_baloon {
  opacity: 1;
  animation: mvBaloon 3s linear 2.4s infinite;
}

.p-top-mv-lottie {
  width: 100%;
  aspect-ratio: 390/757;
}

.p-top-deco-top {
  position: relative;
}
.p-top-deco-top::before {
  content: "";
  z-index: 2;
  position: absolute;
  bottom: -10.2564102564vw;
  left: 0;
  width: 17.9487179487vw;
  aspect-ratio: 70/88;
  background-image: url("../images/top/deco-top-01.svg");
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
}
.p-top-deco-top::after {
  content: "";
  z-index: 2;
  position: absolute;
  bottom: -14.8717948718vw;
  right: 0;
  width: 28.4615384615vw;
  aspect-ratio: 111/91;
  background-image: url("../images/top/deco-top-02.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-top-section-count {
  position: relative;
  padding-bottom: 100px;
}
.p-top-section-count_inner {
  padding: 70px 3.5897435897vw 30px;
}
.p-top-section-count_box {
  position: relative;
  display: flex;
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 22px;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  border-radius: 32px;
  border: 6px solid #66bc15;
  background: #fff;
}
.p-top-section-count_box::before {
  content: "";
  position: absolute;
  top: -20.333px;
  right: -8px;
  width: 69px;
  aspect-ratio: 69/81;
  background-image: url("../images/top/count-deco-01.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.p-top-section-count_box::after {
  content: "";
  position: absolute;
  bottom: -41px;
  left: -46.646px;
  width: 123.293px;
  aspect-ratio: 123.293/131.931;
  background-image: url("../images/top/count-deco-02.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.p-top-section-count h2 {
  width: 68.4615384615vw;
}
.p-top-section-count h2 img {
  width: 100%;
}

.p-top-block-hf > p {
  text-align: center;
  color: #382b20;
  font-size: 4.1025641026vw;
  font-weight: var(--fw-bold);
  line-height: 120%;
}
.p-top-block-hf_count {
  margin-top: 1.0256410256vw;
}
.p-top-block-hf_box {
  margin-top: 24px;
  padding: 12px;
  border-radius: 12px;
  background: #f8f2f2;
}
.p-top-block-hf_box p {
  color: #382b20;
  font-size: 1rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.p-top-block-hf_box ul li {
  list-style: none;
  color: #382b20;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}

.p-top-block-flow {
  width: 100%;
  margin: 0 auto;
}
.p-top-block-flow button {
  width: 100%;
}
.p-top-block-flow button[aria-expanded=true] .p-top-block-flow_button {
  border-radius: 10px 10px 0 0;
}
.p-top-block-flow button[aria-expanded=true] .p-top-block-flow_button::after {
  transform: translateY(-50%) rotate(-45deg);
}
.p-top-block-flow_button {
  position: relative;
  display: block;
  padding: 8px 40px 8px 16px;
  border-radius: 10px;
  background: #4f940f;
  text-align: left;
  color: #fff;
  font-size: 1rem;
  font-weight: var(--fw-bold);
  line-height: 170%;
}
.p-top-block-flow_button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  aspect-ratio: 1/1;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(135deg);
  transition: transform 0.3s ease-in-out;
}
.p-top-block-flow_content {
  display: flex;
  padding: 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  align-self: stretch;
  border-radius: 0px 0px 12px 12px;
  background: #fff1ea;
}
.p-top-block-flow_content ol,
.p-top-block-flow_content li {
  list-style: none;
}
.p-top-block-flow_content ol {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 0 auto;
}
.p-top-block-flow_content ol li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
  font-size: 0.75rem;
  font-weight: var(--fw-bold);
  line-height: 130%;
}
.p-top-block-flow_content ol li:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 30px;
  left: -12px;
  width: 8px;
  aspect-ratio: 1/1;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: center;
}
.p-top-block-flow_content ol li img {
  width: 60px;
}
.p-top-block-flow_content ul li {
  text-indent: -1em;
  margin-left: 1em;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.p-top-block-flow_content ul li::before {
  content: "※";
}
.p-top-block-flow_content ul li:not(:first-child) {
  margin-top: 1em;
}
.p-top-block-flow_content section {
  display: flex;
  padding: 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  align-self: stretch;
  border-radius: 8px;
  border: 1px solid var(--blk, #333);
}
.p-top-block-flow_content section h3 {
  font-size: 0.875rem;
  font-weight: var(--fw-bold);
  line-height: 170%;
}
.p-top-block-flow_content section p {
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.p-top-block-flow_content section a {
  margin: 0 auto;
  font-size: 0.75rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.p-top-block-flow_content section img {
  width: 110px;
  margin: 0 auto;
}

.p-top-section-about {
  padding: 15.3846153846vw 3.8461538462vw 10.2564102564vw;
  background-image: url("../images/top/about-bg-mn.svg");
  background-size: 100% auto;
  background-position: top 16% center;
  background-repeat: no-repeat;
}
.p-top-section-about_text {
  padding: 0 5.8974358974vw;
}
.p-top-section-about_text h2 {
  width: 61.0256410256vw;
}
.p-top-section-about_text h2 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-top-section-about_text p {
  margin-top: 5.1282051282vw;
  display: flex;
  flex-direction: column;
  gap: 20px;
  color: #fff;
  font-size: clamp(1.0375rem, 4.2564102564vw, 22px);
  font-weight: var(--fw-bold);
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.p-top-section-about_img {
  margin: 10.2564102564vw -3.8461538462vw 0;
  display: flex;
}
.p-top-section-about_img span {
  flex: 0 0 366.1538461538vw;
  max-width: none;
  animation: loop 40s linear infinite;
}

.p-top-section-fukukuma {
  position: relative;
  display: flex;
  max-width: 580px;
  margin: 10.2564102564vw auto 0;
  padding: 40px 20px 154px 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  border-radius: 32px;
  border: 8px solid #66bc15;
  background: #fff;
  box-shadow: 0px 0px 31.2px 0px rgba(0, 0, 0, 0.25);
}
.p-top-section-fukukuma p {
  color: #382b20;
  font-size: 0.9125rem;
  font-weight: var(--fw-medium);
  line-height: 170%;
}
.p-top-section-fukukuma::after {
  content: "";
  position: absolute;
  bottom: -8px;
  right: -28px;
  width: 190px;
  aspect-ratio: 190/153;
  background-image: url("../images/top/fukukuma-yatta.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-top-block-present {
  padding: 60px 0 70px;
}
.p-top-block-present .c-present_heading h2 {
  width: 95.4285714286%;
}
.p-top-block-present .c-present_section:nth-of-type(1) h3 {
  width: 77.7142857143%;
}
.p-top-block-present .c-present_section:nth-of-type(2) h3 {
  width: 77.7142857143%;
}
.p-top-block-present_img-ar {
  width: 84%;
  margin: 40px auto 0;
}

.p-top-section-collabo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding-top: 60px;
}
.p-top-section-collabo h2 {
  width: 79.4871794872vw;
}
.p-top-section-collabo h2 img {
  width: 100%;
}
.p-top-section-collabo > p {
  color: #fff;
  text-align: center;
  font-size: 1.0375rem;
  font-weight: var(--fw-bold);
  line-height: 1.6;
  letter-spacing: 0.01em;
}
.p-top-section-collabo_img {
  position: relative;
}
.p-top-section-collabo_img span:nth-of-type(2), .p-top-section-collabo_img span:nth-of-type(3) {
  overflow: hidden;
  position: absolute;
  bottom: 18%;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 246.7213114754%;
  height: 35px;
}
.p-top-section-collabo_img span:nth-of-type(2) img, .p-top-section-collabo_img span:nth-of-type(3) img {
  animation: loop 36s linear infinite;
}
.p-top-section-collabo_img span:nth-of-type(2) {
  background-color: #15bc2c;
  transform: translateX(-50%) rotate(3deg);
}
.p-top-section-collabo_img span:nth-of-type(3) {
  background-color: #e26a36;
  transform: translateX(-50%) rotate(-12deg);
}

.p-top-section-global {
  position: relative;
}
.p-top-section-global_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.0512820513vw;
  width: 92.8205128205vw;
  max-width: 480px;
  margin: 40px 0 17.9487179487vw;
  aspect-ratio: 362/363;
  background-image: url("../images/top/global-bg-mn.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.p-top-section-global_inner h3 {
  width: 73.2044198895%;
}
.p-top-section-global_inner h3 img {
  width: 100%;
}
.p-top-section-global_inner p {
  color: #382b20;
  text-align: center;
  font-size: 1.0375rem;
  font-weight: var(--fw-bold);
  line-height: 1.6;
  letter-spacing: 0.01em;
}
.p-top-section-global::after {
  content: "";
  position: absolute;
  bottom: -11.7948717949vw;
  left: 50%;
  transform: translateX(-50%);
  width: 36.3338461538vw;
  aspect-ratio: 141.702/141.565;
  background-image: url("../images/top/global-deco.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-top-section-aboutte {
  padding: 60px 3.8461538462vw;
}
.p-top-section-aboutte_inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 800px;
  margin: 0 auto;
}
.p-top-section-aboutte h2 {
  margin: 0 auto;
}
.p-top-section-aboutte p {
  color: #fff;
  font-size: 0.9125rem;
  font-weight: var(--fw-bold);
  line-height: 170%;
}

.p-top-sticky-button {
  z-index: var(--layer-2);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 362px;
  padding-bottom: 20px;
}
.p-top-sticky-button.is-fixed {
  position: fixed;
  bottom: 0;
}
.p-top-sticky-button button {
  width: 100%;
}

.p-top-sticky-fukukuma {
  z-index: var(--layer-2);
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%) translateX(100%);
  width: 22.8205128205vw;
  aspect-ratio: 89/135;
  transition: transform 0.3s ease-in-out;
}
.p-top-sticky-fukukuma.is-visible {
  transform: translateY(-50%) translateX(0);
}
.p-top-sticky-fukukuma span {
  z-index: -1;
  position: absolute;
  left: 0;
  bottom: 6%;
  width: 18.2051282051vw;
  aspect-ratio: 1/1;
  transform-origin: right center;
  animation: otefuri 1.2s ease-in-out infinite both;
}
.p-top-sticky-fukukuma img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (min-width: 768px){
  body {
    --breakpoint: "lg";
  }
  .u-lg-hidden {
    display: none;
  }
  .c-button a:hover,
  .c-button button:hover {
    top: 7px;
    box-shadow: none;
  }
  .c-hfcount.tick {
    font-size: 42px;
  }
  .c-hfcount.tick > span {
    width: 315px;
    margin: 0 auto;
    gap: 3px;
  }
  .c-hfcount.tick .tick-flip {
    border-radius: 4px;
  }
  .c-hfcount.tick .tick-flip-panel {
    border-radius: 4px;
  }
  .c-hfcount.tick .tick-flip-panel-back:after {
    border-radius: 4px;
  }
  .c-present {
    background-image: url("../images/common/present-bg-left.svg"), url("../images/common/present-bg-right.svg");
    background-attachment: fixed, fixed;
    background-size: auto 81.6666666667%, auto 81.6666666667%;
    background-position: center left, center right;
    background-repeat: no-repeat, no-repeat;
  }
  .c-present > * {
    max-width: 800px;
  }
  .c-present_heading p {
    text-align: center;
  }
  .c-present_section {
    margin-top: 70px;
    padding: 70px 0 80px;
    border-radius: min(24.3055555556vw, 350px);
  }
  .c-present_section > p:first-child {
    width: 168px;
    transform: translate(-50%, -50px);
  }
  .c-present_name {
    width: 286px;
    margin-top: 40px;
  }
  .c-present_img {
    width: 244px;
    margin-top: 40px;
  }
  .c-present_img + p:not(.c-present_note) {
    margin-top: 40px;
  }
  .c-present_note + p {
    margin-top: 40px;
  }
  .c-present_detail {
    grid-template-columns: 60px auto;
    gap: 10px;
    margin-top: 40px;
  }
  .c-present_detail-box {
    margin-top: 40px;
  }
  .c-wave.-top::before {
    top: -5.5555555556vw;
    aspect-ratio: 1440/80;
    background-image: var(--wave);
  }
  *:has(+ .c-wave.-top) {
    padding-bottom: 5.5555555556vw;
  }
  .c-wave.-bottom::after {
    bottom: -5.5555555556vw;
    aspect-ratio: 1440/80;
    background-image: var(--wave-bottom);
  }
  .c-wave.-bottom + * {
    padding-top: 5.5555555556vw;
  }
  .g-header-nav-button {
    width: min(4.8958333333vw, 70.5px);
  }
  .g-header-nav {
    gap: min(1.4583333333vw, 21px);
    width: min(29.5138888889vw, 425px);
    height: min(50.0284722222vw, 720.41px);
    padding: min(6.6666666667vw, 96px) min(3.75vw, 54px);
  }
  .g-header-nav > a {
    background-size: min(1.9353472222vw, 27.869px) min(1.3547222222vw, 19.508px);
    font-size: min(1.7361111111vw, 25px);
  }
  .g-header-nav > a span {
    font-size: min(1.1805555556vw, 17px);
  }
  .g-header-nav > a.-min {
    font-size: min(1.1805555556vw, 17px);
  }
  .g-header-nav > a:not(:nth-of-type(1)):not(:nth-of-type(3)) {
    margin-top: min(1.4583333333vw, 21px);
  }
  .g-header-nav > a:not(:nth-of-type(1)):not(:nth-of-type(3))::before {
    top: max(-1.4583333333vw, -21px);
  }
  .g-header-nav .c-sns {
    margin: min(2.0833333333vw, 30px) 0 0;
    gap: min(1.3888888889vw, 20px);
  }
  .g-header-nav .c-sns a {
    flex: 0 0 min(3.4722222222vw, 50px);
  }
  .p-thanks-mv {
    padding-bottom: 20px;
  }
  .p-thanks-mv > p {
    width: 100%;
    gap: 12px;
    font-size: 1.125rem;
  }
  .p-thanks-mv-lottie {
    margin-top: 20px;
  }
  .p-thanks-mv-lottie + * {
    margin-top: 20px;
  }
  .p-thanks-mv-lottie + * ul li {
    font-size: 0.75rem;
  }
  .p-thanks-mv-lottie + * img {
    width: 249px;
  }
  .p-thanks-block-present {
    padding: 60px 0;
  }
  .p-thanks-block-present .c-present_section:nth-of-type(1) h3 {
    width: 178px;
  }
  .p-thanks-block-present .c-present_section:nth-of-type(2) h3 {
    width: 178px;
  }
  .p-top-mv_heading {
    top: 3.75vw;
    left: 29.1666666667vw;
    width: 41.8055555556vw;
  }
  .p-top-mv_term {
    top: 19.9305555556vw;
    left: 36.1111111111vw;
    width: 26.875vw;
  }
  .p-top-mv_fukukuma {
    top: 24.3055555556vw;
    left: 41.3194444444vw;
    width: 20.1388888889vw;
  }
  .p-top-mv_touch {
    top: 21.8055555556vw;
    left: 39.2361111111vw;
    width: 7.9166666667vw;
  }
  .p-top-mv_baloon {
    top: 23.6111111111vw;
    left: 28.75vw;
    width: 7.9166666667vw;
  }
  .p-top-mv_link {
    bottom: 3.4722222222vw;
    right: 1.3888888889vw;
    width: 8.1944444444vw;
  }
  .p-top-mv-lottie {
    aspect-ratio: 1920/1080;
  }
  .p-top-section-count_box {
    padding: 40px 74px;
  }
  .p-top-section-count h2 {
    width: 368px;
  }
  .p-top-block-hf > p {
    font-size: 1rem;
  }
  .p-top-block-hf_count {
    margin-top: 4px;
  }
  .p-top-section-about {
    padding-top: 120px;
    padding-bottom: 120px;
    background-image: url("../images/top/about-bg.svg");
  }
  .p-top-section-about_text h2 {
    width: 566px;
    margin: 0 auto;
  }
  .p-top-section-about_text p {
    margin-top: 32px;
    text-align: center;
    font-size: 1.125rem;
  }
  .p-top-section-about_img {
    margin-top: 40px;
  }
  .p-top-section-about_img span {
    flex: 0 0 128vw;
  }
  .p-top-section-fukukuma {
    max-width: 800px;
    margin: 40px auto 0;
  }
  .p-top-section-fukukuma h3,
  .p-top-section-fukukuma .c-button {
    margin: 0 auto;
  }
  .p-top-block-present {
    padding-top: 120px;
  }
  .p-top-block-present .c-present_heading h2 {
    width: 334px;
  }
  .p-top-block-present .c-present_section:nth-of-type(1) h3 {
    width: 354px;
  }
  .p-top-block-present .c-present_section:nth-of-type(2) h3 {
    width: 354px;
  }
  .p-top-block-present_img-ar {
    width: 294px;
  }
  .p-top-section-collabo h2 {
    width: 276px;
    width: 310px;
  }
  .p-top-section-collabo > p:nth-of-type(1) {
    position: relative;
  }
  .p-top-section-collabo > p:nth-of-type(1)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 166%;
    height: 166%;
    background-image: url("../images/top/collabo-bg.svg");
    background-size: 100% auto;
    background-position: center;
    background-repeat: no-repeat;
  }
  .p-top-section-global_inner {
    gap: 8px;
    width: 648px;
    max-width: 648px;
    margin-bottom: 70px;
    aspect-ratio: 648/363;
    background-image: url("../images/top/global-bg.svg");
  }
  .p-top-section-global_inner h3 {
    width: 265px;
  }
  .p-top-section-global::after {
    bottom: -46px;
    width: 141.702px;
  }
  .p-top-sticky-fukukuma {
    width: 150px;
  }
  .p-top-sticky-fukukuma span {
    width: 120px;
  }
}
@media screen and (max-width: 767px){
  .u-mn-hidden {
    display: none;
  }
  .p-top-section-collabo {
    background-image: url("../images/top/collabo-bg.svg");
    background-size: 105% auto;
    background-position: top 25.641025641vw center;
    background-repeat: no-repeat;
  }
}
@media screen and (min-width: 1000px){
  .p-top-deco-top::before {
    width: 10.9722222222vw;
    top: 64%;
    bottom: auto;
    transform: translateY(-50%);
  }
  .p-top-deco-top::after {
    width: 11.8055555556vw;
    bottom: -8.8888888889vw;
  }
}