@charset "UTF-8";

/* Gutenberg標準見出しのスタイル（フロントエンド・エディター共通） */
h1.wp-block-heading { font-size: 36px; font-weight: 700; margin-top: 24px; margin-bottom: 32px; }
h2.wp-block-heading {
  font-size: 28px; font-weight: 700; margin-top: 32px; margin-bottom: 24px;
}
h3.wp-block-heading { font-size: 18px; font-weight: 700; margin-top: 24px; margin-bottom: 24px; }
h4.wp-block-heading { font-size: 16px; font-weight: 700; margin-top: 24px; margin-bottom: 24px; }
h5.wp-block-heading { font-size: 14px; font-weight: 700; margin-top: 24px; margin-bottom: 24px; }
h6.wp-block-heading { font-size: 14px; font-weight: 700; margin-top: 24px; margin-bottom: 24px; }

/* Gutenberg Block Styles */

/* 1. lp-heading */
.is-style-lp-heading {
  display: flex !important;
  align-items: center;
  gap: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #333333;
  margin-bottom: 24px;
}
.is-style-lp-heading::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #BA0000;
  flex-shrink: 0;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .is-style-lp-heading {
    margin-bottom: 24px;
    padding-left:24px;
  }
  .is-style-lp-heading::before {
    width: 9px;
    height: 9px;
  }
}

/* 1.5 dx-about-lp-heading */
.is-style-dx-about-lp-heading {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #333333;
  margin-bottom: 64px;
}
.is-style-dx-about-lp-heading::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #BA0000;
  flex-shrink: 0;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .is-style-dx-about-lp-heading {
    margin-bottom: 24px;
    justify-content: flex-start;
    padding-left:24px;
  }
  .is-style-dx-about-lp-heading::before {
    width: 9px;
    height: 9px;
  }
}


/* 2. menu-title-content */
.is-style-menu-title-content {
  border-left: 4px solid #BA0000;
  padding-left: 18px;
  padding-top: 4px;
  padding-bottom: 4px;
  font-weight: 700;
  color: #333333;
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .is-style-menu-title-content {
    margin-bottom: 14px;
  }
}

/* 3. lp-about-label */
.is-style-lp-about-label {
  display: inline-flex !important;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  padding: 8px 18px;
  background: #BA0000;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.075em;
  border-radius: 0 54px 0 0;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .is-style-lp-about-label {
    display: flex !important;
    align-items: center;
    height: 42px;
    width: 100%;
    font-size: 15px !important;
    font-weight: 700;
    padding: 8px 8px;
    border-radius: 0 54px 0 0;
    letter-spacing: 0.1em;
    box-sizing: border-box;
  }
}

/* 4. service-menu-bg */
.is-style-service-menu-bg {
  background-image: url('../images/physician/service-menu-bg.webp') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* 5. menu-list-disc (横並び / 縦並び) */
ul.is-style-menu-list-disc,
ol.is-style-menu-list-disc,
ul.is-style-menu-list-disc-vertical,
ol.is-style-menu-list-disc-vertical {
  display: grid;
  gap: 14px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
ul.is-style-menu-list-disc,
ol.is-style-menu-list-disc {
  grid-template-columns: repeat(3, 1fr);
}
ul.is-style-menu-list-disc-vertical,
ol.is-style-menu-list-disc-vertical {
  grid-template-columns: 1fr;
}
@media (max-width: 768px) {
  ul.is-style-menu-list-disc,
  ol.is-style-menu-list-disc {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
ul.is-style-menu-list-disc li,
ol.is-style-menu-list-disc li,
ul.is-style-menu-list-disc-vertical li,
ol.is-style-menu-list-disc-vertical li {
  position: relative;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: -0.04em;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  ul.is-style-menu-list-disc li,
  ol.is-style-menu-list-disc li,
  ul.is-style-menu-list-disc-vertical li,
  ol.is-style-menu-list-disc-vertical li {
    padding-left: 12px;
  }
}
ul.is-style-menu-list-disc li:before,
ol.is-style-menu-list-disc li:before,
ul.is-style-menu-list-disc-vertical li:before,
ol.is-style-menu-list-disc-vertical li:before {
  content: "";
  width: 11px;
  height: 11px;
  background: #BA0000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 6px;
}
@media (max-width: 768px) {
  ul.is-style-menu-list-disc li:before,
  ol.is-style-menu-list-disc li:before,
  ul.is-style-menu-list-disc-vertical li:before,
  ol.is-style-menu-list-disc-vertical li:before {
    width: 9px;
    height: 9px;
    top: 8px;
  }
}

/* 6. lp-faq-item (for core/accordion) */
.is-style-lp-faq-item .wp-block-accordion-item,
.is-style-lp-faq-item > details {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 10px;
}
.is-style-lp-faq-item .wp-block-accordion-heading,
.is-style-lp-faq-item > details > summary {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 24px !important;
  background: #fff;
  border: none;
  cursor: pointer;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  text-align: left;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  color: #333333;
  margin: 0;
  list-style: none;
}
/* 元々の黒いプラス・マイナスアイコン（SVGなど）を隠す */
.is-style-lp-faq-item .wp-block-accordion-heading svg,
.is-style-lp-faq-item .wp-block-accordion-heading .components-panel__arrow,
.is-style-lp-faq-item .wp-block-accordion-heading__toggle-icon,
.is-style-lp-faq-item > details > summary svg,
.is-style-lp-faq-item .wp-block-accordion-heading::-webkit-details-marker,
.is-style-lp-faq-item > details > summary::-webkit-details-marker {
  display: none !important;
}

.is-style-lp-faq-item .wp-block-accordion-heading:hover,
.is-style-lp-faq-item > details > summary:hover {
  background: #fafafa;
}
.is-style-lp-faq-item .wp-block-accordion-heading:focus-visible,
.is-style-lp-faq-item > details > summary:focus-visible {
  outline: 2px solid #BA0000;
  outline-offset: -2px;
}

/* Plus / Minus Icons */
.is-style-lp-faq-item .wp-block-accordion-heading::after,
.is-style-lp-faq-item > details > summary::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  background-image: url('../images/health_consultation/icon-faq-plus.svg');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}
.is-style-lp-faq-item .wp-block-accordion-heading[aria-expanded="true"]::after,
.is-style-lp-faq-item .wp-block-accordion-item:has([aria-expanded="true"]) .wp-block-accordion-heading::after,
.is-style-lp-faq-item .wp-block-accordion-heading:has([aria-expanded="true"])::after,
.is-style-lp-faq-item > details[open] > summary::after {
  background-image: url('../images/health_consultation/icon-faq-minus.svg');
}

/* Inner answer styles */
.is-style-lp-faq-item .wp-block-accordion-content,
.is-style-lp-faq-item .wp-block-accordion-item > :not(.wp-block-accordion-heading),
.is-style-lp-faq-item > details > :not(summary) {
  padding: 24px !important;
  background: #fff;
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #333333;
}
.is-style-lp-faq-item .wp-block-accordion-content > *:first-child,
.is-style-lp-faq-item .wp-block-accordion-item > :not(.wp-block-accordion-heading) > *:first-child,
.is-style-lp-faq-item > details > :not(summary) > *:first-child {
  margin-top: 0;
}
.is-style-lp-faq-item .wp-block-accordion-content > *:last-child,
.is-style-lp-faq-item .wp-block-accordion-item > :not(.wp-block-accordion-heading) > *:last-child,
.is-style-lp-faq-item > details > :not(summary) > *:last-child {
  margin-bottom: 0;
}

/* 7. Button: red-arrow */
.is-style-red-arrow .wp-block-button__link {
  background-color: #BA0000 !important;
  color: #fff !important;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.055em;
  padding: 18px 80px 18px 32px !important;
  border-radius: 8px !important;
  position: relative;
  transition: all 0.3s ease;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  text-align: left !important;
  border: none;
  min-width: 273px;
  box-sizing: border-box;
}
.is-style-red-arrow .wp-block-button__link:hover {
  opacity: 0.9;
}
.is-style-red-arrow .wp-block-button__link::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M13.293 6.293L18.999 12l-5.706 5.707-1.414-1.414 3.293-3.293H5v-2h10.172l-3.293-3.293 1.414-1.414z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}
@media (max-width: 768px) {
  .is-style-red-arrow .wp-block-button__link {
    min-width: 100%;
    font-size: 16px;
    padding: 14px 50px 14px 24px !important;
  }
}

/* 8. Button: white-arrow */
.is-style-white-arrow .wp-block-button__link {
  background-color: #fff !important;
  color: #BA0000 !important;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.055em;
  padding: 18px 70px 18px 32px !important;
  border-radius: 8px !important;
  position: relative;
  transition: all 0.3s ease;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  text-align: left !important;
  border: 1px solid #eee; /* 追加: 白背景で見えるように薄いボーダー */
  min-width: 200px;
  box-sizing: border-box;
}
.is-style-white-arrow .wp-block-button__link:hover {
  opacity: 0.9;
  background-color: #fafafa !important;
}
.is-style-white-arrow .wp-block-button__link::after {
  content: "";
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: rgba(186, 0, 0, 0.1);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23BA0000' d='M13.293 6.293L18.999 12l-5.706 5.707-1.414-1.414 3.293-3.293H5v-2h10.172l-3.293-3.293 1.414-1.414z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px;
}
@media (max-width: 768px) {
  .is-style-white-arrow .wp-block-button__link {
    min-width: 100%;
    font-size: 16px;
    padding: 14px 50px 14px 24px !important;
  }
  .is-style-white-arrow .wp-block-button__link::after {
    right: 14px;
  }
}

/* 9. Button: lp-cta-btn-outline (サービス資料ダウンロードなど) */
.is-style-lp-cta-btn-outline .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 18px !important;
  border-radius: 4px !important;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s;
  cursor: pointer;
  background: #fff !important;
  color: #BA0000 !important;
  border: 1px solid #BA0000;
  box-sizing: border-box;
}
.is-style-lp-cta-btn-outline .wp-block-button__link:hover {
  opacity: 0.85;
}
.is-style-lp-cta-btn-outline .wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 27px;
  height: 27px;
  background-image: url('../images/physician/red-dl-icon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .is-style-lp-cta-btn-outline .wp-block-button__link {
    justify-content: center;
    width: 100%;
  }
}

/* 10. Button: lp-cta-btn-primary (お問い合わせ・見積依頼など) */
.is-style-lp-cta-btn-primary .wp-block-button__link {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 18px !important;
  border-radius: 4px !important;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s;
  cursor: pointer;
  background: #BA0000 !important;
  color: #fff !important;
  border: 1px solid #BA0000;
  box-sizing: border-box;
}
.is-style-lp-cta-btn-primary .wp-block-button__link:hover {
  opacity: 0.85;
}
.is-style-lp-cta-btn-primary .wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 27px;
  height: 27px;
  background-image: url('../images/physician/contact-icon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .is-style-lp-cta-btn-primary .wp-block-button__link {
    justify-content: center;
    width: 100%;
  }
}

/* 11. Group: lp-cta-box (CTAボックス背景) */
.is-style-lp-cta-box {
  background-color: #333333 !important;
  position: relative;
  overflow: hidden;
  color: #FFFFFF;
}
.is-style-lp-cta-box::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-image: url('../images/physician/A_background.svg');
  background-position: right bottom;
  background-size: auto 100%;
  background-repeat: no-repeat;
  pointer-events: none;
  z-index: 0;
}
/* Ensure inner content sits on top of the pseudo-element background */
.is-style-lp-cta-box > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .is-style-lp-cta-box::after {
    height: 80%;
    bottom: -16px;
    background-position: right bottom;
  }
}
@media (max-width: 425px) {
  .is-style-lp-cta-box::after {
    bottom: -86px;
  }
}

/* 12. Group: about-message-card (代表メッセージ背景) */
.is-style-about-message-card {
  background-color: #f5f5f5 !important;
  border-radius: 16px !important;
  position: relative;
  overflow: hidden;
}
.is-style-about-message-card::after {
  content: "";
  position: absolute;
  right: -3%;
  bottom: -5%;
  width: 60%;
  aspect-ratio: 499/354;
  background-image: url('../images/A_white_background.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  pointer-events: none;
  z-index: 0;
}
/* Ensure inner content sits on top of the pseudo-element background */
.is-style-about-message-card > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .is-style-about-message-card {
    border-radius: 14px !important;
  }
  .is-style-about-message-card::after {
    width: 335px;
    height: 238px;
    left: 50%;
    right: auto;
    bottom: 0;
    transform: translateX(-50%);
    aspect-ratio: unset;
    background-image: url('../images/sp-A_white_background.svg');
    background-position: center bottom;
  }
}

/* 14. Paragraph: lp-example-card-tag (タグ - チェックアイコン) */
p.is-style-lp-example-card-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #F7F7F7;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  color: #333333;
  width: fit-content;
  margin: 0;
}
p.is-style-lp-example-card-tag::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: #FBF2F3;
  background-image: url('../images/check-red.svg');
  background-size: 16px 16px;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  flex-shrink: 0;
}

/* 15. Paragraph: recruit-work-tag (タグ - 赤破線) */
p.is-style-recruit-work-tag {
  display: inline-block;
  font-size: 14px;
  color: #6B7280;
  border: 1px dashed #BA0000;
  border-radius: 4px;
  padding: 4px 10px;
  background-color: #fff8f8;
  width: fit-content;
  margin: 0;
}

/* 16. Heading: about-concept-head (私たちについて：コンセプト見出し) */
h1.is-style-about-concept-head,
h2.is-style-about-concept-head,
h3.is-style-about-concept-head,
h4.is-style-about-concept-head,
h5.is-style-about-concept-head,
h6.is-style-about-concept-head {
  text-align: center !important;
  font-size: clamp(18px, 2.5vw, 36px) !important;
  font-weight: 700 !important;
  color: #333333 !important;
  line-height: 1.306 !important;
  margin: 0 auto 42px !important;
  padding-bottom: 24px !important;
  position: relative !important;
  border-bottom: none !important;
}

h1.is-style-about-concept-head::after,
h2.is-style-about-concept-head::after,
h3.is-style-about-concept-head::after,
h4.is-style-about-concept-head::after,
h5.is-style-about-concept-head::after,
h6.is-style-about-concept-head::after {
  content: "" !important;
  display: block !important;
  width: min(808px, 100%) !important;
  height: 3px !important;
  background-color: #BA0000 !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

@media (max-width: 768px) {
  h1.is-style-about-concept-head,
  h2.is-style-about-concept-head,
  h3.is-style-about-concept-head,
  h4.is-style-about-concept-head,
  h5.is-style-about-concept-head,
  h6.is-style-about-concept-head {
    font-size: 20px !important;
    line-height: 2 !important;
    margin-bottom: 24px !important;
    padding-bottom: 0 !important;
    text-decoration: underline !important;
    text-decoration-color: #BA0000 !important;
    text-decoration-thickness: 3px !important;
    text-underline-offset: 8px !important;
  }
  h1.is-style-about-concept-head::after,
  h2.is-style-about-concept-head::after,
  h3.is-style-about-concept-head::after,
  h4.is-style-about-concept-head::after,
  h5.is-style-about-concept-head::after,
  h6.is-style-about-concept-head::after {
    display: none !important;
  }
}

/* 17. Button: top-btn-kenzo (KENZOグラデーションボタン) */
.wp-block-button.is-style-top-btn-kenzo {
  width: 100%;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}

.is-style-top-btn-kenzo .wp-block-button__link {
  width: 100% !important;
  background: linear-gradient(129deg, #FCBC00 16%, #FF7E26 100%) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.89 !important;
  letter-spacing: 0.055em !important;
  padding: 18px 75px 18px 22px !important;
  border-radius: 8px !important;
  position: relative !important;
  transition: all 0.3s ease;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  text-align: left !important;
  border: none !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.is-style-top-btn-kenzo .wp-block-button__link:hover,
.is-style-top-btn-kenzo .wp-block-button__link:focus-visible {
  opacity: 0.7;
}

.is-style-top-btn-kenzo .wp-block-button__link::after {
  content: "";
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='white' fill-opacity='0.25'/%3E%3Cpath d='M16.4065 11.6842C16.5055 11.7841 16.561 11.9191 16.561 12.0597C16.561 12.2003 16.5055 12.3352 16.4065 12.4351L12.8649 15.9767C12.8162 16.0289 12.7576 16.0708 12.6924 16.0998C12.6273 16.1289 12.5569 16.1445 12.4856 16.1458C12.4142 16.147 12.3434 16.1339 12.2772 16.1072C12.2111 16.0804 12.151 16.0407 12.1006 15.9902C12.0501 15.9398 12.0103 15.8797 11.9836 15.8135C11.9569 15.7474 11.9438 15.6765 11.945 15.6052C11.9463 15.5339 11.9619 15.4635 11.9909 15.3984C12.02 15.3332 12.0618 15.2746 12.114 15.2259L14.749 12.5909L7.53113 12.5909C7.39023 12.5909 7.2551 12.5349 7.15547 12.4353C7.05585 12.3357 6.99988 12.2006 6.99988 12.0597C6.99988 11.9188 7.05585 11.7836 7.15547 11.684C7.2551 11.5844 7.39023 11.5284 7.53113 11.5284L14.749 11.5284L12.114 8.89342C12.0202 8.79271 11.9691 8.65951 11.9715 8.52188C11.974 8.38425 12.0297 8.25293 12.1271 8.1556C12.2244 8.05827 12.3557 8.00251 12.4933 8.00008C12.631 7.99765 12.7642 8.04874 12.8649 8.14258L16.4065 11.6842Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (max-width: 768px) {
  .wp-block-button.is-style-top-btn-kenzo {
    max-width: 335px;
  }
  .is-style-top-btn-kenzo .wp-block-button__link {
    font-size: 16px !important;
    padding: 18px 51px 18px 15px !important;
  }
  .is-style-top-btn-kenzo .wp-block-button__link::after {
    right: 15px;
  }
}

@media (max-width: 768px) and (max-width: 420px) {
  .wp-block-button.is-style-top-btn-kenzo {
    max-width: 100%;
  }
  .is-style-top-btn-kenzo .wp-block-button__link {
    font-size: 15px !important;
    padding: 18px 52px 18px 16px !important;
  }
  .is-style-top-btn-kenzo .wp-block-button__link::after {
    right: 16px;
  }
}

/* 18. Button: top-btn-outline-wide (赤枠ボタン・矢印付き・幅広) */
.wp-block-button.is-style-top-btn-outline-wide {
  width: 100%;
  max-width: 290px; /* .top-btn--outline-wide */
}

.is-style-top-btn-outline-wide .wp-block-button__link {
  width: 100% !important;
  background: #FFFFFF !important;
  color: #BA0000 !important;
  border: 1px solid #BA0000 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.89 !important;
  letter-spacing: 0.055em !important;
  padding: 18px 60px 18px 24px !important; /* Adjust padding for icon */
  border-radius: 8px !important;
  position: relative !important;
  transition: background-color 0.2s ease;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  text-align: left !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.is-style-top-btn-outline-wide .wp-block-button__link:hover,
.is-style-top-btn-outline-wide .wp-block-button__link:focus-visible {
  background-color: #F5D3D5 !important;
}

.is-style-top-btn-outline-wide .wp-block-button__link::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='%23BA0000'/%3E%3Cpath d='M16.4065 11.6842C16.5055 11.7841 16.561 11.9191 16.561 12.0597C16.561 12.2003 16.5055 12.3352 16.4065 12.4351L12.8649 15.9767C12.8162 16.0289 12.7576 16.0708 12.6924 16.0998C12.6273 16.1289 12.5569 16.1445 12.4856 16.1458C12.4142 16.147 12.3434 16.1339 12.2772 16.1072C12.2111 16.0804 12.151 16.0407 12.1006 15.9902C12.0501 15.9398 12.0103 15.8797 11.9836 15.8135C11.9569 15.7474 11.9438 15.6765 11.945 15.6052C11.9463 15.5339 11.9619 15.4635 11.9909 15.3984C12.02 15.3332 12.0618 15.2746 12.114 15.2259L14.749 12.5909L7.53113 12.5909C7.39023 12.5909 7.2551 12.5349 7.15547 12.4353C7.05585 12.3357 6.99988 12.2006 6.99988 12.0597C6.99988 11.9188 7.05585 11.7836 7.15547 11.684C7.2551 11.5844 7.39023 11.5284 7.53113 11.5284L14.749 11.5284L12.114 8.89342C12.0202 8.79271 11.9691 8.65951 11.9715 8.52188C11.974 8.38425 12.0297 8.25293 12.1271 8.1556C12.2244 8.05827 12.3557 8.00251 12.4933 8.00008C12.631 7.99765 12.7642 8.04874 12.8649 8.14258L16.4065 11.6842Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* 19. Heading: top-biz-label (赤文字ラベル・線付き) */
.is-style-top-biz-label {
  display: inline-flex !important;
  align-items: center;
  gap: 11px;
  margin: 0;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.56;
  letter-spacing: 0.04em;
  color: #BA0000;
}
.is-style-top-biz-label::before {
  content: "";
  display: block;
  width: 11px;
  height: 2px;
  background: #BA0000;
  flex-shrink: 0;
}

/* 20. Image: shadow (.top-step-image風) */
.wp-block-image.is-style-shadow {
  box-shadow: 14px 14px 0px -5px #BA0000;
  border-radius: 20px;
}
.wp-block-image.is-style-shadow img {
  border-radius: 16px;
}
