@charset "UTF-8";
@layer reset, base, vendor, entryContent;
@layer reset {
  /* ==========================================================
  !HTML5 elements
  ========================================================== */
  header,
  footer,
  nav,
  main,
  section,
  aside,
  article {
    display: block;
  }
  figure,
  figcaption {
    margin: 0;
    padding: 0;
  }
  /* ==========================================================
  !Reseting
  ========================================================== */
  /* 全ての要素のbox-sizingをデフォルトでborder-boxにする */
  :root {
    box-sizing: border-box;
  }
  *,
  ::before,
  ::after {
    border-width: 0;
    border-style: solid;
    box-sizing: inherit;
  }
  body {
    color: #222222;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    line-height: 1.5;
    -webkit-text-size-adjust: none;
       -moz-text-size-adjust: none;
            text-size-adjust: none;
    background: #ffffff none;
    overflow-scrolling: touch;
  }
  /* Hack for Safari 7.1-8.0 */
  _::-webkit-full-page-media,
  _:future,
  :root body {
    font-feature-settings: "pkna";
  }
  body,
  div,
  pre,
  p,
  blockquote,
  dl,
  dt,
  dd,
  ul,
  ol,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  form,
  fieldset,
  th,
  td {
    margin: 0;
    padding: 0;
  }
  input,
  textarea {
    margin: 0;
    font-size: 100%;
  }
  label {
    cursor: pointer;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%;
  }
  fieldset,
  img {
    border: 0;
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
  }
  address,
  caption,
  cite,
  code,
  dfn,
  em,
  th,
  var {
    font-weight: normal;
    font-style: normal;
  }
  ol,
  ul {
    list-style: none;
  }
  caption,
  th {
    text-align: left;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: 100%;
    font-weight: 500;
  }
  q:after,
  q:before {
    content: "";
  }
  a,
  input {
    /* outline: none; */
  }
  abbr,
  acronym {
    border: 0;
  }
  button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
  }
}
@layer base {
  /* ==========================================================
  !Layout
  ========================================================== */
  body.fix-body {
    position: fixed;
    overflow: hidden;
    width: 100%;
  }
  @media print {
    html,
    html body {
      *zoom: 0.65;
    }
  }
  main {
    font-size: 15px;
    font-size: 0.875rem;
  }
  main :where(h1, h2, h3, h4, h5, h6) {
    line-height: 1.8;
  }
  main :where(p) {
    line-height: 2;
  }
  @media only screen and (min-width: 960px), print {
    main {
      font-size: 16px;
      font-size: 1rem;
    }
  }
  hr {
    display: block;
    margin-block: 40px;
    border-top: 1px solid #CFCFCF;
  }
  @media only screen and (min-width: 960px), print {
    hr {
      margin-block: 80px;
    }
  }
}
.wp-block-archives {
  box-sizing: border-box;
}

.wp-block-archives-dropdown label {
  display: block;
}

.wp-block-avatar {
  line-height: 0;
}

.wp-block-avatar, .wp-block-avatar img {
  box-sizing: border-box;
}

.wp-block-avatar.aligncenter {
  text-align: center;
}

.wp-block-audio {
  box-sizing: border-box;
}

.wp-block-audio figcaption {
  margin-bottom: 1em;
  margin-top: 0.5em;
}

.wp-block-audio audio {
  min-width: 300px;
  width: 100%;
}

.wp-block-button__link {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  word-break: break-word;
}

.wp-block-button__link.aligncenter {
  text-align: center;
}

.wp-block-button__link.alignright {
  text-align: right;
}

:where(.wp-block-button__link) {
  border-radius: 9999px;
  box-shadow: none;
  padding: calc(0.667em + 2px) calc(1.333em + 2px);
  text-decoration: none;
}

.wp-block-button[style*=text-decoration] .wp-block-button__link {
  text-decoration: inherit;
}

.wp-block-buttons > .wp-block-button.has-custom-width {
  max-width: none;
}

.wp-block-buttons > .wp-block-button.has-custom-width .wp-block-button__link {
  width: 100%;
}

.wp-block-buttons > .wp-block-button.has-custom-font-size .wp-block-button__link {
  font-size: inherit;
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-25 {
  width: calc(25% - var(--wp--style--block-gap, 0.5em) * 0.75);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - var(--wp--style--block-gap, 0.5em) * 0.5);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-75 {
  width: calc(75% - var(--wp--style--block-gap, 0.5em) * 0.25);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-100 {
  flex-basis: 100%;
  width: 100%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-25 {
  width: 25%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-50 {
  width: 50%;
}

.wp-block-buttons.is-vertical > .wp-block-button.wp-block-button__width-75 {
  width: 75%;
}

.wp-block-button.is-style-squared, .wp-block-button__link.wp-block-button.is-style-squared {
  border-radius: 0;
}

.wp-block-button.no-border-radius, .wp-block-button__link.no-border-radius {
  border-radius: 0 !important;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline), .wp-block-button:where(.is-style-outline) > .wp-block-button__link {
  border: 2px solid;
  padding: 0.667em 1.333em;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color), .wp-block-button:where(.is-style-outline) > .wp-block-button__link:not(.has-text-color) {
  color: currentColor;
}

.wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background), .wp-block-button:where(.is-style-outline) > .wp-block-button__link:not(.has-background) {
  background-color: initial;
  background-image: none;
}

.wp-block-button .wp-block-button__link:where(.has-border-color) {
  border-width: initial;
}

.wp-block-button .wp-block-button__link:where([style*=border-top-color]) {
  border-top-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-right-color]) {
  border-right-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-bottom-color]) {
  border-bottom-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-left-color]) {
  border-left-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-style]) {
  border-width: initial;
}

.wp-block-button .wp-block-button__link:where([style*=border-top-style]) {
  border-top-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-right-style]) {
  border-right-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-bottom-style]) {
  border-bottom-width: medium;
}

.wp-block-button .wp-block-button__link:where([style*=border-left-style]) {
  border-left-width: medium;
}

.wp-block-buttons.is-vertical {
  flex-direction: column;
}

.wp-block-buttons.is-vertical > .wp-block-button:last-child {
  margin-bottom: 0;
}

.wp-block-buttons > .wp-block-button {
  display: inline-block;
  margin: 0;
}

.wp-block-buttons.is-content-justification-left {
  justify-content: flex-start;
}

.wp-block-buttons.is-content-justification-left.is-vertical {
  align-items: flex-start;
}

.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}

.wp-block-buttons.is-content-justification-center.is-vertical {
  align-items: center;
}

.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

.wp-block-buttons.is-content-justification-right.is-vertical {
  align-items: flex-end;
}

.wp-block-buttons.is-content-justification-space-between {
  justify-content: space-between;
}

.wp-block-buttons.aligncenter {
  text-align: center;
}

.wp-block-buttons:not(.is-content-justification-space-between, .is-content-justification-right, .is-content-justification-left, .is-content-justification-center) .wp-block-button.aligncenter {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.wp-block-buttons[style*=text-decoration] .wp-block-button, .wp-block-buttons[style*=text-decoration] .wp-block-button__link {
  text-decoration: inherit;
}

.wp-block-buttons.has-custom-font-size .wp-block-button__link {
  font-size: inherit;
}

.wp-block-button.aligncenter, .wp-block-calendar {
  text-align: center;
}

.wp-block-calendar td, .wp-block-calendar th {
  border: 1px solid;
  padding: 0.25em;
}

.wp-block-calendar th {
  font-weight: 400;
}

.wp-block-calendar caption {
  background-color: inherit;
}

.wp-block-calendar table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-calendar table:where(:not(.has-text-color)) {
  color: #40464d;
}

.wp-block-calendar table:where(:not(.has-text-color)) td, .wp-block-calendar table:where(:not(.has-text-color)) th {
  border-color: #ddd;
}

.wp-block-calendar table.has-background th {
  background-color: inherit;
}

.wp-block-calendar table.has-text-color th {
  color: inherit;
}

:where(.wp-block-calendar table:not(.has-background) th) {
  background: #ddd;
}

.wp-block-categories {
  box-sizing: border-box;
}

.wp-block-categories.alignleft {
  margin-right: 2em;
}

.wp-block-categories.alignright {
  margin-left: 2em;
}

.wp-block-categories.wp-block-categories-dropdown.aligncenter {
  text-align: center;
}

.wp-block-code {
  box-sizing: border-box;
}

.wp-block-code code {
  display: block;
  font-family: inherit;
  overflow-wrap: break-word;
  white-space: pre-wrap;
}

.wp-block-columns {
  align-items: normal !important;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap !important;
}

@media (min-width: 782px) {
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
}
.wp-block-columns.are-vertically-aligned-top {
  align-items: flex-start;
}

.wp-block-columns.are-vertically-aligned-center {
  align-items: center;
}

.wp-block-columns.are-vertically-aligned-bottom {
  align-items: flex-end;
}

@media (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
  }
}
@media (min-width: 782px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
  }
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column[style*=flex-basis] {
    flex-grow: 0;
  }
}
.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap !important;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column[style*=flex-basis] {
  flex-grow: 0;
}

:where(.wp-block-columns) {
  margin-bottom: 1.75em;
}

:where(.wp-block-columns.has-background) {
  padding: 1.25em 2.375em;
}

.wp-block-column {
  flex-grow: 1;
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.wp-block-column.is-vertically-aligned-top {
  align-self: flex-start;
}

.wp-block-column.is-vertically-aligned-center {
  align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
  align-self: flex-end;
}

.wp-block-column.is-vertically-aligned-stretch {
  align-self: stretch;
}

.wp-block-column.is-vertically-aligned-bottom, .wp-block-column.is-vertically-aligned-center, .wp-block-column.is-vertically-aligned-top {
  width: 100%;
}

.wp-block-post-comments {
  box-sizing: border-box;
}

.wp-block-post-comments .alignleft {
  float: left;
}

.wp-block-post-comments .alignright {
  float: right;
}

.wp-block-post-comments .navigation:after {
  clear: both;
  content: "";
  display: table;
}

.wp-block-post-comments .commentlist {
  clear: both;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post-comments .commentlist .comment {
  min-height: 2.25em;
  padding-left: 3.25em;
}

.wp-block-post-comments .commentlist .comment p {
  font-size: 1em;
  line-height: 1.8;
  margin: 1em 0;
}

.wp-block-post-comments .commentlist .children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-block-post-comments .comment-author {
  line-height: 1.5;
}

.wp-block-post-comments .comment-author .avatar {
  border-radius: 1.5em;
  display: block;
  float: left;
  height: 2.5em;
  margin-right: 0.75em;
  margin-top: 0.5em;
  width: 2.5em;
}

.wp-block-post-comments .comment-author cite {
  font-style: normal;
}

.wp-block-post-comments .comment-meta {
  font-size: 0.875em;
  line-height: 1.5;
}

.wp-block-post-comments .comment-meta b {
  font-weight: 400;
}

.wp-block-post-comments .comment-meta .comment-awaiting-moderation {
  display: block;
  margin-bottom: 1em;
  margin-top: 1em;
}

.wp-block-post-comments .comment-body .commentmetadata {
  font-size: 0.875em;
}

.wp-block-post-comments .comment-form-author label, .wp-block-post-comments .comment-form-comment label, .wp-block-post-comments .comment-form-email label, .wp-block-post-comments .comment-form-url label {
  display: block;
  margin-bottom: 0.25em;
}

.wp-block-post-comments .comment-form input:not([type=submit]):not([type=checkbox]), .wp-block-post-comments .comment-form textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

.wp-block-post-comments .comment-form-cookies-consent {
  display: flex;
  gap: 0.25em;
}

.wp-block-post-comments .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-top: 0.35em;
}

.wp-block-post-comments .comment-reply-title {
  margin-bottom: 0;
}

.wp-block-post-comments .comment-reply-title :where(small) {
  font-size: var(--wp--preset--font-size--medium, smaller);
  margin-left: 0.5em;
}

.wp-block-post-comments .reply {
  font-size: 0.875em;
  margin-bottom: 1.4em;
}

.wp-block-post-comments input:not([type=submit]), .wp-block-post-comments textarea {
  border: 1px solid #949494;
  font-family: inherit;
  font-size: 1em;
}

.wp-block-post-comments input:not([type=submit]):not([type=checkbox]), .wp-block-post-comments textarea {
  padding: calc(0.667em + 2px);
}

:where(.wp-block-post-comments input[type=submit]) {
  border: none;
}

.wp-block-comments-pagination > .wp-block-comments-pagination-next, .wp-block-comments-pagination > .wp-block-comments-pagination-numbers, .wp-block-comments-pagination > .wp-block-comments-pagination-previous {
  margin-bottom: 0.5em;
  margin-right: 0.5em;
}

.wp-block-comments-pagination > .wp-block-comments-pagination-next:last-child, .wp-block-comments-pagination > .wp-block-comments-pagination-numbers:last-child, .wp-block-comments-pagination > .wp-block-comments-pagination-previous:last-child {
  margin-right: 0;
}

.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow {
  display: inline-block;
  margin-right: 1ch;
}

.wp-block-comments-pagination .wp-block-comments-pagination-previous-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow {
  display: inline-block;
  margin-left: 1ch;
}

.wp-block-comments-pagination .wp-block-comments-pagination-next-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-comments-pagination.aligncenter {
  justify-content: center;
}

.wp-block-comment-template {
  box-sizing: border-box;
  list-style: none;
  margin-bottom: 0;
  max-width: 100%;
  padding: 0;
}

.wp-block-comment-template li {
  clear: both;
}

.wp-block-comment-template ol {
  list-style: none;
  margin-bottom: 0;
  max-width: 100%;
  padding-left: 2rem;
}

.wp-block-comment-template.alignleft {
  float: left;
}

.wp-block-comment-template.aligncenter {
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}

.wp-block-comment-template.alignright {
  float: right;
}

.wp-block-cover, .wp-block-cover-image {
  align-items: center;
  background-position: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  min-height: 430px;
  overflow: hidden;
  overflow: clip;
  padding: 1em;
  position: relative;
}

.wp-block-cover .has-background-dim:not([class*=-background-color]), .wp-block-cover-image .has-background-dim:not([class*=-background-color]), .wp-block-cover-image.has-background-dim:not([class*=-background-color]), .wp-block-cover.has-background-dim:not([class*=-background-color]) {
  background-color: #000;
}

.wp-block-cover .has-background-dim.has-background-gradient, .wp-block-cover-image .has-background-dim.has-background-gradient {
  background-color: initial;
}

.wp-block-cover-image.has-background-dim:before, .wp-block-cover.has-background-dim:before {
  background-color: inherit;
  content: "";
}

.wp-block-cover .wp-block-cover__background, .wp-block-cover .wp-block-cover__gradient-background, .wp-block-cover-image .wp-block-cover__background, .wp-block-cover-image .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim:not(.has-background-gradient):before, .wp-block-cover.has-background-dim:not(.has-background-gradient):before {
  bottom: 0;
  left: 0;
  opacity: 0.5;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-10:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-10 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-10:not(.has-background-gradient):before {
  opacity: 0.1;
}

.wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-20:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-20 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-20:not(.has-background-gradient):before {
  opacity: 0.2;
}

.wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-30:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-30 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-30:not(.has-background-gradient):before {
  opacity: 0.3;
}

.wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-40:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-40 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-40:not(.has-background-gradient):before {
  opacity: 0.4;
}

.wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-50:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-50 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-50:not(.has-background-gradient):before {
  opacity: 0.5;
}

.wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-60:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-60 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-60:not(.has-background-gradient):before {
  opacity: 0.6;
}

.wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-70:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-70 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-70:not(.has-background-gradient):before {
  opacity: 0.7;
}

.wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-80:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-80 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-80:not(.has-background-gradient):before {
  opacity: 0.8;
}

.wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-90:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-90 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-90:not(.has-background-gradient):before {
  opacity: 0.9;
}

.wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__background, .wp-block-cover-image.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background, .wp-block-cover-image.has-background-dim.has-background-dim-100:not(.has-background-gradient):before, .wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__background, .wp-block-cover.has-background-dim.has-background-dim-100 .wp-block-cover__gradient-background, .wp-block-cover.has-background-dim.has-background-dim-100:not(.has-background-gradient):before {
  opacity: 1;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-0, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-0 {
  opacity: 0;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-10, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-10, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-10 {
  opacity: 0.1;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-20, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-20, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-20 {
  opacity: 0.2;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-30, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-30, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-30 {
  opacity: 0.3;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-40, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-40, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-40 {
  opacity: 0.4;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-50, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-50, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-50 {
  opacity: 0.5;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-60, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-60, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-60 {
  opacity: 0.6;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-70, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-70, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-70 {
  opacity: 0.7;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-80, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-80, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-80 {
  opacity: 0.8;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-90, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-90, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-90 {
  opacity: 0.9;
}

.wp-block-cover .wp-block-cover__background.has-background-dim.has-background-dim-100, .wp-block-cover .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100, .wp-block-cover-image .wp-block-cover__background.has-background-dim.has-background-dim-100, .wp-block-cover-image .wp-block-cover__gradient-background.has-background-dim.has-background-dim-100 {
  opacity: 1;
}

.wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, .wp-block-cover.alignleft, .wp-block-cover.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-cover-image:after, .wp-block-cover:after {
  content: "";
  display: block;
  font-size: 0;
  min-height: inherit;
}

@supports (position: sticky) {
  .wp-block-cover-image:after, .wp-block-cover:after {
    content: none;
  }
}
.wp-block-cover-image.aligncenter, .wp-block-cover-image.alignleft, .wp-block-cover-image.alignright, .wp-block-cover.aligncenter, .wp-block-cover.alignleft, .wp-block-cover.alignright {
  display: flex;
}

.wp-block-cover .wp-block-cover__inner-container, .wp-block-cover-image .wp-block-cover__inner-container {
  color: inherit;
  width: 100%;
  z-index: 1;
}

.wp-block-cover h1:where(:not(.has-text-color)), .wp-block-cover h2:where(:not(.has-text-color)), .wp-block-cover h3:where(:not(.has-text-color)), .wp-block-cover h4:where(:not(.has-text-color)), .wp-block-cover h5:where(:not(.has-text-color)), .wp-block-cover h6:where(:not(.has-text-color)), .wp-block-cover p:where(:not(.has-text-color)), .wp-block-cover-image h1:where(:not(.has-text-color)), .wp-block-cover-image h2:where(:not(.has-text-color)), .wp-block-cover-image h3:where(:not(.has-text-color)), .wp-block-cover-image h4:where(:not(.has-text-color)), .wp-block-cover-image h5:where(:not(.has-text-color)), .wp-block-cover-image h6:where(:not(.has-text-color)), .wp-block-cover-image p:where(:not(.has-text-color)) {
  color: inherit;
}

.wp-block-cover-image.is-position-top-left, .wp-block-cover.is-position-top-left {
  align-items: flex-start;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-top-center, .wp-block-cover.is-position-top-center {
  align-items: flex-start;
  justify-content: center;
}

.wp-block-cover-image.is-position-top-right, .wp-block-cover.is-position-top-right {
  align-items: flex-start;
  justify-content: flex-end;
}

.wp-block-cover-image.is-position-center-left, .wp-block-cover.is-position-center-left {
  align-items: center;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-center-center, .wp-block-cover.is-position-center-center {
  align-items: center;
  justify-content: center;
}

.wp-block-cover-image.is-position-center-right, .wp-block-cover.is-position-center-right {
  align-items: center;
  justify-content: flex-end;
}

.wp-block-cover-image.is-position-bottom-left, .wp-block-cover.is-position-bottom-left {
  align-items: flex-end;
  justify-content: flex-start;
}

.wp-block-cover-image.is-position-bottom-center, .wp-block-cover.is-position-bottom-center {
  align-items: flex-end;
  justify-content: center;
}

.wp-block-cover-image.is-position-bottom-right, .wp-block-cover.is-position-bottom-right {
  align-items: flex-end;
  justify-content: flex-end;
}

.wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
  margin: 0;
}

.wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container, .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container {
  margin: 0;
  width: auto;
}

.wp-block-cover .wp-block-cover__image-background, .wp-block-cover video.wp-block-cover__video-background, .wp-block-cover-image .wp-block-cover__image-background, .wp-block-cover-image video.wp-block-cover__video-background {
  border: none;
  bottom: 0;
  box-shadow: none;
  height: 100%;
  left: 0;
  margin: 0;
  max-height: none;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  outline: none;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.wp-block-cover-image.has-parallax, .wp-block-cover.has-parallax, .wp-block-cover__image-background.has-parallax, video.wp-block-cover__video-background.has-parallax {
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}

@supports (-webkit-touch-callout: inherit) {
  .wp-block-cover-image.has-parallax, .wp-block-cover.has-parallax, .wp-block-cover__image-background.has-parallax, video.wp-block-cover__video-background.has-parallax {
    background-attachment: scroll;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-cover-image.has-parallax, .wp-block-cover.has-parallax, .wp-block-cover__image-background.has-parallax, video.wp-block-cover__video-background.has-parallax {
    background-attachment: scroll;
  }
}
.wp-block-cover-image.is-repeated, .wp-block-cover.is-repeated, .wp-block-cover__image-background.is-repeated, video.wp-block-cover__video-background.is-repeated {
  background-repeat: repeat;
  background-size: auto;
}

.wp-block-cover__image-background, .wp-block-cover__video-background {
  z-index: 0;
}

.wp-block-cover-image-text, .wp-block-cover-image-text a, .wp-block-cover-image-text a:active, .wp-block-cover-image-text a:focus, .wp-block-cover-image-text a:hover, .wp-block-cover-text, .wp-block-cover-text a, .wp-block-cover-text a:active, .wp-block-cover-text a:focus, .wp-block-cover-text a:hover, section.wp-block-cover-image h2, section.wp-block-cover-image h2 a, section.wp-block-cover-image h2 a:active, section.wp-block-cover-image h2 a:focus, section.wp-block-cover-image h2 a:hover {
  color: #fff;
}

.wp-block-cover-image .wp-block-cover.has-left-content {
  justify-content: flex-start;
}

.wp-block-cover-image .wp-block-cover.has-right-content {
  justify-content: flex-end;
}

.wp-block-cover-image.has-left-content .wp-block-cover-image-text, .wp-block-cover.has-left-content .wp-block-cover-text, section.wp-block-cover-image.has-left-content > h2 {
  margin-left: 0;
  text-align: left;
}

.wp-block-cover-image.has-right-content .wp-block-cover-image-text, .wp-block-cover.has-right-content .wp-block-cover-text, section.wp-block-cover-image.has-right-content > h2 {
  margin-right: 0;
  text-align: right;
}

.wp-block-cover .wp-block-cover-text, .wp-block-cover-image .wp-block-cover-image-text, section.wp-block-cover-image > h2 {
  font-size: 2em;
  line-height: 1.25;
  margin-bottom: 0;
  max-width: 840px;
  padding: 0.44em;
  text-align: center;
  z-index: 1;
}

:where(.wp-block-cover-image:not(.has-text-color)), :where(.wp-block-cover:not(.has-text-color)) {
  color: #fff;
}

:where(.wp-block-cover-image.is-light:not(.has-text-color)), :where(.wp-block-cover.is-light:not(.has-text-color)) {
  color: #000;
}

.wp-block-details {
  box-sizing: border-box;
  overflow: hidden;
}

.wp-block-details summary {
  cursor: pointer;
}

.wp-block-embed.alignleft, .wp-block-embed.alignright, .wp-block[data-align=left] > [data-type="core/embed"], .wp-block[data-align=right] > [data-type="core/embed"] {
  max-width: 360px;
  width: 100%;
}

.wp-block-embed.alignleft .wp-block-embed__wrapper, .wp-block-embed.alignright .wp-block-embed__wrapper, .wp-block[data-align=left] > [data-type="core/embed"] .wp-block-embed__wrapper, .wp-block[data-align=right] > [data-type="core/embed"] .wp-block-embed__wrapper {
  min-width: 280px;
}

.wp-block-cover .wp-block-embed {
  min-height: 240px;
  min-width: 320px;
}

.wp-block-embed {
  overflow-wrap: break-word;
}

.wp-block-embed figcaption {
  margin-bottom: 1em;
  margin-top: 0.5em;
}

.wp-block-embed iframe {
  max-width: 100%;
}

.wp-block-embed__wrapper {
  position: relative;
}

.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before {
  content: "";
  display: block;
  padding-top: 50%;
}

.wp-embed-responsive .wp-has-aspect-ratio iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before {
  padding-top: 42.85%;
}

.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before {
  padding-top: 50%;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before {
  padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before {
  padding-top: 75%;
}

.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before {
  padding-top: 100%;
}

.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before {
  padding-top: 177.77%;
}

.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before {
  padding-top: 200%;
}

.wp-block-file {
  box-sizing: border-box;
}

.wp-block-file:not(.wp-element-button) {
  font-size: 0.8em;
}

.wp-block-file.aligncenter {
  text-align: center;
}

.wp-block-file.alignright {
  text-align: right;
}

.wp-block-file * + .wp-block-file__button {
  margin-left: 0.75em;
}

:where(.wp-block-file) {
  margin-bottom: 1.5em;
}

.wp-block-file__embed {
  margin-bottom: 1em;
}

:where(.wp-block-file__button) {
  border-radius: 2em;
  display: inline-block;
  padding: 0.5em 1em;
}

:where(.wp-block-file__button):is(a):active, :where(.wp-block-file__button):is(a):focus, :where(.wp-block-file__button):is(a):hover, :where(.wp-block-file__button):is(a):visited {
  box-shadow: none;
  color: #fff;
  opacity: 0.85;
  text-decoration: none;
}

.wp-block-form-input__label {
  display: flex;
  flex-direction: column;
  gap: 0.25em;
  margin-bottom: 0.5em;
  width: 100%;
}

.wp-block-form-input__label.is-label-inline {
  align-items: center;
  flex-direction: row;
  gap: 0.5em;
}

.wp-block-form-input__label.is-label-inline .wp-block-form-input__label-content {
  margin-bottom: 0.5em;
}

.wp-block-form-input__label:has(input[type=checkbox]) {
  flex-direction: row-reverse;
  width: -moz-fit-content;
  width: fit-content;
}

.wp-block-form-input__label-content {
  width: -moz-fit-content;
  width: fit-content;
}

.wp-block-form-input__input {
  font-size: 1em;
  margin-bottom: 0.5em;
  padding: 0 0.5em;
}

.wp-block-form-input__input[type=date], .wp-block-form-input__input[type=datetime-local], .wp-block-form-input__input[type=datetime], .wp-block-form-input__input[type=email], .wp-block-form-input__input[type=month], .wp-block-form-input__input[type=number], .wp-block-form-input__input[type=password], .wp-block-form-input__input[type=search], .wp-block-form-input__input[type=tel], .wp-block-form-input__input[type=text], .wp-block-form-input__input[type=time], .wp-block-form-input__input[type=url], .wp-block-form-input__input[type=week] {
  border: 1px solid;
  line-height: 2;
  min-height: 2em;
}

textarea.wp-block-form-input__input {
  min-height: 10em;
}

.blocks-gallery-grid:not(.has-nested-images), .wp-block-gallery:not(.has-nested-images) {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  margin: 0 1em 1em 0;
  position: relative;
  width: calc(50% - 1em);
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n), .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n), .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:nth-of-type(2n), .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:nth-of-type(2n) {
  margin-right: 0;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure, .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure {
  align-items: flex-end;
  display: flex;
  height: 100%;
  justify-content: flex-start;
  margin: 0;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image img, .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item img, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image img, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item img {
  display: block;
  height: auto;
  max-width: 100%;
  width: auto;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption, .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(0, 0, 0, 0.3019607843) 70%, rgba(0, 0, 0, 0));
  bottom: 0;
  box-sizing: border-box;
  color: #fff;
  font-size: 0.8em;
  margin: 0;
  max-height: 100%;
  overflow: auto;
  padding: 3em 0.77em 0.7em;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: 2;
}

.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption img, .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption img, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption img, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption img {
  display: inline;
}

.blocks-gallery-grid:not(.has-nested-images) figcaption, .wp-block-gallery:not(.has-nested-images) figcaption {
  flex-grow: 1;
}

.blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image a, .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-image img, .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item a, .blocks-gallery-grid:not(.has-nested-images).is-cropped .blocks-gallery-item img, .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image a, .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-image img, .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item a, .wp-block-gallery:not(.has-nested-images).is-cropped .blocks-gallery-item img {
  flex: 1;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item {
  margin-right: 0;
  width: 100%;
}

@media (min-width: 600px) {
  .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item {
    margin-right: 1em;
    width: calc(33.33333% - 0.66667em);
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item {
    margin-right: 1em;
    width: calc(25% - 0.75em);
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item {
    margin-right: 1em;
    width: calc(20% - 0.8em);
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item {
    margin-right: 1em;
    width: calc(16.66667% - 0.83333em);
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item {
    margin-right: 1em;
    width: calc(14.28571% - 0.85714em);
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image, .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item, .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item {
    margin-right: 1em;
    width: calc(12.5% - 0.875em);
  }
  .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n), .blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n), .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n), .blocks-gallery-grid:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n), .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n), .blocks-gallery-grid:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n), .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n), .blocks-gallery-grid:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n), .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n), .blocks-gallery-grid:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n), .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n), .blocks-gallery-grid:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n), .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n), .blocks-gallery-grid:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n), .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n), .blocks-gallery-grid:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n), .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image:nth-of-type(1n), .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item:nth-of-type(1n), .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-image:nth-of-type(2n), .wp-block-gallery:not(.has-nested-images).columns-2 .blocks-gallery-item:nth-of-type(2n), .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-image:nth-of-type(3n), .wp-block-gallery:not(.has-nested-images).columns-3 .blocks-gallery-item:nth-of-type(3n), .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-image:nth-of-type(4n), .wp-block-gallery:not(.has-nested-images).columns-4 .blocks-gallery-item:nth-of-type(4n), .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-image:nth-of-type(5n), .wp-block-gallery:not(.has-nested-images).columns-5 .blocks-gallery-item:nth-of-type(5n), .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-image:nth-of-type(6n), .wp-block-gallery:not(.has-nested-images).columns-6 .blocks-gallery-item:nth-of-type(6n), .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-image:nth-of-type(7n), .wp-block-gallery:not(.has-nested-images).columns-7 .blocks-gallery-item:nth-of-type(7n), .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-image:nth-of-type(8n), .wp-block-gallery:not(.has-nested-images).columns-8 .blocks-gallery-item:nth-of-type(8n) {
    margin-right: 0;
  }
}
.blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image:last-child, .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item:last-child, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image:last-child, .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item:last-child {
  margin-right: 0;
}

.blocks-gallery-grid:not(.has-nested-images).alignleft, .blocks-gallery-grid:not(.has-nested-images).alignright, .wp-block-gallery:not(.has-nested-images).alignleft, .wp-block-gallery:not(.has-nested-images).alignright {
  max-width: 420px;
  width: 100%;
}

.blocks-gallery-grid:not(.has-nested-images).aligncenter .blocks-gallery-item figure, .wp-block-gallery:not(.has-nested-images).aligncenter .blocks-gallery-item figure {
  justify-content: center;
}

.wp-block-gallery:not(.is-cropped) .blocks-gallery-item {
  align-self: flex-start;
}

figure.wp-block-gallery.has-nested-images {
  align-items: normal;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  margin: 0;
  width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2);
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  max-width: 100%;
  position: relative;
}

.wp-block-gallery.has-nested-images figure.wp-block-image > a, .wp-block-gallery.has-nested-images figure.wp-block-image > div {
  flex-direction: column;
  flex-grow: 1;
  margin: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  display: block;
  height: auto;
  max-width: 100% !important;
  width: auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.7019607843), rgba(0, 0, 0, 0.3019607843) 70%, rgba(0, 0, 0, 0));
  bottom: 0;
  box-sizing: border-box;
  color: #fff;
  font-size: 13px;
  left: 0;
  margin-bottom: 0;
  max-height: 60%;
  overflow: auto;
  padding: 0 8px 8px;
  position: absolute;
  scrollbar-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  scrollbar-gutter: stable both-edges;
  scrollbar-width: thin;
  text-align: center;
  width: 100%;
  will-change: transform;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-track {
  background-color: initial;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: initial;
  border: 3px solid rgba(0, 0, 0, 0);
  border-radius: 8px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within::-webkit-scrollbar-thumb, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus::-webkit-scrollbar-thumb, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.8);
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:focus-within, .wp-block-gallery.has-nested-images figure.wp-block-image figcaption:hover {
  scrollbar-color: rgba(255, 255, 255, 0.8) rgba(0, 0, 0, 0);
}

@media (hover: none) {
  .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    scrollbar-color: rgba(255, 255, 255, 0.8) rgba(0, 0, 0, 0);
  }
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption img {
  display: inline;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a {
  color: inherit;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border img {
  box-sizing: border-box;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border > a, .wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border > div, .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > a, .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded > div {
  flex: 1 1 auto;
}

.wp-block-gallery.has-nested-images figure.wp-block-image.has-custom-border figcaption, .wp-block-gallery.has-nested-images figure.wp-block-image.is-style-rounded figcaption {
  background: none;
  color: inherit;
  flex: initial;
  margin: 0;
  padding: 10px 10px 9px;
  position: relative;
}

.wp-block-gallery.has-nested-images figcaption {
  flex-basis: 100%;
  flex-grow: 1;
  text-align: center;
}

.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
  margin-bottom: auto;
  margin-top: 0;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) {
  align-self: inherit;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > a, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) > div:not(.components-drop-zone) {
  display: flex;
}

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
  flex: 1 0 0%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image) {
    width: calc(33.33333% - var(--wp--style--unstable-gallery-gap, 16px) * 0.66667);
  }
  .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
    width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px) * 0.75);
  }
  .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image) {
    width: calc(20% - var(--wp--style--unstable-gallery-gap, 16px) * 0.8);
  }
  .wp-block-gallery.has-nested-images.columns-6 figure.wp-block-image:not(#individual-image) {
    width: calc(16.66667% - var(--wp--style--unstable-gallery-gap, 16px) * 0.83333);
  }
  .wp-block-gallery.has-nested-images.columns-7 figure.wp-block-image:not(#individual-image) {
    width: calc(14.28571% - var(--wp--style--unstable-gallery-gap, 16px) * 0.85714);
  }
  .wp-block-gallery.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
    width: calc(12.5% - var(--wp--style--unstable-gallery-gap, 16px) * 0.875);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
    width: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px) * 0.66667);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2), .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2) ~ figure.wp-block-image:not(#individual-image) {
    width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) * 0.5);
  }
  .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:last-child {
    width: 100%;
  }
}
.wp-block-gallery.has-nested-images.alignleft, .wp-block-gallery.has-nested-images.alignright {
  max-width: 420px;
  width: 100%;
}

.wp-block-gallery.has-nested-images.aligncenter {
  justify-content: center;
}

.wp-block-group {
  box-sizing: border-box;
}

h1.has-background, h2.has-background, h3.has-background, h4.has-background, h5.has-background, h6.has-background {
  padding: 1.25em 2.375em;
}

h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]), h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]), h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]) {
  rotate: 180deg;
}

.wp-block-image img {
  box-sizing: border-box;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}

.wp-block-image[style*=border-radius] img, .wp-block-image[style*=border-radius] > a {
  border-radius: inherit;
}

.wp-block-image.has-custom-border img {
  box-sizing: border-box;
}

.wp-block-image.aligncenter {
  text-align: center;
}

.wp-block-image.is-style-alignfull img, .wp-block-image.is-style-alignwide img {
  height: auto;
  width: 100%;
}

.wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright, .wp-block-image.aligncenter, .wp-block-image.alignleft, .wp-block-image.alignright {
  display: table;
}

.wp-block-image .aligncenter > figcaption, .wp-block-image .alignleft > figcaption, .wp-block-image .alignright > figcaption, .wp-block-image.aligncenter > figcaption, .wp-block-image.alignleft > figcaption, .wp-block-image.alignright > figcaption {
  caption-side: bottom;
  display: table-caption;
}

.wp-block-image .alignleft {
  float: left;
  margin: 0.5em 1em 0.5em 0;
}

.wp-block-image .alignright {
  float: right;
  margin: 0.5em 0 0.5em 1em;
}

.wp-block-image .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image figcaption {
  margin-bottom: 1em;
  margin-top: 0.5em;
}

.wp-block-image .is-style-rounded img, .wp-block-image.is-style-circle-mask img, .wp-block-image.is-style-rounded img {
  border-radius: 9999px;
}

@supports ((-webkit-mask-image: none) or (mask-image: none)) or (-webkit-mask-image: none) {
  .wp-block-image.is-style-circle-mask img {
    border-radius: 0;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');
    mask-mode: alpha;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
  }
}
.wp-block-image :where(.has-border-color) {
  border-style: solid;
}

.wp-block-image :where([style*=border-top-color]) {
  border-top-style: solid;
}

.wp-block-image :where([style*=border-right-color]) {
  border-right-style: solid;
}

.wp-block-image :where([style*=border-bottom-color]) {
  border-bottom-style: solid;
}

.wp-block-image :where([style*=border-left-color]) {
  border-left-style: solid;
}

.wp-block-image :where([style*=border-width]) {
  border-style: solid;
}

.wp-block-image :where([style*=border-top-width]) {
  border-top-style: solid;
}

.wp-block-image :where([style*=border-right-width]) {
  border-right-style: solid;
}

.wp-block-image :where([style*=border-bottom-width]) {
  border-bottom-style: solid;
}

.wp-block-image :where([style*=border-left-width]) {
  border-left-style: solid;
}

.wp-block-image figure {
  margin: 0;
}

.wp-lightbox-container {
  display: flex;
  flex-direction: column;
  position: relative;
}

.wp-lightbox-container img {
  cursor: zoom-in;
}

.wp-lightbox-container img:hover + button {
  opacity: 1;
}

.wp-lightbox-container button {
  align-items: center;
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  backdrop-filter: blur(16px) saturate(180%);
  background-color: rgba(90, 90, 90, 0.2509803922);
  border: none;
  border-radius: 4px;
  cursor: zoom-in;
  display: flex;
  height: 20px;
  justify-content: center;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 16px;
  text-align: center;
  top: 16px;
  transition: opacity 0.2s ease;
  width: 20px;
  z-index: 100;
}

.wp-lightbox-container button:focus-visible {
  outline: 3px auto rgba(90, 90, 90, 0.2509803922);
  outline: 3px auto -webkit-focus-ring-color;
  outline-offset: 3px;
}

.wp-lightbox-container button:hover {
  cursor: pointer;
  opacity: 1;
}

.wp-lightbox-container button:focus {
  opacity: 1;
}

.wp-lightbox-container button:focus, .wp-lightbox-container button:hover, .wp-lightbox-container button:not(:hover):not(:active):not(.has-background) {
  background-color: rgba(90, 90, 90, 0.2509803922);
  border: none;
}

.wp-lightbox-overlay {
  box-sizing: border-box;
  cursor: zoom-out;
  height: 100vh;
  left: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 100000;
}

.wp-lightbox-overlay .close-button {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: center;
  min-height: 40px;
  min-width: 40px;
  padding: 0;
  position: absolute;
  right: calc(env(safe-area-inset-right) + 16px);
  top: calc(env(safe-area-inset-top) + 16px);
  z-index: 5000000;
}

.wp-lightbox-overlay .close-button:focus, .wp-lightbox-overlay .close-button:hover, .wp-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background) {
  background: none;
  border: none;
}

.wp-lightbox-overlay .lightbox-image-container {
  height: var(--wp--lightbox-container-height);
  left: 50%;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transform-origin: top left;
  width: var(--wp--lightbox-container-width);
  z-index: 9999999999;
}

.wp-lightbox-overlay .wp-block-image {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  height: 100%;
  justify-content: center;
  margin: 0;
  position: relative;
  transform-origin: 0 0;
  width: 100%;
  z-index: 3000000;
}

.wp-lightbox-overlay .wp-block-image img {
  height: var(--wp--lightbox-image-height);
  min-height: var(--wp--lightbox-image-height);
  min-width: var(--wp--lightbox-image-width);
  width: var(--wp--lightbox-image-width);
}

.wp-lightbox-overlay .wp-block-image figcaption {
  display: none;
}

.wp-lightbox-overlay button {
  background: none;
  border: none;
}

.wp-lightbox-overlay .scrim {
  background-color: #fff;
  height: 100%;
  opacity: 0.9;
  position: absolute;
  width: 100%;
  z-index: 2000000;
}

.wp-lightbox-overlay.active {
  animation: turn-on-visibility 0.25s both;
  visibility: visible;
}

.wp-lightbox-overlay.active img {
  animation: turn-on-visibility 0.35s both;
}

.wp-lightbox-overlay.show-closing-animation:not(.active) {
  animation: turn-off-visibility 0.35s both;
}

.wp-lightbox-overlay.show-closing-animation:not(.active) img {
  animation: turn-off-visibility 0.25s both;
}

@media (prefers-reduced-motion: no-preference) {
  .wp-lightbox-overlay.zoom.active {
    animation: none;
    opacity: 1;
    visibility: visible;
  }
  .wp-lightbox-overlay.zoom.active .lightbox-image-container {
    animation: lightbox-zoom-in 0.4s;
  }
  .wp-lightbox-overlay.zoom.active .lightbox-image-container img {
    animation: none;
  }
  .wp-lightbox-overlay.zoom.active .scrim {
    animation: turn-on-visibility 0.4s forwards;
  }
  .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) {
    animation: none;
  }
  .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container {
    animation: lightbox-zoom-out 0.4s;
  }
  .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img {
    animation: none;
  }
  .wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim {
    animation: turn-off-visibility 0.4s forwards;
  }
}
@keyframes turn-on-visibility {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes turn-off-visibility {
  0% {
    opacity: 1;
    visibility: visible;
  }
  99% {
    opacity: 0;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes lightbox-zoom-in {
  0% {
    transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width)) / 2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
  }
  to {
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes lightbox-zoom-out {
  0% {
    transform: translate(-50%, -50%) scale(1);
    visibility: visible;
  }
  99% {
    visibility: visible;
  }
  to {
    transform: translate(calc((-100vw + var(--wp--lightbox-scrollbar-width)) / 2 + var(--wp--lightbox-initial-left-position)), calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));
    visibility: hidden;
  }
}
ol.wp-block-latest-comments {
  box-sizing: border-box;
  margin-left: 0;
}

:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)) {
  line-height: 1.1;
}

:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)) {
  line-height: 1.8;
}

.has-dates :where(.wp-block-latest-comments:not([style*=line-height])), .has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])) {
  line-height: 1.5;
}

.wp-block-latest-comments .wp-block-latest-comments {
  padding-left: 0;
}

.wp-block-latest-comments__comment {
  list-style: none;
  margin-bottom: 1em;
}

.has-avatars .wp-block-latest-comments__comment {
  list-style: none;
  min-height: 2.25em;
}

.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt, .has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta {
  margin-left: 3.25em;
}

.wp-block-latest-comments__comment-excerpt p {
  font-size: 0.875em;
  margin: 0.36em 0 1.4em;
}

.wp-block-latest-comments__comment-date {
  display: block;
  font-size: 0.75em;
}

.wp-block-latest-comments .avatar, .wp-block-latest-comments__comment-avatar {
  border-radius: 1.5em;
  display: block;
  float: left;
  height: 2.5em;
  margin-right: 0.75em;
  width: 2.5em;
}

.wp-block-latest-comments[class*=-font-size] a, .wp-block-latest-comments[style*=font-size] a {
  font-size: inherit;
}

.wp-block-latest-posts {
  box-sizing: border-box;
}

.wp-block-latest-posts.alignleft {
  margin-right: 2em;
}

.wp-block-latest-posts.alignright {
  margin-left: 2em;
}

.wp-block-latest-posts.wp-block-latest-posts__list {
  list-style: none;
  padding-left: 0;
}

.wp-block-latest-posts.wp-block-latest-posts__list li {
  clear: both;
}

.wp-block-latest-posts.is-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.wp-block-latest-posts.is-grid li {
  margin: 0 1.25em 1.25em 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-latest-posts.columns-2 li {
    width: calc(50% - 0.625em);
  }
  .wp-block-latest-posts.columns-2 li:nth-child(2n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-3 li {
    width: calc(33.33333% - 0.83333em);
  }
  .wp-block-latest-posts.columns-3 li:nth-child(3n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-4 li {
    width: calc(25% - 0.9375em);
  }
  .wp-block-latest-posts.columns-4 li:nth-child(4n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-5 li {
    width: calc(20% - 1em);
  }
  .wp-block-latest-posts.columns-5 li:nth-child(5n) {
    margin-right: 0;
  }
  .wp-block-latest-posts.columns-6 li {
    width: calc(16.66667% - 1.04167em);
  }
  .wp-block-latest-posts.columns-6 li:nth-child(6n) {
    margin-right: 0;
  }
}
.wp-block-latest-posts__post-author, .wp-block-latest-posts__post-date {
  display: block;
  font-size: 0.8125em;
}

.wp-block-latest-posts__post-excerpt {
  margin-bottom: 1em;
  margin-top: 0.5em;
}

.wp-block-latest-posts__featured-image a {
  display: inline-block;
}

.wp-block-latest-posts__featured-image img {
  height: auto;
  max-width: 100%;
  width: auto;
}

.wp-block-latest-posts__featured-image.alignleft {
  float: left;
  margin-right: 1em;
}

.wp-block-latest-posts__featured-image.alignright {
  float: right;
  margin-left: 1em;
}

.wp-block-latest-posts__featured-image.aligncenter {
  margin-bottom: 1em;
  text-align: center;
}

ol, ul {
  box-sizing: border-box;
}

ol.has-background, ul.has-background {
  padding: 1.25em 2.375em;
}

.wp-block-media-text {
  box-sizing: border-box;
  /*!rtl:begin:ignore*/
  direction: ltr;
  /*!rtl:end:ignore*/
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
}

.wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}

.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content, .wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media {
  align-self: start;
}

.wp-block-media-text .wp-block-media-text__content, .wp-block-media-text .wp-block-media-text__media, .wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content, .wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media {
  align-self: center;
}

.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content, .wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media {
  align-self: end;
}

.wp-block-media-text .wp-block-media-text__media {
  /*!rtl:begin:ignore*/
  grid-column: 1;
  grid-row: 1;
  /*!rtl:end:ignore*/
  margin: 0;
}

.wp-block-media-text .wp-block-media-text__content {
  direction: ltr;
  /*!rtl:begin:ignore*/
  grid-column: 2;
  grid-row: 1;
  /*!rtl:end:ignore*/
  padding: 0 8%;
  word-break: break-word;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  /*!rtl:begin:ignore*/
  grid-column: 2;
  grid-row: 1;
}

.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  /*!rtl:begin:ignore*/
  grid-column: 1;
  grid-row: 1;
}

.wp-block-media-text__media img, .wp-block-media-text__media video {
  height: auto;
  max-width: unset;
  vertical-align: middle;
  width: 100%;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media {
  background-size: cover;
  height: 100%;
  min-height: 250px;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media > a {
  display: block;
  height: 100%;
}

.wp-block-media-text.is-image-fill .wp-block-media-text__media img {
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !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;
  }
}
.wp-block-navigation {
  position: relative;
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-direction: row;
  --navigation-layout-wrap: wrap;
  --navigation-layout-justify: flex-start;
  --navigation-layout-align: center ;
}

.wp-block-navigation ul {
  margin-bottom: 0;
  margin-left: 0;
  margin-top: 0;
  padding-left: 0;
}

.wp-block-navigation ul, .wp-block-navigation ul li {
  list-style: none;
  padding: 0;
}

.wp-block-navigation .wp-block-navigation-item {
  align-items: center;
  display: flex;
  position: relative;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty {
  display: none;
}

.wp-block-navigation .wp-block-navigation-item__content {
  display: block;
}

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
  color: inherit;
}

.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content, .wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active, .wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus {
  text-decoration: underline;
}

.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content, .wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active, .wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus {
  text-decoration: line-through;
}

.wp-block-navigation:where(:not([class*=has-text-decoration])) a {
  text-decoration: none;
}

.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active, .wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus {
  text-decoration: none;
}

.wp-block-navigation .wp-block-navigation__submenu-icon {
  align-self: center;
  background-color: inherit;
  border: none;
  color: currentColor;
  display: inline-block;
  font-size: inherit;
  height: 0.6em;
  line-height: 0;
  margin-left: 0.25em;
  padding: 0;
  width: 0.6em;
}

.wp-block-navigation .wp-block-navigation__submenu-icon svg {
  display: inline-block;
  stroke: currentColor;
  height: inherit;
  margin-top: 0.075em;
  width: inherit;
}

.wp-block-navigation.is-vertical {
  --navigation-layout-direction: column;
  --navigation-layout-justify: initial;
  --navigation-layout-align: flex-start ;
}

.wp-block-navigation.no-wrap {
  --navigation-layout-wrap: nowrap ;
}

.wp-block-navigation.items-justified-center {
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center ;
}

.wp-block-navigation.items-justified-center.is-vertical {
  --navigation-layout-align: center ;
}

.wp-block-navigation.items-justified-right {
  --navigation-layout-justification-setting: flex-end;
  --navigation-layout-justify: flex-end ;
}

.wp-block-navigation.items-justified-right.is-vertical {
  --navigation-layout-align: flex-end ;
}

.wp-block-navigation.items-justified-space-between {
  --navigation-layout-justification-setting: space-between;
  --navigation-layout-justify: space-between ;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  align-items: normal;
  background-color: inherit;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 0;
  left: -1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 100%;
  transition: opacity 0.1s linear;
  visibility: hidden;
  width: 0;
  z-index: 2;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
  display: flex;
  flex-grow: 1;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
  margin-left: auto;
  margin-right: 0;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  margin: 0;
}

@media (min-width: 782px) {
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100%;
    top: -1px;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before {
    background: rgba(0, 0, 0, 0);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: 100%;
    width: 0.5em;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
    margin-right: 0.25em;
  }
  .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg {
    transform: rotate(-90deg);
  }
}
.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true] ~ .wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
  height: auto;
  min-width: 200px;
  opacity: 1;
  overflow: visible;
  visibility: visible;
  width: auto;
}

.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container {
  left: 0;
  top: 100%;
}

@media (min-width: 782px) {
  .wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: 100%;
    top: 0;
  }
}
.wp-block-navigation-submenu {
  display: flex;
  position: relative;
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
  stroke: currentColor;
}

button.wp-block-navigation-item__content {
  background-color: initial;
  border: none;
  color: currentColor;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  text-transform: inherit;
}

.wp-block-navigation-submenu__toggle {
  cursor: pointer;
}

.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle {
  padding-left: 0;
  padding-right: 0.85em;
}

.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle + .wp-block-navigation__submenu-icon {
  margin-left: -0.6em;
  pointer-events: none;
}

.wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle) {
  padding: 0;
}

.wp-block-navigation .wp-block-page-list, .wp-block-navigation__container, .wp-block-navigation__responsive-close, .wp-block-navigation__responsive-container, .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-dialog {
  gap: inherit;
}

:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)), :where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)) {
  padding: 0.5em 1em;
}

:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)), :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)), :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content), :where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content) {
  padding: 0.5em 1em;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container {
  left: auto;
  right: 0;
}

.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  left: -1px;
  right: -1px;
}

@media (min-width: 782px) {
  .wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-right .wp-block-page-list > .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between .wp-block-page-list > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container, .wp-block-navigation.items-justified-space-between > .wp-block-navigation__container > .has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
    left: auto;
    right: 100%;
  }
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1490196078);
}

.wp-block-navigation.has-background .wp-block-navigation__submenu-container {
  background-color: inherit;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
  color: #000;
}

.wp-block-navigation__container {
  align-items: var(--navigation-layout-align, initial);
  display: flex;
  flex-direction: var(--navigation-layout-direction, initial);
  flex-wrap: var(--navigation-layout-wrap, wrap);
  justify-content: var(--navigation-layout-justify, initial);
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.wp-block-navigation__container .is-responsive {
  display: none;
}

.wp-block-navigation__container:only-child, .wp-block-page-list:only-child {
  flex-grow: 1;
}

@keyframes overlay-menu__fade-in-animation {
  0% {
    opacity: 0;
    transform: translateY(0.5em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.wp-block-navigation__responsive-container {
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
}

.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a) {
  color: inherit;
}

.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
  align-items: var(--navigation-layout-align, initial);
  display: flex;
  flex-direction: var(--navigation-layout-direction, initial);
  flex-wrap: var(--navigation-layout-wrap, wrap);
  justify-content: var(--navigation-layout-justify, initial);
}

.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
  background-color: inherit !important;
  color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
  animation: overlay-menu__fade-in-animation 0.1s ease-out;
  animation-fill-mode: forwards;
  background-color: inherit;
  display: flex;
  flex-direction: column;
  overflow: auto;
  padding: clamp(1rem, var(--wp--style--root--padding-top), 20rem) clamp(1rem, var(--wp--style--root--padding-right), 20rem) clamp(1rem, var(--wp--style--root--padding-bottom), 20rem) clamp(1rem, var(--wp--style--root--padding-left), 20em);
  z-index: 100000;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation__responsive-container.is-menu-open {
    animation-delay: 0s;
    animation-duration: 1ms;
  }
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: var(--navigation-layout-justification-setting, inherit);
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  overflow: visible;
  padding-top: calc(2rem + 24px);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
  justify-content: flex-start;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
  display: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
  border: none;
  height: auto;
  min-width: 200px;
  opacity: 1;
  overflow: initial;
  padding-left: 2rem;
  padding-right: 2rem;
  position: static;
  visibility: visible;
  width: auto;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  gap: inherit;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
  padding-top: var(--wp--style--block-gap, 2em);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
  padding: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
  align-items: var(--navigation-layout-justification-setting, initial);
  display: flex;
  flex-direction: column;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list {
  background: rgba(0, 0, 0, 0) !important;
  color: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
  left: auto;
  right: auto;
}

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    background-color: inherit;
    display: block;
    position: relative;
    width: 100%;
    z-index: auto;
  }
  .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display: none;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
    left: 0;
  }
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
  background-color: #fff;
}

.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
  color: #000;
}

.wp-block-navigation__toggle_button_label {
  font-size: 1rem;
  font-weight: 700;
}

.wp-block-navigation__responsive-container-close, .wp-block-navigation__responsive-container-open {
  background: rgba(0, 0, 0, 0);
  border: none;
  color: currentColor;
  cursor: pointer;
  margin: 0;
  padding: 0;
  text-transform: inherit;
  vertical-align: middle;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
  fill: currentColor;
  display: block;
  height: 24px;
  pointer-events: none;
  width: 24px;
}

.wp-block-navigation__responsive-container-open {
  display: flex;
}

.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

@media (min-width: 600px) {
  .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: none;
  }
}
.wp-block-navigation__responsive-container-close {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}

.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.wp-block-navigation__responsive-close {
  width: 100%;
}

.has-modal-open .wp-block-navigation__responsive-close {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--wp--style--global--wide-size, 100%);
}

.wp-block-navigation__responsive-close:focus {
  outline: none;
}

.is-menu-open .wp-block-navigation__responsive-close, .is-menu-open .wp-block-navigation__responsive-container-content, .is-menu-open .wp-block-navigation__responsive-dialog {
  box-sizing: border-box;
}

.wp-block-navigation__responsive-dialog {
  position: relative;
}

.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
  margin-top: 46px;
}

@media (min-width: 782px) {
  .has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
    margin-top: 32px;
  }
}
html.has-modal-open {
  overflow: hidden;
}

.wp-block-navigation .wp-block-navigation-item__label {
  overflow-wrap: break-word;
}

.wp-block-navigation .wp-block-navigation-item__description {
  display: none;
}

.link-ui-tools {
  border-top: 1px solid #f0f0f0;
  padding: 8px;
}

.link-ui-block-inserter {
  padding-top: 8px;
}

.link-ui-block-inserter__back {
  margin-left: 8px;
  text-transform: uppercase;
}

.components-popover-pointer-events-trap {
  background-color: initial;
  cursor: pointer;
  inset: 0;
  position: fixed;
  z-index: 1000000;
}

.wp-block-navigation .wp-block-page-list {
  align-items: var(--navigation-layout-align, initial);
  background-color: inherit;
  display: flex;
  flex-direction: var(--navigation-layout-direction, initial);
  flex-wrap: var(--navigation-layout-wrap, wrap);
  justify-content: var(--navigation-layout-justify, initial);
}

.wp-block-navigation .wp-block-navigation-item {
  background-color: inherit;
}

.is-small-text {
  font-size: 0.875em;
}

.is-regular-text {
  font-size: 1em;
}

.is-large-text {
  font-size: 2.25em;
}

.is-larger-text {
  font-size: 3em;
}

.has-drop-cap:not(:focus):first-letter {
  float: left;
  font-size: 8.4em;
  font-style: normal;
  font-weight: 100;
  line-height: 0.68;
  margin: 0.05em 0.1em 0 0;
  text-transform: uppercase;
}

body.rtl .has-drop-cap:not(:focus):first-letter {
  float: none;
  margin-left: 0.1em;
}

p.has-drop-cap.has-background {
  overflow: hidden;
}

p.has-background {
  padding: 1.25em 2.375em;
}

:where(p.has-text-color:not(.has-link-color)) a {
  color: inherit;
}

p.has-text-align-left[style*="writing-mode:vertical-lr"], p.has-text-align-right[style*="writing-mode:vertical-rl"] {
  rotate: 180deg;
}

.wp-block-post-author {
  display: flex;
  flex-wrap: wrap;
}

.wp-block-post-author__byline {
  font-size: 0.5em;
  margin-bottom: 0;
  margin-top: 0;
  width: 100%;
}

.wp-block-post-author__avatar {
  margin-right: 1em;
}

.wp-block-post-author__bio {
  font-size: 0.7em;
  margin-bottom: 0.7em;
}

.wp-block-post-author__content {
  flex-basis: 0;
  flex-grow: 1;
}

.wp-block-post-author__name {
  margin: 0;
}

.wp-block-post-comments-form {
  box-sizing: border-box;
}

.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title) {
  font-weight: inherit;
}

.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title) {
  font-family: inherit;
}

.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title), .wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title) {
  font-size: inherit;
}

.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title) {
  line-height: inherit;
}

.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title) {
  font-style: inherit;
}

.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title) {
  letter-spacing: inherit;
}

.wp-block-post-comments-form input[type=submit] {
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  overflow-wrap: break-word;
  text-align: center;
}

.wp-block-post-comments-form input:not([type=submit]), .wp-block-post-comments-form textarea {
  border: 1px solid #949494;
  font-family: inherit;
  font-size: 1em;
}

.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]), .wp-block-post-comments-form textarea {
  padding: calc(0.667em + 2px);
}

.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]):not([type=hidden]), .wp-block-post-comments-form .comment-form textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

.wp-block-post-comments-form .comment-form-author label, .wp-block-post-comments-form .comment-form-email label, .wp-block-post-comments-form .comment-form-url label {
  display: block;
  margin-bottom: 0.25em;
}

.wp-block-post-comments-form .comment-form-cookies-consent {
  display: flex;
  gap: 0.25em;
}

.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent {
  margin-top: 0.35em;
}

.wp-block-post-comments-form .comment-reply-title {
  margin-bottom: 0;
}

.wp-block-post-comments-form .comment-reply-title :where(small) {
  font-size: var(--wp--preset--font-size--medium, smaller);
  margin-left: 0.5em;
}

.wp-block-post-date {
  box-sizing: border-box;
}

:where(.wp-block-post-excerpt) {
  margin-bottom: var(--wp--style--block-gap);
  margin-top: var(--wp--style--block-gap);
}

.wp-block-post-excerpt__excerpt {
  margin-bottom: 0;
  margin-top: 0;
}

.wp-block-post-excerpt__more-text {
  margin-bottom: 0;
  margin-top: var(--wp--style--block-gap);
}

.wp-block-post-excerpt__more-link {
  display: inline-block;
}

.wp-block-post-featured-image {
  margin-left: 0;
  margin-right: 0;
}

.wp-block-post-featured-image a {
  display: block;
  height: 100%;
}

.wp-block-post-featured-image img {
  box-sizing: border-box;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  width: 100%;
}

.wp-block-post-featured-image.is-style-alignfull img, .wp-block-post-featured-image.is-style-alignwide img {
  width: 100%;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim {
  background-color: #000;
  inset: 0;
  position: absolute;
}

.wp-block-post-featured-image {
  position: relative;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient {
  background-color: initial;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0 {
  opacity: 0;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10 {
  opacity: 0.1;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20 {
  opacity: 0.2;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30 {
  opacity: 0.3;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40 {
  opacity: 0.4;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50 {
  opacity: 0.5;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60 {
  opacity: 0.6;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70 {
  opacity: 0.7;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80 {
  opacity: 0.8;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90 {
  opacity: 0.9;
}

.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100 {
  opacity: 1;
}

.wp-block-post-featured-image:where(.alignleft, .alignright) {
  width: 100%;
}

.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous {
  display: inline-block;
  margin-right: 1ch;
}

.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next {
  display: inline-block;
  margin-left: 1ch;
}

.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"], .wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"] {
  rotate: 180deg;
}

.wp-block-post-terms {
  box-sizing: border-box;
}

.wp-block-post-terms .wp-block-post-terms__separator {
  white-space: pre-wrap;
}

.wp-block-post-time-to-read, .wp-block-post-title {
  box-sizing: border-box;
}

.wp-block-post-title {
  word-break: break-word;
}

.wp-block-post-title a {
  display: inline-block;
}

.wp-block-preformatted {
  box-sizing: border-box;
  white-space: pre-wrap;
}

:where(.wp-block-preformatted.has-background) {
  padding: 1.25em 2.375em;
}

.wp-block-pullquote {
  box-sizing: border-box;
  overflow-wrap: break-word;
  padding: 4em 0;
  text-align: center;
}

.wp-block-pullquote blockquote, .wp-block-pullquote cite, .wp-block-pullquote p {
  color: inherit;
}

.wp-block-pullquote blockquote {
  margin: 0;
}

.wp-block-pullquote p {
  margin-top: 0;
}

.wp-block-pullquote p:last-child {
  margin-bottom: 0;
}

.wp-block-pullquote.alignleft, .wp-block-pullquote.alignright {
  max-width: 420px;
}

.wp-block-pullquote cite, .wp-block-pullquote footer {
  position: relative;
}

.wp-block-pullquote .has-text-color a {
  color: inherit;
}

:where(.wp-block-pullquote) {
  margin: 0 0 1em;
}

.wp-block-pullquote.has-text-align-left blockquote {
  text-align: left;
}

.wp-block-pullquote.has-text-align-right blockquote {
  text-align: right;
}

.wp-block-pullquote.is-style-solid-color {
  border: none;
}

.wp-block-pullquote.is-style-solid-color blockquote {
  margin-left: auto;
  margin-right: auto;
  max-width: 60%;
}

.wp-block-pullquote.is-style-solid-color blockquote p {
  font-size: 2em;
  margin-bottom: 0;
  margin-top: 0;
}

.wp-block-pullquote.is-style-solid-color blockquote cite {
  font-style: normal;
  text-transform: none;
}

.wp-block-pullquote cite {
  color: inherit;
}

.wp-block-post-template {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  max-width: 100%;
  padding: 0;
}

.wp-block-post-template.wp-block-post-template {
  background: none;
}

.wp-block-post-template.is-flex-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.25em;
}

.wp-block-post-template.is-flex-container > li {
  margin: 0;
  width: 100%;
}

@media (min-width: 600px) {
  .wp-block-post-template.is-flex-container.is-flex-container.columns-2 > li {
    width: calc(50% - 0.625em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-3 > li {
    width: calc(33.33333% - 0.83333em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-4 > li {
    width: calc(25% - 0.9375em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-5 > li {
    width: calc(20% - 1em);
  }
  .wp-block-post-template.is-flex-container.is-flex-container.columns-6 > li {
    width: calc(16.66667% - 1.04167em);
  }
}
@media (max-width: 600px) {
  .wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid.wp-block-post-template-is-layout-grid {
    grid-template-columns: 1fr;
  }
}
.wp-block-post-template-is-layout-constrained > li > .alignright, .wp-block-post-template-is-layout-flow > li > .alignright {
  float: right;
  -webkit-margin-end: 0;
          margin-inline-end: 0;
  -webkit-margin-start: 2em;
          margin-inline-start: 2em;
}

.wp-block-post-template-is-layout-constrained > li > .alignleft, .wp-block-post-template-is-layout-flow > li > .alignleft {
  float: left;
  -webkit-margin-end: 2em;
          margin-inline-end: 2em;
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}

.wp-block-post-template-is-layout-constrained > li > .aligncenter, .wp-block-post-template-is-layout-flow > li > .aligncenter {
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.wp-block-query-pagination > .wp-block-query-pagination-next, .wp-block-query-pagination > .wp-block-query-pagination-numbers, .wp-block-query-pagination > .wp-block-query-pagination-previous {
  margin-bottom: 0.5em;
  margin-right: 0.5em;
}

.wp-block-query-pagination > .wp-block-query-pagination-next:last-child, .wp-block-query-pagination > .wp-block-query-pagination-numbers:last-child, .wp-block-query-pagination > .wp-block-query-pagination-previous:last-child {
  margin-right: 0;
}

.wp-block-query-pagination.is-content-justification-space-between > .wp-block-query-pagination-next:last-of-type {
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}

.wp-block-query-pagination.is-content-justification-space-between > .wp-block-query-pagination-previous:first-child {
  -webkit-margin-end: auto;
          margin-inline-end: auto;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
  display: inline-block;
  margin-right: 1ch;
}

.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow {
  display: inline-block;
  margin-left: 1ch;
}

.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron) {
  transform: scaleX(1);
}

.wp-block-query-pagination.aligncenter {
  justify-content: center;
}

.wp-block-query-title, .wp-block-quote {
  box-sizing: border-box;
}

.wp-block-quote {
  overflow-wrap: break-word;
}

.wp-block-quote.is-large:where(:not(.is-style-plain)), .wp-block-quote.is-style-large:where(:not(.is-style-plain)) {
  margin-bottom: 1em;
  padding: 0 1em;
}

.wp-block-quote.is-large:where(:not(.is-style-plain)) p, .wp-block-quote.is-style-large:where(:not(.is-style-plain)) p {
  font-size: 1.5em;
  font-style: italic;
  line-height: 1.6;
}

.wp-block-quote.is-large:where(:not(.is-style-plain)) cite, .wp-block-quote.is-large:where(:not(.is-style-plain)) footer, .wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite, .wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer {
  font-size: 1.125em;
  text-align: right;
}

.wp-block-quote > cite {
  display: block;
}

.wp-block-read-more {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}

.wp-block-read-more:where(:not([style*=text-decoration])) {
  text-decoration: none;
}

.wp-block-read-more:where(:not([style*=text-decoration])):active, .wp-block-read-more:where(:not([style*=text-decoration])):focus {
  text-decoration: none;
}

ul.wp-block-rss {
  list-style: none;
  padding: 0;
}

ul.wp-block-rss.wp-block-rss {
  box-sizing: border-box;
}

ul.wp-block-rss.alignleft {
  margin-right: 2em;
}

ul.wp-block-rss.alignright {
  margin-left: 2em;
}

ul.wp-block-rss.is-grid {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}

ul.wp-block-rss.is-grid li {
  margin: 0 1em 1em 0;
  width: 100%;
}

@media (min-width: 600px) {
  ul.wp-block-rss.columns-2 li {
    width: calc(50% - 1em);
  }
  ul.wp-block-rss.columns-3 li {
    width: calc(33.33333% - 1em);
  }
  ul.wp-block-rss.columns-4 li {
    width: calc(25% - 1em);
  }
  ul.wp-block-rss.columns-5 li {
    width: calc(20% - 1em);
  }
  ul.wp-block-rss.columns-6 li {
    width: calc(16.66667% - 1em);
  }
}
.wp-block-rss__item-author, .wp-block-rss__item-publish-date {
  display: block;
  font-size: 0.8125em;
}

.wp-block-search__button {
  margin-left: 10px;
  word-break: normal;
}

.wp-block-search__button.has-icon {
  line-height: 0;
}

.wp-block-search__button svg {
  height: 1.25em;
  min-height: 24px;
  min-width: 24px;
  width: 1.25em;
  fill: currentColor;
  vertical-align: text-bottom;
}

:where(.wp-block-search__button) {
  border: 1px solid #ccc;
  padding: 6px 10px;
}

.wp-block-search__inside-wrapper {
  display: flex;
  flex: auto;
  flex-wrap: nowrap;
  max-width: 100%;
}

.wp-block-search__label {
  width: 100%;
}

.wp-block-search__input {
  -webkit-appearance: initial;
  -moz-appearance: none;
       appearance: none;
  border: 1px solid #949494;
  flex-grow: 1;
  margin-left: 0;
  margin-right: 0;
  min-width: 3rem;
  padding: 8px;
  text-decoration: unset !important;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  flex-shrink: 0;
  margin-left: 0;
  max-width: 100%;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true] {
  max-width: calc(100% - 100px);
}

.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper {
  min-width: 0 !important;
  transition-property: width;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__input {
  flex-basis: 100%;
  transition-duration: 0.3s;
}

.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden, .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper {
  overflow: hidden;
}

.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input {
  border-left-width: 0 !important;
  border-right-width: 0 !important;
  flex-basis: 0;
  flex-grow: 0;
  margin: 0;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 0 !important;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
  border: 1px solid #949494;
  box-sizing: border-box;
  padding: 4px;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input {
  border: none;
  border-radius: 0;
  padding: 0 4px;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus {
  outline: none;
}

:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button) {
  padding: 4px 8px;
}

.wp-block-search.aligncenter .wp-block-search__inside-wrapper {
  margin: auto;
}

.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper {
  float: right;
}

.wp-block-separator {
  border: none;
  border-top: 2px solid;
}

.wp-block-separator.is-style-dots {
  background: none !important;
  border: none;
  height: auto;
  line-height: 1;
  text-align: center;
}

.wp-block-separator.is-style-dots:before {
  color: currentColor;
  content: "···";
  font-family: serif;
  font-size: 1.5em;
  letter-spacing: 2em;
  padding-left: 2em;
}

.wp-block-site-logo {
  box-sizing: border-box;
  line-height: 0;
}

.wp-block-site-logo a {
  display: inline-block;
  line-height: 0;
}

.wp-block-site-logo.is-default-size img {
  height: auto;
  width: 120px;
}

.wp-block-site-logo img {
  height: auto;
  max-width: 100%;
}

.wp-block-site-logo a, .wp-block-site-logo img {
  border-radius: inherit;
}

.wp-block-site-logo.aligncenter {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wp-block-site-logo.is-style-rounded {
  border-radius: 9999px;
}

.wp-block-site-title a {
  color: inherit;
}

.wp-block-social-links {
  background: none;
  box-sizing: border-box;
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  text-indent: 0;
}

.wp-block-social-links .wp-social-link a, .wp-block-social-links .wp-social-link a:hover {
  border-bottom: 0;
  box-shadow: none;
  text-decoration: none;
}

.wp-block-social-links .wp-social-link a {
  padding: 0.25em;
}

.wp-block-social-links .wp-social-link svg {
  height: 1em;
  width: 1em;
}

.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
  font-size: 0.65em;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.wp-block-social-links.has-small-icon-size {
  font-size: 16px;
}

.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
  font-size: 24px;
}

.wp-block-social-links.has-large-icon-size {
  font-size: 36px;
}

.wp-block-social-links.has-huge-icon-size {
  font-size: 48px;
}

.wp-block-social-links.aligncenter {
  display: flex;
  justify-content: center;
}

.wp-block-social-links.alignright {
  justify-content: flex-end;
}

.wp-block-social-link {
  border-radius: 9999px;
  display: block;
  height: auto;
  transition: transform 0.1s ease;
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-social-link {
    transition-delay: 0s;
    transition-duration: 0s;
  }
}
.wp-block-social-link a {
  align-items: center;
  display: flex;
  line-height: 0;
  transition: transform 0.1s ease;
}

.wp-block-social-link:hover {
  transform: scale(1.1);
}

.wp-block-social-links .wp-block-social-link.wp-social-link {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover, .wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited {
  color: currentColor;
  fill: currentColor;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link {
  background-color: #f0f0f0;
  color: #444;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon {
  background-color: #f90;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp {
  background-color: #1ea0c3;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance {
  background-color: #0757fe;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen {
  background-color: #1e1f26;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart {
  background-color: #02e49b;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble {
  background-color: #e94c89;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox {
  background-color: #4280ff;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy {
  background-color: #f45800;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook {
  background-color: #1778f2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr {
  background-color: #0461dd;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare {
  background-color: #e65678;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github {
  background-color: #24292d;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads {
  background-color: #eceadd;
  color: #382110;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google {
  background-color: #ea4434;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-gravatar {
  background-color: #1d4fc4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram {
  background-color: #f00075;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm {
  background-color: #e21b24;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin {
  background-color: #0d66c2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon {
  background-color: #3288d4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium {
  background-color: #02ab6c;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup {
  background-color: #f6405f;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest {
  background-color: #e60122;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket {
  background-color: #ef4155;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit {
  background-color: #ff4500;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype {
  background-color: #0478d7;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat {
  background-color: #fefc00;
  color: #fff;
  stroke: #000;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud {
  background-color: #ff5600;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify {
  background-color: #1bd760;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram {
  background-color: #2aabee;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-threads, .wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr {
  background-color: #011835;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch {
  background-color: #6440a4;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter {
  background-color: #1da1f2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo {
  background-color: #1eb7ea;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk {
  background-color: #4680c2;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress {
  background-color: #3499cd;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp {
  background-color: #25d366;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-x {
  background-color: #000;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp {
  background-color: #d32422;
  color: #fff;
}

.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube {
  background-color: red;
  color: #fff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link {
  background: none;
}

.wp-block-social-links.is-style-logos-only .wp-social-link a {
  padding: 0;
}

.wp-block-social-links.is-style-logos-only .wp-social-link svg {
  height: 1.25em;
  width: 1.25em;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-amazon {
  color: #f90;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp {
  color: #1ea0c3;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-behance {
  color: #0757fe;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-codepen {
  color: #1e1f26;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart {
  color: #02e49b;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble {
  color: #e94c89;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox {
  color: #4280ff;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-etsy {
  color: #f45800;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-facebook {
  color: #1778f2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-flickr {
  color: #0461dd;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare {
  color: #e65678;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-github {
  color: #24292d;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads {
  color: #382110;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-google {
  color: #ea4434;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-gravatar {
  color: #1d4fc4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-instagram {
  color: #f00075;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm {
  color: #e21b24;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin {
  color: #0d66c2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon {
  color: #3288d4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-medium {
  color: #02ab6c;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-meetup {
  color: #f6405f;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-patreon {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest {
  color: #e60122;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-pocket {
  color: #ef4155;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-reddit {
  color: #ff4500;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-skype {
  color: #0478d7;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat {
  color: #fff;
  stroke: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud {
  color: #ff5600;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-spotify {
  color: #1bd760;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-telegram {
  color: #2aabee;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-threads, .wp-block-social-links.is-style-logos-only .wp-social-link-tiktok {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr {
  color: #011835;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitch {
  color: #6440a4;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-twitter {
  color: #1da1f2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo {
  color: #1eb7ea;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-vk {
  color: #4680c2;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp {
  color: #25d366;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress {
  color: #3499cd;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-x {
  color: #000;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-yelp {
  color: #d32422;
}

.wp-block-social-links.is-style-logos-only .wp-social-link-youtube {
  color: red;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link {
  width: auto;
}

.wp-block-social-links.is-style-pill-shape .wp-social-link a {
  padding-left: 0.66667em;
  padding-right: 0.66667em;
}

.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label {
  color: #000;
}

.wp-block-spacer {
  clear: both;
}

.wp-block-tag-cloud {
  box-sizing: border-box;
}

.wp-block-tag-cloud.aligncenter {
  justify-content: center;
  text-align: center;
}

.wp-block-tag-cloud.is-style-alignfull {
  padding-left: 1em;
  padding-right: 1em;
}

.wp-block-tag-cloud a {
  display: inline-block;
  margin-right: 5px;
}

.wp-block-tag-cloud span {
  display: inline-block;
  margin-left: 5px;
  text-decoration: none;
}

.wp-block-tag-cloud.is-style-outline {
  display: flex;
  flex-wrap: wrap;
  gap: 1ch;
}

.wp-block-tag-cloud.is-style-outline a {
  border: 1px solid;
  font-size: unset !important;
  margin-right: 0;
  padding: 1ch 2ch;
  text-decoration: none !important;
}

.wp-block-table {
  overflow-x: auto;
}

.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table thead {
  border-bottom: 3px solid;
}

.wp-block-table tfoot {
  border-top: 3px solid;
}

.wp-block-table td, .wp-block-table th {
  border: 1px solid;
  padding: 0.5em;
}

.wp-block-table .has-fixed-layout {
  table-layout: fixed;
  width: 100%;
}

.wp-block-table .has-fixed-layout td, .wp-block-table .has-fixed-layout th {
  word-break: break-word;
}

.wp-block-table.aligncenter, .wp-block-table.alignleft, .wp-block-table.alignright {
  display: table;
  width: auto;
}

.wp-block-table.aligncenter td, .wp-block-table.aligncenter th, .wp-block-table.alignleft td, .wp-block-table.alignleft th, .wp-block-table.alignright td, .wp-block-table.alignright th {
  word-break: break-word;
}

.wp-block-table .has-subtle-light-gray-background-color {
  background-color: #f3f4f5;
}

.wp-block-table .has-subtle-pale-green-background-color {
  background-color: #e9fbe5;
}

.wp-block-table .has-subtle-pale-blue-background-color {
  background-color: #e7f5fe;
}

.wp-block-table .has-subtle-pale-pink-background-color {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes {
  background-color: initial;
  border-bottom: 1px solid #f0f0f0;
  border-collapse: inherit;
  border-spacing: 0;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #f0f0f0;
}

.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd) {
  background-color: #f3f4f5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd) {
  background-color: #e9fbe5;
}

.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd) {
  background-color: #e7f5fe;
}

.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd) {
  background-color: #fcf0ef;
}

.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th {
  border-color: rgba(0, 0, 0, 0);
}

.wp-block-table .has-border-color td, .wp-block-table .has-border-color th, .wp-block-table .has-border-color tr, .wp-block-table .has-border-color > * {
  border-color: inherit;
}

.wp-block-table table[style*=border-top-color] tr:first-child, .wp-block-table table[style*=border-top-color] tr:first-child td, .wp-block-table table[style*=border-top-color] tr:first-child th, .wp-block-table table[style*=border-top-color] > *, .wp-block-table table[style*=border-top-color] > * td, .wp-block-table table[style*=border-top-color] > * th {
  border-top-color: inherit;
}

.wp-block-table table[style*=border-top-color] tr:not(:first-child) {
  border-top-color: initial;
}

.wp-block-table table[style*=border-right-color] td:last-child, .wp-block-table table[style*=border-right-color] th, .wp-block-table table[style*=border-right-color] tr, .wp-block-table table[style*=border-right-color] > * {
  border-right-color: inherit;
}

.wp-block-table table[style*=border-bottom-color] tr:last-child, .wp-block-table table[style*=border-bottom-color] tr:last-child td, .wp-block-table table[style*=border-bottom-color] tr:last-child th, .wp-block-table table[style*=border-bottom-color] > *, .wp-block-table table[style*=border-bottom-color] > * td, .wp-block-table table[style*=border-bottom-color] > * th {
  border-bottom-color: inherit;
}

.wp-block-table table[style*=border-bottom-color] tr:not(:last-child) {
  border-bottom-color: initial;
}

.wp-block-table table[style*=border-left-color] td:first-child, .wp-block-table table[style*=border-left-color] th, .wp-block-table table[style*=border-left-color] tr, .wp-block-table table[style*=border-left-color] > * {
  border-left-color: inherit;
}

.wp-block-table table[style*=border-style] td, .wp-block-table table[style*=border-style] th, .wp-block-table table[style*=border-style] tr, .wp-block-table table[style*=border-style] > * {
  border-style: inherit;
}

.wp-block-table table[style*=border-width] td, .wp-block-table table[style*=border-width] th, .wp-block-table table[style*=border-width] tr, .wp-block-table table[style*=border-width] > * {
  border-style: inherit;
  border-width: inherit;
}

:where(.wp-block-term-description) {
  margin-bottom: var(--wp--style--block-gap);
  margin-top: var(--wp--style--block-gap);
}

.wp-block-term-description p {
  margin-bottom: 0;
  margin-top: 0;
}

.wp-block-text-columns, .wp-block-text-columns.aligncenter {
  display: flex;
}

.wp-block-text-columns .wp-block-column {
  margin: 0 1em;
  padding: 0;
}

.wp-block-text-columns .wp-block-column:first-child {
  margin-left: 0;
}

.wp-block-text-columns .wp-block-column:last-child {
  margin-right: 0;
}

.wp-block-text-columns.columns-2 .wp-block-column {
  width: 50%;
}

.wp-block-text-columns.columns-3 .wp-block-column {
  width: 33.33333%;
}

.wp-block-text-columns.columns-4 .wp-block-column {
  width: 25%;
}

pre.wp-block-verse {
  overflow: auto;
  white-space: pre-wrap;
}

:where(pre.wp-block-verse) {
  font-family: inherit;
}

.wp-block-video {
  box-sizing: border-box;
}

.wp-block-video video {
  vertical-align: middle;
  width: 100%;
}

@supports (position: sticky) {
  .wp-block-video [poster] {
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.wp-block-video.aligncenter {
  text-align: center;
}

.wp-block-video figcaption {
  margin-bottom: 1em;
  margin-top: 0.5em;
}

.editor-styles-wrapper, .entry-content {
  counter-reset: footnotes;
}

a[data-fn].fn {
  counter-increment: footnotes;
  display: inline-flex;
  font-size: smaller;
  text-decoration: none;
  text-indent: -9999999px;
  vertical-align: super;
}

a[data-fn].fn:after {
  content: "[" counter(footnotes) "]";
  float: left;
  text-indent: 0;
}

.wp-element-button {
  cursor: pointer;
}

:root {
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px ;
}

:root .has-very-light-gray-background-color {
  background-color: #eee;
}

:root .has-very-dark-gray-background-color {
  background-color: #313131;
}

:root .has-very-light-gray-color {
  color: #eee;
}

:root .has-very-dark-gray-color {
  color: #313131;
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
  background: linear-gradient(135deg, #00d084, #0693e3);
}

:root .has-purple-crush-gradient-background {
  background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe);
}

:root .has-hazy-dawn-gradient-background {
  background: linear-gradient(135deg, #faaca8, #dad0ec);
}

:root .has-subdued-olive-gradient-background {
  background: linear-gradient(135deg, #fafae1, #67a671);
}

:root .has-atomic-cream-gradient-background {
  background: linear-gradient(135deg, #fdd79a, #004a59);
}

:root .has-nightshade-gradient-background {
  background: linear-gradient(135deg, #330968, #31cdcf);
}

:root .has-midnight-gradient-background {
  background: linear-gradient(135deg, #020381, #2874fc);
}

.has-regular-font-size {
  font-size: 1em;
}

.has-larger-font-size {
  font-size: 2.625em;
}

.has-normal-font-size {
  font-size: var(--wp--preset--font-size--normal);
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge);
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

#end-resizable-editor-section {
  display: none;
}

.aligncenter {
  clear: both;
}

.items-justified-left {
  justify-content: flex-start;
}

.items-justified-center {
  justify-content: center;
}

.items-justified-right {
  justify-content: flex-end;
}

.items-justified-space-between {
  justify-content: space-between;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

html :where(.has-border-color) {
  border-style: solid;
}

html :where([style*=border-top-color]) {
  border-top-style: solid;
}

html :where([style*=border-right-color]) {
  border-right-style: solid;
}

html :where([style*=border-bottom-color]) {
  border-bottom-style: solid;
}

html :where([style*=border-left-color]) {
  border-left-style: solid;
}

html :where([style*=border-width]) {
  border-style: solid;
}

html :where([style*=border-top-width]) {
  border-top-style: solid;
}

html :where([style*=border-right-width]) {
  border-right-style: solid;
}

html :where([style*=border-bottom-width]) {
  border-bottom-style: solid;
}

html :where([style*=border-left-width]) {
  border-left-style: solid;
}

html :where(img[class*=wp-image-]) {
  height: auto;
  max-width: 100%;
}

:where(figure) {
  margin: 0 0 1em;
}

html :where(.is-position-sticky) {
  --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px) ;
}

@media screen and (max-width: 600px) {
  html :where(.is-position-sticky) {
    --wp-admin--admin-bar--position-offset: 0px ;
  }
}
/* ==========================================================
!Skip nav
========================================================== */
#skipnav {
  display: none;
}
@media only screen and (min-width: 960px), print {
  #skipnav {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    overflow: hidden;
    background-color: #000000;
    color: #fff;
    font-size: 12px;
  }
  #skipnav:focus {
    z-index: 100000;
  }
}

#anchor-main {
  font-size: 0;
  outline: 0;
}

/* ==========================================================
!structure
========================================================== */
.l-contents {
  container-type: inline-size;
  padding-top: 60px;
}
@media only screen and (min-width: 1024px), print {
  .l-contents {
    padding-top: 90px;
  }
}

.l-main {
  margin-top: 16px;
}
@media only screen and (min-width: 1024px), print {
  .l-main {
    margin-top: 24px;
  }
}

.l-outer {
  margin-left: 16px;
  margin-right: 16px;
}
@media only screen and (min-width: 960px), print {
  .l-outer {
    margin-left: 24px;
    margin-right: 24px;
  }
}

.l-inner {
  max-width: 1364px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 8px;
  padding-right: 8px;
}
@media only screen and (min-width: 960px), print {
  .l-inner {
    padding-left: 0;
    padding-right: 0;
  }
}

/* 2カラム
---------------------*/
.l-split {
  display: grid;
  gap: 30px;
  max-width: 1364px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
  padding-left: 20px;
  padding-right: 20px;
}
.l-split__main {
  container-type: inline-size;
}
@media only screen and (min-width: 960px), print {
  .l-split {
    display: flex;
    gap: 5.27%;
    margin-bottom: 200px;
    box-sizing: content-box;
  }
  .l-split * {
    box-sizing: border-box;
  }
  .l-split__main {
    flex-grow: 1;
  }
  .l-split__side {
    flex-shrink: 0;
    position: sticky;
    top: 100px;
    z-index: 1;
    align-self: flex-start;
    width: clamp(200px, 21.55%, 294px);
  }
}

/* ==========================================================
!Radius Section 背景色付き角丸セクション
========================================================== */
.l-r-section {
  position: relative;
  z-index: 1;
  padding-top: 50px;
  padding-bottom: 100px;
  background-color: #F8F8F8;
  border-radius: 40px 40px 0 0;
}
.l-r-section + .l-r-section {
  margin-top: -40px;
}
@media only screen and (min-width: 960px), print {
  .l-r-section {
    padding-top: 80px;
    padding-bottom: 200px;
    border-radius: 72px 72px 0 0;
  }
  .l-r-section + .l-r-section {
    margin-top: -72px;
  }
}
@container (min-width: 640px) {
  .l-r-section .l-media-section + .l-media-section {
    border-top: none;
  }
}
.l-r-section.l-r-section--border .l-media-section + .l-media-section {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #CFCFCF;
}
@container (min-width: 640px) {
  .l-r-section.l-r-section--border .l-media-section + .l-media-section {
    margin-top: min(9%, 80px);
    padding-top: min(9%, 80px);
  }
}

.l-r-section--grad1 {
  background-image: linear-gradient(90deg, #dff4f7, #fdf8fc);
}

.l-r-section--blue {
  background-color: #E5F3F8;
}

.l-r-section--blue-grad {
  background-color: hsl(195, 76%, 94%);
  background-image: radial-gradient(circle at 40% 20%, hsl(211.7647058824, 83%, 91%) 0%, transparent 50%), radial-gradient(circle at 80% 0%, hsl(225, 67%, 93%) 0%, transparent 50%), radial-gradient(circle at 0% 50%, hsl(189, 55%, 92%) 0%, transparent 50%);
  background-blend-mode: normal, normal, normal;
}

.l-r-section--white {
  background-color: #FFFFFF;
}

.l-r-section--white2 {
  margin-top: 40px;
  padding: 40px;
  border-top: 1px solid #CFCFCF;
  border-radius: 16px;
  background-color: #FFFFFF;
}

.l-r-section--footer {
  background: url(../../common/img/bg_footer01.png) 0 0/140px 140px repeat;
}
@media only screen and (min-width: 960px), print {
  .l-r-section--footer {
    padding-bottom: 70px;
  }
}

/* ==========================================================
!Section 通常セクション
========================================================== */
.l-section + .l-section {
  margin-top: 80px;
}
@media only screen and (min-width: 960px), print {
  .l-section + .l-section {
    margin-top: 120px;
  }
}

.l-main > .l-section:last-child {
  padding-bottom: 100px;
}
@media only screen and (min-width: 960px), print {
  .l-main > .l-section:last-child {
    padding-bottom: 200px;
  }
}

/* ==========================================================
!Section 罫線区切りセクション
========================================================== */
.l-section--line {
  padding-block: 40px;
  border-top: 1px solid #CFCFCF;
  border-bottom: 1px solid #CFCFCF;
}
.l-section--line + .l-section--line {
  margin-top: -1px;
}

/* ==========================================================
!Header
========================================================== */
/* Header layout
------------------------------------ */
.l-header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 60px;
  background: #FFFFFF;
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
@media only screen and (min-width: 1024px), print {
  .l-header {
    height: 90px;
  }
}

.l-header__inner {
  display: flex;
  justify-content: space-between;
  height: 60px;
}
.l-header__logo {
  align-self: center;
  width: 207px;
  margin-left: 10px;
}
.l-header__nav {
  display: none;
}
@media only screen and (min-width: 1024px), print {
  .l-header__inner {
    height: 90px;
    padding: 0 20px;
  }
  .l-header__nav {
    display: flex;
    align-items: flex-end;
  }
}
@media only screen and (min-width: 1280px), print {
  .l-header__inner {
    padding: 0 20px 0 70px;
  }
  .l-header__logo {
    width: 278px;
  }
}

/* ==========================================================
!Header Menu
========================================================== */
/* Menu Trigger
------------------------------------ */
.l-menu-trigger {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 20000;
  display: grid;
  place-content: center;
  border-left: 1px solid rgba(112, 112, 112, 0.2);
  width: 64px;
  height: 60px;
}
@media only screen and (min-width: 1024px), print {
  .l-menu-trigger {
    display: none;
  }
}

/* Menu
------------------------------------ */
.l-menu {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000;
  width: 330px;
  height: 100vh;
  background: #FFFFFF;
  transform-origin: right top;
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}
.l-menu[aria-hidden=false] {
  transform: translateX(0);
}
@media only screen and (min-width: 1024px), print {
  .l-menu {
    display: none;
  }
}

/* Menu Header
------------------------------------ */
.l-menu__header {
  display: flex;
  justify-content: space-between;
  padding: 30px 30px 0 30px;
}
.l-menu__header-logo {
  width: 207px;
}

/* Menu Inner
------------------------------------ */
.l-menu__inner {
  height: calc(100vh - 70px);
  overflow-y: auto;
  padding: 0 30px 120px 30px;
}

/* Menu Item Title
------------------------------------ */
.l-menu__item-title {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 20px 30px 15px 0;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
  text-align: left;
  font-family: inherit;
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  cursor: pointer;
}
.l-menu__item-title::before {
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  color: rgba(34, 34, 34, 0.5);
}
.l-menu__item-title::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "\e908";
  font-family: "icomoon" !important;
}
.l-menu__item-title[aria-expanded=true]::after {
  content: "\e906";
}

/* Menu Item Body
------------------------------------ */
.l-menu__item-body {
  display: none;
}

/* Menu Item Links
------------------------------------ */
.l-menu__item-links {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}
.l-menu__item-links > li {
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.l-menu__item-links > li > a {
  text-decoration: none;
}
.l-menu__item-links > li > a[target=_blank]::after {
  content: "\e905";
  font-family: "icomoon" !important;
  color: rgba(34, 34, 34, 0.5);
  margin-left: 0.5em;
}
.l-menu__item-links > li.-foreiners {
  display: flex;
  justify-content: space-between;
}

/* Menu Sub Links
------------------------------------ */
.l-menu__sublinks {
  display: grid;
  gap: 8px;
  margin-block: 10px;
}
.l-menu__sublinks > li {
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}
.l-menu__sublinks > li > a {
  color: rgba(34, 34, 34, 0.5);
  text-decoration: none;
}
.l-menu__sublinks > li > a::before {
  content: "\e902";
  font-family: "icomoon" !important;
  font-size: 0.8em;
  margin-right: 0.3em;
}
.l-menu__sublinks > li > a[target=_blank]::after {
  content: "\e905";
  font-family: "icomoon" !important;
  color: rgba(34, 34, 34, 0.5);
  margin-left: 0.5em;
}

/* Menu Functions
------------------------------------ */
.l-menu__functions {
  display: grid;
  gap: 10px;
  margin-top: 30px;
}

/* Menu Overlay
------------------------------------ */
.l-menu-overlay {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(34, 34, 34, 0.5);
}
@media only screen and (min-width: 1024px), print {
  .l-menu-overlay {
    display: none;
  }
}

/* ==========================================================
!Gnavi
========================================================== */
.l-gnavi {
  display: flex;
  gap: 10px;
}
.l-gnavi li:last-child {
  margin-bottom: 16px;
}
.l-gnavi .c-btn-contact {
  width: 200px;
}

@media only screen and (min-width: 1280px), print {
  .l-gnavi {
    gap: 30px;
  }
}
.l-gnavi__btn {
  display: block;
  height: 100%;
  padding-bottom: 20px;
  border-bottom: 4px solid transparent;
  text-align: center;
  font-weight: bold;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
  transition: all 0.3s;
}
.l-gnavi__btn::before {
  font-size: 9px; /*IE9以下で反映されるよう記述*/
  font-size: 0.5625rem;
}
.l-gnavi__btn:hover, .l-gnavi__btn:active, .l-gnavi__btn[aria-expanded=true] {
  color: #111A86;
  border-bottom: 4px solid #111A86;
}

/* Gnavi Modal overlay
------------------------------------ */
.l-gnavi-overlay {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .l-gnavi-overlay {
    position: fixed;
    left: 0;
    top: 90px;
    width: 100%;
    height: calc(100vh - 90px);
    background: rgba(34, 34, 34, 0.5);
  }
}

/* ==========================================================
!Gnavi Modal
========================================================== */
.l-gnavi-modal {
  position: fixed;
  left: 50%;
  top: 115px;
  transform: translateX(-50%);
  background: #FFFFFF;
  width: calc(100% - 40px);
  max-width: 1150px;
  height: 310px;
  padding: 50px;
  border-radius: 20px;
}
.l-gnavi-modal .c-searchbox--shrink {
  position: absolute;
  right: 40px;
  bottom: 30px;
}

/* Gnavi Modal Close
------------------------------------ */
.l-gnavi-modal__close {
  position: absolute;
  right: 40px;
  top: 30px;
  display: block;
  width: 16px;
  height: 16px;
  color: #111A86;
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  cursor: pointer;
}

/* Gnavi Modal Inner
------------------------------------ */
.l-gnavi-modal__inner {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 50px;
  height: 200px;
}

/* Gnavi Modal Header
------------------------------------ */
.l-gnavi-modal__header {
  position: relative;
  border-right: 1px solid rgba(34, 34, 34, 0.5);
}
.l-gnavi-modal__header-title {
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  line-height: 0.05em;
  line-height: 1.5;
}
.l-gnavi-modal__header-title span[lang=en] {
  display: block;
  color: #111A86;
  text-transform: uppercase;
  font-weight: normal;
  font-family: "Montserrat", sans-serif;
  font-size: 11px; /*IE9以下で反映されるよう記述*/
  font-size: 0.6875rem;
}
.l-gnavi-modal__header-title a {
  text-decoration: none;
}
.l-gnavi-modal__header-title a [class*=ico_] {
  margin-left: 15px;
  color: #555555;
}
.l-gnavi-modal__header-title a:hover {
  opacity: 0.8;
}
.l-gnavi-modal__header-link {
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}
.l-gnavi-modal__header-link a {
  text-decoration: none;
}
.l-gnavi-modal__header-link .ico_external {
  color: #898989;
  margin-left: 2em;
}

@media (any-hover: hover) {
  .l-gnavi-modal__header-link a:hover {
    opacity: 0.7;
  }
}
/* Gnavi Modal Body
------------------------------------ */
/* Gnavi Modal links
------------------------------------ */
.l-gnavi-modal__links {
  display: flex;
}
.l-gnavi-modal__links > li {
  width: 178px;
  margin-right: 7.6923076923%;
}
.l-gnavi-modal__links > li:last-child {
  margin-right: 0;
}
.l-gnavi-modal__links > li._long {
  width: auto;
  flex-grow: 1;
}
.l-gnavi-modal__links a {
  text-decoration: none;
}

.l-gnavi-modal__links-item {
  display: grid;
  gap: 15px;
  height: 100%;
}
.l-gnavi-modal__links-item.--gnav-textlink1 {
  grid-template-rows: 1.3rem auto;
}
.l-gnavi-modal__links-item.--gnav-textlink2 {
  grid-template-rows: 2.7rem auto;
}
.l-gnavi-modal__links-item .title {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  font-size: 15px; /*IE9以下で反映されるよう記述*/
  font-size: 0.9375rem;
  width: 100%;
}
.l-gnavi-modal__links-item .title [class*=ico_] {
  color: #555555;
}
.l-gnavi-modal__links-item .image {
  overflow: hidden;
  border-radius: 16px;
  max-width: 178px;
  align-self: end;
}
#menu02 .l-gnavi-modal__links-item .image {
  max-width: none;
}
#menu02 .l-gnavi-modal__links-item .image img {
  aspect-ratio: none;
}
.l-gnavi-modal__links-item .image img {
  width: 100%;
  height: 100%;
  min-height: 161px;
  aspect-ratio: 178/161;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.3s ease-in;
}
#menu04 .l-gnavi-modal__links-item .image img {
  aspect-ratio: 178/141;
}
@media (any-hover: hover) {
  .l-gnavi-modal__links-item:hover .image img {
    scale: 1.1;
  }
  .l-gnavi-modal__links-item a:hover {
    opacity: 0.7;
  }
}

/* Gnavi Modal Sub Links
------------------------------------ */
.l-gnavi-modal__sublinks {
  display: grid;
  grid-template-rows: repeat(4, 1.5rem);
  gap: 12px;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
}
.l-gnavi-modal__sublinks > li::before {
  content: "\e902";
  display: inline-block;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  font-family: "icomoon" !important;
}
.l-gnavi-modal__sublinks > li a {
  text-decoration: none;
}
.l-gnavi-modal__sublinks > li a .ico_external {
  margin-left: 2em;
  color: #898989;
}
.l-gnavi-modal__sublinks._col2 {
  grid-template-columns: 1fr 1fr;
}

/* Gnavi Modal switch
------------------------------------ */
.l-gnavi-modal__switch {
  display: flex;
  justify-content: space-between;
  width: 300px;
}

/* ==========================================================
!Sidebar
========================================================== */
.l-sidebar {
  margin-left: -20px;
  margin-right: -20px;
  padding: 48px 24px 32px;
  background-color: hsl(195, 76%, 94%);
  background-image: radial-gradient(circle at 40% 20%, hsla(211.5789473684, 82%, 90%, 0) 0%, transparent 50%), radial-gradient(circle at 80% 0%, hsl(225, 67%, 93%) 0%, transparent 50%), radial-gradient(circle at 0% 50%, hsl(189, 55%, 92%) 0%, transparent 50%), radial-gradient(circle at 0% 50%, hsl(300, 53%, 97%) 0%, transparent 50%);
  background-blend-mode: normal, normal, normal, normal;
  border-radius: 16px;
}
@media only screen and (min-width: 960px), print {
  .l-sidebar {
    margin-left: 0;
    margin-right: 0;
    padding: min(13.6%, 40px);
  }
}

.l-sidebar__title {
  color: #111A86;
  letter-spacing: 0.12em;
  font-family: "Montserrat", sans-serif;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  text-align: center;
}
@media only screen and (min-width: 960px), print {
  .l-sidebar__title {
    text-align: left;
  }
}

.l-sidebar__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px 16px;
  padding: 16px 0;
}
.l-sidebar__list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid #FFFFFF;
  text-decoration: none;
  line-height: 1.5;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
.l-sidebar__list a::after {
  content: "\e900";
  font-family: "icomoon" !important;
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  rotate: 90deg;
}
.l-sidebar__list a:hover, .l-sidebar__list a[aria-current=location] {
  border-bottom: 1px solid #111A86;
  color: #111A86;
}
@media only screen and (min-width: 960px), print {
  .l-sidebar__list {
    grid-template-columns: auto;
    gap: 8px;
  }
  .l-sidebar__list a::after {
    font-size: 20px; /*IE9以下で反映されるよう記述*/
    font-size: 1.25rem;
    rotate: 0deg;
  }
}

/* ==========================================================
!Mainimg
========================================================== */
.l-mainimg {
  overflow: hidden;
  position: relative;
  margin-left: 16px;
  margin-right: 16px;
  background-color: #000;
  border-radius: 20px;
}
.l-mainimg__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0.63;
}
.l-mainimg__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-mainimg__bg--white .l-inner {
  padding: 80px 0 30px;
}
.l-mainimg .l-outer {
  position: relative;
  z-index: 1;
}
.l-mainimg .l-inner {
  display: grid;
  align-content: end;
  height: 300px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.l-mainimg__title {
  position: relative;
  z-index: 1;
  color: #FFFFFF;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-size: 26px; /*IE9以下で反映されるよう記述*/
  font-size: 1.625rem;
  line-height: 1.4;
}
.l-mainimg__title::before {
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  letter-spacing: 0.12em;
}
.l-mainimg__title--black {
  color: #222222;
}
.l-mainimg__title--black::before {
  color: #111A86;
}
.l-mainimg__subtitle {
  display: block;
  margin-top: 8px;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.l-mainimg__button .c-btn-primary {
  width: 100%;
  max-width: 100%;
  min-height: 48px;
}
.l-mainimg__button .c-btn-primary.--download {
  margin-top: 16px;
  padding: 8px 44px 8px 24px;
}

@media only screen and (min-width: 960px), print {
  .l-mainimg {
    margin-left: 20px;
    margin-right: 20px;
    border-radius: 24px;
  }
  .l-mainimg__bg--white .l-inner {
    padding: 100px 0 0;
  }
  .l-mainimg .l-inner {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .l-mainimg__title {
    width: 100%;
    font-size: 38px; /*IE9以下で反映されるよう記述*/
    font-size: 2.375rem;
  }
  .l-mainimg__title::before {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
  .l-mainimg__subtitle {
    margin-top: 16px;
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
  .l-mainimg__button {
    width: 100%;
    max-width: 320px;
    margin-left: 32px;
  }
  .l-mainimg__button .c-btn-primary {
    width: 100%;
  }
}
/*JP/EN切り替えパーツ*/
.l-mainimg .c-switch-lang {
  position: absolute;
  left: 20px;
  top: 20px;
}
.l-mainimg .c-switch-lang * {
  text-decoration: none;
}
.l-mainimg .c-switch-lang__lang.is-current {
  border-bottom: 0;
}

/* ==========================================================
!Breadcrumb
========================================================== */
.l-breadcrumbs {
  overflow-x: auto;
  margin: 10px 20px 30px;
  padding: 0 0 8px 0;
}
@media only screen and (min-width: 960px), print {
  .l-breadcrumbs {
    margin: 16px 72px 45px;
  }
}

.l-breadcrumbs__list {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  line-height: 1.4;
  white-space: nowrap;
}
.l-breadcrumbs__list > li:not(:last-child)::after {
  content: "／";
  margin: 0 0.3em;
  color: #B6B6B6;
}
@media only screen and (min-width: 960px), print {
  .l-breadcrumbs__list {
    font-size: 13px; /*IE9以下で反映されるよう記述*/
    font-size: 0.8125rem;
  }
}

/* ==========================================================
!Intro
========================================================== */
.l-breadcrumbs + .l-intro {
  margin-top: 25px;
}
@media only screen and (min-width: 960px), print {
  .l-breadcrumbs + .l-intro {
    margin-top: 40px;
  }
}

.l-intro {
  margin-bottom: 80px;
}
.l-intro__title {
  margin-bottom: 0.5em;
  font-size: 26px; /*IE9以下で反映されるよう記述*/
  font-size: 1.625rem;
}

/* ==========================================================
!Area
========================================================== */
.l-area {
  display: grid;
  max-width: 1364px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}
.l-area__main {
  container-type: inline-size;
  padding-top: 82px;
  padding-bottom: 82px;
}
@media only screen and (min-width: 1024px), print {
  .l-area {
    display: flex;
    gap: 5.27%;
    box-sizing: content-box;
  }
  .l-area * {
    box-sizing: border-box;
  }
  .l-area__main {
    flex-grow: 1;
    padding-top: 32px;
  }
  .l-area__side {
    flex-shrink: 0;
    position: sticky;
    top: 100px;
    z-index: 1;
    align-self: flex-start;
    width: clamp(200px, 21.55%, 294px);
  }
}

/* エリアで探す・マップで探す
----------------------------------------*/
.l-area-nav {
  margin-left: -20px;
  margin-right: -20px;
  padding: 56px 20px;
  background-image: linear-gradient(90deg, #dff4f7, #fdf8fc);
  border-radius: 40px 40px 0 0;
}
@media only screen and (min-width: 1024px), print {
  .l-area-nav {
    margin-left: -20px;
    margin-right: 0;
    border-radius: 16px;
  }
}
@media only screen and (min-width: 1280px), print {
  .l-area-nav {
    padding: 120px 20px;
  }
}
@media (min-width: 1440px) {
  .l-area-nav {
    margin-left: -50px;
  }
}
@media (min-width: 1600px) {
  .l-area-nav {
    margin-left: -118px;
    padding: 120px 40px;
  }
}

.l-area-nav__title {
  margin-bottom: 1em;
  color: #111A86;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  letter-spacing: 0.12em;
}

.l-area-nav__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #CFCFCF;
}
@media only screen and (min-width: 1024px), print {
  .l-area-nav__list {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px 16px;
  }
}
.l-area-nav__list > li {
  padding: 3px;
  background: #FFFFFF;
  border-radius: 100px;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.16);
}
.l-area-nav__list > li:hover, .l-area-nav__list > li:focus-visible {
  background: linear-gradient(to right, #388BD1, #111A86);
}
.l-area-nav__list > li a {
  display: grid;
  place-content: center;
  height: 44px;
  padding: 4px 16px;
  background: #FFFFFF;
  border-radius: 100px;
  text-align: center;
  text-decoration: none;
  line-height: 1.33;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  font-weight: 500;
}

.l-area-nav__button {
  text-align: center;
}
.l-area-nav__button .c-btn-primary--complessed {
  width: 100%;
  min-width: 0;
}

[lang=en] .l-area-nav__list {
  grid-auto-rows: minmax(4em, max-content);
}
[lang=en] .l-area-nav__list > li a {
  height: 100%;
  padding-inline: 0;
  letter-spacing: 0.01em;
}

/* ==========================================================
!Contact
========================================================== */
.l-contact {
  margin-top: -40px;
}
.l-contact .l-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.l-contact__title {
  flex-shrink: 0;
}
.l-contact__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.l-contact .c-btn-contact,
.l-contact .c-btn-contact--long {
  max-width: none;
  width: 320px;
}
@media only screen and (min-width: 769px), print {
  .l-contact {
    margin-top: -72px;
    padding-bottom: 140px;
  }
  .l-contact .l-inner {
    display: flex;
    flex-direction: row;
    gap: 32px;
  }
}
@media only screen and (min-width: 960px), print {
  .l-contact.l-contact--multi .l-inner {
    gap: 80px;
    align-items: flex-start;
  }
  .l-contact.l-contact--multi .l-contact__body {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px 40px;
  }
  .l-contact:not(.l-contact--multi) .c-btn-contact--long {
    width: 478px;
  }
  .l-contact:not(.l-contact--multi) .c-btn-contact--long br {
    display: none;
  }
}
@media only screen and (min-width: 1280px), print {
  .l-contact.l-contact--multi .c-btn-contact--long {
    width: 478px;
  }
  .l-contact.l-contact--multi .c-btn-contact--long br {
    display: none;
  }
}

.l-contact__title {
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: 26px; /*IE9以下で反映されるよう記述*/
  font-size: 1.625rem;
  line-height: 1.5;
}
.l-contact__title::before {
  font-weight: 300;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
@media only screen and (min-width: 769px), print {
  .l-contact__title {
    text-align: left;
  }
}

/* ==========================================================
!Footer Menu (レイアウト)
========================================================== */
.l-footer-menu {
  color: #FFFFFF;
}
.l-footer-menu * {
  color: inherit;
}
.l-footer-menu a {
  text-decoration: none;
}
.l-footer-menu a:hover, .l-footer-menu a:focus {
  color: inherit;
}
.l-footer-menu .p-footer-menu.-menu07 .p-footer-menu__sublinks {
  grid-template-columns: 1fr;
}
@media only screen and (min-width: 960px), print {
  .l-footer-menu .l-footer-menu__main {
    display: flex;
    flex-wrap: wrap;
    gap: 0 7.2614107884%;
  }
  .l-footer-menu .p-footer-menu.-menu01 {
    width: 100%;
  }
  .l-footer-menu .p-footer-menu.-menu01 .p-footer-menu__links {
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: auto auto auto;
    grid-auto-flow: column;
    gap: 0 20px;
  }
  .l-footer-menu .p-footer-menu.-menu01 .p-footer-menu__links > li:nth-child(2) {
    grid-row: span 2;
    margin-top: 1em;
  }
  .l-footer-menu .p-footer-menu.-menu02 {
    width: 26.867219917%;
  }
  .l-footer-menu .p-footer-menu.-menu02 .p-footer-menu__sublinks {
    grid-template-columns: 1fr;
  }
  .l-footer-menu .p-footer-menu.-menu03 {
    width: 65.7676348548%;
  }
  .l-footer-menu .p-footer-menu.-menu03 .p-footer-menu__sublinks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .l-footer-menu .p-footer-menu.-menu03 .p-footer-menu__sublinks > li {
    margin-bottom: 5px;
  }
  .l-footer-menu .p-footer-menu.-menu03 .p-footer-menu__sublinks > li:nth-child(4), .l-footer-menu .p-footer-menu.-menu03 .p-footer-menu__sublinks > li:nth-child(5) {
    grid-row-start: 2;
  }
  .l-footer-menu .p-footer-menu.-menu03 .p-footer-menu__sublinks > li:nth-child(6), .l-footer-menu .p-footer-menu.-menu03 .p-footer-menu__sublinks > li:nth-child(7) {
    grid-row-start: 3;
  }
  .l-footer-menu .p-footer-menu.-menu04 {
    width: 100%;
  }
  .l-footer-menu .p-footer-menu.-menu04 .p-footer-menu__links {
    grid-template-columns: repeat(3, max-content);
    grid-template-rows: auto auto auto;
    grid-auto-flow: column;
    gap: 10px 60px;
  }
  .l-footer-menu .p-footer-menu.-menu04 .p-footer-menu__links .p-footer-menu__sublinks {
    grid-template-columns: auto;
  }
  .l-footer-menu .p-footer-menu.-menu04 .p-footer-menu__links > li:nth-child(1) {
    grid-row: span 3;
  }
  .l-footer-menu .p-footer-menu.-menu04 .p-footer-menu__links > li:nth-child(2) {
    grid-row: span 3;
  }
  .l-footer-menu .p-footer-menu.-menu04 .p-footer-menu__links > li:not(:first-child) .p-footer-menu__sublinks {
    grid-template-columns: 1fr;
  }
  .l-footer-menu .p-footer-menu.-menu05 {
    width: 40.7%;
  }
  .l-footer-menu .p-footer-menu.-menu05 .p-footer-menu__links {
    grid-template-columns: repeat(3, auto);
    gap: 10px 20px;
  }
  .l-footer-menu .p-footer-menu.-menu06 {
    flex-grow: 1;
  }
  .l-footer-menu .p-footer-menu.-menu06 .p-footer-menu__links {
    grid-template-columns: max-content 1fr;
    gap: 20px 60px;
  }
  .l-footer-menu .p-footer-menu.-menu07 {
    width: 100%;
  }
  .l-footer-menu .p-footer-menu.-menu07 .p-footer-menu__sublinks {
    grid-template-columns: 1fr;
  }
  .l-footer-menu .p-footer-menu.-contact {
    width: 100%;
  }
  .l-footer-menu .p-footer-menu.-contact .p-footer-menu__links {
    grid-template-columns: repeat(5, 1fr);
  }
  .l-footer-menu .p-footer-menu.-contact .p-footer-menu__sublinks {
    grid-template-columns: 1fr;
  }
}
@media only screen and (min-width: 1024px), print {
  .l-footer-menu .l-inner {
    display: grid;
    grid-template-columns: 1fr 23.3137829912%;
    gap: 5.1319648094%;
  }
  .l-footer-menu .p-footer-menu.-contact .p-footer-menu__links {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
!Footer Menu（パーツ）
========================================================== */
  .p-footer-menu__body {
    display: block;
}

/*メニュータイトル
----------------------------------------------*/
.p-footer-menu__title {
  border-bottom: 1px solid;
}
.p-footer-menu__title > button,
.p-footer-menu__title > a,
.p-footer-menu__title > div {
  position: relative;
  background: none;
  display: block;
  width: 100%;
  padding: 20px 40px 20px 0;
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  text-align: left;
  letter-spacing: 0.1em;
  cursor: pointer;
}
.p-footer-menu__title > button::before,
.p-footer-menu__title > a::before,
.p-footer-menu__title > div::before {
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__title > button::before,
  .p-footer-menu__title > a::before,
  .p-footer-menu__title > div::before {
    font-size: 13px; /*IE9以下で反映されるよう記述*/
    font-size: 0.8125rem;
  }
}
.p-footer-menu__title > button::after,
.p-footer-menu__title > a::after,
.p-footer-menu__title > div::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: "icomoon" !important;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__title > button,
  .p-footer-menu__title > a,
  .p-footer-menu__title > div {
    font-size: 24px; /*IE9以下で反映されるよう記述*/
    font-size: 1.5rem;
  }
}
.p-footer-menu__title > button::after {
  content: "\e908";
}
.p-footer-menu__title > button[aria-expanded=true]::after {
  content: "\e906";
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__title > button {
    display: none;
  }
}
.p-footer-menu__title > a {
  display: none;
  padding: 0 40px 15px 0;
}
.p-footer-menu__title > a::after {
  content: "\e900";
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__title > a {
    display: block;
  }
  .p-footer-menu__title > a:hover, .p-footer-menu__title > a:focus {
    opacity: 0.7;
  }
}
.p-footer-menu__title > div {
  display: none;
  padding: 0 40px 15px 0;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__title > div {
    display: block;
  }
}

/*メニューリンク（大項目）
----------------------------------------------*/
.p-footer-menu__links {
  display: grid;
  gap: 20px;
  padding: 20px 0 40px;
}
.p-footer-menu__links > li {
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__links > li {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
}
.p-footer-menu__links > li > a {
  letter-spacing: 0.05em;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
.p-footer-menu__links > li > a::after {
  content: "\e902";
  font-family: "icomoon" !important;
  color: rgba(255, 255, 255, 0.5);
}
.p-footer-menu__links > li > a[target=_blank]::after {
  content: "\e905";
  margin-left: 5px;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__links > li > a {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
}

/*メニューリンク（小項目）
----------------------------------------------*/
.p-footer-menu__sublinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px 20px;
  margin-top: 10px;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__sublinks {
    gap: 10px 20px;
  }
}
.p-footer-menu__sublinks > li {
  display: flex;
  gap: 7px;
}
.p-footer-menu__sublinks > li::before {
  content: "";
  display: block;
  width: 7px;
  margin-top: 0.7em;
  border-top: 1px solid rgba(255, 255, 255, 0.7);
}
.p-footer-menu__sublinks > li > a {
  letter-spacing: 0.05em;
  font-size: 11px; /*IE9以下で反映されるよう記述*/
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.7);
}
.p-footer-menu__sublinks > li > a[target=_blank]::after {
  content: "\e905";
  margin-left: 5px;
  font-family: "icomoon" !important;
  color: rgba(255, 255, 255, 0.5);
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu__sublinks > li > a {
    font-size: 13px; /*IE9以下で反映されるよう記述*/
    font-size: 0.8125rem;
  }
}

/*総合お問い合わせ
----------------------------------------------*/
.p-footer-menu.-contact {
  margin-top: 24px;
  padding: 20px 18px 0 18px;
  background: rgba(34, 34, 34, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
}
.p-footer-menu.-contact .p-footer-menu__title {
  border-bottom: 0;
}
.p-footer-menu.-contact .p-footer-menu__title > button {
  padding-top: 0;
}
.p-footer-menu.-contact .p-footer-menu__title > button::after {
  top: 10px;
  transform: translateY(0);
}
.p-footer-menu.-contact .p-footer-menu__title > button[aria-expanded=true] {
  border-bottom: 1px solid;
}
.p-footer-menu.-contact .p-footer-menu__title > a {
  border-bottom: 1px solid;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu.-contact .p-footer-menu__title > a {
    font-size: 20px; /*IE9以下で反映されるよう記述*/
    font-size: 1.25rem;
  }
}
.p-footer-menu.-contact .p-footer-menu__links > li {
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu.-contact .p-footer-menu__links > li {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
}
@media only screen and (min-width: 960px), print {
  .p-footer-menu.-contact .p-footer-menu__sublinks > li {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
}

/* ==========================================================
!Footer
========================================================== */
/* フッターレイアウト
-----------------------------*/
.l-footer .l-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 66px 0 32px 0;
}
@media only screen and (min-width: 769px), print {
  .l-footer .l-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    padding: 72px 0 34px 0;
  }
}

/* 会社情報
-----------------------------*/
.l-footer__company {
  text-align: center;
}
.l-footer__company-logo {
  width: 264px;
  margin: auto;
}
.l-footer__company-name {
  margin-top: 10px;
  font-weight: bold;
  font-size: 11px; /*IE9以下で反映されるよう記述*/
  font-size: 0.6875rem;
}
.l-footer__company-address {
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
@media only screen and (min-width: 769px), print {
  .l-footer__company {
    text-align: left;
  }
  .l-footer__company-logo {
    width: 330px;
    margin: 0;
  }
  .l-footer__company-name {
    font-size: 13px; /*IE9以下で反映されるよう記述*/
    font-size: 0.8125rem;
  }
  .l-footer__company-address {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}

/* その他情報
-----------------------------*/
.l-footer__other {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 30px;
}
.l-footer__other-pmark {
  grid-column: span 2;
  text-align: center;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.6);
}
.l-footer__other-links {
  display: grid;
  gap: 10px;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-footer__other-copyright {
  grid-column: span 2;
  text-align: center;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  font-family: "Montserrat", sans-serif;
}
@media only screen and (min-width: 769px), print {
  .l-footer__other {
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
    gap: 20px 40px;
  }
  .l-footer__other-pmark {
    grid-column: span 1;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .l-footer__other-links {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
  .l-footer__other-copyright {
    text-align: right;
    grid-column: span 3;
    font-size: 11px; /*IE9以下で反映されるよう記述*/
    font-size: 0.6875rem;
  }
}

/* ページトップへ戻る
-----------------------------*/
.l-footer__pagetop {
  position: absolute;
  top: -32px;
  left: 50%;
  z-index: 1;
  transform: translate(-50%);
}
.l-footer__pagetop a {
  display: grid;
  place-content: center;
  width: 63px;
  height: 63px;
  background: #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.27);
}
.l-footer__pagetop img {
  width: 24px;
  height: 29px;
}
@media only screen and (min-width: 769px), print {
  .l-footer__pagetop {
    top: -43px;
    right: -43px;
    left: auto;
  }
  .l-footer__pagetop a {
    width: 86px;
    height: 86px;
  }
  .l-footer__pagetop img {
    width: 28px;
    height: 31px;
  }
}

/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 769px以上（タブレット） */
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1280px以上（大きめPC） */
/* ==========================================================
!Grid
========================================================== */
.l-grid {
  display: grid;
  gap: min(4.2666666667vw, 40px) min(5.3333333333vw, 56px);
}

.l-grid__item {
  container-type: inline-size;
}

li.l-grid__item {
  list-style-type: none;
  margin: 0 0 0 0;
}

/*half-gap*/
.l-grid--hgap-half {
  gap: min(4.2666666667vw, 40px) calc(min(5.3333333333vw, 56px)/ 2);
}

.l-grid--vgap-half {
  gap: calc(min(4.2666666667vw, 40px)/ 2) min(5.3333333333vw, 56px);
}

.l-grid--gap-half {
  gap: calc(min(4.2666666667vw, 40px)/ 2) calc(min(5.3333333333vw, 56px)/ 2);
}

/*一律固定カラム*/
.l-grid--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.l-grid--col2 .l-grid__item.--span2 {
  grid-column: span 2;
}

.l-grid--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.l-grid--col3 .l-grid__item.--span3 {
  grid-column: span 3;
}

.l-grid--col3 {
  grid-template-columns: repeat(4, 1fr);
}
.l-grid--col3 .l-grid__item.--span3 {
  grid-column: span 4;
}

@media only screen and (min-width: 640px), print {
  .l-grid--col2-sm {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid--col2-sm .l-grid__item.--span2 {
    grid-column: span 2;
  }
  .l-grid--col2-sm-auto {
    grid-template-columns: repeat(2, auto);
  }
  .l-grid--col2-sm-auto .l-grid__item {
    container-type: initial;
  }
  .l-grid--col2-sm-auto.-flex-end {
    align-items: flex-end;
  }
  .l-grid--col3-sm {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid--col3-sm .l-grid__item.--span3 {
    grid-column: span 3;
  }
  .l-grid--col4-sm {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid--col4-sm .l-grid__item.--span4 {
    grid-column: span 4;
  }
}
@media only screen and (min-width: 769px), print {
  .l-grid--col2-md {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid--col2-md .l-grid__item.--span2 {
    grid-column: span 2;
  }
  .l-grid--col3-md {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid--col3-md .l-grid__item.--span3 {
    grid-column: span 3;
  }
  .l-grid--col4-md {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid--col4-md .l-grid__item.--span4 {
    grid-column: span 4;
  }
}
@media only screen and (min-width: 960px), print {
  .l-grid--col2-lg {
    grid-template-columns: repeat(2, 1fr);
  }
  .l-grid--col2-lg .l-grid__item.--span2 {
    grid-column: span 2;
  }
  .l-grid--col3-lg {
    grid-template-columns: repeat(3, 1fr);
  }
  .l-grid--col3-lg .l-grid__item.--span3 {
    grid-column: span 3;
  }
  .l-grid--col4-lg {
    grid-template-columns: repeat(4, 1fr);
  }
  .l-grid--col4-lg .l-grid__item.--span4 {
    grid-column: span 4;
  }
}
@media only screen and (min-width: 769px), print {
  .l-grid--col2-flow {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 50% 50%;
    grid-template-rows: 1fr 1fr 1fr 1fr;
  }
}

/* ==========================================================
!Grid
========================================================== */
.l-fgrid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
}

.l-fgrid__item {
  width: 100%;
}

li.l-fgrid__item {
  list-style-type: none;
  margin: 0 0 0 0;
}

.l-fgrid__item-1 {
  width: calc((100%/12)*1);
}

.l-fgrid__item-2 {
  width: calc((100%/12)*2);
}

.l-fgrid__item-3 {
  width: calc((100%/12)*3);
}

.l-fgrid__item-4 {
  width: calc((100%/12)*4);
}

.l-fgrid__item-5 {
  width: calc((100%/12)*5);
}

.l-fgrid__item-6 {
  width: calc((100%/12)*6);
}

.l-fgrid__item-7 {
  width: calc((100%/12)*7);
}

.l-fgrid__item-8 {
  width: calc((100%/12)*8);
}

.l-fgrid__item-9 {
  width: calc((100%/12)*9);
}

.l-fgrid__item-10 {
  width: calc((100%/12)*10);
}

.l-fgrid__item-11 {
  width: calc((100%/12)*11);
}

.l-fgrid__item-12 {
  width: calc((100%/12)*12);
}

/*960px未満1カラム*/
@media not all and (min-width: 960px) {
  .l-fgrid--stack-lg {
    flex-direction: column;
  }
  .l-fgrid--stack-lg .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-lg .l-fgrid__item-12 {
    width: 100%;
  }
}

/*769px未満1カラム*/
@media not all and (min-width: 769px) {
  .l-fgrid--stack-md {
    flex-direction: column;
  }
  .l-fgrid--stack-md .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-md .l-fgrid__item-12 {
    width: 100%;
  }
}

/*640px未満1カラム*/
@media not all and (min-width: 640px) {
  .l-fgrid--stack-sm {
    flex-direction: column;
  }
  .l-fgrid--stack-sm .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-sm .l-fgrid__item-12 {
    width: 100%;
  }
}

/*480px未満1カラム*/
@media not all and (min-width: 480px) {
  .l-fgrid--stack-xs {
    flex-direction: column;
  }
  .l-fgrid--stack-xs .l-fgrid__item-1 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-2 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-3 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-4 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-5 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-6 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-7 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-8 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-9 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-10 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-11 {
    width: 100%;
  }
  .l-fgrid--stack-xs .l-fgrid__item-12 {
    width: 100%;
  }
}

/* ==========================================================
!reverseV
========================================================== */
.l-reverseV {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.l-reverseV > * {
  width: 100%;
}
@container (min-width: 769px) {
  .l-reverseV {
    gap: 24px;
  }
}

@media only screen and (min-width: 960px), print {
  .l-reverseV--lg {
    flex-direction: column-reverse;
  }
}

@media only screen and (min-width: 769px), print {
  .l-reverseV--md {
    flex-direction: column-reverse;
  }
}

@media only screen and (min-width: 640px), print {
  .l-reverseV--sm {
    flex-direction: column-reverse;
  }
}

/* ==========================================================
!Modal
========================================================== */
.l-modal {
  width: 100vw;
  height: 100vh;
  padding: 60px 0 0 0;
  margin-right: 0;
  background: transparent;
}
.l-modal::backdrop {
  background: rgba(0, 0, 0, 0.75);
}

.l-modal__inner {
  position: relative;
  width: 100%;
}
@media (min-width: 700px) {
  .l-modal__inner {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
}

.l-modal__scrollable {
  display: none;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;
  transform: translate(-50%, -50%);
}
.l-modal[open].is-scrollable .l-modal__scrollable {
  display: block;
  animation: 2s fadeOut 1s linear forwards;
}

.l-modal__close {
  position: fixed;
  right: 16px;
  top: 16px;
  z-index: 1;
  outline: none;
  width: 40px;
  height: 40px;
  background: url(../../common/img/btn_close_wh.png) 0 0/contain no-repeat;
}

.l-modal__note {
  position: fixed;
  left: 16px;
  top: 16px;
  z-index: 1;
  color: #FFFFFF;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* ==========================================================
!Media
========================================================== */
.l-media {
  display: grid;
  gap: 20px;
}
@container (min-width: 640px) {
  .l-media {
    grid-template-columns: min(44.5891783567%, 445px) 1fr;
    gap: 40px;
  }
}
.l-media__stitle {
  margin-bottom: 24px;
  font-weight: 600;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  line-height: 1.5;
}
@media only screen and (min-width: 960px), print {
  .l-media__stitle {
    font-size: 26px; /*IE9以下で反映されるよう記述*/
    font-size: 1.625rem;
  }
}
.l-media__img {
  container-type: inline-size;
}
.l-media__img img {
  max-width: none;
  width: 100%;
}
.l-media__body {
  container-type: inline-size;
}
.l-media__text + p {
  margin-top: 32px;
}
@media only screen and (min-width: 769px), print {
  .l-media__body {
    display: flex;
    flex-direction: column;
  }
  .l-media__text + p {
    margin-top: auto;
  }
}

.l-media--intro {
  display: grid;
  gap: 24px;
}
.l-media--intro__title {
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
}
.l-media--intro__img {
  max-width: 542px;
  margin-inline: auto;
}
.l-media--intro__text {
  font-size: 15px; /*IE9以下で反映されるよう記述*/
  font-size: 0.9375rem;
  line-height: 2;
}
@media only screen and (min-width: 769px), print {
  .l-media--intro__title {
    font-size: 26px; /*IE9以下で反映されるよう記述*/
    font-size: 1.625rem;
    line-height: 2;
  }
  .l-media--intro__text {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
}
@media only screen and (min-width: 960px), print {
  .l-media--intro {
    grid-template-columns: min(40.0293255132%, 546px) 1fr;
    grid-template-rows: repeat(2, auto);
    gap: min(4.1055718475%, 56px);
  }
  .l-media--intro__title {
    grid-column: 2/3;
    grid-row: 1/2;
    align-self: end;
  }
  .l-media--intro__img {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  .l-media--intro__text {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.l-media--intro.--reverse {
  display: grid;
  gap: 24px;
}
@media only screen and (min-width: 960px), print {
  .l-media--intro.--reverse {
    grid-template-columns: 1fr min(40.0293255132%, 546px);
    grid-template-rows: repeat(2, auto);
    gap: min(4.1055718475%, 56px);
  }
  .l-media--intro.--reverse .l-media--intro__title {
    grid-column: 1/2;
    grid-row: 1/2;
    align-self: end;
  }
  .l-media--intro.--reverse .l-media--intro__img {
    grid-column: 2/3;
    grid-row: 1/3;
  }
  .l-media--intro.--reverse .l-media--intro__text {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}

/* ==========================================================
!Media Section
========================================================== */
.l-media-section {
  display: grid;
}
.l-media-section + .l-media-section {
  margin-top: 55px;
}
@container (min-width: 640px) {
  .l-media-section + .l-media-section {
    margin-top: min(9%, 80px);
    padding-top: min(9%, 80px);
    border-top: 1px solid #CFCFCF;
  }
}

.l-media-section--area .l-media {
  display: grid;
  gap: 16px;
}
.l-media-section--area .l-media__img .photo img {
  aspect-ratio: 325/217;
}
.l-media-section--area .l-media__text {
  display: contents;
}
.l-media-section--area .l-media__text .is-style-c-heading-lv4 {
  order: -1;
  margin-bottom: 0;
}
@container (min-width: 640px) {
  .l-media-section--area {
    grid-template-columns: min(54.7094188377%, 546px) 1fr;
    grid-template-rows: repeat(4, auto);
    gap: 0 min(5.6112224449%, 56px);
  }
  .l-media-section--area .l-media {
    display: contents;
  }
  .l-media-section--area .is-style-c-heading-lv3 {
    grid-column: 1/3;
    grid-row: 1/2;
    margin-bottom: 24px;
  }
  .l-media-section--area .is-style-c-heading-lv4 {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  .l-media-section--area .l-media__text {
    grid-column: 2/3;
    grid-row: 3/5;
  }
  .l-media-section--area .l-media__img {
    grid-column: 1/2;
    grid-row: 2/5;
  }
  .l-media-section--area .l-media__img .map {
    display: none;
  }
  .l-media-section--area .l-media__img .photo img {
    aspect-ratio: auto;
  }
}

/* ==========================================================
!heading for Gutenberg
========================================================== */
.l-entry-content {
  /*heading Lv2*/
  /*heading Lv3*/
  /*heading Lv4*/
}
.l-entry-content :where(h2),
.l-entry-content .is-style-c-heading-lv2 {
  position: relative;
  display: block;
  padding-left: 0;
  padding-bottom: 0.4em;
  border: 0;
  border-bottom: 1px solid #CFCFCF;
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.l-entry-content :where(h2)::before,
.l-entry-content .is-style-c-heading-lv2::before {
  display: none;
}
.l-entry-content :where(h2)::after,
.l-entry-content .is-style-c-heading-lv2::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  content: "";
  display: block;
  width: 55px;
  height: 0;
  border-top: 1px solid #111A86;
}
.l-entry-content :where(h2) + *,
.l-entry-content .is-style-c-heading-lv2 + * {
  margin-top: 1.33em;
}
.l-entry-content :where(h2)[data-eng]::before,
.l-entry-content .is-style-c-heading-lv2[data-eng]::before {
  color: rgba(34, 34, 34, 0.6);
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
.l-entry-content :where(h2).--merit,
.l-entry-content .is-style-c-heading-lv2.--merit {
  display: grid;
  gap: 4px;
  counter-increment: listnum;
}
.l-entry-content :where(h2).--merit .merit,
.l-entry-content .is-style-c-heading-lv2.--merit .merit {
  color: #111A86;
  font-family: "Montserrat", sans-serif;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-entry-content :where(h2).--merit .merit .num,
.l-entry-content .is-style-c-heading-lv2.--merit .merit .num {
  display: block;
  font-size: 30px; /*IE9以下で反映されるよう記述*/
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.l-entry-content :where(h2).--merit .merit .num::before,
.l-entry-content .is-style-c-heading-lv2.--merit .merit .num::before {
  content: counter(listnum, decimal-leading-zero);
}
@media only screen and (min-width: 960px), print {
  .l-entry-content :where(h2).--merit,
  .l-entry-content .is-style-c-heading-lv2.--merit {
    grid-auto-flow: column;
    justify-content: start;
    gap: 24px;
  }
}
@media only screen and (min-width: 960px), print {
  .l-entry-content :where(h2),
  .l-entry-content .is-style-c-heading-lv2 {
    font-size: 30px; /*IE9以下で反映されるよう記述*/
    font-size: 1.875rem;
  }
  .l-entry-content :where(h2)[data-eng]::before,
  .l-entry-content .is-style-c-heading-lv2[data-eng]::before {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}
.l-entry-content :where(h3),
.l-entry-content .is-style-c-heading-lv3 {
  display: block;
  padding-bottom: 0;
  padding-left: 16px;
  border: 0;
  border-left: 4px solid #111A86;
  font-weight: 600;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  line-height: 1.5;
}
.l-entry-content :where(h3)::before, .l-entry-content :where(h3)::after,
.l-entry-content .is-style-c-heading-lv3::before,
.l-entry-content .is-style-c-heading-lv3::after {
  display: none;
}
.l-entry-content :where(h3) + *,
.l-entry-content .is-style-c-heading-lv3 + * {
  margin-top: 24px;
}
.l-entry-content :where(h3)[data-eng]::before,
.l-entry-content .is-style-c-heading-lv3[data-eng]::before {
  color: #111A86;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
@media only screen and (min-width: 960px), print {
  .l-entry-content :where(h3),
  .l-entry-content .is-style-c-heading-lv3 {
    font-size: 24px; /*IE9以下で反映されるよう記述*/
    font-size: 1.5rem;
  }
  .l-entry-content :where(h3)[data-eng]::before,
  .l-entry-content .is-style-c-heading-lv3[data-eng]::before {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}
.l-entry-content :where(h4),
.l-entry-content .is-style-c-heading-lv4 {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  font-size: 17px; /*IE9以下で反映されるよう記述*/
  font-size: 1.0625rem;
  font-weight: 600;
}
.l-entry-content :where(h4)::before,
.l-entry-content .is-style-c-heading-lv4::before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #111A86 inset;
}
.l-entry-content :where(h4)::after,
.l-entry-content .is-style-c-heading-lv4::after {
  display: none;
}
.l-entry-content :where(h4) + *,
.l-entry-content .is-style-c-heading-lv4 + * {
  margin-top: 16px;
}
.l-entry-content :where(h4).--line,
.l-entry-content .is-style-c-heading-lv4.--line {
  padding-bottom: 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid #CFCFCF;
}
.l-entry-content :where(h4).--bg,
.l-entry-content .is-style-c-heading-lv4.--bg {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 24px;
  border-radius: 16px;
  background: #E5F3F8;
}
.l-entry-content :where(h4).--bgw,
.l-entry-content .is-style-c-heading-lv4.--bgw {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 24px;
  border-radius: 16px;
  background: #FFFFFF;
}
@media only screen and (min-width: 960px), print {
  .l-entry-content :where(h4),
  .l-entry-content .is-style-c-heading-lv4 {
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
  }
}
.l-entry-content :where(h5, h6) {
  font-weight: bold;
}
.l-entry-content :where(h5, h6) + * {
  margin-top: 10px;
}

/* ==========================================================
!button for Gutenberg
========================================================== */
.l-entry-content .wp-block-button .wp-block-button__link {
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 320px;
  min-width: 255px;
  min-height: 64px;
  padding: 16px 44px 16px 24px;
  border-radius: 200px;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.17);
  background: #FFFFFF;
  color: #555555;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.l-entry-content .wp-block-button .wp-block-button__link::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  padding-left: 2px;
  background: #555555;
  color: #FFFFFF;
  border-radius: 50%;
  transition: all 0.3s;
  content: "\e902";
  font-family: "icomoon" !important;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
.l-entry-content .wp-block-button .wp-block-button__link:hover, .l-entry-content .wp-block-button .wp-block-button__link:focus-visible {
  color: #FFFFFF;
  background: #555555;
}
.l-entry-content .wp-block-button .wp-block-button__link:hover::after, .l-entry-content .wp-block-button .wp-block-button__link:focus-visible::after {
  color: #555555;
  background: #FFFFFF;
}
.l-entry-content .wp-block-button .wp-block-button__link[target=_blank]::after {
  content: "\e905";
}
.l-entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  border: 0;
  box-shadow: none;
  background: linear-gradient(to right bottom, #388BD1, #111A86);
  color: #FFFFFF;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.l-entry-content .wp-block-button.is-style-outline .wp-block-button__link::after {
  content: "\e902";
  background-color: #FFFFFF;
  color: #555555;
}
.l-entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover, .l-entry-content .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  opacity: 0.7;
}
.l-entry-content .wp-block-button.is-style-outline .wp-block-button__link[target=_blank]::after {
  content: "\e905";
}
.l-entry-content .wp-block-buttons {
  margin-block: min(10.6666666667vmin, 80px);
}
.l-entry-content .wp-block-buttons.is-layout-flex {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.l-entry-content .wp-block-buttons.is-layout-flex.is-content-justification-center {
  justify-content: center;
  align-items: center;
}
.l-entry-content .wp-block-buttons.is-layout-flex.is-content-justification-center .wp-block-button {
  width: 100%;
  text-align: center;
}
.l-entry-content .wp-block-buttons.is-layout-flex.is-content-justification-right {
  justify-content: flex-end;
  align-items: flex-end;
}
.l-entry-content .wp-block-buttons.is-layout-flex.is-content-justification-right .wp-block-button {
  width: 100%;
  text-align: right;
}
@media only screen and (min-width: 769px), print {
  .l-entry-content .wp-block-buttons.is-layout-flex.is-layout-flex {
    flex-direction: row;
  }
  .l-entry-content .wp-block-buttons.is-layout-flex.is-layout-flex.is-content-justification-center .wp-block-button {
    width: auto;
  }
  .l-entry-content .wp-block-buttons.is-layout-flex.is-layout-flex.is-content-justification-right .wp-block-button {
    width: auto;
  }
}

/* ==========================================================
!list for Gutenberg
========================================================== */
.l-entry-content ul {
  display: grid;
  gap: 16px;
}
.l-entry-content ul > li {
  position: relative;
  padding-left: 1.5em;
}
.l-entry-content ul > li::before {
  position: absolute;
  left: 0;
  top: 0.72em;
  top: calc(0.5lh - 5px);
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #388BD1;
}
.l-entry-content ol {
  display: grid;
  gap: 16px;
  margin-left: 1.5em;
  list-style-type: decimal;
}

/* ==========================================================
!image for Gutenberg
========================================================== */
.l-entry-content .wp-block-image.is-style-rounded img {
  border-radius: 20px;
}

picture img {
  width: 100%;
  max-width: 100%;
}

/* ==========================================================
!media for Gutenberg
========================================================== */
.wp-block-media-text {
  gap: min(5.3333333333vmin, 40px);
}
.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}

/* ==========================================================
!table for Gutenberg
========================================================== */
.l-entry-content .wp-block-table table {
  width: 100%;
  border: 0;
  border-top: 1px solid #CFCFCF;
}
.l-entry-content .wp-block-table table tr {
  border-bottom: 1px solid #CFCFCF;
}
.l-entry-content .wp-block-table table tr > :first-child {
  width: 180px;
  font-weight: bold;
}
.l-entry-content .wp-block-table table td,
.l-entry-content .wp-block-table table th {
  padding: 30px 0;
  border: 0;
  vertical-align: top;
  line-height: 2;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
.l-entry-content .wp-block-table table + * {
  margin-top: 16px;
}
.l-entry-content .wp-block-table .wp-element-caption {
  font-size: 0.875em;
}
@media not screen and (min-width: 769px) {
  .l-entry-content .wp-block-table:not(.is-style-is-scroll) table, .l-entry-content .wp-block-table:not(.is-style-is-scroll) thead, .l-entry-content .wp-block-table:not(.is-style-is-scroll) tfoot, .l-entry-content .wp-block-table:not(.is-style-is-scroll) tbody, .l-entry-content .wp-block-table:not(.is-style-is-scroll) tr, .l-entry-content .wp-block-table:not(.is-style-is-scroll) th, .l-entry-content .wp-block-table:not(.is-style-is-scroll) td {
    display: block;
  }
  .l-entry-content .wp-block-table:not(.is-style-is-scroll) table tr {
    padding: 30px 0;
  }
  .l-entry-content .wp-block-table:not(.is-style-is-scroll) table tr > :first-child {
    width: 100%;
    margin-bottom: 8px;
  }
  .l-entry-content .wp-block-table:not(.is-style-is-scroll) table th, .l-entry-content .wp-block-table:not(.is-style-is-scroll) table td {
    padding-block: 0;
  }
}
.l-entry-content .wp-block-table.is-style-is-scroll {
  overflow-x: auto;
}
.l-entry-content .wp-block-table.is-style-is-scroll table {
  width: 768px;
}
@media only screen and (min-width: 960px), print {
  .l-entry-content .wp-block-table.is-style-is-scroll table {
    width: 100%;
  }
}

/* ==========================================================
!column for Gutenberg
========================================================== */
.l-entry-content .wp-block-columns.is-layout-flex {
  gap: 16px;
}
@media (min-width: 782px) {
  .l-entry-content .wp-block-columns.is-layout-flex {
    gap: 32px;
  }
}

/* ==========================================================
!Entry Content (for Block Editor)
========================================================== */
.l-entry-content {
  padding-bottom: 100px;
}
.l-entry-content :where(.l-inner) > :where(*) {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 960px), print {
  .l-entry-content {
    padding-bottom: 200px;
  }
}
.l-entry-content.l-entry-content--short {
  padding-bottom: 40px;
}
@media only screen and (min-width: 960px), print {
  .l-entry-content.l-entry-content--short {
    padding-bottom: 80px;
  }
}

/* ==========================================================
!Entry Header
========================================================== */
.l-entry-header__upper {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.l-entry-header__date {
  color: rgba(34, 34, 34, 0.45);
  font-family: "Montserrat", sans-serif;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
.l-entry-header__title {
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  letter-spacing: 0.12em;
  line-height: 2;
}
@media only screen and (min-width: 960px), print {
  .l-entry-header__title {
    font-size: 32px; /*IE9以下で反映されるよう記述*/
    font-size: 2rem;
  }
}
.l-entry-header__title + * {
  margin-top: 1.33em;
}

/* ==========================================================
!Entry Footer
========================================================== */
.l-entry-footer {
  margin-bottom: 40px;
}
@media only screen and (min-width: 769px), print {
  .l-entry-footer {
    margin-bottom: 72px;
  }
}
.l-entry-footer__inner {
  border-top: 1px solid #CFCFCF;
  padding: 40px 0 80px;
}
@media only screen and (min-width: 769px), print {
  .l-entry-footer__inner {
    padding: 80px 0 120px;
  }
}

/* ==========================================================
!Cookie
========================================================== */
.l-cookie__consent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  color: #FFFFFF;
  background: rgba(34, 34, 34, 0.7);
  padding: 1.2em;
  box-sizing: border-box;
  visibility: hidden;
  z-index: 2;
}
.l-cookie__consent a {
  color: #FFFFFF !important;
}
.l-cookie__consent.is-show {
  visibility: visible;
}
@media only screen and (min-width: 769px), print {
  .l-cookie__consent {
    flex-direction: row;
  }
}

.l-cookie__text {
  margin-bottom: 1em;
}
@media only screen and (min-width: 769px), print {
  .l-cookie__text {
    margin: 0;
  }
}

.l-cookie__agree {
  color: #FFFFFF;
  background: #3685CD;
  padding: 0.5em 1.5em;
  cursor: pointer;
  transition: opacity 0.3s;
}
.l-cookie__agree:hover, .l-cookie__agree:focus-visible, .l-cookie__agree:active {
  opacity: 0.7;
}

/* パッと消える */
.cc-hide1 {
  display: none;
}

/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/* ==========================================================
!CV Area
========================================================== */
/* 480px以上（大きめSP） */
/* 640px以上（ファブレット） */
/* 769px以上（タブレット） */
/* 960px以上（大きめタブレット 横位置とか） */
/* 1024px以上（基本のPC） */
/* 1280px以上（大きめPC） */
/* ==========================================================
!Button
========================================================== */
/* Primary
--------------------------*/
.c-btn-primary--complessed, .c-btn-primary {
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 320px;
  min-width: 255px;
  min-height: 64px;
  padding: 16px 44px 16px 24px;
  border-radius: 200px;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.17);
  background: #FFFFFF;
  color: #555555;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.c-btn-primary--complessed > span, .c-btn-primary > span {
  position: relative;
  z-index: 1;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(85, 85, 85, 0.5);
}
.c-btn-primary--complessed::before, .c-btn-primary::before {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: #555555;
  border-radius: 50%;
  transition: all 0.3s ease-in-out;
}
.c-btn-primary--complessed::after, .c-btn-primary::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  padding-left: 2px;
  background: #555555;
  color: #FFFFFF;
  border-radius: 50%;
  transition: all 0.3s;
  content: "\e902";
  font-family: "icomoon" !important;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
.c-btn-primary--complessed:hover, .c-btn-primary:hover, .c-btn-primary--complessed:focus-visible, .c-btn-primary:focus-visible {
  color: #FFFFFF;
}
.c-btn-primary--complessed:hover > span, .c-btn-primary:hover > span, .c-btn-primary--complessed:focus-visible > span, .c-btn-primary:focus-visible > span {
  border-bottom: 1px solid #FFFFFF;
}
.c-btn-primary--complessed:hover::after, .c-btn-primary:hover::after, .c-btn-primary--complessed:focus-visible::after, .c-btn-primary:focus-visible::after {
  color: #555555;
  background: #FFFFFF;
}
.c-btn-primary--complessed:hover::before, .c-btn-primary:hover::before, .c-btn-primary--complessed:focus-visible::before, .c-btn-primary:focus-visible::before {
  transform: scale(70);
}
[target=_blank].c-btn-primary--complessed::after, [target=_blank].c-btn-primary::after {
  content: "\e905";
}
.--download.c-btn-primary--complessed::before, .--download.c-btn-primary::before {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: #555555;
  border-radius: 50%;
  transition: all 0.3s ease-in-out;
}
.--download.c-btn-primary--complessed::after, .--download.c-btn-primary::after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  padding-left: 2px;
  background: url("../../common/img/ico_download_c.svg") no-repeat right 0px top 50%;
  background-size: contain;
  border-radius: 50%;
  transition: all 0.3s;
  content: "";
}
.--download.c-btn-primary--complessed:hover, .--download.c-btn-primary:hover, .--download.c-btn-primary--complessed:focus-visible, .--download.c-btn-primary:focus-visible {
  color: #FFFFFF;
}
.--download.c-btn-primary--complessed:hover > span, .--download.c-btn-primary:hover > span, .--download.c-btn-primary--complessed:focus-visible > span, .--download.c-btn-primary:focus-visible > span {
  border-bottom: 1px solid #FFFFFF;
}
.--download.c-btn-primary--complessed:hover::after, .--download.c-btn-primary:hover::after, .--download.c-btn-primary--complessed:focus-visible::after, .--download.c-btn-primary:focus-visible::after {
  color: #555555;
  background: url("../../common/img/ico_download_wh.svg") no-repeat right 0px top 50%;
}
.--download.c-btn-primary--complessed:hover::before, .--download.c-btn-primary:hover::before, .--download.c-btn-primary--complessed:focus-visible::before, .--download.c-btn-primary:focus-visible::before {
  transform: scale(70);
}

/*primary*/
@media only screen and (min-width: 769px), print {
  .c-btn-primary {
    min-height: 74px;
  }
}

/* primary (complessed) */
@media only screen and (min-width: 769px), print {
  .c-btn-primary--complessed {
    min-height: 64px;
  }
}

/* primary (long) */
.c-btn-primary--long {
  width: 100%;
  padding-right: 70px;
}
@media only screen and (min-width: 769px), print {
  .c-btn-primary--long {
    width: -moz-fit-content;
    width: fit-content;
    min-width: 492px;
    max-width: none;
  }
}

.c-btn-contact--long::before, .c-btn-contact::before, .c-btn-secondary::before {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.9);
  transition: all 0.3s ease-in-out;
}

.c-btn-contact--long::after, .c-btn-contact::after, .c-btn-secondary::after {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: grid;
  place-content: center;
  width: 20px;
  height: 20px;
  padding-top: 2px;
  padding-left: 2px;
  border-radius: 50%;
  font-family: "icomoon" !important;
  content: "\e902";
  font-size: 9px; /*IE9以下で反映されるよう記述*/
  font-size: 0.5625rem;
  line-height: 1;
}

/* Secondary
--------------------------*/
.c-btn-secondary {
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 214px;
  min-height: 50px;
  padding: 15px 68px 15px 24px;
  background: #F0F0F0;
  border-radius: 200px;
  text-decoration: none;
  line-height: 1.5;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
.c-btn-secondary > span {
  position: relative;
  z-index: 1;
}
.c-btn-secondary::after {
  background-color: #555555;
  color: #FFFFFF;
}
.c-btn-secondary:hover, .c-btn-secondary:focus-visible {
  opacity: 0.7;
}
.c-btn-secondary:hover::before, .c-btn-secondary:focus-visible::before {
  background-color: rgba(255, 255, 255, 0.2);
  transform: scale(100);
}
.c-btn-secondary[target=_blank]::after {
  content: "\e905";
}

/* Contact
--------------------------*/
.c-btn-contact--long, .c-btn-contact {
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 44px 10px 24px;
  border-radius: 200px;
  background: linear-gradient(to right bottom, #388BD1, #111A86);
  color: #FFFFFF;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.c-btn-contact--long > span::before, .c-btn-contact > span::before {
  font-size: 9px; /*IE9以下で反映されるよう記述*/
  font-size: 0.5625rem;
  font-weight: normal;
}
.c-btn-contact--long::after, .c-btn-contact::after {
  background-color: #FFFFFF;
  color: #111A86;
}
.c-btn-contact--long:hover, .c-btn-contact:hover, .c-btn-contact--long:focus, .c-btn-contact:focus {
  color: #FFFFFF;
}
.c-btn-contact--long:hover::before, .c-btn-contact:hover::before, .c-btn-contact--long:focus::before, .c-btn-contact:focus::before {
  background-color: rgba(255, 255, 255, 0.2);
  transform: scale(100);
}

.c-btn-contact {
  min-width: 200px;
  max-width: 270px;
}

.c-btn-contact--long {
  min-height: 60px;
}
.c-btn-contact--long > span {
  margin-right: 20px;
}
@media only screen and (min-width: 769px), print {
  .c-btn-contact--long {
    width: -moz-fit-content;
    width: fit-content;
    max-width: none;
  }
}

/* button layout */
.c-btn-block--center {
  margin-top: 40px;
  text-align: center;
}

/* gray button（line gradation） */
.c-btn-list {
  display: flex;
  flex-flow: row wrap;
  gap: 9px 15px;
}

.c-btn--line {
  background: #F0F0F0;
  border-radius: 100px;
  padding: 3px;
}
.c-btn--line:hover, .c-btn--line:focus-visible, .c-btn--line:active, .c-btn--line.is-current {
  background: linear-gradient(to right, #388BD1, #111A86);
}
.c-btn--line:hover .c-btn--gray, .c-btn--line:focus-visible .c-btn--gray, .c-btn--line:active .c-btn--gray, .c-btn--line.is-current .c-btn--gray {
  background: #FFFFFF;
}

.c-btn--gray {
  display: grid;
  place-content: center;
  height: 44px;
  padding: 15px;
  background: #F0F0F0;
  border: 3px solid #F0F0F0;
  border-radius: 100px;
  text-decoration: none;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}

.c-btn--news {
  width: 158px;
}
@media only screen and (min-width: 769px), print {
  .c-btn--news {
    width: 162px;
  }
}

/* More
--------------------------*/
.c-more-button {
  margin-top: 80px;
  padding-top: 80px;
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #CFCFCF;
  text-align: center;
}
.c-more-button .c-link-icon::after {
  content: "\e90c";
  font-family: "icomoon" !important;
  font-size: 20px;
  font-size: 1.25rem;
  color: #555555;
  vertical-align: middle;
  margin-left: 8px;
}

/* ==========================================================
!Switch Lang
========================================================== */
.c-switch-lang {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 4px;
  padding: 8px 16px;
  background: #E0E0E0;
  border: 1px solid #A7A7A7;
  border-radius: 50px;
  color: rgba(34, 34, 34, 0.5);
  line-height: 1;
}
.c-switch-lang__lang {
  color: rgba(34, 34, 34, 0.5);
  letter-spacing: 0.12em;
  font: inherit;
  font-family: "Montserrat", sans-serif;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  cursor: pointer;
}
.c-switch-lang__lang.is-current {
  color: #222222;
  font-weight: bold;
  border-bottom: 1px solid;
  cursor: default;
  pointer-events: none;
}

.c-switch-lang--gnav {
  padding: 0;
  background: transparent;
  border: 0;
}

/* ==========================================================
!H(n)eading
========================================================== */
/*heading Lv2*/
.is-style-c-heading-lv2--merit, .is-style-c-heading-lv2 {
  position: relative;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #CFCFCF;
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.is-style-c-heading-lv2--merit::before, .is-style-c-heading-lv2::before {
  color: rgba(34, 34, 34, 0.6);
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
.is-style-c-heading-lv2--merit::after, .is-style-c-heading-lv2::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  content: "";
  display: block;
  width: 55px;
  height: 0;
  border-top: 1px solid #111A86;
}
.is-style-c-heading-lv2--merit + *, .is-style-c-heading-lv2 + * {
  margin-top: 1.33em;
}
@media only screen and (min-width: 960px), print {
  .is-style-c-heading-lv2--merit, .is-style-c-heading-lv2 {
    font-size: 30px; /*IE9以下で反映されるよう記述*/
    font-size: 1.875rem;
  }
  .is-style-c-heading-lv2--merit::before, .is-style-c-heading-lv2::before {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}

.is-style-c-heading-lv2--merit {
  display: grid;
  gap: 4px;
  counter-increment: listnum;
}
.is-style-c-heading-lv2--merit .merit {
  color: #111A86;
  font-family: "Montserrat", sans-serif;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.is-style-c-heading-lv2--merit .merit .num {
  display: block;
  font-size: 30px; /*IE9以下で反映されるよう記述*/
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.is-style-c-heading-lv2--merit .merit .num::before {
  content: counter(listnum, decimal-leading-zero);
}
@media only screen and (min-width: 960px), print {
  .is-style-c-heading-lv2--merit {
    grid-auto-flow: column;
    justify-content: start;
    gap: 24px;
  }
}

.is-style-c-heading-lv2--intro {
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  letter-spacing: 0.12em;
  line-height: 2;
}
@media only screen and (min-width: 960px), print {
  .is-style-c-heading-lv2--intro {
    font-size: 24px; /*IE9以下で反映されるよう記述*/
    font-size: 1.5rem;
  }
}
.is-style-c-heading-lv2--intro + * {
  margin-top: 1.33em;
}

/*heading Lv3*/
.is-style-c-heading-lv3--noline, .is-style-c-heading-lv3 {
  padding-left: 16px;
  border-left: 4px solid #111A86;
  font-weight: 600;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  line-height: 1.5;
}
.is-style-c-heading-lv3--noline::before, .is-style-c-heading-lv3::before {
  color: #111A86;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
.is-style-c-heading-lv3--noline + *, .is-style-c-heading-lv3 + * {
  margin-top: 24px;
}
@media only screen and (min-width: 960px), print {
  .is-style-c-heading-lv3--noline, .is-style-c-heading-lv3 {
    font-size: 24px; /*IE9以下で反映されるよう記述*/
    font-size: 1.5rem;
  }
  .is-style-c-heading-lv3--noline::before, .is-style-c-heading-lv3::before {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}

.is-style-c-heading-lv3--noline {
  padding-left: 0;
  border-left: 0;
}

.c-recommend-heading-lv3 {
  font-size: 20px;
}
.c-recommend-heading-lv3 span {
  font-size: 125%;
}

/*heading Lv4*/
.is-style-c-heading-lv4--bgw, .is-style-c-heading-lv4--bg, .is-style-c-heading-lv4--line, .is-style-c-heading-lv4 {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 17px; /*IE9以下で反映されるよう記述*/
  font-size: 1.0625rem;
  font-weight: 600;
}
.is-style-c-heading-lv4--bgw::before, .is-style-c-heading-lv4--bg::before, .is-style-c-heading-lv4--line::before, .is-style-c-heading-lv4::before {
  margin-top: 13px;
  flex-shrink: 0;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #111A86 inset;
}
.is-style-c-heading-lv4--bgw + *, .is-style-c-heading-lv4--bg + *, .is-style-c-heading-lv4--line + *, .is-style-c-heading-lv4 + * {
  margin-top: 16px;
}
@media only screen and (min-width: 960px), print {
  .is-style-c-heading-lv4--bgw, .is-style-c-heading-lv4--bg, .is-style-c-heading-lv4--line, .is-style-c-heading-lv4 {
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
  }
}

.is-style-c-heading-lv4--line {
  padding-bottom: 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid #CFCFCF;
}

.is-style-c-heading-lv4--bg {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 24px;
  border-radius: 16px;
  background: #E5F3F8;
}

.is-style-c-heading-lv4--bgw {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 24px;
  border-radius: 16px;
  background: #FFFFFF;
}

/*heading-num*/
.c-heading-num {
  display: inline-grid;
  justify-content: flex-start;
  color: #111A86;
  font-family: "Montserrat", sans-serif;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: center;
  font-weight: 500;
}
.c-heading-num .num {
  display: block;
  font-size: 30px; /*IE9以下で反映されるよう記述*/
  font-size: 1.875rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

/* ==========================================================
!Index Card
========================================================== */
.c-idx-card {
  display: block;
  padding: 16px 16px 0 16px;
  background: #FFFFFF;
  border-radius: 10px;
  box-shadow: 0 0 33px rgba(0, 0, 0, 0.12);
  text-decoration: none;
}
@container (min-width: 450px) {
  .c-idx-card {
    padding: 24px 24px 0 24px;
    border-radius: 16px;
  }
}
.l-grid__item .c-idx-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.c-idx-card__header {
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
  border-radius: 10px;
}
.c-idx-card__header::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0));
  opacity: 0.48;
  transition: 0.3s;
}
@container (min-width: 450px) {
  .c-idx-card__header {
    border-radius: 16px;
  }
}

.c-idx-card__title {
  position: absolute;
  top: 16px;
  left: 24px;
  width: calc(100% - 48px);
  z-index: 1;
  color: #FFFFFF;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  letter-spacing: 0.2em;
}
@container (min-width: 450px) {
  .c-idx-card__title {
    top: 24px;
    left: 32px;
    width: calc(100% - 64px);
    font-size: 26px; /*IE9以下で反映されるよう記述*/
    font-size: 1.625rem;
  }
}

.c-idx-card__thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 606/308;
  max-width: none;
  max-height: 308px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.c-idx-card__body {
  margin-bottom: 16px;
  padding-inline: 8%;
}
.c-idx-card__body p {
  line-break: strict;
  text-align: center;
}
.c-idx-card__body br.-lg {
  display: none;
}
@container (min-width: 450px) {
  .c-idx-card__body {
    margin-bottom: 24px;
    padding-inline: 16px;
  }
}
@container (min-width: 640px) {
  .c-idx-card__body br.-lg {
    display: block;
  }
}

.c-idx-card__button {
  margin-top: auto;
  padding: 16px 0;
  border-top: 1px solid rgba(112, 112, 112, 0.4);
  text-align: center;
}
.c-idx-card__button::after {
  margin-left: 0.5em;
  font-size: 1.4em;
  color: #707070;
  vertical-align: middle;
  transition: 0.3s;
}

/*hoverスタイル*/
.c-idx-card:hover .c-idx-card__header::after, .c-idx-card:focus-visible .c-idx-card__header::after {
  background: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0.2));
  opacity: 0.68;
}
.c-idx-card:hover .c-idx-card__button::after, .c-idx-card:focus-visible .c-idx-card__button::after {
  color: #111A86;
}

/* ==========================================================
!Card
========================================================== */
.c-card {
  display: grid;
  gap: 24px;
  padding: 40px;
  background-color: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.17);
}
.c-card__title:has(.c-heading-num) {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-card__title:has(.c-heading-num) .c-card__title-text {
  border-left: 1px solid #111A86;
  padding-left: 10px;
}
@media only screen and (min-width: 769px), print {
  .c-card__title:has(.c-heading-num) {
    flex-direction: column;
    justify-content: center;
  }
  .c-card__title:has(.c-heading-num) .c-card__title-text {
    border: 0;
    padding: 0;
    text-align: center;
  }
}
.c-card__title:not(:has(.c-heading-num)) {
  text-align: center;
}
.c-card__title-text {
  display: block;
  font-weight: bold;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  line-height: 1.5;
}
.c-card__title-text > span {
  display: inline-block;
}
.c-card__title-num {
  color: #111A86;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
}
.c-card__img {
  text-align: center;
}

.c-cardlist {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

/* ==========================================================
!Box
========================================================== */
.c-box {
  padding: 40px 35px;
  background: #FFFFFF;
  border-radius: 16px;
}
.c-box.c-box--inner {
  padding: 56px 16px;
}
@media only screen and (min-width: 769px), print {
  .c-box.c-box--inner {
    padding: 80px 63px;
  }
}

.c-box--gray {
  background: #F8F8F8;
  border-radius: 16px;
  padding: 24px;
}
@media only screen and (min-width: 769px), print {
  .c-box--gray {
    padding: 48px;
  }
}
@media only screen and (min-width: 769px), print {
  .c-box--gray.-pc-max {
    max-width: 790px;
  }
}

.c-box--blue {
  position: relative;
  background: #D7E8F7;
  border: 2.5px solid #388BD1;
  border-radius: 16px;
  padding: 62px 32px 32px;
}
.c-box--blue + .c-box--blue {
  margin-top: 16px;
}
@media only screen and (min-width: 769px), print {
  .c-box--blue {
    padding: 50px;
  }
  .c-box--blue + .c-box--blue {
    margin: 0;
  }
}

.c-box--blue-heading {
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-content: center;
  background: #388BD1;
  border-radius: 28px;
  color: #FFFFFF;
  font-size: 18px; /*IE9以下で反映されるよう記述*/
  font-size: 1.125rem;
  font-weight: 500;
  max-width: 230px;
  width: 100%;
  height: 56px;
  padding: 12px;
}
@media only screen and (min-width: 769px), print {
  .c-box--blue-heading {
    font-size: 20px; /*IE9以下で反映されるよう記述*/
    font-size: 1.25rem;
  }
}

.c-box--marign {
  margin-top: 56px !important;
}
@media only screen and (min-width: 769px), print {
  .c-box--marign {
    margin-top: 65px !important;
  }
}

/* ==========================================================
!Icon
========================================================== */
.c-ico-link {
  position: relative;
}
.c-ico-link::before {
  position: absolute;
  right: 10px;
  bottom: 15px;
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border: 1.5px solid #0F1937;
  border-radius: 50%;
}
.c-ico-link::after {
  position: absolute;
  right: 18px;
  bottom: 28px;
  content: "";
  display: block;
  width: 34px;
  height: 5px;
  background: url(../../common/img/ico_arrow01.svg) left bottom/contain no-repeat;
  transition: all 0.3s;
}
.c-ico-link:hover, .c-ico-link:focus {
  color: #0F1937;
}
.c-ico-link:hover > span, .c-ico-link:focus > span {
  transform: translateX(15px);
}
.c-ico-link:hover::after, .c-ico-link:focus::after {
  right: -8px;
}

/*SNSアイコン*/
.c-ico-sns {
  line-height: 1;
}
.c-ico-sns > li {
  display: inline-block;
  margin: 0 0 0 0;
  font-size: 30px; /*IE9以下で反映されるよう記述*/
  font-size: 1.875rem;
  text-indent: 0;
}
.c-ico-sns > li:not(:first-child) {
  margin: 0 0 0 0.5em;
}
.c-ico-sns > li::before {
  display: none;
}
.c-ico-sns > li a {
  padding-right: 0;
  color: #0F1937;
  text-decoration: none;
}
.c-ico-sns > li a[target=_blank]::after {
  display: none;
}
.c-ico-sns > li a:hover {
  color: #485B7B;
}

/*下矢印*/
.c-ico-arrow-down,
.c-ico-arrow-down-w {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  width: 0.6em;
  height: 0.6em;
  border-top: 2px solid #0F1937;
  border-right: 2px solid #0F1937;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
  margin: 0 0 0 10px;
  transition: all 0.35s ease;
}
a:hover .c-ico-arrow-down,
a:hover .c-ico-arrow-down-w {
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}

.c-ico-arrow-down-w {
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
}

/* ==========================================================
!label
========================================================== */
.c-label {
  display: grid;
  place-items: center;
  border-radius: 4px;
  background: linear-gradient(to right, #4E9DC7, #3E6CAD);
  min-width: 75px;
  min-height: 23px;
  width: -moz-max-content;
  width: max-content;
  color: #FFFFFF;
  line-height: 1.4;
  text-decoration: none;
  padding: 3px 10px 3px 10px;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
@media only screen and (min-width: 960px), print {
  .c-label {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}

.c-label--small {
  min-width: 50px;
}

.c-label--gray {
  background: #707070;
}

/* ==========================================================
!Listing
========================================================== */
.c-ul-check, .c-ul-disc, .c-ul-line {
  display: grid;
  gap: 16px;
}
.c-ul-check > li, .c-ul-disc > li, .c-ul-line > li {
  position: relative;
  padding-left: 1.5em;
}

.c-ul-line > li::before {
  position: absolute;
  left: 0;
  top: 0.75em;
  top: 0.5lh;
  content: "";
  display: block;
  width: 10px;
  border-top: 1px solid #B6B6B6;
}

.c-ul-disc > li::before {
  position: absolute;
  left: 0;
  top: 0.72em;
  top: calc(0.5lh - 5px);
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #388BD1;
}

.c-ul-check > li .fa-check {
  position: absolute;
  left: 0;
  top: 0.3em;
  top: 0.3lh;
  color: #111A86;
}

.c-ul-check.--longText {
  gap: 24px;
  line-height: 2;
}
.c-ul-check.is-half {
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (min-width: 769px), print {
  .c-ul-check.is-half--pc {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-ul-basic {
  list-style: none;
  padding-left: 1em;
}
.c-ul-basic > li {
  position: relative;
  padding-left: 1em;
}
.c-ul-basic > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #222222;
}
.c-ul-basic > li::before > a {
  word-break: break-word;
}
.c-ul-basic > li:not(:last-child) {
  margin-bottom: 16px;
}

.c-ol-decimal {
  display: grid;
  gap: 16px;
  margin-left: 1.5em;
  list-style-type: decimal;
}

.c-ol-parentheses {
  margin-left: 3.5em;
}
.c-ol-parentheses > li {
  list-style-type: none;
  counter-increment: count;
  line-height: 2;
}
.c-ol-parentheses > li::before {
  content: "(" counter(count) ") ";
  display: inline-block;
  margin-left: -3em;
  width: 3em;
}
.c-ol-parentheses > li:not(:last-child) {
  margin-bottom: 16px;
}
.c-ol-parentheses > li a {
  word-break: break-word;
}
.c-ol-parentheses > li > ul {
  list-style: none;
  padding-left: 1em;
}
.c-ol-parentheses > li > ul > li {
  position: relative;
  padding-left: 1em;
}
.c-ol-parentheses > li > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #222222;
}
.c-ol-parentheses > li > ol {
  padding-left: 2em;
}
.c-ol-parentheses > li > ol > li {
  list-style-type: none;
  counter-increment: counter;
}
.c-ol-parentheses > li > ol > li::before {
  content: counter(counter) ".";
  display: inline-block;
  margin-left: -1em;
  width: 1em;
}
.c-ol-parentheses > li > ol > li > ul {
  list-style: none;
}
.c-ol-parentheses > li > ol > li > ul > li {
  position: relative;
  padding-left: 1em;
}
.c-ol-parentheses > li > ol > li > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #222222;
}
.c-ol-parentheses .c-text-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.c-dl-leader {
  display: block grid;
  row-gap: 16px;
  margin-inline: auto;
}
.c-dl-leader > div {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  grid-template-areas: "dt dt" "dot dd";
  align-items: center;
  row-gap: 8px;
}
.c-dl-leader > div::before {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  --_dot-size: 4px;
  content: "";
  grid-area: dot;
  block-size: var(--_dot-size);
  margin-inline: 1.5em;
  background: radial-gradient(rgba(112, 112, 112, 0.5) 30%, transparent 0) center center/var(--_dot-size) var(--_dot-size);
}
.c-dl-leader dt {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-area: dt;
  display: grid;
  grid-template-columns: 1.5em 1fr;
  align-items: baseline;
}
.c-dl-leader dt .fa-check {
  color: #111A86;
}
.c-dl-leader dd {
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  grid-area: dd;
}
@media only screen and (min-width: 769px), print {
  .c-dl-leader > div {
    grid-template: "dt dot dd"/auto 1fr auto;
    align-items: center;
  }
  .c-dl-leader > div::before {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .c-dl-leader dt {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
  }
  .c-dl-leader dd {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
}

/* ==========================================================
!pagenation
========================================================== */
.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -1px 0 0 0;
  padding: 16px 40px 16px 40px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  padding: 10px;
}
.wp-pagenavi .current,
.wp-pagenavi .page {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 10px;
  padding: 10px 10px;
}
.wp-pagenavi .page {
  transition: 0.3s;
}
/* ==========================================================
!Pagetop
========================================================== */
/* fixed
------------------------------------ */
.l-pagetop_fixed {
  display: none;
  position: relative;
}
.l-pagetop_fixed p {
  display: block;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9999;
  width: 8.928%;
  cursor: pointer;
}

/* ==========================================================
!Table
========================================================== */
.c-table01 table {
  width: 100%;
  border: 0;
  border-top: 1px solid #CFCFCF;
}
.c-table01 table tr {
  border-bottom: 1px solid #CFCFCF;
}
.c-table01 table tr > :first-child {
  width: 180px;
  font-weight: bold;
}
.c-table01 table td,
.c-table01 table th {
  padding: 30px 0;
  border: 0;
  vertical-align: top;
  line-height: 2;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
@media not screen and (min-width: 769px) {
  .c-table01 table, .c-table01 thead, .c-table01 tfoot, .c-table01 tbody, .c-table01 tr, .c-table01 th, .c-table01 td {
    display: block;
  }
  .c-table01 table tr {
    padding: 30px 0;
  }
  .c-table01 table tr > :first-child {
    width: 100%;
    margin-bottom: 8px;
  }
  .c-table01 table th, .c-table01 table td {
    padding-block: 0;
  }
}

/* 営業所一覧用
---------------------------*/
.c-table02 table {
  width: 100%;
}
.c-table02 table tr > :first-child {
  width: 180px;
  font-weight: bold;
}
.c-table02 table tr > :nth-child(2) {
  width: 550px;
  padding-right: 16px;
}
.c-table02 table tr > :last-child {
  white-space: nowrap;
}
.c-table02 table td, .c-table02 table th {
  padding: 4px 0;
  line-height: 2;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
@media not screen and (min-width: 960px) {
  .c-table02 table tr > :nth-child(2) {
    width: auto;
  }
}
@media not screen and (min-width: 769px) {
  .c-table02 table, .c-table02 tbody, .c-table02 tr, .c-table02 th, .c-table02 td {
    display: block;
  }
  .c-table02 table tr {
    padding: 12px 0;
  }
  .c-table02 table tr > :first-child {
    width: 100%;
    margin-bottom: 8px;
  }
  .c-table02 table tr > :nth-child(2) {
    width: 100%;
    padding: 0;
  }
  .c-table02 table th, .c-table02 table td {
    padding-block: 0;
  }
}

/* ==========================================================
!tags
========================================================== */
.c-taglist > li {
  display: inline-block;
  margin: 5px 5px 5px 0;
  text-indent: 0;
}
.c-taglist > li::before {
  display: none;
}
.c-taglist > li a {
  display: inline-block;
  padding: 8px 15px 8px 15px;
  border: 1px solid #0F1937;
  border-radius: 20px;
  color: #0F1937;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  line-height: 1.2;
  text-decoration: none;
}
.c-taglist > li a:hover, .c-taglist > li a:focus {
  background: #0F1937;
  color: #FFFFFF;
}

.c-taglist--ghost > li a {
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
}
.c-taglist--ghost > li a:hover, .c-taglist--ghost > li a:focus {
  border: 1px solid #0F1937;
  background: #FFFFFF;
  color: #0F1937;
}

/* ==========================================================
!Text
========================================================== */
ul.c-text-caption {
  display: grid;
  gap: 8px;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
ul.c-text-caption > li:has([class*=ico_], [class*=fa-]) {
  display: grid;
  grid-template-columns: 1.2em 1fr;
  align-items: baseline;
}
ul.c-text-caption > li:not(:has([class*=ico_], [class*=fa-])) {
  text-indent: -1.2em;
  margin-left: 1.2em;
}

p.c-text-caption:has([class*=ico_], [class*=fa-]),
div.c-text-caption:has([class*=ico_], [class*=fa-]) {
  display: grid;
  grid-template-columns: 1.2em 1fr;
  align-items: baseline;
}
p.c-text-caption:not(:has([class*=ico_], [class*=fa-])),
div.c-text-caption:not(:has([class*=ico_], [class*=fa-])) {
  text-indent: -1.2em;
  margin-left: 1.2em;
}

.c-text-uline {
  padding-bottom: 0.2em;
  border-bottom: 2px solid #3685CD;
}

.c-text-blue {
  color: #111A86;
}

.c-caution {
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}

/* ==========================================================
!Text Link
========================================================== */
.c-link-icon {
  text-decoration: none;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.c-link-icon::after {
  content: "\e900";
  font-family: "icomoon" !important;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  color: #555555;
  vertical-align: middle;
  margin-left: 8px;
}
.c-link-icon > span {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
}
.c-link-icon[target=_blank]::after {
  content: "\e904";
}
.c-link-icon:hover, .c-link-icon:focus-visible {
  opacity: 0.7;
}
@media only screen and (min-width: 960px), print {
  .c-link-icon {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
}
.c-link-icon.c-link-icon--v2 {
  font-size: unset;
}

/*青グラデーション＋外部リンクアイコン*/
.c-link-icon--blue-grad {
  position: relative;
  text-decoration: none;
  padding-right: 34px;
}
.c-link-icon--blue-grad::after {
  position: absolute;
  right: 0;
  bottom: 50%;
  transform: translateY(50%);
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background: url(../../common/img/ico_external_blue_grad.svg) left bottom/contain no-repeat;
}
.c-link-icon--blue-grad:hover, .c-link-icon--blue-grad:focus {
  opacity: 0.7;
}

/* ==========================================================
!News
========================================================== */
.p-news {
  margin-bottom: 40px;
  padding-bottom: 100px;
}
@media only screen and (min-width: 769px), print {
  .p-news {
    margin-bottom: 72px;
    padding-bottom: 200px;
  }
}

.p-news-card {
  margin-top: 40px;
}
@media only screen and (min-width: 769px), print {
  .p-news-card {
    margin-top: 80px;
  }
}
.p-news-card__list {
  margin-bottom: -80px;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__list {
    margin-bottom: -80px;
  }
}
.p-news-card__item:not(:first-child) {
  border-top: 1px solid #CFCFCF;
}
.p-news-card__item:not(:first-child) .p-news-card__link {
  padding-top: 40px;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__item:not(:first-child) .p-news-card__link {
    padding-top: 48px;
  }
}
.p-news-card__item:not(:last-child) .p-news-card__link {
  padding-bottom: 40px;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__item:not(:last-child) .p-news-card__link {
    padding-bottom: 48px;
  }
}
.p-news-card__link {
  position: relative;
  display: grid;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__link {
    grid-template-columns: auto 325px 20px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
.p-news-card__link:hover, .p-news-card__link:focus-visible, .p-news-card__link:active {
  opacity: 0.7;
}
.p-news-card__link::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-content: center;
  grid-column: 2;
  grid-row: 1/-1;
  width: 20px;
  height: 20px;
  padding-left: 2px;
  background: #555555;
  color: #FFFFFF;
  line-height: 1.4;
  border-radius: 50%;
  content: "\e902";
  font-family: "icomoon" !important;
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__link::after {
    grid-column: 3;
  }
}
.p-news-card__body {
  display: grid;
  grid-row: 1;
  width: 85%;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__body {
    grid-column: 1;
    grid-template-rows: auto auto 1fr;
    width: 100%;
  }
}
.p-news-card__upper {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-bottom: 8px;
}
.p-news-card__date {
  color: rgba(34, 34, 34, 0.45);
  font-family: "Montserrat", sans-serif;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  letter-spacing: 0.1em;
}
.p-news-card__title {
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 24px;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__title {
    font-size: 20px; /*IE9以下で反映されるよう記述*/
    font-size: 1.25rem;
  }
}
.p-news-card__text {
  margin-bottom: 32px;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__text {
    margin-bottom: 0;
  }
}
.p-news-card__thumb {
  display: grid;
  place-content: center;
  grid-row: 2;
  margin: 0;
}
@media only screen and (min-width: 769px), print {
  .p-news-card__thumb {
    grid-row: 1;
    grid-column: 2;
  }
}

/* ==========================================================
!News
========================================================== */
.p-news-list {
  border-top: 1px solid #CFCFCF;
}
.p-news-list > li {
  border-bottom: 1px solid #CFCFCF;
}
.p-news-list a {
  position: relative;
  display: block;
  padding: 24px 24px 24px 0;
  text-decoration: none;
}
.p-news-list a::after {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1px solid rgba(34, 34, 34, 0.5);
  border-right: 1px solid rgba(34, 34, 34, 0.5);
  transform: rotate(45deg);
}
.p-news-list__date {
  color: rgba(34, 34, 34, 0.5);
  font-family: "Montserrat", sans-serif;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.p-news-list__text {
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
@media only screen and (min-width: 960px), print {
  .p-news-list a {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 40px 48px 40px 0;
  }
  .p-news-list__date {
    flex-shrink: 0;
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
  .p-news-list__tag {
    flex-shrink: 0;
  }
  .p-news-list__text {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
}

/* ==========================================================
!Area
========================================================== */
.p-area {
  display: grid;
}
.p-area + .p-area {
  margin-top: 55px;
}

.p-area__img {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
  text-align: center;
}
.p-area__img .map img {
  max-width: none;
  width: 100%;
}
.p-area__img .photo img {
  aspect-ratio: 325/217;
}

@media only screen and (min-width: 640px), print {
  .p-area {
    grid-template-columns: 54.7% 1fr;
    grid-template-rows: repeat(4, auto);
    gap: 0 5.6%;
  }
  .p-area + .p-area {
    margin-top: min(9%, 80px);
    padding-top: min(9%, 80px);
    border-top: 1px solid #CFCFCF;
  }
  .p-area__title {
    grid-column: span 2;
  }
  .p-area__img {
    grid-column: 1/2;
    grid-row: span 3;
  }
  .p-area__img .map {
    display: none;
  }
  .p-area__img .photo img {
    aspect-ratio: auto;
  }
  .p-area__stitle {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  .p-area__text {
    grid-column: 2/3;
    grid-row: 3/4;
  }
}
/* ==========================================================
!Visual List
========================================================== */
.p-vlist--col2 {
  display: grid;
  gap: 16px;
}
@media only screen and (min-width: 960px), print {
  .p-vlist--col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}

.p-vlist--col3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media only screen and (min-width: 769px), print {
  .p-vlist--col3 {
    gap: 16px;
  }
}
@media only screen and (min-width: 960px), print {
  .p-vlist--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-vlist__item {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 229px;
  padding: 93px 24px 40px;
  color: #FFFFFF;
}
@media only screen and (min-width: 960px), print {
  .p-vlist__item {
    padding: 40px;
    aspect-ratio: 654/469;
  }
}
.p-vlist--col3 .p-vlist__item {
  padding: 8px 20px;
  min-height: 0;
  aspect-ratio: 158/110;
}
@media only screen and (min-width: 769px), print {
  .p-vlist--col3 .p-vlist__item {
    padding: 16px 20px;
  }
}
@media only screen and (min-width: 960px), print {
  .p-vlist--col3 .p-vlist__item {
    padding: 24px;
    aspect-ratio: 322/226;
  }
}

.p-vlist__title {
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}
.p-vlist__title .num {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-weight: normal;
  font-size: 18px; /*IE9以下で反映されるよう記述*/
  font-size: 1.125rem;
}
.p-vlist__title + .p-vlist__text {
  margin-top: 16px;
}
.p-vlist--col3 .p-vlist__title {
  font-size: 17px; /*IE9以下で反映されるよう記述*/
  font-size: 1.0625rem;
}
@media only screen and (min-width: 960px), print {
  .p-vlist--col3 .p-vlist__title {
    font-size: 21px; /*IE9以下で反映されるよう記述*/
    font-size: 1.3125rem;
  }
}

.p-vlist__bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-vlist__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 24px;
}
.p-vlist__bg::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  border-radius: 24px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.65));
}

/*上付きタイプ*/
.p-vlist__item._row-reverse {
  align-content: start;
  padding: 40px 32px 93px;
}
.p-vlist__item._row-reverse .p-vlist__bg::before {
  background: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.65));
}

/* ==========================================================
!Tab
========================================================== */
/* Tab Area
------------------------------*/
.p-tabarea {
  margin-right: -24px;
  margin-left: -24px;
}
@container (min-width: 1400px) {
  .p-tabarea {
    margin-right: 0;
    margin-left: 0;
  }
}

.p-tabarea--scroll .c-text-caption {
  padding-left: 24px;
}
@container (min-width: 1400px) {
  .p-tabarea--scroll .c-text-caption {
    padding-left: 0;
  }
}

/*2カラムの場合*/
.l-split__main .p-tabarea {
  margin-left: 0;
  margin-right: 0;
}
.l-split__main .p-tabarea--scroll .c-text-caption {
  padding-left: 0;
}

/* Tab List
------------------------------*/
.p-tablist--scroll {
  width: 100%;
  max-width: 100vw;
  overflow-x: auto;
  padding-top: 24px;
}

.p-tablist {
  display: flex;
  align-items: flex-end;
  height: 50px;
  border-radius: 16px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.16);
}
.p-tablist > li {
  position: relative;
  flex-shrink: 0;
  flex-grow: 1;
}
.p-tablist > li:first-child .p-tab {
  border-radius: 16px 0 0 0;
}
.p-tablist > li:first-child .p-tab[aria-selected=true]::before {
  display: none;
}
.p-tablist > li:last-child .p-tab {
  border-radius: 0 16px 0 0;
}
.p-tablist > li:last-child .p-tab[aria-selected=true]::after {
  display: none;
}
@container (min-width: 960px) {
  .p-tablist {
    height: 60px;
  }
}

/* Tab
------------------------------*/
.p-tab {
  display: grid;
  place-content: center;
  min-width: 136px;
  width: 100%;
  height: 50px;
  padding: 13px 16px;
  background: #FFFFFF;
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}
.p-tab[aria-selected=true] {
  position: relative;
  bottom: 0;
  z-index: 1;
  height: 60px;
  background: url(../../common/img/bg_tab.png) left bottom/100% 100% no-repeat;
  color: #FFFFFF;
  border-radius: 16px 16px 0 0 !important;
}
.p-tab[aria-selected=true]::before, .p-tab[aria-selected=true]::after {
  position: absolute;
  content: "";
  display: block;
  width: 19px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
}
.p-tab[aria-selected=true]::before {
  left: -19px;
  bottom: 0;
  background-image: url(../../common/img/bg_tab_l.png);
  background-position: right bottom;
}
.p-tab[aria-selected=true]::after {
  right: -19px;
  bottom: 0;
  background-image: url(../../common/img/bg_tab_r.png);
  background-position: left bottom;
}
.p-tab[aria-selected=true]:hover {
  opacity: 1;
}
.p-tab:hover {
  opacity: 0.7;
}
@container (min-width: 960px) {
  .p-tab {
    height: 60px;
  }
  .p-tab[aria-selected=true] {
    height: 70px;
  }
}

.p-tab.p-tab--type2 {
  justify-content: start;
}
.p-tab.p-tab--type2 > span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-tab.p-tab--type2 > span::before {
  display: block;
  flex-shrink: 0;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  box-shadow: 0 0 0 3px #111A86 inset;
}

[lang=en] .p-tab {
  min-width: -moz-fit-content;
  min-width: fit-content;
}

/* Tab Panel
------------------------------*/
.p-tabpanel {
  display: none;
  padding: 48px 32px 40px 32px;
  background: #FFFFFF;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.16);
}
.p-tabpanel[aria-hidden=false] {
  display: block;
}
@container (min-width: 960px) {
  .p-tabpanel {
    padding: 66px;
  }
}
.p-tabpanel--gray {
  background: #F0F0F0;
}

/* ==========================================================
!Zoom
========================================================== */
.p-zoom__caption {
  display: block;
  margin-bottom: 5px;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
.p-zoom__caption .tap, .p-zoom__caption .click {
  display: none;
}

@media (hover: none) and (pointer: coarse) {
  .p-zoom__caption .tap {
    display: inline;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-zoom__caption .click {
    display: inline;
  }
}
.p-zoom__helpicon {
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 23px;
  padding-top: 5px;
  background: url(../../common/img/ico_tap.png) right top/9px 9px no-repeat;
  font-size: 18px; /*IE9以下で反映されるよう記述*/
  font-size: 1.125rem;
}

.p-zoom__fig {
  position: relative;
  cursor: pointer;
}
.p-zoom__fig img {
  max-width: none;
  width: 100%;
}

.p-zoom__icon {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: grid;
  place-content: center;
  width: 36px;
  height: 36px;
  border-radius: 5px;
  background: rgba(34, 34, 34, 0.7);
  color: #FFFFFF;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
}

@media only screen and (min-width: 769px), print {
  .p-zoom__caption {
    display: none;
  }
  .p-zoom__icon {
    display: none;
  }
  .p-zoom__fig {
    cursor: default;
  }
  .p-zoom._always .p-zoom__caption {
    display: block;
  }
  .p-zoom._always .p-zoom__icon {
    display: grid;
  }
  .p-zoom._always .p-zoom__fig {
    cursor: pointer;
  }
}
/*画像拡大表示用モーダル*/
.p-zoom__modal {
  margin-right: 0;
}
.p-zoom__modal img {
  max-width: none;
  max-height: 80vmax;
  width: auto;
}
.p-zoom__modal .l-modal__contents {
  width: -moz-fit-content;
  width: fit-content;
  padding: 16px;
  background: #FFFFFF;
}

/* ==========================================================
!サービスアパートメントとホテルの比較
========================================================== */
.p-compare-with-hotels {
  display: grid;
  gap: min(4.2666666667vmin, 40px) min(5.3333333333vmin, 56px);
}
.p-compare-with-hotels img {
  width: 100%;
  max-width: none;
}
@media only screen and (min-width: 769px), print {
  .p-compare-with-hotels {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-compare-with-hotels__text {
  margin-top: 32px;
  font-size: 17px; /*IE9以下で反映されるよう記述*/
  font-size: 1.0625rem;
}
@media only screen and (min-width: 960px), print {
  .p-compare-with-hotels__text {
    margin-top: 40px;
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
    text-align: center;
  }
}

/* ==========================================================
!Search Map
========================================================== */
/* エリア検索MAP
-----------------------------*/
.p-search-map {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
}
.p-search-map svg {
  width: auto;
  height: 70vh;
  max-height: 560px;
}
.p-search-map svg a {
  text-decoration: none;
}
.p-search-map svg a path {
  transition: fill 0.3s linear;
}
.p-search-map svg a:hover path {
  fill: #8aa9b5;
}

.p-search-map__text {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.p-search-map__area {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.p-search-map.is-map .p-search-map__area {
  display: none;
}
.p-search-map__area > div {
  position: absolute;
  display: none;
}
.p-search-map__area > div.is-current {
  display: block;
}
.p-search-map__area .area01 {
  width: 36.7142857143%;
  left: 37.1428571429%;
  top: 6.4748201439%;
}
.p-search-map__area .area02 {
  width: 27.8571428571%;
  left: 70%;
  top: 37.7697841727%;
}
.p-search-map__area .area03 {
  width: 14.2857142857%;
  left: 45.7142857143%;
  top: 45.8633093525%;
}
.p-search-map__area .area04 {
  width: 14.2857142857%;
  left: 53.5714285714%;
  top: 52.1582733813%;
}
.p-search-map__area .area05 {
  width: 17.5714285714%;
  left: 58.5714285714%;
  top: 26.9784172662%;
}
.p-search-map__area .area06 {
  width: 35.4285714286%;
  left: 17.1428571429%;
  top: 71.9424460432%;
}
.p-search-map__area .area07 {
  width: 18.5714285714%;
  left: 47.8571428571%;
  top: 22.4820143885%;
}
.p-search-map__area .area08 {
  width: 20%;
  left: 37.8571428571%;
  top: 30.5755395683%;
}
.p-search-map__area .area09 {
  width: 23.8571428571%;
  left: 54.2857142857%;
  top: 41.3669064748%;
}
.p-search-map__area .area10 {
  width: 15%;
  left: 75.7142857143%;
  top: 27.8776978417%;
}
.p-search-map__area .area11 {
  width: 20.5714285714%;
  left: 64.2857142857%;
  top: 61.1510791367%;
}
.p-search-map__area .area12 {
  width: 18.8571428571%;
  left: 81.4285714286%;
  top: 48.5611510791%;
}

/**/
/* ==========================================================
!FAQ
========================================================== */
.p-faq {
  display: grid;
  gap: 15px;
}
.p-faq p {
  line-height: 1.5;
}

.p-faq__q {
  position: relative;
  display: flex;
  gap: 5px;
  padding: 30px 32px;
  margin-left: 30px;
  background: #FFFFFF;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  border-radius: 16px;
  font-size: 17px; /*IE9以下で反映されるよう記述*/
  font-size: 1.0625rem;
}
.p-faq__q-icon {
  color: #111A86;
  font-weight: bold;
}
.p-faq__q-text {
  font-weight: 500;
}
.p-faq__q::before {
  position: absolute;
  left: -30px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 56px;
  height: 56px;
  background: url(../../common/img/img_faq_illust03.png) 0 0/contain no-repeat;
}
@media only screen and (min-width: 769px), print {
  .p-faq__q {
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
    margin-right: 70px;
  }
}

.p-faq__a {
  position: relative;
  display: flex;
  gap: 5px;
  background: #E5F3F8;
  padding: 30px 32px;
  margin-right: 30px;
  border-radius: 16px;
  font-size: 15px; /*IE9以下で反映されるよう記述*/
  font-size: 0.9375rem;
}
.p-faq__a-icon {
  color: #891313;
  font-weight: bold;
}
.p-faq__a-text {
  flex-grow: 1;
}
.p-faq__a::before {
  position: absolute;
  right: -30px;
  top: 27px;
  bottom: 0;
  content: "";
  display: block;
  width: 56px;
  height: 56px;
  background: url(../../common/img/img_faq_illust04.png) 0 0/contain no-repeat;
}
@media only screen and (min-width: 769px), print {
  .p-faq__a::before {
    top: 20px;
  }
}
@media only screen and (min-width: 769px), print {
  .p-faq__a {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
    margin-left: 70px;
  }
}

.p-faq__box {
  width: 100%;
  margin-top: 24px;
  padding: 24px 16px;
  border-radius: 16px;
  background: #FFFFFF;
}
.p-faq__box + * {
  margin-top: 24px;
}
@media only screen and (min-width: 769px), print {
  .p-faq__box {
    padding: 32px;
  }
}
@media only screen and (min-width: 769px), print {
  .p-faq__box li:has(.fa-txtright) {
    display: flex;
  }
}
.p-faq__box .fa-txtright {
  display: block;
  text-align: right;
  font-size: 15px; /*IE9以下で反映されるよう記述*/
  font-size: 0.9375rem;
  position: relative;
  flex-grow: 1;
}
.p-faq__box .fa-txtright:before {
  border-top: 1px dotted #CFCFCF;
  content: "";
  width: calc(100% - 9em);
  height: 0;
  position: absolute;
  top: 50%;
  left: 0;
}
@media only screen and (min-width: 769px), print {
  .p-faq__box .fa-txtright:before {
    width: calc(100% - 10em);
    left: 1em;
  }
}
.p-faq__box .fa-txtright span {
  color: #111A86;
  font-weight: 600;
}
.p-faq__box .caution {
  display: block;
  font-size: 11px; /*IE9以下で反映されるよう記述*/
  font-size: 0.6875rem;
}
.p-faq__box .caution:before {
  content: "※";
}

/* ==========================================================
!Anchor Menu
========================================================== */
.p-anchor-menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.p-anchor-menu > li {
  padding: 3px;
  background: #F0F0F0;
  border-radius: 100px;
}
.p-anchor-menu > li:hover, .p-anchor-menu > li:focus-visible, .p-anchor-menu > li.is-current, .p-anchor-menu > li:has(.is-current) {
  background: linear-gradient(to right, #388BD1, #111A86);
}
.p-anchor-menu > li:hover a, .p-anchor-menu > li:focus-visible a, .p-anchor-menu > li.is-current a, .p-anchor-menu > li:has(.is-current) a {
  background: #FFFFFF;
}
.p-anchor-menu > li a {
  position: relative;
  display: grid;
  align-content: center;
  height: 44px;
  padding: 4px 16px;
  background: #F0F0F0;
  border-radius: 100px;
  text-decoration: none;
  line-height: 1.33;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  font-weight: 500;
}
.p-anchor-menu > li a::after {
  position: absolute;
  right: 20px;
  top: 50%;
  translate: 0 -50%;
  rotate: 90deg;
  content: "\e902";
  font-family: "icomoon" !important;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  color: #555555;
}
@media only screen and (min-width: 1024px), print {
  .p-anchor-menu {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
  .p-anchor-menu > li a {
    justify-content: center;
    text-align: center;
  }
}

.p-anchor-menu--col2 {
  grid-template-columns: repeat(2, minmax(auto, 186px));
}
@media only screen and (min-width: 1024px), print {
  .p-anchor-menu--col2 {
    grid-template-columns: repeat(2, minmax(auto, 186px));
  }
}

/* Anchor Menu (small) 
-------------------------------------*/
.p-anchor-menu--s {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 56px;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
.p-anchor-menu--s a {
  text-decoration: none;
  border-bottom: 2px solid;
  color: #B6B6B6;
}
.p-anchor-menu--s a.is-current {
  color: #111A86;
  font-weight: 500;
}

/* ==========================================================
!Rental
========================================================== */
.p-rental {
  padding: 32px 0;
}
.p-rental:first-child {
  padding-top: 0;
}
.p-rental + .p-rental:not(.p-rental--option) {
  border-top: 1px dashed #CFCFCF;
}

/*家具配置イメージ*/
.p-rental--layout {
  display: grid;
  gap: 24px;
}
@container (min-width: 640px) {
  .p-rental--layout {
    grid-template-columns: minmax(auto, 300px) 1fr;
  }
}

/*オプション*/
.p-rental--option {
  padding: 0;
}
.p-rental--option__title {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  padding: 16px 32px 16px 24px;
  margin-bottom: 0;
  background: #E5F3F8;
  border-radius: 16px 16px 0 0;
}
.p-rental--option__title::after {
  position: absolute;
  right: -20px;
  bottom: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(../../common/img/bg_tab_r_blue.png) left bottom/contain no-repeat;
}
.p-rental--option__body {
  padding: 20px 32px 32px 32px;
  background: #E5F3F8;
  border-radius: 0 16px 16px 16px;
}
.p-rental--option__contents {
  display: grid;
  gap: 16px;
}
.p-rental--option__contents figcaption {
  font-size: 17px; /*IE9以下で反映されるよう記述*/
  font-size: 1.0625rem;
  font-weight: 500;
}
@media only screen and (min-width: 769px), print {
  .p-rental--option__contents figcaption {
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
  }
}
.p-rental--option__contents .p-rental--option__contents-inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@container (min-width: 640px) {
  .p-rental--option__contents .p-rental--option__contents-inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
  }
}

/*表組み*/
.p-rental__table01 {
  width: 100%;
}
.p-rental__table01 th, .p-rental__table01 td {
  width: 50%;
  padding: 4px;
  text-align: center;
}
.p-rental__table01 thead th {
  background: #E5F3F8;
}
@container (min-width: 640px) {
  .p-rental__table01 {
    width: auto;
  }
  .p-rental__table01 th, .p-rental__table01 td {
    min-width: 140px;
  }
}

.p-rental__table02 {
  width: 100%;
}
.p-rental__table02 th, .p-rental__table02 td {
  width: 50%;
  padding: 4px;
  text-align: center;
}
.p-rental__table02 thead th {
  background: #3685CD;
  color: #FFFFFF;
}
.p-rental__table02 tbody td {
  background: #FFFFFF;
  border-bottom: 1px solid #E5F3F8;
}
@container (min-width: 640px) {
  .p-rental__table02 {
    width: auto;
  }
  .p-rental__table02 th {
    padding-inline: 24px;
  }
}

/* ==========================================================
!About Message
========================================================== */
.p-about-msg {
  align-items: center;
}
@media only screen and (min-width: 960px), print {
  .p-about-msg {
    gap: 80px;
  }
}

.p-about-msg__catch {
  font-weight: 500;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
}
@media only screen and (min-width: 960px), print {
  .p-about-msg__catch {
    font-size: 26px; /*IE9以下で反映されるよう記述*/
    font-size: 1.625rem;
    line-height: 2;
  }
}

.p-about-msg__ceo {
  margin-top: 24px;
  width: 152px;
}
@media only screen and (min-width: 960px), print {
  .p-about-msg__ceo {
    margin-top: 70px;
    width: 220px;
  }
}

.p-about-msg-text {
  margin-top: 40px;
}
@media only screen and (min-width: 960px), print {
  .p-about-msg-text {
    margin-top: 80px;
  }
}

/* ==========================================================
!Text
========================================================== */
/*before afterスライダー本体*/
.p-before-after {
  position: relative;
  overflow: hidden;
  width: 800px;
  max-width: 100%;
  margin: 0 auto;
}

/*Beforeスタイル*/
.p-before-after__before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  height: 100%;
  box-shadow: 10px 0 15px -13px #000;
}
.p-before-after__before img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left center;
     object-position: left center;
}
.p-before-after__before::before {
  content: "";
  z-index: 1;
  position: absolute;
  top: 0;
  right: -26px;
  width: 53px;
  height: 100%;
  background: url(../../common/img/img_rangeHandle.png) center center/100% auto no-repeat;
}

/*ラベル*/
.p-before-after__label {
  position: absolute;
  top: 0;
  z-index: 1;
  padding: 0.5em 1em;
  color: #FFFFFF;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  font-size: 11px; /*IE9以下で反映されるよう記述*/
  font-size: 0.6875rem;
}
@media only screen and (min-width: 960px), print {
  .p-before-after__label {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
}
.p-before-after__label._before {
  left: 0;
  background: rgba(34, 34, 34, 0.7);
}
.p-before-after__label._after {
  right: 0;
  background: rgba(17, 26, 133, 0.7);
}

/*スライダーハンドル*/
.p-before-after__rangeHandle {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: col-resize;
}

/* ==========================================================
!Relation page
========================================================== */
.p-relation-page {
  margin-top: 60px;
  padding-top: 40px;
  border-top: 1px solid #CFCFCF;
}
@media only screen and (min-width: 960px), print {
  .p-relation-page {
    margin-top: 120px;
    padding-top: 80px;
  }
  .p-relation-page__inner {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto;
  }
}

/* ==========================================================
!Owner's Menu
========================================================== */
.p-owners-menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(16px, 3.2064128257vw, 32px);
}
.p-owners-menu > li {
  display: contents;
}
.p-owners-menu a {
  text-decoration: none;
}
.p-owners-menu a:hover, .p-owners-menu a:focus-visible {
  opacity: 0.7;
}
.p-owners-menu__item {
  position: relative;
  display: block;
  min-height: 194px;
  padding: clamp(20px, 4.0080160321vw, 40px);
  background-color: #F0F0F0;
  border-radius: 16px;
}
.p-owners-menu__item::after {
  position: absolute;
  right: clamp(20px, 4.0080160321vw, 40px);
  top: clamp(20px, 4.0080160321vw, 40px);
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url(../../common/img/ico_arrow.svg) 0 0/contain no-repeat;
}
.p-owners-menu__title {
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.p-owners-menu__title [lang=en] {
  display: block;
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  font-weight: normal;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.p-owners-menu__text {
  margin-top: 20px;
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
  line-height: 1.7;
}

/* ==========================================================
!Owner
========================================================== */
.p-owner .is-style-c-heading-lv4--bgw::before {
  margin-top: 10px;
}
.p-owner-heading__option {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
}
@media only screen and (min-width: 480px), print {
  .p-owner-heading__option {
    flex-flow: row nowrap;
    align-items: center;
    gap: 32px;
  }
}
.p-owner .component_grid .item {
  margin-top: 40px;
}
.p-owner .l-grid__item {
  margin-top: 24px;
}
.p-owner__heading {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 12px 24px;
  border-radius: 16px;
  background: #FFFFFF;
}
@media only screen and (min-width: 640px), print {
  .p-owner__heading {
    flex-flow: row nowrap;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-owner__heading .is-style-c-heading-lv4--bgw {
  padding: 0 0 8px 0;
  border-radius: 0;
}
@media only screen and (min-width: 640px), print {
  .p-owner__heading .is-style-c-heading-lv4--bgw {
    padding: 0 24px 0 0;
    line-height: 1.4;
  }
  .p-owner__heading .is-style-c-heading-lv4--bgw:before {
    margin-top: 8px;
  }
}
.p-owner__heading--text {
  width: 100%;
  margin-top: 0;
  padding: 8px 0 0 0;
  border-width: 1px 0 0 0;
  border-style: solid;
  border-color: #F0F0F0;
  text-align: center;
}
@media only screen and (min-width: 640px), print {
  .p-owner__heading--text {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 0 0 24px;
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #222222;
    line-height: 1.4;
    text-align: left;
  }
}

/* ==========================================================
!Houjin
========================================================== */
.p-answer-precedent-slides {
  position: relative;
  margin-top: 24px;
  padding-bottom: 50px;
}

.slick-slide {
  display: inline-block;
  float: none !important;
  margin: 0 auto;
  padding: 0 8px;
  text-align: center;
}

.p-answer-precedent-slides__controler {
  display: grid;
  grid-template-columns: 1fr 55px;
  place-items: center;
  max-width: 263px;
  height: 55px;
  margin: 0 auto;
}
.p-answer-precedent-slides__controler .slick-controler {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.p-answer-precedent-slides__controler .slick-controler .slick-arrow {
  position: relative;
  right: auto;
  bottom: auto;
  width: 32px;
  height: 32px;
  padding-top: 32px;
}
.p-answer-precedent-slides__controler .slick-controler .slick-prev {
  order: 1;
}
.p-answer-precedent-slides__controler .slick-controler .slick-next {
  order: 3;
}
.p-answer-precedent-slides__controler .slick-controler .slick-dots {
  order: 2;
  margin-top: -6px;
}
.p-answer-precedent-slides__controler .slick-pause {
  align-self: stretch;
  border-left: 1px solid rgba(112, 112, 112, 0.3);
}
.p-answer-precedent-slides__controler .slick-pause button {
  width: 55px;
  height: 55px;
  background: transparent;
  cursor: pointer;
}
.p-answer-precedent-slides__controler .slick-pause button::before {
  content: "\e907";
  font-family: "icomoon" !important;
}
.p-answer-precedent-slides__controler .slick-pause button.paused::before {
  content: "\e90a";
}
@media only screen and (min-width: 960px), print {
  .p-answer-precedent-slides__controler {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
    padding-top: 10px;
    height: 53px;
    border-top: 0;
    border-radius: 24px 24px 0 0;
    transform: translateX(-50%);
  }
  .p-answer-precedent-slides__controler .slick-controler {
    padding-left: 24px;
    padding-right: 24px;
  }
  .p-answer-precedent-slides__controler .slick-pause {
    align-self: center;
  }
  .p-answer-precedent-slides__controler .slick-pause > button {
    height: 34px;
  }
}
@media only screen and (min-width: 1024px), print {
  .p-answer-precedent-slides__controler {
    right: 18%;
  }
}

.l-media.--certification {
  margin-bottom: 80px;
  padding-left: 20px;
  padding-right: 20px;
}
@container (min-width: 640px) {
  .l-media.--certification {
    grid-template-columns: 250px 1fr;
    gap: 40px;
  }
}
@media only screen and (min-width: 960px), print {
  .l-media.--certification {
    margin-bottom: 200px;
  }
}
.l-media.--certification .l-media__img {
  text-align: center;
}
.l-media.--certification .l-media__img img {
  max-width: 250px;
  width: 100%;
}

.p-houjin-answer-flow .l-section {
  margin-top: 60px;
  padding-bottom: 60px;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: #CFCFCF;
}
.p-houjin-answer-flow .l-section:last-of-type {
  border-width: 0;
}

/* ==========================================================
!Recommend
========================================================== */
.p_recommend a {
  text-decoration: none;
}
.p_recommend p {
  margin-top: 8px;
}
.p_recommend .is-style-c-heading-lv4 {
  margin-top: 8px;
}

.p_recommend-detail .l-media--intro__title {
  color: #111A86;
}
.p_recommend-detail .l-grid {
  gap: 24px;
}
.p_recommend-detail .c-card {
  height: 100%;
  padding: 40px 24px;
}

/* ==========================================================
!Voice
========================================================== */
.p-voice__prof {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0 0 16px;
}
.p-voice__prof--img {
  border-radius: 50%;
  width: 88px;
  height: 88px;
  overflow: hidden;
}
.p-voice__prof--txt span {
  display: block;
}
.p-voice__prof--txt span.address {
  font-size: 15px; /*IE9以下で反映されるよう記述*/
  font-size: 0.9375rem;
  margin: 0 0 4px;
}
.p-voice__prof--txt span.name {
  font-size: 18px; /*IE9以下で反映されるよう記述*/
  font-size: 1.125rem;
  font-weight: 500;
}
.p-voice__review {
  border-bottom: 1px solid #CFCFCF;
  padding: 0 0 24px;
  margin: 0 0 24px;
}
.p-voice__review p {
  font-size: 14px; /*IE9以下で反映されるよう記述*/
  font-size: 0.875rem;
}
.p-voice__comment p {
  font-size: 15px; /*IE9以下で反映されるよう記述*/
  font-size: 0.9375rem;
}

/* ==========================================================
!Resident
========================================================== */
.p-resident {
  text-align: center;
  background-color: #D7E8F8;
  border-radius: 16px;
  border: 2.5px solid #388BD1;
  padding: 40px 10px;
  margin-right: 16px;
  margin-left: 16px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 769px), print {
  .p-resident {
    max-width: 712px;
    width: 100%;
    padding: 48px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 80px;
  }
}

.p-resident__text {
  font-size: 15px;
}
@media only screen and (min-width: 769px), print {
  .p-resident__text {
    font-size: 16px;
  }
}

.p-resident__num {
  color: #388BD1;
  font-weight: bold;
  font-size: 28px;
  line-height: 1.1428571429;
  margin-top: 16px;
}
@media only screen and (min-width: 769px), print {
  .p-resident__num {
    margin-top: 8px;
  }
}
.p-resident__num a[href^="tel:"] {
  color: #388BD1;
  font-weight: bold;
  font-size: 28px;
}
@media only screen and (min-width: 769px), print {
  .p-resident__num a[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}

.p-resident__sub {
  font-size: 12px;
  margin-top: 4px;
}
@media only screen and (min-width: 769px), print {
  .p-resident__sub {
    margin-top: 8px;
  }
}

/* ==========================================================
!NotFound
========================================================== */
.p-notfound {
  padding: 88px 0 20px;
}
@media only screen and (min-width: 769px), print {
  .p-notfound {
    padding: 160px 0 20px;
  }
}
.p-notfound h1 {
  margin: 0 0 16px;
  text-align: center;
}
@media only screen and (min-width: 769px), print {
  .p-notfound h1 {
    margin: 0 0 -50px;
  }
}
.p-notfound p {
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  text-align: center;
}
@media only screen and (min-width: 769px), print {
  .p-notfound p {
    font-size: 28px; /*IE9以下で反映されるよう記述*/
    font-size: 1.75rem;
    margin: 0 0 80px;
  }
}
.p-notfound p.p-notfound__caution {
  color: #111A86;
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  margin: 0 0 32px;
}
@media only screen and (min-width: 769px), print {
  .p-notfound p.p-notfound__caution {
    font-size: 28px; /*IE9以下で反映されるよう記述*/
    font-size: 1.75rem;
  }
}
.p-notfound p.p-notfound__caution:before {
  background: url(../../common/img/ico_exclamation.png) no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: 0 8px 0 0;
  position: relative;
  top: 3px;
}

/* ==========================================================
! Top: MainVisual
========================================================== */
.p-tp-mv {
  position: relative;
  height: calc(100vh - 90px);
  height: calc(100dvh - 90px);
  margin-left: 16px;
  margin-right: 16px;
  margin-bottom: 33px;
  border-radius: 20px;
  display: grid;
  place-content: center;
  text-align: center;
}
.p-tp-mv::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 70%;
  border-radius: 0 0 20px 20px;
  background: linear-gradient(to top, rgba(34, 34, 34, 0.7), rgba(0, 0, 0, 0));
}
@media only screen and (min-width: 960px), print {
  .p-tp-mv {
    height: calc(100vh - 140px);
    height: calc(100dvh - 140px);
    margin-left: 24px;
    margin-right: 24px;
    margin-bottom: 90px;
    border-radius: 24px;
    justify-content: start;
    align-content: end;
    text-align: left;
  }
  .p-tp-mv::after {
    height: 50%;
    border-radius: 0 0 24px 24px;
  }
}

.p-tp-mv__bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.p-tp-mv__bg video {
  display: none;
}
.p-tp-mv__bg > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
@media only screen and (min-width: 769px), print {
  .p-tp-mv__bg video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 20px;
  }
  .p-tp-mv__bg img {
    display: none;
  }
}

.p-tp-mv__catch {
  position: relative;
  z-index: 1;
  color: #FFFFFF;
}
.p-tp-mv__catch::before {
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
}
.p-tp-mv__catch .txt01,
.p-tp-mv__catch .txt02 {
  display: block;
  font-weight: 800;
  font-size: min(10.4vw, 39px);
  letter-spacing: 0.2em;
  line-height: 1.2;
}
@media only screen and (min-width: 960px), print {
  .p-tp-mv__catch {
    margin-left: 60px;
    margin-bottom: 20px;
  }
  .p-tp-mv__catch::before {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
  .p-tp-mv__catch .txt01,
  .p-tp-mv__catch .txt02 {
    font-size: 78px; /*IE9以下で反映されるよう記述*/
    font-size: 4.875rem;
  }
}

.p-tp-mv__corner {
  position: absolute;
  right: 0;
  bottom: -1px;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  width: 265px;
  height: 108px;
  background: url(../../common/img/top/mv_bg_corner.png) bottom right/contain no-repeat;
}
.p-tp-mv__corner .txt01 {
  margin: 16px 0 0 40px;
  padding-right: 16px;
  border-right: 1px solid rgba(112, 112, 112, 0.5);
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  text-align: justify;
  text-align: left;
}
.p-tp-mv__corner .scroll {
  flex-shrink: 0;
  width: 15px;
  height: 71px;
  margin-left: 12px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-mv__corner {
    width: 329px;
    height: 133px;
  }
  .p-tp-mv__corner .txt01 {
    margin: 16px 0 0 50px;
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
  .p-tp-mv__corner .scroll {
    width: 18px;
    height: 88px;
  }
}

/* ==========================================================
! Top: Heading
========================================================== */
/* LV2 大見出しA
--------------------------*/
.p-tp-heading-lv2__typeA {
  font-size: 28px; /*IE9以下で反映されるよう記述*/
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
.p-tp-heading-lv2__typeA::before {
  color: rgba(34, 34, 34, 0.6);
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  letter-spacing: 0.12em;
}
.p-tp-heading-lv2__typeA .grad {
  background: linear-gradient(to right, #637cba, #75a4ba, #7da9bb);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-tp-heading-lv2__typeA._lg {
  font-size: 32px; /*IE9以下で反映されるよう記述*/
  font-size: 2rem;
}
@media only screen and (min-width: 960px), print {
  .p-tp-heading-lv2__typeA {
    font-size: 42px; /*IE9以下で反映されるよう記述*/
    font-size: 2.625rem;
  }
  .p-tp-heading-lv2__typeA::before {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
  .p-tp-heading-lv2__typeA._lg {
    font-size: 54px; /*IE9以下で反映されるよう記述*/
    font-size: 3.375rem;
    line-height: 2;
  }
  .p-tp-heading-lv2__typeA._lg::before {
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
  }
}

/* LV2 大見出しB
--------------------------*/
.p-tp-heading-lv2__typeB {
  color: #4B4C4C;
  font-feature-settings: "palt";
  font-weight: 800;
  font-size: 28px; /*IE9以下で反映されるよう記述*/
  font-size: 1.75rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-align: center;
}
.p-tp-heading-lv2__typeB::before {
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  color: rgba(34, 34, 34, 0.6);
  letter-spacing: 0.12em;
  font-weight: 300;
}
@media only screen and (min-width: 960px), print {
  .p-tp-heading-lv2__typeB {
    font-size: 38px; /*IE9以下で反映されるよう記述*/
    font-size: 2.375rem;
    text-align: left;
  }
  .p-tp-heading-lv2__typeB::before {
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
}

/* LV3 中見出しA
--------------------------*/
.p-tp-heading-lv3__typeA {
  line-height: 1.5;
}
.p-tp-heading-lv3__typeA .sub {
  display: block;
  color: rgba(34, 34, 34, 0.6);
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  font-weight: bold;
}
.p-tp-heading-lv3__typeA .sub::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  background: #FFFFFF;
  border: 1px solid #707070;
  border-radius: 50%;
  vertical-align: middle;
}
.p-tp-heading-lv3__typeA .main {
  display: block;
  font-size: 28px; /*IE9以下で反映されるよう記述*/
  font-size: 1.75rem;
  letter-spacing: 0.12em;
  font-weight: bold;
}
.p-tp-heading-lv3__typeA a {
  text-decoration: none;
}
.p-tp-heading-lv3__typeA a.ico_external_c::after {
  display: inline-block;
  margin-left: 10px;
  transform: translateY(-5px);
  color: #707070;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
}

/* ==========================================================
! Top: Room Search
========================================================== */
.p-tp-roomsearch__inner .p-tp-heading-lv2__typeA span._last {
  display: inline-block;
}
@media only screen and (min-width: 769px), print {
  .p-tp-roomsearch__inner {
    display: grid;
    grid-template-columns: 1fr min(45.5%, 663px);
    grid-template-rows: auto auto;
    gap: 30px;
  }
  .p-tp-roomsearch__inner .p-tp-heading-lv2__typeA {
    grid-column: span 2;
  }
  .p-tp-roomsearch__inner .p-tp-roomsearch__img {
    grid-column: 2/3;
    grid-row: 2/3;
    margin: 0;
  }
  .p-tp-roomsearch__inner .p-tp-roomsearch__img img {
    aspect-ratio: 663/647;
  }
  .p-tp-roomsearch__inner .p-tp-housie {
    grid-column: 1/2;
    grid-row: 2/3;
    align-self: center;
  }
}
@media only screen and (min-width: 1024px), print {
  .p-tp-roomsearch__inner {
    gap: 30px 3%;
  }
  .p-tp-roomsearch__inner .p-tp-heading-lv2__typeA {
    grid-column: 1/2;
  }
  .p-tp-roomsearch__inner .p-tp-roomsearch__img {
    grid-column: 2/3;
    grid-row: span 2;
    align-self: start;
  }
  .p-tp-roomsearch__inner .p-tp-housie {
    margin-left: 70px;
    align-self: start;
  }
}
@media (min-width: 1500px) {
  .p-tp-roomsearch__inner {
    margin-left: -50px;
    margin-right: -50px;
    gap: 0 80px;
  }
  .p-tp-roomsearch__inner .p-tp-housie {
    margin-left: 124px;
    align-self: end;
  }
}

.p-tp-roomsearch__img {
  position: relative;
  margin: 32px 0;
  border-radius: 16px;
  box-shadow: 10px 10px 20px rgba(34, 34, 34, 0.2);
}
.p-tp-roomsearch__img img {
  width: 100%;
  border-radius: 16px;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ==========================================================
! Top: 賃貸物件情報サイト
========================================================== */
.p-tp-housie__text {
  margin-top: 7px;
}
.p-tp-housie__btn {
  margin-top: 20px;
  text-align: center;
}

/* ==========================================================
! Top: 外国人向け賃貸物件
========================================================== */
.p-tp-foreigners {
  overflow: hidden;
  position: relative;
  margin-left: -20px;
  margin-right: -20px;
  padding-top: 140px;
}
.p-tp-foreigners::before {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 820px;
  height: 60px;
  margin-top: 48px;
  margin-bottom: 40px;
  background: url(../../common/img/top/txt_foreigners_sp.png) center center/contain no-repeat;
}
.p-tp-foreigners__inner {
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-foreigners {
    overflow: visible;
    padding-top: 0;
    padding-left: 19.0615835777%;
    margin: 110px 0 0 0;
  }
  .p-tp-foreigners::before {
    left: 0;
    top: 0;
    transform: translateX(0);
    width: 13.7096774194%;
    height: auto;
    margin: 0;
    aspect-ratio: 187/758;
    background: url(../../common/img/top/txt_foreigners_pc.png) 0 0/contain no-repeat;
  }
  .p-tp-foreigners__title {
    padding-top: 60px;
  }
  .p-tp-foreigners__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

/*外国人向け賃貸情報一覧メニュー*/
.p-tp-foreigners__list {
  margin-top: 20px;
}
.p-tp-foreigners__list-item {
  margin-top: -1px;
}
.p-tp-foreigners__list-link {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 20px 8px 20px 16px;
  border-top: 1px solid rgba(112, 112, 112, 0.5);
  border-bottom: 1px solid rgba(112, 112, 112, 0.5);
  text-decoration: none;
}
.p-tp-foreigners__list-link::after {
  flex-shrink: 0;
  display: grid;
  place-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #707070;
  color: #FFFFFF;
  content: "\e902";
  font-family: "icomoon" !important;
  font-size: 8px;
}
.p-tp-foreigners__list-title {
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
.p-tp-foreigners__list-title::before {
  font-size: 11px; /*IE9以下で反映されるよう記述*/
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  color: rgba(34, 34, 34, 0.6);
}
.p-tp-foreigners__list-desc {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .p-tp-foreigners__list {
    margin-top: 40px;
  }
  .p-tp-foreigners__list-link {
    position: relative;
    height: 120px;
    padding: 0 40px 0 50px;
    background-position: center center;
    background-size: cover;
  }
  .p-tp-foreigners__list-link._long {
    background-image: url(../../common/img/top/bg_foreginers01.jpg);
  }
  .p-tp-foreigners__list-link._serviced {
    background-image: url(../../common/img/top/bg_foreginers02.jpg);
  }
  .p-tp-foreigners__list-link._relocation {
    background-image: url(../../common/img/top/bg_foreginers03.jpg);
  }
  .p-tp-foreigners__list-link._agent {
    background-image: url(../../common/img/top/bg_foreginers04.jpg);
  }
  .p-tp-foreigners__list-link::before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #FFFFFF;
    transition: 0.3s;
  }
  .p-tp-foreigners__list-link::after {
    width: 38px;
    height: 38px;
    position: relative;
    z-index: 1;
  }
  .p-tp-foreigners__list-link:hover, .p-tp-foreigners__list-link:focus-visible {
    position: relative;
    z-index: 1;
    padding-right: 27px;
    padding-left: 30px;
    border-radius: 16px;
    color: #FFFFFF;
    box-shadow: 10px 10px 20px rgba(34, 34, 34, 0.2);
    border: 0;
  }
  .p-tp-foreigners__list-link:hover::before, .p-tp-foreigners__list-link:focus-visible::before {
    background: rgba(255, 255, 255, 0);
  }
  .p-tp-foreigners__list-link:hover::after, .p-tp-foreigners__list-link:focus-visible::after {
    background: #FFFFFF;
    color: #222222;
  }
  .p-tp-foreigners__list-link:hover .p-tp-foreigners__list-title::before, .p-tp-foreigners__list-link:focus-visible .p-tp-foreigners__list-title::before {
    color: rgba(255, 255, 255, 0.6);
  }
  .p-tp-foreigners__list-link > p {
    position: relative;
    z-index: 1;
  }
  .p-tp-foreigners__list-title {
    font-size: 22px; /*IE9以下で反映されるよう記述*/
    font-size: 1.375rem;
  }
  .p-tp-foreigners__list-title::before {
    font-size: 13px; /*IE9以下で反映されるよう記述*/
    font-size: 0.8125rem;
  }
  .p-tp-foreigners__list-desc {
    display: block;
    width: 40%;
    max-width: 360px;
    margin-left: auto;
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
}

/* ==========================================================
! Top: おすすめ物件
========================================================== */
.p-tp-recommend {
  padding-top: 30px;
  padding-bottom: 70px;
  background: url(../../common/img/top/bg_recommend01.jpg) center center/cover;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend {
    padding-top: 48px;
    padding-bottom: 120px;
  }
}

.p-tp-recommend__inner {
  position: relative;
  background: #FFFFFF;
  border-radius: 20px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend__inner {
    display: flex;
    border-radius: 40px;
  }
}

.p-tp-recommend__title {
  padding: 20px 16px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.3);
  color: rgba(34, 34, 34, 0.6);
  text-align: center;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
  letter-spacing: 0.12em;
}
.p-tp-recommend__title > span::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 4px;
  border-radius: 50%;
  border: 1px solid #707070;
  vertical-align: middle;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend__title {
    display: grid;
    place-content: center;
    width: 70px;
    border-right: 1px solid rgba(112, 112, 112, 0.3);
    border-bottom: 0;
    writing-mode: vertical-rl;
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
  }
  .p-tp-recommend__title > span::before {
    margin-right: 0;
    margin-bottom: 4px;
    vertical-align: baseline;
  }
}

@media only screen and (min-width: 960px), print {
  .p-tp-recommend__body {
    width: calc(100% - 70px);
  }
}

/*スライド内レイアウト*/
.p-tp-recommend-slides {
  padding: 20px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend-slides {
    padding: 20px 20px 20px 30px;
  }
}
@media only screen and (min-width: 1024px), print {
  .p-tp-recommend-slides {
    padding: 20px 20px 20px 50px;
  }
}

.p-tp-recommend-slides__item {
  display: flex !important;
  flex-direction: column-reverse;
  gap: 16px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend-slides__item {
    flex-direction: row;
    align-items: center;
    gap: 50px;
  }
}

.p-tp-recommend-slides__thumbs img {
  aspect-ratio: 293/226;
  border-radius: 16px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (min-width: 769px), print {
  .p-tp-recommend-slides__thumbs img {
    aspect-ratio: 293/180;
  }
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend-slides__thumbs {
    flex-shrink: 0;
    align-self: stretch;
    width: 60%;
    max-width: 745px;
  }
  .p-tp-recommend-slides__thumbs img {
    aspect-ratio: auto;
    width: 100%;
    height: 100%;
  }
}

.p-tp-recommend-slides__body {
  position: relative;
}
.p-tp-recommend-slides__body .title {
  letter-spacing: 0.12em;
  line-height: 1.5;
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
  font-weight: bold;
}
.p-tp-recommend-slides__body .title-num {
  display: block;
  font-size: 16px; /*IE9以下で反映されるよう記述*/
  font-size: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
}
.p-tp-recommend-slides__body .text {
  margin-top: 20px;
}
.p-tp-recommend-slides__body .link {
  margin-top: 24px;
  text-align: right;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend-slides__body .title {
    font-size: 30px; /*IE9以下で反映されるよう記述*/
    font-size: 1.875rem;
  }
  .p-tp-recommend-slides__body .title-num {
    font-size: 18px; /*IE9以下で反映されるよう記述*/
    font-size: 1.125rem;
  }
  .p-tp-recommend-slides__body .text {
    line-height: 2.25;
  }
}

.p-tp-recommend-slides__controler {
  display: grid;
  grid-template-columns: 1fr 55px;
  height: 55px;
  border-top: 1px solid rgba(112, 112, 112, 0.3);
}
.p-tp-recommend-slides__controler .slick-controler {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.p-tp-recommend-slides__controler .slick-controler .slick-arrow {
  position: relative;
  right: auto;
  bottom: auto;
  width: 32px;
  height: 32px;
  padding-top: 32px;
}
.p-tp-recommend-slides__controler .slick-controler .slick-prev {
  order: 1;
}
.p-tp-recommend-slides__controler .slick-controler .slick-next {
  order: 3;
}
.p-tp-recommend-slides__controler .slick-controler .slick-dots {
  order: 2;
  margin-top: -6px;
}
.p-tp-recommend-slides__controler .slick-pause {
  align-self: stretch;
  border-left: 1px solid rgba(112, 112, 112, 0.3);
}
.p-tp-recommend-slides__controler .slick-pause button {
  width: 55px;
  height: 55px;
  background: transparent;
  cursor: pointer;
}
.p-tp-recommend-slides__controler .slick-pause button::before {
  content: "\e907";
  font-family: "icomoon" !important;
}
.p-tp-recommend-slides__controler .slick-pause button.paused::before {
  content: "\e90a";
}
@media only screen and (min-width: 960px), print {
  .p-tp-recommend-slides__controler {
    position: absolute;
    right: 14%;
    bottom: 20px;
    z-index: 1;
    padding-top: 10px;
    height: 53px;
    background: #FFFFFF;
    border-top: 0;
    border-radius: 24px 24px 0 0;
  }
  .p-tp-recommend-slides__controler::before {
    position: absolute;
    left: -20px;
    bottom: 0;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../../common/img/top/bg_curve_left.svg) right bottom/contain no-repeat;
  }
  .p-tp-recommend-slides__controler::after {
    position: absolute;
    right: -20px;
    bottom: 0;
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url(../../common/img/top/bg_curve_right.svg) left bottom/contain no-repeat;
  }
  .p-tp-recommend-slides__controler .slick-controler {
    padding-left: 24px;
    padding-right: 24px;
  }
  .p-tp-recommend-slides__controler .slick-pause {
    align-self: center;
  }
  .p-tp-recommend-slides__controler .slick-pause > button {
    height: 34px;
  }
}
@media only screen and (min-width: 1024px), print {
  .p-tp-recommend-slides__controler {
    right: 18%;
  }
}

/* ==========================================================
! Top: Split (ご入居者様・法人のお客様）
========================================================== */
.p-tp-split {
  position: relative;
  z-index: 1;
  text-align: center;
}
@media only screen and (min-width: 769px), print {
  .p-tp-split {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: column;
  }
}

.p-tp-split__item {
  margin-top: -40px;
  padding-top: 80px;
  padding-bottom: 100px;
  background-color: #F8F8F8;
  border-radius: 40px 40px 0 0;
}
.p-tp-split__item._occupant {
  background: linear-gradient(to right, #dbf2f6, #ecf7ff);
}
.p-tp-split__item._corporations {
  background: linear-gradient(to right, #e0eeed, #e9eff3);
}
@media only screen and (min-width: 769px), print {
  .p-tp-split__item._occupant {
    background: linear-gradient(to right, #dcf2f5, #f3f7ff);
    border-radius: 40px 0 0 0;
  }
  .p-tp-split__item._corporations {
    background: linear-gradient(to right, #dcf2f4, #ecf8fe);
    border-radius: 0 40px 0 0;
  }
}
@media only screen and (min-width: 960px), print {
  .p-tp-split__item {
    margin-top: -72px;
    padding-top: 126px;
    padding-bottom: 200px;
  }
  .p-tp-split__item._occupant {
    border-radius: 72px 0 0 0;
  }
  .p-tp-split__item._corporations {
    border-radius: 0 72px 0 0;
  }
}
@media only screen and (min-width: 1280px), print {
  .p-tp-split__item {
    display: flex;
  }
  .p-tp-split__item._occupant {
    justify-content: flex-end;
    padding-right: 12%;
  }
  .p-tp-split__item._corporations {
    justify-content: flex-start;
    padding-left: 12%;
  }
}

.p-tp-split__inner {
  display: grid;
  gap: 24px;
  padding-left: 20px;
  padding-right: 20px;
}
@media only screen and (min-width: 1280px), print {
  .p-tp-split__inner {
    width: 560px;
  }
}

.p-tp-split__thumb img {
  border-radius: 50%;
}
@media only screen and (min-width: 769px), print {
  .p-tp-split__thumb {
    width: 80%;
    max-width: 372px;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-tp-split__body .title {
  font-size: 18px; /*IE9以下で反映されるよう記述*/
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: 0.2em;
}
.p-tp-split__body .text {
  margin-top: 8px;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.p-tp-split__body .btn {
  margin-top: 16px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-split__body .title {
    font-size: 26px; /*IE9以下で反映されるよう記述*/
    font-size: 1.625rem;
  }
  .p-tp-split__body .text {
    margin-top: 16px;
    font-size: 16px; /*IE9以下で反映されるよう記述*/
    font-size: 1rem;
  }
  .p-tp-split__body .btn {
    margin-top: 24px;
  }
}

/* ==========================================================
! Top: 不動産オーナー様
========================================================== */
.p-tp-owners {
  position: relative;
  z-index: 1;
  margin-top: -40px;
  padding-top: 80px;
  background: linear-gradient(to bottom, #D6E8F1, #C2DEDB);
}
@media only screen and (min-width: 960px), print {
  .p-tp-owners {
    margin-top: -72px;
    padding-top: 120px;
  }
}

.p-tp-owners__header {
  display: grid;
  gap: 12px;
  margin-bottom: 32px;
  text-align: center;
}
@media only screen and (min-width: 769px), print {
  .p-tp-owners__header {
    gap: 20px;
    margin-bottom: 52px;
    text-align: left;
  }
}

.p-tp-owners__contents {
  display: grid;
  gap: 24px;
}
@media only screen and (min-width: 769px), print {
  .p-tp-owners__contents {
    grid-template-columns: 1fr 1fr;
    gap: 56px;
  }
  .p-tp-owners__contents > :nth-child(even) {
    transform: translateY(-140px);
  }
}

.p-tp-owners__contents-item {
  display: grid;
  align-content: end;
  gap: 16px;
  padding: 24px 16px;
  height: 126.4vw;
  background-position: center center;
  background-size: cover;
  border-radius: 24px;
}
.p-tp-owners__contents-item._menu01 {
  background-image: url(../../common/img/top/bg_owners01_sp.jpg);
}
.p-tp-owners__contents-item._menu02 {
  background-image: url(../../common/img/top/bg_owners02_sp.jpg);
}
.p-tp-owners__contents-item._menu03 {
  background-image: url(../../common/img/top/bg_owners03_sp.jpg);
}
.p-tp-owners__contents-item._menu04 {
  background-image: url(../../common/img/top/bg_owners04_sp.jpg);
}
@media only screen and (min-width: 769px), print {
  .p-tp-owners__contents-item {
    gap: 20px;
    padding: 16px 30px;
    height: 500px;
  }
  .p-tp-owners__contents-item._menu01 {
    background-image: url(../../common/img/top/bg_owners01_pc.jpg);
  }
  .p-tp-owners__contents-item._menu02 {
    background-image: url(../../common/img/top/bg_owners02_pc.jpg);
  }
  .p-tp-owners__contents-item._menu03 {
    background-image: url(../../common/img/top/bg_owners03_pc.jpg);
  }
  .p-tp-owners__contents-item._menu04 {
    background-image: url(../../common/img/top/bg_owners04_pc.jpg);
  }
}

.p-tp-owners__contents-title {
  color: #FFFFFF;
  font-weight: bold;
  font-size: 24px; /*IE9以下で反映されるよう記述*/
  font-size: 1.5rem;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
@media only screen and (min-width: 769px), print {
  .p-tp-owners__contents-title {
    font-size: 30px; /*IE9以下で反映されるよう記述*/
    font-size: 1.875rem;
  }
}

.p-tp-owners__contents-menu {
  display: grid;
  gap: 12px;
}
.p-tp-owners__contents-menu .c-btn-primary--complessed {
  width: 100%;
  max-width: none;
  min-width: 0;
}
@media not screen and (min-width: 769px) {
  .p-tp-owners__contents-menu .c-btn-primary--complessed {
    min-height: 75px;
  }
}

/* ==========================================================
! Top: ニュース・トピックス
========================================================== */
.p-tp-news__title br {
  display: none;
}
@media only screen and (min-width: 960px), print {
  .p-tp-news__title br {
    display: block;
  }
}

.p-tp-news__filter {
  margin-top: 32px;
  display: flex;
  justify-content: center;
  gap: 24px;
  font-size: 13px; /*IE9以下で反映されるよう記述*/
  font-size: 0.8125rem;
}
.p-tp-news__filter button.is-active {
  font-weight: bold;
  text-decoration: underline;
}

.p-tp-news__list {
  margin-top: 40px;
}

.p-tp-news__btn {
  margin-top: 40px;
  text-align: center;
}

@media only screen and (min-width: 960px), print {
  .p-tp-news .l-inner {
    display: grid;
    grid-template-columns: 256px 1fr;
    grid-template-rows: repeat(4, auto);
    gap: 0 68px;
  }
  .p-tp-news__title {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .p-tp-news__list {
    grid-column: 2/3;
    grid-row: span 4;
    margin-top: 0;
  }
  .p-tp-news__filter {
    margin-top: 50px;
    flex-direction: column;
    gap: 10px;
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .p-tp-news__btn {
    margin-top: 40px;
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .p-tp-news__btn .c-btn-primary {
    width: 100%;
  }
}
/* ==========================================================
! Top: 企業情報
========================================================== */
.p-tp-company-image {
  aspect-ratio: 375/400;
  background-position: center center;
  background-size: cover;
  background-image: url(../../common/img/top/bg_company01_sp.jpg);
}
@media only screen and (min-width: 960px), print {
  .p-tp-company-image {
    height: 736px;
    aspect-ratio: auto;
    background-image: url(../../common/img/top/bg_company01_pc.jpg);
  }
}

.p-tp-company-bg {
  margin-bottom: -40px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-company-bg {
    margin-bottom: -72px;
  }
}

@media only screen and (min-width: 960px), print {
  .p-tp-company .l-inner {
    max-width: 1207px;
    box-sizing: content-box;
  }
  .p-tp-company .l-inner > * {
    box-sizing: border-box;
  }
}

.p-tp-company__title {
  position: relative;
  text-align: left;
}
.p-tp-company__title::after {
  position: absolute;
  right: 0;
  bottom: 30px;
  content: "";
  display: block;
  aspect-ratio: 173/220;
  width: 46.1333333333vw;
  background: url(../../common/img/top/bg_company02.jpg) 0 0/cover no-repeat;
  border-radius: 12px;
}
@media only screen and (min-width: 960px), print {
  .p-tp-company__title::after {
    bottom: -80px;
    aspect-ratio: 500/617;
    width: 41.4250207125%;
    border-radius: 24px;
  }
}

@media only screen and (min-width: 960px), print {
  .p-tp-company__lead {
    width: 52.6097763049%;
  }
}

.p-tp-company__menu {
  margin-top: 20px;
  display: grid;
  gap: 12px;
}
.p-tp-company__menu .c-btn-primary--complessed {
  width: 100%;
  max-width: none;
}
@media only screen and (min-width: 960px), print {
  .p-tp-company__menu {
    margin-top: 40px;
    width: 52.6097763049%;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}

/* ==========================================================
! Top: 採用情報
========================================================== */
.p-tp-recruit {
  margin-top: 56px;
  overflow: hidden;
}
.p-tp-recruit__title {
  text-align: left;
}
@media only screen and (min-width: 960px), print {
  .p-tp-recruit {
    margin-top: 112px;
  }
}

/*採用メニュー*/
.p-tp-recruit__menu {
  margin-top: 108px;
  margin-bottom: 66px;
  margin-right: -20px;
}
.p-tp-recruit__menu .slick-list {
  overflow: visible;
}
.p-tp-recruit__menu .slick-next {
  right: 0;
  bottom: -60px;
}
.p-tp-recruit__menu .slick-prev {
  right: 100px;
  bottom: -60px;
}
.p-tp-recruit__menu .slick-count {
  position: absolute;
  right: 60px;
  bottom: -50px;
}
@media (min-width: 1070px) {
  .p-tp-recruit__menu {
    margin-top: 56px;
    margin-right: 0;
  }
  .p-tp-recruit__menu .slick-track {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1364px;
  }
  .p-tp-recruit__menu .slick-track::before, .p-tp-recruit__menu .slick-track::after {
    display: none;
  }
  .p-tp-recruit__menu .slick-slide {
    width: auto !important;
  }
}

.p-tp-recruit__menu-item {
  width: 250px !important;
  margin-right: 15px;
}
@media (min-width: 1070px) {
  .p-tp-recruit__menu-item {
    width: 100% !important;
    margin-right: 0;
  }
}

.p-tp-recruit__menu-link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  aspect-ratio: 231/294;
  background: #F0F0F0;
  border-radius: 12px;
  text-decoration: none;
}
.p-tp-recruit__menu-link::before {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  background-position: center center;
  background-size: cover;
  transition: 0.3s;
}
.p-tp-recruit__menu-link:hover, .p-tp-recruit__menu-link:focus-visible {
  background: radial-gradient(farthest-corner at right top, #aabbd6 0%, #79b2c3 40.39%, #4c9fab 77.11%, #449e8f 100%);
  color: #FFFFFF;
}
.p-tp-recruit__menu-link:hover > *, .p-tp-recruit__menu-link:focus-visible > * {
  color: inherit;
}
.p-tp-recruit__menu-link:hover > *::before, .p-tp-recruit__menu-link:hover > *::after, .p-tp-recruit__menu-link:focus-visible > *::before, .p-tp-recruit__menu-link:focus-visible > *::after {
  color: inherit;
}
.p-tp-recruit__menu-link:hover::before, .p-tp-recruit__menu-link:focus-visible::before {
  transform: translate(0, -80px) rotate(-4deg);
}
.p-tp-recruit__menu-link:hover .p-tp-recruit__menu-thumb, .p-tp-recruit__menu-link:focus-visible .p-tp-recruit__menu-thumb {
  opacity: 0;
}
.p-tp-recruit__menu-link:hover .p-tp-recruit__menu-title.--link::before, .p-tp-recruit__menu-link:hover .p-tp-recruit__menu-title.--link::after, .p-tp-recruit__menu-link:focus-visible .p-tp-recruit__menu-title.--link::before, .p-tp-recruit__menu-link:focus-visible .p-tp-recruit__menu-title.--link::after {
  color: #FFFFFF;
}
.p-tp-recruit__menu-link.-menu01::before {
  background-image: url(../../common/img/top/bg_recruit01.jpg);
}
.p-tp-recruit__menu-link.-menu02::before {
  background-image: url(../../common/img/top/bg_recruit02.jpg);
}
.p-tp-recruit__menu-link.-menu03::before {
  background-image: url(../../common/img/top/bg_recruit03.jpg);
}
.p-tp-recruit__menu-link.-menu04::before {
  background-image: url(../../common/img/top/bg_recruit04.jpg);
}
@media only screen and (min-width: 1280px), print {
  .p-tp-recruit__menu-link {
    padding: 32px;
    border-radius: 16px;
  }
  .p-tp-recruit__menu-link::before {
    border-radius: 16px;
  }
}

.p-tp-recruit__menu-title {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  font-size: 18px; /*IE9以下で反映されるよう記述*/
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
.p-tp-recruit__menu-title::before {
  font-size: 10px; /*IE9以下で反映されるよう記述*/
  font-size: 0.625rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.p-tp-recruit__menu-title::after {
  position: absolute;
  right: 0;
  top: 0.25em;
  content: "\e904";
  color: #555555;
  font-family: "icomoon" !important;
  font-size: 1.2em;
}
.p-tp-recruit__menu-title.--link::after {
  position: absolute;
  right: 0;
  top: 0.25em;
  content: "\e900";
  color: #555555;
  font-family: "icomoon" !important;
  font-size: 1.2em;
}
@media only screen and (min-width: 1280px), print {
  .p-tp-recruit__menu-title {
    font-size: 20px; /*IE9以下で反映されるよう記述*/
    font-size: 1.25rem;
  }
  .p-tp-recruit__menu-title::before {
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
}

.p-tp-recruit__menu-thumb {
  margin-top: auto;
  width: 39.3442622951%;
  transition: 0.3s;
}
.p-tp-recruit__menu-thumb img {
  border-radius: 8px;
}
@media only screen and (min-width: 1280px), print {
  .p-tp-recruit__menu-thumb {
    width: 96px;
  }
  .p-tp-recruit__menu-thumb img {
    border-radius: 12px;
  }
}

.p-tp-recruit__menu-text {
  font-size: 12px; /*IE9以下で反映されるよう記述*/
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  line-height: 1.66;
}
@media only screen and (min-width: 1280px), print {
  .p-tp-recruit__menu-text {
    font-size: 14px; /*IE9以下で反映されるよう記述*/
    font-size: 0.875rem;
    letter-spacing: 0.12em;
  }
}

/*
 * cmn_style.css
 */
/* ==========================================================
!English subtitle
========================================================== */
[data-eng]::before {
  content: attr(data-eng);
  display: block;
  text-transform: uppercase;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
}

/* ==========================================================
!Link
========================================================== */
a {
  color: #222222;
  text-decoration: underline;
  transition: all 0.3s;
}
a:hover, a:active, a:focus {
  color: #222222;
  text-decoration: none;
}

a[target=_blank].u-blank {
  position: relative;
  display: inline;
  padding-right: 1em;
}
a[target=_blank].u-blank::after {
  display: inline-block;
  content: "\e905";
  margin-left: 0.3em;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-decoration: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================
!IMG
========================================================== */
.u-img-full {
  max-width: none;
  width: 100%;
}

/* ==========================================================
!Base Fonts
========================================================== */
.u-fwN {
  font-weight: normal;
}

.u-fwB {
  font-weight: bold;
}

.u-fwSB {
  font-weight: 600 !important;
}

.u-fzSS {
  font-size: 75%;
} /* base 16px -> 12px */
.u-fzS {
  font-size: 88%;
} /* base 16px -> 14px */
.u-fzM {
  font-size: 100%;
}

.u-fzL {
  font-size: 113%;
} /* base 16px -> 18px */
.u-fzLL {
  font-size: 125%;
} /* base 16px -> 20px */
.u-fzLLL {
  font-size: 138%;
} /* base 16px -> 22px */
sup {
  font-size: 75%;
  vertical-align: top;
}

sub {
  font-size: 75%;
  vertical-align: baseline;
}

.u-txtUcase {
  text-transform: uppercase;
}

.u-fz10 {
  font-size: 10px;
}

.u-fz12 {
  font-size: 12px;
}

.u-fz14 {
  font-size: 14px;
}

.u-fz16 {
  font-size: 16px;
}

.u-fz18 {
  font-size: 18px;
}

.u-fz20 {
  font-size: 20px;
}

/* ==========================================================
!iframe youtube googlemap
========================================================== */
.u-youtube,
.u-googlemap {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
.u-youtube::before,
.u-googlemap::before {
  display: block;
  padding-top: 56.25%;
  content: "";
}
.u-youtube iframe,
.u-youtube video,
.u-googlemap iframe,
.u-googlemap video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ==========================================================
!Inline Align
========================================================== */
.u-taL {
  text-align: left !important;
}

.u-taC {
  text-align: center !important;
}

.u-taR {
  text-align: right !important;
}

.u-vaT {
  vertical-align: top !important;
}

.u-vaM {
  vertical-align: middle !important;
}

.u-vaB {
  vertical-align: bottom !important;
}

.u-blockL {
  margin-left: 0;
  margin-right: auto;
}

.u-blockC {
  margin-right: auto;
  margin-left: auto;
}

.u-blockR {
  margin-left: auto;
  margin-right: 0;
}

@media not all and (min-width: 769px) {
  .u-taL-sp {
    text-align: left !important;
  }
  .u-taC-sp {
    text-align: center !important;
  }
  .u-taR-sp {
    text-align: right !important;
  }
  .u-vaT-sp {
    vertical-align: top !important;
  }
  .u-vaM-sp {
    vertical-align: middle !important;
  }
  .u-vaB-sp {
    vertical-align: bottom !important;
  }
  .u-blockL-sp {
    margin-left: 0;
    margin-right: auto;
  }
  .u-blockC-sp {
    margin-right: auto;
    margin-left: auto;
  }
  .u-blockR-sp {
    margin-left: auto;
    margin-right: 0;
  }
}
@media screen and (min-width: 769px) {
  .u-taL-pc {
    text-align: left !important;
  }
  .u-taC-pc {
    text-align: center !important;
  }
  .u-taR-pc {
    text-align: right !important;
  }
  .u-vaT-pc {
    vertical-align: top !important;
  }
  .u-vaM-pc {
    vertical-align: middle !important;
  }
  .u-vaB-pc {
    vertical-align: bottom !important;
  }
  .u-blockL-pc {
    margin-left: 0;
    margin-right: auto;
  }
  .u-blockC-pc {
    margin-right: auto;
    margin-left: auto;
  }
  .u-blockR-pc {
    margin-left: auto;
    margin-right: 0;
  }
}
/* 親を超える子
------------------------------------ */
.u-over-width,
.is-style-alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.u-over-width--left,
.is-style-alignfull--left {
  margin-left: calc(50% - 50vw);
}

.u-over-width--right,
.is-style-alignfull--right {
  margin-right: calc(50% - 50vw);
}

.u-over-width-content,
.is-style-alignfull-content {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
}

.u-over-width-content--left,
.is-style-alignfull-content--left {
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
}

.u-over-width-content--right,
.is-style-alignfull-content--right {
  margin-right: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
}

.u-wide-width,
.wp-block-media-text.is-style-alignwide.is-both-wide {
  margin-left: -20px;
  margin-right: -20px;
  margin-left: min(-10px, -5.3vw);
  margin-right: min(-10px, -5.3vw);
}
@media only screen and (min-width: 769px), print {
  .u-wide-width,
  .wp-block-media-text.is-style-alignwide.is-both-wide {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - min(50vw, 960px));
    margin-right: calc(50% - min(50vw, 960px));
  }
}

.u-wide-width-left,
.wp-block-media-text.is-style-alignwide {
  margin-right: 0;
  margin-left: -20px;
  margin-left: min(-10px, -5.3vw);
}
@media only screen and (min-width: 769px), print {
  .u-wide-width-left,
  .wp-block-media-text.is-style-alignwide {
    margin-left: calc(50% - 50vw);
    margin-left: calc(50% - min(50vw, 960px));
  }
}

.u-wide-width-right,
.wp-block-media-text.is-style-alignwide.has-media-on-the-right {
  margin-left: 0;
  margin-right: -20px;
  margin-right: min(-10px, -5.3vw);
}
@media only screen and (min-width: 769px), print {
  .u-wide-width-right,
  .wp-block-media-text.is-style-alignwide.has-media-on-the-right {
    margin-right: calc(50% - 50vw);
    margin-right: calc(50% - min(50vw, 960px));
  }
}

/* どのdisplayで表示させるか
------------------------------------ */
/* 479px以下（SP） */
.u-sp {
  display: inline-block;
}

.u-pc {
  display: none;
}

/* 769px以上（タブレット） */
@media only screen and (min-width: 769px), print {
  .u-sp {
    display: none;
  }
  .u-pc {
    display: inline-block;
  }
}
/* ==========================================================
!Width
========================================================== */
/* 960px Grid */
.u-w960 {
  width: 960px;
}

.u-w800 {
  width: 800px;
}

.u-w640 {
  width: 640px;
}

.u-w480 {
  width: 480px;
}

.u-w320 {
  width: 320px;
}

.u-w160 {
  width: 160px;
}

.u-wHalf {
  width: 48%;
}

.u-wTri {
  width: 33%;
}

.u-wQuart {
  width: 24%;
}

.u-wFull {
  width: 99.9%;
}

.u-wMax {
  width: 100%;
}

.u-w03per {
  width: 3% !important;
}

.u-w05per {
  width: 5% !important;
}

.u-w10per {
  width: 10% !important;
}

.u-w13per {
  width: 13% !important;
}

.u-w15per {
  width: 15% !important;
}

.u-w20per {
  width: 20% !important;
}

.u-w23per {
  width: 23% !important;
}

.u-w25per {
  width: 25% !important;
}

.u-w30per {
  width: 30% !important;
}

.u-w33per {
  width: 33% !important;
}

.u-w35per {
  width: 35% !important;
}

.u-w40per {
  width: 40% !important;
}

.u-w43per {
  width: 43% !important;
}

.u-w45per {
  width: 45% !important;
}

.u-w50per {
  width: 50% !important;
}

.u-w53per {
  width: 53% !important;
}

.u-w55per {
  width: 55% !important;
}

.u-w60per {
  width: 60% !important;
}

.u-w63per {
  width: 63% !important;
}

.u-w65per {
  width: 65% !important;
}

.u-w70per {
  width: 70% !important;
}

.u-w73per {
  width: 73% !important;
}

.u-w75per {
  width: 75% !important;
}

.u-w80per {
  width: 80% !important;
}

.u-w83per {
  width: 83% !important;
}

.u-w85per {
  width: 85% !important;
}

.u-w90per {
  width: 90% !important;
}

.u-w93per {
  width: 93% !important;
}

.u-w95per {
  width: 95% !important;
}

/* ==========================================================
!Floats
========================================================== */
.u-flL {
  display: inline;
  float: left;
}

.u-flR {
  display: inline;
  float: right;
}

.u-flImgL {
  display: inline;
  float: left;
  margin-right: 20px;
}

.u-flImgR {
  display: inline;
  float: right;
  margin-left: 20px;
}

.u-ftBox {
  overflow: hidden;
  *zoom: 1;
}

/* ==========================================================
!Flexbox
========================================================== */
.u-flex-between {
  display: flex;
  justify-content: space-between;
}
.u-flex-between > * + * {
  margin-left: 1rem;
}

@media not all and (min-width: 769px) {
  .u-flex-between--stack-sp > * + * {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  .u-flex-between--stack-sp {
    display: flex;
    justify-content: space-between;
  }
  .u-flex-between--stack-sp > * + * {
    margin-left: 1rem;
  }
}

.u-flex-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.u-flex-between-center > * + * {
  margin-left: 1rem;
}

@media not all and (min-width: 769px) {
  .u-flex-between-center--stack-sp > * + * {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  .u-flex-between-center--stack-sp {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .u-flex-between-center--stack-sp > * + * {
    margin-left: 1rem;
  }
}

.u-flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.u-flex-center > * + * {
  margin-left: 1rem;
}

.u-flex-start {
  display: flex !important;
  justify-content: flex-start;
  align-items: center;
}
.u-flex-start > * + * {
  margin-left: 1rem;
}

@media not all and (min-width: 769px) {
  .u-flex-center--stack-sp > * + * {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 769px), print {
  .u-flex-center--stack-sp {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .u-flex-center--stack-sp > * + * {
    margin-left: 1rem;
  }
}

.u-flex-shrink0 {
  flex-shrink: 0;
}

.u-flex-grow1 {
  flex-grow: 1;
}

/* ==========================================================
!Tools
========================================================== */
.u-clear {
  clear: both;
}

.u-block {
  display: block;
}

.u-hide {
  display: none;
}

.u-bgN {
  background: none !important;
}

.u-bdN {
  border: none !important;
}

.u-tdU {
  text-decoration: underline;
}

.u-tdN {
  text-decoration: none;
}

/* ==========================================================
!JavaScript
========================================================== */
.over {
  /* ロールオーバー呼び出し用 */
}

.scroll {
  /* サイト内リンク以外のスムーススクロール呼び出し用 */
}

/* ==========================================================
!Margin
========================================================== */
.u-mt00p {
  margin-top: 0 !important;
}

.u-mt05p {
  margin-top: 0.5% !important;
}

.u-mt10p {
  margin-top: 1% !important;
}

.u-mt15p {
  margin-top: 1.5% !important;
}

.u-mt20p {
  margin-top: 2% !important;
}

.u-mt25p {
  margin-top: 2.5% !important;
}

.u-mt30p {
  margin-top: 3% !important;
}

.u-mt35p {
  margin-top: 3.5% !important;
}

.u-mt40p {
  margin-top: 4% !important;
}

.u-mt45p {
  margin-top: 4.5% !important;
}

.u-mt50p {
  margin-top: 5% !important;
}

.u-mt55p {
  margin-top: 5.5% !important;
}

.u-mt60p {
  margin-top: 6% !important;
}

.u-mt65p {
  margin-top: 6.5% !important;
}

.u-mt70p {
  margin-top: 7% !important;
}

.u-mt75p {
  margin-top: 7.5% !important;
}

.u-mt80p {
  margin-top: 8% !important;
}

.u-mt85p {
  margin-top: 8.5% !important;
}

.u-mt90p {
  margin-top: 9% !important;
}

.u-mt95p {
  margin-top: 9.5% !important;
}

.u-mt100p {
  margin-top: 10% !important;
}

.u-mr00p {
  margin-right: 0 !important;
}

.u-mr05p {
  margin-right: 0.5% !important;
}

.u-mr10p {
  margin-right: 1% !important;
}

.u-mr15p {
  margin-right: 1.5% !important;
}

.u-mr20p {
  margin-right: 2% !important;
}

.u-mr25p {
  margin-right: 2.5% !important;
}

.u-mr30p {
  margin-right: 3% !important;
}

.u-mr35p {
  margin-right: 3.5% !important;
}

.u-mr40p {
  margin-right: 4% !important;
}

.u-mr45p {
  margin-right: 4.5% !important;
}

.u-mr50p {
  margin-right: 5% !important;
}

.u-mr55p {
  margin-right: 5.5% !important;
}

.u-mr60p {
  margin-right: 6% !important;
}

.u-mr65p {
  margin-right: 6.5% !important;
}

.u-mr70p {
  margin-right: 7% !important;
}

.u-mr75p {
  margin-right: 7.5% !important;
}

.u-mr80p {
  margin-right: 8% !important;
}

.u-mr85p {
  margin-right: 8.5% !important;
}

.u-mr90p {
  margin-right: 9% !important;
}

.u-mr95p {
  margin-right: 9.5% !important;
}

.u-mr100p {
  margin-right: 10% !important;
}

.u-mb00p {
  margin-bottom: 0 !important;
}

.u-mb05p {
  margin-bottom: 0.5% !important;
}

.u-mb10p {
  margin-bottom: 1% !important;
}

.u-mb15p {
  margin-bottom: 1.5% !important;
}

.u-mb20p {
  margin-bottom: 2% !important;
}

.u-mb25p {
  margin-bottom: 2.5% !important;
}

.u-mb30p {
  margin-bottom: 3% !important;
}

.u-mb35p {
  margin-bottom: 3.5% !important;
}

.u-mb40p {
  margin-bottom: 4% !important;
}

.u-mb45p {
  margin-bottom: 4.5% !important;
}

.u-mb50p {
  margin-bottom: 5% !important;
}

.u-mb55p {
  margin-bottom: 5.5% !important;
}

.u-mb60p {
  margin-bottom: 6% !important;
}

.u-mb65p {
  margin-bottom: 6.5% !important;
}

.u-mb70p {
  margin-bottom: 7% !important;
}

.u-mb75p {
  margin-bottom: 7.5% !important;
}

.u-mb80p {
  margin-bottom: 8% !important;
}

.u-mb85p {
  margin-bottom: 8.5% !important;
}

.u-mb90p {
  margin-bottom: 9% !important;
}

.u-mb95p {
  margin-bottom: 9.5% !important;
}

.u-mb100p {
  margin-bottom: 10% !important;
}

.u-ml00p {
  margin-left: 0 !important;
}

.u-ml05p {
  margin-left: 0.5% !important;
}

.u-ml10p {
  margin-left: 1% !important;
}

.u-ml15p {
  margin-left: 1.5% !important;
}

.u-ml20p {
  margin-left: 2% !important;
}

.u-ml25p {
  margin-left: 2.5% !important;
}

.u-ml30p {
  margin-left: 3% !important;
}

.u-ml35p {
  margin-left: 3.5% !important;
}

.u-ml40p {
  margin-left: 4% !important;
}

.u-ml45p {
  margin-left: 4.5% !important;
}

.u-ml50p {
  margin-left: 5% !important;
}

.u-ml55p {
  margin-left: 5.5% !important;
}

.u-ml60p {
  margin-left: 6% !important;
}

.u-ml65p {
  margin-left: 6.5% !important;
}

.u-ml70p {
  margin-left: 7% !important;
}

.u-ml75p {
  margin-left: 7.5% !important;
}

.u-ml80p {
  margin-left: 8% !important;
}

.u-ml85p {
  margin-left: 8.5% !important;
}

.u-ml90p {
  margin-left: 9% !important;
}

.u-ml95p {
  margin-left: 9.5% !important;
}

.u-ml100p {
  margin-left: 10% !important;
}

/* ==========================================================
!Padding
========================================================== */
.u-pt00p {
  padding-top: 0 !important;
}

.u-pt05p {
  padding-top: 0.5% !important;
}

.u-pt10p {
  padding-top: 1% !important;
}

.u-pt15p {
  padding-top: 1.5% !important;
}

.u-pt20p {
  padding-top: 2% !important;
}

.u-pt25p {
  padding-top: 2.5% !important;
}

.u-pt30p {
  padding-top: 3% !important;
}

.u-pt35p {
  padding-top: 3.5% !important;
}

.u-pt40p {
  padding-top: 4% !important;
}

.u-pt45p {
  padding-top: 4.5% !important;
}

.u-pt50p {
  padding-top: 5% !important;
}

.u-pt55p {
  padding-top: 5.5% !important;
}

.u-pt60p {
  padding-top: 6% !important;
}

.u-pt65p {
  padding-top: 6.5% !important;
}

.u-pt70p {
  padding-top: 7% !important;
}

.u-pt75p {
  padding-top: 7.5% !important;
}

.u-pt80p {
  padding-top: 8% !important;
}

.u-pt85p {
  padding-top: 8.5% !important;
}

.u-pt90p {
  padding-top: 9% !important;
}

.u-pt95p {
  padding-top: 9.5% !important;
}

.u-pt100p {
  padding-top: 10% !important;
}

.u-pr00p {
  padding-right: 0 !important;
}

.u-pr05p {
  padding-right: 0.5% !important;
}

.u-pr10p {
  padding-right: 1% !important;
}

.u-pr15p {
  padding-right: 1.5% !important;
}

.u-pr20p {
  padding-right: 2% !important;
}

.u-pr25p {
  padding-right: 2.5% !important;
}

.u-pr30p {
  padding-right: 3% !important;
}

.u-pr35p {
  padding-right: 3.5% !important;
}

.u-pr40p {
  padding-right: 4% !important;
}

.u-pr45p {
  padding-right: 4.5% !important;
}

.u-pr50p {
  padding-right: 5% !important;
}

.u-pr55p {
  padding-right: 5.5% !important;
}

.u-pr60p {
  padding-right: 6% !important;
}

.u-pr65p {
  padding-right: 6.5% !important;
}

.u-pr70p {
  padding-right: 7% !important;
}

.u-pr75p {
  padding-right: 7.5% !important;
}

.u-pr80p {
  padding-right: 8% !important;
}

.u-pr85p {
  padding-right: 8.5% !important;
}

.u-pr90p {
  padding-right: 9% !important;
}

.u-pr95p {
  padding-right: 9.5% !important;
}

.u-pr100p {
  padding-right: 10% !important;
}

.u-pb00p {
  padding-bottom: 0 !important;
}

.u-pb05p {
  padding-bottom: 0.5% !important;
}

.u-pb10p {
  padding-bottom: 1% !important;
}

.u-pb15p {
  padding-bottom: 1.5% !important;
}

.u-pb20p {
  padding-bottom: 2% !important;
}

.u-pb25p {
  padding-bottom: 2.5% !important;
}

.u-pb30p {
  padding-bottom: 3% !important;
}

.u-pb35p {
  padding-bottom: 3.5% !important;
}

.u-pb40p {
  padding-bottom: 4% !important;
}

.u-pb45p {
  padding-bottom: 4.5% !important;
}

.u-pb50p {
  padding-bottom: 5% !important;
}

.u-pb55p {
  padding-bottom: 5.5% !important;
}

.u-pb60p {
  padding-bottom: 6% !important;
}

.u-pb65p {
  padding-bottom: 6.5% !important;
}

.u-pb70p {
  padding-bottom: 7% !important;
}

.u-pb75p {
  padding-bottom: 7.5% !important;
}

.u-pb80p {
  padding-bottom: 8% !important;
}

.u-pb85p {
  padding-bottom: 8.5% !important;
}

.u-pb90p {
  padding-bottom: 9% !important;
}

.u-pb95p {
  padding-bottom: 9.5% !important;
}

.u-pb100p {
  padding-bottom: 10% !important;
}

.u-pl00p {
  padding-left: 0 !important;
}

.u-pl05p {
  padding-left: 0.5% !important;
}

.u-pl10p {
  padding-left: 1% !important;
}

.u-pl15p {
  padding-left: 1.5% !important;
}

.u-pl20p {
  padding-left: 2% !important;
}

.u-pl25p {
  padding-left: 2.5% !important;
}

.u-pl30p {
  padding-left: 3% !important;
}

.u-pl35p {
  padding-left: 3.5% !important;
}

.u-pl40p {
  padding-left: 4% !important;
}

.u-pl45p {
  padding-left: 4.5% !important;
}

.u-pl50p {
  padding-left: 5% !important;
}

.u-pl55p {
  padding-left: 5.5% !important;
}

.u-pl60p {
  padding-left: 6% !important;
}

.u-pl65p {
  padding-left: 6.5% !important;
}

.u-pl70p {
  padding-left: 7% !important;
}

.u-pl75p {
  padding-left: 7.5% !important;
}

.u-pl80p {
  padding-left: 8% !important;
}

.u-pl85p {
  padding-left: 8.5% !important;
}

.u-pl90p {
  padding-left: 9% !important;
}

.u-pl95p {
  padding-left: 9.5% !important;
}

.u-pl100p {
  padding-left: 10% !important;
}

/* !Margin ------------------------------------------------------------------ */
.u-mt04 {
  margin-top: 4px !important;
}

.u-mt08 {
  margin-top: 8px !important;
}

.u-mt16 {
  margin-top: 16px !important;
}

.u-mt24 {
  margin-top: 24px !important;
}

.u-mt32 {
  margin-top: 32px !important;
}

.u-mt48 {
  margin-top: 48px !important;
}

.u-mt56 {
  margin-top: 56px !important;
}

.u-mt64 {
  margin-top: 64px !important;
}

.u-mt72 {
  margin-top: 72px !important;
}

@media not all and (min-width: 769px) {
  .u-mt04-sp {
    margin-top: 4px !important;
  }
  .u-mt08-sp {
    margin-top: 8px !important;
  }
  .u-mt16-sp {
    margin-top: 16px !important;
  }
  .u-mt24-sp {
    margin-top: 24px !important;
  }
  .u-mt32-sp {
    margin-top: 32px !important;
  }
  .u-mt48-sp {
    margin-top: 48px !important;
  }
  .u-mt56-sp {
    margin-top: 56px !important;
  }
  .u-mt64-sp {
    margin-top: 64px !important;
  }
  .u-mt72-sp {
    margin-top: 72px !important;
  }
}
@media only screen and (min-width: 769px), print {
  .u-mt04-pc {
    margin-top: 4px !important;
  }
  .u-mt08-pc {
    margin-top: 8px !important;
  }
  .u-mt16-pc {
    margin-top: 16px !important;
  }
  .u-mt24-pc {
    margin-top: 24px !important;
  }
  .u-mt32-pc {
    margin-top: 32px !important;
  }
  .u-mt48-pc {
    margin-top: 48px !important;
  }
  .u-mt56-pc {
    margin-top: 56px !important;
  }
  .u-mt64-pc {
    margin-top: 64px !important;
  }
  .u-mt72-pc {
    margin-top: 72px !important;
  }
}
.u-mt00 {
  margin-top: 0 !important;
}

.u-mt05 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt45 {
  margin-top: 45px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt55 {
  margin-top: 55px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt65 {
  margin-top: 65px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt75 {
  margin-top: 75px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt85 {
  margin-top: 85px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mt95 {
  margin-top: 95px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mr00 {
  margin-right: 0 !important;
}

.u-mr05 {
  margin-right: 5px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr15 {
  margin-right: 15px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr25 {
  margin-right: 25px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-mr35 {
  margin-right: 35px !important;
}

.u-mr40 {
  margin-right: 40px !important;
}

.u-mr45 {
  margin-right: 45px !important;
}

.u-mr50 {
  margin-right: 50px !important;
}

.u-mr55 {
  margin-right: 55px !important;
}

.u-mr60 {
  margin-right: 60px !important;
}

.u-mr65 {
  margin-right: 65px !important;
}

.u-mr70 {
  margin-right: 70px !important;
}

.u-mr75 {
  margin-right: 75px !important;
}

.u-mr80 {
  margin-right: 80px !important;
}

.u-mr85 {
  margin-right: 85px !important;
}

.u-mr90 {
  margin-right: 90px !important;
}

.u-mr95 {
  margin-right: 95px !important;
}

.u-mr100 {
  margin-right: 100px !important;
}

.u-mb00 {
  margin-bottom: 0 !important;
}

.u-mb05 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb55 {
  margin-bottom: 55px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb65 {
  margin-bottom: 65px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb75 {
  margin-bottom: 75px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mb85 {
  margin-bottom: 85px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-mb95 {
  margin-bottom: 95px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-ml00 {
  margin-left: 0 !important;
}

.u-ml05 {
  margin-left: 5px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml15 {
  margin-left: 15px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml25 {
  margin-left: 25px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

.u-ml35 {
  margin-left: 35px !important;
}

.u-ml40 {
  margin-left: 40px !important;
}

.u-ml45 {
  margin-left: 45px !important;
}

.u-ml50 {
  margin-left: 50px !important;
}

.u-ml55 {
  margin-left: 55px !important;
}

.u-ml60 {
  margin-left: 60px !important;
}

.u-ml65 {
  margin-left: 65px !important;
}

.u-ml70 {
  margin-left: 70px !important;
}

.u-ml75 {
  margin-left: 75px !important;
}

.u-ml80 {
  margin-left: 80px !important;
}

.u-ml85 {
  margin-left: 85px !important;
}

.u-ml90 {
  margin-left: 90px !important;
}

.u-ml95 {
  margin-left: 95px !important;
}

.u-ml100 {
  margin-left: 100px !important;
}

@media not all and (min-width: 769px) {
  .u-mt00-sp {
    margin-top: 0 !important;
  }
  .u-mt10-sp {
    margin-top: 10px !important;
  }
  .u-mt20-sp {
    margin-top: 20px !important;
  }
  .u-mt30-sp {
    margin-top: 30px !important;
  }
  .u-mt40-sp {
    margin-top: 40px !important;
  }
  .u-mt50-sp {
    margin-top: 50px !important;
  }
  .u-mt60-sp {
    margin-top: 60px !important;
  }
  .u-mt70-sp {
    margin-top: 70px !important;
  }
  .u-mt80-sp {
    margin-top: 80px !important;
  }
  .u-mt90-sp {
    margin-top: 90px !important;
  }
  .u-mt100-sp {
    margin-top: 100px !important;
  }
}
@media only screen and (min-width: 769px), print {
  .u-mt00-pc {
    margin-top: 0 !important;
  }
  .u-mt10-pc {
    margin-top: 10px !important;
  }
  .u-mt20-pc {
    margin-top: 20px !important;
  }
  .u-mt30-pc {
    margin-top: 30px !important;
  }
  .u-mt40-pc {
    margin-top: 40px !important;
  }
  .u-mt50-pc {
    margin-top: 50px !important;
  }
  .u-mt60-pc {
    margin-top: 60px !important;
  }
  .u-mt70-pc {
    margin-top: 70px !important;
  }
  .u-mt80-pc {
    margin-top: 80px !important;
  }
  .u-mt90-pc {
    margin-top: 90px !important;
  }
  .u-mt100-pc {
    margin-top: 100px !important;
  }
  .u-ml16-pc {
    margin-left: 16px !important;
  }
  .u-ml25-pc {
    margin-left: 25px !important;
  }
}
.u-mblock-sm {
  margin-top: 40px;
  margin-bottom: 40px;
  margin-top: min(5.3333333333vmin, 40px);
  margin-bottom: min(5.3333333333vmin, 40px);
}

.u-mblock-md {
  margin-top: 80px;
  margin-bottom: 80px;
  margin-top: min(10.6666666667vmin, 80px);
  margin-bottom: min(10.6666666667vmin, 80px);
}

.u-mblock-lg {
  margin-top: 120px;
  margin-bottom: 120px;
  margin-top: min(16vmin, 120px);
  margin-bottom: min(16vmin, 120px);
}

.u-mt-sm {
  margin-top: 40px;
  margin-top: min(5.3333333333vmin, 40px);
}

.u-mt-md {
  margin-top: 80px;
  margin-top: min(10.6666666667vmin, 80px);
}

.u-mt-lg {
  margin-top: 120px;
  margin-top: min(16vmin, 120px);
}

.u-mb-sm {
  margin-bottom: 40px;
  margin-bottom: min(5.3333333333vmin, 40px);
}

.u-mb-md {
  margin-bottom: 80px;
  margin-bottom: min(10.6666666667vmin, 80px);
}

.u-mb-lg {
  margin-bottom: 120px;
  margin-bottom: min(16vmin, 120px);
}

/* !Padding  ---------------------------------------------------------------- */
.u-pt00 {
  padding-top: 0 !important;
}

.u-pt05 {
  padding-top: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt35 {
  padding-top: 35px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt45 {
  padding-top: 45px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt55 {
  padding-top: 55px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pt65 {
  padding-top: 65px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt75 {
  padding-top: 75px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt85 {
  padding-top: 85px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pt95 {
  padding-top: 95px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pr00 {
  padding-right: 0 !important;
}

.u-pr05 {
  padding-right: 5px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr15 {
  padding-right: 15px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr25 {
  padding-right: 25px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

.u-pr35 {
  padding-right: 35px !important;
}

.u-pr40 {
  padding-right: 40px !important;
}

.u-pr45 {
  padding-right: 45px !important;
}

.u-pr50 {
  padding-right: 50px !important;
}

.u-pr55 {
  padding-right: 55px !important;
}

.u-pr60 {
  padding-right: 60px !important;
}

.u-pr65 {
  padding-right: 65px !important;
}

.u-pr70 {
  padding-right: 70px !important;
}

.u-pr75 {
  padding-right: 75px !important;
}

.u-pr80 {
  padding-right: 80px !important;
}

.u-pr85 {
  padding-right: 85px !important;
}

.u-pr90 {
  padding-right: 90px !important;
}

.u-pr95 {
  padding-right: 95px !important;
}

.u-pr100 {
  padding-right: 100px !important;
}

.u-pb00 {
  padding-bottom: 0 !important;
}

.u-pb05 {
  padding-bottom: 5px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb35 {
  padding-bottom: 35px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb45 {
  padding-bottom: 45px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb55 {
  padding-bottom: 55px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pb65 {
  padding-bottom: 65px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pb75 {
  padding-bottom: 75px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pb85 {
  padding-bottom: 85px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-pb95 {
  padding-bottom: 95px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pl00 {
  padding-left: 0 !important;
}

.u-pl05 {
  padding-left: 5px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl15 {
  padding-left: 15px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl25 {
  padding-left: 25px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl35 {
  padding-left: 35px !important;
}

.u-pl40 {
  padding-left: 40px !important;
}

.u-pl45 {
  padding-left: 45px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pl55 {
  padding-left: 55px !important;
}

.u-pl60 {
  padding-left: 60px !important;
}

.u-pl65 {
  padding-left: 65px !important;
}

.u-pl70 {
  padding-left: 70px !important;
}

.u-pl75 {
  padding-left: 75px !important;
}

.u-pl80 {
  padding-left: 80px !important;
}

.u-pl85 {
  padding-left: 85px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pl95 {
  padding-left: 95px !important;
}

.u-pl100 {
  padding-left: 100px !important;
}

/* ==========================================================
!WCAG 2.0 C7
========================================================== */
.u-vhidden {
  overflow: hidden;
  position: absolute;
  top: -10px;
  width: 1px;
  height: 1px;
}

/* ==========================================================
!icon fonts
========================================================== */
@font-face {
  font-family: "icomoon";
  src: url("../../common/fonts/icomoon.ttf?s36xo6") format("truetype"), url("../../common/fonts/icomoon.woff?s36xo6") format("woff"), url("../../common/fonts/icomoon.svg?s36xo6#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=ico_]::before, [class^=ico_]::after, [class*=" ico_"]::before, [class*=" ico_"]::after {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ico_zoom:after {
  content: "\e90b";
}

.ico_arrow:after {
  content: "\e900";
}

.ico_arrow2:after {
  content: "\e901";
}

.ico_chevron:after {
  content: "\e902";
}

.ico_close:after {
  content: "\e903";
}

.ico_external_c:after {
  content: "\e904";
}

.ico_external:after {
  content: "\e905";
}

.ico_minus:after {
  content: "\e906";
}

.ico_pause:after {
  content: "\e907";
}

.ico_plus:after {
  content: "\e908";
}

.ico_question:after {
  content: "\e909";
}

.ico_start:after {
  content: "\e90a";
}

/* ==========================================================
!border-radius
========================================================== */
.u-radius-16 {
  border-radius: 16px;
}

.u-radius-20 {
  border-radius: 20px;
}

.u-radius-24 {
  border-radius: 24px;
}

/*コンポーネント一覧用（後で消す）*/
.component {
  margin: 80px 0;
  padding: 50px 0;
  border-bottom: 1px dashed #485B7B;
}

.component_ttl {
  margin-bottom: 15px;
  padding: 5px 20px;
  background: #485B7B;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: bold;
}

.component_sttl {
  margin-bottom: 10px;
  color: #9F8A5A;
  font-weight: bold;
}

.component_note {
  margin-top: 20px;
  margin-bottom: 40px;
  padding: 10px 20px;
  background: #d1dde9;
  font-size: 12px;
  line-height: 1.5;
}

.component_explain {
  margin-top: 20px;
  margin-bottom: 40px;
  padding: 10px 20px;
  border: 1px dashed #485B7B;
  font-size: 12px;
  line-height: 1.5;
}
.component_explain ul {
  display: grid;
  gap: 8px;
}
.component_explain ul > li {
  text-indent: -1.2em;
  margin-left: 1.2em;
}
.component_explain p {
  text-indent: -1.2em;
  margin-left: 1.2em;
}

.component_grid {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.component_table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.component_table th, .component_table td {
  border: 1px solid #485B7B;
}

.component_block {
  width: 30%;
  padding: 10px;
  background: #f5f5f5;
}

.component_block2 {
  height: 200px;
  border: 1px solid #0F1937;
}

.u-fs20 {
  font-size: 20px; /*IE9以下で反映されるよう記述*/
  font-size: 1.25rem;
}

/* ==========================================================
!Clearfix
========================================================== */
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

@layer vendor {
  /* Slider */
  .slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
  }
  .slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
  }
  .slick-list:focus {
    outline: none;
  }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand;
  }
  .slick-slider .slick-track,
  .slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
  }
  .slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table;
  }
  .slick-track:after {
    clear: both;
  }
  .slick-loading .slick-track {
    visibility: hidden;
  }
  .slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
  }
  [dir=rtl] .slick-slide {
    float: right;
  }
  .slick-slide img {
    display: block;
  }
  .slick-slide.slick-loading img {
    display: none;
  }
  .slick-slide.dragging img {
    pointer-events: none;
  }
  .slick-initialized .slick-slide {
    display: block;
  }
  .slick-loading .slick-slide {
    visibility: hidden;
  }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
  }
  .slick-arrow.slick-hidden {
    display: none;
  }
}
/*
 * cmn_style.css
 */
@layer vendor {
  /*arrow*/
  .slick-arrow {
    position: relative;
    overflow: hidden;
    display: block;
    width: 48px;
    height: 48px;
    padding: 48px 0 0 0;
    margin: 0;
    border-radius: 50%;
    border: 1px solid #707070;
    background: transparent;
    line-height: 1;
    cursor: pointer;
    transition: 0.3s background-color;
  }
  .slick-arrow:hover, .slick-arrow:focus-visible {
    background: #707070;
    color: #FFFFFF;
  }
  .slick-arrow::before {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 1em;
    height: 1em;
    content: "\e901";
    font-family: "icomoon" !important;
    font-size: 12px; /*IE9以下で反映されるよう記述*/
    font-size: 0.75rem;
  }
  .slick-prev {
    position: absolute;
    right: 60px;
    bottom: 0;
    transform: scale(-1, 1);
  }
  .slick-next {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  /*dots*/
  .slick-dots {
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1;
  }
  .slick-dots button {
    overflow: hidden;
    width: 4px;
    height: 4px;
    margin: 0;
    padding: 0;
    background: #404040;
    border-radius: 50%;
    font-size: 1px;
    line-height: 1;
  }
  .slick-dots .slick-active button {
    width: 8px;
    height: 8px;
  }
}
/*
 * style.css
 */

/*# sourceMappingURL=style.css.map*/