@charset "UTF-8";
:root {
  --base-font-family: "Noto Sans JP",
    sans-serif;
  --second-font-family: "Roboto",
    sans-serif;
  --text: #000000;
  --black: #000000;
  --white: #ffffff;
  --theme: #43C66F;
  --accent: #c9a453;
  --accent-secondary: #e61e0a;
  --border-tertiary: #e2e2e2;
  --gray1: #E8E7E4;
  --gray2: #F1F1F1;
  --green: #06C755;
  --base: #F3F2EF;
}

html {
  scrollbar-gutter: stable;
  font-size: min(4.2666666667vw, 25.6px);
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000000;
  line-height: 1.5;
  letter-spacing: 0.02em;
  opacity: 0;
}

section {
  width: min(100%, 600px);
  margin-inline: auto;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: all;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  width: 100%;
  display: block;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
.l-inner {
  width: 100%;
  padding-inline: 1.25rem;
  width: min(100%, 600px);
  margin-inline: auto;
  container-type: inline-size;
}

.c-btn01 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  background-color: var(--theme);
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  transition: 0.3s ease-out;
}
.c-btn02 {
  width: min(100%, 22.0625rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  background-color: var(--theme);
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  transition: 0.3s ease-out;
}
.c-headline01 {
  color: #3D0E01;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -0.0156em;
  padding-bottom: 0.4375rem;
  position: relative;
}
.c-headline01::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: 0;
  background: var(--accent-secondary);
}

.c-headline01--small {
  font-size: 1.125rem;
}

.c-headline02 {
  color: var(--white);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0em;
  padding-bottom: 0.625rem;
  position: relative;
}
.c-headline02::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: 0;
  background: var(--white);
  border-radius: 100vh;
}

.c-headline02__small {
  font-size: 0.875rem;
  letter-spacing: -0.02em;
}

.c-step-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.c-step-header__num {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 2.5rem;
  aspect-ratio: 1;
  height: auto;
  background: var(--accent-secondary);
  border-radius: 100vh;
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--white);
  letter-spacing: -0.02em;
  line-height: 1.33;
}

.c-step-header__icon {
  flex-shrink: 0;
  width: 2.5rem;
  aspect-ratio: 1;
  height: auto;
  background: var(--accent-secondary);
  border-radius: 100vh;
  position: relative;
}
.c-step-header__icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.5rem;
  aspect-ratio: 1;
  height: auto;
  background: url(../img/icon_check_white01.svg) center center/contain no-repeat;
}

.c-step-header--green {
  margin-right: -0.3125rem;
}

.c-step-header--green .c-step-header__num,
.c-step-header--green .c-step-header__icon {
  background: #43C66F;
}

.c-step-header__title {
  display: block;
  font-size: 1.125rem;
  font-weight: 900;
  color: #3d0e01;
  line-height: 1.11;
  letter-spacing: 0em;
}

.c-step-header__title--wide {
  line-height: 1.22;
  letter-spacing: 0em;
}

.p-caution {
  background-color: #f9fafb;
  padding-block: 1.875rem;
}

.p-caution--invitation {
  padding-top: 1.25rem;
}

.p-caution__block {
  padding-block: 1.875rem;
}

.p-caution__headline {
  margin-top: 0;
}

.p-caution__list {
  margin-top: 1rem;
  padding: 0;
  list-style: none;
}

.p-caution__group {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.p-caution__group-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #3d0e01;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-caution__item {
  margin-top: 0.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.p-caution__item:first-child {
  margin-top: 0;
}
.p-caution__group .p-caution__item {
  margin-top: 0;
}

.p-caution__item-mark {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: -0.01em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
}

.p-caution__item-text {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: -0.01em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-faq {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%), linear-gradient(90deg, #f9fafb 0%, #f9fafb 100%);
  border-bottom: 0.1071875rem solid #e5e7eb;
  padding-block: 1.875rem 1.25rem;
}

.p-faq__headline {
  margin-top: 0;
}

.p-faq__list {
  margin-top: 0.75rem;
  display: flex;
  flex-direction: column;
}

.p-faq__item {
  overflow: hidden;
}
.p-faq__item + .p-faq__item {
  border-top: 1px solid #BCBCBC;
}

.p-faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 1.5rem 0;
  cursor: pointer;
  list-style: none;
}
.p-faq__trigger::-webkit-details-marker {
  display: none;
}
.p-faq__trigger::-moz-list-bullet {
  list-style-type: none;
}

.p-faq__trigger-text {
  margin: 0;
  font-size: 1rem;
  font-weight: 500;
  color: #3d0e01;
  letter-spacing: -0.01em;
  line-height: 1.25;
  font-family: "Noto Sans JP", sans-serif;
  flex: 1;
}

.p-faq__trigger-num {
  font-weight: 900;
  color: var(--theme);
}

.p-faq__trigger-icon {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  position: relative;
}

.p-faq__trigger-icon_line {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--accent-secondary);
  border-radius: 0.0625rem;
  transition: 0.3s ease;
}

.p-faq__trigger-icon_line_h {
  width: 0.75rem;
  height: 0.125rem;
  transform: translate(-50%, -50%);
}

.p-faq__trigger-icon_line_v {
  width: 0.125rem;
  height: 0.75rem;
  transform: translate(-50%, -50%);
}

.p-faq__item[open] .p-faq__trigger-icon_line_v {
  transform: translate(-50%, -50%) rotate(90deg);
  background: #3d0e01;
}

.p-faq__item[open] .p-faq__trigger-icon_line_h {
  background: #3d0e01;
}

.p-faq__content {
  overflow: hidden;
  padding-bottom: 1rem;
  margin-left: 3.25rem;
}

.p-faq__content-inner {
  background-color: #f2f2f2;
  padding: 1rem;
  border-radius: 0.25rem;
}

.p-faq__content-text {
  font-size: 0.75rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  margin: 0;
}
.p-faq__content-text + .p-faq__content-text {
  margin-top: 0.5rem;
}

.p-faq__content-list01 {
  margin-top: 1.25rem;
}

.p-faq__content-text_bold {
  font-weight: 700;
  margin-top: 1rem;
}
.p-faq__content-text_bold:first-child {
  margin-top: 0;
}

.p-faq__content-heading {
  margin: 0;
  margin-top: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}
.p-faq__content-heading:first-child {
  margin-top: 0;
}

.p-faq__content-desc {
  font-size: 0.75rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  padding-left: 0.9375rem;
  position: relative;
}
.p-faq__content-desc + .p-faq__content-desc {
  margin-top: 0.25rem;
}
.p-faq__content-desc::before {
  display: inline-block;
  position: absolute;
  content: "";
  width: 0.1875rem;
  aspect-ratio: 1;
  height: auto;
  border-radius: 100vh;
  left: 0.3125rem;
  top: 0.5rem;
  background: var(--text);
}

.p-faq__content-desc01 {
  padding-left: 0;
}
.p-faq__content-desc01::before {
  display: none;
}

.p-faq__content-list {
  margin-top: 0.5rem;
}

.p-faq__content-list-item {
  font-size: 0.75rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  position: relative;
  padding-left: 0.9375rem;
}
.p-faq__content-list-item + .p-faq__content-list-item {
  margin-top: 0.25rem;
}
.p-faq__content-list-item::before {
  position: absolute;
  content: "";
  width: 0.1875rem;
  aspect-ratio: 1;
  height: auto;
  left: 0.3125rem;
  top: 0.5rem;
  background: #3D0E01;
  border-radius: 100vh;
}

.p-faq__content-list-note {
  font-size: 0.625rem;
}

.p-faq__content-list-text {
  font-weight: 400;
}

.p-follow-btn01 {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 1.2125rem 0.6875rem 1.78125rem;
  background: var(--white);
  z-index: 100;
  width: min(100%, 600px);
}

.p-follow-btn01-wrap {
  display: flex;
  justify-content: center;
  width: min(100%, 600px);
  margin-inline: auto;
}

.p-follow-btn01__links {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
}

.p-follow-btn01__link {
  color: #3D0E01;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.33;
  text-decoration-line: underline;
  text-underline-offset: 0.125rem;
  transition: 0.3s ease-out;
}
.p-follow-btn01__link:first-of-type {
  padding-right: 0.9375rem;
}
.p-follow-btn01__link:nth-of-type(2) {
  padding-left: 0.9375rem;
  position: relative;
}
.p-follow-btn01__link:nth-of-type(2)::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 0.875rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: #3D0E01;
}
.p-footer {
  padding-block: 0.453125rem 0.484375rem;
  background: #3D0E01;
  margin-bottom: 7.9375rem;
  width: min(100%, 600px);
  margin-inline: auto;
}

.p-footer__copyright {
  color: var(--white);
  font-size: 0.7925625rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}

/* drawer */
body.is-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* オーバーレイ（常に非表示） */
.p-drawer-overlay {
  display: none;
}

nav.p-globalmenusp {
  display: none;
}

/* g-sub-set: JSで付与し、表示を制御（ちらつき対策） */
nav.p-globalmenusp.g-sub-set {
  display: block;
  position: fixed;
  z-index: 1500;
  top: 0;
  left: auto;
  right: max(0px, 50% - 300px);
  transform: translateX(100vw);
  transition: all 0.4s ease-out;
  width: min(100%, 600px);
  height: 100dvh;
  overflow-y: scroll;
  background-color: #ffffff;
}

/* このクラスを、jQueryで付与・削除する */
nav.p-globalmenusp.g-sub-set.is-open {
  transform: translateX(0%);
}

/* コンテナ */
nav.p-globalmenusp.g-sub-set .p-globalmenusp__container {
  width: 20.9375rem;
  margin: 0 auto;
  padding: 2.125rem 0 3.966875rem;
}

.p-globalmenusp__close {
  display: block;
  width: 1.875rem;
  aspect-ratio: 1;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
  padding: 0;
}
.p-globalmenusp__close img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* ロゴ */
nav.p-globalmenusp.g-sub-set .p-globalmenusp__logo {
  display: block;
  width: 7.3684375rem;
  margin-top: 0.25rem;
}
nav.p-globalmenusp.g-sub-set .p-globalmenusp__logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 117.895/32;
  -o-object-fit: contain;
     object-fit: contain;
}

/* インナー */
nav.p-globalmenusp.g-sub-set .p-globalmenusp__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

/* ナビゲーション */
.p-globalmenusp__nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.125rem;
  width: 100%;
}

.p-globalmenusp__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
}
.p-globalmenusp__item .p-globalmenusp__trigger-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: normal;
  color: #3d0e01;
  text-decoration: none;
  display: block;
  width: 100%;
}

.p-globalmenusp__accordion-wrap {
  width: 100%;
}

.p-globalmenusp__item--accordion {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.p-globalmenusp__item--accordion .p-globalmenusp__trigger-text {
  width: auto;
  flex: 1;
}

.p-globalmenusp__chevron {
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  margin: -0.3125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.p-globalmenusp__chevron svg {
  transition: transform 0.3s ease;
}
.p-globalmenusp__chevron.is-open svg {
  transform: rotate(180deg);
}

.p-globalmenusp__separator {
  width: 100%;
  height: 1px;
  background-color: #c6c6c6;
}

.p-globalmenusp__subitems {
  overflow: hidden;
  width: 100%;
  padding-left: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}
.p-globalmenusp__subitems.is-open {
  max-height: 9.375rem;
  opacity: 1;
  padding-top: 0.625rem;
}

.p-globalmenusp__subitem {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: normal;
  display: block;
}

/* ビジネスカード + 会社リンク */
.p-globalmenusp__business {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.p-globalmenusp__business-cards {
  display: flex;
  gap: 0.75rem;
  width: 100%;
}

.p-globalmenusp__business-card {
  flex: 1;
  min-width: 0;
  border: 2px solid var(--border-tertiary);
  border-radius: 0.25rem;
  background-color: #ffffff;
  padding: 0.5rem 0.5rem 0.625rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}

.p-globalmenusp__business-card-ext {
  position: absolute;
  top: 0.5625rem;
  right: 0.53125rem;
  width: 1rem;
  height: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-globalmenusp__business-card-img {
  width: 4.5rem;
  height: 4.5rem;
  flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-globalmenusp__business-card-text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #3d0e01;
  text-align: center;
}

.p-globalmenusp__corp-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 0.75rem;
  width: 100%;
}

.p-globalmenusp__corp-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  width: 9.5rem;
  padding-block: 0.460375rem;
  text-decoration: none;
}
.p-globalmenusp__corp-link img {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
}
.p-globalmenusp__corp-link span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.2;
  color: #3d0e01;
  white-space: nowrap;
}

/* お問い合わせ */
.p-globalmenusp__contact {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  width: 100%;
}

.p-globalmenusp__contact-link {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 0.7925625rem;
  line-height: 1.8;
  color: var(--semantictokens-text-secondary, #919191);
  text-decoration: none;
}

/* SNS */
.p-globalmenusp__social {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2.25rem;
}

.p-globalmenusp__social-link {
  display: flex;
}

.p-globalmenusp__social-img {
  width: 1.19675rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* ハンバーガーメニュー */
.p-hamburger {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.125rem;
  height: 3.125rem;
  padding: 0.90625rem 0.625rem;
  border: none;
  border-radius: 100vh;
  background: var(--white);
  box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
  cursor: pointer;
  top: 0.0625rem;
  right: 0.625rem;
  z-index: 10000;
}

.p-hamburger__line {
  border-radius: 100vh;
  background: var(--accent-secondary);
  transition: 0.3s ease-out;
  width: 1.875rem;
  height: 0.1875rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.p-hamburger__line:nth-of-type(1) {
  top: 1rem;
}
.p-hamburger__line:nth-of-type(2) {
  top: 1.53125rem;
}
.p-hamburger__line:nth-of-type(3) {
  top: 2.0625rem;
}

/* p-header */
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  width: 100%;
  background: var(--white);
}

.p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0.875rem;
  margin-inline: auto;
  position: relative;
  width: min(100%, 600px);
}

.p-header__logo {
  display: block;
  width: min(100%, 4.5rem);
}
.p-header__logo img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}

.p-invitation-bonus {
  padding-block: 3rem 1.625rem;
}

.p-invitation-bonus__campaign {
  margin-top: 1rem;
}

.p-invitation-bonus__campaign {
  width: 100%;
}
.p-invitation-bonus__campaign img {
  aspect-ratio: 335/156;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-invitation-bonus__desc {
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: 1.4;
  font-feature-settings: "palt";
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  position: relative;
}
.p-invitation-bonus__desc::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  top: 0;
  background-image: radial-gradient(circle, var(--accent-secondary) 1.5px, transparent 1.5px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 0.375rem 0.1875rem;
}

.p-invitation-bonus__desc-strong {
  font-weight: 900;
}

.p-invitation-bonus__desc-num {
  font-size: 1rem;
}

.p-invitation-bonus__cards {
  display: flex;
  gap: 0.25rem;
  margin-top: 1.25rem;
}

.p-invitation-bonus__card {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1rem 0.75rem 0.875rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
}

.p-invitation-bonus__card--you {
  border: 0.125rem solid #e61e0a;
  box-shadow: 0 0.25rem 0 0 #e61e0a;
}

.p-invitation-bonus__card--friend {
  border: 0.125rem solid #43C66F;
  box-shadow: 0 0.25rem 0 0 #57cb78;
}

.p-invitation-bonus__coupon {
  display: flex;
  align-items: center;
  border-radius: 0.625rem;
  height: 4rem;
  overflow: hidden;
}

.p-invitation-bonus__coupon--red,
.p-invitation-bonus__coupon--green {
  flex-direction: column;
  height: auto;
  background-color: transparent;
  overflow: visible;
  border-radius: 0;
}

.p-invitation-bonus__coupon--red .p-invitation-bonus__coupon-body,
.p-invitation-bonus__coupon--green .p-invitation-bonus__coupon-body {
  flex: none;
  height: auto;
  align-items: flex-start;
  justify-content: flex-start;
  border: none;
  gap: 0;
  padding: 0;
}

.p-invitation-bonus__coupon-img {
  width: 100%;
  display: block;
}
.p-invitation-bonus__coupon-img img {
  aspect-ratio: 287/144;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: auto;
  display: block;
}

.p-invitation-bonus__coupon-side {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 0.5625rem;
  font-weight: 700;
  color: #ffffff;
  padding-inline: 0.25rem;
  flex-shrink: 0;
  line-height: 1;
}

.p-invitation-bonus__coupon-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  height: 100%;
  border-left: 1px dashed rgba(255, 255, 255, 0.4);
  border-right: 1px dashed rgba(255, 255, 255, 0.4);
}

.p-invitation-bonus__coupon-num {
  font-size: 1.75rem;
  font-weight: 900;
  color: #ffe401;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: -0.05em;
}

.p-invitation-bonus__coupon-text {
  font-size: 0.625rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.1em;
}

.p-invitation-bonus__card-info {
  display: flex;
  flex-direction: column;
}

.p-invitation-bonus__card-amount {
  font-size: 0.75rem;
  font-weight: 700;
  color: #480c0c;
  line-height: 1.75rem;
}

.p-invitation-bonus__card-amount-num {
  font-size: 1.5rem;
  font-weight: 900;
}

.p-invitation-bonus__card-amount-num--red {
  color: #e61e0a;
}

.p-invitation-bonus__card-amount-num--green {
  color: #43C66F;
}

.p-invitation-bonus__card-amount-unit--red {
  color: #e61e0a;
}

.p-invitation-bonus__card-amount-unit--green {
  color: #43C66F;
}

.p-invitation-bonus__card-detail {
  font-size: 0.625rem;
  color: #3d0e01;
  line-height: 1.6;
  letter-spacing: -0.05em;
  margin-top: -0.1875rem;
}

.p-invitation-bonus__note {
  margin-top: 1.125rem;
  font-size: 0.75rem;
  letter-spacing: -0.05em;
  color: #3d0e01;
}

.p-invitation-fv {
  background-color: #e61e0a;
  padding-block: 1.75rem 1.25rem;
  margin-top: 3.4375rem;
}

.p-invitation-fv__catch {
  background-color: #ffffff;
  border: 0.1875rem solid #ffe401;
  border-radius: 0.625rem;
  padding: 0.3125rem;
}

.p-invitation-fv__catch-text {
  font-size: 0.875rem;
  font-weight: 700;
  color: #e61e0a;
  white-space: nowrap;
  font-feature-settings: "palt";
  line-height: 1.67;
  letter-spacing: -0.0125em;
  text-align: center;
}

.p-invitation-fv__catch-text--dark {
  color: #3d0e01;
}

.p-invitation-fv__title {
  font-size: 1.5rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.25;
  font-feature-settings: "palt";
  margin-top: 0.5rem;
}

.p-invitation-fv__title-official {
  font-size: 1.125rem;
  display: block;
}

.p-invitation-method__nav {
  background-color: #fff6f0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding-block: 2.75rem;
  position: relative;
}

.p-invitation-method__nav-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.p-invitation-method__nav-title {
  color: #3d0e01;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.013em;
  font-weight: 900;
}

.p-invitation-method__nav-sub {
  color: #3d0e01;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.0143em;
}

.p-invitation-method__nav-btns {
  display: flex;
  gap: 0.75rem;
  width: 100%;
  margin-top: 1rem;
  position: relative;
}
.p-invitation-method__nav-btns::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.375rem;
  left: 0;
  bottom: -2.5625rem;
  background-image: radial-gradient(circle, var(--accent-secondary) 0.1875rem, transparent 0.1875rem);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 0.75rem 0.375rem;
}

.p-invitation-method__nav-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.96875rem 0.390625rem 0.34375rem;
  flex: 1;
  background-color: #ffffff;
  border-radius: 0.625rem;
  text-decoration: none;
  position: relative;
}

.p-invitation-method__nav-btn--red {
  border: 0.25rem solid #e61e0a;
  box-shadow: 0 0.25rem 0 0 #AB2626;
}

.p-invitation-method__nav-btn--green {
  border: 0.25rem solid #43C66F;
  box-shadow: 0 0.25rem 0 0 #339353;
}

.p-invitation-method__nav-btn-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 0.125rem;
}

.p-invitation-method__nav-btn-text {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.02232em;
  text-align: center;
}

.p-invitation-method__nav-btn-text--big {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.017em;
}

.p-invitation-method__nav-btn-text--small {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.026em;
  display: block;
}

.p-invitation-method__nav-btn--red .p-invitation-method__nav-btn-text {
  color: #e61e0a;
  display: block;
}

.p-invitation-method__nav-btn--green .p-invitation-method__nav-btn-text {
  color: #43C66F;
}

.p-invitation-method__nav-btn-icon {
  display: block;
  width: 1.5rem;
  aspect-ratio: 1;
  height: auto;
  margin-top: -0.25rem;
  flex-shrink: 0;
}
.p-invitation-method__nav-btn-icon svg {
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  height: auto;
}

.p-invitation-method__send {
  background-color: #fff6f0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-block: 1.5rem;
  position: relative;
}
.p-invitation-method__send::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1.25rem;
  left: 0;
  bottom: -1.25rem;
  background: url(../img/invitation-method__send_bg.svg) center center/100% 100% no-repeat;
  z-index: 1;
}

.p-invitation-method__send-head {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-invitation-method__send-title {
  font-size: 1.25rem;
  font-weight: 900;
  color: #e61e0a;
  line-height: 1.2;
  padding-bottom: 0.625rem;
  position: relative;
}
.p-invitation-method__send-title::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: 0;
  background: var(--accent-secondary);
}

.p-invitation-method__send-lead {
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: 1.4;
  margin-top: 1.5rem;
  font-weight: 400;
}

.p-invitation-method__send-steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.p-invitation-method__send-card {
  background: #ffffff;
  border: 0.125rem solid #e61e0a;
  border-radius: 0.625rem;
  box-shadow: 0 0.25rem 0 0 #e61e0a, 0 0.4375rem 0.5rem 0 rgba(226, 123, 49, 0.18);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

.p-invitation-method__send-card--top {
  border-radius: 0.625rem 0.625rem 0 0;
  box-shadow: none;
  border: 2px solid var(--accent-secondary);
  background: var(--white);
  box-shadow: 0 -0.298125rem 0.703125rem 0 rgba(255, 241, 199, 0.25) inset, 0 0.0625rem 0.1875rem 0 rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem -0.0625rem rgba(0, 0, 0, 0.1);
}

.p-invitation-method__send-card-img {
  overflow: hidden;
  margin-inline: auto;
}
.p-invitation-method__send-card-img img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-invitation-method__send-card-img01 {
  width: min(100%, 15.5rem);
}
.p-invitation-method__send-card-img01 img {
  aspect-ratio: 248/142;
}

.p-invitation-method__send-card-img02 {
  width: min(100%, 7.39625rem);
}
.p-invitation-method__send-card-img02 img {
  aspect-ratio: 118.34/104;
}

.p-invitation-method__send-card-desc {
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: 1.4;
  width: 100%;
  letter-spacing: 0em;
}

.p-invitation-method__send-arrow {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.5rem;
  margin-top: 0.3125rem;
}
.p-invitation-method__send-arrow svg {
  width: 100%;
  display: grid;
  aspect-ratio: 30/20;
  height: auto;
}

.p-invitation-method__send-card-wrap {
  width: 100%;
  border-radius: 0.625rem;
  box-shadow: 0 0.25rem 0.5rem 0 rgba(226, 123, 49, 0.18), 0 0.25rem 0 0 #e61e0a;
}

.p-invitation-method__send-timing {
  background: #e61e0a;
  border-radius: 0 0 0.625rem 0.625rem;
  padding: 0.75rem 1.125rem 1.125rem;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  box-shadow: 0 0.0625rem 0.1875rem 0 rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem -0.0625rem rgba(0, 0, 0, 0.1);
}

.p-invitation-method__send-timing-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: -moz-fit-content;
  width: fit-content;
}

.p-invitation-method__send-timing-label {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  padding-bottom: 0.625rem;
  position: relative;
}
.p-invitation-method__send-timing-label::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: 0;
  background-image: radial-gradient(circle, var(--white) 0.09375rem, transparent 0.09375rem);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 0.375rem 0.1875rem;
}

.p-invitation-method__send-timing-icon {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}

.p-invitation-method__send-timing-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.1111111111;
  letter-spacing: -0.00836em;
  white-space: nowrap;
}

.p-invitation-method__send-timing-text {
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.4;
  letter-spacing: 0em;
}

.p-invitation-method__send-timing-note {
  font-size: 0.75rem;
}

.p-invitation-method__send-caution {
  border: 0.25rem solid #ffe100;
  border-radius: 0.625rem;
  background: rgba(255, 225, 0, 0.12);
  padding: 0.875rem 0.75rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
  background: linear-gradient(0deg, rgba(255, 225, 0, 0.12) 0%, rgba(255, 225, 0, 0.12) 100%), #FFF;
}

.p-invitation-method__send-caution-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 0.75rem;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-invitation-method__send-caution-head::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: 0;
  background-image: radial-gradient(circle, var(--accent-secondary) 0.09375rem, transparent 0.09375rem);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 0.375rem 0.1875rem;
}

.p-invitation-method__send-caution-icon {
  display: block;
  width: 1.8125rem;
}
.p-invitation-method__send-caution-icon img {
  aspect-ratio: 29/40.6;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-invitation-method__send-caution-title {
  font-size: 1rem;
  font-weight: 700;
  color: #e61e0a;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0em;
}

.p-invitation-method__send-caution-lead {
  font-size: 0.75rem;
  color: #3d0e01;
  line-height: 1.4;
  letter-spacing: -0.0125em;
}

.p-invitation-method__send-caution-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 0;
  list-style: none;
  counter-reset: caution-counter;
}

.p-invitation-method__send-caution-item {
  display: flex;
  font-size: 0.75rem;
  gap: 0.0625rem;
  color: #3d0e01;
  line-height: 1.4;
  letter-spacing: -0.0125em;
  counter-increment: caution-counter;
}
.p-invitation-method__send-caution-item::before {
  content: counter(caution-counter) ".";
  font-weight: 700;
  flex-shrink: 0;
}

.p-invitation-method__receive {
  background: #F0FFF1;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding-block: 2.125rem 1.5rem;
  position: relative;
}
.p-invitation-method__receive::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1.25rem;
  left: 0;
  bottom: -1.25rem;
  background: url(../img/invitation-method__receive_bg.svg) center center/100% 100% no-repeat;
}

.p-invitation-method__receive-head {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.p-invitation-method__receive-title {
  font-size: 1.25rem;
  font-weight: 900;
  color: #43C66F;
  line-height: 1.2;
  padding-bottom: 0.625rem;
  position: relative;
}
.p-invitation-method__receive-title::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: 0;
  background: var(--theme);
}

.p-invitation-method__receive-lead {
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: 1.5;
  margin-top: 1.5rem;
  font-weight: 400;
}

.p-invitation-method__receive-steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 1.5rem;
}

.p-invitation-method__receive-card {
  background: #ffffff;
  border: 0.125rem solid #43C66F;
  border-radius: 0.625rem;
  box-shadow: 0 0.1875rem 0.5rem -0.0625rem rgba(49, 226, 108, 0.18), 0 0.25rem 0 0 rgb(67, 198, 111);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
}

.p-invitation-method__receive-card-img {
  overflow: hidden;
  margin-inline: auto;
}
.p-invitation-method__receive-card-img img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-invitation-method__receive-card-img01 {
  width: min(100%, 5.625rem);
}
.p-invitation-method__receive-card-img01 img {
  aspect-ratio: 1;
  border-radius: 1.375rem;
}

.p-invitation-method__receive-card-img02 {
  width: min(100%, 15.5rem);
}
.p-invitation-method__receive-card-img02 img {
  aspect-ratio: 248/155;
  border-radius: 0.625rem;
}

.p-invitation-method__receive-card-desc {
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: 1.5;
  width: 100%;
  letter-spacing: 0em;
  font-weight: 400;
  font-feature-settings: "palt";
}

.p-invitation-method__receive-arrow {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.5rem;
  margin-top: 0.75rem;
  margin-bottom: 0.1875rem;
}
.p-invitation-method__receive-arrow svg {
  width: 100%;
  display: grid;
  aspect-ratio: 30/20;
  height: auto;
}

.p-invitation-method__send-caution-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #e61e0a;
  line-height: 1.4285714286;
  letter-spacing: -0.0107em;
  text-decoration: none;
  transition: 0.3s ease-out;
}
.p-invitation-method__send-caution-link::after {
  content: "";
  width: 1rem;
  height: auto;
  aspect-ratio: 1;
  background: url(../img/icon_down_red01.svg) center center/contain no-repeat;
}
.p-invitation-timing {
  background-color: #ffe2ca;
  padding-block: 1.625rem 1.5rem;
}

.p-invitation-timing__head {
  margin-bottom: 0.625rem;
}

.p-invitation-timing__cards {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-invitation-timing__card {
  background-color: #ffffff;
  border-radius: 0.625rem;
  padding: 1.125rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-invitation-timing__card--red {
  border: 0.125rem solid #e61e0a;
  box-shadow: 0 0.25rem 0 0 #e61e0a, 0 0.4375rem 0.5rem 0 rgba(226, 123, 49, 0.18);
}

.p-invitation-timing__card--green {
  border: 0.125rem solid #43C66F;
  box-shadow: 0 0.25rem 0 0 #57cb78, 0 0.4375rem 0.5rem 0 rgba(226, 123, 49, 0.18);
}

.p-invitation-timing__card-head {
  display: flex;
  align-items: center;
  gap: 0.125rem;
}

.p-invitation-timing__card-icon {
  width: 1.5rem;
  flex-shrink: 0;
}
.p-invitation-timing__card-icon img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.p-invitation-timing__card-icon--smaile {
  width: 1.25rem;
  margin-inline: 0.1875rem;
}
.p-invitation-timing__card-icon--smaile img {
  aspect-ratio: 20/24;
}

.p-invitation-timing__card-name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.1111111111;
  letter-spacing: -0.00836em;
  white-space: nowrap;
}

.p-invitation-timing__card-name--red {
  color: #e61e0a;
}

.p-invitation-timing__card-name--green {
  color: #43C66F;
}

.p-invitation-timing__card-text {
  font-size: 0.875rem;
  color: #3d0e01;
  line-height: 1.4;
}

.p-invitation-wrap01 {
  background: url(../img/bg-invitation-wrap01_bg.png) center center/100% 100% no-repeat;
  padding-bottom: 1.5625rem;
  width: min(100%, 600px);
  margin-inline: auto;
}

.p-scratch-about {
  padding-block: 1.75rem 2.5rem;
}

.p-scratch-about__headline {
  margin-top: 1.875rem;
}

.p-scratch-about__card {
  margin-top: 0.625rem;
}

.p-scratch-about__card-inner {
  position: relative;
  background-color: var(--white);
  padding: 1rem 0.75rem;
  border-radius: 0.625rem;
  box-shadow: 0 0.1875rem 0.5rem rgba(226, 123, 49, 0.18);
}

.p-scratch-about__card-text {
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--accent-secondary);
  letter-spacing: -0.022em;
  line-height: 1.33;
}

.p-scratch-about__card-badge {
  position: absolute;
  width: 26.8656716418%;
  right: 0.5625rem;
  top: 50%;
  transform: translateY(-50%);
}
.p-scratch-about__card-badge img {
  aspect-ratio: 82.6/46;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-scratch-about__desc {
  margin-top: 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #3d0e01;
  line-height: 1.4;
}

.p-scratch-about__desc_bold {
  font-weight: 700;
}

.p-scratch-bonus {
  padding-block: 1.75rem 2.5rem;
}

.p-scratch-bonus__card {
  margin-top: 1rem;
}

.p-scratch-bonus__card-inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  background-color: var(--white);
  padding: 1rem 1rem 0.875rem;
  border-radius: 0.625rem;
  box-shadow: 0 0.1875rem 0.5rem rgba(226, 123, 49, 0.18);
}

.p-scratch-bonus__card-text-block {
  text-align: center;
}

.p-scratch-bonus__card-lead {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
}

.p-scratch-bonus__card-title {
  display: block;
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--accent-secondary);
  line-height: 1.17;
}

.p-scratch-bonus__card-visual {
  width: min(100%, 15.625rem);
}
.p-scratch-bonus__card-visual img {
  aspect-ratio: 217/101;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-scratch-bonus__note {
  margin-top: 0.5rem;
  background-color: #f9fafb;
  border-left: 0.21875rem solid var(--accent-secondary);
  border-radius: 0.25rem;
  padding: 0.75rem 1rem;
}

.p-scratch-bonus__note-text {
  font-size: 0.75rem;
  font-weight: 400;
  color: #7b7b7b;
  letter-spacing: 0;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-scratch-caution {
  background-color: #f9fafb;
  padding-block: 1.875rem;
}

.p-scratch-caution__headline {
  margin-top: 0;
}

.p-scratch-caution__list {
  margin-top: 1rem;
  padding: 0;
  list-style: none;
}

.p-scratch-caution__item {
  margin-top: 0.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
.p-scratch-caution__item:first-child {
  margin-top: 0;
}

.p-scratch-caution__item-mark {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: -0.01em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
}

.p-scratch-caution__item-text {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: -0.01em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-scratch-fv {
  background-color: #e61e0a;
  padding-block: 1.75rem 1.25rem;
  margin-top: 3.4375rem;
}

.p-scratch-fv__caption {
  font-size: 1.125rem;
  font-weight: 900;
  color: var(--white);
  line-height: 1.67;
}

.p-scratch-fv__title {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--white);
  padding-right: 0.625rem;
}

.p-scratch-fv__title_official {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--white);
  font-family: var(--base-font-family);
}

.p-scratch-intro {
  padding-block: 1rem 1.75rem;
  width: min(100%, 600px);
  margin-inline: auto;
  background-color: #FFF6F0;
}

.p-scratch-intro__lead {
  color: #3D0E01;
  font-feature-settings: "palt" on;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.028em;
  position: relative;
}
.p-scratch-intro__lead::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.1875rem;
  left: 0;
  bottom: -0.75rem;
  background-image: radial-gradient(circle, var(--accent-secondary) 0.09375rem, transparent 0.09375rem);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 0.375rem 0.1875rem;
}

.p-scratch-place {
  background-color: #fff6f0;
  border-bottom: 0.1071875rem solid #e5e7eb;
  padding-block: 1.875rem 2.125rem;
}

.p-scratch-place__headline {
  margin-top: 0;
}

.p-scratch-place__area-card {
  margin-top: 1rem;
  background-color: var(--white);
  padding: 1rem 0.75rem;
  border-radius: 0.625rem;
  box-shadow: 0 0.1875rem 0.5rem rgba(226, 123, 49, 0.18);
}

.p-scratch-place__area-text {
  font-size: 1.125rem;
  font-weight: 400;
  color: #3d0e01;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0em;
}

.p-scratch-place__area-text_bold {
  font-weight: 900;
}

.p-scratch-place__area-link {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  margin-top: 0.625rem;
}

.p-scratch-place__area-link-text {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--accent-secondary);
  line-height: 1.67;
  font-family: "Noto Sans JP", sans-serif;
}

.p-scratch-place__area-link-icon {
  width: 1rem;
}
.p-scratch-place__area-link-icon img {
  aspect-ratio: 1;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-scratch-place__menu-block {
  margin-top: 1.625rem;
}

.p-scratch-place__menu-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.p-scratch-place__menu-text-block {
  width: min(100%, 12.3125rem);
}

.p-scratch-place__menu-title {
  font-size: 1.125rem;
  font-weight: 900;
  color: #3d0e01;
  letter-spacing: -0.008em;
  line-height: 1.11;
}

.p-scratch-place__menu-desc {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-scratch-place__menu-visual {
  width: min(100%, 7.5rem);
}
.p-scratch-place__menu-visual img {
  aspect-ratio: 109/116;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-scratch-place__menu-visual-inner {
  position: relative;
  display: block;
  width: 7.25rem;
  height: 7.25rem;
}

.p-scratch-place__menu-visual-inner img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: none;
  height: auto;
  width: auto;
}

.p-scratch-place__menu-visual-inner img:first-child {
  transform: translate(calc(-50% - 8px), -50%);
}

.p-scratch-place__menu-visual-inner img:last-child {
  transform: translate(calc(-50% + 8px), -50%);
}

.p-scratch-place__menu-btn {
  margin-top: 1.375rem;
}

.p-scratch-rules {
  background-color: #fff6f0;
  padding-block: 1.875rem 2.125rem;
}

.p-scratch-rules__headline {
  margin-top: 0;
}

.p-scratch-rules__content {
  margin-top: 1rem;
}

.p-scratch-rules__block {
  margin-top: 1.5rem;
}
.p-scratch-rules__block:first-child {
  margin-top: 0;
}

.p-scratch-rules__block-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.25;
  font-family: "Noto Sans JP", sans-serif;
}

.p-scratch-rules__block-title_sub {
  margin-left: 0.25rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.25;
  font-family: "Noto Sans JP", sans-serif;
}

.p-scratch-rules__card-list {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.5rem;
  align-items: stretch;
}

.p-scratch-rules__card-wrap {
  margin-top: 0.5rem;
}

.p-scratch-rules__card01 {
  width: 34.6268656716%;
}

.p-scratch-rules__card02 {
  width: 62.9850746269%;
}

.p-scratch-rules__card_code {
  margin-top: 0.5rem;
}

.p-scratch-rules__card-inner {
  background-color: var(--white);
  border-radius: 0.625rem;
  box-shadow: 0 0.1875rem 0.5rem rgba(226, 123, 49, 0.18);
  padding: 0.875rem 0.75rem 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.p-scratch-rules__card-title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
}

.p-scratch-rules__card-title--left {
  text-align: left;
}

.p-scratch-rules__card-visual img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: auto;
}

.p-scratch-rules__card-visual01 {
  width: min(100%, 4.2375rem);
}
.p-scratch-rules__card-visual01 img {
  aspect-ratio: 67.8/92;
}

.p-scratch-rules__card-visual02 {
  width: min(100%, 11.3125rem);
}
.p-scratch-rules__card-visual02 img {
  aspect-ratio: 181/92;
}

.p-scratch-rules__card-visual03 {
  width: min(100%, 17.29375rem);
}
.p-scratch-rules__card-visual03 img {
  aspect-ratio: 276.7/120;
}

.p-scratch-rules__card-desc {
  margin-top: 0.5rem;
  font-size: 0.625rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: 0;
  line-height: 1.2;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}

.p-scratch-rules__note {
  margin-top: 1.5rem;
  background-color: #f9fafb;
  border-left: 0.21875rem solid var(--accent-secondary);
  border-radius: 0.25rem;
  padding: 0.75rem 1rem;
}

.p-scratch-rules__note-text {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 400;
  color: #7b7b7b;
  letter-spacing: 0;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-scratch-rules__note-text + .p-scratch-rules__note-text {
  margin-top: 0.5rem;
}

.p-scratch-rules__btn {
  margin-top: 2.125rem;
}

.p-scratch-rules__btn-text {
  color: #3D0E01;
  font-family: var(--base-font-family);
  font-size: 0.75rem;
  letter-spacing: 0;
  font-weight: 700;
  text-align: center;
}

.p-scratch-rules__btn-wrap {
  margin-top: 0.375rem;
}

.p-scratch-steps {
  background-color: #fff6f0;
  border-bottom: 0.1071875rem solid #e5e7eb;
  padding-block: 1.875rem 2.125rem;
  background: url(../img/scratch-step_bg01.png) center center/contain repeat-y;
}

.p-scratch-steps__headline {
  margin-top: 0;
}

.p-scratch-steps__list {
  margin-top: 1rem;
}

.p-scratch-steps__item {
  background-color: var(--white);
  border-radius: 0.625rem;
  box-shadow: 0 -4.77px 11.25px 0 rgba(255, 241, 199, 0.25) inset, 0 0.25rem 0.25rem 0 rgba(173, 38, 12, 0.6), 0 0.25rem 0.5rem -0.0625rem #AD260C;
  padding: 0.875rem 0.875rem 1rem;
  border: 0.25rem solid #E61E0A;
}

.p-scratch-steps__item-visual {
  margin-top: 0.75rem;
  margin-inline: auto;
}
.p-scratch-steps__item-visual img {
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-scratch-steps__item-visual01 {
  width: min(100%, 15.5rem);
}
.p-scratch-steps__item-visual01 img {
  aspect-ratio: 248/128;
}

.p-scratch-steps__item-visual02 {
  width: min(100%, 6.25rem);
}
.p-scratch-steps__item-visual02 img {
  aspect-ratio: 1;
}

.p-scratch-steps__item-visual03 {
  width: min(100%, 16.25rem);
}
.p-scratch-steps__item-visual03 img {
  aspect-ratio: 247/155;
}

.p-scratch-steps__item-desc {
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: #3d0e01;
  letter-spacing: -0.01em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  max-width: 15rem;
}

.p-scratch-steps__btn {
  margin-top: 0.75rem;
}

.p-scratch-steps__arrow {
  display: flex;
  justify-content: center;
  width: 2.25rem;
  margin-inline: auto;
  margin-top: 0.625rem;
}
.p-scratch-steps__arrow svg {
  display: grid;
  aspect-ratio: 38/28;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
  width: 100%;
}

.p-scratch-steps__note {
  border-radius: 0.625rem;
  border: 0.25rem solid #FFE100;
  background: linear-gradient(0deg, rgba(255, 225, 0, 0.12) 0%, rgba(255, 225, 0, 0.12) 100%), #ffffff;
  padding: 0.5rem 0.75rem;
  margin-top: 1rem;
}

.p-scratch-steps__note__container {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.p-scratch-steps__note-text {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--accent-secondary);
  letter-spacing: -0.01em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
}

.p-scratch-steps__note-icon {
  width: 1.8125rem;
  flex-shrink: 0;
  aspect-ratio: 29/41;
  height: auto;
  background: url(../img/icon_caution01.svg) center center/contain no-repeat;
}

.p-scratch-wrap01 {
  background: url(../img/bg-scratch-wrap01.png) center center/100% 100% no-repeat;
  width: min(100%, 600px);
  margin-inline: auto;
}

.u-pc {
  display: none;
}

.u-sp {
  display: block;
}

@media (any-hover: hover){
  .c-btn01:hover {
    opacity: 0.7;
  }
  .c-btn02:hover {
    opacity: 0.7;
  }
  .p-follow-btn01__link:hover {
    opacity: 0.7;
  }
  .p-invitation-method__send-caution-link:hover {
    opacity: 0.7;
  }
}

@media (prefers-reduced-motion: reduce){
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
