@charset "UTF-8";
/* カラーコード
  ----------------------------------------------------------------- */
/* フォントファミリー
  ----------------------------------------------------------------- */
/* 関数
  ----------------------------------------------------------------- */
/* ######################################################################################
共通
###################################################################################### */
main {
  color: #231815;
  background-color: #F7F8F7;
  margin-top: 113.594px;
}
@media screen and (max-width: 1023px) {
  main {
    margin-top: unset;
  }
}

@media screen and (max-width: 1023px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .sp-only {
    display: none !important;
  }
}

/* ######################################################################################
記事一覧　lifestyle-posts
###################################################################################### */
/* posts-head
----------------------------------------------------------------- */
.posts-head {
  width: 95%;
  max-width: 1224px;
  margin: auto;
  padding: 24px 0;
  font-family: "Zen Old Mincho";
}
@media screen and (max-width: 1023px) {
  .posts-head {
    width: 100%;
    padding: 4.266666% 4.266666%;
  }
}
.posts-head .posts-head__subTitle {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #6A6C6C;
}
@media screen and (max-width: 1023px) {
  .posts-head .posts-head__subTitle {
    font-size: 3.7333333333vw;
    font-weight: 400;
  }
}
.posts-head .posts-head__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .posts-head .posts-head__title {
    font-size: 6.4vw;
  }
}
.posts-head .posts-head__title small {
  margin-left: 8px;
  font-size: 24px;
}
@media screen and (max-width: 1023px) {
  .posts-head .posts-head__title small {
    margin-left: 1.0666666667vw;
    font-size: 4.8vw;
  }
}
.posts-head .posts-head__lead {
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  color: #3A3B3B;
}
@media screen and (max-width: 1023px) {
  .posts-head .posts-head__lead {
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}

/* posts-body
----------------------------------------------------------------- */
.posts-body {
  padding-bottom: 160px;
}
@media screen and (max-width: 1023px) {
  .posts-body {
    padding-bottom: 21.3333333333vw;
  }
}

/* posts-container
----------------------------------------------------------------- */
.posts-container {
  width: 95%;
  max-width: 1016px;
  margin: auto;
}
@media screen and (max-width: 1023px) {
  .posts-container {
    width: 100%;
    padding: 0 4.266666%;
  }
}

/* posts-category
----------------------------------------------------------------- */
.posts-category {
  font-family: "Zen Old Mincho";
  overflow-x: auto;
  position: relative;
  width: 95%;
  max-width: 1016px;
  margin: 24px auto 0;
}
@media screen and (max-width: 1023px) {
  .posts-category {
    margin-top: unset;
    width: 100%;
    padding: 0 4.266666%;
  }
}

.posts-category__list {
  display: flex;
  align-items: flex-end;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 100%;
  position: relative;
}

.posts-category__link {
  display: inline-block;
  padding: 0 24px;
  line-height: 64px;
  white-space: nowrap;
  font-size: 20px;
  font-weight: 700;
  color: #7E807F;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .posts-category__link {
    padding: 0 4.2666666667vw;
    line-height: 12.8vw;
    font-size: 4.2666666667vw;
  }
}

.posts-category__list::after,
.posts-category__link::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #E5E5E5;
  width: 100%;
  height: 1px;
}

.posts-category__link,
.posts-category__link::before {
  transition: 0.3s ease-out;
}

.posts-category__link:hover,
.posts-category__link.is-active {
  color: #880000;
}
.posts-category__link:hover::before,
.posts-category__link.is-active::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background-color: #880000;
  z-index: 2;
}
@media screen and (max-width: 1023px) {
  .posts-category__link:hover::before,
  .posts-category__link.is-active::before {
    height: 2px;
  }
}

/* posts-tag
----------------------------------------------------------------- */
.posts-tag {
  font-family: "M PLUS 1p", sans-serif;
  margin-top: 40px;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .posts-tag {
    margin-top: 6.4vw;
  }
}

.posts-tag__list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .posts-tag__list {
    gap: 2.1333333333vw;
  }
}

.posts-tag__link {
  display: inline-block;
  padding: 0 8px;
  line-height: 26px;
  white-space: nowrap;
  font-size: 16px;
  font-weight: 400;
  color: #676767;
  background-color: rgba(225, 226, 225, 0.3);
  border-radius: 4px;
  transition: 0.3s opacity ease;
}
@media screen and (max-width: 1023px) {
  .posts-tag__link {
    line-height: 5.8666666667vw;
    font-size: 3.7333333333vw;
    padding: 0 2.1333333333vw;
    border-radius: 1.0666666667vw;
  }
}
.posts-tag__link:hover {
  opacity: 0.7;
}

/* posts-collection
----------------------------------------------------------------- */
.posts-collection {
  margin-top: 48px;
}
@media screen and (max-width: 1023px) {
  .posts-collection {
    margin-top: 10.6666666667vw;
  }
}

.posts-collection__item {
  padding: 40px 0;
}
.posts-collection__item:first-child {
  padding-top: unset;
}
.posts-collection__item:last-child {
  padding-bottom: unset;
}
.posts-collection__item + .posts-collection__item {
  border-top: 1px solid #CDCECD;
}

.posts-collection__link {
  display: flex;
  gap: 24px;
  transition: 0.3s opacity ease;
  align-items: center;
}
.posts-collection__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1023px) {
  .posts-collection__link {
    flex-direction: column;
    gap: 4.2666666667vw;
  }
}

.posts-collection__thumb {
  display: block;
  border-radius: 4px;
  width: 286px;
  aspect-ratio: 1000/562;
  -o-object-fit: cover;
     object-fit: cover;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 1023px) {
  .posts-collection__thumb {
    width: 100%;
    border-radius: 1.0666666667vw;
  }
}

.posts-collection__textArea {
  display: flex;
  flex-direction: column;
}

.posts-collection__date {
  font-size: 14px;
  color: #880000;
  font-weight: 400;
  font-family: "M PLUS 1p", sans-serif;
  line-height: 1.6;
  margin-bottom: 24px;
}
@media screen and (max-width: 1023px) {
  .posts-collection__date {
    font-size: 3.2vw;
    margin-bottom: 2.1333333333vw;
  }
}

.posts-collection__title {
  font-family: "Zen Old Mincho";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  margin-bottom: 24px;
}
@media screen and (max-width: 1023px) {
  .posts-collection__title {
    font-size: 4.8vw;
    margin-bottom: 4.2666666667vw;
  }
}

.posts-collection__tags {
  flex: 1;
  display: flex;
  align-items: flex-end;
}
.posts-collection__tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
@media screen and (max-width: 1023px) {
  .posts-collection__tags ul {
    gap: 1.0666666667vw;
  }
}
.posts-collection__tags ul li {
  white-space: nowrap;
  color: #ffffff;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 18px;
  padding: 0 4px;
  background-color: #4A4D4D;
  border-radius: 3px;
}
@media screen and (max-width: 1023px) {
  .posts-collection__tags ul li {
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
    padding: 0 1.0666666667vw;
    border-radius: 0.8vw;
  }
}

/* posts-pager
----------------------------------------------------------------- */
.posts-pager {
  margin-top: 80px;
  overflow-x: auto;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .posts-pager {
    margin-top: 21.3333333333vw;
  }
}

.posts-pager__list {
  display: inline-flex;
}

.posts-pager__item a {
  font-size: 16px;
  font-weight: 400;
  font-family: "M PLUS 1p", sans-serif;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 1px solid #CDCECD;
  border-bottom: 1px solid #CDCECD;
  transition: background-color 0.3s ease-out;
  background-color: #ffffff;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item a {
    font-size: 4.2666666667vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
}
.posts-pager__item.--prev a, .posts-pager__item.--next a {
  width: 24px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item.--prev a, .posts-pager__item.--next a {
    width: 6.4vw;
  }
}
.posts-pager__item.--prev a::before, .posts-pager__item.--next a::before {
  content: "";
  width: 6.23px;
  height: 6.23px;
  border: solid #fff;
  border-width: 1.2px 1.2px 0 0;
  display: inline-block;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item.--prev a::before, .posts-pager__item.--next a::before {
    width: 1.6613333333vw;
    height: 1.6613333333vw;
  }
}

.posts-pager__item + .posts-pager__item a {
  border-left: 1px solid #CDCECD;
}

.posts-pager__item:hover + .posts-pager__item a,
.posts-pager__item.is-active + .posts-pager__item a,
.posts-pager__item.--prev + .posts-pager__item a {
  border-left: unset !important;
}

.posts-pager__item.--prev a::before {
  transform: rotate(-135deg);
  margin-left: 3.1px;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item.--prev a::before {
    margin-left: 0.8266666667vw;
  }
}

.posts-pager__item.--next a::before {
  transform: rotate(45deg);
  margin-right: 3.1px;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item.--next a::before {
    margin-right: 0.8266666667vw;
  }
}

.posts-pager__item:hover a,
.posts-pager__item.--prev a,
.posts-pager__item.--next a,
.posts-pager__item.is-active a {
  color: #ffffff;
  background-color: #880000;
  border: unset !important;
}

.posts-pager__item:first-child a {
  border-radius: 4px 0 0 4px;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item:first-child a {
    border-radius: 1.0666666667vw 0 0 1.0666666667vw;
  }
}

.posts-pager__item:last-child a {
  border-radius: 0 4px 4px 0;
}
@media screen and (max-width: 1023px) {
  .posts-pager__item:last-child a {
    border-radius: 0 1.0666666667vw 1.0666666667vw 0;
  }
}

/* ######################################################################################
記事詳細　lifestyle-article
###################################################################################### */
/* article-container
----------------------------------------------------------------- */
.article-container {
  width: 95%;
  max-width: 808px;
  margin: auto;
  transform: rotate(0.03deg);
}
@media screen and (max-width: 1023px) {
  .article-container {
    width: 100%;
    padding: 0 4.266666%;
  }
}

/* article-head
----------------------------------------------------------------- */
.article-head {
  padding: 40px 0 64px;
}
@media screen and (max-width: 1023px) {
  .article-head {
    padding: 5.3333333333vw 0 10.6666666667vw;
  }
}
.article-head .article__date {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  font-family: "M PLUS 1p", sans-serif;
  color: #880000;
  margin-bottom: 24px;
}
@media screen and (max-width: 1023px) {
  .article-head .article__date {
    margin-bottom: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}
.article-head .article__title {
  font-weight: 700;
  font-size: 40px;
  font-family: "Zen Old Mincho";
  line-height: 1.4;
}
@media screen and (max-width: 1023px) {
  .article-head .article__title {
    font-size: 5.8666666667vw;
  }
}
.article-head .article-tag {
  flex: 1;
  display: flex;
  margin-top: 24px;
}
@media screen and (max-width: 1023px) {
  .article-head .article-tag {
    margin-top: 6.4vw;
  }
}
.article-head .article-tag__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
@media screen and (max-width: 1023px) {
  .article-head .article-tag__list {
    gap: 1.0666666667vw;
  }
}
.article-head .article-tag__link {
  display: inline-block;
  white-space: nowrap;
  color: #ffffff;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 18px;
  padding: 0 4px;
  background-color: #4A4D4D;
  border-radius: 3px;
  transition: 0.3s opacity ease;
}
@media screen and (max-width: 1023px) {
  .article-head .article-tag__link {
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
    padding: 0 1.0666666667vw;
    border-radius: 0.8vw;
  }
}
.article-head .article-tag__link:hover {
  opacity: 0.7;
}

.article-hero {
  width: 100%;
}
.article-hero img {
  display: block;
  width: 100%;
  aspect-ratio: 1000/562;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
}
@media screen and (max-width: 1023px) {
  .article-hero img {
    border-radius: 1.0666666667vw;
  }
}

.article-lead {
  margin-top: 40px;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .article-lead {
    margin-top: 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
}

/* article-toc
----------------------------------------------------------------- */
.article-toc {
  margin-top: 40px;
  border: 1px solid #E5E5E5;
  background-color: #ffffff;
  padding: 40px;
  border-radius: 4px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .article-toc {
    padding: 5.3333333333vw 6.4vw;
    margin-top: 10.6666666667vw;
    border-radius: 1.0666666667vw;
  }
}
.article-toc::before {
  content: "";
  display: block;
  position: absolute;
  left: 40px;
  top: 0;
  height: 4px;
  width: 54px;
  background-color: #880000;
}
@media screen and (max-width: 1023px) {
  .article-toc::before {
    left: 6.4vw;
    height: 1.0666666667vw;
    width: 14.4vw;
  }
}

.article-toc__title {
  font-family: "Zen Old Mincho";
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 24px;
}
@media screen and (max-width: 1023px) {
  .article-toc__title {
    margin-bottom: 4.2666666667vw;
    font-size: 4.8vw;
  }
}

.article-toc__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  counter-reset: number 0;
}
@media screen and (max-width: 1023px) {
  .article-toc__list {
    gap: 2.1333333333vw;
  }
}

.article-toc__link {
  border-radius: 6px;
  padding: 8px 16px;
  background-color: #F7F8F7;
  line-height: 1.6;
  font-size: 16px;
  font-weight: 400;
  font-family: "M PLUS 1p", sans-serif;
  display: flex;
  gap: 8px;
  position: relative;
  transition: 0.3s opacity ease;
}
.article-toc__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1023px) {
  .article-toc__link {
    border-radius: 1.6vw;
    padding: 2.1333333333vw 4.2666666667vw;
    font-size: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
.article-toc__link::before {
  counter-increment: number 1;
  content: counter(number) ".";
  color: #880000;
  font-size: 18px;
  font-family: "Marcellus", serif;
}
@media screen and (max-width: 1023px) {
  .article-toc__link::before {
    font-size: 4.8vw;
  }
}

/* article-content
----------------------------------------------------------------- */
.article-content {
  margin-top: 120px;
  position: relative;
  border-top: 1px solid #CDCECD;
}
@media screen and (max-width: 1023px) {
  .article-content {
    margin-top: 21.3333333333vw;
  }
}
.article-content::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 4px;
  background-color: #880000;
}
@media screen and (max-width: 1023px) {
  .article-content::before {
    width: 14.9333333333vw;
    height: 1.0666666667vw;
  }
}
.article-content .article-section__head01 {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.6;
  font-family: "Zen Old Mincho";
  margin-top: 80px;
  padding-bottom: 24px;
  position: relative;
  border-bottom: 1px solid #CDCECD;
}
@media screen and (max-width: 1023px) {
  .article-content .article-section__head01 {
    font-size: 5.3333333333vw;
    padding-bottom: 5.3333333333vw;
    margin-top: 21.3333333333vw;
  }
}
.article-content .article-section__head01::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  background-color: #880000;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 1023px) {
  .article-content .article-section__head01::after {
    display: none;
  }
}
.article-content .article-section__head02 {
  font-family: "Zen Old Mincho";
  font-size: 24px;
  position: relative;
  line-height: 1.6;
  font-weight: 700;
  padding-left: 20px;
  margin-top: 64px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .article-content .article-section__head02 {
    font-size: 4.8vw;
    padding-left: 5.3333333333vw;
    margin-top: 17.0666666667vw;
  }
}
.article-content .article-section__head02::before {
  content: "";
  display: block;
  background-color: #880000;
  width: 4px;
  height: 67.72597%;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 1023px) {
  .article-content .article-section__head02::before {
    width: 1.0666666667vw;
  }
}
.article-content .article-section__head03 {
  font-family: "Zen Old Mincho";
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
  margin-top: 40px;
}
@media screen and (max-width: 1023px) {
  .article-content .article-section__head03 {
    font-size: 4.2666666667vw;
    margin-top: 10.6666666667vw;
  }
}
.article-content .article-section__text:not(:first-child) {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  margin-top: 64px;
}
@media screen and (max-width: 1023px) {
  .article-content .article-section__text:not(:first-child) {
    margin-top: 10.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
.article-content .article-section__text + .article-section__text {
  margin-top: 1lh;
}
.article-content .article-media {
  margin-top: 40px;
}
@media screen and (max-width: 1023px) {
  .article-content .article-media {
    margin-top: 6.4vw;
  }
}
.article-content .article-media__box {
  border-radius: 8px;
  border: 1px solid #CDCECD;
  overflow: hidden;
  isolation: isolate;
}
@media screen and (max-width: 1023px) {
  .article-content .article-media__box {
    border-radius: 2.1333333333vw;
  }
}
.article-content .article-media__box img {
  display: block;
}
.article-content .article-media__box.--large {
  max-width: 560px;
  margin: auto;
}
.article-content .article-media__caption {
  font-size: 14px;
  margin-top: 8px;
  color: #7B7B7B;
}
@media screen and (max-width: 1023px) {
  .article-content .article-media__caption {
    font-size: 3.7333333333vw;
    margin-top: 2.1333333333vw;
  }
}

.article-textLink {
  align-items: center;
  justify-content: flex-end;
  display: flex;
  gap: 8px;
  padding: 4px;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .article-textLink {
    gap: 2.1333333333vw;
    padding: 1.0666666667vw;
  }
}
.article-textLink:not(:first-child) {
  margin-top: 64px;
}
@media screen and (max-width: 1023px) {
  .article-textLink:not(:first-child) {
    margin-top: 10.6666666667vw;
  }
}
.article-textLink span {
  font-family: "Zen Old Mincho";
  font-weight: 700;
  line-height: 1.4;
  font-size: 16px;
}
@media screen and (max-width: 1023px) {
  .article-textLink span {
    font-size: 3.7333333333vw;
  }
}
.article-textLink i {
  position: relative;
}
.article-textLink i::before {
  content: "";
  display: block;
  background-color: #880000;
  aspect-ratio: 14.22/24.38;
  width: auto;
  height: 14px;
  -webkit-mask-image: url(../../assets/img/icon_arrow_white.svg);
          mask-image: url(../../assets/img/icon_arrow_white.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1023px) {
  .article-textLink i::before {
    height: 3.7333333333vw;
  }
}
.article-textLink:hover {
  opacity: 0.75;
}
.article-textLink.--02 span {
  color: #880000;
  font-weight: 500;
  font-family: "M PLUS 1p", sans-serif;
}

/* article-linkArea
----------------------------------------------------------------- */
.article-linkArea {
  margin-top: 64px;
}
@media screen and (max-width: 1023px) {
  .article-linkArea {
    margin-top: 10.6666666667vw;
  }
}

.article-linkArea__box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
@media screen and (max-width: 1023px) {
  .article-linkArea__box {
    gap: 4.2666666667vw;
    flex-direction: column;
  }
}
.article-linkArea__box > * {
  flex: 1;
}
.article-linkArea__box + .article-linkArea__box {
  margin-top: 24px;
}
@media screen and (max-width: 1023px) {
  .article-linkArea__box + .article-linkArea__box {
    margin-top: 4.2666666667vw;
  }
}

.article-convBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 22px 16px;
  background-color: #880000;
  color: #ffffff;
  border-radius: 8px;
  position: relative;
  transition: opacity 0.3s ease;
}
.article-convBtn:hover {
  opacity: 0.7;
}
@media screen and (max-width: 1023px) {
  .article-convBtn {
    border-radius: 2.1333333333vw;
  }
}
.article-convBtn span {
  text-align: center;
  font-family: "M PLUS 1p", sans-serif;
  font-family: "Zen Old Mincho";
  display: block;
  font-weight: 500;
  position: relative;
  z-index: 2;
  font-size: 16px;
}
@media screen and (max-width: 1023px) {
  .article-convBtn span {
    font-size: 3.2vw;
  }
}

.article-textLink + .article-linkArea__box {
  margin-top: 24px;
}
@media screen and (max-width: 1023px) {
  .article-textLink + .article-linkArea__box {
    margin-top: 4.2666666667vw;
  }
}

.article-linkBtn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  padding: 22px 16px;
  border-radius: 8px;
  position: relative;
  background-color: #fff;
  overflow: hidden;
  isolation: isolate;
  max-width: calc((100% - 24px) / 2);
}
@media screen and (max-width: 1023px) {
  .article-linkBtn {
    max-width: unset;
  }
}
.article-linkBtn span {
  color: #231815;
  font-family: "Zen Old Mincho";
  display: block;
  font-weight: 500;
  transition: color 0.3s ease;
  position: relative;
  z-index: 2;
  font-size: 16px;
}
@media screen and (max-width: 1023px) {
  .article-linkBtn span {
    font-size: 3.2vw;
  }
}
.article-linkBtn i {
  position: absolute;
  right: 16px;
}
.article-linkBtn i::before {
  content: "";
  display: block;
  background-color: #880000;
  aspect-ratio: 14.22/24.38;
  width: auto;
  height: 14px;
  -webkit-mask-image: url(../../assets/img/icon_arrow_white.svg);
          mask-image: url(../../assets/img/icon_arrow_white.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1023px) {
  .article-linkBtn i::before {
    height: 3.7333333333vw;
  }
}
.article-linkBtn::after {
  content: "";
  position: absolute;
  background: rgba(136, 0, 0, 0.16);
  right: 0;
  display: block;
  width: 120px;
  height: 160px;
  content: "";
  border-radius: 50%;
  transition: all 0.3s ease-out;
  transform: translate(50%, 0%);
}
.article-linkBtn:hover span {
  color: #880000;
}
.article-linkBtn:hover::after {
  transform: translate(0%, 0%);
  border-radius: 0%;
  width: 100%;
}

/* article-relatedProperties
----------------------------------------------------------------- */
.article-relatedProperties {
  margin-top: 64px;
  position: relative;
  border-top: 1px solid #CDCECD;
  border-bottom: 1px solid #CDCECD;
  padding: 24px 0;
}
@media screen and (max-width: 1023px) {
  .article-relatedProperties {
    margin-top: 17.0666666667vw;
    padding: 6.4vw 0;
  }
}
.article-relatedProperties::before {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  background-color: #880000;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 1023px) {
  .article-relatedProperties::before {
    width: 14.9333333333vw;
    height: 1.0666666667vw;
  }
}
.article-relatedProperties .article-relatedProperties__title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  font-family: "Zen Old Mincho";
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 16px;
}
@media screen and (max-width: 1023px) {
  .article-relatedProperties .article-relatedProperties__title {
    font-size: 4.8vw;
    margin-bottom: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
.article-relatedProperties .article-relatedProperties__title::before {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background-image: url(../../lifestyle/img/common/icon_search.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1023px) {
  .article-relatedProperties .article-relatedProperties__title::before {
    width: 6.4vw;
    height: 6.4vw;
  }
}
.article-relatedProperties .article-relatedProperties__list {
  margin-left: 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
@media screen and (max-width: 1023px) {
  .article-relatedProperties .article-relatedProperties__list {
    margin-left: unset;
    gap: 4.2666666667vw;
  }
}
.article-relatedProperties .article-relatedProperties__link {
  color: #880000;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  font-family: "M PLUS 1p", sans-serif;
}
@media screen and (max-width: 1023px) {
  .article-relatedProperties .article-relatedProperties__link {
    font-size: 4.2666666667vw;
  }
}

/* article-share
----------------------------------------------------------------- */
.article-share {
  margin-top: 64px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1023px) {
  .article-share {
    margin-top: 17.0666666667vw;
  }
}
.article-share .article-share__list {
  background-color: #ffffff;
  border: 1px solid #CDCECD;
  border-left: 3px solid #880000;
  border-radius: 8px;
  display: inline-flex;
}
@media screen and (max-width: 1023px) {
  .article-share .article-share__list {
    border-left: 0.8vw solid #880000;
    border-radius: 2.1333333333vw;
  }
}
.article-share .article-share__list li + li {
  border-left: 1px solid #CDCECD;
}
.article-share .article-share__title span {
  display: inline-block;
  padding: 16px 24px;
  font-family: "Zen Old Mincho";
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
}
@media screen and (max-width: 1023px) {
  .article-share .article-share__title span {
    font-size: 4.2666666667vw;
    padding: 4.2666666667vw 6.4vw;
  }
}
.article-share .article-share__sns a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  height: 100%;
  transition: 0.3s opacity ease;
}
@media screen and (max-width: 1023px) {
  .article-share .article-share__sns a {
    padding: 0 4.2666666667vw;
  }
}
.article-share .article-share__sns a:hover {
  opacity: 0.7;
}
.article-share .article-share__sns a img {
  display: block;
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 1023px) {
  .article-share .article-share__sns a img {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
  }
}

/* related-articles__slider
----------------------------------------------------------------- */
.related-articles {
  width: 95%;
  max-width: 1224px;
  margin: 80px auto;
}
@media screen and (max-width: 1023px) {
  .related-articles {
    width: 100%;
    padding: 0 4.266666%;
    margin: 17.0666666667vw auto 10.6666666667vw;
  }
}

.related-articles__head {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.6;
  font-family: "Zen Old Mincho";
  padding-bottom: 16px;
  margin-bottom: 40px;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .related-articles__head {
    font-size: 4.8vw;
    padding-bottom: 2.1333333333vw;
    margin-bottom: 6.4vw;
  }
}
.related-articles__head::before {
  content: "";
  width: 54px;
  height: 4px;
  display: block;
  background-color: #880000;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}
@media screen and (max-width: 1023px) {
  .related-articles__head::before {
    width: 10.6666666667vw;
    height: 0.5333333333vw;
  }
}
.related-articles__head::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #CDCECD;
  position: absolute;
  left: 0;
  bottom: 3px;
}
@media screen and (max-width: 1023px) {
  .related-articles__head::after {
    bottom: 0.8vw;
  }
}

.related-articles__slider {
  margin-right: calc((1224px - 100vw) / 2);
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1224px) {
  .related-articles__slider {
    margin-right: -2.5%;
  }
}
@media screen and (max-width: 1023px) {
  .related-articles__slider {
    margin-right: unset;
  }
}
.related-articles__slider .swiper-container {
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-wrapper {
    transform: unset !important;
    display: flex;
    flex-direction: column;
    gap: 10.6666666667vw;
  }
}
.related-articles__slider .swiper-slide {
  max-width: 392px;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-slide {
    max-width: unset;
  }
}
.related-articles__slider .related-articles__link {
  display: flex;
  flex-direction: column;
  gap: 24px;
  transition: 0.3s opacity ease;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .related-articles__link {
    gap: 4.2666666667vw;
  }
}
.related-articles__slider .related-articles__link:hover {
  opacity: 0.7;
}
.related-articles__slider .related-articles__thumb {
  display: block;
  border-radius: 4px;
  width: 100%;
  aspect-ratio: 392/238.93;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .related-articles__thumb {
    border-radius: 1.0666666667vw;
  }
}
.related-articles__slider .related-articles__textArea {
  display: flex;
  flex-direction: column;
}
.related-articles__slider .related-articles__date {
  font-size: 12px;
  color: #880000;
  font-weight: 400;
  font-family: "M PLUS 1p", sans-serif;
  line-height: 1.6;
  margin-bottom: 8px;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .related-articles__date {
    font-size: 3.2vw;
    margin-bottom: 2.1333333333vw;
  }
}
.related-articles__slider .related-articles__title {
  font-family: "Zen Old Mincho";
  font-weight: 700;
  line-height: 1.4;
  font-size: 18px;
  margin-bottom: 16px;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .related-articles__title {
    font-size: 4.8vw;
    margin-bottom: 4.2666666667vw;
  }
}
.related-articles__slider .related-articles__tags {
  flex: 1;
  display: flex;
  align-items: flex-end;
}
.related-articles__slider .related-articles__tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .related-articles__tags ul {
    gap: 1.0666666667vw;
  }
}
.related-articles__slider .related-articles__tags ul li {
  white-space: nowrap;
  color: #ffffff;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 18px;
  padding: 0 4px;
  background-color: #4A4D4D;
  border-radius: 3px;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .related-articles__tags ul li {
    font-size: 2.6666666667vw;
    line-height: 4.8vw;
    padding: 0 1.0666666667vw;
    border-radius: 0.8vw;
  }
}
.related-articles__slider .swiper-option {
  width: 100%;
  max-width: 1224px;
  margin: 32px auto 32px 0;
  position: relative;
  height: 40px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media screen and (max-width: 1224px) {
  .related-articles__slider .swiper-option {
    margin-left: auto;
    padding-right: 2.5%;
  }
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-option {
    display: none;
  }
}
.related-articles__slider .swiper-button-prev,
.related-articles__slider .swiper-button-next {
  position: relative;
  top: unset;
  left: unset;
  right: unset;
  width: 40px;
  height: 40px;
  background: #880000;
  border-radius: 20px;
  transition: 0.3s ease-in;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-button-prev,
  .related-articles__slider .swiper-button-next {
    display: none;
  }
}
.related-articles__slider .swiper-button-prev::after,
.related-articles__slider .swiper-button-next::after {
  content: "";
  background: url(../../assets/img/icon_arrow_white.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: calc(50% - 7px);
  left: 0;
  right: 0;
  margin: auto;
  width: 7px;
  height: 14px;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-button-prev::after,
  .related-articles__slider .swiper-button-next::after {
    width: 2.1333333333vw;
    height: 3.2vw;
    top: calc(50% - 1.6vw);
    background-size: 100% auto;
  }
}
.related-articles__slider .swiper-button-prev:hover,
.related-articles__slider .swiper-button-next:hover {
  transform: scale(1.2, 1.2);
  background: #670606;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-button-prev:hover,
  .related-articles__slider .swiper-button-next:hover {
    transform: unset;
    background: #880000;
  }
}
.related-articles__slider .swiper-button-prev {
  margin: 0 8px 0 0;
}
@media screen and (max-width: 1023px) {
  .related-articles__slider .swiper-button-prev {
    margin-right: 1.6vw;
  }
}
.related-articles__slider .swiper-button-prev::after {
  transform: rotate(180deg);
}
.related-articles__slider .swiper-button-next {
  margin: 0;
}
.related-articles__slider .swiper-scrollbar {
  background: #B9BBBA;
  width: calc(100% - 104px);
  left: 0;
  bottom: calc(50% - 1px);
  height: 3px;
  overflow: hidden;
  margin-right: 16px;
}
.related-articles__slider .swiper-scrollbar span {
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #880000;
  border-radius: 7px;
  transform: scaleX(0);
  transform-origin: left center;
  transition-timing-function: linear;
}

.related-articles__button {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 1023px) {
  .related-articles__button {
    margin-top: 6.4vw;
  }
}

/* media index.cssに上書き
----------------------------------------------------------------- */
.media__heading {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 32px;
}
@media screen and (max-width: 1023px) {
  .media__heading {
    margin-bottom: 24px;
  }
}
.media__heading .media__heading__s {
  font-size: 24px;
}
@media screen and (max-width: 1023px) {
  .media__heading .media__heading__s {
    font-size: 18px;
  }
}
.media__heading .media__heading__l {
  font-size: 40px;
}
@media screen and (max-width: 1023px) {
  .media__heading .media__heading__l {
    font-size: 24px;
  }
}