@charset "utf-8";

body {
  counter-reset: h2-counter;
}

strong {
  font-weight: bold;
}

blockquote {
  padding: 10px 20px;
  background-color: #f8f8f8;
}

header.header_page {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0;
  height: 100px;
  background: url(/assets/img/bg/page_header_bg.png);
  background-size: unset !important;
}

/* 投稿記事の本文内のタグスタイル */

.single .page_container_single {
  margin-top: 20px;
}

.page_container_single_title h1,
.page_container_single_title h2 {
  font-size: 32px;
  font-weight: 900;
  line-height: calc(52 / 32);
  color: #84330F;
  background: linear-gradient(to bottom, transparent 0%, transparent 40%, rgba(0, 0, 0, 0.1) 40%);
  background-size: 100% 52px;
  background-repeat: repeat-y;
  background-position: 0 0;

  @media(max-width: 767px) {
    font-size: 24px;
    line-height: calc(40 / 24);
    background: linear-gradient(to bottom, transparent 0%, transparent 50%, rgba(0, 0, 0, 0.1) 40%);
    background-size: 100% 40px;
  }
}

.page_container_single_date {
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  color: var(--color-text);
  margin-top: 18px;
}

.page_container_single_content {
  padding: 0;
  margin: 0 !important;
  margin-top: 38px !important;
}

.page_container_single_content,
.page_container_single_content p {
  font-size: 16px;
  line-height: 1.5;
  margin: 0.5em auto;
}

.page_container_single_content img,
.page_container_single_content p img {
  width: auto;
  height: unset !important;
  margin: 1em auto;
}

.page_container_single_content a,
.page_container_single_content p a {
  color: #84330F;
  text-decoration: underline;
}

.page_container_single_content a:hover,
.page_container_single_content p a:hover {
  text-decoration: none;
  opacity: 1;
}

.page_container_single_content h1,
.page_container_single_content p h1,
.page_container_single_content h2,
.page_container_single_content p h2,
.page_container_single_content h3,
.page_container_single_content p h3,
.page_container_single_content h4,
.page_container_single_content p h4,
.page_container_single_content h5,
.page_container_single_content p h5 {
  margin: 3em auto 1em;
  font-weight: bold;
}

.page_container_single_content h1,
.page_container_single_content p h1 {
  font-size: 24px;
}

.page_container_single_content h2,
.page_container_single_content p h2 {
  font-size: 22px;
  font-weight: 900;
  line-height: calc(28 / 22);
  color: #84330F;

  @media(max-width: 767px) {
    font-size: 18px;
    line-height: calc(28 / 18);
  }
}

.page_container_single_content h3,
.page_container_single_content p h3 {
  font-size: 22px;
  font-weight: 900;
  line-height: calc(28 / 22);
  border: none;
  padding: 0;

  @media(max-width: 767px) {
    font-size: 18px;
    line-height: calc(28 / 18);
  }
}

.page_container_single_content h4,
.page_container_single_content p h4 {
  font-size: 18px;
  background: rgba(132, 51, 15, 0.1);
  padding: 0.5em;
}

.page_container_single_content h5,
.page_container_single_content p h5 {
  font-size: 16px;
  color: #84330F;
}

.page_container_single_content h6,
.page_container_single_content p h6 {
  font-size: 14px;
}

.page_container_single_content strong,
.page_container_single_content b {
  font-weight: bold;
}

.page_container_single_content em,
.page_container_single_content i {
  font-style: italic;
}

.page_container_single_content u {
  text-decoration: underline;
}

.page_container_single_content s,
.page_container_single_content strike,
.page_container_single_content del {
  text-decoration: line-through;
}

.page_container_single_content sub {
  vertical-align: sub;
  font-size: smaller;
}

.page_container_single_content sup {
  vertical-align: super;
  font-size: smaller;
}

.page_container_single_content ul,
.page_container_single_content ol {
  padding-left: 30px;
  margin: 1em 0 1.5rem;
}

.page_container_single_content ul:not([style*="list-style-type:"]) {
  list-style-type: disc;
}

.page_container_single_content ol:not([style*="list-style-type:"]) {
  list-style-type: decimal;
}

.page_container_single_content ul li,
.page_container_single_content ol li {
  list-style-type: inherit;
}

.page_container_single_content blockquote {
  margin: 20px 0;
  padding: 15px 20px;
  border-left: 4px solid #999999;
  background-color: rgba(255, 255, 255, 0.3);
  font-style: italic;
}

.page_container_single_content code {
  background-color: rgba(255, 255, 255, 0.3);
  padding: 2px 6px;
  border-radius: 3px;
  font-family: "Courier New", monospace;
  font-size: 0.9em;
  border: none !important;
}

.page_container_single_content pre {
  background-color: rgba(255, 255, 255, 0.3);
  padding: 15px;
  border-radius: 5px;
  overflow-x: auto;
  white-space: pre-wrap;
  border: none;
}

.page_container_single_content pre code {
  background: none;
  padding: 0;
}

.page_container_single_content a {
  color: #0073aa;
  text-decoration: underline;
  line-height: 1.5;
}

.page_container_single_content a:hover {
  text-decoration: none;
}

.page_container_single_content a:has(img) {
  display: block;
}

.page_container_single_content a:has(img.aligncenter),
.page_container_single_content p:has(img.aligncenter) {
  text-align: center;
}

.page_container_single_content a:has(img.alignleft),
.page_container_single_content p:has(img.alignleft) {
  text-align: left;
}

.page_container_single_content a:has(img.alignright),
.page_container_single_content p:has(img.alignright) {
  text-align: right;
}

.page_container_single_content table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}

.page_container_single_content table th,
.page_container_single_content table td {
  border: 1px solid #333333;
  padding: 12px;
  text-align: left;
  line-height: 1.5;
}

.page_container_single_content table th {
  background-color: rgba(255, 255, 255, 0.3);
  font-weight: bold;
}

.page_container_single_content table tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.3);
}

.page_container_single_content img {
  max-width: 100%;
  width: auto;
  height: auto;
}

.page_container_single_content hr {
  border: none;
  border-top: 2px solid #333333;
  margin: 30px 0;
}

.page_container_single_content .nbsp-placeholder::before {
  content: '\00a0';
}

.page_container_single_content .wp-block-quote {
  border-left: 4px solid #333333;
  margin: 20px 0;
  padding-left: 20px;
  font-style: italic;
}

.page_container_single_content p+p {
  margin-top: 1em;
}

.page__linkWrapper {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 80px;

  @media(max-width: 767px) {
    flex-direction: column;
    margin-top: 60px;
  }
}

.btn_Red {
  font-size: 16px;
  font-weight: 900;
  max-width: 288px;
  width: 100%;
  color: #fff;
  background-color: var(--color-main);
  border-radius: 100vh;
  position: relative;

  @media(max-width: 767px) {
    font-size: 14px;
    width: calc(240 / 350 * 100%);
    margin-inline: auto;
  }
}

.btn_Red::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 32px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(225deg);

  @media(max-width: 767px) {
    left: 20px;
  }
}

.btn_Red.--right::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: auto;
  right: 32px;
  transform: rotate(45deg);

  @media(max-width: 767px) {
    right: 20px;
  }
}

.btn_Red a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 19px;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
}

/* 関連記事セクション */
.topics__relatedSection {
  margin-top: 80px;

  @media (max-width: 767px) {
    margin-top: 60px;
  }
}

.topics__relatedHeading {
  font-size: 20px;
  font-weight: 900;
  background-color: #84330F;
  color: #fff;
  text-align: center;
  padding-block: 10px;
  margin-bottom: 30px;

  @media (max-width: 767px) {
    font-size: 14px;
    margin-bottom: 20px;
  }
}

.topics__relatedLists {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;

  @media (max-width: 1339px) {
    grid-template-columns: repeat(3, 1fr);
  }

  @media (max-width: 767px) {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

.topics__relatedItem {
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;

  &:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }
}

.topics__relatedLink {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.topics__relatedImage {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.topics__relatedImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.topics__relatedContent {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px;
}

.topics__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.topics__relatedCategory {
  font-size: 12px;
  font-weight: 700;
  color: var(--color-main);
  display: inline-block;
}

.topics__relatedTitle {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-height: 48px;

  @media (max-width: 767px) {
    font-size: 14px;
    min-height: 42px;
  }
}

.topics__relatedDate {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  display: block;

  @media (max-width: 767px) {
    font-size: 12px;
  }
}

.topics__relatedButton {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-main);
  text-align: center;
  padding: 8px 16px;
  border: 2px solid var(--color-main);
  border-radius: 100vh;
  margin-top: 8px;
  transition: background-color 0.3s ease, color 0.3s ease;

  @media (max-width: 767px) {
    font-size: 12px;
    padding: 6px 12px;
  }
}

.topics__relatedLink:hover .topics__relatedButton {
  background-color: var(--color-main);
  color: #fff;
}

.topics__relatedEmpty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 40px 20px;
  color: #666;
}

/* toc */

.ez-toc-icon-toggle-span {
  background-color: #84330F;
  display: flex;
  align-items: center;
  width: 35px;
  height: 30px;
  justify-content: center;
  direction: ltr;
}

.ez-toc-icon-toggle-span svg {
  fill: #fff !important;
  color: #fff !important;
}

div#ez-toc-container ul li a {
  color: #222;
  font-weight: 500;
  font-size: 95%;
}

.ez-toc-link img.wp-smiley,
.ez-toc-link img.emoji {
  margin-top: 3px !important;
}

#ez-toc-container {
  width: 100% !important;
  padding: 15px 30px 20px 20px !important;
  margin-top: 50px !important;
  background: #f9f9f9;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
  display: table;
  margin-bottom: 1em;
  position: relative;
}

#ez-toc-container .ez-toc-js-icon-con,
#ez-toc-container .ez-toc-toggle label {
  border: none !important;
}

.ez-toc-title-container {
  display: table;
  width: 100%;
}

.ez-toc-title {
  font-weight: 500 !important;
  font-size: 120% !important;
}

.ez-toc-title,
.ez-toc-title-toggle {
  display: inline;
  text-align: left;
  vertical-align: middle;
}

#ez-toc-container .ez-toc-js-icon-con,
#ez-toc-container .ez-toc-toggle label {
  float: right;
  position: relative;
  left: 10px;
  width: 35px;
}

#ez-toc-container {
  background: #f9f9f9;
  border: 1px solid #aaa;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
  display: table;
  margin-bottom: 1em;
  padding: 10px 20px 10px 10px;
  position: relative;
  width: auto
}

div.ez-toc-widget-container {
  padding: 0;
  position: relative
}

#ez-toc-container.ez-toc-light-blue {
  background: #edf6ff
}

#ez-toc-container.ez-toc-white {
  background: #fff
}

#ez-toc-container.ez-toc-black {
  background: #000
}

#ez-toc-container.ez-toc-transparent {
  background: none transparent
}

div.ez-toc-widget-container ul {
  display: block
}

div.ez-toc-widget-container li {
  border: none;
  padding: 0
}

div.ez-toc-widget-container ul.ez-toc-list {
  padding: 10px
}

#ez-toc-container ul ul,
.ez-toc div.ez-toc-widget-container ul ul {
  margin-left: 1.5em
}

#ez-toc-container li,
#ez-toc-container ul {
  margin: 0;
  padding: 0
}

#ez-toc-container li,
#ez-toc-container ul,
#ez-toc-container ul li,
div.ez-toc-widget-container,
div.ez-toc-widget-container li {
  background: none;
  list-style: none none;
  line-height: 1.6;
  margin: 0;
  overflow: hidden;
  z-index: 1
}

#ez-toc-container .ez-toc-title {
  text-align: left;
  line-height: 1.45;
  margin: 0;
  padding: 0
}

.ez-toc-title-container {
  display: table;
  width: 100%
}

.ez-toc-title,
.ez-toc-title-toggle {
  display: inline;
  text-align: left;
  vertical-align: middle
}

#ez-toc-container.ez-toc-black p.ez-toc-title {
  color: #fff
}

#ez-toc-container div.ez-toc-title-container+ul.ez-toc-list {
  margin-top: 1em
}

.ez-toc-wrap-left {
  margin: 0 auto 1em 0 !important
}

.ez-toc-wrap-left-text {
  float: left
}

.ez-toc-wrap-right {
  margin: 0 0 1em auto !important
}

.ez-toc-wrap-right-text {
  float: right
}

#ez-toc-container a {
  color: #444;
  box-shadow: none;
  text-decoration: none;
  text-shadow: none;
  display: inline-flex;
  align-items: stretch;
  flex-wrap: nowrap
}

#ez-toc-container a:visited {
  color: #9f9f9f
}

#ez-toc-container a:hover {
  text-decoration: underline
}

#ez-toc-container.ez-toc-black a,
#ez-toc-container.ez-toc-black a:visited {
  color: #fff
}

#ez-toc-container a.ez-toc-toggle {
  display: flex;
  align-items: center
}

.ez-toc-widget-container ul.ez-toc-list li:before {
  content: " ";
  position: absolute;
  left: 0;
  right: 0;
  height: 30px;
  line-height: 30px;
  z-index: -1
}

.ez-toc-widget-container ul.ez-toc-list li.active {
  background-color: #ededed
}

.ez-toc-widget-container li.active>a {
  font-weight: 900
}

.ez-toc-btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.428571429;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none
}

.ez-toc-btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px
}

.ez-toc-btn:focus,
.ez-toc-btn:hover {
  color: #333;
  text-decoration: none
}

.ez-toc-btn.active,
.ez-toc-btn:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125)
}

.ez-toc-btn-default {
  color: #333;
  background-color: #fff
}

.ez-toc-btn-default.active,
.ez-toc-btn-default:active,
.ez-toc-btn-default:focus,
.ez-toc-btn-default:hover {
  color: #333;
  background-color: #ebebeb;
  border-color: #adadad
}

.ez-toc-btn-default.active,
.ez-toc-btn-default:active {
  background-image: none
}

.ez-toc-btn-sm,
.ez-toc-btn-xs {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px
}

.ez-toc-btn-xs {
  padding: 1px 5px
}

.ez-toc-btn-default {
  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
  -webkit-box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .15), 0 1px 1px rgba(0, 0, 0, .075);
  box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .15), 0 1px 1px rgba(0, 0, 0, .075)
}

.ez-toc-btn-default:active {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125)
}

.btn.active,
.ez-toc-btn:active {
  background-image: none
}

.ez-toc-btn-default {
  text-shadow: 0 1px 0 #fff;
  background-image: -webkit-gradient(linear, left 0, left 100%, from(#fff), to(#e0e0e0));
  background-image: -webkit-linear-gradient(top, #fff, #e0e0e0);
  background-image: -moz-linear-gradient(top, #fff 0, #e0e0e0 100%);
  background-image: linear-gradient(180deg, #fff 0, #e0e0e0);
  background-repeat: repeat-x;
  border-color: #ccc;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffffff", endColorstr="#ffe0e0e0", GradientType=0);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false)
}

.ez-toc-btn-default:focus,
.ez-toc-btn-default:hover {
  background-color: #e0e0e0;
  background-position: 0 -15px
}

.ez-toc-btn-default.active,
.ez-toc-btn-default:active {
  background-color: #e0e0e0;
  border-color: #dbdbdb
}

.ez-toc-pull-right {
  float: right !important;
  margin-left: 10px
}

#ez-toc-container label.cssicon,
#ez-toc-widget-container label.cssicon {
  height: 30px
}

.ez-toc-glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: Glyphicons Halflings;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale
}

.ez-toc-glyphicon:empty {
  width: 1em
}

.ez-toc-toggle i.ez-toc-glyphicon {
  font-size: 16px;
  margin-left: 2px
}

#ez-toc-container input {
  position: absolute;
  left: -999em
}

#ez-toc-container input[type=checkbox]:checked+nav,
#ez-toc-widget-container input[type=checkbox]:checked+nav {
  opacity: 0;
  max-height: 0;
  border: none;
  display: none
}

#ez-toc-container label {
  position: relative;
  cursor: pointer;
  display: initial
}

#ez-toc-container .ez-toc-js-icon-con {
  display: initial
}

#ez-toc-container .ez-toc-js-icon-con,
#ez-toc-container .ez-toc-toggle label {
  float: right;
  position: relative;
  font-size: 16px;
  padding: 0;
  border: 1px solid #999191;
  border-radius: 5px;
  cursor: pointer;
  left: 10px;
  width: 35px
}

div#ez-toc-container .ez-toc-title {
  display: initial
}

.ez-toc-wrap-center {
  margin: 0 auto 1em !important
}

#ez-toc-container a.ez-toc-toggle {
  color: #444;
  background: inherit;
  border: inherit
}

.ez-toc-toggle #item {
  position: absolute;
  left: -999em
}

label.cssicon .ez-toc-glyphicon:empty {
  font-size: 16px;
  margin-left: 2px
}

label.cssiconcheckbox {
  display: none
}

.ez-toc-widget-container ul li a {
  padding-left: 10px;
  display: inline-flex;
  align-items: stretch;
  flex-wrap: nowrap
}

.ez-toc-widget-container ul.ez-toc-list li {
  height: auto !important
}

.ez-toc-cssicon {
  float: right;
  position: relative;
  font-size: 16px;
  padding: 0;
  border: 1px solid #999191;
  border-radius: 5px;
  cursor: pointer;
  left: 10px;
  width: 35px
}

.ez-toc-icon-toggle-span {
  display: flex;
  align-items: center;
  width: 35px;
  height: 30px;
  justify-content: center;
  direction: ltr
}

#ez-toc-container .eztoc-toggle-hide-by-default {
  display: none
}

.eztoc_no_heading_found {
  background-color: #ff0;
  padding-left: 10px
}

.eztoc-hide {
  display: none
}

.term-description .ez-toc-title-container p:nth-child(2) {
  width: 50px;
  float: right;
  margin: 0
}

.ez-toc-list.ez-toc-columns-2 {
  column-count: 2;
  column-gap: 20px;
  column-fill: balance
}

.ez-toc-list.ez-toc-columns-2>li {
  display: block;
  break-inside: avoid;
  margin-bottom: 8px;
  page-break-inside: avoid
}

.ez-toc-list.ez-toc-columns-3 {
  column-count: 3;
  column-gap: 20px;
  column-fill: balance
}

.ez-toc-list.ez-toc-columns-3>li {
  display: block;
  break-inside: avoid;
  margin-bottom: 8px;
  page-break-inside: avoid
}

.ez-toc-list.ez-toc-columns-4 {
  column-count: 4;
  column-gap: 20px;
  column-fill: balance
}

.ez-toc-list.ez-toc-columns-4>li {
  display: block;
  break-inside: avoid;
  margin-bottom: 8px;
  page-break-inside: avoid
}

.ez-toc-list.ez-toc-columns-optimized {
  column-fill: balance;
  orphans: 2;
  widows: 2
}

.ez-toc-list.ez-toc-columns-optimized>li {
  display: block;
  break-inside: avoid;
  page-break-inside: avoid
}

@media (max-width: 768px) {

  .ez-toc-list.ez-toc-columns-2,
  .ez-toc-list.ez-toc-columns-3,
  .ez-toc-list.ez-toc-columns-4 {
    column-count: 1;
    column-gap: 0
  }
}

@media (max-width: 1024px) and (min-width:769px) {

  .ez-toc-list.ez-toc-columns-3,
  .ez-toc-list.ez-toc-columns-4 {
    column-count: 2
  }
}

.ez-toc-counter nav ul li a::before {
  content: counters(item, '.', decimal) '. ';
  display: inline-block;
  counter-increment: item;
  flex-grow: 0;
  flex-shrink: 0;
  margin-right: .2em;
  float: left;
}

.ez-toc-counter nav ul {
  counter-reset: ez-toc;
}

.ez-toc-counter nav ul>li {
  counter-increment: ez-toc;
}

.ez-toc-counter nav ul>li>a::before {
  content: counter(ez-toc) ". ";
  margin-right: 0;
}

.ez-toc-counter nav ul ul {
  counter-reset: ez-toc-sub;
}

.ez-toc-counter nav ul ul>li {
  counter-increment: ez-toc-sub;
}

.ez-toc-counter nav ul ul>li>a::before {
  content: counter(ez-toc) "." counter(ez-toc-sub) ". ";
}

div#ez-toc-container ul li,
div#ez-toc-container ul li a {
  font-size: 95% !important;
}