/* 
 * ========================================
 *  管理画面のエディターに表示させる設定
 *  ・サイトにも表示させる
 *  ・theme.json → config.css → editor-style.css → style.css の優先順に処理を記載する
 * ========================================
*/

* {
  outline: none;
  line-break: strict; /* 禁則文字対応 */
}
*:focus-visible:not(input) {
  outline: var(--border-w-1) solid var(--wp--preset--color--accent-1);
}

.main {
  margin-block-start: 0;
}
.main > *:last-child {
  padding-bottom: 7.5rem;
}
.main > *:last-child > section {
  padding-bottom: 0;
}
.main > .box-yomitai-radio:last-child,
.main > .list-search-result > section {
  padding-bottom: var(--font-sz-40);
}

section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
section.wp-block-group { /* :root :where(.is-layout-constrained) > *の設定を上書き */
  margin-block-start: 0;
}
section.box-white {
  width: 91.466%;
  max-width: var(--width-1000);
  padding: 6.25rem 1.666%;
  margin: 0 auto;
  background-color: var(--wp--preset--color--custom-base-02);
}
.has-global-padding > .alignfull {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.content-bg-accent {
  background-color: var(--wp--preset--color--custom-base-01);
}
@media (max-width: 768px){
  section,
  .has-global-padding > .alignfull {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
  section.box-white {
    padding: 2.5rem 4.664%;
  }
  .has-global-padding {
    padding-right: var(--font-sz-16);
    padding-left: var(--font-sz-16);
  }
  .has-global-padding > .alignfull {
    margin-right: calc(var(--font-sz-16) * -1);
    margin-left: calc(var(--font-sz-16) * -1);
  }
}

h2 {
  padding-left: 2em;
  position: relative;
}
h2::before {
  content: '';
  width: 1.4em;
  height: var(--border-w-2);
  background-color: var(--color-h2);
  position: absolute;
  top: calc(0.5em * 1.5);
  left: 0;
}
h2:first-child {
  margin-block-start: 0;
}
h2:not(:first-child) {
  margin-block-start: 3.75rem;
}
h2.wp-block-heading { /* :root :where(.is-layout-constrained) > *の設定を上書き */
  margin-bottom: 1em;
}
h2.is-style-h2-style-02 {
  padding-left: 0;
  font-size: 2rem;
  text-align: center;
}
h2.is-style-h2-style-02::before {
  content: none;
}
@media (max-width: 768px){
  h2 {
    padding-left: 1em;
  }
  h2::before {
    width: 1em;
    margin-left: -1rem;
  }
}

h3.wp-block-heading { /* :root :where(.is-layout-constrained) > *の設定を上書き */
  margin-top: 3em;
}
h3.is-style-h3-style-02 {
  background-color: var(--color-box-title-set-bg);
  border-top: var(--border-w-3) solid var(--wp--preset--color--accent-2);
  border-bottom: var(--border-w-1) solid var(--wp--preset--color--accent-2);
  border-left: none;
  font-family: var(--wp--preset--font-family--biz-udpmincho);
  font-weight: 400;
  color: var(--wp--preset--color--accent-2);
  text-align: center;
}
h3 + .wp-block-group {
  padding-right: 2.4%;
  padding-left: 2.4%;
}
.h3-table-top {
  width: calc(100% - var(--border-w-4) * 2);
  max-width: calc(var(--wp--style--global--content-size) - var(--border-w-4) * 2);
  border-top: var(--border-w-2) solid var(--wp--preset--color--accent-2);
  border-left: none;
  color: var(--wp--preset--color--accent-2);
}
.h3-table-top + .wp-block-table {
  margin-top: 0;
}
.title-h3.is-home {
  padding: 0.5rem;
  margin-bottom: var(--font-sz-40);
  background-color: transparent;
  border-left: none;
  border-bottom: var(--border-w-2) solid var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--accent-2);
}
@media (max-width: 768px) {
  .h3-table-top {
    margin-bottom: var(--font-sz-16);
  }
}

h4 span {
  display: inline-block;
  margin-left: 1.33333333em;
  font-size: 0.75em;
}

@media (max-width: 768px){
  .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 35rem;
  }
}

.hgroup.is-home-section {
  margin-bottom: var(--font-sz-32);
  font-size: var(--font-sz-18);
  color: var(--color-footer-title);
  text-align: center;
}
.hgroup.is-home-section p {
  margin: 0;
  font-family: var(--font-arial);
  font-weight: bold;
}
.section-title.is-home {
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0.25rem;
  color: var(--color-footer-title);
}
.section-title.is-home::before {
  content: none;
}

ol,
ul {
  padding-left: 2rem;
}
li {
  margin-bottom: 1em;
}
li::marker {
  font-size: 0.875em;
  font-weight: bold;
  color: var(--wp--preset--color--accent-2);
}

figcaption {
  font-size: 0.888em;
  text-align: center;
}

hr, .wp-block-separator {
  margin-top: 2em;
  margin-bottom: 2em;
  border-width: var(--border-w-1);
  color: var(--wp--preset--color--custom-border-bottom);
}

input,
textarea {
  background-color: var(--wp--preset--color--custom-base-02);
  border: var(--border-w-1) solid var(--color-input-border);
}
::placeholder {
  color: var(--color-input-border);
}
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
  display: block;
  width: 100%;
  padding: var(--font-sz-20) var(--font-sz-16);
  color: inherit;
  line-height: 1.7;
}
input[type="checkbox"] {
  /* appearance: none; */
  width: var(--font-sz-32);
  height: var(--font-sz-32);
  background-color: #ECECEC;
  border: var(--border-w-1) solid var(--color-input-border);
  cursor: pointer;
}
input[type="checkbox"] + span {
  display: inline-block;
  margin-left: 0.5rem;
}
label:has(input[type="checkbox"]) {
  display: flex;
  justify-content: center;
  align-items: center;
}
input[type="submit"],
.inq-submit {
  cursor: pointer;
  display: inline-block;
  padding: var(--font-sz-20);
  background-color: var(--color-btn-fill03-bg);
  border: var(--border-w-1) solid var(--color-btn-fill03-border);
  font-weight: bold;
  color: var(--wp--preset--color--custom-contrast-02);
  transition: opacity .3s;
}
input[type="submit"]:hover,
.inq-submit:hover {
  opacity: .7;
}
/* .wpcf7-form-control-wrap {
  display: block;
  margin-top: 1rem;
}
.wpcf7-list-item {
  margin-left: 0;
}
.wpcf7-not-valid-tip {
  color: var(--wp--preset--color--accent-1);
}
.wpcf7-acceptance {
  display: block;
  text-align: center;
}
.wpcf7-spinner {
  display: block;
  margin: var(--font-sz-24) auto calc(var(--font-sz-24)*-2);
} */
.required {
  display: inline-block;
  padding: 0 0.5rem;
  margin-left: 1.375rem;
  background-color: var(--color-btn-bg-secondary);
  font-size: var(--font-sz-14);
  font-weight: bold;
  color: var(--wp--preset--color--custom-contrast-02);
}
.text-pc-center-sp-left {
  text-align: center;
}
@media (max-width: 768px){
  .text-pc-center-sp-left {
    text-align: left;
  }
}

.text-right-small {
  font-size: 0.888em;
  text-align: right;
}

.disp-sp {
  display: none;
}
@media (max-width: 1160px) {
  .disp-sp {
    display: block;
  }
  .disp-pc {
    display: none;
  }
}
.disp-inline-block {
  display: inline-block;
}

.wp-block-template-part {
  margin-top: 0;
}

/* table */
:where(table) {
  border: none;
}
table,
.wp-block-table > table {
  border-collapse: separate;
  border-spacing: 0 var(--border-w-4);
  width: 100%;
  background-color: var(--color-table-bg);
  border-right: var(--border-w-4) solid var(--color-table-bg);
  border-left: var(--border-w-4) solid var(--color-table-bg);
}
.wp-block-table.is-style-stripes > table {
  border-collapse: collapse;
}
td,
th,
.wp-block-table td,
.wp-block-table th {
  border: none;
}
thead,
.wp-block-table thead {
  background-color: var(--color-th);
  border-bottom: none;
  color: var(--wp--preset--color--custom-contrast-02);
}
tbody tr,
.wp-block-table tbody tr {
  background-color: var(--wp--preset--color--custom-base-02);
}
th,
td,
.wp-block-table th,
.wp-block-table td,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes th {
  border-top: var(--border-w-1) solid var(--color-table-border);
  border-right: var(--border-w-1) solid var(--color-footer-btn-sns-border);
}
td:last-child,
.wp-block-table td:last-child,
.wp-block-table.is-style-stripes td:last-child {
  border-right: none;
}

.wp-block-table.is-style-stripes {
  border-bottom: none;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: var(--wp--preset--color--custom-base-02);
}
.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
  background-color: var(--wp--preset--color--custom-base-03);
}

.table-design01 th,
.table-design01 td {
  padding: 1rem 3.75rem;
}
.table-design01 td:first-child,
.table-design01 tbody th {
  font-weight: bold;
  color: var(--color-btn-fill02-text);
  text-align: center;
  vertical-align: text-top;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .table-design01 tr {
    display: block;
    margin-bottom: 1em;
  }
  .table-design01 tr:last-child {
    margin-bottom: 0;
  }
  .table-design01 th,
  .table-design01 td {
    display: block;
    padding: 1em;
    border-right: none;
  }
  .table-design01 td:first-child,
  .table-design01 tbody th {
    border-bottom: 1px solid var(--color-btn-fill02-text);
  }
}

/* blockquote */
blockquote {
  position: relative;
}
blockquote::before {
  content: '“';
  font-size: 3.0625rem;
  color: var(--wp--preset--color--accent-4);
  line-height: 1;
  position: absolute;
  top: 1.5rem;
  left: 1.5rem;
}

/* breadcrumb */
.breadcrumb {
  padding: 0.357em 0.75rem;
  margin: 0;
  background-color: var(--wp--preset--color--custom-base-01);
  font-size: var(--font-sz-14);
  line-height: 1.85;
  border-top: var(--border-w-1) solid var(--wp--preset--color--contrast);
}
.breadcrumb ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-left: 0;
  margin: 0;
}
.breadcrumb li {
  position: relative;
  padding: 0 0.375rem;
  margin-right: 0.5rem;
  margin-bottom: 0;
}
.breadcrumb li::after {
  content: "";
  width: 0.5625rem;
  height: 0.5625rem;
  position: absolute;
  top: 45%;
  right: 0;
  border-top: var(--border-w-1) solid var(--wp--preset--color--accent-2);
  border-right: var(--border-w-1) solid var(--wp--preset--color--accent-2);
  transform: rotate(45deg) skew(2deg, 2deg) translateY(-50%);
}
.breadcrumb li:last-child::after {
  content: none;
}
.breadcrumb a {
  display: inline-block;
  padding: 0 0.375rem;
  color: inherit;
  text-decoration: none;
}
.breadcrumb + * {
  padding-top: 5rem;
}

@media (max-width: 768px) {
  .breadcrumb + * {
    padding-top: 3.75rem;
  }
}

/* button */
:where(.wp-block-button__link) {
  border-radius: 0;
}
.btn-wrapper {
  text-align: center;
}
.btn-wrapper.is-home-post-list {
  text-align: right;
}
@media (max-width: 768px){
  .btn-wrapper.is-home-post-list {
    text-align: center;
  }
}

/* button-fill01 */
.wp-block-button.is-style-fill01 > *,
.btn,
.page-list-link a {  /* エディターでstyleが反応するように>*を指定 */
  display: inline-block;
  padding: 0.85em 2em 0.85em 4.0625em;
  /* background-color: theme.jsonの指定より:root :where(.wp-element-button, .wp-block-button__link)が勝ってしまうため以下に指定 */
  background-color: var(--wp--preset--color--custom-btn-bg);
  border: var(--border-w-1) solid var(--color-btn-fill01-border);
  font-weight: bold;
  /* color: theme.jsonの指定より:root :where(.wp-element-button, .wp-block-button__link)が勝ってしまうため以下に指定 */
  color: var(--color-btn-fill01-text);
  text-decoration: none;
  box-shadow: var(--box-shadow);
  position: relative;
  transition: background .3s, color .3s;
}
.wp-block-button.is-style-fill01 > *::before,
.wp-block-button.is-style-fill99 > *::before,
.btn::before,
.page-list-link a::before {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  top: 46%;
  left: 1.8em;
  border-top: var(--border-w-3) solid var(--color-btn-fill01-border);
  border-right: var(--border-w-3) solid var(--color-btn-fill01-border);
  transform: rotate(45deg) skew(2deg, 2deg) translateY(-50%);
  transition: border .3s;
}
.wp-block-button.is-style-fill01 > a:hover,
.btn:hover,
.page-list-link a:hover {  /* エディターでhoverが反応しないようにa:hoverを指定 */
  background-color: var(--wp--preset--color--custom-base-01);
  color: var(--wp--preset--color--accent-1);
  opacity: 1;
}
.wp-block-button.is-style-fill01 > a:hover::before,
.btn:hover::before,
.page-list-link a:hover::before {
  border-color: var(--wp--preset--color--accent-1);
}

/*  button-fill02 */
.wp-block-button.is-style-fill02 > *,
.timeline-index-list a,
.search-by-tax-list a,
.line-link-list a {  /* エディターでstyleが反応するように>*を指定 */
  display: inline-block;
  padding: 0.44em 1.72em;
  background-color: var(--color-btn-fill02-bg);
  border: var(--border-w-1) solid var(--color-btn-fill02-text);
  font-weight: bold;
  color: var(--color-btn-fill02-text);
  text-decoration: none;
  transition: background .3s, color .3s;
}
.wp-block-button.is-style-fill02 > a:hover,
.timeline-index-list a:hover {
  background-color: var(--color-btn-fill03-bg);
  color: var(--wp--preset--color--custom-contrast-02);
  opacity: 1;
}

/* button-fill03（外部リンク） */
.wp-block-button.is-style-fill03 > *,
.btn-publication-buy {
  display: inline-block;
  padding: 0.625em 3.75em 0.625em 1.5em;
  background-color: var(--color-btn-fill03-bg);
  border: var(--border-w-1) solid var(--color-btn-fill03-border);
  color: var(--wp--preset--color--custom-contrast-02);
  text-decoration: none;
  position: relative;
}
.wp-block-button.is-style-fill03 > *::after,
.btn-publication-buy::after {
  content: '';
  width: var(--font-sz-14);
  height: var(--font-sz-14);
  background: center / contain no-repeat url(../images/icons/arrow-external-link.svg);
  position: absolute;
  top: 48%;
  right: 2.25em;
  transform: translateY(-50%);
}

/* button-fill99 */
.wp-block-button.is-style-fill99 > * {
  padding: 1.05em 2em 1.05em 4.0625em;
  background-color: var(--color-btn-fill03-bg);
  border: var(--border-w-1) solid var(--color-btn-fill03-border);
  font-weight: bold;
  color: var(--wp--preset--color--custom-contrast-02);
  box-shadow: var(--box-shadow);
  position: relative;
  transition: opacity .3s, color .3s;
}
.wp-block-button.is-style-fill99 > *::before {
  border-top-color: var(--wp--preset--color--custom-contrast-02);
  border-right-color: var(--wp--preset--color--custom-contrast-02);
}
.wp-block-button.is-style-fill99 > a:hover {
  opacity: .9;
}

/* details + summary */
/* 共通 */
summary {
  list-style: none;
  position: relative;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

/* アコーディオン */
details.is-style-details-style-01 {
  position: relative;
}
details.is-style-details-style-01::before {
  content: '';
  width: 1.125rem;
  height: 1.125rem;
  background-color: var(--wp--preset--color--accent-2);
  border-radius: 50%;
  position: absolute;
  top: 0.78125rem;
  left: 1.5rem;
  z-index: var(--z-adjustment);
}
details.is-style-details-style-01 summary {
  padding: 0.45em 3.625rem;
  background-color: var(--wp--preset--color--accent-5);
  font-size: var(--font-sz-16);
  font-weight: bold;
}
details.is-style-details-style-01 summary::before,
details.is-style-details-style-01 summary::after {
  content: '';
  width: var(--font-sz-10);
  height: var(--border-w-2);
  background-color: var(--wp--preset--color--custom-base-02);
  position: absolute;
  top: 1.28rem;
  left: 1.75rem;
  z-index: var(--z-adjustment);
  transition: transform .3s;
}
details.is-style-details-style-01 summary::after {
  transform: rotate(-90deg);
}
details.is-style-details-style-01[open] summary::after {
  transform: rotate(0);
}


/* FAQ */
.sec-faq {
  max-width: 73.75rem;
  margin: 0 auto;
}
.sec-faq > * {
  max-width: 59.5rem;
  margin-right: auto;
  margin-left: auto;
}
details.is-style-details-style-02 summary {
  padding: 1em 1em 1em 3.75rem;
  background-color: var(--wp--preset--color--custom-base-01);
}
details.is-style-details-style-02 summary::before,
details.is-style-details-style-02 summary + .wp-block-group::before,
details.is-style-details-style-02 summary + p::before  {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.571rem;
  height: 2.571rem;
  border: var(--border-w-1) solid var(--wp--preset--color--accent-2);
  font-size: var(--font-sz-14);
  font-weight: bold;
  position: absolute;
  top: 2.1375rem;
  left: 0.5rem;
  transform: translateY(-50%);
}
details.is-style-details-style-02 summary::before {
  content: 'Q';
  background-color: var(--wp--preset--color--accent-2);
  color: var(--color-faq-q-text);
}
details.is-style-details-style-02 summary + .wp-block-group::before,
details.is-style-details-style-02 summary + p::before {
  content: 'A';
  color: var(--wp--preset--color--accent-2);
}
details.is-style-details-style-02 summary + .wp-block-group,
details.is-style-details-style-02 summary + p {
  padding: 1rem 0.5rem 1rem 3.75rem;
  margin-top: 0;
  position: relative;
}
details.is-style-details-style-02 > .wp-block-group > *:not(:first-child) {
  margin-top: 1rem;
}
@media (max-width: 768px){
  details .wp-block-button.is-style-fill01 > * {
    padding-left: 2.5rem;
  }
  details .wp-block-button.is-style-fill01 > *::before {
    left: 0.6em;
  }
}

/* box */
.box-title-set {
  padding: 0 0 3rem;
  margin-top: var(--font-sz-40);
  margin-bottom: var(--font-sz-40);
  background-color: var(--color-box-title-set-bg);
  box-shadow: var(--box-shadow);
}
.box-title-set > .wp-block-heading:first-child {
  background-color: var(--color-box-title-set-bg);
  border-left: none;
  border-top: var(--border-w-3) solid var(--wp--preset--color--accent-2);
  border-bottom: var(--border-w-1) solid var(--wp--preset--color--accent-2);
  font-family: var(--wp--preset--font-family--biz-udpmincho);
  font-weight: 400;
  font-size: var(--font-sz-20);
  color: var(--wp--preset--color--accent-2);
  text-align: center;
}
.box-title-set .box-title-set_inner {
  padding-top: 3rem;
  padding-right: 6%;
  padding-left: 6%;
  margin-top: 0;
}
.box-title-set .box-title-set_inner h4 {
  padding: 0;
  background-color: transparent;
  font-size: var(--font-sz-16);
  font-weight: 400;
  color: var(--wp--preset--color--accent-2);
}

/* リニューアル前のスタイル調整 */
.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

/* シェアボタン */
.a2a_svg svg path {
  fill: var(--wp--preset--color--accent-2);
}
.addtoany_share_save svg path:last-child {
    fill: var(--wp--preset--color--accent-2) !important;
}

/* 組織体制図 */
.organization-figure {
  background-color: var(--wp--preset--color--custom-base-02);
  padding: 1.5rem 2.4%;
}
.top-level,
.departments {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem 4.622%;
  margin-bottom: 3.75rem;
  position: relative;
  z-index: var(--z-adjustment);
}
.top-level::before,
.top-level::after,
.board-section::after {
  content: '';
  background-color: var(--color-fig-organization-line-01);
  position: absolute;
  z-index: -1;
}
.top-level::before {
  width: 100%;
  height: var(--border-w-4);
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.top-level::after,
.board-section::after {
  width: var(--border-w-4);
  height: 3.75rem;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}
.top-level p,
.board-section p {
  width: 30.252%;
  padding: 0.52em 1em;
  margin-top: 0;
  font-size: var(--font-sz-24);
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
}
.top-level p:first-child,
.top-level p:last-child {
  background-color: var(--color-fig-organization-01);
  border-radius: 2rem;
}
.top-level p:nth-child(2) {
  background-color: var(--color-fig-organization-02);
}
.board-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-bottom: 6.25rem;
  position: relative;
  z-index: var(--z-adjustment);
}
.board-section::after {
  height: 6.25rem;
}
.board-section p {
  background-color: var(--color-fig-organization-03);
}
.departments {
  align-items: flex-start!important;
}
.departments::before {
  content: '';
  position: absolute;
  width: 69.747%;
  height: var(--border-w-4);
  background-color: var(--color-fig-organization-line-01);
  top: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.departments > .wp-block-column {
  flex: 1;
  border: var(--border-w-3) solid var(--color-fig-organization-line-02);
  position: relative;
}
.departments > .wp-block-column::before {
  content: '';
  width: var(--border-w-4);
  height: 2.6875rem;
  background-color: var(--color-fig-organization-line-01);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
.departments > .wp-block-column h3 {
  border-left: none;
  padding: 0.52em 1em;
  background-color: var(--color-fig-organization-04);
  font-size: var(--font-sz-24);
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
}
.departments > .wp-block-column ul,
.departments > .wp-block-column > .wp-block-group {
  list-style: none;
  padding: 2rem 1rem;
  width: fit-content;
  margin: 0 auto;
}
.departments > .wp-block-column li,
.departments > .wp-block-column > .wp-block-group {
  margin-bottom: 0;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .top-level p,
  .board-section p {
    font-size: var(--font-sz-16);
  }
  .top-level {
    margin-bottom: 1.5rem;
  }
  .top-level::after,
  .board-section::after {
    height: 1.5rem;
  }
  .board-section {
    margin-bottom: 2rem;
  }
  .departments {
    column-gap: 1.5%;
  }
  .departments::before,
  .departments > .wp-block-column::before {
    content: none;
  }
  .departments > .wp-block-column h3 {
    padding: 0.5em;
    font-size: var(--font-sz-16);
    letter-spacing: 0;
  }
  .departments > .wp-block-column ul,
  .departments > .wp-block-column > .wp-block-group {
    padding: 1em;
    font-size: var(--font-sz-14);
  }
}

/* Timelineブロック */
/* .timeline-index {
  max-width: 1120px;
} */
.timeline-index-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 1.5rem;
  padding-left: 0;
}
.timeline-index-list li {
  margin-bottom: 0;
}
.timeline-box {
  margin-top: 1rem;
}
.timeline-box[open] {
  padding-bottom: 3.75rem;
}
.timeline {
  display: flex;
  flex-wrap: wrap;
  gap: 3.75rem 5.8%;
  margin-block-start: 3.75rem;
  margin-block-end: 0;
  position: relative;
}
.timeline::before,
.timeline::after {
  content: '';
  background-color: var(--wp--preset--color--contrast);
  position: absolute;
  top: 0.5rem;
  left: calc(6.25rem + 2.8%);
}
.timeline::before {
  width: var(--border-w-1);
  height: calc(100% + 3.75rem);
}
.timeline::after {
  width: var(--font-sz-13);
  height: var(--font-sz-13);
  border-radius: 50%;
  transform: translateX(-50%);
}
.timeline:last-child::before {
  content: none;
}
.timeline-year {
  width: 5em;
  font-size: var(--font-sz-20);
  font-weight: 400;
}
.timeline-year-jp {
  display: block;
  font-size: 0.8em;
}
.timeline-text {
  flex: 1;
  margin-inline-start: 0;
}
@media (max-width: 768px){
  .timeline-index {
    font-size: var(--font-sz-14);
  }
  .timeline-index-list {
    justify-content: flex-start;
    gap: 0.8rem;
    margin-inline: auto;
  }
  .timeline-index-list li {
    width: calc((100% - 0.8rem * 2) / 3);
    margin-bottom: 0;
  }
  .timeline-index-list a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0.6rem 0.4rem;
    text-align: center;
    letter-spacing: 0;
  }
  .timeline-box[open] {
    padding-bottom: 2.5rem;
  }
  .timeline {
    column-gap: 8%;
    margin-block-start: 2.5rem;
  }
  .timeline::before,
  .timeline::after {
    top: 0.3rem;
    left: calc(5rem + 2.8%);
  }
  .timeline::before {
    height: calc(100% + 2.5rem);
  }
  .timeline-year {
    font-size: 1rem;
  }
}
@media (max-width: 560px) {
  .timeline-index {
    font-size: var(--font-sz-13);
  }
  .timeline-index-list li {
    width: calc((100% - 0.8rem) / 2);
  }
}

/* ブロック｜日本ペンクラブとは */
.block-about-pen .custom-logo {
  width: 100%;
}
@media (max-width: 768px){
  .block-about-pen .custom-logo {
    max-width: 7.5rem;
  }
}

/* 委員会ページ｜関連リンク */
.committee-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 var(--font-sz-24);
}
.committee-link_text-wrapper {
  flex: 1;
}
.committee-link_text,
.committee-link_url {
  margin: 0;
}
.committee-link_text {
  font-weight: bold;
}

/* ページネーション */
.pagination,
.wp-block-query-pagination {
  margin-top: 3.75rem;
}
.wp-block-query-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
ul.page-numbers,
.wp-block-query-pagination-numbers {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 0;
  font-size: var(--font-sz-16);
}
ul.page-numbers > li,
.wp-block-query-pagination-numbers > * {
  margin: 0 0.5rem 0.5rem;
}
.page-numbers.dots,
.page-numbers.current,
a.page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.5rem var(--font-sz-10);
  line-height: 1;
}
.page-numbers.dots {
  min-width: auto;
  padding: 0;
  font-weight: bold;
  color: var(--color-footer-btn01-text);
}
.page-numbers.current,
a.page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  border: var(--border-w-1) solid var(--color-btn-pagination-border);
}
a.page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  background-color: var(--wp--preset--color--custom-base-02);
  color: var(--color-footer-btn01-text);
  text-decoration: none;
}
.page-numbers.current {
  background-color: var(--color-btn-fill03-bg);
  border-color: var(--color-footer-btn01-border);
  color: var(--wp--preset--color--custom-contrast-02);
}
.page-numbers.prev,
.page-numbers.next,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  position: relative;
}
.page-numbers.prev,
.wp-block-query-pagination-previous {
  padding-left: var(--font-sz-24);
}
.page-numbers.next,
.wp-block-query-pagination-next {
  padding-right: var(--font-sz-24);
}
.page-numbers.prev::before,
.page-numbers.next::after,
.wp-block-query-pagination-previous::before,
.wp-block-query-pagination-next::after {
  content: '';
  width: 0.5625rem;
  height: 0.5625rem;
  position: absolute;
  top: 48%;
  border-top: var(--border-w-2) solid var(--color-footer-btn01-text);
  border-right: var(--border-w-2) solid var(--color-footer-btn01-text);
  transform-origin: top;
  transform: rotate(45deg) skew(2deg, 2deg) translateY(-50%);
}
.page-numbers.prev::before,
.wp-block-query-pagination-previous::before {
  left: var(--font-sz-12);
  scale: -1 -1;
}
.page-numbers.next::after,
.wp-block-query-pagination-next::after {
  right: var(--font-sz-12);
}

/* カテゴリー・タグ一覧 */
.search-by-tax {
  width: fit-content;
  max-width: 80rem;
  margin: 0 auto var(--font-sz-20);
}
.search-by-tax_title {
  width: fit-content;
  padding-left: 1.625rem;
  margin: 0 auto var(--font-sz-18);
  font-family: var(--wp--preset--font-family--biz-udpgothic);
  font-weight: bold;
  font-size: var(--font-sz-16);
  color: var(--wp--preset--color--accent-2);
  text-align: center;
  position: relative;
}
.search-by-tax_title::before {
  content: '';
  width: var(--font-sz-16);
  height: var(--font-sz-16);
  background: center / contain no-repeat var(--img-arrow-search);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.search-by-tax_title.is-tag::before {
  background-image: var(--img-arrow-tag);
}
.search-by-tax-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 1.5rem;
  padding-left: 0;
}
.search-by-tax-list.is-tag {
  gap: 1rem;
}
.search-by-tax-list.is-tag.is-yomitai-radio {
  font-size: var(--font-sz-14);
}
.search-by-tax-list li {
  margin-bottom: 0;
}
.search-by-tax-list a {
  transition: opacity .3s;
}
.search-by-tax-list.is-tag a {
  padding: 0.24rem var(--font-sz-32);
  background-color: var(--wp--preset--color--accent-5);
  border: none;
  border-radius: var(--font-sz-40);
}
.search-by-tax-list.is-tag a:hover {
  color: var(--color-btn-fill02-text);
}
.search-by-tax-list a.is-current,
.search-by-tax-list.is-tag a.is-current {
  background-color: var(--color-btn-fill02-text);
  border: var(--border-w-1) solid var(--color-btn-fill02-text);
  font-weight: bold;
  color: var(--color-btn-fill02-bg);
}

@media (max-width: 768px) {
  .search-by-tax {
    padding: var(--font-sz-40) var(--space-width-sp);
  }
  .search-by-tax-list {
    gap: 1em;
    font-size: var(--font-sz-14);
  }
}

/* 
 * ========================================
 *  ページごとの設定
 * ========================================
*/
/* トップページ */
.home-mv {
  line-height: 1;
}
.home-mv img {
  width: 100%;
}
.home-mv + .home-post-wrapper {
  margin-top: -10.1875rem;
}
.home-post-wrapper {
  padding: 0 1.666%;
}
.home-post-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 var(--font-sz-20);
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0.25rem;
  line-height: 1.5;
}
.home-post-list_item {
  width: calc((100% - var(--font-sz-20)*3) / 4);
  margin-bottom: var(--font-sz-24);
}
.home-post-list_link {
  display: block;
  height: 100%;
  padding: var(--font-sz-16);
  background-color: var(--wp--preset--color--custom-base-02);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--box-shadow);
}
.home-post-list-cat {
  list-style: none;
  min-height: 8.25rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: var(--font-sz-16);
  background: center / cover no-repeat var(--img-home-post-list-cat-bg);
  font-size: var(--font-sz-14);
}
.home-post-list-cat_item {
  padding: 0.286em 1.142em;
  margin-bottom: 0.5em;
  background-color: var(--color-btn-bg-secondary);
  font-weight: bold;
  color: var(--wp--preset--color--custom-contrast-02);
  text-align: center;
  line-height: 1.428;
  letter-spacing: 0.1em;
}
.home-post-list-cat_item:last-child {
  margin-bottom: 0;
}
.home-post-list_date {
  font-family: var(--font-arial);
  font-size: var(--font-sz-14);
  font-weight: bold;
  color: var(--wp--preset--color--accent-2);
}
.home-post-list_title {
  font-weight: bold;
}

@media (max-width: 768px) {
  .home-post-wrapper {
    padding: 0 var(--space-width-sp);
  }
  .home-post-list_item {
    width: 100%;
  }
  .home-post-list_link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--font-sz-16);
  }
  .home-post-list-cat {
    width: 7.375rem;
    min-height: 5.25rem;
    padding: var(--font-sz-12) 3.858%;
  }
  .home-post-list-cat_item {
    padding-right: 0.6em;
    padding-left: 0.6em;
  }
  .home-post-list_text {
    flex: 1;
  }
  .home-post-list_text > * {
    margin-top: 0;
  }
  .home-post-list_text > *:last-child {
    margin-bottom: 0;
  }
}

.home-statement-post {
  padding: 3.75rem 6%;
  margin-bottom: var(--font-sz-32);
  background-color: var(--wp--preset--color--custom-base-02);
  border-top: var(--border-w-2) solid var(--wp--preset--color--accent-1);
  box-shadow: var(--box-shadow);
}
.home-statement-post_title {
  padding-left: 0;
  margin: 0 0 var(--font-sz-40);
  font-family: var(--wp--preset--font-family--biz-udpgothic);
  font-size: var(--font-sz-20);
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.home-statement-post_title::before {
  content: none;
}
.home-statement-post_content h2 {
  font-size: var(--font-sz-20);
}

/**
 * 歴代会長ページのスタイル
 */
/* ブロック｜歴代会長 */
.info-jp-chairmans {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 1rem 2.4%;
}
.principal-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0 5.411%;
  width: 42.5%;
  padding-left: 0;
  margin-top: 0;
}
.principal-list > li {
  width: 20.235%;
}
.principal-list figure {
  margin-bottom: 0;
}
.principal-list figure > img {
  display: block;
  width: 100%;
}
.principal-list figcaption {
  margin-top: 0.5em;
  font-size: var(--font-sz-13);
}
.info-jp-chairmans_table {
  flex: 1;
  margin-bottom: 0;
}
.info-jp-chairmans_table tbody td:first-child,
.info-jp-chairmans_table tbody td:nth-child(2) {
  word-break: keep-all;
}

@media (max-width:768px){
  .info-jp-chairmans {
    display: block;
  }
  .principal-list {
    width: 100%;
  }
}

/* パターン｜歴代会長メッセージ（写真あり） */
.box-chairmans-message {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem 4%;
}
h3 + .box-chairmans-message {
  padding-right: 0;
  padding-left: 0;
}
.box-chairmans-message > figure {
  width: 30.1%;
  position: sticky;
  top: calc(3.75rem + 1rem);
}
.box-chairmans-message > figure img {
  display: block;
  width: 100%;
  max-width: 12.5rem;
  margin: 0 auto;
}
.box-chairmans-message_text {
  flex: 1;
  margin-top: 0;
}
@media (max-width: 768px){
  .box-chairmans-message {
    display: block;
  }
  .box-chairmans-message > figure {
    width: 100%;
    margin: 0 auto 1rem;
    position: static;
  }
  .box-chairmans-message > figure img {
    max-width: 11.25rem;
  }
}

/**
 * 歴代国際ペン会長ページのスタイル
 */
/* ブロック｜歴代国際ペン会長 */
.info-intl-chairmans_table {
  font-size: var(--font-sz-16);
}
.info-intl-chairmans_table td {
  vertical-align: text-top;
}
.info-intl-chairmans_table th:nth-child(1) {
  width: 8.5%;
}
.info-intl-chairmans_table th:nth-child(2) {
  width: 22.9%;
}
.info-intl-chairmans_table th:nth-child(3) {
  width: 11%;
}
.info-intl-chairmans_table th:nth-child(4) {
  width: 10.8%;
}
.info-intl-chairmans_table th:nth-child(5) {
  width: 9.7%;
}
.info-intl-chairmans_table th:nth-child(6) {
  width: 37.1%;
}
@media (max-width: 768px){
  .info-intl-chairmans_table {
    overflow-x: scroll;
  }
  .info-intl-chairmans table {
    width: 250%;
  }
}

/* 会員名簿ページのスタイル */
.line-link-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 2.4%;
  padding: var(--font-sz-40) 0;
}
.line-link-list a {
  padding-right: 0.44em;
  padding-left: 0.44em;
}
.members-details {
  margin-bottom: var(--font-sz-15);
}
.members-details:last-child .members-table {
  margin-bottom: 0;
}
.members-table {
  margin-top: var(--font-sz-16);
  margin-bottom: 3.75rem;
}
.members-table th:nth-child(1) {
  width: 23%;
  min-width: 7em;
}
.members-table th:nth-child(2) {
  width: 21%;
  min-width: 7em;
}
.members-table th:nth-child(3) {
  width: 8%;
  min-width: 3.5em;
}
.members-table th:nth-child(4) {
  width: 23%;
}
.members-table th:nth-child(5) {
  width: 25%;
  min-width: 8em;
}
.members-table td:nth-child(5) {
  font-size: 88%;
}


/* 読みたいラジオページのスタイル */
.yomitai-radio-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--font-sz-40) 4%;
}
.yomitai-radio-content > figure {
  width: 9.375rem;
}
.yomitai-radio-content > figure img {
  width: 100%;
}
.yomitai-radio-content > *:last-child {
  flex: 1;
  padding: 0;
  margin-top: 0;
}

@media(max-width: 768px) {
  .yomitai-radio-content {
    flex-direction: column;
    align-items: center;
  }
}

/* お問い合わせページのスタイル */
.inq-content,
.login-content {
  max-width: 49.875rem;
  margin: 0 auto;
}
.inq-content form > p {
  margin-top: var(--font-sz-24);
}
.inq-content input[type="submit"],
.inq-submit,
.login-submit input[type="submit"],
.bbs-form input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 22.375rem;
  margin: 0 auto;
}
.inq-supplement {
  margin-top: 4em;
  font-size: var(--font-sz-14);
  text-align: center;
}
.inq-form-item {
  display: block;
  margin-top: 1rem;
}

@media (max-width: 768px) {
  .inq-supplement {
    text-align: left;
  }
}

/* プライバシーポリシーページのスタイル */
.privacy-contents {
  font-size: var(--font-sz-16);
}
.privacy-contents h2 {
  padding-left: 0;
  margin-top: var(--font-sz-40);
  margin-bottom: 0.5rem;
  font-family: var(--wp--preset--font-family--biz-udpgothic);
  font-size: var(--font-sz-20);
  font-weight: bold;
}
.privacy-contents h2::before {
  content: none;
}
.privacy-contents h2 + * {
  margin-top: 0.5rem;
}

/* 告知掲示板の投稿フォーム */
.bbs-form .wp-editor-container {
  border: var(--border-w-1) solid var(--color-input-border);
}
.bbs-form .mce-panel {
  background-color: var(--wp--preset--color--custom-base-02);
}
.bbs-form .mce-btn button,
.bbs-form .mce-toolbar .mce-ico {
  color: var(--wp--preset--color--contrast);
}