/* ===============================================================
 404 page
===============================================================*/
.no-main .c-txt {
  margin: 3rem 0;
}
.no-main .c-catch {
  font-size: 2.4rem;
}
.no-main .c-btn02 {
  margin-bottom: 3rem;
}

/* ===============================================================
 under
===============================================================*/
.under-fv {
  position: relative;
  margin-top: -9.5rem;
  height: 27.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: url(../img/common/under-fv_bg.webp) no-repeat top center/cover;
}
@media screen and (max-width: 550px) {
  .under-fv {
    margin-top: -11.6rem;
  }
}
.under-fv__ttl {
  color: #f8f8e9;
  font-size: 2.4rem;
  font-weight: 400;
}
.under-fv__img {
  margin-bottom: 4.4rem;
}
.under-fv__img img {
  border-radius: 1.1rem 1.1rem 0 0;
  -webkit-border-radius: 1.1rem 1.1rem 0 0;
}

.sec-under {
  position: relative;
  margin-top: -1.1rem;
  padding: 6.7rem 0 12.3rem;
  border-radius: 1.1rem 1.1rem 0 0;
  -webkit-border-radius: 1.1rem 1.1rem 0 0;
  background-color: #eeeee9;
}

.sec-under02 {
  position: relative;
  margin-top: -1.1rem;
  padding-bottom: 6.1rem;
  border-radius: 1.1rem 1.1rem 0 0;
  -webkit-border-radius: 1.1rem 1.1rem 0 0;
  background-color: #e7e7e2;
}
.sec-under02 .c-catch {
  font-weight: 400;
}

.c-ttl02 {
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 400;
}

.c-catch {
  font-size: 3rem;
}
@media screen and (max-width: 500px) {
  .c-catch {
    font-size: 2.7rem;
  }
}

.c-catch__sm {
  font-size: 2.2rem;
  line-height: 1.3;
}

.c-txt02 {
  font-size: 1.6rem;
  line-height: 1.7;
}

.c-bg__txt.bg-wht {
  color: #8c836b;
  background-color: #fff;
  font-weight: 400;
}

.is-paged .wp-pagenavi_wrap {
  padding-right: 2.4rem;
}

.under-post__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.1rem;
}
.under-post__date {
  font-family: "Arial", sans-serif;
  color: #80765a;
  font-size: 1.2rem;
}
.under-post__cate {
  padding: 0.4rem 0.8rem 0.6rem;
  font-size: 1.1rem;
  background-color: #fff;
  border-radius: 0.3rem;
  -webkit-border-radius: 0.3rem;
}
.under-post__ttl {
  position: relative;
  margin-top: 1.3rem;
  padding-bottom: 0.3rem;
  font-size: 1.7rem;
  font-weight: 400;
}
.under-post__ttl span {
  transition: background-size 0.3s ease;
  background-image: linear-gradient(#0b1c25, #0b1c25);
  background-size: 0 1px;
  background-position: bottom right;
  background-repeat: no-repeat;
  -webkit-box-decoration-break: slice;
  box-decoration-break: slice;
}
.under-post__aside {
  margin-top: 7.8rem;
}
.under-post__dl:not(:first-of-type) {
  margin-top: 5.6rem;
}
.under-post__dl-cate {
  font-size: 1.7rem;
}
.under-post__dl-cate:not(:first-of-type) {
  margin-top: 2.4rem;
}
.under-post__dl-arc {
  font-size: 1.7rem;
}
.under-post__dl-arc:not(:first-of-type) {
  margin-top: 2.4rem;
}
.under-post__dt {
  padding-bottom: 1.6rem;
  font-family: "Marcellus", serif;
  font-size: 3.1rem;
  border-bottom: 1px solid rgba(161, 164, 156, 0.3);
}
.under-post__dd {
  margin-top: 2.8rem;
}
.under-post__acc.open .under-post__acc-dt::before {
  opacity: 0;
  transform: rotate(90deg);
}
.under-post__acc.open .under-post__acc-dd {
  opacity: 1;
  height: auto;
}
.under-post__acc-dt {
  position: relative;
  cursor: pointer;
}
.under-post__acc-dt::before, .under-post__acc-dt::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 1.4rem;
  top: calc(50% - 0.5rem);
  right: 0.7rem;
  background-color: #000;
  transition: all 0.3s ease;
}
.under-post__acc-dt::after {
  transform: rotate(90deg);
}
.under-post__acc-dd {
  opacity: 0;
  height: 0;
  transition: all 0.3s ease;
}
.under-post__acc-dd li {
  list-style: none;
}
.under-post__detail-ttl {
  margin-top: 1.8rem;
  margin-bottom: 3.4rem;
  padding-bottom: 2rem;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.7;
  border-bottom: 1px solid rgba(161, 164, 156, 0.3);
}
.under-post__detail-tumn img {
  border-radius: 0.4rem;
  -webkit-border-radius: 0.4rem;
}

.sec-detail .under-post__date {
  font-size: 1.5rem;
}
.sec-detail .under-post__cate {
  padding: 0.1rem 0.8rem;
  font-size: 1.3rem;
}

.wp-pagenavi_wrap {
  margin-top: 4.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem;
}

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem;
}
.wp-pagenavi a, .wp-pagenavi span {
  font-size: 1.5rem;
  font-family: "Arial", sans-serif;
}
.wp-pagenavi a.current, .wp-pagenavi span.current {
  display: block;
  width: 1em;
  color: #80765a;
  text-align: center;
}
.wp-pagenavi a.page, .wp-pagenavi span.page {
  display: block;
  width: 1em;
  text-align: center;
}

.previouspostslink,
.nextpostslink {
  position: relative;
  width: 4.8rem;
  height: 2.8rem;
  border: 1px solid rgba(11, 28, 37, 0.3);
  border-radius: 50%;
  -webkit-border-radius: 50%;
}
.previouspostslink::before,
.nextpostslink::before {
  position: absolute;
  content: "";
  width: 1.3rem;
  aspect-ratio: 23/14;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.previouspostslink::before {
  background-image: url(../img/common/arw-lft.webp);
}

.nextpostslink::before {
  background-image: url(../img/common/arw-rht.webp);
}

.extend {
  position: relative;
  top: -0.3em;
}

.sec-under {
  font-size: 1.7rem;
  line-height: 1.6;
}
@media screen and (max-width: 834px) {
  .sec-under {
    font-size: 1.6rem;
  }
}
.sec-under #ez-toc-container {
  margin-top: 4.5rem;
  margin-bottom: 5.6rem;
  padding: 2.8rem;
  width: 100%;
  background-color: #ddddd8;
  border-radius: 0.4rem;
  -webkit-border-radius: 0.4rem;
  border-width: 0;
}
.sec-under #ez-toc-container .ez-toc-title {
  position: relative;
  padding-left: 2.4rem;
  font-family: "Marcellus", serif;
  font-size: 1.7rem;
}
.sec-under #ez-toc-container .ez-toc-title::before {
  position: absolute;
  content: "";
  width: 1.4rem;
  aspect-ratio: 1;
  top: calc(50% - 0.9rem);
  left: 0;
  z-index: 1;
  background: url(../img/common/c-ttl_circle.webp) no-repeat center center/cover;
}
.sec-under .ez-toc-title-toggle {
  display: none;
}
.sec-under div#ez-toc-container ul li.ez-toc-heading-level-2 {
  margin-top: 2.8rem;
}
.sec-under #ez-toc-container ul ul, .sec-under .ez-toc div.ez-toc-widget-container ul ul {
  margin-left: 0;
}
.sec-under div#ez-toc-container ul li a {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  display: block;
  border-bottom: 1px solid rgba(161, 164, 156, 0.3);
  font-size: 1.7rem;
}
.sec-under div#ez-toc-container ul li ul li a,
.sec-under div#ez-toc-container ul li ul li ul li a,
.sec-under div#ez-toc-container ul li ul li ul li ul li a,
.sec-under div#ez-toc-container ul li ul li ul li ul li ul li a {
  margin-bottom: 1em;
  padding-bottom: 0;
  border-width: 0;
}
.sec-under div#ez-toc-container ul li ul li ul li a {
  margin-left: 0.5em;
}
.sec-under div#ez-toc-container ul li ul li ul li ul li a {
  margin-left: 2em;
}
@media screen and (max-width: 834px) {
  .sec-under div#ez-toc-container ul li ul li ul li ul li a {
    margin-left: 1em;
  }
}
.sec-under div#ez-toc-container ul li ul li ul li ul li ul li a {
  margin-left: 3em;
}
@media screen and (max-width: 834px) {
  .sec-under div#ez-toc-container ul li ul li ul li ul li ul li a {
    margin-left: 1.5em;
  }
}
.sec-under .wp-block-heading {
  margin-top: 5.6rem;
  margin-bottom: 3.4rem;
  font-weight: 400;
}
@media screen and (max-width: 834px) {
  .sec-under .wp-block-heading {
    margin-top: 4rem;
    margin-bottom: 2rem;
  }
}
.sec-under h2.wp-block-heading {
  padding: 1.7rem 0;
  font-size: 2.1rem;
  line-height: 1.3;
  border-top: 1px solid rgba(161, 164, 156, 0.3);
  border-bottom: 1px solid rgba(161, 164, 156, 0.3);
}
@media screen and (max-width: 834px) {
  .sec-under h2.wp-block-heading {
    font-size: 2rem;
  }
}
.sec-under h3.wp-block-heading {
  color: #80765a;
  font-size: 2.1rem;
}
@media screen and (max-width: 834px) {
  .sec-under h3.wp-block-heading {
    font-size: 2rem;
  }
}
.sec-under h4.wp-block-heading {
  padding: 0.5rem 1.8rem;
  width: fit-content;
  font-size: 1.9rem;
  background-color: #fff;
  border-radius: 0.4rem;
  -webkit-border-radius: 0.4rem;
}
@media screen and (max-width: 834px) {
  .sec-under h4.wp-block-heading {
    font-size: 1.8rem;
  }
}
.sec-under h5.wp-block-heading {
  position: relative;
  padding-left: 0.8em;
  font-size: 1.9rem;
}
@media screen and (max-width: 834px) {
  .sec-under h5.wp-block-heading {
    font-size: 1.8rem;
  }
}
.sec-under h5.wp-block-heading::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 1;
  background-color: #a09472;
}
.sec-under h6.wp-block-heading {
  position: relative;
  padding-left: 4.9rem;
  font-size: 1.9rem;
}
@media screen and (max-width: 834px) {
  .sec-under h6.wp-block-heading {
    font-size: 1.8rem;
  }
}
.sec-under h6.wp-block-heading::before {
  position: absolute;
  content: "";
  width: 3.4rem;
  height: 1px;
  top: 50%;
  left: 0;
  z-index: 1;
  background-color: rgba(161, 164, 156, 0.3);
}

.c-btn02.-back {
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-btn02.-back:hover .c-btn02__arw::before {
  transform: translate(-50%, -50%);
}
.c-btn02.-back .c-btn02__arw {
  position: absolute;
  left: 1.7rem;
}
.c-btn02.-back .c-btn02__arw::before {
  transform: translate(300%, -50%);
  background-image: url(../img/common/arw-lft_wht.webp);
}