.w-20 {width: 20%;margin: 0 auto;}
.w-30 {width: 30%;margin: 0 auto;}
.w-50 {width: 50%;margin: 0 auto;}
.w-70 {width: 70%;margin: 0 auto;}
.w-90 {width: 90%;margin: 0 auto;}
.w-100 {width: 90%;margin: 0 auto;display: block;}



.sholder {width: 50%;margin: 0 auto;}
.logo {width: 30%;margin: 0 auto;}

@media (max-width: 600px) {
.sholder {width: 70%;margin: 0 auto;}
.logo {width: 50%;margin: 0 auto;}
	}




span.marker {
    background: linear-gradient(transparent 70%, #FFDA73 50%);
}

.br-sp {
    display: none;
}

@media (max-width: 600px) {
    .br-sp {
        display: block;
    }
}


.nfc-box {
  background-color: #e4ddd7;        /* 背景のグレーベージュ系 */
  border-radius: 10px;              /* 角丸 */
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 680px;                 /* 必要なら調整 */
  margin: 0 auto;                   /* 中央寄せしたい場合 */
  box-sizing: border-box;
}

.nfc-box__text {
  flex: 1;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}

.nfc-box__note {
  font-size: 12px;
  margin-top: 8px;
}

.nfc-box__media {
  flex-shrink: 0;
  text-align: center;
}

.nfc-box__media img {
  display: block;
  width: 240px;      /* 画像の実サイズに合わせて調整 */
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.nfc-box__caption {
  font-size: 11px;
  margin-top: 4px;
  color: #555;
}

/* スマホ用（縦積み） */
@media (max-width: 640px) {
  .nfc-box {
    flex-direction: column;
    align-items: flex-start;
  }

  .nfc-box__media {
    width: 100%;
    text-align: right;  /* PCと同じく右寄せにしたい場合 */
  }

  .nfc-box__media img {
    margin-left: auto;
  }
}

    :root {
      --base-bg: #f5f3f1;
      --section-bg: #e9e3df;
      --text-main: #3a3a3a;
      --accent: #83786f;
      --white: #fff;
      --primary: #B72071;      
    }

button:hover,
a:hover {
	opacity: 0.9;
}

.text-link a {
	text-decoration: underline;
	color: #B72071;
}

.step-img {
	width: 300px;
	margin: 0 auto;
}


@media (max-width: 600px) {
    .cta-btn {
        font-size:80%;    }
}