/*---------------------------------
　設定
---------------------------------*/

@charset "utf-8";
/* CSS Document */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
a,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
article,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strike,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
tbody,
tfoot,
thead,
table,
tr,
th,
td,
img address header {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  font-family: 'Noto Sans JP', 'Nunito Sans', sans-serif;
  /* font-weight: 400; */
  line-height: 1.5;
  color: #333;
}

html {
  /* ルートのフォントサイズを10pxに設定しておく */
  font-size: 62.5%;
}
body {
  /* ルートのフォントサイズを1.6em（16pxと同等のサイズ）に設定 */
  font-size: 1.6em;
}
.non-scroll {
  overflow: hidden;
}
ul,
ol {
  list-style: none;
}
a {
  text-decoration: none;
  cursor: pointer;
  color: unset;
}
a:visited {
  color: unset;
}
a:hover {
  /* opacity: 0.7; */
  text-decoration: none;
}
img {
  vertical-align: middle;
  width: 100%;
  display: block;
  max-width: 100%;
  height: auto;
}
.cf:after {
  content: '';
  display: block;
  clear: both;
}
.nav-info a {
  text-decoration: none;
}

/* スマホ */
@media (max-width: 767px) {
}
/* ↓ */
@media (max-width: 960px) {
}

/*---------------------------------
　定義
---------------------------------*/
:root {
  /** 色 **/
  /* 基本カラー */
  --color-primary: #0073aa;
  --color-accent: #e60073;

  /* テキスト */
  --color-text: #333;
  --color-text-sub: #666;

  /* 背景 */
  --color-bg: #fff;
  --color-bg-light: #f9f9f9;

  /* 枠線など */
  --color-border-gray: #aaa;

  /* 状態 */
  --color-error: #d32f2f;
  --color-success: #388e3c;

  /* カテゴリー */
  --color-cat-diet-back: #c8dded;
  --color-cat-diet-point1: #74a3c9;
  --color-cat-diet-point2: #007ec3;

  --color-cat-health-back: #d2dbaf;
  --color-cat-health-point1: #92af6d;
  --color-cat-health-point2: #4b7d03;

  --color-cat-beauty-back: #e0c1da;
  --color-cat-beauty-point1: #c68ba8;
  --color-cat-beauty-point2: #bd4780;

  --color-cat-lifestyle-back: #ccc9e2;
  --color-cat-lifestyle-point1: #8a8bb2;
  --color-cat-lifestyle-point2: #6264ad;

  --color-cat-feature-back: #efdb8b;
  --color-cat-feature-point1: #cba745;
  --color-cat-feature-point2: #ad7400;

  /** サイズ **/
  --side-padding: 14vw;

  /* コンテンツ幅 */
  --contents-width: 900px;

  /* 個別記事調整 */
  --article-link-width: 620px;
  --article-card-width: 700px;
  --article-text-width: 800px;

  --article-padding-left: 50px;
  --article-padding-right: 50px;
}
@media (max-width: 1300px) {
  :root {
    --side-padding: 10vw;
  }
}
@media (max-width: 960px) {
  :root {
    --side-padding: 20px;

    --article-link-width: 100%;
    --article-card-width: 100%;
    --article-text-width: 100%;

    --article-padding-left: 0;
    --article-padding-right: 0;
  }
}

/*---------------------------------
　共通
---------------------------------*/
body {
  background-color: #f7f7f7;
}

.btn-more-container {
  text-align: center;
}
.btn-more-container .btn-more {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 18px 85px 16px;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 999px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-more-container .btn-text {
  font-family: 'Nunito Sans', sans-serif;
  color: inherit;
  position: relative;
  z-index: 1;
  line-height: 1;
  font-weight: 700;
  transition: color 0.2s ease;
}
.btn-more-container .btn-icon {
  position: absolute;
  top: 50%;
  right: 5.5%;
  transform: translateY(-50%);
  display: inline-block;
  width: 32px;
  height: 24px;
}
.btn-more-container .btn-icon svg {
  width: 100%;
  height: 100%;
  color: #333;
  transition: color 0.2s ease;
}
.btn-more-container .arrow-icon {
  color: inherit;
}

/* PC時、hoverで反転 */
@media (min-width: 960px) {
  .btn-more:hover {
    background-color: #333;
    color: #fff;
  }
  .btn-more:hover .btn-icon svg {
    color: #fff;
  }
}
/* SP時、activeで反転 */
@media (max-width: 960px) {
  .btn-more-container .btn-more {
    -webkit-tap-highlight-color: transparent;
    transition: none;
  }
  .btn-more:active {
    background-color: #333;
    color: #fff;
  }
  .btn-more:active .btn-icon svg {
    color: #fff;
  }
}

.pc {
  display: block;
}
.sp {
  display: none;
}
/* スマホ */
@media (max-width: 960px) {
  .btn-more-container .btn-more {
    font-size: clamp(1.2rem, 3.5vw, 1.6rem);
    width: 68%;
    padding: 16px 10px 14px;
  }
  .btn-more-container .btn-icon {
    width: 26px;
    height: 20px;
    right: 5.8%;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

/* コンポーネント */
.txt-center {
  text-align: center;
}
.txt-left {
  text-align: left;
}
.txt-right {
  text-align: right;
}
.back-white {
  background-color: #fff;
  font-weight: 600;
}
.bg-white {
  background-color: #ffffff;
}
.bg-f7 {
  background-color: #f7f7f7;
}
.max-wid-900 {
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 960px) {
  /* PC時のテーブルはwidth100%のためSPだけ */
  /* ノーマル（デフォルト） */
  .table-normal > table {
    width: 650px !important;
  }
  /* せまめ */
  .table-narrow > table {
    width: 400px !important;
  }
  /* ややせまめ */
  .table-semi-narrow > table {
    width: 500px !important;
  }
  /* ややおおきめ */
  .table-semi-wide > table {
    width: 750px !important;
  }
  /* 大きめ */
  .table-wide > table {
    width: 900px !important;
  }
  /* フル幅（100%） */
  .table-full > table {
    width: 100% !important;
  }
}
/*---------------------------------
　全体
---------------------------------*/
.wrapper {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: 7.81vw 0 0;
  overflow-x: hidden;
}
.sec-list {
  padding: 50px var(--side-padding) 50px;
  /* max-width: var(--contents-width);
  margin: 0 auto;
  padding: 50px 0 50px; */
  position: relative;
}
.sec-list::after {
  content: '';
  position: absolute;
  left: 50%; /* コンテナ中央を基準に */
  bottom: 0;
  width: 100vw; /* ビューポート幅いっぱい */
  height: 1px;
  background: #888;
  transform: translateX(-50%); /* 中央基準で全幅に補正 */
}
.sec-about {
  position: relative;
  margin: 2vw 0 0;
  border-bottom: 1px solid #888;
}
.sec-about .about-intro {
  max-width: 900px;
  margin: 0 auto;
}
.sec-about .about-category .category-list li > .list-item {
  max-width: 900px;
  margin: 0 auto;
}
.sec-about .about-closing {
  max-width: 900px;
  margin: 0 auto;
  padding: 2% 0 6%;
}
.sec-article {
  padding: 30px 0 50px;
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}
.sec-related {
  padding: 60px var(--side-padding);
  position: relative;
  background-color: #fff;
  border-top: 1px solid #888;
}
.sec-top {
  padding: 0 var(--side-padding);
  /* margin: 60px 0 120px; */
  margin: 3% 0 4.5%;
  position: relative;
}
.sec-new {
  padding: 0 var(--side-padding);
  /* max-width: var(--contents-width);
  margin: 0 auto; */
  position: relative;
  padding-bottom: 100px;
  border-bottom: 1px solid #888;
}
.sec-story {
  position: relative;
  padding: 60px var(--side-padding) 100px;
  background-color: #fff;
  border-bottom: 1px solid #888;
}
.single .sec-story {
  padding-top: 0;
}
.sec-movie {
  display: none;
  position: relative;
  padding: 60px var(--side-padding) 100px;
  background-color: #fff;
  border-bottom: 1px solid #888;
}
.sec-category {
  position: relative;
  padding: 60px var(--side-padding);
  border-bottom: 1px solid #888;
  background-color: #f7f7f7;
}
.sec-tags {
  position: relative;
  padding: 60px var(--side-padding) 70px;
  background-color: #fff;
  border-bottom: 1px solid #888;
}
.sec-footer {
  position: relative;
  padding: 120px var(--side-padding) 50px;
  background-color: #f7f7f7;
}
@media (max-width: 1300px) {
  .wrapper {
    padding: 10.76vw 0 0;
  }
  .sec-top {
    margin: 0 0 60px;
  }
}
@media (max-width: 1050px) {
  .sec-article {
    padding: 30px var(--side-padding) 50px;
  }
}
@media (max-width: 960px) {
  .wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 14% 0 0;
  }
  .sec-list {
    padding: 20px var(--side-padding) 60px;
  }
  .sec-about {
    margin: 8vw 0 0;
  }
  .sec-about .about-intro {
    padding: 0 var(--side-padding);
  }
  .sec-about .about-category {
  }
  .sec-about .about-category .category-list li > .list-item {
    padding: var(--side-padding);
  }
  .sec-about .about-closing {
    padding: 9% var(--side-padding) 16%;
  }
  .sec-article {
    padding: 20px var(--side-padding) 40px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
  }
  .sec-top {
    margin: 3% 0 60px;
  }
  .sec-new {
    padding: 0 var(--side-padding) 60px;
  }
  .sec-story {
    padding: 50px var(--side-padding) 60px;
  }
  .sec-movie {
    padding: 50px var(--side-padding) 60px;
  }
  .sec-category {
    padding: 50px var(--side-padding) 40px;
  }
  .sec-tags {
    padding: 35px 0 40px;
  }
  .sec-footer {
    padding: 90px 0 60px;
  }
}
@media (max-width: 767px) {
  .wrapper {
    padding: 20% 0 0;
  }
}

/*---------------------------------
投稿者プロフィール内の「最新の投稿」カテゴリ非表示
プロフィールの表示は「VK Post Author Display」プラグインで自動表示
---------------------------------*/
#latestEntries {
  display: none;
}
#latestEntries li.thumbnailBox .postImage a.padCate {
  display: none;
}

@media screen and (max-width: 600px) {
  #padSection #latestEntries ul li.thumbnailBox a.padCate {
    display: none;
  }
}

/*---------------------------------
　パンくず
---------------------------------*/
.breadcrumb_list {
  font-size: 1.4rem;
  margin: 0 0 50px;
}
.breadcrumb_list li {
  display: inline-block;
  padding: 0 20px 0 0;
  position: relative;
}
.breadcrumb_list li:last-of-type {
  padding: 0;
}
.breadcrumb_list li:after {
  content: '/';
  position: absolute;
  top: 0;
  right: 5px;
  color: #888;
}
.breadcrumb_list li:last-child:after {
  display: none;
}
.breadcrumb_list li a {
  transition: opacity 0.2s ease;
}
.breadcrumb_list li a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 960px) {
  .breadcrumb_list {
    font-size: 1.2rem;
    margin: 0 0 15px;
  }
  .breadcrumb_list_single {
    font-size: 0.9rem;
    padding: 5px 0 5px;
    margin: 11px 0 8px;
  }
  .breadcrumb_list_single li {
    color: #4d4d4d;
  }
}
/*---------------------------------
　トップスライダー
---------------------------------*/
.top-slider {
  box-sizing: border-box;
  position: relative;
  width: 100%;
}

.top-slider .swiper-wrapper {
  margin-bottom: 3%;
}

.left-mask {
  display: none;
  position: absolute;
  top: -2%;
  left: 0;
  width: calc(var(--side-padding) - 10px);
  height: 105%;
  background: #f7f7f7;
  z-index: 10;
  pointer-events: none; /* マスクの上でもクリックやスワイプが通る */
}
.left-mask.bg-white {
  background: #fff;
  top: 5%;
  height: 90%;
}
/* スマホ */
@media (max-width: 960px) {
  .left-mask {
    width: calc(var(--side-padding) - 5px);
  }
}

.top-slider .swiper-slide {
  aspect-ratio: 1.9;
  display: flex;
  background: #fff;
  border-radius: 16px;
  box-shadow: 5px 5px 6px rgba(0, 0, 0, 0.14);
  overflow: hidden;
}
.top-slider .swiper-slide:last-child {
  margin-right: 0; /* 最後のスライドは余白なしに */
}
.top-slider .slide-article {
  position: relative;
}
.top-slider .slide-link {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
}
.top-slider .stretched-link::after {
  content: '';
  position: absolute;
  inset: 0; /* 親の article 全体に広げる */
  z-index: 2;
}
/* 左：画像（1:1にトリミング） */
.top-slider .slide-thumb {
  width: 53%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.top-slider .slide-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.top-slider .slide-article:hover .slide-thumb img {
  /* transform: scale(1.1); */
  opacity: 1;
}

.top-slider .slide-meta {
  flex: 1;
  padding: 3.5%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

/* 各要素装飾 */
.top-slider .slide-category.sp {
  display: none;
}
.top-slider .slide-category {
  display: inline-flex;
  align-items: center;
  background-color: #fff;
  width: auto;
  position: absolute;
  top: 13.8%;
  left: 0;
  padding: 1.5% 2.5% 1.5% 2.8%;
}
.top-slider .slide-category .cat-dot {
  display: flex;
  align-items: center;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  transition: transform 0.3s ease;
}
/* .slide-article にホバーしている間だけアニメーション */
.top-slider .slide-article:hover .cat-dot {
  animation: pulse-jitter 1.1s infinite ease-in-out;
}
/* アニメーション定義 */
@keyframes pulse-jitter {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(1.15);
  }
  50% {
    transform: scale(1);
  }
  75% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}

.top-slider .slide-category .cat-label {
  font-family: 'Nunito Sans', sans-serif;
  font-size: clamp(1.2rem, 0.8vw, 1.6rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-top: 1.9%;
}
.top-slider .slide-title {
  flex-shrink: 0;
  font-size: clamp(1.6rem, 1.65vw, 3.5rem);
  font-weight: bold;
  margin: 28% 0 6.5%;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* ← ここで「3行まで」に制限 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  text-align: justify;
  letter-spacing: 0.05em;
  position: relative;
}
.highlight-white {
  background: #fff;
  font-weight: 700;
}
.slide-title .highlight-white {
  padding-bottom: 0.1em;
}
.highlight-white-grd {
  background: linear-gradient(transparent 10%, white 10%, white 98%, transparent 98%);
  font-weight: 700;
}

/* タグ */
.top-slider .tag_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2% 3%;
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 5em;
  overflow: hidden;
}
.top-slider .tag_list li {
  margin-bottom: 0.6em;
}
.top-slider .tag_list li .tag_link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 0.6vw, 1.2rem);
  color: #555;
  line-height: 1;
  letter-spacing: 0.03em;
  height: 2.8em;
  position: relative;
  z-index: 3;
  transition: all 0.2s ease;
  padding: 5px 10px;
  border: 1px solid #555;
  border-radius: 999px;
}
/* PC時のみ */
@media (min-width: 960px) {
  .top-slider .tag_list li .tag_link:hover {
    background-color: #555;
    color: #fff;
  }
}

.top-slider .slide-date {
  font-size: 1.1rem;
  font-weight: 400;
  color: #888;
  margin-top: auto;
  margin-right: 3%;
  text-align: right;
}

/* ページネーションカスタム */
.swiper-custom-pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  margin-top: 20px;
}
.swiper-custom-pagination .pagination-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.swiper-custom-pagination .page-btn {
  width: 32px;
  height: 32px;
  border: 1px solid #333;
  border-radius: 50%;
  color: #333;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background-color: transparent;
}
.swiper-custom-pagination .page-btn:hover {
  background-color: #333;
  color: #fff;
  border-color: #333;
}
.swiper-custom-pagination .page-info {
  display: flex;
  align-items: center;
  margin-top: 3px;
  padding: 0 22px;
}
.swiper-custom-pagination .page-info span {
  line-height: 1;
  width: 35px;
}
.swiper-custom-pagination .page-info span:first-of-type {
  border-right: 1px solid #333;
}
.swiper-custom-pagination .page-info span:nth-of-type(2) {
  text-align: right;
  width: 41px;
}
.swiper-custom-pagination .swiper-button-prev,
.swiper-custom-pagination .swiper-button-next {
  position: static !important;
  transform: none !important;
  margin-top: 0 !important;
}
.swiper-custom-pagination .swiper-button-prev::after,
.swiper-custom-pagination .swiper-button-next::after {
  font-size: 8px;
  font-weight: bold;
}
.swiper-custom-pagination .swiper-button-prev::after {
  margin-left: -2px;
}
.swiper-custom-pagination .swiper-button-next::after {
  margin-left: 1px;
}
@media (max-width: 1560px) {
  .top-slider .tag_list {
    max-height: 4.5em;
  }
}
@media (max-width: 960px) {
  .top-slider .swiper-slide {
    aspect-ratio: unset; /* ← 削除 or 無効化 */
    height: auto;
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.13);
  }
  .top-slider .slide-link {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  .top-slider .slide-link:hover img {
    transform: none;
  }
  .top-slider .slide-inner {
    display: block;
  }
  .top-slider .slide-meta {
    justify-content: flex-start;
    padding: 3.7% 6.3%;
    flex: 1;
  }
  .top-slider .slide-thumb {
    width: 100%;
  }
  .top-slider .slide-category.pc {
    display: none;
  }
  .top-slider .slide-category.sp {
    display: none; /* SPは一旦非表示 */
    /* display: inline-flex; */
    top: 10%;
    padding: 1.5% 2.5% 1.5% 2.9%;
  }
  .top-slider .slide-category .cat-label {
    font-size: clamp(1.1rem, 3vw, 1.3rem);
    margin-top: 2%;
  }
  .top-slider .slide-title {
    font-size: clamp(2rem, 6vw, 3rem);
    margin: 0 0 2.4%;
    line-height: 1.55;
  }
  .slide-title .highlight-white {
    line-height: 1.9;
  }
  .top-slider .tag_list {
    gap: 2% 2%;
    max-height: 2.1em;
    overflow: hidden;
  }
  .top-slider .tag_list li {
    margin-bottom: 0.5em;
  }
  .top-slider .tag_list li .tag_link {
    font-size: clamp(0.7rem, 2.5vw, 1.2rem);
    padding: 5px 9px 4px;
  }
  .top-slider .slide-date {
    margin-right: 2%;
  }
  .swiper-custom-pagination {
    justify-content: flex-start;
  }
  .swiper-custom-pagination .page-btn {
    width: 24px;
    height: 24px;
  }
  .swiper-custom-pagination .page-info {
    padding: 0 16px;
  }
  .swiper-custom-pagination .page-info span {
    line-height: 1;
    width: 28px;
    font-size: 13px;
  }
  .swiper-custom-pagination .page-info span:nth-of-type(2) {
    width: 34px;
  }
}

/*---------------------------------
　さくっと解説スライダー
---------------------------------*/
.story-slider {
  box-sizing: border-box;
  position: relative;
  width: 100%;
}
.story-slider .swiper-wrapper {
  margin-bottom: 3%;
}
.story-slider .swiper-slide {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
.story-slider .swiper-slide:last-child {
  margin-right: 0;
}
.story-slider .slide-link {
  display: block;
}
.story-slider .slide-thumb {
  width: 100%;
  overflow: hidden;
  position: relative;
}
/* 廃止（念のため残す） */
.story-slider .slide-thumb::after {
  /* content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 85%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.4), transparent);
  pointer-events: none;
  z-index: 2; */
}
.story-slider .slide-thumb img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  vertical-align: bottom;
  transition: transform 0.4s ease;
}
.story-slider .slide-link:hover img {
  /* transform: scale(1.1); */
  opacity: 1;
}
.story-slider .slide-title {
  position: absolute;
  bottom: 3.5%;
  left: 7%;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* ← ここで「3行まで」に制限 */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  letter-spacing: 0.05em;
  z-index: 3;
}
/* ページネーション */
.explanation-slider .swiper-custom-pagination {
  justify-content: flex-start;
  margin-top: 4.8%;
}
.explanation-slider .swiper-custom-pagination .swiper-progress-bar {
  flex: 1; /* ← 残り全幅を使って右に表示 */
  height: 2px;
  background-color: #ddd;
  position: relative;
  border-radius: 5px;
  margin: 0 10px;
}
.explanation-slider .swiper-custom-pagination .swiper-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #333;
  width: 10%;
  transition: width 0.3s ease;
}
.explanation-slider .btn-more-container .btn-more {
  font-size: 1.7rem;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 5px 10px;
  border: none;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.explanation-slider .btn-more-container .btn-more:hover {
  background-color: transparent !important;
  color: inherit !important;
  opacity: 0.8;
}
.explanation-slider .btn-more-container .btn-more img {
  width: 30px;
}
.explanation-slider .btn-more-container .btn-text {
  font-family: 'Nunito Sans', sans-serif;
  padding-right: 14px;
}

/* スマホ */
@media (max-width: 960px) {
  .story-slider .swiper-slide {
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  }
  .explanation-slider .swiper-custom-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 6.5%;
  }
  .explanation-slider .swiper-custom-pagination .swiper-progress-bar {
    order: -1;
    flex: none;
    width: 100%;
    margin: 0;
  }
  .explanation-slider .btn-more-container {
    flex-shrink: 1;
    text-align: right;
    max-width: 100%;
  }
  .explanation-slider .btn-more-container .btn-more {
    width: 100%;
  }
  .explanation-slider .btn-more-container .btn-text {
    padding-right: 10px;
    font-size: 1.4rem;
    margin-top: 2%;
  }
  .explanation-slider .btn-more-container .btn-more img {
    width: 24px;
  }
}
/*---------------------------------
　コンテンツ
---------------------------------*/
.typing-count02 {
  width: 3.5ch;
  animation: typingLoop02 3s steps(2, end) 0.5s infinite, blink 0.9s step-end infinite;
}
.typing-count05 {
  width: 8.9ch;
  animation: typingLoop05 5s steps(5, end) 0.5s infinite, blink 0.9s step-end infinite;
}
.typing-count06 {
  width: 10.6ch;
  animation: typingLoop06 5s steps(6, end) 0.5s infinite, blink 0.9s step-end infinite;
}
.typing-count07 {
  width: 12.5ch;
  animation: typingLoop07 5.5s steps(7, end) 0.5s infinite, blink 0.9s step-end infinite;
}
.typing-count10 {
  width: 17.8ch;
  animation: typingLoop10 7s steps(10, end) 0.5s infinite, blink 0.9s step-end infinite;
}
.tit_blog {
  max-width: fit-content;
  font-size: clamp(3rem, 2.7vw, 3.7rem);
  font-weight: 700;
  margin: 0 0 40px;
  padding: 3px 0;
  letter-spacing: 0.05em;
  /* タイピング表示設定 */
  white-space: nowrap;
  overflow: hidden;
  border-right: 1px solid #333;
  line-height: 1.15;
}
@keyframes typingLoop02 {
  0% {
    width: 0;
  }
  30% {
    width: 3.5ch;
  } /* タイピング完了 */
  95% {
    width: 3.5ch;
  } /* 待機時間（カーソル点滅） */
  96% {
    width: 0;
  } /* 一瞬で消す */
  100% {
    width: 0;
  } /* タイピング待機 */
}

@keyframes typingLoop05 {
  0% {
    width: 0;
  }
  30% {
    width: 8.9ch;
  }
  99% {
    width: 8.9ch;
  }
  100% {
    width: 0;
  }
}

@keyframes typingLoop06 {
  0% {
    width: 0;
  }
  30% {
    width: 10.6ch;
  }
  99% {
    width: 10.6ch;
  }
  100% {
    width: 0;
  }
}

@keyframes typingLoop07 {
  0% {
    width: 0;
  }
  30% {
    width: 12.5ch;
  }
  99% {
    width: 12.5ch;
  }
  100% {
    width: 0;
  }
}
@keyframes typingLoop10 {
  0% {
    width: 0;
  }
  30% {
    width: 17.8ch;
  }
  99% {
    width: 17.8ch;
  }
  100% {
    width: 0;
  }
}
@keyframes blink {
  50% {
    border-color: transparent;
  }
}

.article_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 30px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.article_list li {
  box-sizing: border-box;
  position: relative;
}

/* カテゴリ */
.article_list li .post-category-label {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 500;
  position: absolute;
  top: -6%;
  right: 4px;
  border: 1px solid #777;
  background-color: #fff;
  color: #777;
  font-size: 13px;
  padding: 5px 16px 2px;
  z-index: 2;
  border-radius: 20px;
  letter-spacing: 0.1rem;
}

/* サムネイル画像を正方形かつ中央クロップにする */
.article_list .thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
}

.article_list .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  transition: transform 0.4s ease;
}
.article_list .thumb:hover img {
  /* transform: translate(-50%, -50%) scale(1.1); */
}

/* ▼ 吹き出し部分（三角）を追加 */
.article_list li .post-category-label::after {
  content: '';
  position: absolute;
  bottom: -9px; /* ラベルの下からちょっと下へ */
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid var(--cat-color, #777);
}

/* タグ */
.article_list .tag_list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  margin: 12px 0 8px;
  padding: 0;
  list-style: none;
}
.article_list .tag_list li {
  font-size: 11px;
  color: #999;
  letter-spacing: 0.03em;
  text-decoration: underline;
}

/* タイトルと日付の余白調整 */
.article_list .tit_entry {
  margin: 12px 0 5px;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4; /* ← ここで行数制限 */
  overflow: hidden;
  text-overflow: ellipsis;
}
.article_list .tit_entry a {
  font-weight: 600;
}

.article_list .date {
  font-size: 12px;
  color: #888;
}
/* スマホ */
@media (max-width: 960px) {
  .tit_blog {
    font-size: clamp(2rem, 6.3vw, 2.6rem);
  }
  .article_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 10px;
  }
  .article_list li .post-category-label {
    top: -7%;
    right: 3px;
    font-size: 10px;
    padding: 5px 14px 3px;
  }
  .article_list li .post-category-label::after {
    bottom: -7px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 7px solid var(--cat-color, #777);
  }
  .article_list .thumb {
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
  }
  .article_list .tag_list {
    gap: 4px 6px;
    margin: 10px 0 6px;
    padding: 0;
    list-style: none;
  }
  .article_list .tag_list li {
    font-size: 9px;
  }
  .article_list .tit_entry {
    margin: 7px 0 5px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .article_list .date {
    font-size: 10px;
  }
}

/*---------------------------------
　コンテンツ(一覧・検索結果・タグ)
---------------------------------*/
.tit_blog_list {
  font-size: clamp(3.2rem, 2.3vw, 5rem);
  font-weight: 700;
  margin: 0 0 70px;
  letter-spacing: 0.1em;
  text-align: center;
}
.tit_blog_list.small-mb {
  margin: 0 0 40px;
}
.tit_blog_list.typing {
  max-width: fit-content;
  /* タイピング表示設定 */
  white-space: nowrap;
  overflow: hidden;
  border-right: 1px solid #333;
  line-height: 1.15;
  margin: 0 auto 40px;
}
.article-label {
  font-size: 2.5rem;
  font-size: clamp(2.5rem, 2.3vw, 3.2rem);
  font-weight: 700;
  margin: 0 0 40px;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 0.95em;
}
.article-label::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.55em;
  height: 2.5px;
  background: #818181;
  transform: translateY(-50%);
  margin-top: 1px;
}
.category-diet .article-label::before {
  background: var(--color-cat-diet-point1);
}
.category-health .article-label::before {
  background: var(--color-cat-health-point1);
}
.category-beauty .article-label::before {
  background: var(--color-cat-beauty-point1);
}
.category-lifestyle .article-label::before {
  background: var(--color-cat-lifestyle-point1);
}
.category-feature .article-label::before {
  background: var(--color-cat-feature-point1);
}
.main.category-diet .article-label::before {
  background: var(--color-cat-diet-point1);
}
.main.category-health .article-label::before {
  background: var(--color-cat-health-point1);
}
.main.category-beauty .article-label::before {
  background: var(--color-cat-beauty-point1);
}
.main.category-lifestyle .article-label::before {
  background: var(--color-cat-lifestyle-point1);
}
.main.category-feature .article-label::before {
  background: var(--color-cat-feature-point1);
}

/* スマホ */
@media (max-width: 960px) {
  .tit_blog_list {
    font-size: clamp(2rem, 6.2vw, 3rem);
    margin: 0 0 45px;
  }
  .tit_blog_list.small-mb {
    margin: 0 0 35px;
  }
  .article-label {
    font-size: 2rem;
    margin: 0 0 28px;
  }
  .article-label::before {
    margin-top: 2px;
  }
}

/*---------------------------------
　コンテンツ(カテゴリ)
---------------------------------*/
.cat-main-visual {
  margin-bottom: 6%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6%;
}
.cat-main-visual img {
  width: 220px;
}
.cat-main-visual .cat-main-visual-text {
  width: 350px;
}
.tit_blog_list.cat-tit {
  margin-bottom: 0.4em !important;
  font-size: 3.2rem;
  text-align: left;
  letter-spacing: 0.02em;
}
.cat-copy-area {
}
.cat-copy {
  color: #818181;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
/* スマホ */
@media (max-width: 960px) {
  .cat-main-visual {
    text-align: center;
    margin-bottom: 8%;
    display: block;
  }
  .cat-main-visual .cat-main-visual-text {
    width: 100%;
  }
  .cat-main-visual img {
    width: 52%;
    margin: 0 auto;
  }
  .tit_blog_list.cat-tit {
    margin-bottom: 3.2% !important;
    text-align: center;
    font-size: clamp(20px, 7.47vw, 30px);
  }
  .cat-copy-area {
    width: 98%;
    margin-bottom: 11%;
  }
  .cat-copy {
    font-size: clamp(1.3rem, 3.7vw, 2rem);
  }
}

/* さくっと解説 一覧 */
.story-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sec-list.sec-list-story #snsBlockSection {
  margin-top: 6%;
}
@media (max-width: 960px) {
  .story-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
  }
  .sec-list.sec-list-story #snsBlockSection {
    margin-top: 10%;
  }
}

/*---------------------------------
　アメイジンとは(aboutページ)
---------------------------------*/
.about-main-visual-container {
  text-align: center;
  margin-bottom: 3%;
}
.about-main-visual {
  text-align: center;
  border: 1px solid #3a3a3a;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  overflow: visible;
}
.about-main-visual img {
  width: clamp(120px, 9.4vw, 200px);
  border-radius: 50%;
  object-fit: cover;
  border: clamp(6px, 0.42vw, 10px) solid #f7f7f7;
}

/* 円の外周に沿って回るための回転ラッパー */
.about-main-visual .orbit {
  position: absolute;
  inset: 0; /* 親と同サイズの正円 */
  border-radius: 50%;
  transform-origin: 50% 50%; /* 円の中心を回転の原点に */
  animation: orbit 4s linear infinite; /* 周回+停止を含む総時間 */
}

/* 15x15 の丸（12時に配置しておき、親の回転で周回させる） */
.about-main-visual .tracker {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #3ba9ac;
  left: 50%;
  transform: translateX(-50%);
  /* 12時の位置（外周のセンターに乗るよう、半径分だけ上に出す） */
  top: -6px; /* = - (高さ/2)。外枠の太さに合わせて微調整可 */
}

/* 0%→360% で一周、その後しばらく静止（数秒の停止） */
@keyframes orbit {
  /* 8sのうち 6sで一周＋2s停止 ⇒ 6/8=75% まで回転、残りは据え置き */
  0% {
    transform: rotate(0deg);
  }
  70% {
    transform: rotate(360deg);
  } /* ここで12時へ戻る */
  100% {
    transform: rotate(360deg);
  } /* ここで“停止”時間を作る */
}

/* 円の外周に沿って回るラッパー */
.about-main-visual .orbit {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform-origin: 50% 50%;
  animation: orbit 4s linear infinite;
}

/* 発光オーブ化した tracker（円周上を回る球） */
.about-main-visual .tracker.glowing {
  position: absolute;
  width: 12px; /* 点より少し大きめにして光らせる */
  height: 12px;
  border-radius: 50%;
  left: 50%;
  top: -6px; /* 高さの半分だけ外に出す */
  transform: translateX(-50%);

  /* 球体っぽさ＋さらに淡く明るい発光 */
  background: radial-gradient(
    circle at 30% 30%,
    rgba(255, 255, 255, 1) 0%,
    /* 強い白ハイライト */ rgba(59, 169, 172, 0.5) 35%,
    /* #3ba9ac をさらに淡く（半透明） */ rgba(59, 200, 210, 0.4) 65%,
    /* シアンも淡く */ rgba(200, 255, 255, 0.2) 100% /* 外周はほぼ白に近い光 */
  );

  /* 外側の発光グロー（かなり淡く広げる） */
  box-shadow: 0 0 12px rgba(59, 200, 210, 0.6), 0 0 28px rgba(200, 255, 255, 0.5), 0 0 60px rgba(200, 255, 255, 0.4),
    0 0 100px rgba(200, 255, 255, 0.25), 0 0 160px rgba(200, 255, 255, 0.2);
}

@media (max-width: 960px) {
  .about-main-visual .tracker.glowing {
    width: 10px;
    height: 10px;
    top: -6px;
  }
}

.sec-about .tit_blog {
  margin-left: auto;
  margin-right: auto;
}
.sec-about h1.tit_blog,
.sec-about h2.tit_blog {
  font-size: clamp(28px, 2.2vw, 48px); /* 1920pxで35px基準 */
  margin-bottom: 3%;
  border-right: none;
}
.sec-about h2.tit_blog {
  margin-bottom: 3.2%;
}
.about-copy-area {
  margin-bottom: 10%;
}
.about-copy-area .about-copy {
  font-size: clamp(18px, 1.41vw, 36px); /* 1920pxで27px基準 */
  font-weight: 500;
  line-height: 2.3;
  letter-spacing: 0.15em;
  margin-bottom: 2.3%;
}
.about-copy-area .about-sub-copy {
  font-size: clamp(16px, 1.35vw, 34px); /* 1920pxで26px基準 */
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.14em;
  margin-bottom: 3%;
  color: #7d7d7d;
}
.about-cat-container {
}
.about-cat-container .category-list {
}
.about-cat-container .category-list li {
  border-bottom: none;
  padding: 3.5% 10%;
}
.about-cat-container .category-list li:nth-child(odd) {
  background-color: #ffffff;
}
.about-cat-container .category-list li:nth-child(even) {
  background-color: #f7f7f7;
}
.about-cat-container .category-list li .list-item > a {
  display: inline-flex;
  margin-bottom: 2.5%;
}
.about-cat-container .category-list li:hover .cat-dot {
  transform: none; /* または scale(1) */
}
.about-cat-container .category-list li .cat-dot {
  width: clamp(10px, 0.68vw, 16px);
  height: clamp(10px, 0.68vw, 16px);
  margin-right: clamp(10px, 0.68vw, 15px);
}
.about-cat-container .category-list li .cat-label {
  font-size: clamp(26px, 2vw, 40px);
}
.about-cat-container .category-list li .cat-name {
  font-size: clamp(13px, 0.82vw, 20px);
  margin-top: 2.7%;
}
.about-cat-container .cat-contents {
  display: flex;
  align-items: center;
  gap: 4%;
}
.about-cat-container .cat-contents img {
  width: clamp(160px, 13.54vw, 320px);
  margin: 0 auto;
}
.about-cat-container .cat-contents .cat-desc {
  font-size: clamp(16px, 1.3vw, 32px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.08em;
  color: #7d7d7d;
  margin-bottom: 2%;
}

.about-cat-container .about-cat-more-btn {
  display: inline-flex;
  align-items: center;
  gap: clamp(6px, 0.52vw, 12px); /* 10px基準 → 0.52vw */
  font-size: clamp(18px, 1.3vw, 32px); /* 1920pxで25px */
  text-decoration: none;
  color: #333;
  transition: background-color 0.3s ease, color 0.3s ease;
  letter-spacing: 0.07em;
}
.about-cat-container .about-cat-more-btn span {
  font-family: 'Nunito Sans', sans-serif;
  font-weight: 700;
  line-height: 0;
  margin-top: 0.05em;
  transition: color 0.3s ease;
}
.about-cat-container .about-cat-arrow {
  width: clamp(19px, 1.35vw, 32px); /* 1920pxで26px */
  height: clamp(19px, 1.35vw, 32px); /* 1920pxで26px */
  padding: clamp(3px, 0.21vw, 6px); /* 1920pxで4px */
  border-radius: 50%;
  background-color: #333;
  stroke: #fff; /* 初期は白い矢印 */
  transition: background-color 0.3s ease, stroke 0.3s ease;
}
/* hover時の全体 */
.about-cat-container .about-cat-more-btn:hover {
  background-color: #fff;
  color: #333;
}
.about-cat-container .about-cat-more-btn:hover span {
  color: #666;
}
.category-list li:has(.about-cat-more-btn:hover) .cat-dot {
  transform: scale(1.5);
}
/* hover時の矢印部分 */
.about-cat-container .about-cat-more-btn:hover .about-cat-arrow {
  background-color: #fff;
  stroke: #333; /* 矢印を黒に反転 */
  border: 1px solid #333; /* 円に枠を出す */
}

.about-closing img {
  width: 75%;
  margin: 0 auto 4%;
  border-radius: 14px;
}
.about-closing h2.tit_blog {
  margin-bottom: 5%;
}
.about-closing .about-copy-area {
  margin-bottom: 8.5%;
}
.about-closing .about-copy-area .about-sub-copy {
  font-size: clamp(15px, 1.3vw, 30px);
}
.about-closing .about-copy-area .about-sub-copy a {
  color: #71c5c7;
  text-decoration: underline 1px solid #71c5c7;
}
.about-closing .about-copy-area .about-sub-copy a:hover {
  opacity: 0.7;
}

@media (max-width: 960px) {
  .about-main-visual-container {
    margin-bottom: 3.7%;
  }
  .about-main-visual img {
    width: clamp(90px, 29.3vw, 150px);
    border: clamp(4px, 1.4vw, 6px) solid #f7f7f7;
  }
  .sec-about h1.tit_blog,
  .sec-about h2.tit_blog {
    font-size: clamp(20px, 6.67vw, 30px);
    margin-bottom: 3.9%;
  }
  .sec-about h2.tit_blog {
    margin-bottom: 6%;
  }
  .about-copy-area {
    margin-bottom: 10%;
  }
  .about-copy-area .about-copy {
    font-size: clamp(12px, 3.73vw, 17px);
    margin-bottom: 3.5%;
  }
  .about-copy-area .about-sub-copy {
    font-size: clamp(11px, 3.47vw, 16px);
    line-height: 2.1;
    margin-bottom: 5%;
  }
  .about-cat-container {
  }
  .about-cat-container .category-list {
  }
  .about-cat-container .category-list li {
    padding: 0;
  }
  .about-cat-container .category-list li .list-item > a {
    margin-bottom: 2%;
  }
  .about-cat-container .category-list li .cat-dot {
    width: clamp(8px, 2.67vw, 14px);
    height: clamp(8px, 2.67vw, 14px);
    margin-right: clamp(8px, 2.67vw, 14px);
  }
  .about-cat-container .category-list li .cat-label {
    font-size: clamp(18px, 6.4vw, 32px);
  }
  .about-cat-container .category-list li .cat-name {
    font-size: clamp(10px, 2.93vw, 16px);
    margin-top: 2.7%;
  }
  .about-cat-container .cat-contents {
    align-items: flex-start;
    gap: 1.5%;
  }
  .about-cat-container .cat-contents img {
    width: clamp(120px, 37.3vw, 220px);
  }
  .about-cat-container .cat-contents .cat-desc {
    font-size: clamp(10px, 3.22vw, 15px);
    letter-spacing: 0.05em;
    margin-bottom: 2%;
    line-height: 1.85;
  }

  .about-cat-container .about-cat-more-btn {
    gap: clamp(3px, 1.07vw, 10px); /* 375pxで4px */
    font-size: clamp(10px, 3.2vw, 15px);
  }
  .about-cat-container .about-cat-arrow {
    width: clamp(12px, 4vw, 28px); /* 375pxで15px */
    height: clamp(12px, 4vw, 28px); /* 375pxで15px */
    padding: clamp(1px, 0.53vw, 4px); /* 375pxで2px */
  }
  .about-closing img {
    width: 100%;
    margin: 0 auto 6%;
  }
  .about-closing h2.tit_blog {
    font-size: clamp(18px, 6.5vw, 28px);
    margin-bottom: 5%;
  }
  .about-closing .about-copy-area {
    margin-bottom: 14%;
  }
  .about-closing .about-copy-area .about-sub-copy {
    font-size: clamp(11px, 3.4vw, 16px);
    line-height: 2.1;
    margin-bottom: 6.5%;
    letter-spacing: 0.08em;
  }
}

/*---------------------------------
　個別記事
---------------------------------*/
.entry_content .entry_txt > p,
.entry_content .entry_txt > h2,
.entry_content .entry_txt > h3,
.entry_content .entry_txt > h4,
.entry_content .entry_txt > h5,
.entry_content .entry_txt > h6 {
  padding-left: var(--article-padding-left);
  padding-right: var(--article-padding-right);
}
.sec-article .breadcrumb_list {
  margin: 0 0 15px;
}
.sec-article .post_thumbnail {
  width: 100%;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.sec-article .post_thumbnail > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.sec-article .tit_deteal_title {
  font-size: clamp(2.5rem, 3vw, 4rem);
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.7;
  letter-spacing: 0.05em;
  text-align: justify;
}
.modified-date {
  font-size: 1.2rem;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  color: #555;
  margin-bottom: 24px;
  letter-spacing: 0.05em;
}
.modified-date::before {
  content: '';
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  background-color: currentColor;
  -webkit-mask-image: url('../images/icn_time.svg');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url('../images/icn_time.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
.sec-article .tag_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}
.sec-article .tag_list li a {
  display: inline-block;
  padding: 8px 12px;
  font-size: 1.4rem;
  color: #555;
  border: 1px solid #555;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.2s ease;
  line-height: 1;
}
/* PC時のみ */
@media (min-width: 960px) {
  .sec-article .tag_list li a:hover {
    color: #fff;
    background-color: #555;
  }
}

.sec-article .heading_content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-top: 20px;
  margin-bottom: 50px;
}
.sec-article .heading_content .post_thumbnail {
  width: 52%;
  flex-shrink: 0;
  border-radius: 28px;
}
.sec-article .heading_content .text-content {
  margin-top: -30px;
}
.entry_content {
  margin: 0 0 80px;
}
.entry_txt {
  margin: 0 0 50px;
}
.entry_content .entry_txt img {
  max-width: 100%;
  height: auto;
}
@media (min-width: 961px) {
  .entry_content .entry_txt > .wp-block-image {
    max-width: var(--article-text-width);
    margin-left: auto;
    margin-right: auto;
  }

  .entry_content .entry_txt > .wp-block-columns {
    max-width: var(--article-text-width);
    margin-left: auto;
    margin-right: auto;
  }
  .entry_content .entry_txt > .wp-block-media-text {
    max-width: var(--article-text-width);
    margin-left: auto;
    margin-right: auto;
  }
  .entry_content .entry_txt > .wp-block-media-text > .wp-block-media-text__content {
    padding: 0 10px;
  }
}
.entry_content .entry_txt .wp-block-embed__wrapper {
  text-align: center;
}
/* サムネイルを画面トップに表示させるので、コンテント内のトップ画像を非表示にする */
/* .entry_content .entry_txt > .wp-block-image:first-of-type {
  display: none;
} */
.heading_content h1 {
  font-weight: 600;
}
.entry_content .entry_txt h2 {
  display: inline-block;
  font-size: clamp(2rem, 3vw, 3.5rem);
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.03em;
  margin: 60px 0 26px !important;
  text-decoration: 9px underline #fff;
  text-decoration-skip-ink: none;
}
.entry_content .entry_txt h2 .under_marker {
  font-weight: 600;
}
.entry_content .entry_txt h3 {
  font-size: clamp(1.8rem, 2.7vw, 3.2rem);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5;
  margin: 85px auto 90px;
  padding: 15px 100px 15px;
  position: relative;
  text-align: center;
  display: block;
}
/* 上括弧SVG */
.entry_content .entry_txt h3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  width: var(--article-text-width);
  /* width: 100%; */
  aspect-ratio: 650 / 43; /* ← SVGのviewBox比率 */
  background: url(../images/curved_outline_box_top.svg) no-repeat center top;
  background-size: 100% 100%;
}
/* 下括弧SVG */
.entry_content .entry_txt h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
  width: var(--article-text-width);
  /* width: 100%; */
  /* height: calc(50px * 1.43); */
  aspect-ratio: 650 / 60; /* ← SVGのviewBox比率 */
  background: url(../images/curved_outline_box_bottom.svg) no-repeat center bottom;
  background-size: 100% 100%;
}
.entry_content .entry_txt h4:not(.padSectionTitle):not(.sns-block-title) {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 5px var(--article-padding-left) 12px calc(var(--article-padding-right) + 38px);
  margin: 30px 0 10px;
  line-height: 1.8;
  vertical-align: middle;
  position: relative;
  display: inline-block;
  width: 100%;
}
.entry_content .entry_txt h4:not(.padSectionTitle):not(.sns-block-title)::before {
  content: '';
  display: block;
  position: absolute;
  top: 13px;
  left: 50px;
  margin-right: 7px;
  line-height: 1;
  -webkit-mask-image: url(../images/icn_checkbox.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: url(../images/icn_checkbox.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #fff;
  vertical-align: baseline;
  font-size: 0;
  line-height: 0;
  width: 30px;
  height: 30px;
}

.entry_content .entry_txt > .wp-block-image > a > img {
  height: auto !important;
}

.entry_content .entry_txt h5 {
  font-size: 1.8rem;
  font-weight: 600;
}

@media (max-width: 960px) {
  .sec-article .breadcrumb_list {
    margin: 3px 0 9px;
  }
  .sec-article .heading_content {
    display: block;
    margin-top: 0;
    margin-bottom: 35px;
  }
  .sec-article .heading_content .post_thumbnail {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 18px;
    border-radius: 0;
  }
  .sec-article .post_thumbnail > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .sec-article .heading_content .text-content {
    margin-top: 0;
  }

  .entry_content .entry_txt > .wp-block-image {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    max-width: none;
  }
  .entry_content .entry_txt > .wp-block-image > img {
    width: 100%;
    height: auto;
    display: block;
  }
  .entry_content .entry_txt .wp-block-embed iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
  .sec-article .tit_deteal_title {
    font-size: clamp(2.2rem, 6vw, 2.6rem);
    margin-bottom: 8px;
  }
  .modified-date {
    margin-bottom: 22px;
  }
  .modified-date::before {
    margin-top: 0.25em;
    width: 1.18em;
    height: 1.18em;
  }
  .sec-article .tag_list {
    gap: 10px;
    margin-bottom: 25px;
  }
  .sec-article .tag_list li a {
    padding: 6px 10px;
    font-size: 1.2rem;
  }
  .entry_content .entry_txt h2 {
    display: inline-block;
    font-size: clamp(2.2rem, 6.2vw, 3rem);
    line-height: 1.9;
    text-decoration-line: underline;
    text-decoration-color: #fff;
    text-decoration-style: solid;
    text-decoration-thickness: 7px;
  }
  .entry_content .entry_txt h3 {
    font-size: clamp(1.8rem, 4.8vw, 2.5rem);
    /* margin: 55px auto 40px; */
    margin: 19.67vw auto 14vw;
    padding: 1% 5%;
  }
  /* 上括弧SVG */
  .entry_content .entry_txt h3::before {
    width: 100%;
  }
  /* 下括弧SVG */
  .entry_content .entry_txt h3::after {
    width: 100%;
  }
  .entry_content .entry_txt h4:not(.padSectionTitle):not(.sns-block-title) {
    font-size: 1.8rem;
    padding: 5px 0 8px 30px;
  }
  .entry_content .entry_txt h4:not(.padSectionTitle):not(.sns-block-title)::before {
    top: 11px;
    left: 0;
    width: 24px;
    height: 24px;
  }
  .entry_content .entry_txt h5 {
    font-size: 1.6rem;
  }
}

/* 専門家プロフィール */
.entry_content .entry_txt .profile-box {
  background-color: #fff;
  border-radius: 28px;
  padding: 32px 40px;
  width: var(--article-card-width);
  margin: 0 auto 2em;
}
.entry_content .entry_txt .profile-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
  margin-bottom: 0.7em;
}
.entry_content .entry_txt .profile-image {
  width: 30%;
  min-width: 150px;
  max-width: 400px;
  height: auto;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  margin-bottom: 0 !important;
}
.entry_content .entry_txt .profile-meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.entry_content .entry_txt .profile-label {
  font-size: 2.2rem;
  font-weight: bold;
  font-family: 'Nunito Sans', sans-serif;
  margin-bottom: 0.5em;
  text-decoration: underline 1px;
  letter-spacing: 0.05em;
}
.entry_content .entry_txt .profile-name {
  font-size: 3.4rem;
  font-weight: 700;
  margin-bottom: 0.5em;
  letter-spacing: 0.05em;
}
.entry_content .entry_txt .profile-name .honorifics {
  font-size: 0.7em;
  margin-left: 0.3em;
  font-weight: 500;
}
.entry_content .entry_txt .profile-title {
  color: #777;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.entry_content .entry_txt .profile-url {
  margin: 0.4em 0 0.6em;
}
.entry_content .entry_txt .profile-url a {
  text-decoration: none;
  font-size: 1.6rem;
  word-break: break-all;
  position: relative;
  text-decoration: underline;
}
.entry_content .entry_txt .profile-url a:hover {
  text-decoration: underline;
}
.entry_content .entry_txt .profile-description {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media (max-width: 960px) {
  .entry_content .entry_txt .profile-box {
    padding: 20px 20px;
    margin: 0 auto 1em;
  }
  .entry_content .entry_txt .profile-header {
    gap: 10px;
  }
  .entry_content .entry_txt .profile-image {
    width: 38%;
    min-width: 100px;
    max-width: 200px;
  }
  .entry_content .entry_txt .profile-label {
    font-size: 1.6rem;
    margin-bottom: 0.5em;
  }
  .entry_content .entry_txt .profile-name {
    font-size: 2.2rem;
    margin-bottom: 0.4em;
  }
  .entry_content .entry_txt .profile-name .honorifics {
    font-size: 0.7em;
    margin-left: 0.3em;
    font-weight: 500;
  }
  .entry_content .entry_txt .profile-title {
    font-size: 1.2rem;
  }
  .entry_content .entry_txt .profile-url {
    margin: 0.4em 0 0.6em;
  }
  .entry_content .entry_txt .profile-url a {
    font-size: 1.1rem;
  }
  .entry_content .entry_txt .profile-url a:hover {
    text-decoration: underline;
  }
  .entry_content .entry_txt .profile-description {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.7;
  }
}

/* 簡易プロフィール */
.entry_content .entry_txt .simple-profile-box {
  border-radius: 999px;
  margin: 0 auto 1em;
  padding: 5px;
  background-color: #fff !important;
  grid-template-columns: 25% auto !important;
  width: var(--article-card-width);
}
.entry_content .entry_txt .simple-profile-box p {
  margin-bottom: 0;
  line-height: 1;
}
.entry_content .entry_txt .simple-profile-box figure {
  margin: 0;
  padding: 12px;
}
.entry_content .entry_txt .simple-profile-box figure > img {
  margin: 0;
}
.entry_content .entry_txt .simple-profile-box .wp-block-group {
  border-radius: 999px;
  margin: 1em 0;
}
.simple-profile-box.wp-block-media-text > .wp-block-media-text__content {
  padding: 0 10% 0 4%;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-container {
  margin: 0;
  padding: 0;
  margin-bottom: 0.6em;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-container > div {
  display: flex;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-container figure {
  margin: 0;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-icon {
  width: 26px !important;
  height: 26px !important;
  margin-right: 0.4em;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-label {
  font-size: 2.1rem;
  margin-right: 0.9em;
  margin-top: 0.08em;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-label strong {
  font-weight: 500;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-name {
  font-size: 2.5rem;
  font-weight: 700;
  margin-top: -0.05em;
}
.entry_content .entry_txt .simple-profile-box .simple-profile-desc {
  line-height: 2;
}
@media (max-width: 960px) {
  .entry_content .entry_txt .simple-profile-box {
    grid-template-columns: 27% auto !important;
    padding: 10px 8px;
  }
  .entry_content .entry_txt .simple-profile-box figure {
    padding: 0 4% 0 2%;
  }
  .simple-profile-box.wp-block-media-text > .wp-block-media-text__content {
    padding: 0 10% 0 3%;
  }
  .entry_content .entry_txt .simple-profile-box .simple-profile-container {
    margin-bottom: 0.04em;
  }
  .entry_content .entry_txt .simple-profile-box .simple-profile-icon {
    width: 17px !important;
    height: 17px !important;
    margin-right: 0.2em;
  }
  .entry_content .entry_txt .simple-profile-box .simple-profile-label {
    font-size: 1.4rem;
    margin-right: 0.55em;
    margin-top: 0.2em;
  }
  .entry_content .entry_txt .simple-profile-box .simple-profile-name {
    font-size: 1.6rem;
    margin-top: 0.08em;
  }
  .entry_content .entry_txt .simple-profile-box .simple-profile-desc {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.6;
  }
}

/* カテゴリーごとのアイコンの色 */
.sec-article.category-diet .simple-profile-icon path {
  fill: var(--color-cat-diet-point1) !important;
}
.sec-article.category-health .simple-profile-icon path {
  fill: var(--color-cat-health-point1) !important;
}
.sec-article.category-beauty .simple-profile-icon path {
  fill: var(--color-cat-beauty-point1) !important;
}
.sec-article.category-lifestyle .simple-profile-icon path {
  fill: var(--color-cat-lifestyle-point1) !important;
}
.sec-article.category-feature .simple-profile-icon path {
  fill: var(--color-cat-feature-point1) !important;
}
/* カテゴリーごとのラベルの色 */
.sec-article.category-diet .simple-profile-label {
  color: var(--color-cat-diet-point1) !important;
}
.sec-article.category-health .simple-profile-label {
  color: var(--color-cat-health-point1) !important;
}
.sec-article.category-beauty .simple-profile-label {
  color: var(--color-cat-beauty-point1) !important;
}
.sec-article.category-lifestyle .simple-profile-label {
  color: var(--color-cat-lifestyle-point1) !important;
}
.sec-article.category-feature .simple-profile-label {
  color: var(--color-cat-feature-point1) !important;
}

/* メンバープロフィール */
.entry_content .entry_txt .member-profiles-wrapper {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 20px 0 50px;
  flex-wrap: nowrap;
}
.entry_content .entry_txt .member-profile {
  text-align: center;
  width: 30%;
}
.entry_content .entry_txt .member-image {
  text-align: center;
}
.entry_content .entry_txt .member-image img {
  width: 90%;
  height: auto;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 12px;
}
.entry_content .entry_txt .member-name {
  font-size: 2.7rem;
  font-weight: 700;
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}
.entry_content .entry_txt .member-desc {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.9;
  width: 80%;
  margin: 0 auto;
}
@media (max-width: 960px) {
  .entry_content .entry_txt .member-profiles-wrapper {
    gap: 10px;
    justify-content: space-between;
    margin: 10px 0 30px;
  }
  .entry_content .entry_txt .member-profile {
    width: 32%;
  }
  .entry_content .entry_txt .member-image img {
    margin: 0 auto 6px;
  }
  .entry_content .entry_txt .member-name {
    font-size: 1.6rem;
    margin-bottom: 4px;
  }
  .entry_content .entry_txt .member-desc {
    font-size: 1.1rem;
    line-height: 1.7;
    width: 100%;
  }
}

/* Tipsカード */
.entry_content .entry_txt .tips-card {
  background-color: #fff;
  border-radius: 28px;
  padding: 2.7em 1.8em;
  position: relative;
  overflow: initial;
  width: var(--article-card-width);
  margin: 3.65em auto 3em;
}
.entry_content .entry_txt .tips-card .tips-logo {
  position: absolute;
  top: -2vw;
  left: -0.4vw;
  width: clamp(80px, 8.5vw, 115px) !important;
  height: auto !important;
  background-color: transparent !important;
}
.entry_content .entry_txt .tips-card .tips-title {
  font-size: 2rem;
  font-weight: 600;
  padding-bottom: 0.8em;
  border-bottom: 1px solid #888;
}
.entry_content .entry_txt .tips-card .tips-text {
  font-size: 1.8rem;
  margin: 0;
}
/* カテゴリーごとのアイコンの色 */
.sec-article.category-diet .tips-logo path {
  fill: var(--color-cat-diet-point2) !important;
}
.sec-article.category-health .tips-logo path {
  fill: var(--color-cat-health-point2) !important;
}
.sec-article.category-beauty .tips-logo path {
  fill: var(--color-cat-beauty-point2) !important;
}
.sec-article.category-lifestyle .tips-logo path {
  fill: var(--color-cat-lifestyle-point2) !important;
}
.sec-article.category-feature .tips-logo path {
  fill: var(--color-cat-feature-point2) !important;
}
@media (max-width: 960px) {
  .entry_content .entry_txt .tips-card {
    padding: 1.5em 1.2em;
    margin-top: 3.65em;
    margin-bottom: 1.7em;
  }
  .entry_content .entry_txt .tips-card .tips-logo {
    top: -6.3vw;
    left: -0.4vw;
    width: clamp(65px, 19vw, 85px) !important;
  }
  .entry_content .entry_txt .tips-card .tips-title {
    font-size: 1.6rem;
    padding-bottom: 0.8em;
    line-height: 1.8;
  }
  .entry_content .entry_txt .tips-card .tips-text {
    font-size: 1.4rem;
    margin: 0;
    line-height: 1.8;
  }
}

/* おすすめ商品リンク */
.entry_content .entry_txt .recommend-box {
  background: #999;
  color: #fff;
  padding: 1em;
  border-radius: 28px;
  margin: 0 auto 4em;
  display: flex;
  align-items: stretch;
  gap: 1.5em;
  position: relative;
  letter-spacing: 0.05em;
  width: var(--article-link-width);
  min-width: 620px;
  box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.27);
  transition: all 0.15s ease-in-out;
  transform: translateY(0);
}
.entry_content .entry_txt .recommend-box:hover {
  box-shadow: 5px 5px 14px rgba(0, 0, 0, 0.3);
  transform: translateY(-1px);
}
.entry_content .entry_txt .recommend-box:active {
  transform: translateY(2px); /* ↓ 下にちょっと動く */
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); /* 影を小さく */
}
.entry_content .entry_txt .recommend-image img {
  width: 250px;
  border-radius: 28px;
  background: white;
  padding: 0.3em;
}
.entry_content .entry_txt .recommend-content {
  flex: 1;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.entry_content .entry_txt .recommend-copy {
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1.8;
  display: inline-block;
  margin-bottom: 0.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  overflow: hidden;
}
.entry_content .entry_txt .recommend-brand {
}
.entry_content .entry_txt .recommend-brand img.recommend-logo {
  width: auto;
  height: 22px;
  vertical-align: middle;
  margin-bottom: 0.35em;
}
.entry_content .entry_txt .recommend-name {
  font-size: 1.8rem;
  font-weight: 400;
  color: #fff;
  margin-bottom: 0;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.entry_content .entry_txt .recommend-arrow {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 70px;
}

@media (max-width: 960px) {
  .entry_content .entry_txt .recommend-box {
    padding: 0.7em;
    margin: 0 auto 2em;
    display: flex;
    gap: 0.7em;
    width: 100%;
    min-width: auto;
    border-radius: 20px;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.17);
  }
  .entry_content .entry_txt .recommend-image {
    width: 35%;
  }
  .entry_content .entry_txt .recommend-image img {
    width: 100%;
    border-radius: 16px;
  }
  .entry_content .entry_txt .recommend-copy {
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    line-height: 1.8;
    letter-spacing: -0.02em;
  }
  .entry_content .entry_txt .recommend-brand {
  }
  .entry_content .entry_txt .recommend-brand img.recommend-logo {
    height: 12px;
    margin-bottom: 0.25em;
  }
  .entry_content .entry_txt .recommend-name {
    font-size: 1.2rem;
    line-height: 1.2;
    letter-spacing: 0.01em;
  }
  .entry_content .entry_txt .recommend-arrow {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 35px;
  }
}

/* 投稿者 */
#padSection {
  display: inline-block;
  background-color: #fff;
  border-radius: 28px;
  border: none;
  position: relative;
  overflow: inherit;
  margin: 130px 100px 45px;
  width: var(--article-card-width);
  height: 230px;
  min-width: 620px;
}

/* .padSection 内の h4 には適用しない */
#padSection h4.padSectionTitle {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  position: absolute;
  top: -24%;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1.5;
  border-bottom: none;
  width: auto;
  margin: 0;
  padding: 0 0 0 1.6em !important;
}
#padSection h4.padSectionTitle::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.3em;
  height: 1.3em;
  background-image: url(../images/icn_pencil.svg);
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
#padSection h4.padSectionTitle::after {
  content: '';
  position: absolute;
  left: 1.6em; /* アイコンと一致させる */
  bottom: 0;
  width: calc(100% - 1.6em);
  height: 1px;
  background-color: #333;
}
#padSection .avatar img {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  object-fit: cover;
  border: none;
}
#padSection #profileTxtSet {
  padding: 20px;
}
#padSection dl dt .authorName {
  font-size: 2rem;
  font-weight: 500;
}
#padSection dl dd {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 10px;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media (max-width: 960px) {
  #padSection {
    border-radius: 20px;
    margin: 100px auto 30px;
    padding: 20px;
    width: 100%;
    height: auto;
    min-width: auto;
    display: inline-flex;
    align-items: center;
    gap: 15px;
  }
  /* .padSection 内の h4 には適用しない */
  #padSection h4.padSectionTitle {
    font-size: 1.8rem;
    top: -2.2em;
    white-space: nowrap;
    max-width: 100%;
  }
  #padSection .avatar {
    flex-shrink: 0;
    float: none;
  }
  #padSection .avatar img {
    width: 100px;
    height: 100px;
    margin-bottom: 0;
  }
  #padSection #profileTxtSet {
    padding: 0;
    margin-left: 0;
  }
  #padSection dl dt .authorName {
    font-size: 1.4rem;
    padding-bottom: 0;
  }
  #padSection dl dd {
    font-size: 1.3rem;
    margin-top: 5px;
  }
}

/* SNSフォロー */
#snsBlockSection {
  text-align: center;
  min-width: 620px;
}
#snsBlockSection h4.sns-block-title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 auto 20px;
  padding-bottom: 2px;
  letter-spacing: 0.03em;
  text-align: center;
  display: inline-block;
  border-bottom: 1px solid #333;
}
#snsBlockSection .sns-block {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 35px;
  width: var(--article-card-width);
  margin: 0 auto 35px;
  background-color: #fff;
  border-radius: 999px;
  padding: 15px;
}
#snsBlockSection .sns-block p {
  font-family: 'Nunito Sans', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}
#snsBlockSection .sns-block img {
  width: 50px;
  transition: opacity 0.3s ease;
}
#snsBlockSection .sns-block img:hover {
  opacity: 0.7;
}
#snsBlockSection .sns-block a {
  display: inline-block;
  text-decoration: none;
}
@media (max-width: 960px) {
  #snsBlockSection {
    width: 100%;
    min-width: auto;
  }
  #snsBlockSection h4.sns-block-title {
    font-size: 1.6rem;
    margin: 0 auto 14px;
  }
  #snsBlockSection .sns-block {
    gap: 20px;
    width: 100%;
    margin: 0 auto;
    padding: 12px;
  }
  #snsBlockSection .sns-block p {
    font-size: 1.3rem;
  }
  #snsBlockSection .sns-block img {
    width: 37px;
  }
}

/* 例：古谷さん の部分の背景色 */
.sec-article.category-diet .person-name-highlight {
  color: #fff;
  background-color: var(--color-cat-diet-point2) !important;
  padding-left: 2px;
  margin-right: 4px;
}
.sec-article.category-health .person-name-highlight {
  background-color: var(--color-cat-health-point2) !important;
  color: #fff;
  padding-left: 2px;
  margin-right: 4px;
}
.sec-article.category-beauty .person-name-highlight {
  color: #fff;
  background-color: var(--color-cat-beauty-point2) !important;
  padding-left: 2px;
  margin-right: 4px;
}
.sec-article.category-lifestyle .person-name-highlight {
  color: #fff;
  background-color: var(--color-cat-lifestyle-point2) !important;
  padding-left: 2px;
  margin-right: 4px;
}
.sec-article.category-feature .person-name-highlight {
  color: #fff;
  background-color: var(--color-cat-feature-point2) !important;
  padding-left: 2px;
  margin-right: 4px;
}

/* インタビュアーコメント */
/* 例：古谷さん の部分の背景色 */
.entry_content .entry_txt p.interviewer-comment {
  position: relative;
  font-weight: bold;
  color: #333;
  /* margin-bottom: 24px; */
}
.interviewer-comment::before {
  content: '';
  display: inline-block;
  width: 3em;
  height: 2px;
  background: #333;
  vertical-align: middle;
  margin-right: 0.75em;
  margin-top: -0.15em;
}
.sec-article.category-diet .interviewer-comment {
  color: var(--color-cat-diet-point2) !important;
}
.sec-article.category-health .interviewer-comment {
  color: var(--color-cat-health-point2) !important;
}
.sec-article.category-beauty .interviewer-comment {
  color: var(--color-cat-beauty-point2) !important;
}
.sec-article.category-lifestyle .interviewer-comment {
  color: var(--color-cat-lifestyle-point2) !important;
}
.sec-article.category-feature .interviewer-comment {
  color: var(--color-cat-feature-point2) !important;
}
.sec-article.category-diet .interviewer-comment::before {
  background-color: var(--color-cat-diet-point2) !important;
}
.sec-article.category-health .interviewer-comment::before {
  background-color: var(--color-cat-health-point2) !important;
}
.sec-article.category-beauty .interviewer-comment::before {
  background-color: var(--color-cat-beauty-point2) !important;
}
.sec-article.category-lifestyle .interviewer-comment::before {
  background-color: var(--color-cat-lifestyle-point2) !important;
}
.sec-article.category-feature .interviewer-comment::before {
  background-color: var(--color-cat-feature-point2) !important;
}

/* 画像と目次リンクとボタンは適用除外 */
.entry_content .entry_txt a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link) {
  position: relative;
  /* display: inline-block; */
  display: inline;
  margin-right: 0.2em;
}
.entry_content .entry_txt a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  display: inline-block;
  /* position: absolute;
  right: -19px;
  bottom: 2px; */
  content: '';
  margin-left: 2px;
  margin-bottom: -3px;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  mask-image: url(../images/icn_external-link.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ccc;
  vertical-align: baseline;
  font-size: 0;
  line-height: 0;
}
.sec-article.category-diet .entry_content .entry_txt a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link) {
  color: var(--color-cat-diet-point2) !important;
}
.sec-article.category-health
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link) {
  color: var(--color-cat-health-point2) !important;
}
.sec-article.category-beauty
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link) {
  color: var(--color-cat-beauty-point2) !important;
}
.sec-article.category-lifestyle
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link) {
  color: var(--color-cat-lifestyle-point2) !important;
}
.sec-article.category-feature
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link) {
  color: var(--color-cat-feature-point2) !important;
}
.sec-article.category-diet
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-diet-point2) !important;
}
.sec-article.category-health
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-health-point2) !important;
}
.sec-article.category-beauty
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-beauty-point2) !important;
}
.sec-article.category-lifestyle
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-lifestyle-point2) !important;
}
.sec-article.category-feature
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-feature-point2) !important;
}
.entry_content .entry_txt > p.has-text-align-right {
  font-size: 13px;
}
.entry_content .entry_txt > p.has-text-align-right > a {
  text-decoration: underline;
  font-size: 13px;
}
.entry_content .entry_txt > p.has-text-align-right > a::after {
  width: 14px !important;
  height: 14px !important;
  background-color: #666 !important;
  margin-left: 3px !important;
}
.entry_content .entry_txt > p .has-small-font-size > a::after {
  width: 16px !important;
  height: 16px !important;
}
.entry_content .entry_txt > p.has-small-font-size > a::after {
  width: 16px !important;
  height: 16px !important;
}
.entry_content .entry_txt > p > a {
  text-decoration: underline;
}
.entry_content .entry_txt .profile-box a::after {
  width: 19px !important;
  height: 19px !important;
  margin-bottom: -4px !important;
}
.sec-article.category-diet
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-diet-point2);
}
.sec-article.category-health
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-health-point2);
}
.sec-article.category-beauty
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-beauty-point2);
}
.sec-article.category-lifestyle
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-lifestyle-point2);
}
.sec-article.category-feature
  .entry_content
  .entry_content
  .entry_txt
  a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
  background-color: var(--color-cat-feature-point2);
}

@media screen and (max-width: 960px) {
  .entry_content .entry_txt .ez-toc-list > li > a {
    font-size: 1.6rem;
  }
  .entry_content .entry_txt a:not(:has(img)):not(.ez-toc-link):not(.wp-block-button__link):not(.add_read_link_button_link)::after {
    /* right: -14px;
    bottom: 3px; */
    width: 18px;
    height: 18px;
  }
  .entry_content .entry_txt > p.has-text-align-right {
    font-size: 11px !important;
  }
  .entry_content .entry_txt > p.has-text-align-right > a {
    font-size: 11px !important;
  }
  .entry_content .entry_txt p .has-small-font-size {
    font-size: 11px !important;
  }
  .entry_content .entry_txt > p.has-text-align-right > a::after {
    width: 13px !important;
    height: 13px !important;
    margin-left: 4px !important;
    margin-bottom: -2px !important;
  }
  .entry_content .entry_txt .profile-box a::after {
    width: 13px !important;
    height: 13px !important;
    margin-bottom: -3px !important;
  }
  .interviewer-comment::before {
    margin-top: -0.1em;
  }
}

.entry_content .entry_txt p {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
.entry_content .entry_txt p strong:not(.person-name-highlight strong) {
  background: linear-gradient(transparent 60%, rgba(255, 255, 255, 0.5) 60%);
}

.entry_content .entry_txt figure {
  max-width: 100%;
  margin: 0;
}
.entry_content .entry_txt > figure.wp-block-image {
  margin-bottom: 24px;
}

.entry_content .entry_txt figure img {
  margin-bottom: 5px;
}

.entry_content .entry_txt figcaption {
  text-align: center;
  font-size: 1.6rem;
  margin: 0 0 20px;
}

.blog .entry_content .entry_txt ol li {
  list-style-type: decimal;
  list-style-position: inside;
  margin: 0 0 40px;
  font-size: 1.4rem;
}

.blog .entry_content .entry_txt .item_introduction {
  width: 480px;
  padding: 30px;
  margin: 50px auto 0;
  border: 1px solid #969696;
  overflow: hidden;
  cursor: pointer;
}
.blog .entry_content .entry_txt .item_img {
  float: left;
  margin: 0 50px 0 0;
}

.blog .entry_content .entry_txt .item_img img {
  width: 160px;
  height: 160px;
  margin: 0;
}
.blog .entry_content .entry_txt .item_info {
  display: contents;
}
.blog .entry_content .entry_txt .item_name {
  font-size: 1.4rem;
  margin: 0 0 10px;
}
.blog .entry_content .entry_txt .item_txt {
  font-size: 1.2rem;
  margin: 0 0 10px;
}
.blog .entry_content .entry_txt .item_price {
  font-size: 1.6rem;
  color: #de5d50;
  font-weight: bold;
  margin: 0;
}
.entry_move_list {
  margin: 0 auto;
  width: max-content;
}
.entry_move_list li {
  float: left;
}
.entry_move_list li:nth-child(1),
.entry_move_list li:nth-child(2) {
  margin: 0 50px 0 0;
}
.entry_move_list li a {
  width: 180px;
  border: 1px solid #cdcdcd;
  padding: 20px 0;
  text-align: center;
  font-size: 1.6rem;
  display: inline-block;
}
.entry_content .entry_txt .wp-block-table {
  margin-bottom: 16px;
}
.wp-block-table table {
  table-layout: fixed;
  width: var(--article-text-width);
  margin: 0 auto 5px;
}
.wp-block-table .has-fixed-layout {
  width: var(--article-text-width);
  margin: 0 auto 5px;
}
.wp-block-table td:first-of-type,
.wp-block-table th:first-of-type {
  display: inline-block;
  white-space: nowrap;
}
.wp-block-table th {
  background-color: #333;
  color: #fff;
  font-weight: 600;
}
.wp-block-table th:not(:last-child) {
  border-right: 1px solid #888;
}
.wp-block-table th:first-child {
  border-left: 1px solid #333;
}
.wp-block-table th:last-child {
  border-right: 1px solid #333;
}
.wp-block-table th:last-child {
  border-right: 1px solid #333;
}
.wp-block-table td {
  border-bottom: 1px solid #333 !important;
}
.wp-block-table td:first-of-type {
  font-weight: 400 !important;
}
.wp-block-table td:not(:last-child) {
  border-right: 1px solid #333;
}
.sec-article.category-diet .wp-block-table th {
  color: var(--color-cat-diet-back) !important;
}
.sec-article.category-health .wp-block-table th {
  color: var(--color-cat-health-back) !important;
}
.sec-article.category-beauty .wp-block-table th {
  color: var(--color-cat-beauty-back) !important;
}
.sec-article.category-lifestyle .wp-block-table th {
  color: var(--color-cat-lifestyle-back) !important;
}
.sec-article.category-feature .wp-block-table th {
  color: var(--color-cat-feature-back) !important;
}
.sec-article.category-diet .wp-block-table td {
  background-color: var(--color-cat-diet-back) !important;
}
.sec-article.category-health .wp-block-table td {
  background-color: var(--color-cat-health-back) !important;
}
.sec-article.category-beauty .wp-block-table td {
  background-color: var(--color-cat-beauty-back) !important;
}
.sec-article.category-lifestyle .wp-block-table td {
  background-color: var(--color-cat-lifestyle-back) !important;
}
.sec-article.category-feature .wp-block-table td {
  background-color: var(--color-cat-feature-back) !important;
}
.wp-block-table.is-style-stripes {
  border-bottom: none;
}
@media screen and (max-width: 960px) {
  .tit_blog_list img {
    margin: 0 30px 0 0;
  }
  .entry_content .entry_txt p {
    margin: 0 0 16px;
    font-size: 1.6rem;
  }
  .entry_content .entry_txt > figure.wp-block-image {
    margin-bottom: 20px;
  }
  .blog .entry_content .entry_txt .item_introduction {
    width: 100%;
    padding: 15px;
    margin: 50px auto 0;
    border: 1px solid #969696;
    overflow: hidden;
  }
  .blog .entry_content .entry_txt .item_img img {
    width: 100px;
    height: 100px;
    margin: 0;
  }
  .blog .entry_content .entry_txt .item_img {
    float: left;
    margin: 0 10px 0 0;
  }
  .blog .entry_content .entry_txt .item_name {
    font-size: 1.4rem;
    margin: 0 0 0px;
  }
  .blog .entry_content .entry_txt .item_txt {
    font-size: 1.2rem;
    margin: 0 0 0px;
    line-height: 1.5;
  }
  .blog .entry_content .entry_txt .item_price {
    font-size: 1.6rem;
    color: #de5d50;
    font-weight: bold;
    margin: 0 0 0px;
  }

  .entry_move_list {
    width: 100%;
  }
  .entry_move_list li {
    width: 33.3%;
    float: left;
  }
  .entry_move_list li:nth-child(1),
  .entry_move_list li:nth-child(2) {
    margin: 0;
  }
  .entry_move_list li a {
    width: 100%;
    border: 1px solid #cdcdcd;
    padding: 15px 0;
    text-align: center;
    font-size: 1.2rem;
    display: inline-block;
  }
  .entry_txt {
    margin: 0 0 40px;
  }
  .entry_content {
    margin: 0 0 40px;
  }
  .entry_info_list.cf {
    margin-bottom: 3px;
    height: 60px;
  }
  .entry_info_list li {
    color: #4d4d4d;
    font-weight: 400 !important;
    font-size: 1.2rem !important;
    float: left;
    margin: 0 10px 14px 0;
    letter-spacing: 0.12em;
  }
  .entry_info_list li.entry_info_list_date {
    margin-left: 19px;
  }
  .entry_info_list li a {
    font-weight: 400 !important;
    text-decoration-color: #727272;
  }
  .entry_content .entry_txt figcaption {
    font-size: 1.3rem;
    padding: 0 5px;
  }
  .wp-block-table {
    overflow-x: scroll;
    scrollbar-gutter: stable both-edges;
    padding-bottom: 8px;
  }
  .wp-block-table table {
    width: 650px;
  }
  .wp-block-table .has-fixed-layout {
    width: 650px;
  }
}

/*---------------------------------
　目次
---------------------------------*/
#ez-toc-container {
  width: var(--article-text-width);
  padding: 20px 30px 20px;
  margin: 30px auto 5px;
  background-color: #fff;
  border-radius: 28px;
}
.entry_content .entry_txt .ez-toc-title {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0;
  padding-left: 1.3rem;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--color-border-gray);
}
.entry_content .entry_txt .ez-toc-title::before {
  content: '▼';
  display: inline-block;
  margin-right: 0.6em;
  color: #888;
  font-size: 0.6em;
  vertical-align: middle;
  line-height: 1;
  margin-top: -4px;
}
.entry_content .entry_txt .ez-toc-list > li {
  font-size: 1.6rem;
  font-weight: 500;
  padding: 14px 0 12px 2.6em;
  position: relative;
  list-style-type: none;
  margin: 0;
  border-bottom: 1px dotted #b3b3b3;
}
.entry_content .entry_txt .ez-toc-list > li:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.entry_content .entry_txt .ez-toc-list > li:before {
  content: '';
  display: block;
  position: absolute;
  top: 20px;
  left: 10px;
  width: 20px;
  height: 20px;
  -webkit-mask-image: url(../images/icn_hand.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: url(../images/icn_hand.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #777;
  vertical-align: baseline;
  font-size: 0;
  line-height: 0;
}
.sec-article.category-diet .entry_content .ez-toc-title::before {
  color: var(--color-cat-diet-point1) !important;
}
.sec-article.category-diet .entry_content .ez-toc-list > li:before {
  background-color: var(--color-cat-diet-point1) !important;
}
.sec-article.category-health .entry_content .ez-toc-title::before {
  color: var(--color-cat-health-point1);
}
.sec-article.category-health .entry_content .ez-toc-list > li:before {
  background-color: var(--color-cat-health-point1) !important;
}
.sec-article.category-beauty .entry_content .ez-toc-title::before {
  color: var(--color-cat-beauty-point1);
}
.sec-article.category-beauty .entry_content .ez-toc-list > li:before {
  background-color: var(--color-cat-beauty-point1) !important;
}
.sec-article.category-lifestyle .entry_content .ez-toc-title::before {
  color: var(--color-cat-lifestyle-point1);
}
.sec-article.category-lifestyle .entry_content .ez-toc-list > li:before {
  background-color: var(--color-cat-lifestyle-point1) !important;
}
.sec-article.category-feature .entry_content .ez-toc-title::before {
  color: var(--color-cat-feature-point1);
}
.sec-article.category-feature .entry_content .ez-toc-list > li:before {
  background-color: var(--color-cat-feature-point1) !important;
}
.ez-toc-list > li .ez-toc-link {
  text-decoration: none;
  letter-spacing: 0.04em;
  font-weight: 500;
  display: block;
  transition: opacity 0.3s ease;
}
.ez-toc-list > li .ez-toc-link:hover {
  opacity: 0.7;
}
.entry_content .entry_txt .ez-toc-list > li ul li {
  margin: 0;
}
.entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 {
  margin-top: 0.7em;
}
.entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li {
  margin-bottom: 0.5em;
  position: relative;
}
.entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li:before {
  content: '・';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1.2em;
  color: #777;
}
.entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li .ez-toc-link {
  font-weight: 400;
}
.sec-article.category-diet .entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li:before {
  color: var(--color-cat-diet-point2) !important;
}
.sec-article.category-health .entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li:before {
  color: var(--color-cat-health-point2) !important;
}
.sec-article.category-beauty .entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li:before {
  color: var(--color-cat-beauty-point2) !important;
}
.sec-article.category-lifestyle .entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li:before {
  color: var(--color-cat-lifestyle-point2) !important;
}
.sec-article.category-feature .entry_content .entry_txt .ez-toc-list ul.ez-toc-list-level-3 li:before {
  color: var(--color-cat-feature-point2) !important;
}

@media screen and (max-width: 960px) {
  #ez-toc-container {
    padding: 15px 20px 20px;
    margin: 35px 0 5px;
  }
  .entry_content .entry_txt .ez-toc-title {
    padding-left: 0.8rem;
    padding-bottom: 8px;
  }
  .entry_content .entry_txt .ez-toc-title::before {
    font-size: 0.5em;
    margin-top: -4px;
  }
  .entry_content .entry_txt .ez-toc-list > li {
    font-size: 1.4rem;
    padding: 14px 0 12px 2.5em;
  }

  .entry_content .entry_txt .ez-toc-list > li:before {
    content: '';
    position: absolute;
    top: 20px;
    left: 7px;
    width: 18px;
    height: 18px;
  }
}

/*---------------------------------
　WPパーツ
---------------------------------*/
/* 一旦 */
.entry_content .wp-block-group {
  /* background: #fff;
  border-radius: 28px;
  overflow: hidden;
  padding: 20px; */
  margin-bottom: 20px;
}
/* ↓何で設定したか不明 */
/* .entry_content .wp-block-group .wp-block-group__inner-container div {
  background-color: #fff !important;
}
.entry_content .wp-block-group .wp-block-group__inner-container div p {
  background-color: #fff !important;
} */

@media screen and (max-width: 960px) {
  .entry_content .wp-block-group.center-white-title {
    margin-bottom: 10px;
  }
  .entry_content .wp-block-media-text:not(.simple-profile-box) .wp-block-media-text__content {
    padding: 0;
  }
}
/*---------------------------------
　ページ送り
---------------------------------*/
.wp-pagenavi {
  margin-top: 40px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
}
.wp-pagenavi .current,
a.page.larger,
a.page.smaller,
a.nextpostslink,
a.previouspostslink,
a.first,
a.last,
.wp-pagenavi .extend {
  font-family: 'Nunito Sans', sans-serif;
  padding: 10px 15px;
  margin: 0 8px 0;
  display: inline-block;
}
.wp-pagenavi .current {
  color: #333;
  font-weight: 700;
}
a.page.larger,
a.page.smaller,
a.last {
  color: #aaa;
  transition: color 0.3s ease;
}
a.page.larger:hover,
a.page.smaller:hover {
  color: #333;
}
a.previouspostslink,
a.nextpostslink {
  font-size: 1.3em;
}
@media (max-width: 960px) {
  .wp-pagenavi {
    font-size: 1.6rem;
    margin-top: 25px;
  }
  .wp-pagenavi .current,
  a.page.larger,
  a.page.smaller,
  a.nextpostslink,
  a.previouspostslink,
  a.first,
  a.last,
  .wp-pagenavi .extend {
    padding: 10px 18px;
    margin: 0;
  }
  a.previouspostslink,
  a.nextpostslink {
    font-size: 1.4em;
  }
  a.previouspostslink {
    padding-left: 0;
  }
  a.nextpostslink {
    padding-right: 0;
  }
}

/*---------------------------------
　フッター
---------------------------------*/

@media screen and (orientation: portrait) {
  body .scroll-snap-article {
    height: max-content;
    padding: 0 0 60px;
  }
  .fit-article {
    width: 100%;
    position: relative;
    left: 0;
    transform: translateY(0%) translateX(0%);
    font-size: 0;
  }
}

/*---------------------------------
　動画で解説
---------------------------------*/

#movie_explanation {
  width: 100%;
}
#movie_explanation .swiper-wrapper {
  display: flex;
  margin-bottom: 3%;
}
#movie_explanation .video-wrapper video {
  aspect-ratio: 9 / 16;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  pointer-events: none;
}
#movie_explanation .video-wrapper .wp-video {
  /* width: 250px !important; */
}
#movie_explanation .swiper-pagination {
  margin-top: 16px;
  position: static;
  text-align: center;
}
#movie_explanation .swiper-pagination-bullet-active {
  background-color: #656565;
}

@media screen and (max-width: 896px) {
  .information_list {
    margin: 40px 0 32.5px;
  }
  .information_content .side_cat {
    display: none;
  }
  .information_content,
  .information_content main,
  .information_inner {
    max-width: 100%;
  }
  .post_date {
    font-size: 10px;
    margin-top: 37.5px;
  }
  .information_content main h1 {
    font-size: 16px;
    margin-top: 10px;
  }
  .post_date,
  .information_content main h1 {
    margin-bottom: 0;
    padding: 0 17.5px;
  }
  .thumbnail_area {
    margin: 20px 0 32.5px;
  }
  .information_inner {
    padding: 0 12.5px;
  }
  .text_title {
    font-size: 15px;
    padding: 25px 0 0;
  }
  .text_area {
    font-size: 12px;
    margin-top: 25px;
    padding-top: 10px;
  }
  .information_inner .next_btn {
    padding: 20px 0 17.5px;
  }
  .link_btn {
    font-size: 10px;
    padding: 12.5px 10px;
  }
  .product_link {
    width: 113px;
  }
  .top_link {
    width: 137.5px;
  }
  .link_btn:after {
    padding-left: 0;
  }
  .cat_area {
    font-size: 9px;
    margin: 10px 5px;
  }
  .others_info_list li {
    font-size: 12px;
    margin: 0 0 12.5px 5px;
    width: 100%;
  }
  #others_info_h1 {
    margin: 30px 0 27.5px 5px;
    padding: 0;
  }
  .others_info_list li:nth-child(n + 3) {
    padding-top: 0;
  }
  .others_info_list li:nth-child(n + 3)::before {
    display: none;
  }
  .others_info_list li .thumbnail_area {
    float: left;
    margin: 0;
    width: 50%;
  }
  .others_info_list li .side_info_area {
    float: left;
    height: 100%;
    margin-left: 12.5px;
    width: 45%;
  }
  .others_info_list li .side_info_area .post_date {
    margin: 0;
    padding: 0;
  }
  .information_tagbar {
    background-color: #f3f3f3;
    display: block;
    font-size: 12px;
    padding: 10px 0 10px 22.5px;
    width: 100%;
  }
  .information_inner .tag_list {
    display: block;
    margin: 19px 0 0 9px;
  }
  .tag_list li {
    display: inline-block;
  }
  .others_info_list li .side_info_area .title {
    margin-top: 15px;
  }
  .information_list h1 {
    font-size: 20px;
  }
  .information_list h1 span {
    font-size: 10px;
  }

  .mark2 {
    background: linear-gradient(transparent 20%, yellow 0%);
  }

  .under {
    border-bottom: solid 4px #ffbfca;
  }

  .star5_rating {
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #cccccc; /* グレーカラー 自由に設定化 */
    /*font-size: 30px; フォントサイズ 自由に設定化 */
  }

  .star5_rating:before,
  .star5_rating:after {
    content: '★★★★★';
  }

  .star5_rating:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
  }

  .star5_rating[data-rate='5']:after {
    width: 100%;
  } /* 星5 */
  .star5_rating[data-rate='4.5']:after {
    width: 90%;
  } /* 星4.5 */
  .star5_rating[data-rate='4']:after {
    width: 80%;
  } /* 星4 */

  .box23 {
    position: relative;
    margin: 2em 0 2em 40px;
    padding: 8px 15px;
    background: #e3e3e3;
    border-radius: 30px;
  }
  .box23:before {
    font-family: FontAwesome;
    content: '\f111';
    position: absolute;
    font-size: 15px;
    left: -40px;
    bottom: 0;
    color: #e3e3e3;
  }
  .box23:after {
    font-family: FontAwesome;
    content: '\f111';
    position: absolute;
    font-size: 23px;
    left: -23px;
    bottom: 0;
    color: #e3e3e3;
  }
  .box23 p {
    margin: 0;
    padding: 0;
  }

  .box26 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
  }
  .box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #fff;
    color: #95ccff;
    font-weight: bold;
  }
  .box26 p {
    margin: 0;
    padding: 0;
  }

  .box30 {
    margin: 2em 0;
    background: #fafafa;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
  }
  .box30 .box-title {
    font-size: 1.2em;
    background: #95ccff;
    padding: 4px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .box30 p {
    padding: 15px 20px;
    margin: 0;
  }

  .balloon1-left {
    position: relative;
    display: inline-block;
    margin: 1.5em 0 1.5em 15px;
    padding: 14px 30px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 18px;
    font-weight: bold;
    background: #e3e3e3;
  }

  .balloon1-left:before {
    content: '';
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #e3e3e3;
  }

  .balloon1-left p {
    margin: 0;
    padding: 0;
  }
}

/*---------------------------------
レビュー
---------------------------------*/
/* 記事内のみの変更 */
.entry_content .entry_txt .review-container {
  margin-bottom: 30px;
}
.entry_content .entry_txt .reviewWidget {
  background: #fff;
  border-radius: 28px;
  width: var(--article-card-width);
  margin: 0 auto;
}
.entry_content .entry_txt .reviewWidget .reviewWidget_inner {
  padding: 50px 20px;
}
.reviewWidget_inner .reviewWidget_title_container {
  display: none;
}
.reviewWidget_inner .uKomiWidgetSection {
  display: none;
}
.reviewWidget_inner .review-widget-summary-container {
  margin-bottom: 0;
}
/* 記事内のみの変更 */
.entry_content .entry_txt .reviewWidget_inner .review-widget-summary-container {
  margin-top: 0;
}
.reviewWidget_inner .ratingOverview.clearfix .summaryCustomRating {
  display: none;
}
.review-widget-summary-container .starRating.clearfix .reviewNumber {
  line-height: 20px !important;
  font-weight: 600;
}
.review-widget-summary-container .starRating.clearfix .reviewNumber strong {
  font-size: 24px;
}
/* 記事内のみの変更 */
.entry_content .entry_txt .reviewWidget_inner .reviewWebsiteRedirect {
  line-height: 0 !important;
}
/* 記事内のみの変更 */
.entry_content .entry_txt .reviewWidget_inner .reviewWebsiteRedirect a {
  margin-top: 0;
  margin-bottom: 0;
}
/* 記事内のみの変更 */
.entry_content .entry_txt .reviewWidget_inner .reviewWebsiteRedirect img {
  margin-bottom: 0 !important;
}
.u-komi-section.u-komi-review-section .reviewSortingSection {
  display: none !important;
}
.u-komi-section.u-komi-review-section .customQuestionSorting {
  display: none !important;
}
.u-komi-section.u-komi-review-section .customQuestionSortingWrap {
  padding: 0;
}
.u-komi-section.u-komi-review-section .loadedReviews {
  margin-top: 10px;
}
.u-komi-section.u-komi-review-section .singleReview {
  margin-bottom: 0px;
  padding-bottom: 0px;
}
.singleReview .singleReview_CustomQue {
  display: none;
}
.singleReview .singleReview_body_left .reviewProductName {
  display: none;
}
.singleReview .singleReview_footer {
  display: none;
}
.singleReview .singleReview_header.clearfix .ukomiFeaturedReview img {
  display: none;
}
.singleReview .singleReview_header.clearfix .ukomiFeaturedReviewLabel {
  display: none;
}
/* ピックアップレビューの自動黄背景色を白色にする */
.entry_content .entry_txt .reviewWidget_inner .singleReview--featured {
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}
.entry_content .entry_txt .u-komi-section.u-komi-review-section .loadedReviews .singleReview:last-of-type {
  border-bottom: none;
}
@media (max-width: 960px) {
  .entry_content .entry_txt .review-container {
    margin-bottom: 20px;
  }
  .entry_content .entry_txt .reviewWidget .reviewWidget_inner {
    padding: 30px 15px 40px;
    border-radius: 20px;
  }
}

/*---------------------------------
 あわせて読みたい
---------------------------------*/
.entry_content .entry_txt .also-read-box {
  background: #fff;
  padding: 2.2em 2em;
  border-radius: 28px;
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.12);
  margin: 0 auto 2em;
  width: var(--article-card-width);
  min-width: 620px;
}
.entry_content .entry_txt .also-read-heading {
  color: var(--accent-color);
  border: 1px solid var(--accent-color);
  padding: 0.3em 1em;
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1em;
  letter-spacing: 0.1em;
}
.entry_content .entry_txt .also-read-icon {
  width: 22px;
  height: 22px;
  background-color: var(--accent-color);
  mask-image: url(../images/icn_article.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  display: inline-block;
  margin-right: 0.5em;
}
.entry_content .entry_txt .also-read-link {
  display: flex;
  gap: 2em;
  text-decoration: none;
  color: inherit;
}
.entry_content .entry_txt .also-read-thumb {
  width: 40%;
  height: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.entry_content .entry_txt .also-read-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.entry_content .entry_txt .also-read-body {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
.entry_content .entry_txt .also-read-title {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: 0.8em;
  text-align: left;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  overflow: hidden;
}
.entry_content .entry_txt .also-read-button {
  display: inline-block;
  padding: 0.5em 1.3em;
  border: 1px solid #333;
  border-radius: 9999px;
  font-size: 1.1em;
  transition: 0.2s ease;
  background: #fff;
  letter-spacing: 0.1em;
  vertical-align: middle;
  transition: all 0.2s ease;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  width: max-content;
  margin: 0 0 3px auto;
}
.entry_content .entry_txt .also-read-button:hover {
  transform: translateY(-1px);
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
.entry_content .entry_txt .also-read-button:active {
  transform: translateY(0);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}
.entry_content .entry_txt .click-arrow-icon {
  width: 9px;
  height: 9px;
  background-color: #333;
  mask-image: url(../images/icn_click-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  display: inline-block;
  margin-left: 0.5em;
  margin-bottom: 1px;
}
@media screen and (max-width: 960px) {
  .entry_content .entry_txt .also-read-box {
    background: #fff;
    padding: 1em;
    border-radius: 20px;
    width: 100%;
    min-width: auto;
  }
  .entry_content .entry_txt .also-read-heading {
    padding: 0.3em 0.6em;
    display: inline-flex;
    align-items: center;
    font-size: 1.3rem;
    margin-bottom: 1.1em;
    border-radius: 6px;
  }
  .entry_content .entry_txt .also-read-icon {
    width: 16px;
    height: 16px;
    margin-right: 0.4em;
  }
  .entry_content .entry_txt .also-read-link {
    gap: 0.8em;
  }
  .entry_content .entry_txt .also-read-thumb {
    width: 40%;
    height: 100%;
  }
  .entry_content .entry_txt .also-read-title {
    font-size: clamp(12px, 4vw, 18px);
    margin-bottom: 0.5em;
    line-height: 1.6;
  }
  .entry_content .entry_txt .also-read-button {
    display: inline-block;
    padding: 0.4em 1em;
    font-size: 1.3rem;
    margin: 0 0 3px auto;
  }
  .entry_content .entry_txt .click-arrow-icon {
    width: 7px;
    height: 7px;
    margin-left: 0.5em;
    margin-bottom: 0;
  }
}

/* クォーテーション */
.entry_content .entry_txt figure.quotation-top {
  margin: 40px 0 30px;
}
.entry_content .entry_txt figure.quotation-top img {
  width: 18% !important;
  min-width: 100px;
  margin-left: -10px;
  padding-left: var(--article-padding-left);
}
.entry_content .entry_txt figure.quotation-bottom {
  margin: 20px 0 20px auto;
  text-align: right;
}
.entry_content .entry_txt figure.quotation-bottom img {
  width: 18% !important;
  min-width: 100px;
  display: inline-block;
  margin-right: -10px;
  padding-right: var(--article-padding-right);
}

@media screen and (max-width: 960px) {
  /* クォーテーション */
  .entry_content .entry_txt figure.quotation-top {
    margin: 40px 0 20px;
  }
  .entry_content .entry_txt figure.quotation-top img {
    width: 15% !important;
    min-width: 50px;
    margin: 0 0 0 -1.2%;
    padding: 0;
  }
  .entry_content .entry_txt figure.quotation-bottom {
    margin: 10px 0 20px;
  }
  .entry_content .entry_txt figure.quotation-bottom img {
    width: 15% !important;
    min-width: 50px;
    margin: 0 -1.2% 0 0;
    padding: 0;
  }
}

/* 鍵かっこタイトル */
.entry_content .entry_txt .quoted-title {
  position: relative;
  display: block;
  padding: 1em 2em;
  color: #333;
  text-align: center;
  margin-top: 45px !important;
  margin-bottom: 45px !important;
  text-decoration: none;
}
.entry_content .entry_txt .quoted-title::before,
.entry_content .entry_txt .quoted-title::after {
  content: '';
  position: absolute;
  width: 60px;
  height: 60px;
  border: 6px solid #fff;
}
.entry_content .entry_txt .quoted-title::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}
.entry_content .entry_txt .quoted-title::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}
@media screen and (max-width: 960px) {
  .entry_content .entry_txt .quoted-title {
    font-size: clamp(1.6rem, 4.3vw, 2.2rem);
    padding: 1.3em 1.8em;
    margin: 35px 10px !important;
  }
  .entry_content .entry_txt .quoted-title::before,
  .entry_content .entry_txt .quoted-title::after {
    content: '';
    position: absolute;
    width: 40px;
    height: 40px;
    border-width: 4px;
  }
}

/* 白背景 + テキスト中央 */
.entry_content .entry_txt .center-white-title {
  text-align: center;
  background-color: transparent;
  border-radius: 0;
  margin-top: 1em;
}
.entry_content .entry_txt .center-white-title p {
  font-size: 2.4rem;
  margin-bottom: 0;
}
.entry_content .entry_txt .center-white-title .highlight-white {
  background: #fff;
  font-weight: 500;
}
@media screen and (max-width: 960px) {
  .entry_content .entry_txt .center-white-title {
    padding-left: 0;
    padding-right: 0;
  }
  .entry_content .entry_txt .center-white-title p {
    font-size: 1.8rem;
  }
}

/* 区切り線 */
.entry_content .entry_txt hr.wp-block-separator {
  margin: 60px 0;
  border-top: 1px solid #888;
}
@media screen and (max-width: 960px) {
  .entry_content .entry_txt hr.wp-block-separator {
    margin: 40px 0;
  }
}

/* 詳しくみるなどのリンクボタン */
.entry_content .entry_txt .wp-block-buttons {
  justify-content: center !important;
}
.entry_content .entry_txt .wp-block-button__link {
  color: #333 !important;
  margin-bottom: 30px;
  background: #fff;
  letter-spacing: 0.1em;
  padding: 0.9em 1.4em;
  font-size: 1.8rem !important;
  line-height: 1;
  display: inline-block;
  border: 1px solid #333;
  border-radius: 9999px;
  transition: 0.2s ease;
  vertical-align: middle;
  transition: all 0.2s ease;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  width: max-content;
}
.entry_content .entry_txt .wp-block-button__link:hover {
  transform: translateY(-1px);
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.25);
}
.entry_content .entry_txt .wp-block-button__link:active {
  transform: translateY(0);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}
.entry_content .entry_txt .wp-block-button__link::after {
  content: '';
  color: #333;
  width: 9px;
  height: 9px;
  background-color: #333;
  -webkit-mask-image: url(../images/icn_click-arrow.svg);
  mask-image: url(../images/icn_click-arrow.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  display: inline-block;
  margin-left: 0.5em;
  margin-bottom: 1px;
}
@media screen and (max-width: 960px) {
  .entry_content .entry_txt .wp-block-button__link {
    font-size: 1.6rem !important;
    padding: 0.8em 1.4em 0.9em;
    margin-bottom: 20px;
  }
}

/* スピーチバルーン */
.entry_content .entry_txt .wp-block-liquid-speech-balloon {
  margin: 30px auto 46px;
  width: var(--article-text-width);
}
.liquid-speech-balloon-avatar {
  width: 120px;
  height: 120px;
}
.liquid-speech-balloon-avatar::after {
  top: 127px;
  font-size: 16px;
}
.entry_content .entry_txt .liquid-speech-balloon-text {
  border: none;
  border-radius: 24px;
  width: max-content;
  height: max-content;
  margin-left: 30px;
  margin-right: 0;
}
.entry_content .entry_txt .liquid-speech-balloon-right .liquid-speech-balloon-text {
  margin-left: 0;
  margin-right: 30px;
}
.entry_content .entry_txt .liquid-speech-balloon-text p:last-of-type {
  margin-bottom: 0;
}
.liquid-speech-balloon-arrow {
  left: -10px;
}
.liquid-speech-balloon-wrap.liquid-speech-balloon-right .liquid-speech-balloon-arrow {
  border-left: 10px solid #fff;
}
.liquid-speech-balloon-wrap.liquid-speech-balloon-right .liquid-speech-balloon-arrow {
  right: -17px;
}
.liquid-speech-balloon-wrap:not(.liquid-speech-balloon-right) .liquid-speech-balloon-arrow {
  border-right: 10px solid #fff;
}
/* 1行の場合、jsでsingle-lineクラスを付与している */
.liquid-speech-balloon-wrap.single-line {
  align-items: center;
}
@media screen and (max-width: 960px) {
  .entry_content .entry_txt .wp-block-liquid-speech-balloon {
    margin: 20px auto 30px;
    width: var(--article-text-width);
  }
  .entry_content .entry_txt .liquid-speech-balloon-text {
    padding: 15px 20px;
    border-radius: 20px;
  }
  .entry_content .entry_txt .liquid-speech-balloon-text {
    margin-left: 20px;
    margin-right: 0;
  }
  .entry_content .entry_txt .liquid-speech-balloon-right .liquid-speech-balloon-text {
    margin-left: 0;
    margin-right: 20px;
  }
  .liquid-speech-balloon-avatar {
    width: 64px;
    height: 64px;
  }
  .liquid-speech-balloon-avatar::after {
    top: 69px;
    font-size: 12px;
  }
  .entry_content .entry_txt .liquid-speech-balloon-text p {
    font-size: 1.4rem;
  }
}
