.single__content {
  width: min(100%, 1280px);
  margin-inline: auto;
  padding-inline: clamp(20px, calc(100vw * 40 / 1440), 40px);
}

.custom-block {
  position: relative;

  --color-black: #211d1a;
  --color-brown: #63605e;
  --color-brown-dark: #895934;
  --line-height: 1.75;
  --line-height-sm: 1.4;
  --letter-spacing: 0.1em;
}

.custom-block.--bg-white::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  margin-inline: calc(50% - 50vw);
  background: rgba(255, 255, 255, 0.3);
  z-index: -1;
}

.custom-block.--bg-gray::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  margin-inline: calc(50% - 50vw);
  background: rgba(153, 136, 119, 0.3);
  z-index: -1;
}

.custom-block.--spacing-xl {
  padding-block: clamp(100px, calc(100vw * 136 / 1440), 136px);
}

.custom-block.--spacing-lg {
  padding-block: clamp(48px, calc(100vw * 96 / 1440), 96px);
}

.custom-block.--spacing-md {
  padding-block: clamp(24px, calc(100vw * 48 / 1440), 48px);
}

.custom-block.--spacing-sm {
  padding-block: clamp(8px, calc(100vw * 16 / 1440), 16px);
}

@media screen and (max-width: 750px) {
  .custom-block.--spacing-xl {
    padding-block: clamp(78px, calc(100vw * 136 / 750), 136px);
  }

  .custom-block.--spacing-lg {
    padding-block: clamp(48px, calc(100vw * 96 / 750), 96px);
  }

  .custom-block.--spacing-md {
    padding-block: clamp(24px, calc(100vw * 48 / 750), 48px);
  }

  .custom-block.--spacing-sm {
    padding-block: clamp(8px, calc(100vw * 16 / 750), 16px);
  }
}

.custom-block .point-on-brown,
.custom-block .point-on-white {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-athena);
  font-weight: 400;
  font-size: 27px;
  line-height: 1.75;
  letter-spacing: 0.05em;
  text-align: center;
  width: 180px;
  height: 180px;
  -webkit-clip-path: circle(50% at 50% 0);
  clip-path: circle(50% at 50% 0);
  padding-top: 20px;
}

.custom-block .point-on-brown {
  background: #bab2aa;
  color: #fff;
}

.custom-block .point-on-white {
  background: #ffffff;
  color: #bab2aa;
}

.custom-block .point-off {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.custom-block .point-off::before,
.custom-block .point-on-brown::before,
.custom-block .point-on-white::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 40px;
  background: #695d51;
}

.custom-block .ttl-top * {
  text-align: center;
  color: inherit;
  font-size: clamp(32px, calc(100vw * 40 / 1440), 40px);
  letter-spacing: var(--letter-spacing);
}

.custom-block .ttl-top.--font-family-ja * {
  font-family: var(--font-heisei-mincho-std);
  font-weight: 500;
  line-height: var(--line-height-sm);
}

.custom-block .ttl-top.--font-family-en * {
  color: inherit;
  font-family: var(--font-athena);
  font-weight: 400;
  line-height: 1;
  letter-spacing: var(--letter-spacing);
}

.custom-block .ttl-bottom * {
  text-align: center;
  color: inherit;
  font-size: clamp(24px, calc(100vw * 30 / 1440), 30px);
  letter-spacing: var(--letter-spacing);
  margin-top: clamp(4px, calc(100vw * 10 / 1440), 10px);
}

.custom-block .ttl-bottom.--font-family-ja * {
  font-family: var(--font-heisei-mincho-std);
  font-weight: 500;
  line-height: var(--line-height);
}

.custom-block .ttl-bottom.--font-family-en * {
  font-family: var(--font-athena);
  font-weight: 400;
  line-height: 1;
}

.custom-block .txt {
  margin-top: clamp(30px, calc(100vw * 60 / 1440), 60px);
}

.custom-block .txt *:not(:first-child) {
  margin-top: 1lh;
}

.custom-block .txt * {
  font-family: var(--font-heisei-mincho-std);
  font-weight: 300;
  font-size: clamp(14px, calc(100vw * 15 / 1440), 15px);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  color: var(--color-black);
  text-align: center;
}

@media screen and (max-width: 750px) {
  .block-check .ttl-top * {
    font-size: clamp(24px, calc(100vw * 52 / 750), 52px);
  }

  .block-check .ttl-bottom * {
    font-size: clamp(20px, calc(100vw * 40 / 750), 40px);
    margin-top: clamp(4px, calc(100vw * 10 / 750), 10px);
  }

  .block-check .txt {
    margin-top: clamp(30px, calc(100vw * 60 / 750), 60px);
  }

  .block-check .txt * {
    font-size: clamp(14px, calc(100vw * 26 / 750), 26px);
  }

  .custom-block .point-on-brown,
  .custom-block .point-on-white {
    font-size: 20px;
    width: 120px;
    height: 120px;
    padding-top: 12px;
  }

  .custom-block .point-off::before,
  .custom-block .point-on-brown::before,
  .custom-block .point-on-white::before {
    top: -16px;
    height: 32px;
  }
}

.block-button {
  display: block;
  min-width: clamp(500px, calc(100vw * 536 / 1440), 536px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-block: clamp(16px, calc(100vw * 20 / 1440), 20px);
  padding-inline: clamp(32px, calc(100vw * 60 / 1440), 60px);
  box-sizing: border-box;
  border-radius: 100vmax;
  background-color: #695d51;
  color: #fff;
  font-family: var(--font-heisei-mincho-std);
  font-weight: 700;
  font-size: clamp(16px, calc(100vw * 20 / 1440), 20px);
  text-align: center;
  text-decoration: none;
  border: 1px solid #695d51;
  transition: 0.3s ease;
}

@media (any-hover: hover) {
  .block-button:hover {
    background-color: #fff;
    color: #695d51;
  }
}

@media screen and (max-width: 750px) {
  .block-button {
    min-width: initial;
    width: 100%;
    padding-block: clamp(16, calc(100vw * 26 / 750), 26px);
    padding-inline: clamp(20px, calc(100vw * 48 / 750), 48px);
    font-size: clamp(16px, calc(100vw * 26 / 750), 26px);
  }
}

.is-provider-youtube iframe {
  margin-inline: auto;
  display: block;
  aspect-ratio: 16 / 9;
  height: 100%;
}

.wp-block-image .wp-element-caption {
  font-family: var(--font-heisei-mincho-std);
  font-weight: 500;
  font-size: clamp(14px, calc(100vw * 15 / 1440), 15px);
  letter-spacing: 0.08em;
  text-align: center;
  margin-block: clamp(8px, calc(100vw * 10 / 1440), 10px);
  color: #211d1a;
}
