@charset "UTF-8";
:root {
  --text-color: #333333;
  --text-hover-color: rgba(51, 51, 51, 0.5);
  --text-link-color: #1767b5;
  --text-link-hover-color: rgba(23, 103, 181, 0.6);
  --text-state-error: #cf1a1a;
  --text-state-success: #1767b5;
  --background-color: #ffffff;
}

/*
 * 目次
 *
 * button-primary
 * is-style-blue-circle
 */
/*--------------------------------------------------------------
>>> button-primary
--------------------------------------------------------------*/
/*--------------------------------------------------------------
>>> is-style-blue-circle
--------------------------------------------------------------*/
:root {
  --font-size-h1: 2.5rem;
  --font-size-h2: 2rem;
  --font-size-h3: 1.5rem;
  --font-size-h4: 1.25rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1rem;
  --font-size-p: 0.875rem;
  --font-size-p-read-more-link: 1rem;
  --font-size-large: 1rem;
  --font-size-medium: 0.875rem;
  --font-size-small: 0.75rem;
  --font-size-h2-alt: 1.5rem;
  --font-size-h3-alt: 1.25rem;
}
@media screen and (min-width: 1025px) {
  :root {
    --font-size-h1: 3rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.5rem;
    --font-size-h5: 1.25rem;
    --font-size-h6: 1.125rem;
    --font-size-p: 1rem;
    --font-size-p-read-more-link: 1.125rem;
    --font-size-large: 1.125rem;
    --font-size-medium: 1rem;
    --font-size-small: 0.875rem;
    --font-size-h2-alt: 2.5rem;
    --font-size-h3-alt: 2rem;
  }
}

.single {
  --font-size-h1: 2rem;
  --font-size-h2: 1.5rem;
  --font-size-h3: 1.25rem;
  --font-size-h4: 1.125rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1.125rem;
}
@media screen and (min-width: 1025px) {
  .single {
    --font-size-h1: 2.5rem;
    --font-size-h2: 2rem;
    --font-size-h3: 1.5rem;
    --font-size-h4: 1.25rem;
    --font-size-h5: 1.125rem;
    --font-size-h6: 1.125rem;
  }
}

.home {
  --font-size-p-read-more-link: 1rem;
}
@media screen and (min-width: 1025px) {
  .home {
    --font-size-p-read-more-link: 1.25rem;
  }
}

.privacy-policy {
  --font-size-h2: 1.5rem;
  --font-size-h3: 1.25rem;
  --font-size-h4: 1.125rem;
  --font-size-h5: 1.125rem;
  --font-size-h6: 1.125rem;
}
@media screen and (min-width: 1025px) {
  .privacy-policy {
    --font-size-h2: 2rem;
    --font-size-h3: 1.5rem;
    --font-size-h4: 1.25rem;
    --font-size-h5: 1.125rem;
    --font-size-h6: 1.125rem;
  }
}

:root {
  --font-family: "Roboto", "Noto Sans JP", sans-serif;
}

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

section.wp-block-group,
.wp-block-group.section-spacing {
  padding-block: 64px;
}
@media screen and (min-width: 1025px) {
  section.wp-block-group,
  .wp-block-group.section-spacing {
    padding-block: 80px;
  }
}

.wp-block-image img {
  border-radius: 8px;
}

.wp-element-caption {
  margin-block: 8px 0;
  font-size: var(--font-size-p);
  font-weight: 500;
  color: var(--text-color);
}
@media screen and (min-width: 1025px) {
  .wp-element-caption {
    margin-block: 12px 0;
  }
}

.wp-block-embed__wrapper {
  border-radius: 8px;
  overflow: hidden;
}

.wp-block-media-text > .wp-block-media-text__media img {
  border-radius: 8px;
}
.wp-block-media-text.is-style-no-rounded > .wp-block-media-text__media img {
  border-radius: 0;
}

@media screen and (max-width: 768px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
}
@media screen and (max-width: 768px) {
  .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right > .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 2;
  }
  .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right > .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 1;
  }
}

.wp-block-button__link {
  padding: 6px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  min-width: 254px;
  border: 2px solid #cf1a1a;
  border-radius: 32px;
  background-color: #cf1a1a;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1025px) {
  .wp-block-button__link {
    font-size: 1rem;
    min-width: 272px;
  }
}
.wp-block-button__link:hover, .wp-block-button__link:active, .wp-block-button__link:focus-visible {
  color: #cf1a1a;
  background-color: #ffffff;
}

.wp-block-quote {
  border-left: none !important;
  padding: 24px !important;
  border-radius: 8px;
  background-color: #dee8ff;
}
.wp-block-quote p {
  margin-block-end: 0;
  font-size: 0.875rem;
}
@media screen and (min-width: 1025px) {
  .wp-block-quote p {
    font-size: 1rem;
  }
}
.wp-block-quote p + p {
  margin-block-start: 24px;
}
.wp-block-quote cite {
  margin-block-start: 32px;
  font-size: 0.75rem !important;
  text-align: end;
}
@media screen and (min-width: 1025px) {
  .wp-block-quote cite {
    font-size: 0.875rem !important;
  }
}

ul.wp-block-list {
  list-style: none;
}
ul.wp-block-list > li {
  padding-inline-start: 14px;
  font-size: var(--font-size-p);
  font-weight: 500;
  position: relative;
}
@media screen and (min-width: 1025px) {
  ul.wp-block-list > li {
    padding-inline-start: 16px;
  }
}
ul.wp-block-list > li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #1767b5;
  border-radius: 50%;
}
@media screen and (min-width: 769px) {
  ul.wp-block-list > li::before {
    top: 8px;
    width: 8px;
    height: 8px;
  }
}
ul.wp-block-list > li + li {
  margin-block-start: 12px;
}
ul.wp-block-list > li > ul.wp-block-list,
ul.wp-block-list > li > ol.wp-block-list {
  margin-block: 12px 0;
}

ol.wp-block-list {
  list-style: none;
  counter-reset: my-counter;
}
ol.wp-block-list > li {
  padding-inline-start: calc(1.5em + 8px);
  font-size: var(--font-size-p);
  font-weight: 500;
  position: relative;
  counter-increment: my-counter;
}
ol.wp-block-list > li::before {
  content: counter(my-counter, decimal) ".";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  text-align: right;
  color: #1767b5;
  font-weight: 700;
}
ol.wp-block-list > li + li {
  margin-block-start: 12px;
}
ol.wp-block-list > li > ul.wp-block-list,
ol.wp-block-list > li > ol.wp-block-list {
  margin-block: 12px 0;
}

.wp-block-flexible-table-block-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.wp-block-flexible-table-block-table th,
.wp-block-flexible-table-block-table td {
  font-size: var(--font-size-p) !important;
  min-width: 196px !important;
}

.wp-block-flexible-table-block-table.is-style-stripes thead,
.wp-block-flexible-table-block-table.is-style-stripes th,
.wp-block-flexible-table-block-table.is-style-stripes td {
  border: none !important;
}
.wp-block-flexible-table-block-table.is-style-stripes th {
  background-color: #1767b5 !important;
}
.wp-block-flexible-table-block-table.is-style-stripes th + th {
  border-inline-start: 1px solid #ffffff !important;
}
.wp-block-flexible-table-block-table.is-style-stripes tbody tr + tr th {
  border-block-start: 1px solid #ffffff !important;
}
.wp-block-flexible-table-block-table.is-style-stripes td + td {
  border-inline-start: 1px solid #bdc0c4 !important;
}

.wp-block-cover {
  padding: 40px 24px;
  border-radius: 8px;
}
@media screen and (min-width: 1025px) {
  .wp-block-cover {
    padding: 64px;
  }
}
.wp-block-cover > .wp-block-cover__background {
  background-color: #000 !important;
  opacity: 0.65 !important;
}
.wp-block-cover > .wp-block-cover__inner-container {
  color: #ffffff !important;
}
.wp-block-cover > .wp-block-cover__inner-container .is-style-read-more-link > a {
  color: #ffffff !important;
}

.entry-content > p {
  margin-block-end: 0;
}
.entry-content > p + p {
  margin-block-start: 1.6rem;
}

.wpcf7 {
  margin-block-start: 64px;
}
.wpcf7 .wpcf7-turnstile {
  margin-block-end: 24px;
}
.wpcf7 .wpcf7-form label {
  display: flex;
  align-items: center;
  column-gap: 8px;
  font-size: var(--font-size-p);
  color: var(--text-color);
}
.wpcf7 .wpcf7-form label span.required,
.wpcf7 .wpcf7-form label span.optional {
  padding: 2px 4px;
  font-size: 0.625rem;
  border-radius: 4px;
}
@media screen and (min-width: 769px) {
  .wpcf7 .wpcf7-form label span.required,
  .wpcf7 .wpcf7-form label span.optional {
    font-size: 0.75rem;
  }
}
.wpcf7 .wpcf7-form label span.required {
  color: #ffffff;
  background-color: #1767b5;
}
.wpcf7 .wpcf7-form label span.optional {
  background-color: #e7e8e9;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap {
  margin-block-start: 8px;
  display: block;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control {
  display: block;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
  margin-inline-start: 0;
  display: block;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control input[type=radio] {
  margin-inline-end: 8px;
  width: 14px;
  height: 14px;
  appearance: none;
  background: transparent;
  position: relative;
  cursor: pointer;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control input[type=radio]::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #bdc0c4;
  border-radius: 50%;
  transition: border-color 0.3s ease;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control input[type=radio]::after {
  content: "";
  display: none;
  position: absolute;
  top: 50%;
  left: 3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #cf1a1a;
  transform: translateY(-50%);
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control input[type=radio]:checked::before {
  border-color: #cf1a1a;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control input[type=radio]:checked::after {
  display: block;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .wpcf7-form-control input[type=checkbox] {
  accent-color: #1767b5;
  cursor: pointer;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap .form-control {
  padding: 8px 16px;
  width: 100%;
  font-size: 1rem;
  color: var(--text-color);
  border: 1px solid #bdc0c4;
  border-radius: 4px;
}
.wpcf7 .wpcf7-form .wpcf7-form-control-wrap textarea {
  display: block;
  height: 72px;
}
@media screen and (min-width: 769px) {
  .wpcf7 .wpcf7-form .wpcf7-form-control-wrap textarea {
    height: 84px;
  }
}
.wpcf7 .wpcf7-form .form-group + .form-group {
  margin-block-start: 24px;
}
.wpcf7 .wpcf7-form .form-group.privacy-policy .wpcf7-acceptance {
  display: block;
}
.wpcf7 .wpcf7-form .form-group.privacy-policy .privacy-note {
  margin-block: 4px 0;
  font-size: 0.625rem;
}
@media screen and (min-width: 769px) {
  .wpcf7 .wpcf7-form .form-group.privacy-policy .privacy-note {
    font-size: 0.75rem;
  }
}
.wpcf7 .wpcf7-form .form-row {
  display: grid;
  row-gap: 24px;
}
@media screen and (min-width: 769px) {
  .wpcf7 .wpcf7-form .form-row {
    column-gap: 24px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1248px) {
  .wpcf7 .wpcf7-form .form-row {
    column-gap: 64px;
  }
}
.wpcf7 .wpcf7-form .form-submit {
  margin-block-start: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
}
.wpcf7 .wpcf7-form .form-submit .wpcf7-submit {
  margin-inline-start: 36px;
  padding: 6px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  min-width: 254px;
  border: 2px solid #cf1a1a;
  border-radius: 32px;
  background-color: #cf1a1a;
  transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (min-width: 1025px) {
  .wpcf7 .wpcf7-form .form-submit .wpcf7-submit {
    font-size: 1rem;
    min-width: 272px;
  }
}
.wpcf7 .wpcf7-form .form-submit .wpcf7-submit:hover, .wpcf7 .wpcf7-form .form-submit .wpcf7-submit:active, .wpcf7 .wpcf7-form .form-submit .wpcf7-submit:focus-visible {
  color: #cf1a1a;
  background-color: #ffffff;
}
.wpcf7 .wpcf7-form .form-submit .wpcf7-submit {
  min-width: 184px;
}
@media screen and (min-width: 1025px) {
  .wpcf7 .wpcf7-form .form-submit .wpcf7-submit {
    min-width: 192px;
  }
}
.wpcf7 .wpcf7-form .form-submit .wpcf7-submit:disabled {
  border-color: #727578;
  background-color: #727578;
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
.wpcf7 .wpcf7-form .form-submit .wpcf7-spinner {
  margin-inline: 0;
}
.wpcf7 .wpcf7-form .form-confirm {
  margin-block-start: 40px;
}
.wpcf7 .wpcf7-form .form-confirm > .wpcf7-form-control-wrap {
  margin-block-start: 0;
}
.wpcf7 .wpcf7-form .wpcf7-not-valid-tip {
  display: none;
  margin-block-start: 4px;
  color: var(--text-state-error) !important;
}
.wpcf7 .wpcf7-form.invalid .wpcf7-not-valid-tip, .wpcf7 .wpcf7-form.sent .wpcf7-not-valid-tip {
  display: block;
}
.wpcf7 .wpcf7-form .wpcf7-not-valid {
  color: var(--text-state-error) !important;
}
.wpcf7 .wpcf7-form.invalid .wpcf7-not-valid, .wpcf7 .wpcf7-form.sent .wpcf7-not-valid {
  border-color: var(--text-state-error) !important;
}
.wpcf7 .wpcf7-form .wpcf7-response-output {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  font-weight: 700;
  text-align: center;
  border: none !important;
}
@media screen and (min-width: 769px) {
  .wpcf7 .wpcf7-form .wpcf7-response-output {
    margin: 24px 0 0 !important;
  }
}
.wpcf7[data-status=sent] .wpcf7-response-output {
  color: var(--text-state-success);
}
.wpcf7[data-status=invalid] .wpcf7-response-output, .wpcf7[data-status=validation_failed] .wpcf7-response-output, .wpcf7[data-status=mail_failed] .wpcf7-response-output, .wpcf7[data-status=spam] .wpcf7-response-output {
  color: var(--text-state-error);
}
