@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700&display=swap");
/* -----------------------------------------------------------------------------------
デフォルトCSS
----------------------------------------------------------------------------------- */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:root {
  --common-color: #351800;
  --common-sub-color: #FFFFFF;
  --common-accent-color: #EF8300;
  --common-accent-color-2: #015240;
  --common-text-color: #351800;
  --common-border-color: #DDD;
  --common-border-color-2: #F7F7F7;
  --common-hover-color: var(--common-accent-color);
  --common-shadow-color: #00000033;
  --common-bg-color: #F7F2EC;
  --common-bg-color-1-1: #351800F2;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(135px + 16px);
}
@media (width <= 1080px) {
  html {
    scroll-padding-top: calc(96px + 0px);
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0;
  color: var(--common-color);
  background: var(--common-bg-color);
  -webkit-text-size-adjust: 100%;
  /*スマホ横画面で文字の拡大・収縮防止用*/
  -webkit-font-smoothing: antialiased;
  /* 文字の太さを整える。Safari環境用 */
}
@media (width <= 764px) {
  body {
    font-size: 14px;
  }
}

img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.2em;
  word-break: break-all;
}
@media (1080px <= width) {
  a[href*=tel] {
    pointer-events: none;
    /* pcでリンクさせない */
  }
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.25;
}

h1 {
  font-size: clamp(28px, 4.19vw, 32px);
}

h2 {
  font-size: 24px;
}
@media (width <= 764px) {
  h2 {
    font-size: 16px;
  }
}

h3 {
  font-size: 18px;
}
@media (width <= 764px) {
  h3 {
    font-size: 14px;
  }
}

h4 {
  font-size: 17px;
}
@media (width <= 764px) {
  h4 {
    font-size: 14px;
  }
}

code,
mark {
  font-family: unset;
  font-weight: unset;
}

strong {
  font-weight: bold;
}

nav {
  line-height: 1;
}

header,
footer {
  line-height: 1;
}

main {
  min-height: 100vh;
  line-height: 1;
}

/*--------------------------------------
【共通】要素表示用CSS
----------------------------------------*/
.pc-only {
  display: block;
}
@media (width <= 764px) {
  .pc-only {
    display: none !important;
  }
}

@media (764px < width) {
  .mobile-only {
    display: none !important;
  }
}

@media (764px < width) {
  .sp-only {
    display: none !important;
  }
}
@media (480px < width <= 764px) {
  .sp-only {
    display: none !important;
  }
}

/*--------------------------------------
【共通】body用CSS
----------------------------------------*/
/* body直下に設定 */
.body-wrap {
  display: block;
  width: max(100%, 320px);
  min-height: 100%;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

/*--------------------------------------
WordPressデフォルトCSS 打ち消し
----------------------------------------*/
/* 余白解除 */
.is-layout-flow > * {
  -webkit-margin-before: 0;
          margin-block-start: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* -----------------------------------------------------------------------------------
【共通】ブロック用CSS

WordPressブロックエディターCSS上書き
その他、ブロックエディターで使用するカスマムCSS含む
----------------------------------------------------------------------------------- */
/*--------------------------------------
グループ
----------------------------------------*/
.wp-block-group > * {
  margin-top: 1em;
}
.wp-block-group > :first-child {
  margin-top: 0;
}

/*--------------------------------------
見出し
----------------------------------------*/
.is-style-heading-1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  padding: 0.5em 0;
  border-bottom: 1px dashed;
  color: var(--common-text-color);
  font-weight: 700;
  line-height: 1.3;
}
.is-style-heading-1::before {
  content: "";
  width: 4px;
  height: 1em;
  border-radius: 2px;
  background: var(--common-accent-color);
}

.is-style-heading-2 {
  color: var(--common-accent-color);
  font-weight: 700;
  line-height: 1.3;
}

.is-style-heading-3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  padding: 0.31em 0.63em;
  width: 100%;
  background: var(--common-sub-color);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 3.2px;
}

h2.wp-block-heading {
  font-size: 32px;
}
@media (width <= 764px) {
  h2.wp-block-heading {
    font-size: 22px;
  }
}

h2.is-style-heading-1 {
  font-size: 28px;
}
@media (width <= 764px) {
  h2.is-style-heading-1 {
    font-size: 20px;
  }
}

h3.wp-block-heading {
  font-size: 24px;
}
@media (width <= 764px) {
  h3.wp-block-heading {
    font-size: 18px;
  }
}

/*--------------------------------------
テキスト
----------------------------------------*/
/* ページ導入部テキスト */
.is-style-text-lead,
.is-style-text-largelead {
  font-weight: 700;
  line-height: 2;
}

@media (764px < width) {
  .is-style-text-largelead {
    font-size: 18px;
  }
}

/* 強調テキスト */
.is-style-text-emphasis {
  font-weight: 700;
}

/* 注釈 */
.note-icon {
  font-size: 10px;
  vertical-align: text-top;
}

/*--------------------------------------
ボタンwrapper
----------------------------------------*/
.wp-block-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  width: 100%;
  margin-top: 40px;
}
@media (width <= 764px) {
  .wp-block-buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 30px;
  }
}

@media (764px < width) {
  .is-style-buttons-c {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (764px < width) {
  .is-style-buttons-r {
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
  }
}

/*--------------------------------------
ボタン
----------------------------------------*/
.wp-block-button {
  display: block;
  width: min(100%, 380px);
  height: 64px;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  font-size: 16px;
  color: var(--common-sub-color);
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  position: relative;
  z-index: 1;
}
@media (width <= 764px) {
  .wp-block-button {
    width: min(100%, 220px);
    height: 45px;
    font-size: 14px;
  }
}
.wp-block-button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 70.5px;
  background: var(--common-text-color);
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.wp-block-button:not(:has(svg), :has(img))::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/common/icon_btn_arrow.svg) no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 6.32%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  z-index: 2;
}
.wp-block-button__link {
  /* aタグ */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 12.63% 2px 8.42%;
  background: transparent;
  text-align: center;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0px;
  color: unset;
  line-height: 1.2;
}
.wp-block-button__link:not(:has(svg), :has(img)) {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.wp-block-button svg,
.wp-block-button img {
  display: block;
  width: 1.5em;
  height: 1.5em;
  -o-object-fit: cover;
     object-fit: cover;
}
.is-style-button-white {
  color: var(--common-text-color);
}
.is-style-button-white::before {
  background: var(--common-sub-color);
}
.is-style-button-white::after {
  background-image: url(../img/common/icon_btn_arrow_black.svg) !important;
}
.is-style-button-white:hover {
  color: var(--common-sub-color);
}
.is-style-button-white:hover::after {
  background-image: url(../img/common/icon_btn_arrow.svg) !important;
}

.wp-block-button:hover::before {
  background: var(--common-accent-color);
}

/*--------------------------------------
イメージ
----------------------------------------*/
.wp-block-image {
  margin-bottom: 0;
  /* 画像の余白解除 */
}
.wp-block-image img {
  border-radius: 5px;
}

.wp-element-caption {
  margin-top: 0.5em;
  font-size: 14px;
  text-align: left;
  color: unset;
}

.is-style-img-none img {
  border-radius: 0;
}

@media (width <= 764px) {
  .is-style-img-scroll {
    width: 100%;
    height: 500px;
    overflow-x: scroll;
    scrollbar-color: #b2b2b2 #dfdfdf;
    scrollbar-width: thin;
  }
  .is-style-img-scroll img {
    width: auto;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/*--------------------------------------
リスト
----------------------------------------*/
.wp-block-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em 0;
  width: 100%;
}
.wp-block-list > li {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0 0.5em;
}
.wp-block-list > li::before {
  content: "";
  grid-column: 1;
}
.wp-block-list > li > ul,
.wp-block-list > li > ol {
  grid-column: 2;
  gap: 0.5em 0;
  margin: 0.75em 0 0;
}

ul.wp-block-list > li::before {
  content: "⚫︎";
  opacity: 0.65;
}

ol.wp-block-list {
  counter-reset: number 0;
}
ol.wp-block-list > li {
  counter-increment: number 1;
}
ol.wp-block-list > li::before {
  content: "(" counter(number) ")";
}

/*--------------------------------------
リスト（順番なし）差分
----------------------------------------*/
.is-style-list-ul-1 > li::before,
.wp-block-list.is-style-list-ul-1 > li::before {
  content: "・";
}
.is-style-list-ul-2 > li::before,
.wp-block-list.is-style-list-ul-2 > li::before {
  content: "※";
}
.is-style-list-ul-3 > li::before,
.wp-block-list.is-style-list-ul-3 > li::before {
  content: "■";
}
.is-style-list-ul-4 > li::before,
.wp-block-list.is-style-list-ul-4 > li::before {
  content: "⚪︎";
  font-size: 1.05em;
}

/*--------------------------------------
リスト（順番）差分
----------------------------------------*/
.is-style-list-ol-1 > li::before,
.wp-block-list.is-style-list-ol-1 > li::before {
  content: "(" counter(number) ")";
}
.is-style-list-ol-2 > li::before,
.wp-block-list.is-style-list-ol-2 > li::before {
  content: "(" counter(number, katakana) ")";
}
.is-style-list-ol-3 > li::before,
.wp-block-list.is-style-list-ol-3 > li::before {
  content: counter(number, lower-alpha) ".";
}
.is-style-list-ol-recipe,
.wp-block-list.is-style-list-ol-recipe {
  gap: 1em 0;
}
.is-style-list-ol-recipe > li,
.wp-block-list.is-style-list-ol-recipe > li {
  gap: 0 1em;
}
.is-style-list-ol-recipe > li::before,
.wp-block-list.is-style-list-ol-recipe > li::before {
  content: counter(number);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2em;
  height: 2em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  background: var(--common-text-color);
  color: var(--common-sub-color);
  text-align: center;
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 1.33em;
  line-height: 1;
}

/*--------------------------------------
テーブル
----------------------------------------*/
/* 材料 */
.is-style-table-recipe table,
.wp-block-table.is-style-table-recipe table {
  width: 100%;
  padding: 0;
  margin: 0;
}
.is-style-table-recipe table *,
.wp-block-table.is-style-table-recipe table * {
  padding: 0;
  margin: 0;
  border: 0;
}
.is-style-table-recipe table tbody tr,
.wp-block-table.is-style-table-recipe table tbody tr {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
  border-bottom: 1px solid var(--common-border-color);
}
@media (width <= 480px) {
  .is-style-table-recipe table tbody tr,
  .wp-block-table.is-style-table-recipe table tbody tr {
    grid-template-columns: 1fr;
    gap: 0.25em;
    padding: 1em 0;
  }
}
.is-style-table-recipe table tbody tr:first-of-type td,
.wp-block-table.is-style-table-recipe table tbody tr:first-of-type td {
  padding-top: 0;
}
.is-style-table-recipe table tbody td,
.wp-block-table.is-style-table-recipe table tbody td {
  margin: 0;
  padding: 1em 0 1em;
  text-align: left;
  line-height: 1.5;
}
@media (width <= 480px) {
  .is-style-table-recipe table tbody td,
  .wp-block-table.is-style-table-recipe table tbody td {
    padding: 0;
  }
  .is-style-table-recipe table tbody td:nth-of-type(2n),
  .wp-block-table.is-style-table-recipe table tbody td:nth-of-type(2n) {
    justify-self: flex-end;
  }
}

.editor-styles-wrapper .is-style-table-recipe table tbody tr,
.editor-styles-wrapper .wp-block-table.is-style-table-recipe table tbody tr {
  grid-template-columns: 1fr minmax(200px, auto);
}
.editor-styles-wrapper .is-style-table-recipe table tbody td,
.editor-styles-wrapper .wp-block-table.is-style-table-recipe table tbody td {
  border: 1px solid var(--common-border-color);
}

/* -----------------------------------------------------------------------------------
ヘッダー用 CSS
----------------------------------------------------------------------------------- */
.header {
  display: block;
  width: 100%;
  height: 135px;
  color: var(--common-text-color);
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.header::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--common-sub-color);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: -1;
}
@media (1080px < width) {
  .header::before {
    border-radius: 0px 0px 40px 40px;
    border: 3px solid;
    border-top-width: 0;
  }
}
@media (width <= 1080px) {
  .header {
    height: 96px;
  }
}
.header.is_scroll {
  /* header.js */
  height: 135px;
}
.header.is_scroll::before {
  opacity: 1;
}
@media (width <= 1080px) {
  .header.is_scroll {
    height: 96px;
  }
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  width: 100%;
  height: auto;
  padding: 32px 32px 8px;
}
@media (width <= 1080px) {
  .header__inner {
    padding: 16px 16px 8px;
  }
}

.header-title {
  display: block;
  width: min(100%, 300px);
  min-width: 180px;
}
@media (width <= 1080px) {
  .header-title {
    width: min(100%, 180px);
  }
}
.header-title a {
  display: block;
  font-size: 0;
}
.header-title img {
  line-height: 1;
}
.header-title:hover {
  opacity: 0.8;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}

.header-menu {
  width: 100%;
}
.header-menu .nav-menu {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
}
.header-menu .menu-item {
  font-size: clamp(16px, 1.67vw, 18px);
  font-weight: 700;
  line-height: 1;
}
@media (1080px < width) {
  .header-menu .menu-item {
    white-space: nowrap;
  }
}
@media (1080px < width) {
  .header-menu .menu-item.type_hidden {
    display: none;
  }
}
.header-menu .menu-link > a {
  padding: 0 0 0.5em;
  border-bottom: 1px dashed;
  -webkit-transition: color 0.3s ease-in;
  transition: color 0.3s ease-in;
}
.header-menu .menu-link:hover {
  color: var(--common-hover-color);
}
@media (1080px < width) {
  .header-menu .sub-menu {
    display: none;
  }
}

.header-buttons {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
@media (width <= 764px) {
  .header-buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.header-buttons .search-button.wp-block-button {
  width: 192px;
  height: 56px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (width <= 764px) {
  .header-buttons .search-button.wp-block-button {
    width: 240px;
  }
  .header-buttons .search-button.wp-block-button::before {
    border: 1px solid;
  }
}
.header-buttons .online-button.wp-block-button {
  width: 224px;
  height: 56px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header-buttons .online-button.wp-block-button::before {
  background: var(--common-accent-color-2);
}
.header-buttons .online-button.wp-block-button:hover::before {
  background: var(--common-accent-color);
}
@media (width <= 764px) {
  .header-buttons .online-button.wp-block-button {
    width: 240px;
  }
}

/*--------------------------------------
ドロワーメニュー
----------------------------------------*/
@media (1080px < width) {
  .header-drawer-icon {
    display: none;
  }
}
@media (width <= 1080px) {
  .header-drawer-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 64px;
    height: 64px;
    border-bottom: 1px solid transparent;
    background: var(--common-text-color);
    border-radius: 50%;
    color: var(--common-sub-color);
    text-align: center;
    -webkit-transition: border-color 0.3s ease-in;
    transition: border-color 0.3s ease-in;
    -webkit-transition-property: border-color, background-color;
    transition-property: border-color, background-color;
  }
  .header:has(.header-popup-trigger.is_active) .header-drawer-icon {
    border-color: var(--common-sub-color);
  }
  .header-drawer-icon:hover {
    background-color: var(--common-hover-color);
  }
  .header-drawer-icon::after {
    font-size: 10px;
  }
}
.header-drawer-icon > span {
  display: block;
  width: calc(64px / 2);
  height: 33.3333333333%;
  position: relative;
}
.header-drawer-icon > span > span {
  display: block;
  width: 100%;
  height: 3px;
  background: var(--common-bg-color);
  border-radius: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header-drawer-icon > span > span::before, .header-drawer-icon > span > span::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: var(--common-bg-color);
  border-radius: 20px;
  position: absolute;
  left: 0;
  top: 8px;
}
.header-drawer-icon > span > span::after {
  top: auto;
  bottom: 8px;
}
.header-drawer-icon--close > span > span {
  background: transparent;
}
.header-drawer-icon--close > span > span::before, .header-drawer-icon--close > span > span::after {
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.header-drawer-icon--close > span > span::after {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}

@media (1080px < width) {
  .header-drawer-menu {
    display: block;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu {
    display: block;
    width: 100%;
    height: 100vh;
    background-color: var(--common-bg-color);
    color: var(--common-text-color);
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 150vw;
    z-index: 1000;
    opacity: 0;
    -webkit-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    -webkit-transition-property: left, opacity;
    transition-property: left, opacity;
  }
  .header-drawer-menu.is_active {
    left: 0;
    opacity: 1;
  }
}
@media (1080px < width) {
  .header-drawer-menu__head {
    display: none;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__head {
    /* > .header-title */
    /* > .header-drawer-icon--close */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 96px;
    padding: 0 16px;
    background-color: var(--common-bg-color);
    position: sticky;
    top: 0;
    left: 0;
    z-index: 999;
  }
  .header-drawer-menu__head:has(.header-title) {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1em;
  }
}
@media (1080px < width) {
  .header-drawer-menu__foot {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    gap: 24px;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px 0;
    width: calc(100% - 40px);
    padding: 32px 0 40px;
    margin: 0 auto;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .nav-menu {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: wrap column;
            flex-flow: wrap column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px 24px;
    width: 100%;
    height: auto;
    max-height: 500px;
  }
}
@media (width <= 480px) {
  .header-drawer-menu__foot .header-menu .nav-menu {
    max-height: none;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .menu-item {
    width: min(100%, 210px);
    font-size: 18px;
  }
}
@media (width <= 480px) {
  .header-drawer-menu__foot .header-menu .menu-item {
    font-size: 16px;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .menu-item.menu-item-has-children {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1em;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .menu-link > a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 0 0 0.6em;
    border-bottom: 1px dashed;
    -webkit-transition: opacity 0.3s ease-in;
    transition: opacity 0.3s ease-in;
  }
  .header-drawer-menu__foot .header-menu .menu-link:hover {
    opacity: 0.5;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .sub-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1em;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .sub-menu .menu-item {
    font-size: 0.89em;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .header-menu .sub-menu .menu-link > a {
    padding: 0 0 0 1em;
    border-bottom: none;
    line-height: 1.25;
  }
}
@media (width <= 1080px) {
  .header-drawer-menu__foot .sns-menu {
    color: transparent;
    gap: 0 !important;
  }
  .header-drawer-menu__foot .sns-menu > .menu-link > a {
    display: none;
    pointer-events: none;
  }
  .header-drawer-menu__foot .sns-menu .sub-menu {
    display: grid;
    grid-template-columns: repeat(auto-fit, 42px);
    grid-auto-rows: 32px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 24px;
    width: 100%;
    margin: 0 0 0 auto;
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-item {
    display: block;
    overflow: hidden;
    -webkit-transition: opacity 0.3s ease-in;
    transition: opacity 0.3s ease-in;
    position: relative;
    z-index: 1;
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-item::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-item.type_in::before {
    background-image: url(../img/common/icon_Instagram_b.svg);
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-item.type_tube::before {
    background-image: url(../img/common/icon_youtube_b.svg);
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-item:hover {
    opacity: 0.5;
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-link {
    color: transparent !important;
  }
  .header-drawer-menu__foot .sns-menu .sub-menu .menu-link > a {
    display: block;
    padding: 0;
  }
}

/* -----------------------------------------------------------------------------------
フッター用 CSS
----------------------------------------------------------------------------------- */
.footer {
  display: block;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  position: relative;
  z-index: 1;
}
@media (764px < width) {
  .footer {
    padding: 96px 0;
    color: var(--common-sub-color);
  }
  .footer::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 40px 40px 0px 0px;
    background: var(--common-text-color);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
  }
}
@media (764px < width) {
  .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: min(100% - 40px, 1200px);
    margin: 0 auto;
  }
}
.footer__lead-area {
  display: block;
  width: min(100%, 480px);
  padding: 64px 48px;
  border-radius: 10px;
  background: var(--common-sub-color);
  color: var(--common-text-color);
}
@media (width <= 764px) {
  .footer__lead-area {
    width: min(100% - 40px, 480px);
    padding: 40px 24px;
    margin: 0 auto;
    border: 2px solid;
    position: relative;
  }
  .footer__lead-area::before {
    content: "";
    display: block;
    width: 100vw;
    min-width: 320px;
    height: 50%;
    background: var(--common-text-color);
    background-size: cover;
    position: absolute;
    bottom: -2px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    z-index: -1;
  }
}
.footer__nav-area {
  display: block;
  width: auto;
  color: var(--common-sub-color);
}
@media (width <= 764px) {
  .footer__nav-area {
    padding: 80px 20px 32px;
    background: var(--common-text-color);
  }
}

.footer-lead-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
}
.footer-lead-area__logo {
  width: min(100%, 336px);
}
.footer-lead-area__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 180%;
  text-align: left;
}

.footer-nav-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
}
@media (width <= 764px) {
  .footer-nav-area {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 100%;
    gap: 64px;
  }
}

.footer-menu .nav-menu {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: wrap column;
          flex-flow: wrap column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 40px 64px;
  height: 528px;
}
@media (width <= 764px) {
  .footer-menu .nav-menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: nowrap column;
            flex-flow: nowrap column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    height: auto;
  }
}
@media (width <= 480px) {
  .footer-menu .nav-menu {
    gap: 24px;
  }
}
.footer-menu .menu-item {
  width: min(100%, 210px);
  font-family: "Noto Sans JP";
  font-size: clamp(16px, 1.67vw, 18px);
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  /* 18px */
}
.footer-menu .menu-item.menu-item-has-children {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1em;
}
.footer-menu .menu-link {
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.footer-menu .menu-link:hover {
  opacity: 0.5;
}
.footer-menu .menu-link > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0 0 0.6em;
  border-bottom: 1px dashed;
}
.footer-menu .sub-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1em;
}
.footer-menu .sub-menu .menu-item {
  font-size: 0.89em;
}
.footer-menu .sub-menu .menu-link > a {
  padding: 0 0 0 1em;
  border-bottom: none;
  line-height: 1.25;
}
.footer-menu .sns-menu {
  color: transparent;
}
.footer-menu .sns-menu > .menu-link > a {
  pointer-events: none;
  height: 0;
}
.footer-menu .sns-menu .nav-menu,
.footer-menu .sns-menu .sub-menu {
  display: grid;
  grid-template-columns: repeat(auto-fit, 42px);
  grid-auto-rows: 32px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  width: 100%;
  margin: 0 0 0 auto;
}
.footer-menu .sns-menu .nav-menu .menu-item,
.footer-menu .sns-menu .sub-menu .menu-item {
  display: block;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
  position: relative;
  z-index: 1;
}
.footer-menu .sns-menu .nav-menu .menu-item::before,
.footer-menu .sns-menu .sub-menu .menu-item::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.footer-menu .sns-menu .nav-menu .menu-item.type_in::before,
.footer-menu .sns-menu .sub-menu .menu-item.type_in::before {
  background-image: url(../img/common/icon_Instagram.svg);
}
.footer-menu .sns-menu .nav-menu .menu-item.type_tube::before,
.footer-menu .sns-menu .sub-menu .menu-item.type_tube::before {
  background-image: url(../img/common/icon_youtube.svg);
}
.footer-menu .sns-menu .nav-menu .menu-item:hover,
.footer-menu .sns-menu .sub-menu .menu-item:hover {
  opacity: 0.5;
}
.footer-menu .sns-menu .nav-menu .menu-link,
.footer-menu .sns-menu .sub-menu .menu-link {
  color: transparent !important;
}
.footer-menu .sns-menu .nav-menu .menu-link > a,
.footer-menu .sns-menu .sub-menu .menu-link > a {
  display: block;
  padding: 0;
}

.copyright {
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  opacity: 0.5;
  /* 14.4px */
}
@media (width <= 764px) {
  .copyright {
    width: min(100%, 262px);
    margin: 0 auto;
    text-align: center;
  }
}

/* -----------------------------------------------------------------------------------
固定ページ・アーカイブページ・フロントページ
メイン用 CSS
----------------------------------------------------------------------------------- */
.main {
  display: block;
  width: 100%;
  min-height: 100vh;
  padding: 135px 0 0;
  background: var(--common-bg-color);
  position: relative;
  z-index: 1;
  /* ヘッダーの高さ */
}
@media (width <= 764px) {
  .main {
    padding: 96px 0 0;
  }
}

/*--------------------------------------
【共通】画面幅
----------------------------------------*/
.main-container {
  width: min(100% - 40px, 1200px);
  margin: 0 auto;
}

/*--------------------------------------
【共通】ページレイアウト
----------------------------------------*/
/* 固定ページ */
/* 一覧ページ */
.main-head {
  display: block;
  width: 100%;
  padding: 16px 0 80px;
}
@media (width <= 764px) {
  .main-head {
    padding: 10px 0 30px;
  }
}

.main-foot {
  display: block;
  width: 100%;
  padding: 0 0 144px;
}
.main-foot:has(.main-side-area) {
  padding-bottom: 0;
}

.main-foot-title {
  margin: 0 0 80px;
}
@media (width <= 764px) {
  .main-foot-title {
    margin: 0 0 32px;
  }
}

/*--------------------------------------
【共通】ページタイトル
----------------------------------------*/
/* 固定ページ */
.page-pagetitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px 32px;
  width: 100%;
}
@media (width <= 764px) {
  .page-pagetitle {
    text-align: center;
  }
}
.page-pagetitle__sub {
  text-transform: capitalize;
  color: var(--common-accent-color);
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 2px;
}
@media (width <= 764px) {
  .page-pagetitle__sub {
    font-size: 20px;
  }
}
.page-pagetitle__main {
  padding: 20px 0;
  border-top: 1px dashed;
  border-bottom: 1px dashed;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
}
@media (width <= 764px) {
  .page-pagetitle__main {
    padding: 12px 0;
    font-size: 28px;
  }
}

/* 投稿ページ */
.single-pagetitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px 0;
  width: 100%;
}
.single-pagetitle__main {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
}
@media (width <= 764px) {
  .single-pagetitle__main {
    font-size: 28px;
  }
}
.single-pagetitle__time {
  color: var(--common-accent-color);
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

/*--------------------------------------
【共通】パンクズリスト
----------------------------------------*/
.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}
.breadcrumb li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-preferred-size: 1;
      flex-basis: 1;
  padding: 0 8px 0 0;
  text-align: left;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.25;
}
.breadcrumb li:first-of-type {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.breadcrumb li:first-of-type > a {
  white-space: nowrap;
}
.breadcrumb li:last-of-type {
  padding: 0;
}
.breadcrumb li:has(a) {
  padding: 0 2em 0 0;
  position: relative;
}
.breadcrumb li:has(a)::after {
  content: "";
  display: block;
  width: 1.25em;
  height: 1.25em;
  background: url(../img/common/icon_breadcrumb.svg) center no-repeat;
  background-size: 50%;
  line-height: 1;
  position: absolute;
  top: 0;
  right: 0;
}

/*--------------------------------------
【共通】検索ボックス
プラグイン『Search & Filter』
----------------------------------------*/
.searchandfilter {
  display: block;
  margin: 0 0 1em;
  line-height: 1.25;
}
.searchandfilter ul {
  display: grid;
  grid-template-columns: 1fr 120px;
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 0 8px;
}
@media (width <= 764px) {
  .searchandfilter ul {
    grid-template-columns: 1fr 80px;
  }
}
.searchandfilter li {
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
}
.searchandfilter li input[type*=text] {
  width: 100%;
  height: 40px;
}
.searchandfilter li input[type*=submit] {
  width: 100%;
  height: 40px;
  background-color: var(--common-color);
  border: none;
  color: var(--common-sub-color);
  font-weight: 600;
}

/* -----------------------------------------------------------------------------------
サイドバー用CSS
.main-container 併用
----------------------------------------------------------------------------------- */
/*--------------------------------------
【共通】レイアウト
----------------------------------------*/
/* wrapper */
.main-area-wrap {
  /* .main-container */
}
@media (764px < width) {
  .main-area-wrap {
    display: grid;
    grid-template-columns: 1fr minmax(auto, 320px);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 64px;
  }
}

/* 非サイドエリア */
.main-noside-area {
  display: block;
  padding: 0 0 144px;
}
@media (764px < width) {
  .main-noside-area {
    grid-column: 1;
  }
}
@media (width <= 764px) {
  .main-noside-area {
    padding: 0 0 120px;
  }
}

/* サイドエリア */
.main-side-area {
  display: block;
  padding: 0 0 96px;
}
@media (764px < width) {
  .main-side-area {
    grid-column: 2/3;
    grid-row: 1/3;
    width: min(100%, 320px);
    min-height: 100vh;
  }
}
@media (width <= 764px) {
  .main-side-area {
    width: min(100%, 480px);
    margin: 0 auto;
  }
}
.main-side-area__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

/*--------------------------------------
【共通】サイドエリア > コンテンツ
----------------------------------------*/
.side-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.side-container__item, .side-container__link {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: 24px 24px;
  border-radius: 10px;
  border: 1px solid var(--common-border-color);
  background: var(--common-sub-color);
  overflow: hidden;
}
.side-container__item:has(.side-container__link) {
  padding: 0;
  background: transparent;
  border: none;
}
.side-container__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 64px;
}
.side-container__title img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left top;
     object-position: left top;
}
.side-container__text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

/*--------------------------------------
【差分】サイドエリア > コンテンツ > バナー
----------------------------------------*/
.side-banner {
  /* .side-container__link */
  padding: 0;
  margin: 0 0 16px;
  background: transparent;
  border: none;
}
@media (width <= 764px) {
  .side-banner:not(:has(.side-banner-sp-menu)) .side-banner-menu {
    display: block;
  }
}

.side-banner-menu {
  display: block;
}
@media (width <= 764px) {
  .side-banner-menu {
    display: none;
  }
}

.side-banner-sp-menu {
  display: none;
}
@media (width <= 764px) {
  .side-banner-sp-menu {
    display: block;
  }
}

.side-banner-menu .nav-menu,
.side-banner-sp-menu .nav-menu {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px 0;
}
@media (width <= 764px) {
  .side-banner-menu .nav-menu,
  .side-banner-sp-menu .nav-menu {
    width: min(100%, 335px);
    margin: 0 auto;
  }
}
.side-banner-menu .nav-menu *,
.side-banner-sp-menu .nav-menu * {
  line-height: 1;
}
.side-banner-menu .menu-item,
.side-banner-sp-menu .menu-item {
  list-style-type: none;
}
.side-banner-menu .menu-link,
.side-banner-sp-menu .menu-link {
  margin: 0;
}
.side-banner-menu .menu-link > a,
.side-banner-sp-menu .menu-link > a {
  display: block;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.side-banner-menu .menu-link > a:hover,
.side-banner-sp-menu .menu-link > a:hover {
  opacity: 0.8;
}

/*--------------------------------------
【差分】サイドエリア > コンテンツ > ランキング
----------------------------------------*/
.side-ranking {
  /* .archive-list-post */
  line-height: 1;
}
.side-ranking .archive-list-post {
  counter-reset: number 0;
  grid-template-columns: repeat(1, 1fr);
  gap: 16px 0;
}
.side-ranking .archive-list-post__item {
  counter-increment: number 1;
}
.side-ranking .archive-list-post__link {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px 16px;
}
@media (width <= 764px) {
  .side-ranking .archive-list-post__link {
    grid-template-columns: 120px 1fr;
  }
}
.side-ranking .archive-list-post__img {
  width: 120px !important;
  height: 120px !important;
  padding: 0 !important;
}
.side-ranking .archive-list-post__img::before {
  content: counter(number);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1.56em;
  height: 1.56em;
  padding: 0;
  background: var(--common-sub-color);
  border: 1px solid;
  border-radius: 50%;
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  color: var(--common-text-color);
  font-size: 18px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translate(-25%, -25%);
          transform: translate(-25%, -25%);
  z-index: 1;
}
.side-ranking .archive-list-post__img--1::before {
  background: #FFD60A;
}
.side-ranking .archive-list-post__img--2::before {
  background: #DADCDE;
}
.side-ranking .archive-list-post__img--3::before {
  background: #FFB294;
}
.side-ranking .archive-list-post__title {
  font-size: 16px;
}

/*--------------------------------------
【差分】サイドエリア > コンテンツ > Keyword
プラグイン「Search Meter」上書き
----------------------------------------*/
[id^=recent_searches] .side-container__title {
  font-size: 0;
}
[id^=recent_searches] .side-container__title::before {
  content: "キーワードから探す";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/img_Keyword.svg) left top no-repeat;
  background-size: contain;
}
[id^=recent_searches] ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
  width: 100%;
}
[id^=recent_searches] ul li {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 4px 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border-radius: 50px;
  border: 1px solid var(--common-border-color);
  background: var(--common-sub-color);
  font-size: 16px;
  font-weight: 700;
}
[id^=recent_searches] ul li:has(a) {
  -webkit-transition: color 0.3s ease-in;
  transition: color 0.3s ease-in;
}
[id^=recent_searches] ul li:has(a):hover {
  color: var(--common-hover-color);
}

/*--------------------------------------
【差分】サイドエリア > コンテンツ > FAQ
----------------------------------------*/
.side-faq {
  /* .side-container__link */
}
.side-faq__title {
  /* side-container__title */
}
.side-faq__title img:nth-child(2n) {
  -o-object-position: right top;
     object-position: right top;
}
.side-faq__text {
  /* side-container__text */
  position: relative;
}
.side-faq__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 40px;
  height: 40px;
  background-color: var(--common-text-color);
  border-radius: 50%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.side-faq__icon::before {
  content: "";
  display: block;
  width: 50%;
  height: 50%;
  background: url(../img/common/icon_btn_arrow.svg) center no-repeat;
  background-size: cover;
}
.side-faq:hover .side-faq__icon {
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
  background-color: var(--common-hover-color);
}

/* -----------------------------------------------------------------------------------
投稿ページ・アーカイブページ用CSS
----------------------------------------------------------------------------------- */
/*--------------------------------------
【共通】目次
プラグイン『Table of Contents Plus』上書き
----------------------------------------*/
#toc_container {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* スマホの横揺れ防止 */
  display: block;
  width: 80%; /* 幅 */
  margin: 48px auto; /* 外側の余白 */
  padding: 2em; /* 内側の余白 */
  border-radius: 10px;
  background: var(--common-sub-color); /* 背景色 */
  border: 1px solid var(--common-border-color); /* 枠線 */
  font-size: 95%; /* フォントサイズ */
  line-height: 1.4; /* 行間 */
}
@media (width <= 764px) {
  #toc_container {
    margin: 24px auto;
    padding: 2em 1em; /* 内側の余白 */
  }
}
@media (width <= 480px) {
  #toc_container {
    width: 95%;
  }
}
#toc_container .toc_title {
  padding: 0.4em 0;
  margin: 0;
  background: var(--common-bg-color);
  font-weight: 700;
  text-align: center;
  color: var(--common-text-color);
}
#toc_container .toc_toggle {
  font-size: 0.9em;
  font-weight: normal;
}
#toc_container .toc_brackets {
  display: none;
}
#toc_container .toc_list,
#toc_container .toc_list * {
  list-style: none;
  margin: 0;
  padding: 0;
}
#toc_container .toc_list {
  margin-top: 1em;
}
#toc_container .toc_list a {
  display: block;
  padding-bottom: 0.4em;
  border-bottom: 1px solid;
  border-color: var(--common-border-color);
  text-decoration: none;
  color: #444;
  -webkit-transition: color 0.3s ease-in;
  transition: color 0.3s ease-in;
}
#toc_container .toc_list a:hover {
  text-decoration: none !important;
  color: var(--common-hover-color);
}
#toc_container .toc_list > li > a {
  border-bottom: 1px dashed;
  border-color: var(--common-text-color);
  font-size: 110%;
}
#toc_container .toc_list ul {
  padding: 0.4em 0 0 0.4em;
}
@media (width <= 480px) {
  #toc_container .toc_list ul {
    padding: 0.4em 0 0 0;
  }
}
#toc_container .toc_list li {
  margin-bottom: 0.4em;
}
#toc_container .toc_number {
  margin-right: 0.2em;
  color: var(--common-accent-color);
  font-weight: 700;
}

/*--------------------------------------
【共通】投稿者プロフ
----------------------------------------*/
.post-user {
  display: grid;
  grid-template-columns: 1fr minmax(auto, min(100%, 160px));
  gap: 32px;
  padding: 40px 32px;
  border-radius: 10px;
  background: #f7f2ec;
  color: var(--common-text-color);
}
@media (width <= 764px) {
  .post-user {
    grid-template-columns: 1fr;
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
    gap: 12px 0;
    padding: 32px 24px;
  }
}
.post-user__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  width: 100%;
}
@media (width <= 764px) {
  .post-user__info {
    grid-row: 2;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 16px;
  }
}
.post-user__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
@media (width <= 764px) {
  .post-user__title {
    font-size: 24px;
  }
}
.post-user__tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 40px;
  border: 1px solid var(--common-border-color);
  background: var(--common-sub-color);
  line-height: 1;
  font-size: 14px;
  font-weight: 700;
  color: var(--common-accent-color);
}
@media (width <= 764px) {
  .post-user__tag {
    font-size: 12px;
  }
}
.post-user__desc {
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  /* 22.4px */
}
.post-user__thumbnail-wrap {
  display: block;
  width: min(100%, 180px);
}
@media (width <= 764px) {
  .post-user__thumbnail-wrap {
    grid-row: 1;
    width: min(100%, 144px);
    margin: 0 auto;
  }
}
.post-user__thumbnail {
  display: block;
  width: 100%;
  padding: 100% 0 0;
  position: relative;
}
.post-user__thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*--------------------------------------
【共有】シェアボタン
----------------------------------------*/
.post-share {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
  width: 100%;
  padding: 1em 0;
  border: 1px solid #dddddd;
  border-width: 1px 0 1px;
}
@media (width <= 764px) {
  .post-share {
    grid-template-columns: auto 1fr;
    gap: 24px;
  }
}
.post-share__heading {
  justify-self: flex-end;
  display: inline-block;
  color: var(--common-text-color);
  font-size: 16px;
  font-weight: 700;
  line-height: 1; /* 16px */
  white-space: nowrap;
}
.post-share__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, 40px);
  grid-auto-rows: 40px;
  gap: 32px;
  list-style: none;
  width: 100%;
}
@media (width <= 764px) {
  .post-share__list {
    gap: 16px 24px;
  }
}
.post-share__item {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: url(../img/share/icon_share_x.png) center no-repeat;
  background-size: cover;
  overflow: hidden;
}
.post-share__item.type-fb {
  background-image: url(../img/share/icon_share_fb.png);
}
.post-share__item.type-pin {
  background-image: url(../img/share/icon_share_pin.png);
}
.post-share__item a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0px;
}

/* -----------------------------------------------------------------------------------
投稿ページ用CSS
----------------------------------------------------------------------------------- */
/*--------------------------------------
【差分】ページレイアウト
----------------------------------------*/
.single .main-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 64px 0;
  padding-bottom: 128px;
}
@media (width <= 764px) {
  .single .main-head {
    gap: 48px 0;
    padding: 8px 0 112px;
  }
}
.single .main-foot {
  padding-top: 64px;
  background: var(--common-sub-color);
}
.single .main-foot:has(.main-side-area) {
  padding: 64px 0 0;
}
@media (width <= 764px) {
  .single:has(.main-foot) .footer {
    background: var(--common-sub-color);
  }
}

/*--------------------------------------
【共通】コンテンツ幅
----------------------------------------*/
/* エディター用 */
.editor-styles-wrapper {
  width: 100%;
  max-width: 800px;
  padding: 0 50px;
  margin: 0 auto;
}
@media (width <= 764px) {
  .editor-styles-wrapper {
    padding: 0 10px;
  }
}
.post-type-page.editor-styles-wrapper {
  max-width: 1200px;
}

.editor-styles-wrapper h1 {
  margin-bottom: 50px;
}

/*--------------------------------------
【共通】エディター設定
（フォントサイズ、行間の余白等）
----------------------------------------*/
.single-content-editor,
.editor-styles-wrapper .is-root-container {
  text-align: left;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0;
}
@media (width <= 764px) {
  .single-content-editor,
  .editor-styles-wrapper .is-root-container {
    font-size: 14px;
  }
}
.single-content-editor > :first-child,
.editor-styles-wrapper .is-root-container > :first-child {
  margin-top: 0;
}
.single-content-editor figcaption,
.editor-styles-wrapper .is-root-container figcaption {
  line-height: 1.8;
}
.single-content-editor figure,
.editor-styles-wrapper .is-root-container figure {
  margin: 24px 0 0;
}
.single-content-editor p,
.editor-styles-wrapper .is-root-container p {
  margin-top: 1em;
  line-height: 1.8;
}
.single-content-editor ul,
.single-content-editor ol,
.editor-styles-wrapper .is-root-container ul,
.editor-styles-wrapper .is-root-container ol {
  margin-top: 1em;
  line-height: 1.8;
}
.single-content-editor h2,
.editor-styles-wrapper .is-root-container h2 {
  margin-top: 80px;
}
@media (width <= 764px) {
  .single-content-editor h2,
  .editor-styles-wrapper .is-root-container h2 {
    margin-top: 48px;
  }
}
.single-content-editor h2 + *,
.editor-styles-wrapper .is-root-container h2 + * {
  margin-top: 40px;
}
@media (width <= 764px) {
  .single-content-editor h2 + *,
  .editor-styles-wrapper .is-root-container h2 + * {
    margin-top: 24px;
  }
}
.single-content-editor h3,
.editor-styles-wrapper .is-root-container h3 {
  margin-top: 40px;
}
@media (width <= 764px) {
  .single-content-editor h3,
  .editor-styles-wrapper .is-root-container h3 {
    margin-top: 24px;
  }
}
.single-content-editor h3 + *,
.editor-styles-wrapper .is-root-container h3 + * {
  margin-top: 0.5em;
}
.single-content-editor > .wp-block-buttons,
.editor-styles-wrapper .is-root-container > .wp-block-buttons {
  margin-top: 40px;
}
@media (width <= 764px) {
  .single-content-editor > .wp-block-buttons,
  .editor-styles-wrapper .is-root-container > .wp-block-buttons {
    margin-top: 30px;
  }
}
.single-content-editor .wp-block-embed.is-type-video,
.editor-styles-wrapper .is-root-container .wp-block-embed.is-type-video {
  width: 100%;
  padding: 56.87% 0 0;
  position: relative;
  z-index: 1;
}
.single-content-editor .wp-block-embed.is-type-video .wp-block-embed__wrapper,
.single-content-editor .wp-block-embed.is-type-video iframe,
.editor-styles-wrapper .is-root-container .wp-block-embed.is-type-video .wp-block-embed__wrapper,
.editor-styles-wrapper .is-root-container .wp-block-embed.is-type-video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.single-content-editor .is-style-table-recipe,
.single-content-editor .is-style-list-ol-3,
.editor-styles-wrapper .is-root-container .is-style-table-recipe,
.editor-styles-wrapper .is-root-container .is-style-list-ol-3 {
  font-size: 18px;
}
@media (width <= 764px) {
  .single-content-editor .is-style-table-recipe,
  .single-content-editor .is-style-list-ol-3,
  .editor-styles-wrapper .is-root-container .is-style-table-recipe,
  .editor-styles-wrapper .is-root-container .is-style-list-ol-3 {
    font-size: 16px;
  }
}
.single-content-editor:has(.check_box1) .check_box1,
.editor-styles-wrapper .is-root-container:has(.check_box1) .check_box1 {
  margin-top: 64px;
}
.single-content-editor:has(.titlebar) h2,
.single-content-editor:has(.titlebar) h3,
.single-content-editor:has(.titlebar) h4,
.single-content-editor:has(.titlebar) h5,
.single-content-editor:has(.titlebar) h6,
.editor-styles-wrapper .is-root-container:has(.titlebar) h2,
.editor-styles-wrapper .is-root-container:has(.titlebar) h3,
.editor-styles-wrapper .is-root-container:has(.titlebar) h4,
.editor-styles-wrapper .is-root-container:has(.titlebar) h5,
.editor-styles-wrapper .is-root-container:has(.titlebar) h6 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  padding: 0.5em 0;
  margin: 80px 0 40px;
  border-bottom: 1px dashed;
  color: var(--common-text-color);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  /* 28px */
}
.single-content-editor:has(.titlebar) h2::before,
.single-content-editor:has(.titlebar) h3::before,
.single-content-editor:has(.titlebar) h4::before,
.single-content-editor:has(.titlebar) h5::before,
.single-content-editor:has(.titlebar) h6::before,
.editor-styles-wrapper .is-root-container:has(.titlebar) h2::before,
.editor-styles-wrapper .is-root-container:has(.titlebar) h3::before,
.editor-styles-wrapper .is-root-container:has(.titlebar) h4::before,
.editor-styles-wrapper .is-root-container:has(.titlebar) h5::before,
.editor-styles-wrapper .is-root-container:has(.titlebar) h6::before {
  content: "";
  position: relative;
  left: auto;
  top: auto;
  display: block;
  width: 4px;
  height: 1em;
  border-radius: 2px;
  background: var(--common-accent-color);
}
.single-content-editor:has(.titlebar) h2 > *,
.single-content-editor:has(.titlebar) h3 > *,
.single-content-editor:has(.titlebar) h4 > *,
.single-content-editor:has(.titlebar) h5 > *,
.single-content-editor:has(.titlebar) h6 > *,
.editor-styles-wrapper .is-root-container:has(.titlebar) h2 > *,
.editor-styles-wrapper .is-root-container:has(.titlebar) h3 > *,
.editor-styles-wrapper .is-root-container:has(.titlebar) h4 > *,
.editor-styles-wrapper .is-root-container:has(.titlebar) h5 > *,
.editor-styles-wrapper .is-root-container:has(.titlebar) h6 > * {
  font-size: 1em !important;
}
.single-content-editor:has(.titlebar) .titlebar .box1,
.editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 {
  background: transparent;
  padding: 0;
  margin: 0;
  border-left: 0;
  display: grid;
  grid-template-columns: 2fr auto;
  -webkit-box-align: first baseline;
      -ms-flex-align: first baseline;
          align-items: first baseline;
}
@media (width <= 480px) {
  .single-content-editor:has(.titlebar) .titlebar .box1,
  .editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 {
    grid-template-columns: 1fr;
    grid-auto-rows: -webkit-min-content;
    grid-auto-rows: min-content;
    border-bottom: 1px solid var(--common-border-color);
  }
}
.single-content-editor:has(.titlebar) .titlebar .box1 > *,
.editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 > * {
  margin: 0;
  height: 100%;
  padding: 1em 0 1em;
  font-size: 18px;
  border-bottom: 1px solid var(--common-border-color);
  line-height: 1.5;
}
.single-content-editor:has(.titlebar) .titlebar .box1 > * br,
.editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 > * br {
  display: none;
}
@media (width <= 764px) {
  .single-content-editor:has(.titlebar) .titlebar .box1 > *,
  .editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 > * {
    font-size: 16px;
  }
}
@media (width <= 480px) {
  .single-content-editor:has(.titlebar) .titlebar .box1 > *,
  .editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 > * {
    padding: 0;
    border: none;
  }
  .single-content-editor:has(.titlebar) .titlebar .box1 > *:first-child,
  .editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 > *:first-child {
    padding-top: 0 !important;
    border-top: none !important;
  }
}
@media (width <= 480px) {
  .single-content-editor:has(.titlebar) .titlebar .box1 .subject,
  .editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 .subject {
    padding: 1em 0 0;
    border-top: 1px solid var(--common-border-color);
  }
}
@media (width <= 480px) {
  .single-content-editor:has(.titlebar) .titlebar .box1 .date,
  .editor-styles-wrapper .is-root-container:has(.titlebar) .titlebar .box1 .date {
    justify-self: flex-end;
    padding: 0.25em 0 1em;
  }
}
.single-content-editor:has(.titlebar) .wp-block-spacer,
.editor-styles-wrapper .is-root-container:has(.titlebar) .wp-block-spacer {
  display: none;
}
.single-content-editor:has(.titlebox-silver) .wp-block-group:has(> .titlebox-silver),
.editor-styles-wrapper .is-root-container:has(.titlebox-silver) .wp-block-group:has(> .titlebox-silver) {
  margin-top: 40px;
}
.single-content-editor:has(.titlebox-bronze) .wp-block-group:has(> .titlebox-bronze),
.editor-styles-wrapper .is-root-container:has(.titlebox-bronze) .wp-block-group:has(> .titlebox-bronze) {
  margin-top: 40px;
}
.single-content-editor:has(.q_button) p:has(.q_button),
.editor-styles-wrapper .is-root-container:has(.q_button) p:has(.q_button) {
  margin-top: 32px;
}
.single-content-editor:has(.q_button) .q_button,
.editor-styles-wrapper .is-root-container:has(.q_button) .q_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(100%, 380px);
  height: 65px;
  padding: 0 8.42% 2px;
  margin: 0 auto;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  text-align: center;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0px;
  font-size: 16px;
  color: var(--common-sub-color);
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  position: relative;
  z-index: 1;
}
@media (width <= 764px) {
  .single-content-editor:has(.q_button) .q_button,
  .editor-styles-wrapper .is-root-container:has(.q_button) .q_button {
    width: min(100%, 220px);
    height: 45px;
    font-size: 14px;
  }
}
.single-content-editor:has(.q_button) .q_button::before,
.editor-styles-wrapper .is-root-container:has(.q_button) .q_button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--common-accent-color);
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.single-content-editor:has(.q_button) .q_button:hover::before,
.editor-styles-wrapper .is-root-container:has(.q_button) .q_button:hover::before {
  background-color: var(--common-hover-color);
}
.single-content-editor .wp-block-quote,
.editor-styles-wrapper .is-root-container .wp-block-quote {
  padding-top: 2.5em;
  padding-bottom: 1em;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
  border-color: var(--common-accent-color);
  position: relative;
}
.single-content-editor .wp-block-quote::before,
.editor-styles-wrapper .is-root-container .wp-block-quote::before {
  content: "”";
  display: block;
  font-size: 4em;
  color: var(--common-accent-color);
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0.5em;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.single-content-editor .wp-block-quote p,
.editor-styles-wrapper .is-root-container .wp-block-quote p {
  opacity: 0.8;
  font-size: 0.94em;
}

/*--------------------------------------
【共通】ページネーションwrapper
----------------------------------------*/
.single-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px 0;
  width: 100%;
  margin: 50px 0 0;
}
@media (width <= 764px) {
  .single-pagination {
    gap: 20px 0;
  }
}

/*--------------------------------------
【共通】ページネーション
前後の記事 / 一覧ページに戻る
----------------------------------------*/
.single-prevnext-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  width: 100%;
}
@media (width <= 764px) {
  .single-prevnext-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.single-prevnext-link--backpage {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (width <= 764px) {
  .single-prevnext-link--backpage {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.single-prevnext-link__item > a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: 0px;
}
@media (width <= 764px) {
  .single-prevnext-link__item:has([rel=next]) {
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}
.single-prevnext-link__text {
  width: 17em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.single-prevnext-link__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 42px;
  height: 42px;
  background: var(--common-sub-color);
  -webkit-box-shadow: 3px 3px 10px rgba(7, 127, 191, 0.1490196078);
          box-shadow: 3px 3px 10px rgba(7, 127, 191, 0.1490196078);
  border-radius: 21px;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
}
.single-prevnext-link__icon i {
  font-size: 1.5em;
}
.single-prevnext-link__icon:hover {
  background: var(--common-color);
  color: var(--common-sub-color);
}

/*--------------------------------------
サムネイル
----------------------------------------*/
.single-foot-thumbnail {
  width: 100%;
  padding: 66.67% 0 0;
  margin: -144px 0 48px;
  position: relative;
}
@media (width <= 764px) {
  .single-foot-thumbnail {
    margin-bottom: 32px;
  }
}
.single-foot-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*--------------------------------------
【差分】著者名
----------------------------------------*/
.single-foot-user {
  /* .post-user */
  margin: 96px 0 0;
}
@media (width <= 764px) {
  .single-foot-user {
    margin: 64px 0 0;
  }
}

/*--------------------------------------
【差分】この記事をシェア
----------------------------------------*/
.single-foot-share {
  /* .post-share */
  margin: 48px 0 0;
}
@media (width <= 764px) {
  .single-foot-share {
    margin: 32px 0 0;
  }
}

/*--------------------------------------
【差分】前の画面に戻るボタン
----------------------------------------*/
.single-foot-btn .wp-block-buttons {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 64px 0 0;
}
.single-foot-btn .wp-block-button {
  width: 190px;
  height: 48px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.single-foot-btn .wp-block-button::after {
  right: auto;
  left: 6.32%;
  -webkit-transform: translate(0, -50%) rotate(-180deg);
          transform: translate(0, -50%) rotate(-180deg);
}
.single-foot-btn .wp-block-button__link {
  padding: 0 8.42% 2px 12.63%;
}

/*--------------------------------------
関連記事
----------------------------------------*/
.single-related {
  display: block;
  width: 100%;
  padding: 80px 0 144px;
  background: transparent;
}
@media (width <= 764px) {
  .single-related {
    display: none;
  }
}
.single-related__container {
  /* .main-container */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px 0;
}
.single-related__list {
  /* .archive-list-post */
  display: block;
  width: 100%;
  line-height: 1;
}
.single-related__list .archive-list-post {
  grid-template-columns: repeat(auto-fit, minmax(auto, 220px));
  gap: 24px;
}
.single-related__list .archive-list-post__title {
  font-size: 16px;
}

@media (764px < width) {
  .single:has(.main-foot):not(:has(.single-related)) .footer::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--common-sub-color);
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -2;
  }
}

/* -----------------------------------------------------------------------------------
アーカイブページ用CSS
----------------------------------------------------------------------------------- */
/*--------------------------------------
【共通】ページネーションwrapper
----------------------------------------*/
.archive-pagination {
  display: block;
  width: 100%;
  margin: 80px 0 0;
}
@media (width <= 764px) {
  .archive-pagination {
    margin: 30px 0 0;
  }
}

/*--------------------------------------
【共通】ページネーション（プラグイン使用）
----------------------------------------*/
.pagenavi-prev,
.pagenavi-next {
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/common/icon_nav_prev.svg) center no-repeat;
  background-size: contain;
}

.pagenavi-next {
  background-image: url(../img/common/icon_nav_next.svg);
}

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px 20px;
  width: 100%;
  padding: 0;
  line-height: 1;
  font-size: 16px;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi .page,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .current,
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.5em;
  height: 2.5em;
  padding: 0 0 2px;
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 1em;
  text-align: center;
  color: unset;
  position: relative;
  z-index: 1;
  color: var(--common-color);
  -webkit-transition: color 0.3s ease-in;
  transition: color 0.3s ease-in;
}
.wp-pagenavi .page::before,
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before,
.wp-pagenavi .current::before,
.wp-pagenavi .first::before,
.wp-pagenavi .last::before {
  content: "";
  display: block;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: transparent;
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.wp-pagenavi .page:hover,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover,
.wp-pagenavi .current:hover,
.wp-pagenavi .first:hover,
.wp-pagenavi .last:hover {
  color: var(--common-sub-color);
}
.wp-pagenavi .page:hover::before,
.wp-pagenavi .previouspostslink:hover::before,
.wp-pagenavi .nextpostslink:hover::before,
.wp-pagenavi .current:hover::before,
.wp-pagenavi .first:hover::before,
.wp-pagenavi .last:hover::before {
  background: var(--common-color);
}
.wp-pagenavi .current {
  color: var(--common-sub-color);
}
.wp-pagenavi .current::before {
  background: var(--common-color);
}
.wp-pagenavi > * {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.wp-pagenavi .previouspostslink::before,
.wp-pagenavi .nextpostslink::before {
  display: none;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
  opacity: 0.6;
}
.wp-pagenavi .previouspostslink {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.wp-pagenavi .nextpostslink {
  -webkit-box-ordinal-group: 1001;
      -ms-flex-order: 1000;
          order: 1000;
}
.wp-pagenavi:not(:has(.previouspostslink))::before {
  content: "";
  width: 2.5em;
  height: 2.5em;
}
.wp-pagenavi:not(:has(.nextpostslink))::after {
  content: "";
  width: 2.5em;
  height: 2.5em;
}

/*--------------------------------------
投稿一覧（デフォルト）
----------------------------------------*/
.archive-list-post {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 32px 24px;
  color: var(--common-text-color);
}
@media (width <= 764px) {
  .archive-list-post {
    grid-template-columns: repeat(2, 1fr);
  }
}
.archive-list-post * {
  margin: 0 !important;
  line-height: 1 !important;
  list-style-type: none !important;
}
.archive-list-post__item, .archive-list-post__link {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 12px;
  width: 100%;
}
@media (width <= 764px) {
  .archive-list-post__item, .archive-list-post__link {
    gap: 8px;
  }
}
.archive-list-post__img {
  display: block;
  width: 100% !important;
  height: auto !important;
  padding: 100% 0 0 !important;
  position: relative;
}
.archive-list-post__img img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  border: 3px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.archive-list-post__img figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px;
  height: auto !important;
  padding: 10px;
  position: absolute;
  top: 0;
  right: 0;
}
.archive-list-post__img figcaption > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: auto;
  padding: 2px 12px;
  border-radius: 50px;
  background: var(--common-sub-color);
  font-size: 14px;
  font-weight: 700;
}
@media (width <= 764px) {
  .archive-list-post__img figcaption > * {
    font-size: 12px;
  }
}
.archive-list-post__img *:not(img, figcaption, figcaption > *) {
  display: block;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  top: 0;
  left: 0;
}
.archive-list-post__title {
  display: block;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4 !important;
  text-align: justify;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media (width <= 764px) {
  .archive-list-post__title {
    font-size: 16px;
  }
}
.archive-list-post__text {
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4 !important;
  text-align: justify;
}
@media (width <= 764px) {
  .archive-list-post__text {
    font-size: 14px;
  }
}

/* ----------------
// hover時の動作
---------------- */
.archive-list-post__item:has(a) {
  -webkit-transition: color 0.3s ease-in;
  transition: color 0.3s ease-in;
}
.archive-list-post__item:has(a) a {
  color: unset !important;
}
.archive-list-post__item:has(a):hover {
  color: var(--common-hover-color);
}

/*--------------------------------------
【差分】
シェフ五十嵐美幸とっておき簡単レシピ
谷口ももよ薬膳簡単レシピ
----------------------------------------*/
/* ページレイアウト */
.special .main-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px 0;
  padding-bottom: 40px;
}
@media (width <= 764px) {
  .special .main-head {
    gap: 24px 0;
    padding-bottom: 30px;
  }
}
.special .main-foot {
  padding-top: 64px;
  background: var(--common-sub-color);
}
.special .main-foot:has(.main-side-area) {
  padding: 64px 0 0;
}

/* ページタイトル */
.special-pagetitle {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 16px 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (width <= 764px) {
  .special-pagetitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.special-pagetitle__img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(100%, 200px);
}
@media (width <= 764px) {
  .special-pagetitle__img {
    width: min(100%, 120px);
  }
}
.special-pagetitle__img img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.special-pagetitle__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
}
@media (width <= 764px) {
  .special-pagetitle__text {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
.special-pagetitle__sub {
  text-transform: capitalize;
  color: var(--common-accent-color);
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 2px;
}
@media (width <= 764px) {
  .special-pagetitle__sub {
    font-size: 20px;
  }
}
.special-pagetitle__main {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 20px 0;
  border-top: 1px dashed;
  border-bottom: 1px dashed;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}
@media (width <= 764px) {
  .special-pagetitle__main {
    padding: 12px 0;
    font-size: 28px;
  }
}

/*--------------------------------------
投稿一覧（VD）
----------------------------------------*/
.archive-list-post-vd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 32px;
  color: var(--common-text-color);
}
@media (width <= 764px) {
  .archive-list-post-vd {
    gap: 24px;
  }
}
.archive-list-post-vd * {
  margin: 0 !important;
  line-height: 1 !important;
  list-style-type: none !important;
}
.archive-list-post-vd__item {
  display: block;
  width: 100%;
  min-height: 153px;
  padding: 32px 20px 0;
  border-top: 1px solid #DDD;
}
@media (width <= 764px) {
  .archive-list-post-vd__item {
    min-height: auto;
    padding: 0;
    border-top: none;
  }
}
.archive-list-post-vd__link {
  display: grid;
  grid-template: "post-img post-ttl post-icon" "post-img post-txt post-icon"/160px 1fr 50px;
  grid-template-rows: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px 32px;
  width: 100%;
}
@media (width <= 764px) {
  .archive-list-post-vd__link {
    grid-template-areas: "post-img post-ttl" "post-txt post-txt";
    grid-template-columns: 120px 1fr;
    gap: 8px 12px;
  }
}
.archive-list-post-vd__img {
  grid-area: post-img;
  display: block;
  width: 100% !important;
  height: auto !important;
  padding: 75% 0 0 !important;
  position: relative;
}
.archive-list-post-vd__img img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  border: 3px solid;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.archive-list-post-vd__title {
  align-self: last baseline;
  grid-area: post-ttl;
  display: block;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4 !important;
  text-align: justify;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media (width <= 764px) {
  .archive-list-post-vd__title {
    -ms-flex-item-align: center;
        align-self: center;
    font-size: 20px;
  }
}
.archive-list-post-vd__text {
  align-self: first baseline;
  grid-area: post-txt;
  display: block;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4 !important;
  text-align: justify;
}
@media (width <= 764px) {
  .archive-list-post-vd__text {
    display: none;
    font-size: 14px;
  }
}
.archive-list-post-vd__icon {
  justify-self: flex-end;
  grid-area: post-icon;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 43px;
  height: 43px;
  background-color: var(--common-text-color);
  border-radius: 50%;
  position: relative;
}
.archive-list-post-vd__icon::before {
  content: "";
  display: block;
  width: 50%;
  height: 50%;
  background: url(../img/common/icon_btn_arrow.svg) center no-repeat;
  background-size: cover;
}
@media (width <= 764px) {
  .archive-list-post-vd__icon {
    display: none;
  }
}
.archive-list-post-vd__link:hover .archive-list-post-vd__icon {
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
  background-color: var(--common-hover-color);
}

/* -----------------------------------------------------------------------------------
固定ページ用CSS

【メモ】
.editor-styles-wrapper == 編集画面用
----------------------------------------------------------------------------------- */
/*--------------------------------------
【共通】エディター設定
（フォントサイズ、行間の余白等）
----------------------------------------*/
.page-content-editor,
.editor-styles-wrapper .is-root-container {
  text-align: left;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0;
}
@media (width <= 764px) {
  .page-content-editor,
  .editor-styles-wrapper .is-root-container {
    font-size: 14px;
  }
}
.page-content-editor > :first-child,
.editor-styles-wrapper .is-root-container > :first-child {
  margin-top: 0;
}
.page-content-editor figcaption,
.editor-styles-wrapper .is-root-container figcaption {
  line-height: 1.8;
}
.page-content-editor figure,
.editor-styles-wrapper .is-root-container figure {
  margin: 1em 0 0;
}
.page-content-editor a:not([class]),
.editor-styles-wrapper .is-root-container a:not([class]) {
  text-decoration: underline;
  color: var(--common-accent-color);
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
.page-content-editor a:not([class]):hover,
.editor-styles-wrapper .is-root-container a:not([class]):hover {
  color: var(--common-hover-color);
}
.page-content-editor p,
.editor-styles-wrapper .is-root-container p {
  margin-top: 1em;
  line-height: 1.8;
}
.page-content-editor ul,
.page-content-editor ol,
.editor-styles-wrapper .is-root-container ul,
.editor-styles-wrapper .is-root-container ol {
  margin-top: 1em;
  line-height: 1.8;
}
.page-content-editor h2,
.editor-styles-wrapper .is-root-container h2 {
  margin-top: 64px;
}
.page-content-editor h2 + *,
.editor-styles-wrapper .is-root-container h2 + * {
  margin-top: 32px;
}
.page-content-editor h3,
.editor-styles-wrapper .is-root-container h3 {
  margin-top: 32px;
}
.page-content-editor h3 + *,
.editor-styles-wrapper .is-root-container h3 + * {
  margin-top: 0.5em;
}
.page-content-editor > .wp-block-buttons,
.editor-styles-wrapper .is-root-container > .wp-block-buttons {
  margin-top: 40px;
}
@media (width <= 764px) {
  .page-content-editor > .wp-block-buttons,
  .editor-styles-wrapper .is-root-container > .wp-block-buttons {
    margin-top: 30px;
  }
}

/*--------------------------------------
よくあるご質問
----------------------------------------*/
.accordions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px 0;
  width: 100%;
  list-style: none;
}

.accordion {
  display: block;
  width: 100%;
  border-radius: 10px;
  background: var(--common-sub-color);
  overflow: hidden;
  position: relative;
}
.accordion > input[type*=checkbox] {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}

/* アコーディオン > 見出し */
.accordion-head {
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
  width: 100%;
  height: auto;
  padding: 40px;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-align: left;
  color: var(--common-text-color);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (width <= 764px) {
  .accordion-head {
    padding: 20px;
    font-size: 18px;
  }
}
.accordion-head::before {
  content: "Q";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 2em;
  height: 2em;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  background: var(--common-text-color);
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  font-size: 1em;
  color: var(--common-sub-color);
}
@media (width <= 764px) {
  .accordion-head::before {
    -ms-flex-item-align: first baseline;
        align-self: first baseline;
  }
}
.accordion-head__icon {
  display: block;
  width: 26px;
  height: 26px;
  overflow: hidden;
  position: relative;
}
.accordion-head__icon::before, .accordion-head__icon::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  border-top: solid 3px var(--common-accent-color);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
  -webkit-transition: 0.3s cubic-bezier(0.02, 0.01, 0.86, 0.3);
  transition: 0.3s cubic-bezier(0.02, 0.01, 0.86, 0.3);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.accordion-head__icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(-90deg);
          transform: translate(-50%, -50%) rotate(-90deg);
}
.accordion:has(> input:checked) .accordion-head__icon::after {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* アコーディオン > コンテンツ */
.accordion-contents {
  cursor: pointer;
  display: block;
  width: 100%;
  height: 0;
  opacity: 0.5;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  font-weight: 400;
  line-height: 1.8;
  font-size: 18px;
}
@media (width <= 764px) {
  .accordion-contents {
    font-size: 14px;
  }
}
.accordion:has(> input:checked) .accordion-contents {
  height: auto;
  padding: 0 40px 40px;
  margin-top: -16px;
  opacity: 1;
}
@media (width <= 764px) {
  .accordion:has(> input:checked) .accordion-contents {
    padding: 0 20px 20px;
    margin-top: -8px;
  }
}

/*--------------------------------------
お問い合わせ
----------------------------------------*/
.contact-contents {
  width: 100%;
}

.contact-form {
  margin: 64px 0 0;
}
.contact-form table {
  width: 100%;
  line-height: 1;
}
.contact-form table tbody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px 0;
}
.contact-form table tr {
  display: grid;
  grid-template-columns: 210px 1fr;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%;
}
@media (width <= 764px) {
  .contact-form table tr {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.contact-form table th,
.contact-form table td {
  line-height: 1.5;
  font-size: 16px;
}
@media (width <= 764px) {
  .contact-form table th,
  .contact-form table td {
    font-size: 15px;
  }
}
.contact-form table th p,
.contact-form table td p {
  margin: 0;
  line-height: unset;
  font-size: 1em;
}
@media (764px < width) {
  .contact-form table th {
    position: relative;
  }
}
.contact-form table th p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
@media (764px < width) {
  .contact-form table th p {
    position: absolute;
    top: min(50%, 24px);
    left: 0;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
  }
}
.contact-form table input,
.contact-form table select,
.contact-form table textarea {
  width: 100%;
  height: 48px;
  padding: 0.25em 0.5em;
  background: var(--common-sub-color) 0% 0% no-repeat padding-box;
  border: 1px solid var(--common-border-color);
  border-radius: 3px;
  font-weight: 500;
  font-size: 1em;
}
.contact-form table [type*=checkbox] {
  width: 1em;
  height: 1em;
}
.contact-form table textarea {
  resize: vertical;
  height: auto;
  min-height: 180px;
  padding: 0.5em;
}
.contact-form .haveto,
.contact-form .any {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0.25em 1em 0.5em;
  font-weight: 700;
  font-size: 12px;
  background: var(--common-accent-color-2);
  color: var(--common-sub-color);
  line-height: 1;
}
.contact-form .any {
  border: 1px solid;
  color: var(--common-accent-color-2);
  background: transparent;
}
.contact-form .wpcf7-not-valid-tip {
  font-size: 1em;
}
.contact-form p:has(> .wpcf7-submit) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 64px 0 0;
}
.contact-form .wpcf7-submit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(100%, 380px);
  height: 65px;
  padding: 0 8.42% 2px;
  border: 0;
  border-radius: 70.5px;
  background: var(--common-text-color);
  -webkit-transition: background-color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out;
  line-height: 1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  cursor: pointer;
  text-align: center;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0px;
  font-size: 16px;
  color: var(--common-sub-color);
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
  position: relative;
  z-index: 1;
}
@media (width <= 764px) {
  .contact-form .wpcf7-submit {
    width: min(100%, 220px);
    height: 45px;
    font-size: 14px;
  }
}
.contact-form .wpcf7-submit:hover {
  background-color: var(--common-accent-color);
}

/* -----------------------------------------------------------------------------------
TOPページ用 CSS
----------------------------------------------------------------------------------- */
.home .main {
  /* mainタグ・差分 */
  padding: 0;
}
.home .main-side-area {
  /* サイドエリア　差分 */
  padding: 96px 0 96px;
}
@media (width <= 764px) {
  .home .main-side-area {
    padding: 0 0 96px;
  }
}
.home .home-noside-area {
  /* 非サイドエリア　差分 */
  /* .main-noside-area */
  padding: 0;
}
@media (764px < width) {
  .home .home-noside-area--first {
    padding: 96px 0 0;
  }
  .home .home-noside-area--first > :first-child {
    padding-top: 0;
  }
}

/*--------------------------------------
メインビジュアル
----------------------------------------*/
.mainvisual {
  display: block;
  width: 100%;
  min-width: 100vw;
  padding: 175px 0 96px;
  overflow: hidden;
}
@media (width <= 764px) {
  .mainvisual {
    padding: 164px 0 48px;
  }
}
@media (width <= 480px) {
  .mainvisual {
    height: 680px;
    position: relative;
  }
}
@media (width <= 764px) {
  .mainvisual--banner {
    padding: 120px 0 48px;
  }
}
.mainvisual__inner {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 64px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(100% - 40px, 1200px);
  margin: 0 auto;
}
@media (width <= 764px) {
  .mainvisual__inner {
    gap: 16px;
  }
}
@media (width <= 480px) {
  .mainvisual__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.mainvisual__copy {
  width: min(100%, 190px);
  margin: 0 0 32px;
}
@media (width <= 764px) {
  .mainvisual__copy {
    margin: 0 0 180px;
  }
}
@media (width <= 480px) {
  .mainvisual__copy {
    width: min(100%, 84px);
    margin: 0 0 0 20px;
    position: absolute;
    top: 164px;
    top: 120px;
    left: 0;
  }
}
@media (width <= 480px) {
  .mainvisual__copy--banner {
    display: none;
  }
}
.mainvisual__slider {
  /* #mainvisual-slider */
  width: 100%;
}

/* スライダー設定 */
#mainvisual-slider .splide {
  display: block;
  width: 100%;
  position: relative;
  z-index: 1;
}
#mainvisual-slider .splide__track {
  display: block;
  width: 100%;
  padding: 0 0 32px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__track {
    padding: 0 0 180px;
  }
}
@media (width <= 480px) {
  #mainvisual-slider .splide__track {
    padding: 0 0 153px;
    overflow: visible;
  }
}
#mainvisual-slider .splide__list {
  width: 100%;
  max-width: 100vw;
}
#mainvisual-slider .splide__slide {
  display: block;
  width: 827px;
  height: 600px;
  margin: 0 84px 0 0;
  position: relative;
  z-index: 1;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__slide {
    width: min(100%, 337px);
    min-width: 280px;
    height: auto;
    padding: clamp(300px, 106.23%, 358px) 0 0;
    margin: 0 32px 0 0;
  }
}
#mainvisual-slider .splide__slide a {
  cursor: pointer;
}
#mainvisual-slider .splide__img-wrap {
  display: block;
  width: 600px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-transform: none;
          transform: none;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__img-wrap {
    width: 67.36%;
    left: auto;
    right: 0;
  }
}
@media (width <= 764px) {
  #mainvisual-slider .splide__img-wrap--banner {
    width: 100%;
  }
}
#mainvisual-slider .splide__img {
  display: block;
  width: 100%;
  height: auto;
  padding: calc(100% - 6px) 0 0;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 20px;
  border: 3px solid var(--common-text-color);
}
#mainvisual-slider .splide__copy {
  /* .splide-copy */
  position: absolute;
  bottom: -32px;
  right: 0;
  -webkit-transform: none;
          transform: none;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__copy {
    right: auto;
    bottom: auto;
    top: 55.87%;
    left: 0;
  }
}
#mainvisual-slider .splide__nav {
  /* .splide-nav */
  position: absolute;
  top: 12px;
  left: 827px;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  z-index: 2;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__nav {
    top: auto;
    left: auto;
    right: 249px;
    bottom: 0;
    -webkit-transform: none;
            transform: none;
  }
}
@media (width <= 480px) {
  #mainvisual-slider .splide__nav {
    bottom: 48px;
    bottom: auto;
    top: 259px;
    right: 0;
  }
}
@media (width <= 764px) {
  #mainvisual-slider .splide__nav--banner {
    top: auto;
    bottom: 0;
  }
}
#mainvisual-slider .splide__pagination {
  counter-reset: pagination-num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 80px;
  height: 80px;
  padding: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  -webkit-transform: none;
          transform: none;
  font-family: "Jost", sans-serif;
  color: var(--common-text-color);
  font-size: 56px;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__pagination {
    width: 72px;
    height: 72px;
    font-size: 52px;
  }
}
#mainvisual-slider .splide__pagination *, #mainvisual-slider .splide__pagination::before, #mainvisual-slider .splide__pagination::after {
  font-family: unset;
  color: unset;
  line-height: 1;
}
#mainvisual-slider .splide__pagination::before {
  content: "/";
  display: inline-block;
  margin: 0 0.5em 0 auto;
  font-size: 0.71em;
}
#mainvisual-slider .splide__pagination::after {
  content: counter(pagination-num);
  display: inline-block;
  font-size: 0.57em;
  position: absolute;
  right: 0;
  bottom: -8px;
}
#mainvisual-slider .splide__pagination li {
  display: block;
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
}
#mainvisual-slider .splide__pagination__page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  height: 100%;
  background: transparent;
  opacity: 0;
  font-size: 1em;
}
#mainvisual-slider .splide__pagination__page::before {
  counter-increment: pagination-num;
  content: counter(pagination-num);
}
#mainvisual-slider .splide__pagination__page.is-active {
  opacity: 1;
}
#mainvisual-slider .splide__arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80px;
  height: 80px;
  padding: 0;
  position: static;
}
@media (width <= 764px) {
  #mainvisual-slider .splide__arrows {
    width: 72px;
    height: 72px;
  }
}
#mainvisual-slider .splide__arrow {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  border: 2px solid;
  color: var(--common-text-color);
  font-size: clamp(18px, 1.85vw, 20px);
  background: transparent;
  opacity: 1;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  -webkit-transform: none;
          transform: none;
  z-index: 1;
}
#mainvisual-slider .splide__arrow::before {
  content: "";
  display: block;
  width: 40%;
  height: auto;
  padding: 40% 0 0;
  background: url(../img/common/icon_btn_arrow_b.svg) center no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
#mainvisual-slider .splide__arrow--prev {
  display: none;
}
#mainvisual-slider .splide-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px 0;
  width: min(100%, 360px);
  height: 240px;
  padding: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 10px;
  border: 3px solid;
  background: var(--common-sub-color);
  overflow: hidden;
  color: var(--common-text-color);
}
@media (width <= 764px) {
  #mainvisual-slider .splide-copy {
    width: min(100%, 240px);
    height: 158px;
    gap: 8px 0;
  }
}
#mainvisual-slider .splide-copy__tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}
#mainvisual-slider .splide-copy__tag > span {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: auto;
  padding: 0.25em 0.5em;
  background: var(--common-text-color);
  color: var(--common-sub-color);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
@media (width <= 764px) {
  #mainvisual-slider .splide-copy__tag > span {
    font-size: 10px;
  }
}
#mainvisual-slider .splide-copy__heading {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
}
@media (width <= 764px) {
  #mainvisual-slider .splide-copy__heading {
    font-size: 20px;
  }
}
#mainvisual-slider .splide-copy__text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  /* 以下、溢れたら 3 点リーダーを付ける */
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media (width <= 764px) {
  #mainvisual-slider .splide-copy__text {
    display: none;
    font-size: 14px;
  }
}
#mainvisual-slider .splide-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 16px;
  width: 122px;
}
@media (width <= 764px) {
  #mainvisual-slider .splide-nav {
    width: 72px;
  }
}
#mainvisual-slider .splide-nav__pagination {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
#mainvisual-slider .splide-nav__arrows {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-left: auto;
}

/*--------------------------------------
【共通】セクション
----------------------------------------*/
.home-section {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 32px;
  padding: 64px 0;
}
@media (width <= 764px) {
  .home-section {
    padding: 48px 0;
  }
}
.home-section--banner {
  padding: 0 0 48px;
}
.home-section:has(+ .home-section--banner) {
  padding-bottom: 48px;
}
@media (width <= 764px) {
  .home-section:has(+ .home-section--banner) {
    padding-bottom: 24px;
  }
}

/*--------------------------------------
【共通】セクションwrapper
----------------------------------------*/
/* 白 */
.home-section-group-white {
  display: block;
  background: var(--common-sub-color);
  position: relative;
}
.home-section-group-white::before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  min-width: 1000px;
  background: var(--common-sub-color);
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.home-section-group-white .home-section {
  width: min(100%, 816px);
}

/* ノーマル */
.home-section-group {
  display: block;
  padding: 0 0 64px;
  background: var(--common-bg-color);
  position: relative;
}
.home-section-group::before {
  content: "";
  display: block;
  width: 200vw;
  height: 100%;
  min-width: 2000px;
  background: var(--common-bg-color);
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
.home-section-group .home-section {
  width: min(100%, 816px);
  border-top: 1px dashed;
}
.home-section-group .home-section--banner {
  border-top: none;
}

/*--------------------------------------
【共通】タイトル
----------------------------------------*/
.home-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.35em 0;
  width: 100%;
  line-height: 1;
}
.home-section-title:has(img) {
  height: 88px;
}
.home-section-title img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left top;
     object-position: left top;
}
.home-section-title__sub {
  font-weight: 700;
  font-size: 20px;
  color: var(--common-accent-color);
}
@media (width <= 764px) {
  .home-section-title__sub {
    font-size: 18px;
  }
}
.home-section-title__main {
  text-transform: capitalize;
  font-family: "Jost", system-ui;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  font-size: 56px;
}
@media (width <= 764px) {
  .home-section-title__main {
    font-size: 48px;
  }
}

/*--------------------------------------
【共通】テキスト
----------------------------------------*/
/* テキスト */
.home-section-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em 0;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
}
.home-section-text__lead {
  font-weight: 700;
  font-size: 1.13em;
}

/*--------------------------------------
【共通】ボタン
----------------------------------------*/
/* ボタンwrapper */
.home-section-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.home-section-buttons .wp-block-button {
  width: 190px;
  height: 48px;
  margin: 0;
}
@media (width <= 764px) {
  .home-section-buttons .wp-block-button {
    width: 180px;
  }
}

/*--------------------------------------
【共通】記事一覧リスト
----------------------------------------*/
@media (width <= 764px) {
  .home-archive-list {
    /* > .archive-list-post */
    padding: 0 0 10px 20px;
    margin: 0 -20px;
    overflow-x: auto;
  }
  .home-archive-list .archive-list-post {
    grid-template-columns: repeat(3, 220px);
  }
}

/*--------------------------------------
【共通】記事一覧リストのディスクリプション
----------------------------------------*/
.home-archive-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em 0.65em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(100%, 816px);
  min-height: 52px;
  font-size: 20px;
  font-weight: 700;
}
@media (764px < width) {
  .home-archive-description {
    background: var(--common-sub-color);
    border-radius: 8px;
    overflow: hidden;
  }
}
@media (width <= 764px) {
  .home-archive-description {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.home-archive-description__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25em;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: min(100%, 152px);
  height: 100%;
  padding: 0.25em 0.5em;
  background: var(--common-text-color);
  font-size: 0.8em;
  color: var(--common-sub-color);
}
@media (width <= 764px) {
  .home-archive-description__tag {
    height: auto;
  }
}
.home-archive-description__tag::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: url(../img/home/icon_light_bulb.svg) center no-repeat;
  background-size: contain;
}

/*--------------------------------------
【共通】バナー
----------------------------------------*/
.home-banner {
  display: block;
  width: min(100%, 320px);
  margin: 0 auto;
  padding: 0;
  border: 0;
}
@media (width <= 764px) {
  .home-banner {
    width: min(100%, 335px);
  }
}
.home-banner a,
.home-banner img {
  display: block;
}
.home-banner a {
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.home-banner a:hover {
  opacity: 0.8;
}

/*--------------------------------------
セクション差分

ハナビラタケを知ってほしい
----------------------------------------*/
.home-intro {
  position: relative;
}
.home-intro::before {
  content: "";
  display: block;
  width: 100%;
  height: 79.13%;
  background: var(--common-sub-color);
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: -1;
}
.home-intro-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  padding: 56px 0 64px;
  border-radius: 20px;
  border: 3px solid;
  background: var(--common-sub-color);
}
@media (width <= 764px) {
  .home-intro-section {
    padding: 40px 0 32px;
  }
}
.home-intro-section > * {
  padding: 0 48px;
  margin: 0;
}
@media (width <= 764px) {
  .home-intro-section > * {
    padding: 0 24px;
  }
}
.home-intro-title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
  position: relative;
  z-index: 1;
}
.home-intro-title-wrap::after {
  content: "";
  display: block;
  width: 21.92%;
  width: 30.25%;
  height: auto;
  padding: 19.75% 0 0;
  padding: 28.08% 0 0;
  background: url(../img/home/img_bg_about.png) center no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 48px;
  z-index: -1;
}
@media (width <= 764px) {
  .home-intro-title-wrap::after {
    width: 178px;
    padding: 170px 0 0;
    top: 0;
    right: 40px;
  }
}
@media (width <= 480px) {
  .home-intro-title-wrap::after {
    width: 96px;
    padding: 160px 0 0;
    background: url(../img/home/img_bg_about_sp.png) center no-repeat;
    background-size: cover;
    top: 90%;
    top: -16px;
    right: 16px;
  }
}
@media (width <= 374px) {
  .home-intro-title-wrap::after {
    width: 80px;
    padding: 108px 0 0;
    background-size: contain;
    top: -16px;
    right: 8px;
  }
}
.home-intro-title {
  display: block;
  height: auto;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.3;
  letter-spacing: 0.02em;
}
@media (width <= 764px) {
  .home-intro-title {
    font-size: clamp(22px, 3.66vw, 28px);
  }
}
.home-intro-title__inner {
  display: block;
}
.home-intro-title__inner:has(span) {
  display: block;
  padding: 0.35em 0 0;
  line-height: 1;
  white-space: nowrap;
}
.home-intro-title__inner span {
  position: relative;
}
.home-intro-title__inner span::before {
  content: "";
  display: block;
  width: 0.15em;
  height: 0.15em;
  background: var(--common-accent-color);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.home-intro .home-section-text {
  gap: 2em 0;
  position: relative;
  z-index: 1;
}
.home-intro-list-wrap {
  width: 100%;
  overflow-x: auto;
}
.home-intro-list {
  display: grid;
  grid-template-columns: repeat(3, 350px);
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 20px;
  width: 100%;
}
@media (width <= 480px) {
  .home-intro-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.home-intro-list__item, .home-intro-list__link {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 32px;
  width: 100%;
  min-height: 450px;
}
@media (width <= 764px) {
  .home-intro-list__item, .home-intro-list__link {
    min-height: auto;
  }
}
@media (width <= 480px) {
  .home-intro-list__item, .home-intro-list__link {
    gap: 10px;
  }
}
.home-intro-list__item {
  border-radius: 10px;
  background: var(--common-bg-color);
  overflow: hidden;
}
.home-intro-list__item:has(.home-intro-list__link) {
  display: block;
}
.home-intro-list__img {
  display: block;
  width: 100%;
  height: auto;
  padding: 56.5% 0 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/home/img_about_1.png) center no-repeat;
  background-size: cover;
}
.home-intro-list__title {
  margin: 0 24px;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  /* 33.6px */
}
@media (width <= 764px) {
  .home-intro-list__title {
    font-size: 20px;
  }
}
.home-intro-list__title span {
  display: block;
  width: 96px;
  height: 96px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/home/icon_about_1.svg) center no-repeat;
  background-size: cover;
  position: absolute;
  top: -2.5em;
  right: 0;
}
@media (width <= 764px) {
  .home-intro-list__title span {
    width: 64px;
    height: 64px;
    top: -1.5em;
  }
}
.home-intro-list__text {
  margin: 0 24px 32px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  /* 22.4px */
}
.home-intro-banner {
  display: none;
  padding: 0 0 20px;
  margin: 48px 0 0;
}
.home-intro-banner > * {
  margin: 0 auto;
}
@media (width <= 764px) {
  .home-intro-banner {
    display: block;
  }
}
.home-intro-buttons {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.home-intro-buttons .wp-block-button br {
  display: none;
}
@media (width <= 764px) {
  .home-intro-buttons .wp-block-button {
    width: min(100%, 220px);
  }
  .home-intro-buttons .wp-block-button br {
    display: block;
  }
}

/*--------------------------------------
セクション差分

有名シェフのとっておきレシピ
----------------------------------------*/
.home-sprecipe-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (width <= 764px) {
  .home-sprecipe-list {
    grid-template-columns: repeat(1, 1fr);
    margin: 0 -20px 0 0;
  }
}
.home-sprecipe-list__item {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  padding: 24px 24px 48px;
  border-radius: 10px;
  background: #F7F2EC;
}
@media (width <= 764px) {
  .home-sprecipe-list__item {
    border-radius: 10px 0 0 10px;
  }
}
.home-sprecipe-list__category {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  width: 100%;
  margin: 0 0 16px;
}
.home-sprecipe-list__category > span {
  padding: 16px 0;
  border-top: 1px dashed;
  border-bottom: 1px dashed;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  /* 24px */
}
@media (width <= 764px) {
  .home-sprecipe-list__category > span {
    font-size: 20px;
  }
}
.home-sprecipe-list__category > img {
  display: block;
  width: clamp(80px, 10.37vw, 112px);
  height: clamp(80px, 10.37vw, 112px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media (width <= 764px) {
  .home-sprecipe-list__category > img {
    width: 100px;
    height: 100px;
  }
}
@media (764px < width) {
  .home-sprecipe-list__archive-list .archive-list-post {
    grid-template-columns: repeat(1, 1fr);
    gap: 16px;
  }
}
@media (764px < width) {
  .home-sprecipe-list__archive-list .archive-list-post__link {
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.home-sprecipe-list__buttons {
  /* .home-section-buttons */
  margin: 40px 0 0;
  justify-self: center;
}
@media (width <= 764px) {
  .home-sprecipe-list__buttons {
    margin: 32px 0 0;
  }
}

/*--------------------------------------
セクション差分

特集
最新記事
最新レシピ
----------------------------------------*/
.home-article-section {
  /* .home-section > */
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "sect-ttl sect-btn" "archive-list archive-list";
  grid-auto-rows: -webkit-min-content;
  grid-auto-rows: min-content;
  gap: 32px 0;
}
@media (width <= 764px) {
  .home-article-section {
    grid-template-areas: "sect-ttl sect-ttl" "archive-list archive-list" "sect-btn sect-btn";
  }
}
.home-article-section:has(.home-archive-description) {
  grid-template-areas: "sect-ttl sect-btn" "archive-description archive-description" "archive-list archive-list";
}
@media (width <= 764px) {
  .home-article-section:has(.home-archive-description) {
    grid-template-areas: "sect-ttl sect-ttl" "archive-description archive-description" "archive-list archive-list" "sect-btn sect-btn";
  }
}
.home-article-section:has(.home-archive-description):not(:has(.home-section-buttons)) {
  grid-template-areas: "sect-ttl -" "archive-description archive-description" "archive-list archive-list";
}
@media (width <= 764px) {
  .home-article-section:has(.home-archive-description):not(:has(.home-section-buttons)) {
    grid-template-areas: "sect-ttl sect-ttl" "archive-description archive-description" "archive-list archive-list";
  }
}
.home-article-section__title {
  /* .home-section-title */
  grid-area: sect-ttl;
}
.home-article-section__description {
  /* .home-archive-description */
  grid-area: archive-description;
}
.home-article-section__buttons {
  /* .home-section-buttons */
  grid-area: sect-btn;
  align-self: flex-end;
}
@media (width <= 764px) {
  .home-article-section__buttons {
    justify-self: center;
  }
}
@media (width <= 764px) {
  .home-article-section__buttons .wp-block-button {
    width: 150px;
  }
}
.home-article-section__list {
  /* > .archive-list-post */
  grid-area: archive-list;
}

/* -----------------------------------------------------------------------------------
ポップアップCSS
----------------------------------------------------------------------------------- */
/*--------------------------------------
【共通】基本設定
（jsでclass付与が前提）
----------------------------------------*/
/* ポップアップtrigger（最初から表示されている部分、ボタンに付与） */
.popup-trigger {
  /* .js-popup */
  display: none;
}
.popup-trigger.is_active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1;
  background: rgba(28, 29, 30, 0.95);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

/* 背景を統一 */
body:has(.popup-trigger.is_active) .header {
  position: static;
}
body:has(.popup-trigger.is_active) .main {
  z-index: 2;
}
body:has(.popup-trigger.is_active) .footer {
  z-index: 1;
}

/* ポップアップ外枠 */
.popup {
  display: grid;
  grid-template: "- popup-icon" 32px "popup-body popup-body" auto/1fr 32px;
  width: min(100% - 60px, 700px);
}
@media (width <= 480px) {
  .popup {
    width: min(100% - 40px, 700px);
  }
}
.popup__icon {
  grid-area: popup-icon;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.63em;
  width: 32px;
  height: 32px;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--common-sub-color);
  border-radius: 50%;
  border: 1px solid;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  color: var(--common-color);
  cursor: pointer;
  -webkit-transform: translate(50%, 50%);
          transform: translate(50%, 50%);
}
.popup__body {
  grid-area: popup-body;
  display: block;
  width: 100%;
  min-height: 188px;
  background: var(--common-sub-color);
  border-radius: 10px;
  color: var(--common-color);
}

/*--------------------------------------
【差分】検索ボタン
----------------------------------------*/
.popup-search {
  /* .popup__body */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px 0;
  width: 100%;
  min-height: auto;
  padding: 32px 32px 40px;
}
@media (width <= 764px) {
  .popup-search {
    gap: 12px 0;
    padding: 20px 15px 32px;
  }
}
@media (width <= 480px) {
  .popup-search {
    padding: 20px 10px 32px;
  }
}
.popup-search__title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1; /* 18px */
}
@media (width <= 764px) {
  .popup-search__title {
    font-size: 16px;
  }
}
.popup-search__input {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr 80px;
  width: min(100%, 636px);
  height: 80px;
  border-radius: 8px;
  border: 1px solid;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (width <= 764px) {
  .popup-search__input {
    grid-template-columns: 1fr 64px;
    height: 64px;
  }
}
.popup-search__input > * {
  border: none;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 0;
}
.popup-search__input input[type*=search] {
  height: 100%;
  padding: 0.5em;
  background: var(--common-sub-color);
  font-size: 16px;
  font-weight: 700;
}
@media (width <= 764px) {
  .popup-search__input input[type*=search] {
    font-size: 14px;
  }
}
.popup-search__input input[type*=submit],
.popup-search__input input[type*=button] {
  width: 100%;
  height: 100%;
  background: url(../img/common/icon_btn_search.svg) center no-repeat, var(--common-color);
  background-size: 50%;
}

/* -----------------------------------------------------------------------------------
余白調整　CSS
ブロックパーツのカスタムCSS 打ち消し
コアブロックのデフォルトCSS 打ち消し
----------------------------------------------------------------------------------- */
.mt-1,
.is-style-mt-1 {
  margin-top: 60px !important;
}
.mt-2,
.is-style-mt-2 {
  margin-top: 50px !important;
}
.mt-3,
.is-style-mt-3 {
  margin-top: 40px !important;
}
.mt-4,
.is-style-mt-4 {
  margin-top: 30px !important;
}
.mt-5,
.is-style-mt-5 {
  margin-top: 20px !important;
}
.mt-6,
.is-style-mt-6 {
  margin-top: 15px !important;
}
.mt-7,
.is-style-mt-7 {
  margin-top: 10px !important;
}

@media (width <= 764px) {
  .mt-sp-1,
  .is-style-mt-sp-1 {
    margin-top: 60px !important;
  }
  .mt-sp-2,
  .is-style-mt-sp-2 {
    margin-top: 50px !important;
  }
  .mt-sp-3,
  .is-style-mt-sp-3 {
    margin-top: 40px !important;
  }
  .mt-sp-4,
  .is-style-mt-sp-4 {
    margin-top: 30px !important;
  }
  .mt-sp-5,
  .is-style-mt-sp-5 {
    margin-top: 20px !important;
  }
  .mt-sp-6,
  .is-style-mt-sp-6 {
    margin-top: 15px !important;
  }
  .mt-sp-7,
  .is-style-mt-sp-7 {
    margin-top: 10px !important;
  }
}
.mb-1,
.is-style-mb-1 {
  margin-bottom: 60px !important;
}
.mb-2,
.is-style-mb-2 {
  margin-bottom: 50px !important;
}
.mb-3,
.is-style-mb-3 {
  margin-bottom: 40px !important;
}
.mb-4,
.is-style-mb-4 {
  margin-bottom: 30px !important;
}
.mb-5,
.is-style-mb-5 {
  margin-bottom: 20px !important;
}
.mb-6,
.is-style-mb-6 {
  margin-bottom: 15px !important;
}
.mb-7,
.is-style-mb-7 {
  margin-bottom: 10px !important;
}

@media (width <= 764px) {
  .mb-sp-1,
  .is-style-mb-sp-1 {
    margin-bottom: 60px !important;
  }
  .mb-sp-2,
  .is-style-mb-sp-2 {
    margin-bottom: 50px !important;
  }
  .mb-sp-3,
  .is-style-mb-sp-3 {
    margin-bottom: 40px !important;
  }
  .mb-sp-4,
  .is-style-mb-sp-4 {
    margin-bottom: 30px !important;
  }
  .mb-sp-5,
  .is-style-mb-sp-5 {
    margin-bottom: 20px !important;
  }
  .mb-sp-6,
  .is-style-mb-sp-6 {
    margin-bottom: 15px !important;
  }
  .mb-sp-6,
  .is-style-mb-sp-6 {
    margin-bottom: 10px !important;
  }
}
.gap-1,
.is-style-gap-1 {
  gap: 60px 0 !important;
}
.gap-2,
.is-style-gap-2 {
  gap: 50px 0 !important;
}
.gap-3,
.is-style-gap-3 {
  gap: 40px 0 !important;
}
.gap-4,
.is-style-gap-4 {
  gap: 30px 0 !important;
}
.gap-5,
.is-style-gap-5 {
  gap: 20px 0 !important;
}
.gap-6,
.is-style-gap-6 {
  gap: 15px 0 !important;
}
.gap-7,
.is-style-gap-7 {
  gap: 10px 0 !important;
}

@media (width <= 764px) {
  .gap-sp-1,
  .is-style-gap-sp-1 {
    gap: 60px 0 !important;
  }
  .gap-sp-2,
  .is-style-gap-sp-2 {
    gap: 50px 0 !important;
  }
  .gap-sp-3,
  .is-style-gap-sp-3 {
    gap: 40px 0 !important;
  }
  .gap-sp-4,
  .is-style-gap-sp-4 {
    gap: 30px 0 !important;
  }
  .gap-sp-5,
  .is-style-gap-sp-5 {
    gap: 20px 0 !important;
  }
  .gap-sp-6,
  .is-style-gap-sp-6 {
    gap: 15px 0 !important;
  }
  .gap-sp-7,
  .is-style-gap-sp-7 {
    gap: 10px 0 !important;
  }
}