@charset "UTF-8";

/* --------------------------------
 * カスタムプロパティ
 * -------------------------------- */
:root {
  /* 色 */
  --color-primary: #ea3210;
  --color-shade: #DB2E0F;
  --color-text: #333333;
  --color-background: #f5f5f5;

  /* フォント */
  --font-family-normal: "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Sans", Meiryo, sans-serif;
  /*--font-family-normal: YakuHanJPs, "Noto Sans JP", serif;*/
  --font-family-accent: "Poppins", serif;
  --font-family-date: "Lusitana", serif;
}


/* --------------------------------
 * 共通
 * -------------------------------- */
html {
  font-size: 62.5%;
}
body {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-family-normal);
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
button {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
}
input[type="submit"] {
  cursor: pointer;
}
/* reCAPTCHAバッジを非表示にする */
.grecaptcha-badge {
    visibility: hidden;
}

/* ----------- パーツ ----------- */
/* 共通ボタン */
.common-link-btn a {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 22px 40px;
  width: 100%;
  box-sizing: border-box;
  background-color: var(--color-primary);
  border-radius: 28px;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
}
.common-link-btn a::before {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  background: url("../image/icon_arrow_right_white.svg");
}
.common-link-btn a,
.common-link-btn a::before {
  transition: 0.2s;
}
.common-link-btn a:hover {
  opacity: 0.7;
}
.common-link-btn a:hover::before {
  transform: translate(3px, -50%);
}

/* トップへ戻るボタン */
.scroll-top {
  position: fixed;
  bottom: 20px;
  right: 10px;
  opacity: 0; /* 初期状態は非表示 */
  visibility: hidden;
  transform: translateY(-5px);
  transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}
.scroll-top button {
  width: 48px;
  height: 48px;
  background-color: #ffffff;
  border: solid 2px #dddddd;
  border-radius: 50%;
}
.scroll-top .up-icon {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -48%);
  display: block;
  width: 24px;
  height: 24px;
  content: url("../image/arrow_up.svg");
}
.scroll-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.scroll-top button {
  transition: 0.2s;
}
.scroll-top button:hover {
  opacity: 0.7;
}

/* ----------- ヘッダー ----------- */
.header {
  position: sticky;
  top: 0;
  left: 0;
  background-color: #ffffff;
  z-index: 5;
  transition: transform 0.3s ease-in-out;
  overflow: hidden !important;
}
.header.hidden {
  transform: translateY(-100%);
}

/* ヘッダートップ */
.header-top {
  position: relative;
  display: flex;
  justify-content: center;
  margin: 0 15px;
  padding-top: 10px;
  padding-bottom: 20px;
  border-bottom: solid 1px #dddddd;
  background-color: #ffffff;
  z-index: 5;
  transition: transform 0.3s ease-in-out;
}

/* ヘッダーロゴ */
.header-logo a {
  display: block;
  width: 240px;
  height: 40px;
  background: url("../image/logo.svg") no-repeat center / contain;
}
.header-logo span {
  font-size: 0;
}

/* ヘッダーハンバーガーボタン */
.header-hamburger-btn {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  padding: 0;
  width: 40px;
  height: 40px;
  border: none;
  background-color: transparent;
}
.header-hamburger-btn img {
  display: inline-block;
  width: 100%;
  height: auto;
}

/* ヘッダーメニュー */
.header-menu {
  display: none;
}

/* ヘッダーハンバーガーメニュー */
.header-hamburger-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  padding: 80px 0 50px 0;
  background-color: #ffffff;
  z-index: 1000;
  transition: right 0.7s ease; /* スライドアニメーション */
  overflow-y: auto; /* メニュー内でスクロール可能 */
}
.hamburger-search {
  position: relative;
  margin: 0 30px;
  width: calc(100% - 60px);
}
.hamburger-search form input {
  padding: 15px 67px 15px 15px;
  width: 100%;
  height: 52px;
  box-sizing: border-box;
  border: solid 1px #dddddd;
  border-radius: 4px;
  color: #555555;
  font-size: 1.4rem;
}
.hamburger-search form input::placeholder {

  color: #888888;
  font-size: 1.4rem;
}
.hamburger-search form button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 52px;
  height: 52px;
  border-radius: 0 4px 4px 0;
  background-color: #888888;
}
.hamburger-search form button img {
  content: url(../image/icon_search_white.svg);
  width: 26px;
  height: 26px;
}
.hamburger-menu {
  margin: 30px 0 50px 0;
  list-style: none;
}
.hamburger-menu li a {
  position: relative;
  display: block;
  padding: 15px 30px;
  font-size: 1.4rem;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: solid 1px #dddddd;
}
.hamburger-menu li a::before {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 30px;
  display: block;
  width: 8px;
  height: 12px;
  content: url("../image/arrow_right.svg");
}
.hamburger-sns {
  text-align: center;
}
.hamburger-sns .message {
  margin-bottom: 15px;
  font-size: 1.4rem;
}
.hamburger-sns .sns {
  display: flex;
  justify-content: center;
  column-gap: 20px;
  list-style: none;
}
.hamburger-sns .sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background-color: var(--color-background);
  border-radius: 4px;
}
.hamburger-sns .sns li a img {
  width: 24px;
  height: 24px;
}
.hamburger-close-btn {
  position: absolute;
  top: 20px;
  right: 15px;
  width: 30px;
  height: 30px;
}
.hamburger-close-btn img {
  display: block;
  width: 100%;
  height: 100%;
}
/* ヘッダーハンバーガーメニュー 開いたとき */
.header-hamburger-menu.open {
  right: 0;
}
body.no-scroll {
  overflow: hidden; /* 背景のスクロールを無効化 */
}

/* ヘッダー hover時 */
.header-hamburger-btn,
.hamburger-close-btn,
.hamburger-search form button,
.hamburger-menu li a,
.hamburger-sns .sns li a {
  transition: opacity 0.2s;
}
.header-hamburger-btn:hover,
.hamburger-close-btn:hover,
.hamburger-search form button:hover,
.hamburger-menu li a:hover,
.hamburger-sns .sns li a:hover {
  opacity: 0.7;
}
.hamburger-search form input {
  transition: border-color 0.2s;
}
.hamburger-search form input:hover {
  border-color: #aaaaaa;
}

/* ヘッダー active時 */
.hamburger-search form input:focus {
  outline: none;
  border: solid 1px #aaaaaa;
}


/* ----------- メイン ----------- */
/* タイトル */
.top-title {
  color: #000000;
  letter-spacing: 0;
}
.top-title-en {
  display: block;
  margin-bottom: 10px;
  font-family: var(--font-family-accent);
  font-size: 3.8rem;
  font-weight: 700;
}
.top-title-jp {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
}

/* ----------- サイドバー ----------- */
.sidebar {
  display: none;
}

/* ----------- その他 ----------- */
/* その他 タイトル */
.other-title {
  margin-bottom: 20px;
}

/* その他 ランキング */
.other-ranking {
  margin-bottom: 60px;
  padding: 40px 30px 80px 30px;
  background-color: var(--color-primary);
}
.other-ranking .other-title {
  color: #ffffff;
}
.other-ranking ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.other-ranking ul li {
  padding: 12px;
  width: calc(50% - 5px);
  box-sizing: border-box;
  background-color: #ffffff;
}
.other-ranking ul li a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.other-ranking .ranking-img {
  overflow: hidden;
}
.other-ranking .ranking-img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.other-ranking .ranking-rank {
  position: relative;
  top: -29px;
  left: -1px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  width: 30px;
  height: 30px;
}
.other-ranking .ranking-rank span {
  font-family: var(--font-family-date);
  font-size: 1.6rem;
  font-weight: 700;
}
.other-ranking .ranking-category {
  position: relative;
  margin: -20px 0 0 0;
  padding-left: 10px;
  font-size: 1rem;
  color: #555555;
}
.other-ranking .ranking-category::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  color: #555555;
}
.other-ranking .ranking-title {
  margin: 10px 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.other-ranking .ranking-date {
  font-family: var(--font-family-date);
  font-size: 1rem;
  color: #555555;
}

/* その他 カテゴリー */
.other-category {
  margin-bottom: 60px;
  padding: 0 30px;
}
.other-category .category-content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
}
.other-category .category-content a {
  display: block;
  width: 100%;
  height: auto;
}
.other-category .category-content img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* その他 キーワード */
.other-keyword {
  margin-bottom: 60px;
  padding: 0 30px;
}
.other-keyword ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.other-keyword li a {
  display: inline-block;
  padding: 6px 12px;
  border: solid 1px #dddddd;
  border-radius: 4px;
  background-color: #ffffff;
  color: var(--color-text);
  font-size: 1.2rem;
  text-decoration: none;
}

/* その他 プロフィール */
.other-profile {
  margin-bottom: 60px;
  padding: 0 30px;
}
.other-profile .wrap-content {
    padding-top: 30px;
    border-top: solid 1px #dddddd;
}
.other-profile .profile-wrap {
  display: flex;
}
.other-profile .profile-img {
  margin-right: 20px;
  width: 90px;
  height: 90px;
}
.other-profile .profile-title {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-accent);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  color: #000000;
}
.other-profile .profile-name {
  margin: 10px 0 20px 0;
  font-size: 1.6rem;
}
.other-profile .profile-name a {
  text-decoration: none;
  color: var(--color-text);
}
.other-profile .profile-sns {
  display: flex;
  column-gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.other-profile .profile-sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background-color: var(--color-background);
  border-radius: 4px;
}
.other-profile .profile-sns li a img {
  width: 18px;
  height: 18px;
}
.other-profile .profile-intro {
  margin: 20px 0 0 0;
  font-size: 1.2rem;
  line-height: 1.8;
}

/* その他 下部ウィジェットエリア */
.other-bottom-widget {
  margin: 60px 0;
  padding: 0 30px;
}
.other-bottom-widget > .wrap-content > div {
  text-align: center;
  margin-bottom: 30px;
}
.other-bottom-widget > .wrap-content > div img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* その他 hover時 */
.other-ranking .ranking-img img,
.other-category .category-content a,
.other-keyword li a {
  transition: 0.3s;
}
.other-profile .profile-name a,
.other-profile .profile-sns li a {
  transition: 0.2s;
}
.other-ranking ul li a:hover .ranking-img img {
  transform: scale(1.06);
}
.other-category .category-content a:hover,
.other-keyword li a:hover,
.other-profile .profile-name:hover,
.other-profile .profile-sns li a:hover {
  opacity: 0.7;
}

/* ----------- フッター ----------- */
.footer {
  padding: 40px 30px 30px 30px;
  background-color: var(--color-primary);
}

/* フッターロゴ */
.footer-logo {
  width: auto;
  height: 24px;
}

/* フッターメニュー */
.footer-menu {
  margin-top: 40px;
  list-style: none;
}
.footer-menu li a {
  display: block;
  padding: 15px 0;
  color: #ffffff;
  font-size: 1.2rem;
  text-decoration: none;
}
.footer-menu li {
  position: relative;
}
.footer-menu li:first-child::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  border-top: solid 1px var(--color-background);
}
.footer-menu li::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  border-bottom: solid 1px var(--color-background);
}

/* フッターコピーライト */
.footer-copyright {
  margin: 100px 0 0 0;
  padding: 0;
  color: #ffffff;
  font-size: 1rem;
  text-align: center;
}

/* フッター hover時 */
.footer-menu li a {
  transition: 0.3s;
}
.footer-menu li a:hover {
  opacity: 0.7;
}


/* --------------------------------
 * トップページ
 * -------------------------------- */
/* トップ ヘッダートップ */
.home .header-top {
  border-bottom: none;
}

/* トップ タイトル */
.home .home-title {
  margin-bottom: 20px;
}

/* トップ ボタン */
.home .common-link-btn {
  margin-top: 30px;
}

/* ----------- スライド ----------- */
.home .slide {
  margin: 5px 0 50px 0;
}
.home .swiper {
  overflow: hidden;
}
.home .swiper-wrapper {
  display: flex;
  width: 100%;
  height: 100%;
}
.home .swiper-slide {
  flex-shrink: 0;
  width: 316px;
}
.home .swiper-slide a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.home .swiper-slide .image {
  overflow: hidden;
}
.home .swiper-slide .image img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.home .swiper-slide .category {
  position: relative;
  margin-top: 15px;
  padding-left: 10px;
  font-size: 1rem;
  color: #555555;
}
.home .swiper-slide .category::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  color: #555555;
}
.home .swiper-slide .title {
  margin: 10px 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.home .swiper-slide .date {
  font-family: var(--font-family-date);
  font-size: 1rem;
  color: #555555;
}

/* スライド ページネーション */
.home .swiper-pagination {
  display: none !important;
}

/* スライド hover時 */
.home .swiper-slide .image img {
  transition: 0.3s;
}
.home .swiper-slide a:hover .image img {
  transform: scale(1.02);
}

/* ----------- NEW ----------- */
.home .new {
  margin-bottom: 100px;
  padding: 0 30px;
  display: block;
}

/* NEW 記事一覧 */
.home .new-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 10px;
  list-style: none;
}
.home .new-list li {
  width: calc(50% - 5px);
}
.home .new-list li a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.home .new-list .image {
  overflow: hidden;
}
.home .new-list .image img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.home .new-list .category {
  position: relative;
  margin-top: 10px;
  padding-left: 10px;
  font-size: 1rem;
  color: #555555;
}
.home .new-list .category::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  color: #555555;
}
.home .new-list .title {
  margin: 5px 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.home .new-list .date {
  font-family: var(--font-family-date);
  font-size: 1rem;
  color: #555555;
}

/* NEW hover時 */
.home .new-list .image img {
  transition: 0.3s;
}
.home .new-list li a:hover .image img {
  transform: scale(1.06);
}

/* ----------- カテゴリー（DAILY・ART・OTHER） ----------- */
.home .category-daily,
.home .category-art,
.home .category-other {
  margin-bottom: 100px;
  padding: 0 30px;
}
.home .category-other {
  margin-bottom: 60px;
}

/* カテゴリー 記事一覧 */
.home .category-list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 30px 10px;
  list-style: none;
}
.home .category-list li {
  width: calc(50% - 5px);
}
.home .category-list li a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.home .category-list .image {
  overflow: hidden;
}
.home .category-list .image img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.home .category-list .category {
  position: relative;
  margin-top: 10px;
  padding-left: 10px;
  font-size: 1rem;
  color: #555555;
}
.home .category-list .category::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  color: #555555;
}
.home .category-list .title {
  margin: 5px 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.home .category-list .date {
  font-family: var(--font-family-date);
  font-size: 1rem;
  color: #555555;
}

/* カテゴリー hover時 */
.home .category-list .image img {
  transition: 0.3s;
}
.home .category-list li a:hover .image img {
  transform: scale(1.06);
}


/* --------------------------------
 * 投稿ページ・固定ページ
 * -------------------------------- */
/* ----------- 記事 ----------- */
.single-main,
.page-main {
  margin: 0 auto;
  padding: 0 15px;
}
.article {
  margin-top: 20px;
}
.page-main .article {
  margin-bottom: 50px;
}

/* 記事カテゴリー */
.text-category {
  position: relative;
  margin: 0 0 5px 0;
  padding: 0 0 0 10px;
}
.text-category::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  color: #555555;
}
.text-category a {
  color: #555555;
  font-size: 1.2rem;
  text-decoration: none;
}

/* 日時 */
.time {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 20px;
  color: #888888;
  font-family: var(--font-family-date);
  font-size: 1.2rem;
}
.posted-time {
  margin-right: 15px;
}
.time img {
  padding-right: 5px;
  width: 12px;
  height: 12px;
  position: relative;
  top: 2px;
}

/* 記事タイトル */
.article h1 {
  margin-bottom: 10px;
  color: #000000;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
}
.page-main .article h1 {
  margin-bottom: 20px;
}

/* 記事メイン画像 */
.main-img {
  margin: 0 0 30px 0;
  padding: 0;
}
.main-img img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

/* 目次 */
.no_bullets {
  margin-top: 50px;
  margin-bottom: 80px;
  padding: 30px 20px 40px 20px;
  background-color: var(--color-background);
}
.no_bullets .toc_title {
  margin: 0 0 15px 0;
  font-family: var(--font-family-accent);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0;
}
.no_bullets ul {
  list-style: none;
  counter-reset: index;
}
.no_bullets > ul > li {
  position: relative;
  padding: 10px 0 10px 20px;
  border-bottom: solid 1px #dddddd;
  overflow-wrap: anywhere;
}
.no_bullets > ul > li:first-child {
  border-top: solid 1px #dddddd;
}
.no_bullets > ul > li::before {
  display: block;
  position: absolute;
  top: 13px;
  left: 0;
  content: counters(index, '.', decimal)  ".";
  counter-increment: index;
}
.no_bullets li a {
  display: block;
  text-decoration: none;
  color: var(--color-text);
  line-height: 1.5;
}
.no_bullets > ul > li > ul > li {
  position: relative;
  padding: 6px 0 0 10px;
  font-size: 1.4rem;
}
.no_bullets > ul > li > ul > li::before {
  display: block;
  position: absolute;
  top: 15px;
  left: 0;
  width: 3px;
  height: 3px;
  border-radius: 1.5px;
  background-color: var(--color-text);
  content: "";
}

/* 見出し（h2） */
.article > h2 {
  margin-top: 80px;
  margin-bottom: 30px;
  padding: 10px 15px;
  background-color: var(--color-background);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

/* 見出し（h3） */
.article > h3 {
  position: relative;
  margin: 50px 0 20px 0;
  padding-left: 17px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
.article > h3::before {
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  width: 7px;
  height: 80%;
  background-color: #dddddd;
  content: "";
}

/* 見出し（h4） */
.article > h4 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 20px;
}    

/* 記事本文 */
.article > p {
  margin: 0 0 30px 0;
  line-height: 2;
  letter-spacing: 0;
}

/* 記事リンク */
.article .linktext a {
  color: var(--color-text);
  text-decoration: underline;
}

/* 記事掲載写真 */
.article > .wp-block-image {
  margin: 0 0 30px 0;
}
.article > .wp-block-image .wp-element-caption {
  margin: 10px 0 0 0;
  font-size: 1.4rem;
  text-align: center;
  color: #555555;
}

/* 吹き出し */
.speech-bubble {
  display: flex;
  margin: 40px 0;
}
.bubble-icon img {
  width: 90px;
  height: 90px;
}
.bubble-body {
  padding-left: 20px;
  position: relative;
}
.bubble-body::before {
  display: block;
  position: absolute;
  border: 9px solid transparent;
  border-right: 14px solid #dddddd;
  top: 30px;
  left: -2px;
  content: "";
  z-index: 1;
}
.bubble-body::after {
  display: block;
  position: absolute;
  border: 8px solid transparent;
  border-right: 12px solid #ffffff;
  top: 31px;
  left: 1px;
  content: "";
  z-index: 2;
}
.bubble-text {
  padding: 20px 15px;
  border: solid 1px #dddddd;
  border-radius: 4px;
  font-size: 1.4rem;
  line-height: 2;
}

/* 投稿リンク */
.post-link {
  color: var(--color-text);
  text-decoration: none;
}
.post-link-content {
  display: flex;
  margin-bottom: 40px;
  padding: 20px 15px 15px 15px;
  position: relative;
  border: solid 1px #dddddd;
}
.post-link-caption {
  display: flex;
  column-gap: 5px;
  padding: 0 10px;
  position: absolute;
  top: -10px;
  left: 15px;
  background-color: #ffffff;
  font-size: 1.2rem;
}
.post-link-thumb {
  margin-right: 15px;
}
.post-link-thumb img {
  width: 90px;
  height: 90px;
  vertical-align: bottom;
}
.post-link-body {
  display: flex;
  align-items: center;
}
.post-link-title {
  font-weight: 700;
  line-height: 1.5;
}
.post-link-excerpt {
  display: none;
}

/* 引用テキスト */
.wp-block-quote {
  margin-bottom: 30px;
  padding: 20px;
  background-color: var(--color-background);
}
.wp-block-quote > p,
.wp-block-quote > .wp-block-list,
.wp-block-quote > .wp-block-list > li {
  margin-bottom: 10px;
  line-height: 2;
  letter-spacing: 0;
}

/* リスト */
.wp-block-list {
  margin-top: 10px;
  margin-bottom: 30px;
  padding-left: 15px;
  list-style: none;
}
.wp-block-list li {
  position: relative;
  margin-bottom: 15px;
  font-size: 1.6rem;
  line-height: 1.6;
}
ul.wp-block-list > li::before {
  display: block;
  position: absolute;
  top: 10px;
  left: -15px;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background-color: var(--color-text);
  content: "";
}
ol.wp-block-list {
  padding-left: 20px;
  counter-reset: list;
}
ol.wp-block-list > li::before {
  display: block;
  position: absolute;
  top: 0;
  left: -20px;
  content: counter(list)  ".";
  counter-increment: list;
}

/* 店舗情報 */
.shop-info {
  margin-bottom: 40px;
  padding: 30px 20px;
  background-color: var(--color-background);
}
.shop-info-title {
  position: relative;
  margin-bottom: 26px;
  padding-left: 15px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.shop-info-title::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 5px;
  height: 60%;
  background-color: #888888;
  content: "";
}
.shop-info-text p {
  margin-bottom: 10px;
  font-size: 1.6rem;
  line-height: 1.5;
}

/* 記事 アフィリエイト */
.affiliates-title {
  margin-bottom: 10px !important;
}
.affiliates {
  margin-bottom: 30px;
}

/* 記事 下部ウィジェットエリア */
.single-bottom-widget {
  margin: 30px 0;
}
.single-bottom-widget > div {
  text-align: center;
  margin-bottom: 30px;
}
.single-bottom-widget > div img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* 記事 hover時 */
.text-category a,
.article .linktext a,
.no_bullets li a,
.post-link {
  transition: 0.2s;
}
.text-category a:hover,
.no_bullets li a:hover,
.article .linktext a:hover,
.post-link:hover {
  opacity: 0.7;
}

/* ----------- 関連情報 ----------- */
.article-aside {
  margin: 50px 0;
}

/* 関連情報 タイトル */
.article-aside-title {
  margin-bottom: 15px;
  color: #000000;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}

/* 関連情報 シェア */
.article-aside-share {
  margin-bottom: 30px;
  padding-top: 20px;
  border-top: solid 1px #dddddd;
}
.article-aside-share ul {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-aside-share ul li {
  margin-right: 5px;
  width: 25%;
  height: 40px;
}
.article-aside-share ul li:last-child {
  margin-right: 0;
}
.article-aside-share li a,
.article-aside-share li div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  border-radius: 4px;
  cursor: pointer;
}
.article-aside-share .share-url {
  background-color: #888888;
}
.article-aside-share .share-x {
  background-color: #0F1419;
}
.article-aside-share .share-fb {
  background-color: #1877F2;
}
.article-aside-share .share-line {
  background-color: #00B900;
}
.article-aside-share .share-message {
  z-index: 1001;
  position: fixed;
  top: -100%;
  left: 50%;
  transform: translate(-50%, 0);
  padding: 15px 20px;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  background-color: #ffffff;
  border-radius: 4px;
  transition: top 1.0s ease;
}
.article-aside-share .share-message.show {
  display: block;
  top: 50px;
}
.article-aside-share .share-message.success {
  color: #3D9262;
  background-color: #EBFDE9;
}
.article-aside-share .share-message.fail {
  color: #E12F2F;
  background-color: #FDE9E9;
}

/* 関連情報 前の記事・次の記事 */
.article-aside-prevnext {
  margin-bottom: 30px;
  padding: 20px 0;
  display: flex;
  border-top: solid 1px #dddddd;
  border-bottom: solid 1px #dddddd;
}
.article-aside-prevnext .prev,
.article-aside-prevnext .next {
  width: 50%;
}
.article-aside-prevnext .prev a,
.article-aside-prevnext .next a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.article-aside-prevnext .icon {
  display: block;
  width: 10px;
  height: 10px;
}
.article-aside-prevnext .icon img {
  display: block;
  width: 10px;
  height: 10px;
}
.article-aside-prevnext .subtext {
  display: block;
  margin-bottom: 10px;
  font-size: 1rem;
  color: #888888;
}
.article-aside-prevnext .title {
  font-size: 1.2rem;
  line-height: 1.5;
  font-weight: 700;
  color: var(--color-text);
}
.article-aside-prevnext .prev a {
  padding-right: 10px;
}
.article-aside-prevnext .next a {
  padding-left: 10px;
}
.article-aside-prevnext .prev .icon {
  margin-right: 10px;
}
.article-aside-prevnext .next .icon {
  margin-left: 10px;
}
.article-aside-prevnext .next .subtext {
  text-align: right;
}

/* 関連情報 キーワード */
.article-aside-keyword {
  margin-bottom: 40px;
}
.article-aside-keyword ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-aside-keyword li a {
  display: inline-block;
  padding: 6px 12px;
  border: solid 1px #dddddd;
  border-radius: 4px;
  background-color: #ffffff;
  color: var(--color-text);
  font-size: 1.2rem;
  text-decoration: none;
}

/* 関連情報 関連記事 */
.article-aside-related {
  margin-bottom: 40px;
}
.article-aside-related ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-aside-related ul li {
  width: calc(50% - 10px);
}
.article-aside-related ul li a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.article-aside-related .related-post-img {
  overflow: hidden;
}
.article-aside-related .related-post-img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.article-aside-related .related-post-title {
  margin: 10px 0 0 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
}

/* 関連情報 プロフィール */
.article-aside-profile {
  padding-top: 30px;
  border-top: solid 1px #dddddd;
}
.article-aside-profile .profile-wrap {
  display: flex;
}
.article-aside-profile .profile-img {
  margin-right: 20px;
  width: 100px;
  height: 100px;
}
.article-aside-profile .profile-title {
  margin: 0;
  padding: 0;
  font-family: var(--font-family-accent);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0;
  color: #000000;
}
.article-aside-profile .profile-name {
  margin: 10px 0 15px 0;
  font-size: 1.6rem;
}
.article-aside-profile .profile-name a {
  text-decoration: none;
  color: var(--color-text);
}
.article-aside-profile .profile-sns {
  display: flex;
  column-gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-aside-profile .profile-sns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  background-color: var(--color-background);
  border-radius: 4px;
}
.article-aside-profile .profile-sns li a img {
  width: 18px;
  height: 18px;
}
.article-aside-profile .profile-intro {
  margin: 15px 0 0 0;
  font-size: 1.2rem;
  line-height: 1.8;
}

/* 関連情報 hover時 */
.article-aside-share a,
.article-aside-share div,
.article-aside-prevnext .prev a,
.article-aside-prevnext .next a,
.article-aside-keyword li a,
.article-aside-related .related-post-img img,
.article-aside-profile .profile-name a,
.article-aside-profile .profile-sns li a {
  transition: 0.2s;
}
.article-aside-share a:hover,
.article-aside-share div:hover,
.article-aside-prevnext .prev a:hover,
.article-aside-prevnext .next a:hover,
.article-aside-keyword li a:hover,
.article-aside-profile .profile-name a:hover,
.article-aside-profile .profile-sns li a:hover {
  opacity: 0.7;
}
.article-aside-related ul li a:hover .related-post-img img {
  transform: scale(1.06);
}


/* ------------------------------------------
 * アーカイブページ・検索結果ページ・最新記事ページ
 * ------------------------------------------ */
.archive-main {
  margin: 0 auto;
  padding: 0 15px;
}
.archive-main .archive-wrap {
  margin-top: 20px;
  margin-bottom: 60px;
  
}

/* アーカイブ・検索結果・最新記事 タイトル */
.archive-title {
  margin-bottom: 20px;
}

/* アーカイブ・検索結果・最新記事 記事一覧 */
.archive-main .post-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.archive-main .post-list li {
  width: 100%;
}
.archive-main .post-list li a {
  display: block;
  color: var(--color-text);
  text-decoration: none;
}
.archive-main .post-list .post-img {
  overflow: hidden;
}
.archive-main .post-list .post-img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.archive-main .post-list .category {
  position: relative;
  margin-top: 10px;
  padding-left: 10px;
  font-size: 1rem;
  color: #555555;
}
.archive-main .post-list .category::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  color: #555555;
}
.archive-main .post-list .post-title {
  margin: 10px 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.archive-main .post-list .post-date {
  font-family: var(--font-family-date);
  font-size: 1rem;
  color: #555555;
}

/* アーカイブ・検索結果・最新記事 ページネーション */
.pagination {
  margin-top: 40px;
}
.pagination .nav-links {
  display: flex;
  justify-content: center;
  column-gap: 10px;
  margin: 0;
  padding: 0;
}
.pagination .nav-links .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 38px;
  height: 38px;
  border-radius: 19px;
  background-color: var(--color-background);
  font-family: var(--font-family-date);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-text);
  text-decoration: none;
}
.pagination .nav-links .page-numbers.current {
  background-color: var(--color-primary);
  color: #ffffff;
}
.pagination .nav-links .prev span {
  content: url("../image/arrow_left.svg");
  width: 10px;
  height: 10px;
}
.pagination .nav-links .next span {
  content: url("../image/arrow_right.svg");
  width: 10px;
  height: 10px;
}

/* アーカイブ・検索結果・最新記事 hover時 */
.archive-main .post-list .post-img img,
.pagination .nav-links a {
  transition: 0.2s;
}
.archive-main .post-list li a:hover .post-img img {
  transform: scale(1.06);
}
.pagination .nav-links a:hover {
  opacity: 0.7;
}


/* --------------------------------
 * お問い合わせページ
 * -------------------------------- */
.contact-form {
  margin-top: 30px;
}

/* お問い合わせ フォーム */
.contact-item {
  margin-bottom: 30px;
}
.contact-item .title {
  display: block;
  margin-bottom: 10px;
  font-size: 1.6rem;
}
.contact-item input,
.contact-item textarea {
  display: block;
  padding: 10px 10px;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  border: solid 1px #dddddd;
  border-radius: 2px;
  font-family: var(--font-family-normal);
  font-size: 1.6rem;
  color: var(--color-text);
}
.contact-item textarea {
  height: 200px;
}
.contact-item .wpcf7-not-valid-tip {
  margin-top: 10px;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color-primary);
}
.contact-button {
  margin: 50px auto;
  text-align: center;
}
.contact-button input {
  padding: 16px 60px;
  background-color: var(--color-background);
  border: none;
  font-size: 1.4rem;
  font-weight: 700;
}
.contact-button .wpcf7-spinner {
  display: none;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
  margin: 0;
  border: none;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-primary);
  text-align: center;
}

/* お問い合わせ hover時 */
.contact-item input,
.contact-item textarea,
.contact-button input {
  transition: 0.2s;
}
.contact-item input:hover,
.contact-item textarea:hover {
  border-color: #aaaaaa;
}
.contact-button input:hover {
  opacity: 0.7;
}

/* ヘッダー active時 */
.contact-item input:focus,
.contact-item textarea:focus {
  outline: none;
  border: solid 1px #aaaaaa;
}


/* --------------------------------
 * 404ページ
 * -------------------------------- */
.error404 .main {
  padding: 0 15px;
}
.error404 .nofound {
  margin: 50px 0;
}
.error404 .nofound-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.error404 .nofound-text {
  margin: 30px 0 50px 0;
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
}


/* ########### 小型SP（340px 以下） ########### */
@media (max-width: 340px) {
  
  /* ヘッダーロゴ */
  .header-logo a {
    width: 200px;
    height: 32px;
  }
}

/* ########### Tablet（768px以上 ～ 1023px以下） ########### */
@media (min-width: 768px) and (max-width: 1023px) {
  
  /* --------------------------------
   * 共通
   * -------------------------------- */
  /* ----------- パーツ ----------- */
  /* 共通ボタン */
  .common-link-btn a {
    width: 320px;
    border-radius: 29px;
    font-size: 1.4rem;
  }
  
  /* トップへ戻るボタン */
  .scroll-top {
    right: 20px;
  }
  
  /* ----------- ヘッダー ----------- */
  /* ヘッダーロゴ */
  .header-logo a {
    width: 240px;
    height: 40px;
  }
  
  /* ----------- メイン ----------- */
  /* タイトル */
  .top-title-en {
    font-size: 4.8rem;
  }
  .top-title-jp {
    font-size: 1.4rem;
  }
  
  /* ----------- その他 ----------- */
  /* その他 タイトル */
  .other-title {
    margin-bottom: 30px;
  }
  
  /* その他 ランキング */
  .other-ranking {
    padding: 60px 80px 80px 80px;
  }  
  .other-ranking ul {
    gap: 30px;
  }
  .other-ranking ul li {
    padding: 20px;
    width: calc(50% - 15px);
    box-sizing: border-box;
  }
  .other-ranking .ranking-rank span {
    font-size: 1.8rem;
  }
  .other-ranking .ranking-category {
    margin: -15px 0 0 0;
  } 
  .other-ranking .ranking-date {
    font-size: 1.2rem;
  }
  
  /* その他 カテゴリー */
  .other-category {
    margin-bottom: 80px;
    padding: 0 80px;
  } 
  .other-category .category-content {
    gap: 15px;
  }
  .other-category .category-content a {
    width: calc(50% - 7.5px);
  }
  
  /* その他 キーワード */
  .other-keyword {
    margin-bottom: 80px;
    padding: 0 80px;
  }
  
  /* その他 プロフィール */
  .other-profile {
    padding: 0 80px;
  }
  .other-profile .wrap-content {
    padding-top: 60px;
  }
  .other-profile .profile-img {
    margin-right: 30px;
    width: 140px;
    height: 140px;
  }
  .other-profile .profile-title {
    font-size: 2rem;
  }
  .other-profile .profile-name {
    font-size: 2rem;
  }
  .other-profile .profile-intro {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  
  /* その他 下部ウィジェットエリア */
  .other-bottom-widget {
    margin: 60px 0;
    padding: 0 80px;
  }
  
  /* ----------- フッター ----------- */
  .footer {
    padding: 60px 80px 20px 80px;
  }
  
  /* フッターメニュー */
  .footer-menu {
    display: flex;
  }
  .footer-menu li a {
    padding: 3px 15px;
  }
  .footer-menu li:first-child::before {
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    width: 0;
    height: 14px;
    border-top: 0;
    border-left: solid 1px #ffffff;
  }
  .footer-menu li::after {
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
    width: 0;
    height: 14px;
    border-bottom: 0;
    border-right: solid 1px #ffffff;
  }
  
  /* フッターコピーライト */
  .footer-copyright {
    margin: 50px 0 0 0;
  }
  
  
  /* --------------------------------
  * トップページ
  * -------------------------------- */  
  /* トップ タイトル */
  .home .home-title {
    margin-bottom: 30px;
  }
  
  /* トップ ボタン */
  .home .common-link-btn {
    margin-top: 60px;
  }
  
  /* ----------- スライド ----------- */
  .home .slide {
    position: relative;
    padding-bottom: 40px;
  }
  .home .swiper-slide {
    width: 432px;
  }
  .home .swiper-slide .title {
    font-size: 1.8rem;
  }
  .home .swiper-slide .date {
    font-size: 1.2rem;
  }
  
  /* スライド ページネーション */
  .home .swiper-pagination {
    display: block !important;
    margin-top: auto;
    bottom: 0;
  }
  .home .swiper-pagination-bullet {
    background-color: #888888;
  }
  
  /* ----------- NEW ----------- */
  .home .new {
    padding: 0 80px;
  }
  .home .new .wrap-content {
    padding-top: 50px;
    border-top: solid 1px #dddddd;
  }
  
  /* NEW 記事一覧 */
  .home .new-list {
    column-gap: 30px;
    row-gap: 40px;
  }
  .home .new-list li {
    width: calc(50% - 15px);
  }
  .home .new-list .title {
    margin: 10px 0;
  }
  .home .new-list .date {
    font-size: 1.2rem;
  }
  
  /* ----------- カテゴリー（DAILY・ART・OTHER） ----------- */
  .home .category-daily,
  .home .category-art,
  .home .category-other {
    padding: 0 80px;
  }
  .home .category-other {
    margin-bottom: 100px;
  }
  
  /* カテゴリー 記事一覧 */
  .home .category-list {
    column-gap: 30px;
    row-gap: 40px;
  }
  .home .category-list li {
    width: calc(50% - 15px);
  }
  .home .category-list .title {
    margin: 10px 0;
  }
  .home .category-list .date {
    font-size: 1.2rem;
  }
  
  
  /* --------------------------------
   * 投稿ページ・固定ページ
   * -------------------------------- */
  /* ----------- 記事 ----------- */
  .single-main,
  .page-main {
    padding: 0 40px;
  }
  .page-main .article {
    margin-bottom: 80px;
  }
  
  /* 記事タイトル */
  .article h1 {
    font-size: 3rem;
  }
  
  /* 記事メイン画像 */
  .main-img {
    margin-bottom: 60px;
  }
  
  /* 目次 */
  .no_bullets {
    margin-top: 60px;
    margin-bottom: 90px;
    padding: 30px 40px 40px 40px;
  }  
  .no_bullets .toc_title {
    font-size: 2.2rem;
  }
  
  /* 見出し（h2） */
  .article > h2 {
    margin-top: 90px;
    padding: 15px 20px;
    font-size: 2.2rem;
  }
  
  /* 見出し（h3） */
  .article > h3 {
    margin-top: 60px;
    padding-left: 20px;
    font-size: 2rem;
  }
  .article > h3::before {
    width: 8px;
  }
  
  /* 見出し（h4） */
  .article > h4 {
    font-size: 2rem;
  } 
  
  /* 吹き出し */
  .bubble-icon img {
    width: 100px;
    height: 100px;
  } 
  .bubble-text {
    padding: 20px 30px;
    font-size: 1.6rem;
  }
  
  /* 投稿リンク */
  .post-link-content {
    padding: 30px;
  }
  .post-link-thumb {
    margin-right: 20px;
  }
  .post-link-thumb img {
    width: 120px;
    height: 120px;
  }
  .post-link-body {
    flex-direction: column;
    align-items: flex-start;
  }
  .post-link-title {
    margin-bottom: 10px;
  }
  .post-link-excerpt {
    display: block;
    font-size: 1.4rem;
    line-height: 2;
  }
  
  /* 引用テキスト */
  .wp-block-quote {
    padding: 30px;
  }
  
  /* 記事 下部ウィジェットエリア */
  .single-bottom-widget {
    margin: 60px 0;
  }
  
  /* ----------- 関連情報 ----------- */
  .article-aside {
    margin: 60px 0;
  }
  
  /* 関連情報 タイトル */
  .article-aside-title {
    font-size: 1.6rem;
  }
  
  /* 関連情報 シェア */
  .article-aside-share {
    margin-bottom: 40px;
    padding-top: 30px;
  }
  .article-aside-share ul li {
    margin-right: 10px;
  }
  .article-aside-share .share-message {
    padding: 15px 30px;
    font-size: 1.6rem;
  }
  
  /* 関連情報 前の記事・次の記事 */
  .article-aside-prevnext {
    margin-bottom: 40px;
    padding-top: 30px;
    padding-bottom: 40px;
  }
  .article-aside-prevnext .icon {
    width: 16px;
    height: 16px;
  }
  .article-aside-prevnext .icon img {
    width: 16px;
    height: 16px;
  }
  .article-aside-prevnext .subtext {
    font-size: 1.2rem;
  }
  .article-aside-prevnext .title {
    font-size: 1.4rem;
  }
  .article-aside-prevnext .prev a {
    padding-right: 40px;
    border-right: solid 1px #dddddd;
  }
  .article-aside-prevnext .next a {
    padding-left: 40px;
  }
  
  /* 関連情報 キーワード */
  .article-aside-keyword {
    margin-bottom: 50px;
  }
  
  /* 関連情報 関連記事 */
  .article-aside-related {
    margin-bottom: 50px;
  }
  .article-aside-related ul {
    gap: 30px 20px;
  }
  .article-aside-related ul li {
    width: calc(33.3333% - 14px);
  }
  .article-aside-related .related-post-title {
    font-size: 1.4rem;
  }
  
  /* 関連情報 プロフィール */
  .article-aside-profile {
    padding-top: 50px;
  }
  .article-aside-profile .profile-img {
    margin-right: 30px;
    width: 140px;
    height: 140px;
  }
  .article-aside-profile .profile-title {
    font-size: 2rem;
  }
  .article-aside-profile .profile-name {
    margin: 10px 0 20px 0;
    font-size: 2rem;
  }
  .article-aside-profile .profile-intro {
    margin: 20px 0 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
  }
 
  
  /* ------------------------------------------
   * アーカイブページ・検索結果ページ・最新記事ページ
   * ------------------------------------------ */
  .archive-main {
    padding: 0 40px;
  }
  .archive-main .archive-wrap {
    margin-bottom: 80px;
  }
  
  /* アーカイブ・検索結果・最新記事 記事一覧 */
  .archive-main .post-list {
    gap: 30px 20px;
  }
  .archive-main .post-list li {
    width: calc(50% - 10px);
    box-sizing: border-box;
  }
  .archive-main .post-list .post-title {
    font-size: 1.6rem;
  }
  .archive-main .post-list .post-date {
    font-size: 1.2rem;
  }
  
  /* アーカイブ・検索結果・最新記事 ページネーション */
  .pagination {
    margin-top: 60px;
  }
  
  
  /* --------------------------------
  * お問い合わせページ
  * -------------------------------- */
  .contact-form {
    margin-top: 60px;
  }
  
  /* お問い合わせ フォーム */
  .contact-item textarea {
    height: 400px;
  }
  .contact-button {
    margin: 60px 0 80px 0;
  }
  
  
  /* --------------------------------
  * 404ページ
  * -------------------------------- */
  .error404 .main {
    padding: 0 40px;
  }
  .error404 .nofound {
    margin: 60px 0 80px 0;
  }
  .error404 .nofound-title {
    font-size: 2.4rem;
  }
  .error404 .nofound-text {
    margin: 20px 0 60px 0;
  }
  .error404 .nofound-text .sp-only {
    display: none;
  }
  
}


/* ########### PC（1024px 以上） ########### */
@media (min-width: 1024px) {
  
  /* --------------------------------
   * 共通
   * -------------------------------- */
  /* ----------- パーツ ----------- */
  /* 共通ボタン */
  .common-link-btn a {
    width: 320px;
    border-radius: 29px;
    font-size: 1.4rem;
  }
  
  /* トップへ戻るボタン */
  .scroll-top {
    right: 20px;
  }
  
  /* ----------- ヘッダー ----------- */
  .header {
    margin: 0 auto;
    border-bottom: solid 1px #dddddd;
  }
  .header-top {
    padding-top: 24px;
    padding-bottom: 20px;
    border-bottom: none;
  }
  
  /* ヘッダーロゴ */
  .header-logo a {
    width: 312px;
    height: 44px;
  }
  
  /* ヘッダーハンバーガーメニュー 開くボタン */
  .header-hamburger-btn {
    display: none;
  }
  
  /* ヘッダーメニュー（白バージョン） */
  /*.header-menu {
    display: flex;
    justify-content: center;
    align-content: center;
  }
  .header-menu ul {
    display: flex;
    margin: 0 40px 0 0;
    padding: 0;
    list-style: none;
  }
  .header-menu li a {
    display: block;
    padding: 18px 20px;
    color: #555555;
    font-size: 1.4rem;
    text-decoration: none;
  }
  .header-menu li {
    position: relative;
  }*/
  
  /* ヘッダーメニュー（赤バージョン） */
  .header-menu {
    display: flex;
    justify-content: center;
    align-content: center;
    background-color: var(--color-primary);
  }
  .header-menu ul {
    display: flex;
    margin: 0 40px 0 0;
    padding: 0;
    list-style: none;
  }
  .header-menu li a {
    display: block;
    padding: 14px 30px;
    color: #ffffff;
    font-size: 1.4rem;
    text-decoration: none;
  }
  .header-menu li {
    position: relative;
  }
  .header-menu li:first-child::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    height: 14px;
    border-left: solid 1px #ffffff;
  }
  .header-menu li::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
    height: 14px;
    border-left: solid 1px #ffffff;
  }
  
  /* ヘッダー検索窓 */
  .header-search {
    position: relative;
    margin: auto 0;
    width: 240px;
    height: 30px;
  }
  .header-search form input {
    padding: 0 32px 0 15px;
    width: 100%;
    height: 30px;
    box-sizing: border-box;
    background-color: var(--color-background);
    border: solid 1px var(--color-background);
    border-radius: 4px;
    color: #555555;
    font-size: 1.4rem;
  }
  .header-search form input::placeholder {
    color: #888888;
    font-size: 1.2rem;
  }
  .header-search form button {
    position: absolute;
    top: 70%;
    transform: translate(0, -70%);
    right: 10px;
  }
  
  /* ヘッダーハンバーガーメニュー */
  .header-hamburger-menu {
    display: none !important;
  }
  
  /* ヘッダー hover時 */
  .header-menu li a,
  .header-search form input {
    transition: 0.2s;
  }
  .header-menu li a:hover {
    opacity: 0.7;
  }
  .header-search form input:hover {
    border-color: #aaaaaa;
  }
  
  /* ヘッダー active時 */
  .header-search form input:focus {
    outline: none;
    border: solid 1px #aaaaaa;
  }
  
  /* ----------- メイン ----------- */  
  /* タイトル */
  .top-title-en {
    font-size: 4.8rem;
  }
  .top-title-jp {
    font-size: 1.4rem;
  }
  
  /* ----------- サイドバー ----------- */
  .sidebar {
    display: block;
    margin-top: 70px;
    margin-bottom: 80px;
    width: 280px;
  }
  
  /* サイドバー 検索窓 */
  .sidebar-search {
    position: relative;
    margin-bottom: 40px;
    width: 280px;
    height: 38px;
  }
  .sidebar-search form input {
    padding: 10px 48px 10px 10px;
    width: 100%;
    height: 38px;
    box-sizing: border-box;
    border: solid 1px #dddddd;
    border-radius: 4px;
    color: #555555;
    font-size: 1.2rem;
  }
  .sidebar-search form input::placeholder {
    color: #888888;
    font-size: 1.2rem;
  }
  .sidebar-search form button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    width: 38px;
    height: 38px;
    border-radius: 0 4px 4px 0;
    background-color: #888888;
  }
  .sidebar-search form button img {
    content: url(../image/icon_search_white.svg);
  }
  
  /* サイドバー タイトル */
  .sidebar-title {
    margin-bottom: 15px;
    letter-spacing: 0;
  }
  .sidebar-title-en {
    padding-right: 10px;
    color: #000000;
    font-family: var(--font-family-accent);
    font-size: 2rem;
    font-weight: 700;
  }
  .sidebar-title-jp {
    position: relative;
    padding: 0 8px;
    color: #555555;
    font-size: 1.2rem;
  }
  .sidebar-title-jp::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    content: "-";
    color: #555555;
  }
  .sidebar-title-jp::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    content: "-";
    color: #555555;
  }
  
  /* サイドバー カテゴリー */
  .sidebar-category {
    margin-bottom: 40px;
  }
  .sidebar-category-content {
    display: flex;
    flex-flow: column;
    row-gap: 10px;
  }
  .sidebar-category-content a {
    display: block;
  }
  .sidebar-category-content img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  
  /* サイドバー キーワード */
  .sidebar-keyword {
    margin-bottom: 40px;
  }
  .sidebar-keyword ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 6px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .sidebar-keyword li a {
    display: inline-block;
    padding: 4px 10px;
    border: solid 1px #dddddd;
    border-radius: 4px;
    background-color: #ffffff;
    color: var(--color-text);
    font-size: 1.2rem;
    text-decoration: none;
  }
  
  /* サイドバー プロフィール */
  .sidebar-profile {
    margin-bottom: 40px;
    padding: 30px;
    border: solid 1px #dddddd;
    border-radius: 4px;
  }
  .sidebar-profile-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 90px;
    height: 90px;
  }
  .sidebar-profile-name {
    margin: 10px 0 15px 0;
    text-align: center;
    font-weight: 500;
  }
  .sidebar-profile-name a {
    text-decoration: none;
    color: var(--color-text);
  }
  .sidebar-profile-sns {
    display: flex;
    justify-content: center;
    column-gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .sidebar-profile-sns li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background-color: var(--color-background);
    border-radius: 4px;
  }
  .sidebar-profile-sns li a img {
    width: 18px;
    height: 18px;
  }
  .sidebar-profile-intro {
    margin: 15px 0 0 0;
    font-size: 1.2rem;
    line-height: 1.6;
  }
  
  /* サイドバー ウィジェットエリア */
  .sidebar-widget {
    margin-bottom: 40px;
  }
  .sidebar-widget > div {
    margin-bottom: 20px;
  }
  .sidebar-widget > div img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  
  /* サイドバー hover時 */
  .sidebar-search form input,
  .sidebar-search form button,
  .sidebar-category-content a,
  .sidebar-keyword li a,
  .sidebar-profile-name a,
  .sidebar-profile-sns li a {
    transition: 0.2s;
  }
  .sidebar-search form input:hover {
    border-color: #aaaaaa;
  }
  .sidebar-search form button:hover,
  .sidebar-category-content a:hover,
  .sidebar-keyword li a:hover,
  .sidebar-profile-name a:hover,
  .sidebar-profile-sns li a:hover {
    opacity: 0.7;
  }
  
  /* ヘッダー active時 */
  .sidebar-search form input:focus {
    outline: none;
    border: solid 1px #aaaaaa;
  }
  
  /* ----------- その他 ----------- */
  /* その他 タイトル */
  .other-title {
    margin-bottom: 30px;
  }
  
  /* その他 ランキング */
  .other-ranking {
    padding: 60px 80px 80px 80px;
  }
  .other-ranking ul {
    gap: 30px 20px;
  }
  .other-ranking ul li {
    padding: 20px;
    width: calc(25% - 15px);
    box-sizing: border-box;
  }
  .other-ranking .ranking-rank span {
    font-size: 1.8rem;
  }
  .other-ranking .ranking-category {
    margin: -15px 0 0 0;
  }
  .other-ranking .ranking-date {
    font-size: 1.2rem;
  }
  
  /* その他 カテゴリー */
  .other-category {
    margin-bottom: 80px;
    padding: 0 80px;
  }
  .other-category .category-content {
    gap: 20px;
  }
  .other-category .category-content a {
    width: calc(50% - 10px);
  }
  
  /* その他 キーワード */
  .other-keyword {
    margin-bottom: 80px;
    padding: 0 80px;
  } 
  
  /* その他 プロフィール */
  .other-profile {
    margin-bottom: 80px;
    padding: 0 80px;
  }
  .other-profile .wrap-content {
    display: flex;
    align-items: center;
    padding-top: 60px;
  }
  .other-profile .profile-img {
    margin-right: 40px;
    width: 140px;
    height: 140px;
  }
  .other-profile .profile-title {
    padding-top: 20px;
    font-size: 2rem;
  }
  .other-profile .profile-name {
    font-size: 2rem;
  }
  .other-profile .profile-intro {
    margin-left: 30px;
    max-width: 500px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  
  /* その他 下部ウィジェットエリア */
  .other-bottom-widget {
    margin: 80px 0;
    padding: 0 80px;
  }
  
  /* ----------- フッター ----------- */
  .footer {
    padding: 60px 80px 20px 80px;
  }
  
  /* フッターメニュー */
  .footer-menu {
    display: flex;
  }
  .footer-menu li a {
    padding: 3px 15px;
  }
  .footer-menu li:first-child::before {
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    width: 0;
    height: 14px;
    border-top: 0;
    border-left: solid 1px #ffffff;
  }
  .footer-menu li::after {
    top: 50%;
    transform: translate(0, -50%);
    right: 0;
    width: 0;
    height: 14px;
    border-bottom: 0;
    border-right: solid 1px #ffffff;
  }
  
  /* フッターコピーライト */
  .footer-copyright {
    margin: 50px auto 0 auto;
    padding-left: 80px;
    padding-right: 80px;
    max-width: 1120px;
    font-size: 1.2rem;
  }
  
  /* ----------- 全体コンテンツ幅 ----------- */
  .wrap-content {
    margin: 0 auto;
    max-width: 1120px;
  }
  
  
  /* --------------------------------
  * トップページ
  * -------------------------------- */
  /* トップ タイトル */
  .home .home-title {
    margin-bottom: 30px;
  }
  
  /* トップ ボタン */
  .home .common-link-btn {
    margin-top: 80px;
  }
  
  /* ----------- トップ ヘッダー ----------- */
  .home .header {
   padding: 0;
   border-bottom: none; 
  }
  
  /* ----------- スライド ----------- */
  .home .slide {
    position: relative;
    margin: 0 0 30px 0;
    padding-top: 30px;
    padding-bottom: 50px;
  }
  .home .swiper-slide {
    width: 432px;
  }
  .home .swiper-slide .title {
    font-size: 1.8rem;
  }
  .home .swiper-slide .date {
    font-size: 1.2rem;
  }
  
  /* スライド ページネーション */
  .home .swiper-pagination {
    display: block !important;
    margin-top: auto;
    bottom: 0;
  }
  .home .swiper-pagination-bullet {
    background-color: #888888;
  }
  
  /* ----------- NEW ----------- */
  .home .new {
    padding: 0 80px;
  }
  .home .new .wrap-content {
    padding-top: 100px;
    border-top: solid 1px #dddddd;
  }
  
  /* NEW 記事一覧 */
  .home .new-list li {
    width: calc(32% - 25px);
    box-sizing: border-box;
  }
  .home .new-list .image {
    border-radius: 50%;
  }
  .home .new-list .category {
    font-size: 1.2rem;
  }
  .home .new-list .title {
    margin: 10px 0;
    font-size: 1.6rem;
  }
  .home .new-list .date {
    font-size: 1.2rem;
  }
  
  /* ----------- カテゴリー（DAILY・ART・OTHER） ----------- */
  .home .category-daily,
  .home .category-art,
  .home .category-other {
    padding: 0 80px;
  }
  .home .category-other {
    margin-bottom: 100px;
  }
  
  /* カテゴリー 記事一覧 */
  .home .category-list {
    column-gap: 40px;
  } 
  .home .category-list li {
    width: calc(25% - 30px);
  }
  .home .category-list .title {
    margin: 10px 0;
  }
  .home .category-list .date {
    font-size: 1.2rem;
  }

  
  /* --------------------------------
   * 投稿ページ・固定ページ
   * -------------------------------- */
  /* ----------- メイン ----------- */  
  .single-main,
  .page-main {
    display: flex;
    justify-content: space-between;
    width: 970px;
    padding: 0;
  }
  
  /* ----------- 記事 ----------- */  
  .article {
    margin-top: 30px;
    width: 640px;
  }
  .page-main .article {
    margin-bottom: 80px;
  }
  
  /* 記事カテゴリー */
  .text-category {
    margin-bottom: 10px;
  }
  
  /* 記事タイトル */
  .article h1 {
    margin-bottom: 15px;
    font-size: 3rem;
  }
  
  /* 記事メイン画像 */
  .main-img {
    margin-bottom: 60px;
  }
  
  /* 目次 */
  .no_bullets {
    margin-top: 60px;
    margin-bottom: 90px;
    padding: 30px 40px 40px 40px;
  }
  .no_bullets .toc_title {
    font-size: 2.2rem;
  }
  
  /* 見出し（h2） */
  .article > h2 {
    margin-top: 90px;
    padding: 15px 20px;
    font-size: 2.2rem;
  }
  
  /* 見出し（h3） */
  .article > h3 {
    margin-top: 60px;
    padding-left: 20px;
    font-size: 2.2rem;
  }
  .article > h3::before {
    width: 8px;
  }
  
  /* 見出し（h4） */
  .article > h4 {
    font-size: 2rem;
  } 
  
  /* 記事本文 */
  .article > p {
    font-size: 1.8rem;
    line-height: 2.25;
  }
  
  /* 吹き出し */
  .bubble-icon img {
    width: 100px;
    height: 100px;
  }
  .bubble-text {
    padding: 20px 30px;
    font-size: 1.6rem;
  }
  
  /* 投稿リンク */
  .post-link-content {
    padding: 30px;
  }
  .post-link-thumb {
    margin-right: 20px;
  }
  .post-link-thumb img {
    width: 120px;
    height: 120px;
  }
  .post-link-body {
    flex-direction: column;
    align-items: flex-start;
  }
  .post-link-title {
    margin-bottom: 10px;
  }
  .post-link-excerpt {
    display: block;
    font-size: 1.4rem;
    line-height: 2;
  }
  
  /* 引用テキスト */
  .wp-block-quote {
    padding: 30px;
  }
  .wp-block-quote > p,
  .wp-block-quote > .wp-block-list > li {
    font-size: 1.6rem;
    line-height: 2;
  }
  
  /* リスト */
  .wp-block-list li {
    font-size: 1.8rem;
    line-height: 1.8;
  }
  ul.wp-block-list > li::before {
    top: 14px;
  }
  ol.wp-block-list {
    padding-left: 25px;
  }
  ol.wp-block-list > li::before {
    left: -25px;
  }
  
  /* 記事 下部ウィジェットエリア */
  .single-bottom-widget {
    margin: 60px 0;
  }
  
  /* ----------- 関連情報 ----------- */
  .article-aside {
    margin: 60px 0 80px 0;
  }
  
  /* 関連情報 タイトル */
  .article-aside-title {
    font-size: 1.6rem;
  }
  
  /* 関連情報 シェア */
  .article-aside-share {
    margin-bottom: 40px;
    padding-top: 30px;
  }
  .article-aside-share ul li {
    margin-right: 10px;
  }
  .article-aside-share .share-message {
    padding: 15px 30px;
    font-size: 1.6rem;
  }
  
  /* 関連情報 前の記事・次の記事 */
  .article-aside-prevnext {
    margin-bottom: 40px;
    padding-top: 30px;
    padding-bottom: 40px;
  }
  .article-aside-prevnext .icon {
    width: 16px;
    height: 16px;
  }
  .article-aside-prevnext .icon img {
    width: 16px;
    height: 16px;
  }
  .article-aside-prevnext .subtext {
    font-size: 1.2rem;
  }
  .article-aside-prevnext .title {
    font-size: 1.4rem;
  }
  .article-aside-prevnext .prev a {
    padding-right: 30px;
    border-right: solid 1px #dddddd;
  }
  .article-aside-prevnext .next a {
    padding-left: 30px;
  }
  
  /* 関連情報 キーワード */
  .article-aside-keyword {
    margin-bottom: 50px;
  }
  
  /* 関連情報 関連記事 */
  .article-aside-related {
    margin-bottom: 50px;
  }
  .article-aside-related ul {
    gap: 30px 20px;
  }
  .article-aside-related ul li {
    width: calc(33.3333% - 14px);
  }
  .article-aside-related .related-post-title {
    font-size: 1.4rem;
  }
  
  /* 関連情報 プロフィール */
  .article-aside-profile {
    padding-top: 50px;
  }
  .article-aside-profile .profile-img {
    margin-right: 30px;
    width: 140px;
    height: 140px;
  }
  .article-aside-profile .profile-title {
    padding-top: 20px;
    font-size: 2rem;
  }
  .article-aside-profile .profile-name {
    margin: 10px 0 20px 0;
    font-size: 2rem;
  }
  .article-aside-profile .profile-intro {
    margin: 20px 0 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  
  /* ------------------------------------------
   * アーカイブページ・検索結果ページ・最新記事ページ
   * ------------------------------------------ */
  .archive-main {
    display: flex;
    justify-content: space-between;
    width: 970px;
    padding: 0;
  }
  .archive-main .archive-wrap {
    margin: 30px 0 80px 0;
    padding: 0;
    width: 640px;
  }
  
  /* アーカイブ・検索結果・最新記事 タイトル */
  .archive-title {
    margin-bottom: 30px;
  }
  
  /* アーカイブ・検索結果・最新記事 記事一覧 */
  .archive-main .post-list {
    gap: 30px 20px;
  }
  .archive-main .post-list li {
    width: calc(50% - 10px);
    box-sizing: border-box;
  }
  .archive-main .post-list .post-title {
    font-size: 1.6rem;
  }
  .archive-main .post-list .post-date {
    font-size: 1.2rem;
  }
  
  /* アーカイブ・検索結果・最新記事 ページネーション */
  .pagination {
    margin-top: 60px;
  }
  
  
  /* --------------------------------
  * お問い合わせページ
  * -------------------------------- */
  .contact-form {
    margin-top: 60px;
  }
  
  /* お問い合わせ フォーム */
  .contact-item .title {
    font-size: 1.8rem;
  }
  .contact-item textarea {
    height: 400px;
  }
  .contact-button {
    margin: 60px 0 80px 0;
  }
  
  
  /* --------------------------------
  * 404ページ
  * -------------------------------- */
  .error404 .main {
    padding: 0 40px;
  }
  .error404 .nofound {
    margin: 100px 0 150px 0;
  }
  .error404 .nofound-title {
    font-size: 2.4rem;
  }
  .error404 .nofound-text {
    margin: 20px 0 60px 0;
    font-size: 1.6rem;
  }
  .error404 .nofound-text .sp-only {
    display: none;
  }
  
}