/*------------------------------------
シングルページ用CSS
------------------------------------*/
#single_main .inner {
  display: flex;
  gap: 50px;
  width: 90%;
  padding: 50px 0 90px;
}
.single-content {
  width: calc(70% - 50px);
}
.widget-area {
  width: 30%;
}
.single-wrap .entry-header .entry-title {
  font-size: 1.5rem;
  border-bottom: 3px solid var(--color-main);
  line-height: 1.5;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
.entry-content h2 {
  font-size: 1.4rem;
  margin-top: 30px;
  border-bottom: 3px solid #D2D7DC;
  position: relative;
}
.entry-content h2::before {
  content: '';
  position: absolute;
  bottom: -3px;
  width: 30%;
  height: 3px;
  background: var(--color-main);
}
.entry-content h3 {
  padding-bottom: 0;
  border-bottom: unset;
  border-left: 5px solid var(--color-main);
  padding-left: 13px;
  margin-top: 30px;
  font-size: 20px;
}
.entry-content h4,
.entry-content h5 {
  margin-top: 20px;
}
.entry-content p {
  margin-top: 20px;
  font-size: 0.9rem;
}
.entry-content img {
  width: 100%;
  height: auto;
}
.entry-content ul {
  margin-top: 30px;
}
.entry-content ul li {
  padding-left: 10px;
  position: relative;
}
.entry-content ul li::before {
  content: "";
  width: 7px;
  height: 7px;
  display: block;
  border-radius: 50%;
  background-color: var(--color-main);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.entry-content table {
  width: 100%;
  margin-top: 30px;
}
.entry-content table th,
.entry-content table td {
  border-bottom: 1px solid #ddd;
  padding: 15px 0;
}
.entry-content table tr:first-child th,
.entry-content table tr:first-child td {
  border-top: 1px solid #ddd;
}
.single-wrap .post-thumbnail img {
  width: 100%;
}
.single-wrap .widget-area {
  padding-top: 2.5rem;
}
.single-wrap .post__pagination {
  margin: 50px auto 0;
}
.single-wrap .post__pagination .flex-container .post__pagination__left {
  width: 50%;
  border: 1px solid var(--color-main);
  height: 90px;
  padding: 0;
}
.single-wrap .post__pagination .flex-container .post__pagination__left a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.single-wrap .post__pagination .flex-container .post__pagination__left a .post__pagination__left__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-main);
  font-size: 0.9rem;
  width: 100%;
  max-width: 200px;
}
.single-wrap .post__pagination .flex-container .post__pagination__left a .post__pagination__left__mark {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  font-size: 1.2rem;
  color: var(--color-main);
  text-align: center;
  line-height: 1;
  font-weight: 100;
}
.single-wrap .post__pagination .flex-container .post__pagination__left a .post__pagination__left__mark span {
  font-size: 0.8rem;
  font-weight: 300;
}
.single-wrap .post__pagination .flex-container .post__pagination__right {
  width: 50%;
  border: 1px solid var(--color-main);
  height: 90px;
  padding: 0;
}
.single-wrap .post__pagination .flex-container .post__pagination__right a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.single-wrap .post__pagination .flex-container .post__pagination__right a .post__pagination__right__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--color-main);
  font-size: 0.9rem;
  width: 100%;
  max-width: 200px;
}
.single-wrap .post__pagination .flex-container .post__pagination__right a .post__pagination__right__mark {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-size: 1.2rem;
  color: var(--color-main);
  text-align: center;
  line-height: 1;
  font-weight: 100;
}
.single-wrap .post__pagination .flex-container .post__pagination__right a .post__pagination__right__mark span {
  font-size: 0.8rem;
  font-weight: 300;
}

/* ウィジェット */
#single-widget {
  margin-top: 20px;
}
#single-widget h2 {
  font-size: 1.2rem;
  background-color: var(--color-lightgray);
  text-align: center;
  padding: 10px;
  font-weight: bold;
}
#single-widget ul .widget-box {
  margin-top: 20px;
}
#single-widget ul .widget-box a {
  display: flex;
  gap: 10px;
}
#single-widget ul .widget-box a img {
  width: 100px;
}
#single-widget ul .widget-box a li {
  width: calc(100% - 110px);
  font-size: 0.9rem;
  color: var(--color-black);
}
#single-widget .category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 15px;
}
#single-widget .category-list li a {
  display: inline-block;
  border: 1px solid var(--color-main);
  color: var(--color-main);
  border-radius: 5px;
  padding: 6px 15px 3px;
  font-size: 0.8rem;
  font-weight: bold;
  transition: all 0.3s ease;
}
#single-widget .category-list li a:hover {
  background-color: var(--color-main);
  color: var(--color-white);
}

@media only screen and (max-width: 1080px) {
  .single-wrap .post__pagination .flex-container {
    flex-direction: column;
  }
  .single-wrap .post__pagination .flex-container .post__pagination__left {
    width: 100%;
    height: 90px;
    position: relative;
    bottom: -1px;
  }
  .single-wrap .post__pagination .flex-container .post__pagination__right {
    width: 100%;
    height: 90px;
  }
  #single_main .inner {
    gap: 20px;
    padding: 30px 0 60px;
  }
  .single-content {
    width: calc(70% - 20px);
  }
  .single-wrap .entry-header .entry-title {
    font-size: 1.3rem;
    padding-bottom: 0.3rem;
  }
  .page-content, .entry-content, 
  .entry-summary {
    margin: 1em 0 0;
  }
  #single-widget ul .widget-box a img {
    width: 80px;
  }
  #single-widget ul .widget-box a li {
    width: calc(100% - 90px);
    font-size: 0.8rem;
  }
  #single-widget .category-list li a {
    padding: 4px 10px 1px;
  }
  .entry-content h2 {
    font-size: 1.2rem;
  }
  .entry-content h3 {
    font-size: 1.1rem;
  }
  .entry-content h4 {
    font-size: 1rem;
  }
  .entry-content h5 {
    font-size: 1rem;
  }
  .entry-content ul li {
    font-size: 0.9rem;
  }
  .entry-content table th, 
  .entry-content table td {
    font-size: 0.9rem;
  }
}

@media only screen and (max-width: 767px) {
  .single-wrap .entry-header .entry-title {
    font-size: 1rem;
  }
  #single_main .inner {
    padding: 30px 0 60px;
    flex-direction: column;
  }
  .single-content {
    width: 100%;
  }
  .widget-area {
    width: 100%;
  }
  .entry-content h2 {
    font-size: 1rem;
  }
  .entry-content h3 {
    font-size: 1rem;
  }
  .entry-content h4 {
    font-size: 0.9rem;
  }
  .entry-content h5 {
    font-size: 0.9rem;
  }
  .entry-content ul li {
    font-size: 0.9rem;
  }
  .entry-content table th, 
  .entry-content table td {
    font-size: 0.9rem;
  }
  .entry-content p {
    font-size: 0.8rem;
  }
  .entry-content table th, 
  .entry-content table td {
    font-size: 0.8rem;
  }
}