@charset "UTF-8";
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: inherit;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

* {
  padding: 0;
  font: inherit;
  text-decoration: none;
  color: inherit;
  list-style: none;
  border: 0;
  background: none;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?efa");
  src: url("../fonts/icomoon.eot?efa#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?efa") format("truetype"), url("../fonts/icomoon.woff?efa") format("woff"), url("../fonts/icomoon.svg?efa#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.p-important-post__date::before, .c-search-form__submit::after, [class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  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;
}

.icon-search:before {
  content: "\e900";
}

.c-search-form__submit::after {
  content: "\e900";
}

.icon-attention:before {
  content: "\e901";
}

.p-important-post__date::before {
  content: "\e901";
}

.icon-access:before {
  content: "\e902";
}

body {
  --color-white: var(--wp--preset--color--white);
  --color-text: var(--wp--preset--color--text);
  --color-primary: var(--wp--preset--color--primary);
  --color-secondary: var(--wp--preset--color--secondary);
  --color-danger: var(--wp--preset--color--danger);
  --color-danger-background: var(--wp--preset--color--danger-background);
  --color-gray: var(--wp--preset--color--gray);
  --color-light-gray: var(--wp--preset--color--light-gray);
  --color-light-gray-2: var(--wp--preset--color--light-gray-2);
  --color-light-gray-3: #f9f9f6;
  --size-container: var(--wp--style--global--content-size);
  --size-container-wide: var(--wp--style--global--wide-size);
  --size-inner: min(var(--size-container), 100% - 15px * 2);
  --size-inner-wide: min(var(--size-container-wide), 100% - 15px * 2);
}

:root {
  --header-top-height: 65px;
  --header-nav-height: 0px;
  --header-height: 65px;
  --hamburger-wrapper-padding: 7px;
  --hamburger-size: 35px;
  --hamburger-inner-size: 16px;
  --hamburger-line-weight: 2px;
  --fv-height: 550px;
}
@media print, screen and (min-width: 992px) {
  :root {
    --header-height: 145px;
    --header-nav-height: 55px;
    --header-top-height: calc(var(--header-height) - var(--header-nav-height));
  }
}

body {
  --font-family-sans: "Noto Sans JP", "Helvetica Neue", "Segoe UI",
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  --font-family-serif: "Noto Serif JP", serif;
  --font-family-maru: "Zen Maru Gothic", serif;
}

.l-site-frame {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.l-site-frame__header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.l-site-frame__main {
  flex-grow: 1;
  width: 100%;
}
html.is-fixed .l-site-frame__main {
  visibility: hidden;
  max-width: 100vw;
  overflow: hidden;
}

.l-site-frame__footer {
  width: 100%;
}

.l-site-frame__sp-nav {
  position: fixed;
  top: var(--header-height);
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 101;
  pointer-events: none;
  visibility: hidden;
}
html.is-fixed .l-site-frame__sp-nav {
  visibility: visible;
}

.l-site-frame__content {
  display: grid;
  gap: 40px;
  -webkit-padding-before: 40px;
          padding-block-start: 40px;
  padding-bottom: 120px;
}
body:is(.single, .page) .l-site-frame__content {
  width: var(--size-inner);
  margin-inline: auto;
}

.l-site-frame__content-inner {
  width: min(100% - 30px, var(--wp--style--global--content-size));
  margin-inline: auto;
}

.l-site-frame__single {
  width: min(100% - 30px, var(--wp--style--global--content-size));
  margin-inline: auto;
}
.l-site-frame__single > * + * {
  margin-top: 1em;
}

.l-site-frame__single-header {
  width: min(100% - 30px, var(--wp--style--global--content-size));
  margin-inline: auto;
}

.c-custom-heading {
  --font-size-large: 60px;
  --font-size-small: 14px;
  display: flex;
  line-height: 1.2;
  gap: 5px 15px;
  flex-direction: column;
  align-items: flex-start;
  border-top: 1px solid var(--color-gray);
  padding-top: 20px;
  position: relative;
}
.c-custom-heading::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 7px;
  background-color: var(--color-primary);
}
@media print, screen and (min-width: 768px) {
  .c-custom-heading {
    flex-direction: row;
    align-items: flex-end;
  }
}

.c-custom-heading__large {
  font-size: var(--font-size-large);
  font-weight: 500;
  text-transform: uppercase;
}
.c-custom-heading__large::first-letter {
  color: var(--color-primary);
}

.c-custom-heading__small {
  font-size: var(--font-size-small);
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  padding: 0.1em 0.6em;
  position: relative;
  bottom: 0.75em;
}

.c-day-calendar {
  --weekday-color: currentColor;
  --event-bg: var(--color-secondary);
  --round: 15px;
  font-family: var(--font-family-maru);
  border-radius: var(--round);
  font-size: 16px;
  padding: 20px;
  background-color: var(--color-white);
  font-weight: 500;
  display: grid;
  gap: 10px;
}

.c-day-calendar__today {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.1em;
}

.c-day-calendar__number {
  font-size: 1.5em;
}

.c-day-calendar__weekday::before {
  content: "（";
  -webkit-margin-start: -0.5em;
          margin-inline-start: -0.5em;
}
.c-day-calendar__weekday::after {
  content: "）";
}

.c-day-calendar__event {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.2em 1em;
  line-height: 1.5;
  border-radius: 5px;
  background-color: var(--event-bg);
  text-align: center;
}

.c-embed {
  display: block;
}
.c-embed > * {
  display: block;
  max-width: 100% !important;
  aspect-ratio: 16/10;
}

.c-grid {
  display: grid;
  gap: 30px 40px;
}
.c-grid[data-column^="2"] {
  grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 576px) {
  .c-grid[data-column~="sm:2"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 768px) {
  .c-grid[data-column~="md:2"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 768px) {
  .c-grid[data-column~="lg:2"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-grid[data-column^="3"] {
  grid-template-columns: repeat(3, 1fr);
}
@media print, screen and (min-width: 576px) {
  .c-grid[data-column~="sm:3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 768px) {
  .c-grid[data-column~="md:3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media print, screen and (min-width: 992px) {
  .c-grid[data-column~="lg:3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-grid.front-page-submenu {
  gap: 30px 60px;
}
@media print, screen and (min-width: 768px) {
  .c-grid.front-page-submenu {
    grid-template-columns: repeat(2, 1fr);
  }
}

.c-group {
  display: grid;
  gap: 30px;
}
.c-group + .c-group {
  margin-top: 60px;
}

.c-hamburger {
  width: var(--hamburger-size);
  height: var(--hamburger-size);
  --color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: var(--color);
  gap: 4px;
}
body.add-contrast .c-hamburger {
  --color: var(--color-text);
}
.c-hamburger::after {
  scale: -1 1;
}

.c-hamburger__inner {
  position: relative;
}
.c-hamburger__inner::before, .c-hamburger__inner::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.c-hamburger__inner::before {
  rotate: 45deg;
}
.c-hamburger__inner::after {
  rotate: -45deg;
}

.c-hamburger::before, .c-hamburger::after, .c-hamburger__inner, .c-hamburger__inner::before, .c-hamburger__inner::after {
  content: "";
  display: block;
  width: var(--hamburger-inner-size);
  height: var(--hamburger-line-weight);
  background-image: linear-gradient(var(--color) 0%, var(--color) 100%);
}

.c-hamburger::before, .c-hamburger::after, .c-hamburger__inner {
  background-size: 100%;
}
[aria-expanded=true] .c-hamburger::before, [aria-expanded=true] .c-hamburger::after, [aria-expanded=true] .c-hamburger__inner {
  background-size: 0%;
}

.c-hamburger__inner::before, .c-hamburger__inner::after {
  background-size: 0%;
}
[aria-expanded=true] .c-hamburger__inner::before, [aria-expanded=true] .c-hamburger__inner::after {
  background-size: 100%;
}

.c-heading-1, .is-style-heading-accent {
  font-size: 30px;
  font-weight: 500;
  background-color: var(--color-light-gray);
  padding: 0.5em 0.6em;
  border-left: 15px solid var(--color-primary);
  line-height: 1.3;
  border-radius: 10px;
  font-family: var(--font-family-maru);
}

.c-heading-2, .is-style-heading-primary {
  font-size: 25px;
  font-weight: 500;
  padding: 0.3em 0 calc(0.6em + 2px);
  position: relative;
  line-height: 1.3;
  font-family: var(--font-family-maru);
}
.c-heading-2::after, .is-style-heading-primary::after {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  left: 0;
  bottom: 0;
  position: absolute;
  border-radius: 5px;
  background-image: linear-gradient(90deg, var(--color-primary) 75px, var(--color-light-gray) 75px);
}

.c-heading-3, .is-style-heading-secondary {
  --border-color: var(--color-primary);
  font-size: 20px;
  font-weight: 500;
  padding: 0.2em 0.75em 0.2em calc(10px + 0.75em);
  line-height: 1.3;
  position: relative;
  font-family: var(--font-family-maru);
}
.c-heading-3::after, .is-style-heading-secondary::after {
  content: "";
  background-color: var(--border-color);
  width: 10px;
  height: 1.75em;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 4em;
}

.c-heading-4, .is-style-heading-tertiary {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
  padding-block: 0.3em;
  font-family: var(--font-family-maru);
}

.c-list, :where(.cms-content) ul:not([class]) {
  --marker-size: 0.4em;
  --item-line-height: 1.4;
  --item-font-size: 1em;
  --item-start-padding: 2em;
  --gap: 0.3em;
  display: grid;
  gap: var(--gap);
}

.c-list__item, :where(.cms-content) ul:not([class]) > * {
  position: relative;
  padding-left: var(--item-start-padding);
  font-size: var(--item-font-size);
  line-height: var(--item-line-height);
}
.c-list__item::after, :where(.cms-content) ul:not([class]) > ::after {
  content: "";
  display: block;
  position: absolute;
  width: var(--marker-size);
  height: var(--marker-size);
  border-radius: 50%;
  background-color: currentColor;
  left: calc(var(--item-start-padding) * 0.5);
  top: calc((1em * var(--item-line-height) - var(--marker-size)) * 0.5);
}

:where(.cms-content) ol:not([class]) {
  list-style: revert;
  margin-left: 2em;
}
:where(.cms-content) ol:not([class]) > * {
  list-style: inherit;
}

.c-magazine {
  border-top: 5px solid var(--color-secondary);
  line-height: 1.5;
}

.c-magazine__box {
  padding: 40px 25px;
  background-color: var(--color-light-gray-2);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.c-magazine__title {
  display: flex;
  align-items: center;
  flex-direction: column;
  line-height: 1.2;
  gap: 15px;
}

.c-magazine__title-small {
  display: flex;
  font-size: 15px;
  font-weight: 500;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: var(--color-white);
  border: 1px solid currentColor;
  padding-inline: 1em;
  position: relative;
}
.c-magazine__title-small::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: var(--color-white);
  border: 1px solid currentColor;
  -webkit-clip-path: polygon(0 100%, 100% 100%, 100% 0);
          clip-path: polygon(0 100%, 100% 100%, 100% 0);
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5.2px;
  margin: auto;
  pointer-events: none;
}

.c-magazine__title-text {
  font-size: 20px;
  font-weight: 500;
}

.c-magazine__meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.c-magazine__image {
  max-width: 100%;
  display: block;
  margin-inline: auto;
}

.c-magazine__date {
  font-size: 12px;
}

.c-magazine__link {
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .c-magazine__link:hover, .c-magazine__link:focus-visible {
    opacity: 0.7;
  }
}

.c-magazine__description {
  font-size: 14px;
  padding-top: 7px;
}

.c-pagination {
  --link-size: 2.5em;
  --link-color: var(--color-text);
  --link-background-color: transparent;
  --icon-size: 0.6em;
}

.c-pagination__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
}

.c-pagination__item {
  display: flex;
}
.c-pagination__item[data-role=current] {
  --link-background-color: var(--color-primary);
  --link-color: var(--color-white);
}
.c-pagination__item[data-role=first]::after {
  position: relative;
  top: 0.35em;
  display: inline-block;
  width: var(--link-size);
  text-align: center;
  content: "...";
}
.c-pagination__item[data-role=last]::before {
  content: "...";
  position: relative;
  top: 0.35em;
  display: inline-block;
  width: var(--link-size);
  text-align: center;
}

.c-pagination__link {
  color: var(--link-color);
  background-color: var(--link-background-color);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--link-size);
  height: var(--link-size);
  line-height: 1;
  transition: background-color 0.2s;
}
@media screen and (hover: hover) {
  .c-pagination__link[href]:hover, .c-pagination__link[href]:focus-visible {
    background-color: var(--color-light-gray);
  }
}

:where([data-role=prev], [data-role=next]) > .c-pagination__link::after {
  content: "";
  display: block;
  width: var(--icon-size);
  height: var(--icon-size);
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  rotate: -45deg;
}

:where([data-role=prev]) > .c-pagination__link::after {
  scale: -1;
}

.c-post-list {
  --column: 1;
  --gap: 0px;
  display: grid;
  grid-template-columns: repeat(var(--column), 1fr);
  gap: var(--gap);
}
@media print, screen and (min-width: 768px) {
  .c-post-list[data-view="2"] {
    --column: 2;
  }
}
.c-post-list[data-view="3"] {
  --gap: 20px;
}
@media print, screen and (min-width: 576px) {
  .c-post-list[data-view="3"] {
    --column: 2;
  }
}
@media print, screen and (min-width: 768px) {
  .c-post-list[data-view="3"] {
    --gap: 40px;
  }
}
@media print, screen and (min-width: 992px) {
  .c-post-list[data-view="3"] {
    --column: 3;
  }
}
.l-frontpage__main .c-post-list[data-view="1"] {
  --gap: 4px;
}
.l-frontpage__pickup .c-post-list[data-view="2"] {
  --column: 1;
  --gap: 0;
  border-top: 1px solid currentColor;
}
.l-frontpage__pickup .c-post-list[data-view="2"] > * {
  border-bottom: solid 1px currentColor;
}

.c-post-with-thumbnail {
  --thumbnail-size: 130px;
  --thumbnail-aspect-ratio: 130 / 115;
  --date-color: var(--color-gray);
  --no-image-size: 18px;
  line-height: 1.5;
}
.p-pickup .c-post-with-thumbnail {
  --thumbnail-size: 90px;
  --thumbnail-aspect-ratio: 1 / 1;
  --date-color: currentColor;
  --no-image-size: 12px;
}
.p-archive .c-post-with-thumbnail {
  --thumbnail-size: 100px;
  --no-image-size: 14px;
}

.c-post-with-thumbnail__link {
  padding-top: 15px;
  padding-bottom: 15px;
  transition: opacity 0.2s;
  display: grid;
  grid-template-columns: var(--thumbnail-size) 1fr;
  gap: 10px;
}
@media screen and (hover: hover) {
  .c-post-with-thumbnail__link:hover, .c-post-with-thumbnail__link:focus-visible {
    opacity: 0.7;
  }
}

.c-post-with-thumbnail__image-wrapper {
  width: var(--thumbnail-size);
  aspect-ratio: 1/1;
}

.c-post-with-thumbnail__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-post-with-thumbnail__no-image {
  width: var(--thumbnail-size);
  aspect-ratio: 1/1;
  display: flex;
  background-color: var(--color-gray);
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-post-with-thumbnail__no-image::after {
  font-size: var(--no-image-size);
  text-align: center;
  content: "No Image";
}

.c-post-with-thumbnail__date {
  color: var(--date-color);
  font-size: 14px;
}

.c-post-with-thumbnail__title {
  font-size: 16px;
  font-weight: 500;
}

.c-post {
  --border: dashed 1px #cccccc;
  display: flex;
  gap: 0.2em 1em;
  align-items: baseline;
  line-height: 1.5;
  width: 100%;
  padding-block: 0.7em;
  border-bottom: var(--border);
  flex-wrap: wrap;
  transform: opacity 0.2s;
}
@media print, screen and (min-width: 768px) {
  .c-post {
    flex-wrap: nowrap;
  }
}
@media screen and (hover: hover) {
  .c-post:hover, .c-post:focus-visible {
    opacity: 0.7;
  }
}
.c-post:first-child {
  border-top: var(--border);
}
.wp-block-post:has(.c-post) + .wp-block-post:has(.c-post) {
  -webkit-margin-before: -1px;
          margin-block-start: -1px;
}

.c-post__date {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 0.9em;
  flex-basis: 7rem;
}

.c-post__category {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10rem;
  border-radius: 4em;
  padding: 0.2em 0.5em;
  font-size: 0.9em;
  border: 1px solid currentColor;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-post__title {
  position: relative;
  display: flex;
  align-items: baseline;
  width: 100%;
  flex-basis: 100%;
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
@media print, screen and (min-width: 768px) {
  .c-post__title {
    flex-wrap: nowrap;
    flex-basis: auto;
    flex-shrink: 1;
  }
}
.c-post__title::after {
  content: "";
  font-size: 0.5em;
  background-color: currentColor;
  rotate: 90deg;
  margin-block: auto;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
  width: 1em;
  height: calc(1em * 0.5 * 1.732);
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.c-search-form {
  --round: 3px;
  display: flex;
  align-items: stretch;
}
@media print, screen and (min-width: 768px) {
  .c-search-form {
    max-width: 200px;
  }
}

.c-search-form__input-wrapper {
  --radius: var(--round) 0 0 var(--round);
  flex-grow: 1;
}
.c-search-form__input-wrapper > * {
  border-radius: var(--radius);
}

.c-search-form__input {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
  line-height: 1.3;
  padding: 5px 10px;
  background-color: var(--color-light-gray-2);
  position: relative;
  font-family: var(--font-family-sans);
}
.c-search-form__input::-moz-placeholder {
  transform: scale(0.75);
  transform-origin: left center;
}
.c-search-form__input::placeholder {
  transform: scale(0.75);
  transform-origin: left center;
}

.c-search-form__submit {
  background-color: var(--color-light-gray-2);
  color: var(--color-text);
  width: 34px;
  font-size: 0.8em;
  -webkit-padding-end: 0.5em;
          padding-inline-end: 0.5em;
  display: block;
  padding-top: 0.1em;
  border-radius: 0 var(--round) var(--round) 0;
}
.c-simple-post {
  --date-color: var(--color-gray);
  line-height: 1.5;
}

.c-simple-post__link {
  display: grid;
  padding: 10px 15px 12px;
  gap: 0 1.5em;
  transition: opacity 0.2s;
}
@media print, screen and (min-width: 768px) {
  .c-simple-post__link {
    grid-template-columns: auto 1fr;
  }
}
@media screen and (hover: hover) {
  .c-simple-post__link:hover, .c-simple-post__link:focus-visible {
    opacity: 0.7;
  }
}

.c-simple-post__date {
  font-size: 14px;
  color: var(--date-color);
}
@media print, screen and (min-width: 768px) {
  .c-simple-post__date {
    padding-top: 0.2em;
  }
}

.c-simple-post__title {
  font-size: 16px;
  font-weight: 500;
}

.c-slider {
  --gap-size: clamp(40px, 27.143px + 3.571vw, 70px);
  --image-size-x: 100%;
  --image-size-y: 100%;
  --pager-height: 40px;
  --nav-arrow-size: min(5vw, 30px);
  --swiper-pagination-color: var(--color-text);
  --swiper-pagination-bullet-inactive-color: #cccccc;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --slider-round: var(--fv-round, 20px);
  height: 100%;
}
@media print, screen and (min-width: 768px) {
  .c-slider {
    overflow-x: hidden;
    height: var(--fv-height, 550px);
    border-radius: var(--slider-round) 0 0 var(--slider-round);
  }
}

.c-slider__item {
  overflow: hidden;
  width: var(--image-size-x) !important;
  height: 100%;
  display: block;
}

.c-slider__image {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.c-slider__image::-moz-selection {
  background-color: transparent;
}
.c-slider__image::selection {
  background-color: transparent;
}

.c-slider__controls {
  width: min(100%, var(--image-size-x) + var(--gap-size) * 2);
  height: calc(100% - var(--pager-height));
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
  pointer-events: none;
  visibility: hidden;
}

.c-slider__pager-container {
  --swiper-pagination-color: var(--color-text);
  --swiper-pagination-bullet-inactive-color: #cccccc;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --pager-height: 40px;
  height: var(--pager-height);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}

.c-slider__pager-list {
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-slider__nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--gap-size);
  height: 100%;
  padding-right: 15px;
  transition: opacity 0.2s;
  border-radius: 5px;
  pointer-events: initial;
  visibility: visible;
  background-color: transparent !important;
}
.c-slider__nav-button::after {
  --size: var(--nav-arrow-size);
  --px1: 45%;
  --px2: 69%;
  --px3: 45%;
  --py1: 34%;
  --py2: 50%;
  --py3: 66%;
  background-color: var(--arrow-color, #fff);
  border-radius: 50%;
  content: "";
  -webkit-clip-path: polygon(0 0, var(--px3) 0, var(--px3) var(--py3), var(--px2) var(--py2), var(--px1) var(--py1), var(--px3) 0, 100% 0, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(0 0, var(--px3) 0, var(--px3) var(--py3), var(--px2) var(--py2), var(--px1) var(--py1), var(--px3) 0, 100% 0, 100% 100%, 0 100%, 0 0);
  display: block;
  width: var(--size, 1em);
  height: var(--size, 1em);
  pointer-events: none;
}
.c-slider__nav-button.-prev {
  scale: -1 1;
}
@media screen and (hover: hover) {
  .c-slider__nav-button:hover, .c-slider__nav-button:focus-visible {
    opacity: 0.7;
  }
}

.c-slider__text-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-family: var(--font-family-maru);
  display: grid;
  gap: 0.25rem;
}

.c-slider__text-catch {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
}

.c-slider__text-caption {
  line-height: 1.5;
  font-size: 16px;
}

.c-submenu {
  --image-x: min(170px, 30vw);
  --image-ratio: 170 / 115;
  --image-round: 10px;
  --marker-size: 22px;
  font-family: var(--font-family-maru);
  -webkit-padding-end: calc(var(--marker-size) + 20px);
          padding-inline-end: calc(var(--marker-size) + 20px);
  position: relative;
  display: grid;
  grid-template-columns: var(--image-x) 1fr;
  align-items: center;
  gap: 25px;
}
.c-submenu::after {
  --size: var(--marker-size);
  --px1: 45%;
  --px2: 69%;
  --px3: 45%;
  --py1: 34%;
  --py2: 50%;
  --py3: 66%;
  background-color: var(--arrow-color, #fff);
  border-radius: 50%;
  content: "";
  -webkit-clip-path: polygon(0 0, var(--px3) 0, var(--px3) var(--py3), var(--px2) var(--py2), var(--px1) var(--py1), var(--px3) 0, 100% 0, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(0 0, var(--px3) 0, var(--px3) var(--py3), var(--px2) var(--py2), var(--px1) var(--py1), var(--px3) 0, 100% 0, 100% 100%, 0 100%, 0 0);
  display: block;
  width: var(--size, 1em);
  height: var(--size, 1em);
  pointer-events: none;
  background-color: var(--color-primary);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin-block: auto;
}
body.add-contrast .c-submenu::after {
  background-color: var(--color-text);
  opacity: 0.8;
}

.c-submenu__image-wrapper {
  width: var(--image-x);
  aspect-ratio: var(--image-ratio);
  overflow: hidden;
  border-radius: var(--image-round);
}
.c-submenu__image-wrapper > img {
  vertical-align: top;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-submenu__title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
}

.c-submenu__text {
  font-family: var(--font-family-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

.c-submenu__text-content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.wp-block-oita-ed-submenu-list .block-editor-inner-blocks,
.wp-block-oita-ed-submenu-list .block-editor-block-list__layout {
  display: contents;
}

.c-table, .wp-block-table {
  --cell-color: var(--color-text);
  --fill-color: transparent;
  --cell-border-color: var(--color-gray);
  --cell-padding: 1em;
  --cell-border: solid 1px var(--cell-border-color);
  --cell-font-size: 1rem;
  --cell-font-weight: 400;
  overflow-x: auto;
  width: 100%;
}

.c-table__table, .wp-block-table table {
  display: table;
  width: max(var(--wp--style--global--content-size), 100%);
  border-collapse: collapse;
  font-size: var(--cell-font-size);
}

.c-table__caption, .wp-block-table .wp-element-caption {
  font-size: calc(var(--cell-font-size) * 0.9);
  padding-block: 0.5rem;
  line-height: 1.5;
}

.c-table__header, .wp-block-table thead {
  display: table-header-group;
  --fill-color: var(--color-light-gray);
  --cell-font-weight: 500;
  border: 0;
}

.c-table__footer, .wp-block-table tfoot {
  display: table-footer-group;
  --fill-color: var(--color-light-gray);
  --cell-padding: 0.5em 1em;
  --cell-font-size: 0.9em;
  --cell-font-weight: 400;
  border: 0;
}

.c-table__row-group, .wp-block-table tbody {
  display: table-row-group;
}
.c-table__row-group > .c-table__row > *:first-child, .wp-block-table .c-table__row-group > tr > *:first-child, .wp-block-table tbody > .c-table__row > *:first-child, .wp-block-table tbody > tr > *:first-child {
  --fill-color: var(--color-light-gray);
  --cell-font-weight: 500;
}

.c-table__row, .wp-block-table tr {
  display: table-row;
}

.c-table__cell, .wp-block-table th,
.wp-block-table td {
  display: table-cell;
  text-align: inherit;
  color: var(--cell-color);
  background-color: var(--fill-color);
  padding: var(--cell-padding);
  border: var(--cell-border);
  font-size: var(--cell-font-size);
  font-weight: var(--cell-font-weight);
  line-height: 1.5;
}

.wp-block-table.is-style-stripes .c-table__header, .wp-block-table.is-style-stripes thead {
  --fill-color: transparent;
  border-bottom: 2px solid var(--color-gray);
}
.wp-block-table.is-style-stripes .c-table__footer, .wp-block-table.is-style-stripes tfoot {
  --fill-color: transparent;
  border-top: 2px solid var(--color-gray);
}
.wp-block-table.is-style-stripes .c-table__row-group > .c-table__row > *:first-child, .wp-block-table.is-style-stripes tbody > .c-table__row > *:first-child, .wp-block-table.is-style-stripes .c-table__row-group > tr > *:first-child, .wp-block-table.is-style-stripes tbody > tr > *:first-child {
  --fill-color: inherit;
}

.c-banner-slider {
  --swiper-pagination-color: var(--color-text);
  --swiper-pagination-bullet-inactive-color: #cccccc;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --pager-height: 32px;
  position: relative;
  margin-bottom: var(--pager-height);
}

.c-banner-slider__pager-container {
  height: var(--pager-height);
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
}

.c-banner-slider__pager-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 15px;
  padding-bottom: 10px;
  overflow: hidden;
}
.c-banner-slider__pager-list > *:not(:root):not(:root):not(:root) {
  margin: 0;
}

.c-banner-slider__link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}

.c-banner-slider__item {
  width: -moz-fit-content;
  width: fit-content;
}

.c-banner-slider__image {
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 262px;
  max-height: 70px;
}

.c-banner-slider__controls {
  --nav-size: 32px;
  position: absolute;
  pointer-events: none;
  top: 0;
  bottom: 0;
  left: calc(var(--nav-size) * -0.5);
  right: calc(var(--nav-size) * -0.5);
  z-index: 1;
  margin-inline: auto;
  max-width: calc(100vw - var(--nav-size));
  background-color: transparent !important;
}

.c-banner-slider__nav-button {
  --size: var(--nav-size);
  width: var(--size);
  height: var(--size);
  display: flex;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.5);
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  pointer-events: initial;
  cursor: pointer;
}
.c-banner-slider__nav-button::after {
  background-color: var(--color-white);
  rotate: 90deg;
  scale: 0.7 0.5;
  width: 1em;
  height: calc(1em * 0.5 * 1.732);
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  content: "";
  display: block;
}
.c-banner-slider__nav-button.-prev {
  scale: -1 1;
  left: 0;
}
.c-banner-slider__nav-button.-next {
  right: 0;
}

.c-button, .wp-block-button .wp-element-button {
  --color: var(--color-white);
  --background-color: var(--color-primary);
  --border-color: var(--color-primary);
  --border: solid 1px var(--border-color);
  --padding-block: 0.9em 0.8em;
  --padding-inline: 1em;
  --padding: var(--padding-block) var(--padding-inline);
  --icon-size: 0.5em;
  font-size: 1rem;
  font-weight: 400;
  width: 100%;
  color: var(--color);
  line-height: 1.3;
  gap: 1em;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--background-color);
  transition: opacity 0.2s;
  border-radius: 0;
  border-radius: 10px;
}
.c-button:not(:root), .wp-block-button .wp-element-button:not(:root) {
  padding: var(--padding);
  border: var(--border);
}
.c-button::after, .wp-block-button .wp-element-button::after {
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 0.6em;
  content: "";
  width: 1em;
  height: calc(1em * 0.5 * 1.732);
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  background-color: currentColor;
  scale: 1 0.8;
  rotate: 90deg;
}
@media screen and (hover: hover) {
  .c-button:hover, .wp-block-button .wp-element-button:hover, .c-button:focus-visible, .wp-block-button .wp-element-button:focus-visible {
    opacity: 0.7;
  }
  .c-button:hover::after, .wp-block-button .wp-element-button:hover::after, .c-button:focus-visible::after, .wp-block-button .wp-element-button:focus-visible::after {
    transition: translate 0.25s;
    translate: 5px 0px;
  }
}

.is-style-fill .wp-element-button {
  --color: var(--color-white);
  --background-color: var(--color-primary);
  --border-color: var(--color-primary);
}

.is-style-fill .has-text-color:not(:root) {
  border: none;
}

.is-style-outline .wp-element-button {
  --color: var(--color-text);
  --border-color: var(--color-text);
  --background-color: var(--color-white);
}

.c-box {
  border-radius: 10px;
  padding: 20px;
}
.c-box:not(:has(*)) {
  display: none;
}
.c-box:not(:has(*)) + * {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}

.p-access-counter {
  line-height: 1.5;
  font-size: 14px;
  border-radius: 10px;
  padding: 1.2em 2em;
  border: 1px solid var(--color-gray);
  background-color: var(--color-white);
}

.p-access-counter__body {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 0;
}
.p-access-counter__body > * {
  display: contents;
}

.p-access-counter__data {
  line-height: 1.5;
}
.p-access-counter__data::before {
  content: "|";
  position: relative;
  top: -0.1em;
  margin-inline: 0.5em;
}

.p-archive {
  --item-border: 1px solid var(--color-light-gray);
  display: grid;
  padding-top: 40px;
  gap: 60px;
}

.p-archive__list {
  display: grid;
}

.p-archive__not-found {
  font-size: 1rem;
  padding-top: 3em;
  padding-bottom: 3em;
  display: grid;
  place-content: center;
}

.p-archive__list-item {
  display: contents;
}
.p-archive__list-item:not(:last-child) > * {
  border-bottom: none;
}

.p-archive__pagination {
  display: grid;
  place-content: center;
}

.p-breadcrumb {
  --item-font-size: 14px;
  --item-line-height: 1.3;
  --separator-gap: 0.8em;
  --separator-size: 0.5em;
}

.p-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.p-breadcrumb__item {
  display: block;
  position: relative;
}

.p-breadcrumb__item:not(:first-child) {
  line-height: var(--item-line-height);
  -webkit-padding-start: calc(var(--separator-gap) * 2 + var(--separator-size));
          padding-inline-start: calc(var(--separator-gap) * 2 + var(--separator-size));
}
.p-breadcrumb__item:not(:first-child)::before {
  content: "";
  display: block;
  width: var(--separator-size);
  height: var(--separator-size);
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  position: absolute;
  left: var(--separator-gap);
  top: calc((var(--item-line-height) - 1) * 1em);
  bottom: 0;
  margin: auto;
  rotate: -45deg;
}

.p-events {
  --gap: 5px;
  --border: dashed 1px #ccc;
  border-top: var(--border);
  border-bottom: var(--border);
}
.p-events > * + * {
  border-top: var(--border);
}

.p-events__item {
  padding-block: var(--gap);
  position: relative;
  -webkit-padding-end: 1em;
          padding-inline-end: 1em;
  transition: opacity 0.2s;
}
.p-events__item > * {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
@media screen and (hover: hover) {
  .p-events__item:hover, .p-events__item:focus-visible {
    opacity: 0.7;
  }
}
.p-events__item + .p-events__item {
  border-top: var(--border);
}
.p-events__item::after {
  width: 0.5em;
  height: calc(0.5em * 0.5 * 1.732);
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  content: "";
  scale: 1 0.9;
  display: block;
  background-color: currentColor;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-block: auto;
  rotate: 90deg;
  opacity: 0.7;
}
.p-events__item a::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
}

.p-events__more {
  -webkit-margin-before: auto !important;
          margin-block-start: auto !important;
  padding-bottom: 1em;
  width: calc(100% - 40px);
  margin-inline: auto;
  display: flex;
  justify-content: flex-end;
}
.p-events__more a {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 1.5;
  gap: 0.5em;
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .p-events__more a:hover, .p-events__more a:focus-visible {
    opacity: 0.7;
  }
}
.p-events__more a::after {
  position: relative;
  --px1: 45%;
  --px2: 69%;
  --px3: 45%;
  --py1: 34%;
  --py2: 50%;
  --py3: 66%;
  background-color: var(--arrow-color, #fff);
  border-radius: 50%;
  content: "";
  -webkit-clip-path: polygon(0 0, var(--px3) 0, var(--px3) var(--py3), var(--px2) var(--py2), var(--px1) var(--py1), var(--px3) 0, 100% 0, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(0 0, var(--px3) 0, var(--px3) var(--py3), var(--px2) var(--py2), var(--px1) var(--py1), var(--px3) 0, 100% 0, 100% 100%, 0 100%, 0 0);
  display: block;
  width: var(--size, 1.25em);
  height: var(--size, 1.25em);
  pointer-events: none;
  display: inline-block;
  background-color: var(--color-primary);
}
body.add-contrast .p-events__more a::after {
  background-color: var(--color-text);
  opacity: 0.8;
}

.p-footer-address {
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: flex-start;
}

.p-footer-address__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media print, screen and (min-width: 768px) {
  .p-footer-address__heading {
    justify-content: flex-start;
  }
}

.p-footer-address__title {
  font-family: var(--font-family-maru);
  font-size: 18px;
  font-weight: 700;
}

.p-footer-address__logo-image {
  width: auto;
  height: 34px;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-footer-address__address {
  width: 100%;
}

.p-footer-address__contact {
  display: flex;
  flex-wrap: wrap;
}

.p-footer-address__fax {
  display: flex;
}
.p-footer-address__fax::before {
  width: 1.5em;
  content: "／";
  text-align: center;
  display: block;
}

.p-footer-nav {
  --column-count: 1;
  display: flex;
  align-items: stretch;
  gap: 40px;
  line-height: 1.5;
}
.p-footer-nav > * {
  flex-grow: 1;
}

.p-footer-nav__group {
  display: flex;
  gap: max(20px, 5vw);
}
.p-footer-nav__group > * {
  flex: 1 0 0;
}

.p-footer-nav__link {
  font-size: 16px;
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .p-footer-nav__link:hover, .p-footer-nav__link:focus-visible {
    opacity: 0.7;
  }
}

.p-footer-nav__children {
  border-top: 1px solid currentColor;
  -webkit-margin-before: 7px;
          margin-block-start: 7px;
  -webkit-padding-before: 14px;
          padding-block-start: 14px;
  display: flex;
  gap: 0.25em 10px;
  flex-direction: column;
}

.p-footer-nav__child-item {
  display: flex;
  align-items: center;
  gap: 2px;
}
.p-footer-nav__child-item::before {
  display: flex;
  width: 0.5em;
  height: 1.5em;
  content: "-";
}

.p-footer-nav__child-link {
  font-size: 14px;
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .p-footer-nav__child-link:hover, .p-footer-nav__child-link:focus-visible {
    opacity: 0.7;
  }
}

.p-front-schedule-list {
  display: grid;
  gap: 4px;
}

.p-front-schedule-list__item {
  background-color: var(--color-white);
}

.p-fv {
  --fv-round: 20px;
  display: grid;
}
@media print, screen and (min-width: 768px) {
  .p-fv {
    grid-template-columns: 1fr 380px;
    width: calc(100% - 20px);
    margin-inline: auto;
  }
}

.p-fv__content {
  display: grid;
  grid-template-rows: auto 1fr;
  height: var(--fv-height);
}
.p-fv__content > :first-child:first-child:first-child {
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-fv__content > :first-child:first-child:first-child {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .p-fv__content {
    margin-top: 0;
    border-radius: 0 var(--fv-round) var(--fv-round) 0;
  }
}
.p-fv__content > * {
  width: 100%;
}

.p-fv__slider {
  position: relative;
}

.p-fv__event {
  --round: 15px;
  border-radius: var(--round);
  overflow: hidden;
  background-color: var(--color-white);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.p-fv__event-heading {
  width: 100%;
  background-color: var(--color-primary);
  color: var(--color-white);
  font-size: 18px;
  font-family: var(--font-family-maru);
  line-height: 1.5;
  padding: 0.3em 1em;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.add-contrast .p-fv__event-heading {
  color: var(--color-text);
}

.p-fv__event-list {
  width: calc(100% - 40px);
  margin-inline: auto;
  overflow-y: auto;
}

.p-global-nav {
  --nav-height: var(--header-nav-height);
}

.p-global-nav__list {
  display: flex;
  align-items: stretch;
}

.p-global-nav__item {
  flex-shrink: 1;
  flex-shrink: 1;
  flex-basis: 0;
  position: relative;
  height: var(--header-nav-height);
  flex-grow: 2;
}
.p-global-nav__item::after {
  --height: 100%;
  content: "";
  display: block;
  width: 1px;
  height: var(--height);
  background-color: var(--color-white);
  position: absolute;
  right: 0;
  top: 0;
}
.p-global-nav__item:first-child::before {
  --height: 100%;
  content: "";
  display: block;
  width: 1px;
  height: var(--height);
  background-color: var(--color-white);
  position: absolute;
  left: 0;
  top: 0;
}

.p-global-nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .p-global-nav__link:hover, .p-global-nav__link:focus-visible {
    opacity: 0.7;
  }
}

.p-global-nav__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8em;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s;
  padding-inline: 15px;
}
.p-global-nav__toggle::before {
  font-size: 0.7em;
  width: 1em;
  height: 1em;
  content: "";
  -webkit-margin-end: auto;
          margin-inline-end: auto;
}
.p-global-nav__toggle::after {
  width: 1em;
  height: calc(1em * 0.5 * 1.732);
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  font-size: 0.7em;
  background-color: currentColor;
  position: relative;
  content: "";
  transform: rotate(180deg);
  scale: 1 0.75;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
@media screen and (hover: hover) {
  .p-global-nav__toggle:hover, .p-global-nav__toggle:focus-visible {
    opacity: 0.7;
  }
}

.p-global-nav__children {
  background-color: var(--color-white);
  color: var(--color-text);
  box-shadow: 0 0 8px -2px rgba(0, 0, 0, 0.3);
  padding: 20px;
  transition: opacity 0.2s;
  opacity: 0;
  pointer-events: none;
  border-radius: 0 0 15px 15px;
  display: grid;
  gap: 10px;
}
.p-global-nav__children[aria-hidden=false] {
  opacity: 1;
  pointer-events: initial;
}

.p-global-nav__child-link {
  border-radius: 5px;
  transition: background-color 0.2s;
  padding: 5px 10px;
  display: block;
  line-height: 1.35;
}
@media screen and (hover: hover) {
  .p-global-nav__child-link:hover, .p-global-nav__child-link:focus-visible {
    background-color: var(--color-light-gray);
  }
}

.p-helper {
  line-height: 1.3;
}

.p-helper__grid {
  display: flex;
  align-items: center;
  gap: 15px;
}

.p-helper__module {
  display: flex;
  align-items: center;
  gap: 10px;
}

.p-helper__module-title {
  font-size: 14px;
  font-weight: 500;
}

.p-helper-module-content {
  display: flex;
  align-items: stretch;
  gap: 2px;
}

.c-helper__button {
  --border-color: var(--color-text);
  --text-color: var(--color-text);
  --bg-color: var(--color-white);
  --font-size: 14px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 3px;
  color: var(--text-color);
  background-color: var(--bg-color);
  border: solid 1px var(--border-color);
  font-size: var(--font-size);
}
.c-helper__button[data-size="1"] {
  --font-size: 12px;
}
.c-helper__button[data-color=blue] {
  --text-color: var(--color-white);
  --border-color: blue;
  --bg-color: blue;
}
.c-helper__button[data-color=black] {
  --text-color: var(--color-white);
  --bg-color: black;
}

.c-helper__ex-modules {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.c-helper__module-button {
  --background: var(--color-white);
  --color: var(--color-text);
  color: var(--color);
  background-color: var(--background);
  padding: 0.5em;
  line-height: 1;
  font-size: 15px;
  font-weight: 500;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-sp-nav .c-helper__module-button {
  --background: var(--color-light-gray);
  height: 40px;
}

.p-important-information {
  --round: 10px;
  --space: 20px;
  --gutter: 20px;
  color: var(--color-danger);
  background-color: var(--color-danger-background);
  border: solid 2px currentColor;
  padding: var(--space) var(--gutter) 0;
  border-radius: var(--round);
  overflow: hidden;
  border: 2px solid currentColor;
}
@media print, screen and (min-width: 768px) {
  .p-important-information {
    --space: 10px;
    --gutter: 25px;
  }
}
.p-important-information:not(:has(.c-post-list)) {
  display: none;
}

.p-important-information__post-list {
  display: grid;
  gap: 15px;
  padding-block: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-important-information__post-list {
    gap: 5px;
  }
}

.p-important-post__link {
  font-size: 16px;
  display: inline-flex;
  line-height: 1.3;
  transition: opacity 0.2s;
  flex-direction: column;
  gap: 5px;
}
@media print, screen and (min-width: 768px) {
  .p-important-post__link {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }
}
@media screen and (hover: hover) {
  .p-important-post__link:hover, .p-important-post__link:focus-visible {
    opacity: 0.7;
  }
}

.p-important-post__date {
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  -webkit-margin-end: 15px;
          margin-inline-end: 15px;
}
.p-important-post__date::before {
  font-size: 18px;
}

.p-important-information__heading {
  font-size: 18px;
  font-weight: 500;
  margin-top: calc(var(--space) * -1);
  margin-inline: calc(var(--gutter) * -1);
  padding: 0.5em var(--gutter);
  color: var(--color-white);
  background-color: var(--color-danger);
  font-family: var(--font-family-maru);
}

.p-page-header__title-wrapper {
  background-color: var(--color-light-gray);
}

.p-page-header__title {
  width: min(1200px, 100% - 30px);
  margin-inline: auto;
  font-size: 35px;
  min-height: 120px;
  font-weight: 500;
  display: flex;
  align-items: center;
}

.p-page-header__breadcrumb {
  padding-block: 0.5em;
  width: min(1200px, 100% - 30px);
  margin-inline: auto;
}

.p-pickup {
  --text-color: var(--color-white);
  --background: var(--color-primary);
  color: var(--text-color);
  background-color: var(--background);
  border-top: 5px solid var(--color-secondary);
}

.p-pickup__container {
  display: grid;
  gap: 20px;
  padding: 20px 25px 30px;
}

.p-pickup__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.3;
  gap: 2px;
}

.p-pickup__heading-large {
  font-size: 48px;
  font-weight: 500;
  text-transform: uppercase;
}

.p-pickup__heading-small {
  font-size: 14px;
  font-weight: 500;
  border: 1px solid currentColor;
  padding: 1px 10px;
}

.p-pickup__post-list {
  display: grid;
  border-top: 1px solid currentColor;
}

.p-pickup__post {
  border-bottom: 1px solid currentColor;
}

.p-search-result__title {
  font-size: 15px;
  font-weight: 500;
}

.p-search-result__excerpt {
  font-size: 13px;
}

.p-search-result__url {
  font-size: 12px;
  color: var(--color-gray);
  word-break: break-all;
}

.p-search-result__link {
  display: grid;
  transition: opacity 0.2s;
  padding: 1em;
}
@media screen and (hover: hover) {
  .p-search-result__link:hover, .p-search-result__link:focus-visible {
    opacity: 0.7;
  }
  .p-search-result__link:hover .p-search-result__url, .p-search-result__link:focus-visible .p-search-result__url {
    text-decoration: underline;
  }
}

.p-single-header {
  display: grid;
  gap: 5px;
}

.p-single-header__meta {
  display: flex;
  justify-content: flex-end;
}

.p-single-header__date {
  font-size: 14px;
}

.p-site-footer {
  background-color: var(--color-light-gray);
  border-top: none;
}
.p-site-footer__nav {
  padding-top: 60px;
  padding-bottom: 60px;
  color: var(--color-text);
  display: none;
}
.p-site-footer__nav > * {
  width: var(--size-inner);
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .p-site-footer__nav {
    display: block;
  }
}

.p-site-footer__counter {
  flex-shrink: 0;
  width: min(100% - 20px, 15.5rem);
}
.p-site-footer__counter > * {
  width: 100%;
}

.p-site-footer__address {
  padding-top: 40px;
}

.p-site-footer__main {
  width: var(--size-inner);
  margin-inline: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-site-footer__main {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.p-site-footer__main::after {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: repeating-linear-gradient(90deg, black, black 3px, rgba(0, 0, 0, 0) 3px, rgba(0, 0, 0, 0) 6px);
  opacity: 0.2;
}
@media print, screen and (min-width: 768px) {
  .p-site-footer__main::after {
    content: "";
  }
}

.p-site-footer__main-1 {
  display: grid;
  gap: 20px;
}

.p-site-footer__copyright {
  background-color: var(--color-primary);
  color: var(--color-white);
  margin-top: 20px;
  padding: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.5;
  font-size: 12px;
  -webkit-margin-before: 50px;
          margin-block-start: 50px;
}
body.add-contrast .p-site-footer__copyright {
  color: var(--color-text);
}

.p-site-header {
  --logo-size: 34px;
  --logo-font-size: clamp(1rem, 0.625rem + 1.667vw, 1.875rem);
  font-family: var(--font-family-maru);
  background-color: var(--color-white);
  --nav-color: var(--color-white);
}
body.add-contrast .p-site-header {
  --nav-color: var(--color-text);
}

.p-site-header__top {
  display: flex;
  align-items: center;
  gap: 30px;
  height: var(--header-top-height);
  padding-inline: 15px;
}
@media print, screen and (min-width: 992px) {
  .p-site-header__top {
    padding-inline: 30px;
  }
}

.p-site-header__nav {
  display: none;
  background-color: var(--color-primary);
  color: var(--nav-color);
}
.p-site-header__nav > * {
  width: var(--size-inner);
  margin-inline: auto;
}
@media print, screen and (min-width: 992px) {
  .p-site-header__nav {
    display: block;
  }
}

.p-site-header__logo-area {
  font-size: var(--logo-font-size);
  flex-shrink: 0;
  -webkit-margin-end: auto;
          margin-inline-end: auto;
  line-height: 1.2;
}

.p-site-header__logo-title {
  font-weight: 500;
}

.p-site-header__logo-link {
  display: flex;
  align-items: center;
  gap: 0.5em;
  width: -moz-fit-content;
  width: fit-content;
}

.p-site-header__logo-image {
  height: var(--logo-size);
  width: auto;
}

.p-site-header__options {
  display: none;
}
@media print, screen and (min-width: 992px) {
  .p-site-header__options {
    flex-grow: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex-wrap: wrap;
    align-self: stretch;
    gap: 10px 30px;
  }
}

.p-site-header__helper {
  position: relative;
  --module-size: min(100vw - 20px, 360px);
}

.p-site-header__helper-content {
  position: absolute;
  top: calc(100% + 10px);
  width: var(--module-size);
  right: 0;
  background-color: var(--color-light-gray-2);
  box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.2);
  padding: 10px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.p-site-header__helper-close {
  --size: 20px;
  box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.2);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  text-indent: 100vw;
  position: absolute;
  overflow: hidden;
  top: calc(var(--size) * -0.5);
  left: calc(var(--size) * -0.5);
  background-color: var(--color-white);
}
.p-site-header__helper-close::before, .p-site-header__helper-close::after {
  transition: opacity 0.2s;
  width: 2px;
  height: 8px;
  position: absolute;
  inset: 0;
  margin: auto;
  content: "x";
  rotate: 45deg;
  background-color: currentColor;
}
.p-site-header__helper-close::after {
  rotate: -45deg;
}
@media screen and (hover: hover) {
  .p-site-header__helper-close:hover::before, .p-site-header__helper-close:hover::after, .p-site-header__helper-close:focus-visible::before, .p-site-header__helper-close:focus-visible::after {
    opacity: 0.7;
  }
}

.p-site-header__options-1 {
  display: flex;
  align-items: stretch;
  gap: 10px;
}

.p-site-header__sub-button {
  --button-background: var(--color-primary);
  --button-color: var(--color-white);
  cursor: pointer;
  color: var(--button-color);
  background-color: var(--button-background);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.1em;
  line-height: 1em;
  gap: 0.5em;
  padding-inline: 2em;
  border-radius: 0 0 5px 5px;
  padding-bottom: 0.1em;
  transition: opacity 0.2s;
  list-style: none;
}
body.add-contrast .p-site-header__sub-button {
  --button-color: var(--color-text);
}
.p-site-header__sub-button::-webkit-details-marker {
  display: none;
}
.p-site-header__sub-button.-secondary.-secondary {
  --button-background: var(--color-text);
  --button-color: var(--color-white);
}
@media screen and (hover: hover) {
  .p-site-header__sub-button:hover, .p-site-header__sub-button:focus-visible {
    opacity: 0.7;
  }
}

.p-site-header__hamburger {
  box-sizing: content-box;
  padding: var(--hamburger-wrapper-padding);
  position: relative;
  right: calc(var(--hamburger-wrapper-padding) * -1);
  width: var(--hamburger-size);
  height: var(--hamburger-size);
}
@media print, screen and (min-width: 992px) {
  .p-site-header__hamburger {
    display: none;
  }
}

.p-sns-list {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.p-sns-list__link {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .p-sns-list__link:hover, .p-sns-list__link:focus-visible {
    opacity: 0.7;
  }
}
.p-sns-list__link[data-icon=facebook] {
  --icon: url("../images/icon-facebook.png");
}
.p-sns-list__link[data-icon=x] {
  --icon: url("../images/icon-x.png");
}
.p-sns-list__link[data-icon=instagram] {
  --icon: url("../images/icon-instagram.png");
}
.p-sns-list__link[data-icon=line] {
  --icon: url("../images/icon-line.png");
}
.p-sns-list__link[data-icon=youtube] {
  --icon: url("../images/icon-youtube.png");
}
.p-sns-list__link::after {
  width: 100%;
  height: 34px;
  content: "";
  background-image: var(--icon);
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-sp-nav {
  --button-size: var(--hamburger-size);
  --button-padding: var(--hamburger-wrapper-padding);
  --border-color: var(--color-light-gray);
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  padding: 40px 15px;
  overflow-y: auto;
  pointer-events: initial;
  transition: opacity 0.2s;
}
.p-sp-nav[aria-hidden=true] {
  opacity: 0;
  pointer-events: none;
}

.p-sp-nav__button {
  box-sizing: content-box;
  width: var(--hamburger-size);
  height: var(--hamburger-size);
  padding: var(--button-padding);
  position: absolute;
  opacity: 0;
  bottom: calc(100% + (var(--header-height) - var(--button-size)) * 0.5 - var(--button-padding));
  right: calc(15px - var(--button-padding));
}

.p-sp-nav__item {
  border-top: 1px solid var(--border-color);
}

.p-sp-nav__link {
  display: block;
  padding: 10px;
  font-weight: 500;
  font-size: 16px;
}

.p-sp-nav__accordion-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px;
  font-weight: 500;
  font-size: 16px;
  list-style: none;
}
.p-sp-nav__accordion-trigger::-webkit-details-marker {
  display: none;
}

.p-sp-nav__accordion-icon {
  --rotate: 0deg;
  width: 15px;
  height: 15px;
  position: relative;
}
.p-sp-nav__accordion-icon::before, .p-sp-nav__accordion-icon::after {
  position: absolute;
  inset: 0;
  margin: auto;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  rotate: var(--rotate);
  transition: rotate 0.2s, opacity 0.2s;
}
.p-sp-nav__accordion-icon::before {
  rotate: calc(var(--rotate) + 90deg);
}
[open] .p-sp-nav__accordion-icon {
  --rotate: 90deg;
}
[open] .p-sp-nav__accordion-icon::after {
  opacity: 0;
}

.p-sp-nav__children {
  -webkit-padding-start: 20px;
          padding-inline-start: 20px;
  -webkit-padding-after: 15px;
          padding-block-end: 15px;
}

.p-sp-nav__child-link {
  font-size: 14px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px;
}

.p-sp-nav__options {
  border-top: 1px solid var(--border-color);
  display: grid;
  gap: 25px;
  padding-top: 25px;
}

.p-sp-nav__search {
  padding-inline: 10px;
}

.p-term-list {
  --columns: 2;
  width: min(100% - 30px, var(--wp--style--global--content-size));
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(var(--columns), 1fr);
  margin-inline: auto;
}
@media print, screen and (min-width: 768px) {
  .p-term-list {
    --columns: 3;
  }
}

.p-term-list__item {
  display: contents;
}

.p-term-list__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  font-size: 18px;
  background-color: var(--color-white);
  border: 1px solid var(--color-text);
  transition: opacity 0.2s;
}
@media screen and (hover: hover) {
  .p-term-list__link:hover, .p-term-list__link:focus-visible {
    opacity: 0.7;
  }
}

.visually-hidden {
  border: 0 !important;
  display: block !important;
  height: 4px !important;
  left: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  pointer-events: none !important;
  position: fixed !important;
  top: 0 !important;
  visibility: visible !important;
  width: 4px !important;
}

.u-contents {
  display: contents;
}

:focus {
  outline: none;
}

:focus-visible,
:focus-visible + label {
  outline: solid 2px var(--color-text);
}

body {
  font-family: var(--font-family-sans);
}

html {
  color: var(--color-text);
  font-feature-settings: "palt" 1;
  font-size: 1em;
  line-height: 1.75;
}
html[lang=ja] {
  margin-top: 0 !important;
  scroll-padding-block-start: calc(var(--header-height) + var(--gap-1));
}
@media print, screen and (min-width:768px) {
  html[lang=ja] {
    scroll-padding-block-start: var(--gap-2);
  }
}
html[data-color=black] * {
  background-color: black;
  color: white;
}
html[data-color=blue] * {
  background-color: blue;
  color: white;
}
html.is-fixed body {
  position: fixed;
}

:is(.single, .page) .l-site-frame__content strong {
  font-weight: bold;
}
:is(.single, .page) .l-site-frame__content i,
:is(.single, .page) .l-site-frame__content em {
  font-style: oblique;
}
:is(.single, .page) .l-site-frame__content s {
  text-decoration: line-through;
}
:is(.single, .page) .l-site-frame__content u {
  text-decoration: underline;
}

body.customize-support {
  margin: 0 !important;
}

:root a:not(:where(.cms-content)) {
  text-decoration: none;
}

#wpadminbar {
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 0.2s, transform 0.2s;
}
#wpadminbar:hover {
  opacity: 1;
  transform: translateY(0%);
}
@media not all and (min-width:768px) {
  #wpadminbar {
    display: none;
  }
}
.wp-admin #wpadminbar {
  transition: opacity 0s, transform 0s;
  opacity: 1;
  transform: translateY(0%);
}

#titlediv #title-prompt-text {
  padding: 0 10px;
}

.edit-text-input {
  padding: 10px;
  border: solid 1px #aaa;
  border-radius: 5px;
}
.edit-text-input + .edit-text-input {
  margin-top: 10px;
}

.editor-post-title {
  font-size: 50px;
  font-weight: 700;
}

@media print {
  :root {
    --header-height: 0;
  }
  .l-site-frame__header {
    display: none;
  }
  .l-site-frame__footer {
    display: none;
  }
  .wp-block-table {
    overflow: visible;
  }
  .c-table__table,
  .wp-block-table table {
    width: 100% !important;
    max-width: 100%;
  }
}
.cms-content * {
  word-break: break-all;
}