html {
  scroll-behavior: smooth;
}

body {
  background-color: #f5f5f7;
  font-family: "Hind", "ryo-gothic-plusn", sans-serif;
  font-weight: 400;
  color: #3f3f3f;
  font-size: 0.875rem;
  width: 100%;
  max-width: 90rem;
  margin: 0 auto;
  letter-spacing: 0.02em;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

@media screen and (max-width: 960px) {
  body {
    max-width: initial;
    width: 100%;
  }
}

a {
  text-decoration: none;
  color: #3f3f3f;
}

ul {
  list-style: none;
}

ol {
  margin-left: 1rem;
}

header a,
footer a,
h2,
h3,
h4,
.category-list,
.category-date,
.all {
  text-transform: capitalize;
}

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

#lightbox .lb-image {
  border: none;
}

#mouse-stalker {
    position: fixed;
    top: 0;
    left: 0;
    width: 50px; 
    height: auto;
    pointer-events: none; 
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.2s; 
}

#mouse-stalker.is-visible {
    opacity: 1;
}

@media screen and (max-width: 430px) {
  #mouse-stalker {
    display: none;
  }
}

/*------------- ヘッダー(Top) -------------*/
header {
  position: fixed;
  display: flex;
  flex-direction: column;
  padding: 5rem 7.5rem 5rem 7.5rem;
  z-index: 5;
  gap: 0.5rem;
}

header svg {
  fill: #333333;
  width: 17.0625rem;
  height: 2.625rem;
}

header ul {
  display: flex;
  flex-direction: row;
  gap: 2rem;
}

header li a,
.more-button a {
  color: transparent;
  background: linear-gradient(to right, #7a7526 50%, #3f3f3f 50%) 100%;
  background-clip: text;
  background-size: 200% 100%;
  transition: background-position 0.3s;
}

header li a:hover,
.more-button a:hover {
  background-position: 0 100%;
}

.site-logo {
  opacity: 1;
  transform: translateX(0);
}

.home .site-logo {
  opacity: 0;
  transform: translateX(-20px);
}

.home .site-logo.is-visible {
  opacity: 1;
  transform: translateX(0);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

@media screen and (max-width: 960px) {
  header {
    position: sticky;
    position: -webkit-sticky;
    top: -3rem;
    padding: 5rem 1.5rem;
    gap: 0.875rem;
    /*margin-top: 3.125rem;*/
  }

  header svg {
    width: 15.8125rem;
    height: 2.4375rem;
  }

  header ul {
    gap: 1.5rem;
  }
}

/*------------- メイン -------------*/
main {
  flex: 1;
  display: flex;
  flex-direction: row;
  gap: 3.75rem;
  align-items: flex-end;
  margin-top: 15.125rem;
  padding: 0 7.5rem;
}

.child {
  flex-direction: column;
  gap: 0;
  align-items: initial;
}

.container {
  display: flex;
  flex-direction: row;
  gap: 3.75rem;
}

@media screen and (max-width: 960px) {
  main {
    flex-direction: column-reverse;
    gap: 8rem;
    margin-top: 4rem;
    padding: 0 1.5rem;
  }

  .container {
    flex-direction: column;
    gap: 4rem;
  }
}

/*------------- 左サイド -------------*/
.left-container {
  display: flex;
  flex-direction: row;
  height: 7.75rem;
  width: 50%;
  gap: 2rem;
}

.top-about {
  display: flex;
  flex-direction: column;
  margin: auto 0;
  gap: 1.5rem;
}

.prof-img img {
  width: 7.75rem;
  height: auto;
  border-radius: 50%;
}

.prof-img-sp {
  display: none;
}

.name-sns {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.author {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 0.625rem;
}

.name {
  font-size: 1rem;
  line-height: 100%;
  padding-bottom: 0.25rem;
}

.sns svg {
  width: 1rem;
  height: 1rem;
}

.name-sns .sns svg {
  fill: #3f3f3f;
}

.about-desc {
  font-size: 0.75rem;
  line-height: 150%;
  letter-spacing: 0;
}

@media screen and (max-width: 960px) {
  .left-container {
    width: 100%;
  }
}

@media screen and (max-width: 430px) {
  .left-container {
    gap: 1rem;
  }

  .prof-img {
    display: none;
  }

  .prof-img-sp {
    display: flex;
  }

  .prof-img-sp img {
    width: 4.625rem;
    height: auto;
  }

  .top-about {
    font-size: 0.75rem;
  }

  .name {
    font-size: 0.875rem;
  }

  .about-desc {
    line-height: 125%;
  }
}

/*------------- 右サイド -------------*/
.right-container {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}

.all-posts {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.h2 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  height: 7.75rem;
  margin: 0;
}

.h2 .heading {
  flex: 1;
}

.heading h2 {
  font-weight: 400;
  font-size: 1.5rem;
  height: 7.75rem;
}

.h2 .thumbnail {
  display: flex;
  align-items: flex-end;
}

.h2 img {
  width: 10.5625rem;
  height: 7rem;
  object-fit: cover;
}

#js-hover-img {
    transition: opacity 0.3s ease-in-out;
    opacity: 1;
}

#js-hover-img.is-hidden {
    opacity: 0;
}

.all-posts {
  display: flex;
  gap: 2rem;
}

.post {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4rem;
}

.post-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.post-item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  width: 100%;
}

.post-item > * {
  position: relative;
  z-index: 1;
}

.post-item::before {
  position: absolute;
  left: 0;
  width: 0;
  height: 100%;
  content: "";
  background-color: #d9d9cc;
  transition: 0.7s;
}

.post-item:hover::before {
  width: 100%;
}

.category {
  display: flex;
  flex-direction: row;
  font-size: 0.75rem;
  color: #89898a;
}

.title {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
}

.title h3 {
  font-size: 1rem;
  letter-spacing: 0.05em;
  font-weight: 400;
  flex: 0 0 auto;
  font-feature-settings: "palt";
  line-height: 100%;
  padding-bottom: 0.25rem;
  max-width: 75%;
}

.date {
  white-space: nowrap;
}

.dots-date {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.dots {
  flex: 1 1 auto;
  min-width: 1rem;
  height: 0.125rem;
  background-image: radial-gradient(
    circle,
    #89898a 0.0625rem,
    transparent 0.0625rem
  );
  background-size: 0.625rem 0.125rem;
  background-repeat: repeat-x;
  background-position: center;
}

.date,
.time {
  font-size: 0.8125rem;
  color: #89898a;
  flex: 0 0 auto;
}

.mutter .all-posts {
  gap: 4rem;
}

.fadein,
.fadein2 {
  opacity: 0;
  visibility: hidden;
}

.fadein {
  transition: all 1s;
  transform: translateY(150px);
}

.fadein2 {
  transition: all 1s;
  transform: translateY(30px);
}

.delay-1 {
  transition-delay: 0.3s;
}

.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mutter-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  font-size: 0.75rem;
  line-height: 150%;
}

.mutter-item {
  height: 7.75rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 0.0625rem dotted #89898a;
  overflow-wrap: break-word;
}

.mutter-item::-webkit-scrollbar {
  display: none;
}

.mutter-post {
  overflow-y: auto;
  scrollbar-width: none;
	display: flex;
    flex-direction: column;
    gap: 0.5rem;
	max-height: 5.5rem;
}

.mutter-post img {
  width: 100%;
  height: auto;
}

.mutter-text {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  overflow-wrap: break-word;
}

.like-date {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}
/*
.wpulike  {
  display: flex !important;
  gap: 0.25rem !important;
  font-size: 0.875rem !important;
  padding: 0 !important;
}

body .wp_ulike_pro-default .wp_ulike_counter,
body .wp_ulike_pro-default .wp_ulike_put_image,
body .wp_ulike_pro-default * {
    font-family: "Hind", sans-serif !important;
}

.wpulike-default button.wp_ulike_btn {
  color: #89898a !important;
  background-color: transparent !important;
  min-height: initial !important;
  max-height: initial !important;
}

.wpulike .wp_ulike_general_class .count-box {
color: #89898a !important;
}

.wpulike-default .count-box {
  border-radius: 0 !important;
  background-color: transparent !important;
  margin-left: 0 !important;
  line-height: initial !important;
  box-shadow: none !important;
}
*/
.wpulike-heart {
  display: flex !important;
  padding: 0 !important;  
  gap: 0.25rem !important;
  font-size: 0.875rem !important;
  color: #89898a !important;
} 

.wp_ulike_general_class {
  box-shadow: none !important; 
  padding: 0 !important;
}

.button.wp_ulike_btn {
  padding: 0.75rem !important;
   font-family: "Hind", sans-serif !important;
  }

.wp_ulike_counter_up {
  font-weight: 400 !important; 
  padding: 0 !important; 
  /*margin-top: 0.125rem !important;*/
}

.wpulike-heart .count-box {
  color: #89898a !important;
}

.wpulike .wp_ulike_general_class {
  gap: 0.25rem !important;
}

.wpulike-heart button.wp_ulike_btn,
.wpulike button.wp_ulike_btn,
.wpulike-heart .wp_ulike_put_image {
  padding: 0 !important;
}

.wpulike-heart .wp_ulike_put_image {
  padding-right: 1.25rem !important;
}

.date-time {
  margin-bottom: 0.1875rem;
}

.mutter .date,
.mutter .time {
  font-size: 0.75rem;
}

.more-button {
  font-size: 1rem;
}

.lb-container {
    padding: 0 !important;
    background-color: transparent;
}

.lightbox .lb-image,
.lb-outerContainer {
  border-radius: 0 !important;
}


@media screen and (max-width: 960px) {
  .right-container {
    width: 100%;
    margin: 5rem 0;
  }

  .h2 img {
    width: 10.1875rem;
  }

  .dots-date {
    justify-content: flex-end;
  }

  .dots {
    display: none;
  }

  .mutter-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    line-height: 150%;
  }

	.mutter-list .mutter-item:nth-child(9) {
    display: none;
  }
	
  .mutter-text {
    max-height: initial;
	margin-top: 0.125rem;
  }
}

/*------------- ヘッダー(Top以外) -------------*/
.header2 {
  display: flex;
  flex-direction: row;
  gap: 3.75rem;
  width: 100%;
}

.header2 svg {
  fill: #333333;
  width: 9.75rem;
  height: 1.5rem;
}

.header2 ul {
  gap: 1rem;
  padding-bottom: 0.4375rem;
  flex-wrap: wrap;
}

.header2 .left-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: initial;
  max-width: 35.625rem;
}

@media screen and (max-width: 960px) {
  .header2 .left-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: initial;
    max-width: 100%;
    gap: 0.5rem;
  }

  .header2 .right-container {
    display: none;
  }
}

/*------------- カテゴリー(アーカイブ共通部含む) -------------*/
.category-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.category-list a {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: flex-end;
}

.ctg-name,
.achv-name {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: flex-start;
}

.category-list .category,
.achv-name {
  font-size: 1rem;
}

.ctg-desc {
  display: none;
  font-size: 0.75rem;
  color: #7a7526;
  font-feature-settings: "palt";
}

.active-dot {
  opacity: 0;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 50%;
  background-color: #7a7526;
}

.current-ctg .active-dot,
.current-achv .active-dot {
  opacity: 1;
}

.current-ctg .ctg-desc {
  display: inline;
}

.current-ctg .category,
.achv-name {
  color: #3f3f3f;
}

.category-list li:not(.current-ctg) .category,
li:not(.current-achv) .achv-name {
  color: transparent;
  background: linear-gradient(to right, #7a7526 50%, #a7a7a8 50%) 100%;
  background-clip: text;
  -webkit-background-clip: text;
  background-size: 200% 100%;
  transition: background-position 0.3s;
}

.category-list li:not(.current-ctg) .category:hover,
li:not(.current-achv) .achv-name:hover {
  background-position: 0 100%;
}

@media screen and (max-width: 960px) {
  .category-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    width: 100%;
  }

  .category-list a {
    flex: 1;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }

  .child .left-container {
    height: fit-content;
  }

  .child .right-container {
    margin: 0;
  }

  .ctg-desc {
    line-height: 135%;
    margin-top: 0.25rem;
  }
}

/*------------- アーカイブ -------------*/
.archive {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
}

.archive .right-container {
  height: calc(100vh - 20.5625rem);
  overflow-y: auto;
}

.archive .right-container {
  scrollbar-width: none;
}

.archive .right-container::-webkit-scrollbar {
  display: none;
}

.archive-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(12, auto);
  grid-auto-columns: 1fr;
  gap: 1rem;
}

.archive-list li {
  cursor: pointer;
}

.is-disabled .category,
.is-disabled h3,
.is-disabled .date {
  color: #a7a7a8;
}

.month-anchor {
  scroll-margin-top: 20.5625rem;
}

.archive .post-list,
.archive .post {
  gap: 0;
}

.archive .post-item {
  margin-bottom: 2rem;
}

@media screen and (max-width: 960px) {
  .archive {
  flex-direction: column;
  }

  .archive-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
    height: fit-content;
    max-height: 6.5rem;
    overflow-y: auto;
    padding-right: 0.3125rem;
    /* IE/Edge用 */
    -ms-overflow-style: auto;
    /* Firefox用 */
    scrollbar-width: thin;
    scrollbar-color: #7a7526 #e5e5df; 
  }

  .archive-list::-webkit-scrollbar {
    display: block; 
    width: 0.5rem;
  }

  .archive-list::-webkit-scrollbar-track {
    background: #e5e5df;
  }

  .archive-list::-webkit-scrollbar-thumb {
    background: #7a7526;
    border-radius: 999px;
  }
}

/*------------- つぶやき -------------*/
.tag-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  width: 100%;
  gap: 0.5rem;
  font-size: 0.75rem;
}

.tag-page,
.tag-list li {
	height: fit-content;
}

.tag-list a {
  display: inline-flex;
  align-items: center;
  background-color: #fff;
  border-radius: 999px;
  padding: 0 1rem;
  height: 1.625rem;
  position: relative;
  color: #89898a;
  overflow: hidden;
  z-index: 1;
}

.tag-list a::before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: #89898a;
  transform: scaleX(0);
  transform-origin: center; /* leftにするか悩み中 */
  transition: transform 0.4s ease;
  border-radius: inherit;
  z-index: -1;
}

.tag-list a:hover::before {
  transform: scaleX(1);
}

.tag-list a:hover {
  color: #fff;
}

.tag-list a.current-tag {
  background-color: #89898a;
}

.tag-list a.current-tag {
  color: #fff;
}

.tag-list a.current-tag:hover::before {
  transform: none;
}

.mutter2 .mutter-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.tag {
  display: flex;
  gap: 0.5rem;
}

.tag a {
  color: #7a7526;
}
/*
.mutter2 .mutter-post {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
*/
@media screen and (max-width: 960px) {
  .tag-list {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 430px) {
  .mutter2 .mutter-list {
    display: flex;
    flex-direction: column;
  }

  .mutter2 .mutter-item {
    height: 9rem;
  }
	
	.mutter2 .mutter-item.has-post-thumbnail,
	.mutter2 .mutter-item.blogcard,
	.mutter2 .mutter-item.wp-block-embed-spotify{
    height: 14rem;
  }

  .mutter2 .mutter-post {
    font-size: 0.875rem;
	  max-height: initial;
  }
}

/*------------- About -------------*/
.child2 {
  display: flex;
  flex-direction: column;
  gap: 10.75rem;
}

.about,
.contact {
  width: 100%;
}

.about a,
.contact a {
  padding-bottom: 0;
  background-image: linear-gradient(#7a7526, #7a7526);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 0.0625rem;
  transition: background-size 0.6s;
  margin-bottom: -2px;
}

.about a:hover,
.contact a:hover {
  background-position: bottom left;
  background-size: 100% 0.0625rem;
}

.about .left-container {
  justify-content: flex-end;
}

.about .right-container {
  gap: 2rem;
}

.about .name {
  font-size: 1.25rem;
}

.about .about-desc {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.875rem;
}

.link {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.link-item {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}

.link-item svg {
  width: 1rem;
  height: 1rem;
}

.link .sns {
  fill: #3f3f3f;
}

.link-item span {
  font-size: 0.75rem;
  font-feature-settings: "palt";
}

.link-item a,
.contact .left-container a {
  color: #7a7526;
}

.link-item a svg {
  width: 0.5625rem;
  height: 0.5625rem;
}

.contact .left-container {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.contact .left-container p {
  font-size: 0.875rem;
}

form .wpcf7 {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.screen-reader-response,
.hidden-fields-container {
  display: none;
}

.form-group {
  margin-bottom: 1.5rem;
}

.form-group p {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
}

.form-group2 {
  flex-direction: column;
  gap: 0.5rem;
}

.form-group label {
  width: 10rem;
  font-feature-settings: "palt";
}

.form-group input,
.form-group2 input,
textarea {
  background-color: #fff;
  width: 100%;
}

.form-group span {
  width: 100%;
}

.form-group input {
  height: 2rem;
}

textarea {
  height: 13.75rem;
}

.submit-button {
  display: inline-flex;
  width: 6rem;
  justify-content: center;
  padding: 0.125rem 1.25rem 0.125rem 1.25rem;
  border: 0.09375rem dotted #3f3f3f;
  border-radius: 999px;
  position: relative;
  overflow: hidden;
  background-color: transparent;
  margin-top: 1.5rem;
}

.wpcf7-spinner {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important; 
}

.submit-button::before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: #25273f;
  mix-blend-mode: difference;
  transform: scaleX(0);
  transform-origin: left;
  transition: 0.7s;
  border-radius: inherit;
}

.submit-button:hover::before {
  transform: scaleX(1);
}

.submit-button:hover {
  color: #7a7526;
}

@media screen and (max-width: 960px) {
  .about .left-container,
  .contact .left-container {
    height: fit-content;
  }

  .about .left-container img {
    height: 10.1875rem;
  }

  .about .right-container,
  .contact .right-container {
    margin: 0;
  }

  .about .about-desc {
    line-height: 150%;
  }

  .link {
    gap: 1rem;
  }

  .sp {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: fit-content;
  }

  .contact .left-container {
    gap: 0.5rem;
  }

  .contact .left-container p {
    line-height: 150%;
  }

  .contact-form {
    gap: 1rem;
  }

  .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 0;
  }
}

/*------------- ページネーション -------------*/
.pagenation {
  display: flex;
  flex-direction: row;
  gap: 1.125rem;
  align-items: center;
  justify-content: center;
}

.nav-links {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}

.prev,
.next {
  display: flex;
  font-size: 0.75rem;
  align-items: center;
  padding-bottom: 0.125rem;
}

.pagenation .dots {
    background-image: none;
    width: auto; 
    height: auto; 
    flex: initial; 
    display: inline; 
}


/*------------- 投稿詳細 -------------*/
article {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  align-items: flex-end;
  margin-top: 15.125rem;
  padding: 0 7.5rem;
}

article .container {
  width: 100%;
  height: auto;
}

article .left-container,
article .right-container {
  gap: 0;
  height: auto;
}

.post-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-right: 0;
}

.post-heading h1,
.post-contents h2,
.post-contents h3,
.post-contents h4,
.post-pagenation,
.article-bottom {
  font-feature-settings: "palt";
  line-height: 115%;
}

.post-heading h1 {
  font-size: 2rem;
  font-weight: 400;
  width: 100%;
  text-align: left;
}

.category-date {
  display: flex;
  flex-direction: row;
  color: #89898a;
  font-size: 0.75rem;
  gap: 0.5rem;
}

.category-date a {
  color: #89898a;
}

.post-contents {
  display: flex;
  flex-direction: row;
  gap: 3.75rem;
  width: 100%;
  
}

.post-contents .left-container {
  justify-content: flex-end;
  height: auto;
  align-items: flex-start;
  width: 100%;
}

.post-contents .left-container img {
  width: 27.5rem;
  height: auto;
}

.post-contents .right-container {
  gap: 8rem;
  max-width: 35.625rem;
  width: 100%;
}

.wp-block-accordion-item {
		display: flex;
	flex-direction: column;
	gap: 2rem;
}

.wp-block-accordion-panel {
			display: flex;
	flex-direction: column;
	  gap: 2rem;
  margin-bottom: 5rem;
}

.post-contents .post {
  gap: 2rem;
  margin-bottom: 5rem;
}

.post-contents p,
.wp-block-accordion-panel p{
  line-height: 170%;
}

.post-contents .post p a {
  color: #7a7526;
}

.post-contents h2 {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 115%;
  margin: 3.5rem 0 0.75rem 0;
}

.post-contents h3 {
  font-size: 1rem;
  font-weight: 500;
  margin: 2.25rem 0 0.25rem 1rem;
}

.post-contents h4 {
  font-size: 1rem;
  font-weight: 400;
  margin: 2.25rem 0 0.25rem 1rem;
  padding-left: 1rem;
}

.post-contents h4::before {
  content: "";
  display: inline-block;
  width: 0.4375rem;
  height: 0.4375rem;
  margin: 0 0.5rem 0.125rem -1rem;
  background-image: url("../images/h4-dot.svg");
    background-size: contain;
    background-repeat: no-repeat;
}


.post-contents ul {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding-left: 1rem;
  list-style-type: disc;
  margin: 0 1rem;
}

.post-contents li {
  line-height: 160%;
}

.block {
  background-color: #e5e5df;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.block p {
  color: #7a7526;
}

.block-line {
  display: flex;
  border: 0.09375rem solid #7a7526;
  border-radius: 0.5rem;
  padding: 2rem 1.5rem;
}

.wp-block-image,
.wp-block-video {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-items: center;
  width: 100%;
  padding: 0.25rem 0;
}

.wp-block-image img {
  max-width: 100%;
}

.wp-block-image figcaption,
.wp-block-video figcaption {
  color: #89898a;
  font-size: 0.75rem;
}

.ad {
  background-color: #e5e5df;
  color: #7a7526;
  font-size: 0.75rem;
  padding: 0.5rem 0.75rem 0.375rem 0.75rem;
  margin-bottom: 2rem;
}

.article-bottom {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-bottom: 1rem;
  border-bottom: 0.09375rem dotted #89898a;
  font-size: 0.75rem;
  margin-top: 3rem;
}

.blogcard {
  display: flex;
  flex-direction: row;
  gap: 1.5rem;
  background-color: #fff;
  padding: 1.5rem;
}

.blogcard img {
  width: 7.75rem;
  height: 7.75rem;
  object-fit: cover;
}

.blogcard-info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
	font-size: 0.75rem;
  line-height: 135%;
}

.info .title {
  font-size: 0.875rem;
  font-weight: 500;
}

.url {
  color: #89898a;
  font-size: 0.625rem;
}

.pagenations {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  width: 100%;
  align-items: center;
}

.post-pagenation {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  height: auto;
}

.post-pagenation .prev,
.post-pagenation .next {
  display: flex;
  flex-direction: row;
  gap: 0;
  align-items: center;
  max-width: 8rem;
}

.post-pagenation .prev span,
.post-pagenation .next span,
.backtotop {
  font-size: 0.75rem;
  line-height: 115%;
  flex: 1;
  margin-top: 0.125rem;
}

.post-pagenation .prev svg,
.post-pagenation .next svg {
  width: 1.5rem;
  height: 1.5rem;
}

.backtotop {
  display: inline-flex;
  padding: 0.5rem 1rem 0.3125rem 1rem;
  border: 0.09375rem dotted #3f3f3f;
  border-radius: 999px;
  position: relative;
  overflow: hidden;
}

.backtotop::before {
  position: absolute;
  inset: 0;
  content: "";
  background-color: #25273f;
  mix-blend-mode: difference;
  transform: scaleX(0);
  transform-origin: left;
  transition: 0.7s;
  border-radius: inherit;
}

.backtotop:hover::before {
  transform: scaleX(1);
}

.backtotop:hover {
  color: #7a7526;
}

.policy-date {
  display: flex;
  margin-top: 2.5rem;
}

@media screen and (max-width: 960px) {
  article {
    margin-top: 0;
    padding: 0 1.5rem;
    width: 100%;
    gap: 1rem;
  }

  .post-contents {
    flex-direction: column;
    gap: 1rem;
  }

  .post-heading {
    width: 100%;
  }

  .post-heading h1 {
    text-align: left;
    width: 100%;
  }

  .post-contents .left-container img {
    width: 100%;
  }

  article .right-container {
    margin: 0;
  }

  .post-contents .post {
    gap: 1.75rem;
    margin-top: 2rem;
  }

  .post-contents p {
    line-height: 150%;
  }

  .blogcard {
    gap: 0.5rem;
    padding: 1rem;
  }

  .blogcard img {
    width: 6rem;
    height: 6rem;
  }

  .ad {
    margin-bottom: 0;
    padding: 0.375rem 0.75rem;
  }
}

.post-password-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.post-password-form input {
  background-color: #fff;
}

/* パスワード入力欄（input）全体 */
input[name="post_password"] {
    background-color: #fff;
}

/* 送信ボタン（確定） */
input[name="Submit"] {
  background-color: transparent;
  margin-left: 1rem;
}

/*------------- 404 -------------*/
.heading-404 img {
  width: 6.25rem;
  height: auto;
  position: absolute;
  left: 9.9375rem;
  top: 0;
}

@media screen and (max-width: 430px) {
  .heading-404 img {
  width: 4rem;
    left: 10rem;
}
}

/*------------- フッター -------------*/
footer {
  display: flex;
  justify-content: space-between;
  font-size: 0.625rem;
  padding: 7.5rem 7.5rem 5rem 7.5rem;
}

.footer-box {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
}

footer p {
  flex-direction: row;
}

.search-label {
  display: flex;
  flex-direction: row;
  color: #89898a;
  align-items: flex-end;
}

@media screen and (max-width: 960px) {
  footer {
    flex-direction: column;
    gap: 1rem;
    padding: 7.75rem 1.5rem 3.5rem 1.5rem;
  }
}

.search-heading {
  font-feature-settings: "palt";
}