/* breadcrumb
**************************************/
.breadcrumb {
  position: relative;
  background-color: #f6f5f5;
}

.breadcrumb__body {
  max-width: calc(1280/var(--base-font-size-row-value) * 1rem);
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 10px;
}

.breadcrumb__separator {
  position: relative;
}

.breadcrumb__separator::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: calc(16/var(--base-font-size-row-value) * 1rem);
  margin-right: calc(16/var(--base-font-size-row-value) * 1rem);
  border-top: 1px solid #bfb6b9;
  border-bottom: 1px solid transparent;
  border-left: 1px solid transparent;
  border-right: 1px solid #bfb6b9;
  transform: rotateZ(45deg);
}

.breadcrumb a,
.breadcrumb span {
  font-size: calc(16/var(--base-font-size-row-value) * 1rem);
}

.breadcrumb__body>span {
  color: var(--base-immutable-color);
}

.breadcrumb a {
  color: var(--base-primary-color);
}

@media all and (max-width: 1023px) {
  .breadcrumb__body {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}


/* list-pagination
**************************************/
.list-pagination {
  position: relative;
}

.list-pagination__list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.list-pagination li:not(.pagination-next-btn):not(.pagination-prev-btn) {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.list-pagination li.pagination-next-btn,
.list-pagination li.pagination-prev-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50/var(--immutable-font-size-raw-value) * 1rem);
  height: calc(50/var(--immutable-font-size-raw-value) * 1rem);
  border-radius: 50%;
  font-family: monospace;
  font-weight: bold;
  color: var(--base-primary-color);
  border: 2px solid var(--base-primary-color);
}

.list-pagination li.pagination-next-btn {
  margin-left: 0.75rem;
}

.list-pagination li.pagination-prev-btn {
  margin-right: 0.75rem;
}

.list-pagination li.is-current {
  color: var(--base-primary-color);
}

.list-pagination li.pagination-next-btn a,
.list-pagination li.pagination-prev-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

/* singular-pagination
**************************************/
.singular-pagination {
  display: flex;
  justify-content: space-between;
}

.singular-pagination a[rel="prev"],
.singular-pagination a[rel="next"] {
  position: relative;
  display: inline-block;
  padding-top: calc(15/var(--base-font-size-row-value) * 1rem);
  padding-bottom: calc(15/var(--base-font-size-row-value) * 1rem);
  padding-left: calc(25/var(--base-font-size-row-value) * 1rem);
  padding-right: calc(25/var(--base-font-size-row-value) * 1rem);
  font-size: calc(18/var(--base-font-size-row-value) * 1rem);
  color: var(--base-primary-color);
  border-radius: 45px;
  border: 2px solid var(--base-primary-color);
}


/* main-rounded-heading (h1)
**************************************/
h1.main-rounded-heading {
  display: block;
  width: 100%;
  margin-bottom: calc(60/var(--base-font-size-row-value) * 1rem);
  padding-top: calc(20/var(--base-font-size-row-value) * 1rem);
  padding-bottom: calc(20/var(--base-font-size-row-value) * 1rem);
  padding-left: calc(20/var(--base-font-size-row-value) * 1rem);
  padding-right: calc(20/var(--base-font-size-row-value) * 1rem);
  font-size: calc(34/var(--base-font-size-row-value) * 1rem);
  color: var(--base-immutable-color);
  border-radius: calc(60/var(--base-font-size-row-value) * 1rem);
  border: 4px solid var(--base-primary-color);
  background-position: -2px center;
  background-size: contain;
  background-image: url(../img/common/momo_pattern_bg.png);
  background-color: #fae8ee;
}

h1.main-rounded-heading[class*="--centered"] {
  text-align: center;
}

@media all and (min-width: 1024px) {
  h1.main-rounded-heading {
    text-align: center;
    border-radius: calc(80/var(--base-font-size-row-value) * 1rem);
    background-repeat: no-repeat;
  }
}


/* articles-list
**************************************/
.articles-list {
  position: relative;
}

.articles-list__item {
  display: grid;
}

@media all and (min-width: 1024px) {
  .articles-list__item {
    grid-template-columns: calc(180/var(--base-font-size-row-value) * 1rem) 1fr;
    gap: calc(40/var(--base-font-size-row-value) * 1rem);
  }
}



/**************************************************************
* Post article
**************************************************************/
.post-article {
  position: relative;
  margin-bottom: calc(60/var(--base-font-size-row-value) * 1rem);

  padding-bottom: calc(60/var(--base-font-size-row-value) * 1rem);
  border-bottom: 2px dashed #bfb6b9;
}

.post-article__meta-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: calc(60/var(--base-font-size-row-value) * 1rem);
}

.post-article__header {
  position: relative;
}

.post-article__title {
  position: relative;
  margin-bottom: 1rem;
}

.post-article__meta-info time,
.post-article__title>time {
  display: block;
  font-weight: 500;
}

.post-article__title>time {
  margin-bottom: 0.5rem;
}

.post-article__title .post-title a {
  text-decoration: underline;
}

.post-article__thumbnail {
  display: flex;
  justify-content: center;
  align-items: center;
}

.post-article__thumbnail img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.post-article__categories {
  margin-bottom: 1rem;
}

.post-article .post-body {
  margin-bottom: 1rem;
  line-height: 2;
}

.post-article__tags {
  margin-top: calc(120/var(--base-font-size-row-value) * 1rem);
}

@media all and (max-width: 1023px) {
  .post-article__thumbnail {
    max-width: calc(200/var(--base-font-size-row-value) * 1rem);
    max-height: calc(160/var(--base-font-size-row-value) * 1rem);
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
  }
}


/**************************************************************
* Post contents
**************************************************************/

/* layouts
**************************************/


/* wp-wysiwyg-contents *
**************************************/
/* h2 */
.wp-wysiwyg-contents h2 {
  position: relative;
  display: block;
  margin-bottom: calc(30/var(--base-font-size-row-value) * 1rem);
  padding-bottom: calc(10/var(--base-font-size-row-value) * 1rem);
  font-size: calc(28/var(--base-font-size-row-value) * 1rem);
  line-height: 1.73;
  scroll-margin-top: 150px;
}

.wp-wysiwyg-contents h2::before {
  content: "";
  position: relative;
  top: 8px;
  display: inline-block;
  width: calc(40/var(--base-font-size-row-value) * 1rem);
  height: calc(40/var(--base-font-size-row-value) * 1rem);
  margin-right: calc(20/var(--base-font-size-row-value) * 1rem);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url(../img/common/heading_lvl2_momopi_icn.png);
}

.wp-wysiwyg-contents h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: calc(100% + 4px);
  height: 10px;
  background: radial-gradient(circle at 5px,
      var(--base-primary-color) 0,
      var(--base-primary-color) 4px,
      transparent 5px,
      transparent 5px),
    radial-gradient(circle at 20px,
      var(--base-secondary-color) 0,
      var(--base-secondary-color) 4px,
      transparent 5px,
      transparent 5px);
  background-size: 30px 10px;
  background-repeat: repeat-x;
}

/* h3 */
.wp-wysiwyg-contents h3 {
  margin-top: calc(50/var(--base-font-size-row-value) * 1rem);
  margin-bottom: calc(50/var(--base-font-size-row-value) * 1rem);
  padding-top: calc(12/var(--base-font-size-row-value) * 1rem);
  padding-bottom: calc(12/var(--base-font-size-row-value) * 1rem);
  padding-left: calc(30/var(--base-font-size-row-value) * 1rem);
  font-size: calc(24/var(--base-font-size-row-value) * 1rem);
  color: var(--base-immutable-color);
  border-top: 3px solid var(--base-primary-color);
  border-bottom: 3px solid var(--base-secondary-color);
  background-color: #fae8ee;
  scroll-margin-top: 150px;
}

/* h4 */
.wp-wysiwyg-contents h4 {
  margin-top: calc(30/var(--base-font-size-row-value) * 1rem);
  margin-bottom: calc(30/var(--base-font-size-row-value) * 1rem);
  padding-bottom: 0.5rem;
  font-size: calc(22/var(--base-font-size-row-value) * 1rem);
  border-bottom: 2px dashed var(--base-primary-color);
}

/* p/ul/ol/dl */
.wp-wysiwyg-contents p,
.wp-wysiwyg-contents ul,
.wp-wysiwyg-contents ol,
.wp-wysiwyg-contents dl {
  font-weight: normal;
  line-height: 2;
}

.wp-wysiwyg-contents p+p,
.wp-wysiwyg-contents ul+ul,
.wp-wysiwyg-contents ol+ol,
.wp-wysiwyg-contents dl+dl,
.wp-wysiwyg-contents p+ul,
.wp-wysiwyg-contents ul+p,
.wp-wysiwyg-contents p+ol,
.wp-wysiwyg-contents ol+p,
.wp-wysiwyg-contents p+dl,
.wp-wysiwyg-contents dl+p {
  margin-top: calc(30/var(--base-font-size-row-value) * 1rem);
}

.wp-wysiwyg-contents p strong,
.wp-wysiwyg-contents ul:not([class]) li strong,
.wp-wysiwyg-contents dd strong {
  font-weight: 600;
}

.wp-wysiwyg-contents li:not([class]) {
  font-weight: 500;
}

.wp-wysiwyg-contents ul:not([class]),
.wp-wysiwyg-contents ol:not([class]),
.wp-wysiwyg-contents blockquote {
  all: revert;
}

/* emojis */
.wp-wysiwyg-contents img.wp-smiley,
.wp-wysiwyg-contents img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1em !important;
  width: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  background: none !important;
  padding: 0 !important;
}

/* iframe */
@media all and (max-width: 767px) {
  .wp-wysiwyg-contents iframe {
    width: auto;
    height: auto;
  }
}


/* a link */
.wp-wysiwyg-contents a:not([class]):not([href*=".pdf"]):not([href*=".xls"]):not([href*=".doc"]) {
  color: var(--base-primary-color);
  font-weight: normal;
  text-decoration: underline;
  word-break: break-word;
}

.wp-wysiwyg-contents a[target="_blank"]:not([class]) {
  position: relative;
}

.wp-wysiwyg-contents a[target="_blank"]:not([class])::after {
  content: "";
  position: relative;
  display: inline-block;
  width: calc(14/var(--base-font-size-row-value) * 1rem);
  height: calc(14/var(--base-font-size-row-value) * 1rem);
  margin-left: 0.5rem;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url(../img/common/link_blank_icn.png);
}

.wp-wysiwyg-contents a[href*=".pdf"]:not(.abort-styling),
.wp-wysiwyg-contents a[href*=".xls"]:not(.abort-styling),
.wp-wysiwyg-contents a[href*=".doc"]:not(.abort-styling) {
  position: relative;
  display: table;
  padding-top: calc(15/var(--base-font-size-row-value) * 1rem);
  padding-bottom: calc(15/var(--base-font-size-row-value) * 1rem);
  padding-left: calc(25/var(--base-font-size-row-value) * 1rem);
  padding-right: calc(25/var(--base-font-size-row-value) * 1rem);
  margin-bottom: 5px;
  margin-left: 2px;
  margin-right: 2px;
  border-radius: 45px;
  border: 2px solid currentColor;
}

.wp-wysiwyg-contents a[href*=".pdf"]:not(.abort-styling)::after,
.wp-wysiwyg-contents a[href*=".xls"]:not(.abort-styling)::after,
.wp-wysiwyg-contents a[href*=".doc"]:not(.abort-styling)::after {
  content: "";
  position: relative;
  display: inline-block;
  width: 20px;
  height: 26px;
  margin-left: 0.25rem;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
}

.wp-wysiwyg-contents a[href*=".pdf"]:not(.abort-styling) {
  color: #c80f0f;
}

.wp-wysiwyg-contents a[href*=".xls"]:not(.abort-styling) {
  color: #1d9751;
}

.wp-wysiwyg-contents a[href*=".doc"]:not(.abort-styling) {
  color: #2e70d4;
}

.wp-wysiwyg-contents a[href*=".pdf"]:not(.abort-styling)::after {
  background-image: url(../img/common/link_pdf_icn.png);
}

.wp-wysiwyg-contents a[href*=".xls"]:not(.abort-styling)::after {
  background-image: url(../img/common/link_xls_icn.png);
}

.wp-wysiwyg-contents a[href*=".doc"]:not(.abort-styling)::after {
  background-image: url(../img/common/link_doc_icn.png);
}

.wp-wysiwyg-contents a[href*=".pdf"].no-border-styling,
.wp-wysiwyg-contents a[href*=".xls"].no-border-styling,
.wp-wysiwyg-contents a[href*=".doc"].no-border-styling {
  margin: 0;
  padding: 0;
  border: none;
}

.wp-wysiwyg-contents .abort-styling {
  display: inline-block;
  margin-top: 5px;
}

@media (hover: hover) {
  .wp-wysiwyg-contents a:not([class]) {
    transition: filter 0.3s ease;
  }

  .wp-wysiwyg-contents a:not([class]):hover {
    text-decoration: none;
    filter: brightness(120%);
  }
}


/* post-media-table */
.wp-wysiwyg-contents .post-media-table .table-wrapper {
  overflow-x: auto;
}

.wp-wysiwyg-contents .post-media-table table {
  width: 100%;
}

.wp-wysiwyg-contents .post-media-table table,
.wp-wysiwyg-contents .post-media-table td,
.wp-wysiwyg-contents .post-media-table th {
  border: 1px solid #595959;
  border-collapse: collapse;
  padding: 10px 20px;
}

.wp-wysiwyg-contents .post-media-table table tr:nth-of-type(2n+1) {
  background-color: #FFF5F8;
}

html.is-dark-mode .wp-wysiwyg-contents .post-media-table table tr:nth-of-type(2n+1) {
  background-color: #464646;
}

.wp-wysiwyg-contents .post-media-table table tr:first-of-type {
  background-color: #F391B1;
  color: #fff;
}

@media all and (max-width: 1023px) {

  .wp-wysiwyg-contents .post-media-table table,
  .wp-wysiwyg-contents .post-media-table td,
  .wp-wysiwyg-contents .post-media-table th {
    white-space: nowrap;
  }
}

/* post-media-2cols */
.wp-wysiwyg-contents .post-media-2cols {
  display: grid;
  grid-template-columns: 100%;
}

@media all and (min-width: 1024px) {
  .wp-wysiwyg-contents .post-media-2cols {
    grid-template-columns: 1fr 1fr;
  }
}





/**************************************************************
* Events Manager
**************************************************************/

.em-view-container .em-item-header {
  overflow: hidden;
}

.em-booking-form[id*="em-booking-form-"][id*="em-booking-form-"] {
  --accent-color: var(--base-primary-color);
}

.em-booking-form[id*="em-booking-form-"][id*="em-booking-form-"] {
  max-width: calc(860/var(--base-font-size-row-value) * 1rem);
  margin: auto !important;
}

.em-booking-form[id*="em-booking-form-"][id*="em-booking-form-"] .em-booking-form-section-tickets,
.em-booking-form[id*="em-booking-form-"][id*="em-booking-form-"] .em-tickets-spaces {
  margin-bottom: 0 !important;
}

.em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .em-tickets {
  border: 0;
  margin: 0;
  padding: 0;
  width: 100%;
}

.em-booking-form-section-details {
  margin-bottom: 0 !important;
}

.em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .input-field-data_privacy_consent {
  margin-bottom: 0 !important;
}

.em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .input-field-data_privacy_consent>label {
  padding-left: 2em;
  text-indent: -2em;
  cursor: pointer;
}

.em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .em-form-submit {
  height: 100% !important;
  border: none !important;
}

.em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .em-button>span {
  font-size: 1rem !important;
}

@media all and (max-width: 1023px) {
  .em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .c-form-control label {
    margin-bottom: 0 !important;
  }

  .em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .c-form-control__input {
    margin-bottom: 2rem !important;
  }

  .em-event-booking-form[id*="event-booking-form-"][id*="event-booking-form-"] .em-booking-form-buttons {
    display: table;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}

/* fix accessibility color black mode */
html.is-dark-mode .post-article__contents:has(.em-event) .em.pixelbones {
  color: var(--base-background-inverted-color) !important;
}

html.is-dark-mode .post-article__contents:has(.em-event) .em-item-meta-line.em-event-date,
html.is-dark-mode .post-article__contents:has(.em-event) .em-item-meta-line.em-event-time {
  filter: brightness(5);
}

/**************************************************************
* 地域下層ページ
**************************************************************/
.wp-wysiwyg-contents>.greeting-flex-layout {
  display: grid;
  grid-template-columns: 225px 1fr;
  gap: 10px;
}

.wp-wysiwyg-contents>.table-grid-layout {
  display: grid;
  grid-template-columns: 75% 1fr;
  gap: 10px;
}

.wp-wysiwyg-contents>.table-grid-layout img {
  display: block;
}

.wp-wysiwyg-contents>.table-grid-layout img+img {
  margin-top: 10px;
}

.wp-wysiwyg-contents>.table-grid-layout>.post-media-table {
  min-width: 0;
}

@media all and (max-width: 1023px) {
  .wp-wysiwyg-contents>.greeting-flex-layout {
    display: flex;
    flex-direction: column;
  }

  .wp-wysiwyg-contents>.table-grid-layout {
    grid-template-columns: auto;
    grid-template-rows: repeat(2, auto);
    gap: 10px;
  }
}

.is-dark-mode .wp-wysiwyg-contents .post-media-table table tr:first-of-type {
  background-color: #464646 !important;
}

.wp-wysiwyg-contents h4 {
  scroll-margin-top: 10vw;
}

.wp-wysiwyg-contents>.greeting-flex-layout p,
.wp-wysiwyg-contents .post-media-table .table-wrapper p {
  font-weight: inherit;
}

.grid-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 10px;
  overflow-x: auto;
  align-items: stretch;
}


.wp-wysiwyg-contents .grid-wrapper .post-media-table table {
  table-layout: fixed !important;
}

.wp-wysiwyg-contents .grid-wrapper .post-media-table td img {
  max-width: 100%;
  height: auto;
}

.wp-wysiwyg-contents .grid-wrapper a[target="_blank"]:not([class])::after {
  display: none;
}


@media screen and (max-width: 1023px) {
  .wp-wysiwyg-contents .grid-wrapper .post-media-table {
    font-size: 90%;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table th {
    width: 30% !important;
    padding: 10px 15px;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table td {
    white-space: normal;
    word-break: break-word;
    padding: 10px 15px;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table td img {
    width: 30vw;
  }

}

@media screen and (min-width: 1024px) {
  .wp-wysiwyg-contents .grid-wrapper .post-media-table table {
    height: 100%;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table .table-wrapper {
    height: 100%;
  }

  .grid-wrapper {
    grid-template-columns: 1fr 1fr;
  }


  .wp-wysiwyg-contents .grid-wrapper .post-media-table th {
    width: 30% !important;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table td {
    width: auto !important;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table table tr:last-child td {
    height: 100%;
    vertical-align: top;
  }

  .wp-wysiwyg-contents .grid-wrapper .post-media-table td img {
    width: 10vw;
  }
}