@charset "UTF-8";

*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

.l-block-content > * + * {
  margin-top: 1em;
}

.wp-block-heading {
  margin-bottom: 0.5em;
  font-weight: bold;
}

.wp-block-heading:not(:first-child) {
  margin-top: 2em;
}

h1.wp-block-heading {
  padding-left: 0.5em;
  border-left: 10px solid var(--c-main);
  font-size: clamp(1rem, 5vw, 2rem);
  line-height: 1.5;
}

h2.wp-block-heading {
  font-family: UD Reimin Bold, serif;
  font-size: clamp(24px, 6vw, 32px);
  font-weight: bold;
  letter-spacing: 0.1em;
}

h3.wp-block-heading {
  position: relative;
  padding-left: 1.25em;
  font-size: clamp(20px, 5vw, 24px);
}

h3.wp-block-heading::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  left: 0;
  transform: translateY(-15%);
  width: 0.75em;
  height: 0.75em;
  margin-right: 0.5em;
  background-color: var(--c-main);
}

h4.wp-block-heading {
  color: var(--c-main);
  font-size: 1.3rem;
}
h5.wp-block-heading {
  font-size: 1.2rem;
}
h6.wp-block-heading {
  font-size: 1rem;
}

.wp-block-heading a {
  text-decoration: underline;
}
.wp-block-heading a:hover,
.wp-block-heading a:focus {
  text-decoration: none;
  opacity: 0.8;
}

/* カスタムスタイル：アンダーライン */
.wp-block-heading.is-style-underline {
  padding-right: 0.25em;
  padding-bottom: 0.5em;
  padding-left: 0.25em;
  border-bottom: 4px solid var(--c-main);
}

/* 段落ブロック */
.l-block-content p,
.editor-styles-wrapper p {
  line-height: 2;
}

.l-block-content p:not(:last-child),
.editor-styles-wrapper p:not(:last-child) {
  margin-bottom: 1em;
}

.l-block-content p a,
.editor-styles-wrapper p a {
  color: var(--c-main);
  text-decoration: underline;
}

/* .l-block-content p a::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m11.44,10.07h-.72l-.26-.25c2.14-2.49,1.85-6.25-.64-8.39C7.33-.7,3.57-.42,1.43,2.07c-2.14,2.49-1.85,6.25.64,8.39,2.23,1.91,5.52,1.91,7.75,0l.25.26v.72l4.57,4.56,1.36-1.36-4.56-4.57Zm-5.48,0c-2.27,0-4.11-1.84-4.11-4.11S3.69,1.84,5.96,1.84s4.11,1.84,4.11,4.11c0,2.27-1.83,4.11-4.1,4.11,0,0,0,0-.01,0Z" fill="%23333"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(15%);
} */

.l-block-content p a:hover,
.l-block-content p a:focus,
.editor-styles-wrapper p a:hover,
.editor-styles-wrapper p a:focus {
  text-decoration: none;
}

/* リンクホバー */
.ek-linked-block a.editorskit-block-link {
  margin: 0;
}
.ek-linked-block a.editorskit-block-link:hover,
.ek-linked-block a.editorskit-block-link:focus {
  background-color: rgba(255, 255, 255, 0.3);
  transition: 0.3s ease-in-out;
}

/* リスト */
.l-block-content ul,
.editor-styles-wrapper ul {
  padding-left: 1.2em;
  list-style-type: disc;
  line-height: 1.7;
}

.l-block-content ol,
.editor-styles-wrapper ol {
  padding-left: 1.2em;
  list-style-type: decimal;
}

.wp-block-list li + li {
  margin-top: 0.5em;
}

.wp-block-list .wp-block-list {
  margin-top: 0.5em;
}


/* 通常ボタン */
.wp-block-buttons {
  margin-top: clamp(24px, 6vw, 32px);
}

.wp-block-button__link {
  transition: 0.3s;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  border: 2px solid transparent;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
  border-color: currentColor;
  background-color: #fff;
  color: #32373c;
}

/* アウトラインボタン */
.wp-block-button.is-style-outline
  .wp-block-button__link:not(.has-background):hover,
.wp-block-button.is-style-outline
  .wp-block-button__link:not(.has-background):focus {
  border-color: transparent;
  background-color: #32373c;
  color: #fff;
}

/* グループブロック */
.wp-block-group {
}

.wp-block-group.has-background {
  padding: 32px 24px;
}

@media (max-width: 768px) {
  .is-layout-grid.wp-block-group-is-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
