/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
Version: 1.0
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 * editor-style.cssが読み込めないので移植
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

:where(img, picture) {
  max-width: 100%;
  height: auto;
}
:where(h1,h2,h3,h4,h5,h6) {
  font-feature-settings: "halt";
}
:where(img) {
  display: block;
}
:where(dt) {
  font-weight: 700;
}
:where(textarea) {
  min-height: 9lh;
  field-sizing: content;
}
@media (any-hover: hover) {
  :where(a img) {
    transition: translate cubic-bezier(0.33, 1, 0.68, 1) 0.1s;
  }
  :where(a:hover img) {
    translate: 0 -1px;
  }
}

:focus {
  outline: none;
}
:focus-visible {
  outline: 2px solid var(--wp--preset--color--contrast);
  outline-offset: 4px;
}

:root {
  --content-max: 1290px;
}

a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-inline: 0.2em;
  background: url(img/icon_blank.svg) no-repeat center center;
  vertical-align: -1px;
}
a[target="_blank"]:has(img)::after,
a[target="_blank"].hp_noicon::after {
  display: none !important;
}
.edit-post-visual-editor a[target="_blank"]::after {
  display: none !important;
}


/* ボタンのスタイル */
.wp-block-button:has(.wp-element-button), .wp-block-button:has(.wp-block-button__link) {
  position: relative;
  z-index: 2;
}
.wp-block-button .wp-element-button, .wp-block-button .wp-block-button__link {
  position: relative;
  min-width: 300px;
  padding-block: 0.9em;
  padding-inline: 2rem 3rem;
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
  letter-spacing: 0.05em;
  transition: background cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
}
.bl_footer .wp-block-button .wp-element-button, .bl_footer .wp-block-button .wp-block-button__link {
  min-width: 180px;
  padding-block: 0.5em;
  font-size: var(--wp--preset--font-size--small);
}
.wp-element-button::before, .wp-block-button__link::before {
  content: '';
  position: absolute;
  top: -3px;
  left: -3px;
  width: calc(100% + 6px);
  height: calc(100% + 6px);
  background: var(--wp--preset--gradient--custom-orange-1);
  border-radius: calc(infinity * 1px);
  z-index: -1;
  box-shadow: 0 4px 0 0 rgba(174, 174, 174, 0.50);
}
.wp-element-button::after, .wp-block-button__link::after {
  content: '';
  position: absolute;
  top: calc(50% - 0.44em);
  right: 8%;
  width: 0.44em;
  height: 0.88em;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: var(--wp--preset--color--accent-1);
}
.bl_footer .wp-block-button .wp-element-button::after,
.bl_footer .wp-block-button .wp-block-button__link::after {
  top: calc(50% - 0.33em);
  width: 0.33em;
  height: 0.66em;
}
.wp-block-button .wp-element-button[target="_blank"]::after,
.wp-block-button .wp-block-button__link[target="_blank"]::after {
  right: 7%;
  width: 1em;
  height: 1em;
  background: url(img/icon_blank.svg) no-repeat center center;
  clip-path: none;
}
.bl_footer .wp-block-button .wp-element-button[target="_blank"]::after,
.bl_footer .wp-block-button .wp-block-button__link[target="_blank"]::after {
  top: calc(50% - 0.438em);
  right: 8%;
  width: 0.875em;
  height: 0.875em;
}
@media (any-hover: hover) {
  .wp-block-button .wp-element-button:hover, .wp-block-button .wp-block-button__link:hover {
    background-color: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
    color: var(--wp--preset--color--contrast);
  }
}
/* フォーム用 */
.bl_form_btn {
  position: relative;
  width: min(100%, 306px);
  margin-inline: auto;
  padding: 3px;
  background: var(--wp--preset--gradient--custom-orange-1);
  border-radius: calc(infinity * 1px);
  box-shadow: 0 4px 0 0 rgba(174, 174, 174, 0.50);
}
.bl_form_btn::after {
  content: '';
  position: absolute;
  top: calc(50% - 0.44em);
  right: 8%;
  width: 0.44em;
  height: 0.88em;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: var(--wp--preset--color--accent-1);
}
.bl_form_btn .wpcf7-submit {
  width: 100%;
  padding-block: 0.9em;
  padding-inline: 2rem 3rem;
  appearance: none;
  border: none;
  box-shadow: none;
  background: var(--wp--preset--color--base);
  border-radius: calc(infinity * 1px);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
  line-height: 1.8;
  transition: background cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
  cursor: pointer;
}
.wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 20px;
  margin: 0;
  transform: translateY(-50%);
}
@media (any-hover: hover) {
  .bl_form_btn .wpcf7-submit:hover {
    background-color: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
  }
}

.wp-block-search__button {
  position: relative;
}
@media (any-hover: hover) {
  .wp-block-search__button:hover {
    background-color: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
    color: var(--wp--preset--color--contrast);
  }
}

/* ボタンのスタイル ここまで */


/* ヘッダーのスタイル */
.bl_header_inner {
  margin-inline: auto !important;
}
@media (max-width: 979px) {
  header.wp-block-template-part:has(.bl_header) {
    position: sticky;
    top: 0;
    z-index: 3;
  }
  .home header.wp-block-template-part:has(.bl_header) {
    position: fixed;
    width: 100%;
  }
  .bl_header_inner {
    margin-left: auto !important;
    margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
  }
  .bl_header_logo {
    display: none;
  }
  .bl_header_logoSp {
    position: relative;
    z-index: 2;
    left: -15px;
  }
  .bl_header_content {
    position: relative;
    z-index: 1;
  }
  .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open.is-menu-open {
    background-color: color-mix(in srgb, var(--wp--preset--color--accent-4) 30%, #fff) !important;
  }
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: revert;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display: none;
  }
  .wp-block-navigation__responsive-container-close {
    height: 43px;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    padding-top: min(30vw, 150px);
  }
  .wp-block-navigation.items-justified-right {
      --navigation-layout-justification-setting: center;
      --navigation-layout-justify: center;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    align-items: flex-start;
  }
  ul.bl_header_nav .wp-block-navigation-item__content {
    display: flex;
    gap: 0 0.4em;
    align-items: center;
  }
  ul.bl_header_nav li:not(.bl_header_nav_btnSp) .wp-block-navigation-item__content::before {
    content: '';
    width: 0.33em;
    height: 0.66em;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--wp--preset--color--accent-1);
  }
  ul.bl_header_nav .bl_header_nav_apply {
    margin-top: var(--wp--preset--spacing--40) !important;
  }
  ul.bl_header_nav .bl_header_nav_btnSp {
    margin-top: var(--wp--preset--spacing--20);
    align-self: center;
  }
  ul.bl_header_nav .bl_header_nav_btnSp .wp-block-navigation-item__content {
    position: relative;
    justify-content: center;
    min-width: 180px;
    padding-block: 0.5em !important;
    padding-inline: 1rem !important;
    background: var(--wp--preset--color--base);
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 700;
    letter-spacing: 0.05em;
    border-radius: calc(infinity * 1px);
    transition: background cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
  }
  ul.bl_header_nav .bl_header_nav_btnSp .wp-block-navigation-item__content::before {
    content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    background: var(--wp--preset--gradient--custom-orange-1);
    border-radius: calc(infinity * 1px);
    z-index: -1;
    box-shadow: 0 4px 0 0 rgba(174, 174, 174, 0.50);
  }
  ul.bl_header_nav .bl_header_nav_btnSp .wp-block-navigation-item__content::after {
    content: '';
    position: absolute;
    top: calc(50% - 0.33em);
    right: 8%;
    width: 0.33em;
    height: 0.66em;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--wp--preset--color--accent-1);
  }
  @media (any-hover: hover) {
    ul.bl_header_nav .bl_header_nav_btnSp .wp-block-navigation-item__content:hover {
      background-color: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
      color: var(--wp--preset--color--contrast);
      text-decoration: none;
    }
  }
  .wp-block-navigation__responsive-container.is-menu-open {
    padding-top: var(--wp--preset--spacing--30) !important;
  }
}
/* headerPC時調整 */
@media (min-width: 980px) {
  .home .wp-site-blocks {
    position: relative;
  }
  .home header.wp-block-template-part:has(.bl_header) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
  }

  .bl_header_inner {
    margin-inline: auto !important;
    width: min(100%, var(--content-max));
  }
  .bl_header_logoSp {
    display: none;
  }
  .bl_header_content {
    /* container-type: inline-size;
    width: 100%; */
    justify-content: flex-end;
  }
  ul.bl_header_nav {
    /* font-size: min(1.3vw, 1rem); */
    font-size: clamp(0.781rem, 0.271rem + 0.833vw, 1rem);  /*12.5,16,980,1400*/
  }
  .bl_header_inner.is-layout-flex {
    align-items: flex-end;
  }
  .bl_header_nav_apply, .bl_header_nav_privacy {
    display: none !important;
  }
  nav.bl_header_nav {
    gap: 0;
    border-radius: calc(infinity * 1px);
    box-shadow: 0 4px 0 0 rgba(174, 174, 174, 0.50);
  }
  ul.bl_header_nav a {
    padding-block: calc(1em + 5px);
    /* padding-inline: 2em; */
    padding-inline: clamp(0.813rem, -3.125rem + 6.429vw, 2.5rem); /*13,40,980,1400*/
    background: var(--wp--preset--color--accent-5);
    border-left: 1px solid var(--wp--preset--color--accent-2);
    font-weight: 700;
    transition: background cubic-bezier(0.33, 1, 0.68, 1) 0.3s;
  }
  ul.bl_header_nav > li:first-child a {
    border-radius: calc(infinity * 1px) 0 0 calc(infinity * 1px);
    border-left: none;
  }
  ul.bl_header_nav .bl_header_nav_contact a {
    background: var(--wp--preset--color--accent-2);
    border-radius: 0 calc(infinity * 1px) calc(infinity * 1px) 0;
    color: var(--wp--preset--color--base) !important;
    text-shadow: 0px 0px 10px #00000055;
  }
  @media (any-hover: hover) {
    ul.bl_header_nav a:hover {
      text-decoration: none;
      background: #d7d7d7;
    }
    ul.bl_header_nav .bl_header_nav_contact a:hover {
      background: #a6be00;
    }
  }
}
.bl_header.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 3;
}
/* ヘッダーのスタイル ここまで */

/* バーガーボタン */
@media (max-width: 979px) {
  nav.bl_header_nav .wp-block-navigation__responsive-container-open,
  nav.bl_header_nav .wp-block-navigation__responsive-container-close {
    display: grid;
    grid-template-columns: auto minmax(50px, 1fr);
    align-items: center;
    letter-spacing: 0.06em;
    padding: 10px 10px 10px 13px;
    background: var(--wp--preset--color--accent-2);
    color: var(--wp--preset--color--base);
    border-radius: 50px 0 0 50px;
  }
  nav.bl_header_nav .wp-block-navigation__responsive-container-open::after {
    content: 'メニュー';
    font-size: 12px;
    line-height: 1.4;
  }
  nav.bl_header_nav .wp-block-navigation__responsive-container-close {
    margin-right: calc(var(--wp--style--root--padding-right) * -1);
  }
  nav.bl_header_nav .wp-block-navigation__responsive-container-close::after {
    content: '閉じる';
    font-size: 12px;
    line-height: 1.4;
  }
}
/* バーガーボタン ここまで */

/* PC追従 */
.edit-post-visual-editor .bl_fixednav {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.edit-post-visual-editor .bl_fixednav_tooltip {
  right: auto !important;
  left: 100% !important;
  opacity: 1 !important;
  width: 110px !important;
}
.edit-post-visual-editor .bl_fixednav_item {
  width: 44px;
  height: 44px;
}

.bl_fixednav {
  display: none;

  position: fixed;
  bottom: 50px;
  right: 0;
  width: 70px;
  padding: 30px 0;
  background: var(--wp--preset--color--base);
  border-radius: 20px 0 0 20px;
  box-shadow: 0 0 10px 0 rgba(98, 98, 98, 0.50);
  z-index: 100;
}
.bl_fixednav_item {
  position: relative;
}
.bl_fixednav_icon a,
.bl_fixednav_icon button {
  display: flex;
  justify-content: center;
  width: 44px;
  height: 44px;
}
.bl_fixednav_icon button {
  appearance: none;
  border: none;
  background: none;
  border-radius: 50%;
  align-items: center;
  cursor: pointer;
}
.bl_fixednav_icon button svg {
  position: relative;
  fill: var(--wp--preset--color--base);
  transition: top 0.3s cubic-bezier(0.33, 1, 0.68, 1);
}
@media (any-hover: hover) {
  .bl_fixednav_item:has(.bl_fixednav_icon button:hover) .bl_fixednav_tooltip,
  .bl_fixednav_item:has(.bl_fixednav_icon a:hover) .bl_fixednav_tooltip {
    opacity: 1;
    right: calc(100% + 25px);
  }
  .bl_fixednav_item .bl_fixednav_icon button:hover svg {
    top: -1px;
  }
}
@media (min-width: 980px) {
  .bl_fixednav {
    display: block;
    opacity: 0;
    visibility: hidden;
  }
  .bl_fixednav_tooltip {
    /* display: none; */
    opacity: 0;
    position: absolute;
    top: 50%;
    right: calc(100% + 22px);
    min-width: 110px;
    letter-spacing: 0.05em;
    transform: translateY(-50%);
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.33, 1, 0.68, 1), right 0.3s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .bl_fixednav_tooltip::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    width: 4px;
    height: 8px;
    background: inherit;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    transform: translateY(-50%);
  }
}
/* PC追従 ここまで */

/* フッターのスタイル */
footer.wp-block-template-part {
  margin-block-start: 0;
}
.bl_ftBnr_list {
  width: min(100%, 1080px);
}
.bl_ftBnr_list a, .bl_ftBnr_list figure {
  display: block !important;
}
.bl_footer > * {
  margin-inline: auto !important;
}
.bl_footer_nav li::before {
  content: '';
  width: 0.33em;
  height: 0.66em;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: var(--wp--preset--color--accent-1);
}
.bl_footer_nav li {
  gap: 0 0.4em;
}
/* footerSP時調整 */
@media (max-width: 781px) {
  footer .wp-block-site-logo {
    text-align: center;
  }
  .bl_ftBnr_list.wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important;
  }
  .bl_ftBnr_list.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
    flex-basis: calc(50% - var(--wp--preset--spacing--50) / 2);
  }
  .bl_footer_logo {
    text-align: center;
  }
  .bl_footer_nav {
    width: fit-content;
  }
}
/* footerPC時調整 */
@media (min-width: 782px) {
  .bl_footer > * {
    width: min(100%, var(--content-max));
    /* margin-inline: auto !important; */
  }
  .bl_footer_btnWrap {
    justify-content: flex-end;
  }
  .bl_footer_nav .wp-block-navigation__container {
    width: 100%;
    flex-direction: row;
    justify-content: flex-end;
  }
  .bl_footer_nav ul {
    gap: 0 1.8em;
  }
}
/* フッターのスタイル ここまで */

/* 横スクロール防止のコンテナ指定 */
main.wp-block-group {
  container-type: inline-size;
}

/* TOPメインビジュアル */
.un_topMv_wrap {
  padding-inline: 0 !important;
}
.un_topMv {
  display: grid;
  grid-template-areas: "mainvisual";
  align-items: center;
  margin-inline: auto !important;
  padding-inline: 0;
}
.un_topMv_inner {
  grid-area: mainvisual;
}
.un_topMv_label {
  margin: 0 !important;
  width: 450px;
  padding: 0 1.6em 1.8em;
}
.un_topMv_label::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 64 / 37;
  background: var(--wp--preset--gradient--custom-orange-2);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.un_topMv_label::after {
  content: "";
  position: absolute;
  bottom: 11%;
  left: 24%;
  width: 70px;
  aspect-ratio: 1 / 1;
  background: url('img/deco_dot_grid.png') no-repeat center / cover;
}
.un_topMv_label_inner {
  width: fit-content;
  margin-inline: auto 0 !important;
}
.un_topMv_label_catch {
  position: absolute;
  top: 30px;
  left: 2em;
  width: 76px;
  transform: translate(-100%, -100%);
}
.un_topMv_label_head {
  width: fit-content;
  margin-inline: auto;
}
@media (max-width: 781px) {
  .un_topMv {
    position: relative;
    height: 100dvh;
    background: url('img/bg_mv_l.png') no-repeat left bottom 40px / min(58.3%, 266px) auto,
                url('img/bg_mv_r.png') no-repeat right top / min(57%, 273px) auto
  }
  .un_topMv_inner {
    width: min(100%, 460px);
    padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
    padding-bottom: 30px;
  }
  .un_topMv_txt {
    font-size: min(4.5vw, 24px) !important;
  }
  .un_topMv_label {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .un_topMv_label_head {
    font-size: min(4vw, 16px) !important;
  }
  .un_topMv_label_txt {
    font-size: min(6.6vw, 26px) !important;
  }
}
@media (min-width: 782px) {
  .un_topMv {
    width: min(100cqw, 1920px);
    height: 1080px;
    background: url('img/bg_mv_l.png') no-repeat left bottom / min(41%, 455px) auto,
                url('img/bg_mv_r.png') no-repeat right top / min(40%, 410px) auto
  }
  /* cqwだとブロックエディタではみ出してしまうので調整 */
  .edit-post-visual-editor .un_topMv {
    width: 100% !important;
  }
  .un_topMv_label {
    position: relative;
    grid-area: mainvisual;
    align-self: end;
    justify-self: end;
    padding: 0 1.8em 1.9em;
    width: min(80%, 640px);
  }
  .un_topMv_label::after {
    bottom: 17%;
    left: auto;
    right: 57%;
    width: 100px;
    background: url('img/deco_dot_grid.png') no-repeat center / cover;
  }
  .un_topMv_label_catch {
    position: absolute;
    top: 40px;
    left: 3em;
    width: auto;
    transform: translate(-100%, -100%);
  }
}
/* TOPメインビジュアル ここまで */


/* 固定ページメインビジュアル ここまで */
.bl_mv {
  display: grid;
  align-items: center;
}
@media (max-width: 979px) {
  .bl_mv {
    /* aspect-ratio: 36 / 7; */
    aspect-ratio: 49 / 13;
    padding-inline: 20%;
    background-size: 135% auto !important;
    background-position: center bottom !important;
    background-repeat: no-repeat !important;
    word-break: auto-phrase;
  }
}
@media (min-width: 980px) {
  .bl_mv {
    width: min(100%, 1440px);
    height: 280px;
    margin-inline: auto;
  }
}
/* 固定ページメインビジュアル ここまで */

.bl_pageNav {
  display: grid !important;
  /* grid-template-columns: 1fr; */
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
  width: 100%;
}
.bl_pageNav .wp-block-button .wp-element-button {
  min-width: auto;
  padding: 1em 1.5em 1.5em;
  border-radius: 10px;
}
.bl_pageNav .wp-block-button .wp-element-button::before {
  border-radius: 13px;
}
.bl_pageNav .wp-block-button .wp-element-button::after {
  top: auto;
  bottom: 5px;
  right: calc(50% - 0.44em);
  width: 0.88em;
  height: 0.44em;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}
.bl_pageNav .wp-element-button:hover, .bl_pageNav .wp-block-button__link:hover {
  background-color: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
}
@media (min-width: 600px) {
  .bl_pageNav {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 781px) {
  .bl_pageNav .wp-block-button .wp-element-button {
    font-size: min(3.2vw, var(--wp--preset--font-size--small));
    padding-inline: 0.8em;
  }
}
@media (min-width: 782px) {
  .bl_pageNav {
    grid-template-columns: repeat(4, 1fr);
  }
  .bl_pageNav .wp-block-button .wp-element-button {
    font-size: min(1.5vw, 1.13rem);
  }
}


@media (max-width: 781px) {
  .bl_media_column_img img {
    margin-inline: auto;
  }
  .bl_media_column_txt > * {
    width: fit-content;
    margin-inline: auto;
  }
}
@media (min-width: 782px) {
  .bl_media_column_inner {
    width: min(100%, 953px);
    margin-inline: auto 0 !important;
  }
}

.bl_hexnum_list {
  counter-reset: number;
  list-style: none;
  padding-inline-start: 0;
}
.bl_hexnum_list_num,
.bl_hexnum_list li,
.bl_hexnum_list h1:first-of-type,
.bl_hexnum_list h2:first-of-type,
.bl_hexnum_list h3:first-of-type,
.bl_hexnum_list h4:first-of-type {
  position: relative;
  counter-increment: number;
  min-height: 56px;
  padding-left: 60px;
  align-content: center;
  line-height: 1.4;
}
.bl_hexnum_list_num::before,
.bl_hexnum_list li::before,
.bl_hexnum_list h1:first-of-type::before,
.bl_hexnum_list h2:first-of-type::before,
.bl_hexnum_list h3:first-of-type::before,
.bl_hexnum_list h4:first-of-type::before {
  content: counter(number);
  position: absolute;
  top: 0;
  left: 0;
  height: 56px;
  aspect-ratio: 625 / 722;
  padding-bottom: 0.1em;
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  background-color: var(--wp--preset--color--accent-2);
  font-size: var(--wp--preset--font-size--x-large);
  font-weight: 700;
  color: var(--wp--preset--color--base);
  align-content: center;
  text-align: center;
}
@media (min-width: 782px) {
  .bl_hexnum_list_num,
  .bl_hexnum_list li,
  .bl_hexnum_list h1:first-of-type,
  .bl_hexnum_list h2:first-of-type,
  .bl_hexnum_list h3:first-of-type,
  .bl_hexnum_list h4:first-of-type {
    min-height: 76px;
    padding-left: 80px;
  }
  .bl_hexnum_list_num::before,
  .bl_hexnum_list li::before,
  .bl_hexnum_list h1:first-of-type::before,
  .bl_hexnum_list h2:first-of-type::before,
  .bl_hexnum_list h3:first-of-type::before,
  .bl_hexnum_list h4:first-of-type::before {
    top: 0;
    left: 0;
    height: 76px;
    padding-bottom: 0.1em;
    font-size: var(--wp--preset--font-size--x-large);
  }
}

.bl_hexnum_list_num__small,
.bl_hexnum_list li {
  min-height: 47px !important;
  padding-left: 50px !important;
}
.bl_hexnum_list_num__small::before,
.bl_hexnum_list li::before {
  height: 47px !important;
  font-size: var(--wp--preset--font-size--medium) !important;
}

.bl_list {
  list-style: none;
  padding-inline-start: 0;
}
.bl_list__disc li {
  position: relative;
  padding-inline-start: 1em;
}
.bl_list__disc li::before {
  --size: 3px;

  content: "";
  position: absolute;
  top: calc((1lh - var(--size)) / 2 + 1px);
  left: 0.3em;
  width: var(--size);
  height: var(--size);
  background-color: var(--wp--preset--color--contrast);
  border-radius: 50%;
}
@media (max-width: 781px) {
  .bl_supporter {
    display: grid !important;
    grid-template-columns: 108px auto 1fr;
  }
}

.bl_form {

}
.bl_form_item {
  margin-top: 2.5em;
  font-size: var(--wp--preset--font-size--small);
}
.bl_form_item:first-of-type {
  margin-top: 0;
}
.bl_form_item .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.5em;
}
.bl_form_radio .wpcf7-list-item {
  display: block;
  margin-top: 0.3em;
}
.bl_form_privacy-txt {
  margin: 3em 0 2.5em;
  font-size: var(--wp--preset--font-size--custom-1);
  text-align: center;
}
.bl_form_radio input[type="radio"] {
  width: 1.5em;
  height: 1.5em;
  vertical-align: -4px;
}

:where(input[type="text"],
input[type="email"],textarea) {
  width: 100%;
  padding: 1em 1.2em;
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.4;
  border-radius: 7px;
  background-color: var(--wp--preset--color--base);
  border: 1px solid #3E3A3966;

}


.un_intro_img {
  max-width: none;
  width: min(100%, 715px);
}
.un_intro_box {
  /* width: min(100%, 1080px); */
}
.un_intro_box_column {
  width: min(100%, 770px);
}
@media (max-width: 781px) {
  .un_intro_box_item > * {
    width: min(90%, 360px);
    margin-inline: auto;
  }
  .un_intro_box_item img {
    margin-inline: auto;
  }
}


@media (max-width: 781px) {
  /* .un_program_intro_txt > * {
    width: fit-content;
    margin-inline: auto;
  } */
  .un_program_movie {
    padding-inline: var(--wp--preset--spacing--30) !important;
  }
  .un_program_movie .wp-block-button {
    width: min(100%, 300px);
  }
  .un_program_movie .wp-block-button .wp-element-button {
    min-width: auto;
  }
}

@media (max-width: 781px) {
  .un_refer > *{
    width: min(100%, 420px);
    margin-inline: auto !important;
  }
}

.un_prevent-risk_point {
  width: fit-content;
  margin-inline: auto;
}
@media (min-width: 782px) {
  .un_prevent-risk_point {
    max-width: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: center;
    gap: 0 min(4vw, 60px);
    text-align: center;
  }
  .un_prevent-risk_point li {
      word-break: auto-phrase;
  }
}

.un_about_point {
  width: fit-content;
  margin-inline: auto;
}
.un_about_point li {
  margin-top: 1em;
}
@media (min-width: 782px) {
  .un_about_point {
    max-width: none;
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: center;
    gap: 0 min(4vw, 60px);
  }
  .un_about_point li {
    margin-top: 0;
  }
  .un_prevent-about_point li {
      word-break: auto-phrase;
  }
}








/* ヘルパースタイル */
@media (min-width: 782px) {
  .hp_semi-wide {
    width: min(88.9%, 980px);
    max-width: none;
    margin-inline: auto !important;
  }
}
.hp_wide-img {
  width: min(100%, 1000px);
  margin-inline: auto !important;
}
.hp_fit-content {
  width: fit-content;
  margin-inline: auto;
}
.hp_fit-content_left {
  width: fit-content;
}

@media (max-width: 599px) {
  .hp_sp-pdi_narrow {
    padding-inline: var(--wp--preset--spacing--30) !important;
  }
}

.hp_span-normal span {
  font-weight: normal;
}

@media (max-width: 781px) {
  .hp_sp-alignL {
    text-align: left;
  }
  .hp_sp-nobr br {
    display: none;
  }
}

/* グラデーション六角形の見出し用アイコン */
ul:has(.hp_hex) {
  list-style: none;
  padding: 0;
}
dl:has(.hp_hex) dd {
  margin-left: 27px;
}
.hp_hex {
  position: relative;
  /* display: grid;
  grid-template-columns: 17px 1fr;
  gap: 0 10px; */
  padding-left: 27px;
}
.hp_hex::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 17px;
  height: 20px;
  margin-top: calc((1lh - 20px) / 2);
  background: url('img/icon_hexagon.svg') no-repeat center / contain;
}

/* テキストの前にマークをつけるスタイル */
.hp_mark {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 0 5px;
}
.hp_mark::before {
  content: "";
  width: 34px;
  height: 45px;
  margin-top: calc((1lh - 45px) / 2);
  background: url('img/icon_mark.svg') no-repeat center / contain;
}

.hp_mark__balloon {
  grid-template-columns: 45px 1fr;
  align-items: end;
  gap: 0;
}
.hp_mark__balloon::before {
  width: 40px;
  height: auto !important;
  /* height: 46px; */
  aspect-ratio: 26 / 23;
  background: url('img/icon_book-balloon.svg') no-repeat center / contain;
}
@media (min-width: 782px) {
  .hp_mark__balloon {
    grid-template-columns: 55px 1fr;
  }
  .hp_mark__balloon::before {
    width: 52px;
  }
}

/* 下向き三角形 */
.hp_triangle {
  position: relative;
}
.hp_triangle::before {
  content: "";
  position:absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(40%, 200px);
  aspect-ratio: 4 / 1;
  background-color: var(--wp--preset--color--accent-2);
  clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
}

.hp_triangle__small::before {
  top: clamp(-35px, -3.5vw, -15px);
  width: 60px;
  aspect-ratio: 3 / 1;
  transform: translate(-50%, -50%);
}

/* 薄いオレンジの背景 */
.hp_bg {
  position: relative;
  background: var(--wp--preset--color--custom-base-2);
}
.hp_bg-dot {
  background-image: url(img/deco_right-top.png),
                    url(img/deco_left-center.png),
                    url(img/deco_left-bottom.png);
  background-position: right calc(50% - 520px) top 80px, left calc(50% - 565px) center, left calc(50% - 532px) bottom -7px;
  background-size: 283px auto, 100px auto, 534px auto;
  background-repeat: no-repeat, no-repeat, no-repeat;
}
@media (max-width: 1079px) {
  .hp_bg-dot {
    background-position: right 2% top 20px, left -10px center, left -19% bottom -7px;
    background-size: 35% auto, 20% auto, 70% auto;
  }
}


/* グレー格子の背景 */
.hp_bg-grid {
  background-image: url('data:image/png;base64,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');
  background-repeat: repeat;
}
