@charset "UTF-8";

:root {
  /* メインカラー */
  --main-dark-area-bg-color: #FFFFFF;
  --main-dark-area-text-color: #302D2B;

  /* 白地エリア */
  --main-white-area-bg-color: #FFFFFF;
  --main-white-area-text-color: #302D2B;
  --theme-min-contents-bg-color: var(--main-white-area-bg-color);

  /* 枠線 */
  --main-contents-border-color: #EAE6E2;
  --main-card-border-color: #D8D1CB;

  /* 影 */
  --main-border-shadow-color: rgba(48, 45, 43, 0.12);

  /* アクセントカラー */
  --main-accent-color: #6F625A;
  --global-menu-accent-color: var(--main-accent-color);

  /* 丸み */
  --theme-border-radius-section: 0;
  --theme-border-radius-button: 0;
  --theme-border-radius-small-parts: 0;
  --theme-border-radius-avatar: 9999px;
}

body {
  color: var(--main-white-area-text-color);
  background-color: var(--main-white-area-bg-color);
}

/* ========================================
ヘッダー
======================================== */

.site-header,
.top-navigation-bar {
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
}

.site-header,
.top-navigation-bar {
  border-block-end: 1px solid var(--main-contents-border-color);
}

.top-navigation-bar a {
  color: inherit;
}

/* 中央配置もコーポレートタイプもタイトル領域をメインカラーにする */
.site-header:has(.title-type-center),
.site-header:has(.title-type-contact) {
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
}

/* 中央配置とコーポレートタイプのメニュー領域もメインカラーにする */
.site-header .title-type-center > .title-navigation-right-box,
.site-header .title-type-contact > .title-navigation-right-box {
  width: 100%;
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
}

/* ========================================
グローバルメニュー
======================================== */

@media (min-width: 769px) {
  ul.global-menu ul {
    color: var(--main-dark-area-text-color);
    background-color: var(--main-dark-area-bg-color);
    border: 1px solid var(--main-contents-border-color);
  }
}

@media (max-width: 768px) {
  .drawer-content {
    color: var(--main-dark-area-text-color);
    background-color: var(--main-dark-area-bg-color);
    border-inline-start: 1px solid var(--main-contents-border-color);
  }
}

.drawer-open {
  color: var(--main-dark-area-text-color);
  border-color: var(--main-dark-area-text-color);
}

.search-button {
  color: var(--main-dark-area-text-color);
}

/* ========================================
本文・固定ページ・サイドバー H2
白背景＋グレージュ上下線
======================================== */

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h2:not([class*="is-style-"]) {
  position: relative;
  padding: 0.5em !important;
  color: var(--main-white-area-text-color);
  background-color: var(--main-white-area-bg-color);
}

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h2:not([class*="is-style-"])::before,
:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h2:not([class*="is-style-"])::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-color: var(--main-accent-color);
}

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h2:not([class*="is-style-"])::before {
  top: -5px;
}

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h2:not([class*="is-style-"])::after {
  bottom: -5px;
}

/* ========================================
本文・固定ページ・サイドバー H3
グレージュ左線＋カード枠線
======================================== */

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h3:not([class*="is-style-"]) {
  padding: 0.4em 0.65em;
  border-inline-start: 5px solid var(--main-accent-color);
  border-block-end: 1px solid var(--main-card-border-color);
}

/* ========================================
本文・固定ページ・サイドバー H4
グレージュの短い下線
======================================== */

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h4:not([class*="is-style-"]) {
  position: relative;
  padding-block-end: 0.4em;
}

:where(
  .single-content-section,
  .page-content-section,
  .sidebar,
  .editor-styles-wrapper
) h4:not([class*="is-style-"])::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3em;
  height: 2px;
  content: "";
  background-color: var(--main-accent-color);
}

/* ========================================
本文・記事カード・サイドバー
======================================== */

.main-section {
  background-color: transparent;
  padding-block: 0;
}

.sidebar-container {
  background-color: transparent;
  padding: 0;
}

.main-section > .main-class,
.main-section > .related-article,
.main-section > .comment-lists-section,
.sidebar-container > .widget,
.right-sidebar-sticky-group > .widget {
  color: var(--main-white-area-text-color);
  background-color: var(--theme-min-contents-bg-color);
  border: solid 1px var(--main-contents-border-color);
}

.sidebar-container > .widget,
.right-sidebar-sticky-group > .widget {
  --sidebar-widget-inner-space:
    var(--theme-sidebar-widget-inner-padding);

  padding: var(--sidebar-widget-inner-space);
}

.sidebar-container > .widget > :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6
):first-child,
.right-sidebar-sticky-group > .widget > :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6
):first-child {
  margin-block-start:
    calc(var(--sidebar-widget-inner-space) * -1);

  margin-inline:
    calc(var(--sidebar-widget-inner-space) * -1);
}

.list-articles-card,
.related-contents,
.main-section > .page-feed .page-feed-box {
  color: var(--main-white-area-text-color);
  background-color: var(--theme-min-contents-bg-color);
  border: solid 1px var(--main-card-border-color);
}

/* ========================================
ボタン・ラベル・ページ送り
======================================== */

.wp-block-button > .wp-element-button,
input[type="submit"],
button[type="submit"],
.articles-posted-card-button-section {
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
  border: solid 1px var(--main-dark-area-text-color);
}

.hover-action .wp-block-button > .wp-element-button:hover,
.hover-action input[type="submit"]:hover,
.hover-action button[type="submit"]:hover,
.hover-action .articles-posted-card-button-section:hover {
  color: var(--main-white-area-bg-color);
  background-color: var(--main-accent-color);
  border-color: var(--main-accent-color);
}

.label-color-category {
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
  border-color: var(--main-accent-color);
}

.page-feed-prev-arrow::before,
.page-feed-next-arrow::before {
  color: var(--main-white-area-bg-color);
  background-color: var(--main-accent-color);
}

.page-feed-prev-arrow::before {
  border-inline-end: 1px solid var(--main-card-border-color);
}

.page-feed-next-arrow::before {
  border-inline-start: 1px solid var(--main-card-border-color);
}

/* ========================================
コアブロック・テーマブロックの白背景補正
======================================== */

.wp-block-separator,
.wp-block-quote.is-style-plain {
  color: var(--main-accent-color);
  border-color: var(--main-accent-color);
}

.wp-block-table td,
.wp-block-table th {
  color: var(--main-white-area-text-color);
  background-color: var(--main-white-area-bg-color);
  border-color: var(--main-card-border-color);
}

.is-style-theme-updownline-color,
.is-style-theme-bgcolor-color {
  color: var(--main-white-area-text-color);
  background-color: var(--main-white-area-bg-color);
}

.is-style-theme-bgcolor-color {
  border: 1px solid var(--main-card-border-color);
}

.is-style-theme-updownline-color::before,
.is-style-theme-updownline-color::after,
.is-style-theme-center-line-color::before,
.is-style-theme-center-line-color::after {
  background-color: var(--main-accent-color);
}

.is-style-theme-border-square-thin-color,
.is-style-theme-under-line-thin-color,
.is-style-theme-top-line-thin-color,
.is-style-theme-updown-line-middle-color,
.is-style-theme-updown-line-thin-color,
.is-style-theme-updown-line-double-color,
.is-style-theme-left-color-line,
.is-style-theme-shadow-rightbottom,
.is-style-theme-shadow-alignment {
  border-color: var(--main-accent-color);
}

.is-style-theme-left-color-shadow {
  border-inline-start-color: var(--main-accent-color);
}

.is-style-theme-shadow-alignment {
  box-shadow: 10px 10px 0 var(--main-accent-color);
}

.is-style-theme-square-brackets-color::before,
.is-style-theme-square-brackets-color::after,
.is-style-theme-big-brackets-color::before,
.is-style-theme-big-brackets-color::after {
  border-color: var(--main-accent-color);
}

.is-style-theme-speechbubble-updown-color-left,
.is-style-theme-speechbubble-updown-color-center,
.is-style-theme-speechbubble-square-color-bottom,
.is-style-theme-speechbubble-square-color-left,
.is-style-theme-speechbubble-square-color-right {
  border-color: var(--main-accent-color);
}

.is-style-theme-speechbubble-updown-color-left::before,
.is-style-theme-speechbubble-updown-color-center::before,
.is-style-theme-speechbubble-square-color-bottom::before {
  border-color: var(--main-accent-color) transparent transparent;
}

.is-style-theme-speechbubble-square-color-left::before {
  border-color: transparent var(--main-accent-color) transparent transparent;
}

.is-style-theme-speechbubble-square-color-right::before {
  border-color: transparent transparent transparent var(--main-accent-color);
}

.is-style-theme-list-underline-color > li,
.is-style-theme-list-topbottomline-color > li,
.is-style-theme-list-topbottomline-color > li:first-child {
  border-color: var(--main-accent-color);
}

.is-style-theme-list-step-leftline > li {
  border-inline-start-color: var(--main-accent-color);
}

.is-style-theme-list-step-leftline > li::before,
.is-style-theme-list-step-leftline > li:last-child::after {
  border-color: var(--main-accent-color);
  background-color: var(--main-accent-color);
}

.is-style-theme-list-step-speechbubble > li {
  border-color: var(--main-accent-color);
}

.is-style-theme-list-step-speechbubble > li:not(:last-child)::before {
  border-color: var(--main-accent-color) transparent transparent;
}

[class*="is-style-theme-details-underline-"] summary {
  border-color: var(--main-card-border-color);
}

.is-style-theme-details-underline-angel summary::after,
.is-style-theme-details-underline-faq summary::before,
.is-style-theme-details-underline-faq p::before {
  color: var(--main-white-area-bg-color);
  background-color: var(--main-accent-color);
  border: 1px solid var(--main-accent-color);
}

.is-style-theme-details-underline-faq[open] {
  border-color: var(--main-card-border-color);
}

[class*="is-style-theme-details-wide-"] {
  border-color: var(--main-card-border-color);
}

[class*="is-style-theme-details-wide-"] > summary {
  color: var(--main-white-area-text-color);
  background-color: var(--main-white-area-bg-color);
  border-block-end: 1px solid var(--main-card-border-color);
}

.is-style-theme-point-up-information,
.is-style-theme-point-up-information::before,
.is-style-theme-box-top-information,
.is-style-theme-box-top-information::before {
  border-color: var(--main-accent-color);
}

.is-style-theme-point-up-information::before,
.is-style-theme-box-top-information::before {
  color: var(--main-white-area-bg-color);
  background-color: var(--main-accent-color);
}

/* ========================================
フッター
======================================== */

.footer-menu-standard,
.site-footer {
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
}

.footer-menu-standard {
  border-block-start: 1px solid var(--main-contents-border-color);
}

.site-footer a,
.footer-menu-standard a {
  color: inherit;
}

.footer-fixed-menu-section .menu-item > a {
  color: var(--main-dark-area-text-color);
  background-color: var(--main-dark-area-bg-color);
  border-block-start: 1px solid var(--main-contents-border-color);
}

.site-footer {
  border-block-end: 3px solid var(--main-accent-color);
}

body:not(
  :has(.footer-menu-standard + .site-footer)
) .site-footer {
  border-block-start: 3px solid var(--main-accent-color);
}
