@charset "UTF-8";
/*
    Template: swell
    Theme Name: ぐっすりなかじま
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: Nakajima
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* =========================
  1. CSS Variables (Tokens)
========================= */
:root {
  --nk-color_main: #6c7a00;
  --nk-color_main-dark: #414a03;
  --nk-color_main-soft: #f0fb9f;

  --nk-color_bg: #f6f2ed;
  --nk-color_bg-sub: #e8dcd1;
  --nk-color_bg-light: #ffffff;
  --nk-color_bg-inverse: #47392c;

  --nk-color_text: #47392c;
  --nk-color_text-inverse: #ffffff;

  --nk-color_alert-main: #c83b4b;
  --nk-color_alert-soft: #ffe3e5;
  --nk-color_alert-sub: #f09f4d;

  --nk-color_gray: #dddddd;
  --nk-color_gray-rgb: 221, 221, 221;
  --nk-color_gray-dark: #aaaaaa;
  --nk-color_line: #00B900;

  --nk-gradient_main: linear-gradient(0deg, #414a03 0%, #6c7a00 100%);

  --nk-font-base:
    "Inter", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP",
    sans-serif;
  --nk-font-Mrounded: "M PLUS Rounded 1c", sans-serif;

  --nk-fz--xs: 0.75rem;
  --nk-fz--small: 0.875rem;
  --nk-fz--normal: 1rem;
  --nk-fz--medium: 1.125rem;
  --nk-fz--large: 1.25rem;
  --nk-fz--huge: 1.625rem;

  --nk-fw--normal: 400;
  --nk-fw--medium: 500;
  --nk-fw--bold: 700;

  --nk-header-height: 92px;
}

/* =========================
  2. Base / Reset
========================= */
html {
  font-size: 15px;
}
@media (min-width: 960px) {
  html {
    font-size: 16px;
  }
}

/* =========================
  3. Base Elements
========================= */
body {
  font-family: var(--nk-font-base);
  font-weight: var(--nk-fw--medium);
}
.l-content#content {
  padding-top: 0;
}
.nk-main-bg {
  background-color: var(--nk-color_bg-light);
  margin-top: 36px;
  border-radius: 20px;
  padding: 40px 15px 10px;
}
@media (min-width: 960px) {
  .nk-main-bg {
    margin-top: 40px;
    padding-top: 60px;
  }
}

/* h2 margin-topデフォルト4emを2emに */
.post_content h2 {
  font-size: 1.2em;
  line-height: 1.4;
  margin: 3em 0 1.25em;
  padding-left: 0;
  position: relative;
  z-index: 1;
}
/* サブタイトルを非表示に */
.c-pageTitle__subTitle {
  display: none;
}
/* アコーディオンの背景 */
summary.swell-block-accordion__title {
  background-color: var(--nk-color_main-dark);
  color: var(--nk-color_text-inverse);
  border-radius: 8px 8px 0 0;
}
.swell-block-accordion__body {
  border: 2px solid var(--nk-color_gray-dark);
  border-radius: 0 0 8px 8px;
}
/* reCAPTCHAバッジを非表示に */
.grecaptcha-badge {
  visibility: hidden;
}


/* =========================
  4. Components
========================= */

/* =========================
  5. Layout
========================= */
/* Header */
.nk-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}
.nk-header__main {
  background-color: var(--nk-color_bg);
  height: 56px;

  position: relative;
  z-index: 3;
}
.nk-header__inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.nk-header__logo {
  padding: 12px 10px 0;
}
@media (min-width: 400px) {
  .nk-header__logo {
    padding: 12px 24px 0;
}
}
.nk-header.nk-is-scrolled::after {
  content: "";
  background-color: var(--nk-color_bg);
  position: absolute;
  top: 0px;
  left: -20px;
  width: 330px;
  height: 86px;
  border-radius: 0 0 50px 0;
  z-index: 2;
  opacity: 0;
}
.nk-header__logo img {
  height: 36px;
  width: auto;
}
.nk-header__nav {
  height: 56px;
  display: flex;
  border-bottom: 1px solid var(--nk-color_bg-light);
}
.nk-header__icon {
  width: 30px;
  height: 30px;
}
.nk-header__reservation,
.nk-header__access {
  width: 56px;
  display: flex;
  gap: 2px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--xs);
  font-weight: var(--nk-fw--bold);
}
.nk-header__reservation {
  background-color: var(--nk-color_alert-main);
  border-right: 1px solid var(--nk-color_text-inverse);
}
.nk-header__access {
  background: var(--nk-gradient_main);
}
.nk-header__menu {
  width: 56px;
  background-color: var(--nk-color_bg-light);
  color: var(--nk-color_text);
  display: flex;
  gap: 2px;
  padding-top: 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
/* ハンバーガーメニュー（三本線MENU） */
button.nk-hamburger {
  border: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
button.nk-hamburger span {
  width: 32px;
  height: 2px;
  background: var(--nk-color_main);
  display: block;
  border-radius: 999px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.nk-hamburger__label::before {
  font-size: var(--nk-fz--xs);
  font-weight: var(--nk-fw--medium);
  content: "MENU";
}
/* ハンバーガーメニュー（バツCLOSE） */
button.nk-hamburger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
button.nk-hamburger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
button.nk-hamburger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}
button.nk-hamburger[aria-expanded="true"] ~ .nk-hamburger__label::before {
  content: "CLOSE";
}
/* SPドロワーメニュー内部 */
.nk-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 90%;
  height: 100dvh;
  background-color: var(--nk-color_bg);
  background-image: url(assets/img/bg-fabric.png);
  background-repeat: repeat;
  transition: right 0.3s ease;
  overflow-y: auto;
  z-index: 9998;
}
.nk-drawer.nk-drawer-open {
  right: 0;
}
.nk-body-locked {
  overflow: hidden;
}
.nk-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 9997;
}
.nk-overlay.nk-overlay-active {
  opacity: 1;
  visibility: visible;
}
/* SPドロワーヘッダー */
.nk-drawer__header {
  padding: 0 12px;
}
a.nk-drawer__logo {
  height: 56px;
  display: block;
}
a.nk-drawer__logo img {
  padding: 8px 4px;
  height: 100%;
  width: auto;
}
.nk-drawer__banners {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}
.nk-drawer__reservation,
.nk-drawer__access {
  flex:1;
  display: flex;
  gap: 4px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 6px 0;
  border-radius: 5px;
}
.nk-drawer__reservation {
  background-color: var(--nk-color_alert-main);
}
.nk-drawer__access {
  background: var(--nk-gradient_main);
}
.nk-drawer__reservation p,
.nk-drawer__access p {
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--xs);
  font-weight: var(--nk-fw--bold);
}
/* SPドロワーフッター */
.nk-drawer__footer {
  padding: 0 12px;
  margin: 18px 0 20px;
}
.nk-drawer__sns {
  display: flex;
  gap: 8px;
  flex-direction: row;
}
.nk-drawer__sns a {
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
}
.nk-drawer__sns p {
  color: var(--nk-color_text);
  font-size: var(--nk-fz--xs);
  line-height: 1.3em;
}
.nk-drawer__footer .nk-drawer__banners {
  display: block;
}
.nk-drawer__line,
.nk-drawer__contact {
  display: flex;
  gap: 8px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 6px 0;
  border-radius: 5px;
}
.nk-drawer__line {
  background-color: var(--nk-color_line);
  margin-bottom: 8px;
}
.nk-drawer__contact {
  background: var(--nk-color_bg-inverse);
}
.nk-drawer__line p,
.nk-drawer__contact p {
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--medium);
}
/* SPドロワーメニュー内部メイン */
nav.nk-drawer__nav {
  padding: 0 12px;
  margin-top: 12px;
}
ul.nk-drawer__list > li {
  position: relative;
  background-color: var(--nk-color_bg-light);
  margin: 8px 0;
  border-radius: 5px;
}
ul.nk-drawer__list li > a {
  color:var(--nk-color_text);
  font-weight: var(--nk-fw--bold);
  display: block;
  width: 100%;
  padding: 8px 24px;
}
ul.nk-drawer__list li.menu-item-has-children > a::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(assets/img/icon_plus.svg) no-repeat center /
    contain;
  position: absolute;
  right: 10px;
  top: 10px;
}
ul.nk-drawer__list .menu-item-has-children.nk-is-open > a::after {
    background: url(assets/img/icon_minus.svg) no-repeat center /
    contain;
}
ul.nk-drawer__list ul.sub-menu {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
  overflow: hidden;
}
.nk-drawer__list .sub-menu > .nk-submenu-inner {
  min-height: 0;
}
ul.nk-drawer__list ul.sub-menu {
  border-radius: 0 0 5px 5px;
}
ul.nk-drawer__list ul.sub-menu li {
  background-color: var(--nk-color_bg);
  padding: 6px 0;
  border-top: 1px solid var(--nk-color_bg-sub);
}
.nk-drawer__list .menu-item-has-children.nk-is-open > .sub-menu {
  grid-template-rows: 1fr;
}
ul.nk-drawer__list li.menu-item-has-children.nk-is-open > ul.sub-menu {
  display: grid;
}
ul.nk-drawer__list ul.sub-menu li.nk-menu-dummy,
li.nk-smallmenu {
  border: none !important;
}
ul.nk-drawer__list li.nk-menu-dummy > a::after {
  display: none;  /* 3層目のトグルは非表示 */
}
.nk-drawer .nk-submenu-inner ul.sub-menu {
  display: grid;
  grid-template-rows: 0fr; /* 3層目を閉じた状態に */
}
.nk-drawer__list .menu-item-has-children.nk-is-open .nk-menu-dummy > .sub-menu {
  grid-template-rows: 1fr; /* 2層目が開いたら3層目も開く */
}
.nk-drawer .nk-submenu-inner ul.sub-menu > .nk-submenu-inner {
  min-height: 0;
}
.nk-drawer .nk-submenu-inner > .nk-menu-dummy > a,
.nk-pcNav__list .nk-submenu-inner > .nk-menu-dummy > a {
  display: none !important; /* 2層目のダミーは非表示 */
}
.nk-drawer .nk-submenu-inner--depth3 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  border-top: 1px solid var(--nk-color_bg-sub);
}
.nk-drawer .nk-submenu-inner--depth3 .nk-smallmenu {
  font-size: var(--nk-fz--xs);
  position: relative;
  padding-bottom: 0px;
}
.nk-drawer .nk-submenu-inner--depth3 .nk-smallmenu a {
  padding-left: 30px;
}
.nk-drawer .nk-submenu-inner--depth3 .nk-smallmenu a::before,
.nk-pcNav__list .nk-submenu-inner--depth3 .nk-smallmenu a::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--nk-color_main);
  position: absolute;
  left: 16px;
  top: 50%;
}

@media (min-width: 600px) {
  .nk-drawer__reservation,
  .nk-drawer__access {
    flex-direction: row;
    gap: 10px;
  }
  .nk-drawer__reservation p,
  .nk-drawer__access p {
  font-size: var(--nk-fz--normal);
}
}
/* SPドロワーメニュー内部サブ */
.nk-drawer__list-sub {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 8px;
}
.nk-drawer__list-sub li a {
  display: block;
  width: 100%;
  padding: 5px 12px;
  font-size: var(--nk-fz--small);
  border-bottom: 1px dashed var(--nk-color_bg-sub);
  color:var(--nk-color_main-dark);
}
/* ヘッダーサブメニュー */
.nk-header__sub {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--nk-color_bg-sub);
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--bold);
  height: 32px;

  position: relative;
  z-index: 1;
}
@media (max-width: 340px) {
  .nk-header__sub {
    font-size: var(--nk-fz--xs);
  }
}
.nk-header__sub span {
  color: var(--nk-color_main);
}

/* PCグローバルナビ */
nav.nk-header__pcNav {
  width: 100%;
  height: 50px;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 24px;
  padding-left: 36px;
  padding-right: 30px;
}
ul.nk-pcNav__list {
  position: relative;
  display: flex;
  align-items: center;
  gap: 30px;
  height: 100%;
}
.nk-pcNav__list > li.menu-item {
  height: 100%;
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--bold);
}
.nk-pcNav__list > li.menu-item > a {
  color:var(--nk-color_text);
}
.nk-pcNav__list > li.menu-item:last-child > a::before {
  content: "ふとんを"; /* 最後のメニューだけ「ふとんを」の小さいテキストを追加 */
  display: inline;
  font-size: var(--nk-fz--small);
}
.nk-pcNav__list > li.menu-item > a {
  pointer-events: none;
  cursor: default;
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.nk-pcNav__list > li.menu-item > a::after {
  content: "";
  display: block;
  width: 48px;
  height: 8px;
  border-radius: 8px 8px 0 0;
  background-color: var(--nk-color_main);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  transition: all 0.2s ease;
}
.nk-pcNav__list > li.menu-item:hover > a {
  color: var(--nk-color_main);
}
.nk-pcNav__list > li.menu-item:hover > a::after {
  transform: translateX(-50%) translateY(0);
}
.nk-pcNav__list > li > .sub-menu {
  display: none;
  position: absolute;
  width: 680px;
  top: calc(25px + 50%);
  left: 0;
  background-color: var(--nk-color_bg-light);
  border-radius: 0 0 12px 12px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
  padding: 24px 48px 28px;
  transition: all 0.2s ease;
}
.nk-pcNav__list .sub-menu  li >  a {
  color:var(--nk-color_text);
}
.nk-pcNav__list > li:hover .sub-menu {
  display: block; /*ホバーでサブメニュー表示*/
}
.nk-pcNav__list > li:hover > .sub-menu > .nk-submenu-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nk-pcNav__list > li:not(:last-child):hover  .nk-submenu-inner:not(.nk-submenu-inner--depth3) > li:first-child,
.nk-pcNav__list .nk-menu-dummy {
  grid-column: 1 / -1; /*サブメニューの中は1つ目だけ全幅にする。ただし最後のメニューを除く*/
}
.nk-pcNav__list > li:hover  .nk-submenu-inner li.menu-item:not(.nk-menu-dummy) {
  border-bottom: 1px solid var(--nk-color_bg-sub);
}
.nk-pcNav__list > li:hover .nk-submenu-inner.nk-submenu-inner:not(.nk-submenu-inner--depth3) > li > a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px 36px 10px 12px;
  border-radius: 6px 6px 0 0;
  text-decoration: none;
  position: relative;
}
.nk-pcNav__list > li:hover  .nk-submenu-inner li > a:hover {
  background-color: var(--nk-color_bg);
}
.nk-pcNav__list > li:hover  .nk-submenu-inner:not(.nk-submenu-inner--depth3)  > li > a::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url(assets/img/icon_arrow_down_circle.svg) no-repeat center /
    contain;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}
.nk-pcNav__list .sub-menu .nk-submenu-inner .sub-menu {
  background: none;
  box-shadow: none;
}
.nk-pcNav__list .nk-submenu-inner--depth3 {
  display:grid;
  grid-template-columns: 1fr 1fr;
}
.nk-pcNav__list .nk-submenu-inner--depth3 .nk-smallmenu {
  font-size: var(--nk-fz--small);
  position: relative;
}
.nk-pcNav__list .nk-submenu-inner--depth3 .nk-smallmenu a {
  display: block; 
  padding: 10px 24px;
  color: var(--nk-color_main-dark);
  width: 100%;
}
.nk-pcNav__list .nk-submenu-inner--depth3 .nk-smallmenu a::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--nk-color_main);
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}
/* PCグローバルナビ右側　イベント・取り扱い一覧 */
.nk-pcNav-sub {
  display: flex;
  gap: 20px;
}
ul.nk-pcNav-sub__list {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
}
.nk-pcNav-sub__list > li {
  height: 100%;
}
.nk-pcNav-sub__list > li > a {
  display: flex;
  align-items: center;
  height: 100%;
  text-decoration: none;
  font-family: var(--nk-font-Mrounded);
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--normal);
  color: var(--nk-color_main);
  transition: all 0.2s ease;
}
.nk-pcNav-sub__list > li > a:hover {
  color: var(--nk-color_text);
}
/* PCグローバルナビ右側　ENGLISH・お問い合わせ */
ul.nk-pcNav-mini__list {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.nk-pcNav-mini__list > li {
  position: relative;
}
.nk-pcNav-mini__list > li > a {
  display: block;
  width: 94px;
  background-color: var(--nk-color_bg-light);
  border-radius: 999px;
  font-size: var(--nk-fz--xs);
  line-height: 1em;
  letter-spacing: 0;
  padding: 3px 8px 3px 24px;
  text-align: center;
}
.nk-pcNav-mini__list > li > a.nk-pcNav-mini__en::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url(assets/img/icon_language.svg) no-repeat center / contain;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}
.nk-pcNav-mini__list > li > a.nk-pcNav-mini__contact::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url(assets/img/icon_mail.svg) no-repeat center / contain;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* Header SP/PC切り替え */
.nk-header__pc {
  display: none;
}
@media (min-width: 1200px) {
  .nk-header__sp {
    display: none;
  }
  .nk-header__pc {
    display: block;
  }
  nav.nk-header__pcNav {
    display: flex;
  }
  .nk-header__main {
    height: 80px;
  }
  .nk-header__logo img {
    height: 50px;
    width: auto;
  }
  .nk-header__nav {
    height: 80px;
  }
  .nk-header__icon {
    width: 40px;
    height: 40px;
  }
  .nk-header__reservation,
  .nk-header__access {
    width: 80px;
    font-size: var(--nk-fz--small);
  }
  .nk-header__reservation {
    border-radius: 12px 0 0 0;
  }
  .nk-header__mainRight {
    display: flex;
    flex-direction: row;
    gap: 24px;
    height: 100%;
  }
  .nk-header__stores {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }
  .nk-header__store {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
  }
  .nk-header__storeName {
    width: 120px;
    font-size: var(--nk-fz--large);
    font-weight: var(--nk-fw--bold);
    color:var(--nk-color_text);
    letter-spacing: 0;
    line-height: 1em;
  }
  .nk-header__storeName:hover {
    color: var(--nk-color_main);
  }
  .nk-header__storeTel {
    width: 192px;
    font-size: var(--nk-fz--huge);
    font-weight: var(--nk-fw--bold);
    letter-spacing: 0;
    line-height: 1em;
  }
  .nk-header__storeDes {
    font-size: var(--nk-fz--xs);
    font-weight: var(--nk-fw--normal);
    line-height: 1.2em;
  }
  .nk-header__sub {
    height: 50px;
  }

  /* Header 幅1200px以上でPCスクロールしたとき縮小 */
  .nk-header.nk-is-scrolled .nk-header__main {
    height: 36px;
  }
  .nk-header.nk-is-scrolled::after {
    opacity: 1;
  }
  .nk-header.nk-is-scrolled .nk-header__nav {
    height: 36px;
  }
  .nk-header.nk-is-scrolled .nk-header__stores {
    flex-direction: row;
    gap: 16px;
  }
  .nk-header.nk-is-scrolled .nk-header__storeName {
    font-size: var(--nk-fz--medium);
    width: auto;
  }
  .nk-header.nk-is-scrolled .nk-header__storeTel {
    font-size: var(--nk-fz--large);
    width: auto;
  }
  .nk-header.nk-is-scrolled .nk-header__storeDes {
    display: none;
  }
  .nk-header.nk-is-scrolled .nk-header__reservation,
  .nk-header.nk-is-scrolled .nk-header__access {
    width: 150px;
    flex-direction: row;
    gap: 8px;
  }
  .nk-header.nk-is-scrolled .nk-header__icon {
    width: 20px;
    height: 20px;
  }
}

@media (min-width: 1440px) {
  /* Header 幅1440px以上でENGLISHと問合せボタンを表示 */
  ul.nk-pcNav-mini__list {
    display: flex;
  }
}

/* MV */
#nk-mv {
  position: relative;
  width: 100%;
  margin-bottom: 0;
}
/* MV Swiper */
.nk-mv-swiper.swiper {
  position: relative;
  width: min(1200px, calc( 100% + 8vw));
  left: -4vw;
  overflow: hidden;
}
.nk-mv__inner {
  height: 50vh;
  background-size: cover;
  background-position: center;
}
/* MV キャッチコピー */
.nk-mv__message {
  color: var(--nk-color_text);
  font-family: var(--nk-font-Mrounded);
  font-size: clamp(1.2rem, 3vw, 2rem);
  font-weight: var(--nk-fw--normal);
  padding-top: 30vh;
  padding-left: 20px;
  text-shadow:
    2px 2px 2px var(--nk-color_text-inverse),
    -2px -2px 2px var(--nk-color_text-inverse),
    -2px 2px 2px var(--nk-color_text-inverse),
    2px -2px 2px var(--nk-color_text-inverse),
    2px 0 2px var(--nk-color_text-inverse),
    -2px 0 2px var(--nk-color_text-inverse),
    0 2px 2px var(--nk-color_text-inverse),
    0 -2px 4px var(--nk-color_text-inverse);
}
/* MV Swiper ページネーション */
.nk-mv-swiper .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
  position: absolute;
  right: 16px;
  bottom: 16px;
  left: auto;
  width: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 10;
}
.nk-mv-swiper .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border: 1px solid var(--nk-color_bg-inverse);
  border-radius: 4px;
  background: var(--nk-color_bg);
  opacity: 0.45;
  position: relative;
  overflow: hidden;
  transition: height 0.3s ease, border-radius 0.3s ease, opacity 0.3s ease;
  margin: 0 !important; /* Swiperデフォルトのmarginを上書き */
}
.nk-mv-swiper .swiper-pagination-bullet-active {
  height: 32px;
  opacity: 1;
}
.nk-mv-swiper .swiper-pagination-bullet-active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  border: 1px solid var(--nk-color_bg-inverse);
  background: var(--nk-color_bg-inverse);
  border-radius: 4px;
  animation: nk-bullet-fill 5s linear forwards;
}
@keyframes nk-bullet-fill {
  from { height: 0%; }
  to   { height: 100%; }
}
/* MV チラシリンクボタン */
.nk-mv__flyer {
  position: absolute;
  top: 30%;
  transform: translateY(-50%);
  left: -1px;
  z-index: 10;
}
.nk-mv__flyer a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  background-color: var(--nk-color_bg-inverse);
  background-repeat: repeat;
  border: 1px solid var(--nk-color_text-inverse);
  padding: 12px 8px;
  border-radius: 0px 8px 8px 0px;
}
.nk-mv__flyer-text {
  writing-mode: vertical-rl;
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--bold);
  text-decoration: none;
}
/* MV CTA */
.nk-cta {
  position: relative;
  background: var(--nk-gradient_main);
  text-align: center;
  padding-bottom: 30px;
  width: calc(100% + 8vw);
  left: -4vw;
}
.nk-cta__heading {
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--bold);
  padding: 1rem 0;
}
.nk-cta__heading span {
  color: var(--nk-color_main-soft);
  font-size: var(--nk-fz--small);
}
.nk-cta__btns {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
}
a.nk-cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 75vw;
  padding: 8px 0;
  border-radius: 999px;
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--bold);
  text-decoration: none;
  transition: all 0.1s ease;
}
a.nk-cta__btn:active {
  transform: scale(0.97);
}
.nk-btn__inverse {
  background-color: var(--nk-color_bg-light);
  color: var(--nk-color_main);
}
.nk-btn__inverse:hover {
  background-color: var(--nk-color_main-soft);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}
.nk-btn__fill {
  background-color: var(--nk-color_main);
  color: var(--nk-color_text-inverse);
  border: 1px solid var(--nk-color_text-inverse);
}
.nk-btn__fill:hover {
  filter: brightness(1.1);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}
.nk-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nk-btn__icon img {
  width: 28px;
  height: 28px;
}
.nk-cta__text {
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--small);
  margin-top: 0.5rem;
}
.nk-brand {
  width: 75vw;
  background-color: var(--nk-color_text-inverse);
  margin: 18px auto;
  padding: 16px 0;
  border-radius: 8px;
}
ul.nk-brand__list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  list-style: none;
  padding-left: 0;
}
.nk-brand__nishikawa {
  width: 140px;
  height: auto;
}
.nk-brand__paramount {
  width: 170px;
  height: auto;
}
.nk-brand p {
  font-size: var(--nk-fz--small);
  line-height: 1.5em;
  padding-top: 8px;
}
@media (max-width: 340px) {
  .nk-brand p {
    font-size: var(--nk-fz--xs);
  }
}
@media (min-width: 600px) {
  .nk-mv__message {
    padding-left: 30px;
  }
  .nk-cta__btns {
    flex-direction: row;
  }
  a.nk-cta__btn {
    width: 36vw;
  }
  ul.nk-brand__list {
    flex-direction: row;
    gap: 24px;
  }
}
@media (min-width: 960px) {
  .nk-mv-swiper.swiper {
    left: 50%;
    transform: translateX(-50%);
  }
  .nk-mv__flyer {
    left: calc(4vw - 1px);  
  }
  .nk-mv__flyer-text {
    font-size: var(--nk-fz--normal);
  }
  .nk-mv__message {
    padding-left: max(calc(630px - 50vw), 30px);
  }
  .nk-cta {
    position: absolute;
    width: 384px;
    border-radius: 8px;
    left: unset;
    right: max(calc(486px - 50vw), -200px);
    bottom: -48px;
    padding: 0 48px 30px;
    z-index: 100;
  }
  .nk-cta__btns {
    flex-direction: column;
  }
  a.nk-cta__btn {
    width: 248px;
  }
  .nk-brand {
    position: absolute;
    width: 384px;
    left: 0;
    top: 260px;
  }
  ul.nk-brand__list {
    flex-direction: column;
    gap: 8px;
  }
}
@media (min-width: 1200px) {
  .nk-mv-swiper .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    right: 16px;
  }
  .nk-mv__flyer {
    left: -1px;  
  }
}

/* Footer */
footer.nk-footer {
  background-color: var(--nk-color_bg-inverse);
  padding: 40px 0;
  color: var(--nk-color_text-inverse);
}
.nk-footer .nk-footer__inner {
  max-width: 600px;
  margin: 0 auto;
  padding-left: 4vw;
  padding-right: 4vw;
}
.nk-footer .nk-footer__content {
  margin-bottom: 36px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
}
.nk-footer .nk-footer__logoArea {
  width: 100%;
}
.nk-footer .nk-footer__logo {
  width: 65%;
  margin: 0 auto 24px;
}
.nk-footer .nk-footer__logo img {
  width: 100%;
  height: auto;
}
.nk-footer .nk-footer__banners {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}
.nk-footer .nk-footer__banner {
  width: 100%;
  height: auto;
}
.nk-footer ul.nk-footer-nav__list {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.nk-footer ul.nk-footer-nav__list li {
  position: relative;
  font-size: var(--nk-fz--small);
  line-height: 1em;
}
.nk-footer ul.nk-footer-nav__list li::after {
  content: "";
  width: 1px;
  height: 1em;
  background-color: var(--nk-color_text-inverse);
  position: absolute;
  right: -9px;
}
.nk-footer .nk-footer__stores {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.nk-footer .nk-footer__store {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 40px;
  gap: 12px;
}
.nk-footer .nk-footer__storeName {
  font-size: var(--nk-fz--large);
  font-weight: var(--nk-fw--bold);
}
.nk-footer .nk-footer__storeName:hover {
  color: var(--nk-color_main-soft);
}
.nk-footer .nk-footer__storeAddress {
  font-size: var(--nk-fz--xs);
}
.nk-footer .nk-footer__storePhone {
  font-size: var(--nk-fz--huge);
  font-weight: var(--nk-fw--bold);
  line-height: 1.2em;
}
.nk-footer .nk-footer__storeHours {
  font-size: var(--nk-fz--small);
}
.nk-footer .nk-footer__storePhone span {
  font-size: var(--nk-fz--medium);
}
.nk-footer .nk-footer__copy {
  font-size: var(--nk-fz--xs);
  color: var(--nk-color_gray);
  text-align: center;
}
@media (min-width: 1024px) {
  .nk-footer .nk-footer__content {
    grid-template-columns: 4fr 3fr;
  }
  .nk-footer .nk-footer__inner {
    max-width: 860px;
    padding: 0;
  }
}

/* =========================
  6-2. page,partsの変更・追加スタイル
========================= */
/* 固定ページ用目次（ウィジェットで設定）*/
.nk-page-layout .l-mainContent__inner > .post_content .p-toc,
.nk-single .l-mainContent__inner > .post_content .p-toc {
  display: none; /*独自レイアウトのページは、post-content配下の目次=デフォルトの目次を非表示に */
}
#main_content .nk-widget-toc .p-toc {
  margin: 0;
  width: 100%;
}
.nk-widget-toc .nk-widget-toc__title {
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_main);
  text-align: center;
  margin-bottom: 10px;
}
.nk-widget-toc .p-toc {
  margin: 0 auto 36px;
}
.nk-widget-toc .p-toc .p-toc__ttl {
  display: none !important;
}
.nk-widget-toc .p-toc.-simple {
  border: none;
  background: none;
  padding: 0;
}
.nk-widget-toc .p-toc ul.p-toc__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 0;
  margin: 0;
}
.nk-widget-toc .p-toc ul.p-toc__list > li {
  position: relative;
  background-color: var(--nk-color_bg-light);
  border: 1px solid var(--nk-color_text);
  border-radius: 6px;
  margin: 0;
  padding: 0;
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--medium);
  line-height: 1.4em;
}
.nk-widget-toc .p-toc ul.p-toc__list > li::before {
  content: none;
}
.nk-widget-toc .p-toc ul.p-toc__list > li > a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px 36px 10px 12px;
  text-decoration: none;
}
.nk-widget-toc .p-toc ul.p-toc__list > li > a::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(assets/img/icon_arrow_down_circle.svg) no-repeat center /
    contain;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 960px) {
  .nk-column .nk-widget-toc .p-toc ul.p-toc__list {
    grid-template-columns: 1fr 1fr;
  }
}


/* page-layout-default なかじまデフォルトページ*/
main.nk-page-default .nk-page__titleArea figure {
  display: none;
}

/* page-sticky-sidebar 追尾サイドバー付ページ*/
main.nk-page-sticky-sidebar,
main.nk-page-default,
main.nk-archive-column,
main.nk-archive-event,
main.nk-archive-flyer {
  margin-top: 24px;
}
.nk-page-sticky-sidebar .nk-page__titleArea,
.nk-page-default .nk-page__titleArea,
.nk-archive-event .nk-page__titleArea,
.nk-archive-flyer .nk-page__titleArea,
.nk-archive-column .nk-page__titleArea {
  background-color: var(--nk-color_bg-light);
  width: 100%;
  padding: 30px 16px 26px 0px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.nk-page-sticky-sidebar h1.c-pageTitle,
.nk-page-default h1.c-pageTitle,
.nk-archive-event h1.c-pageTitle,
.nk-archive-flyer h1.c-pageTitle,
.nk-archive-column h1.c-pageTitle {
  position: relative;
  font-family: var(--nk-font-Mrounded);
  font-weight: var(--nk-fw--normal);
  font-size: var(--nk-fz--huge);
  display: inline-block;
  padding-left: 20px;
  border: none;
}
.nk-page-sticky-sidebar h1.c-pageTitle .c-pageTitle__inner,
.nk-page-default h1.c-pageTitle .c-pageTitle__inner,
.nk-archive-event h1.c-pageTitle .c-pageTitle__inner,
.nk-archive-flyer h1.c-pageTitle .c-pageTitle__inner,
.nk-archive-column h1.c-pageTitle .c-pageTitle__inner {
  padding-top: 0;
  border: none;
}
.nk-page-sticky-sidebar h1.c-pageTitle::before,
.nk-page-default h1.c-pageTitle::before,
.nk-archive-event h1.c-pageTitle::before,
.nk-archive-flyer h1.c-pageTitle::before,
.nk-archive-column h1.c-pageTitle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 8px;
  height: 16px;
  background: var(--nk-color_main);
  border-radius: 0 16px 16px 0;
}
.nk-page-sticky-sidebar .nk-page__subtitle,
.nk-page-default .nk-page__subtitle,
.nk-archive-event .nk-page__subtitle,
.nk-archive-flyer .nk-page__subtitle,
.nk-archive-column .nk-page__subtitle {
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--bold);
  letter-spacing: 0.1em;
  color: var(--nk-color_main);
}
.nk-page-sticky-sidebar .l-mainContent__inner {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "sidebar"
    "main";
  gap: 48px;
  padding: 0;
}
.nk-page-sticky-sidebar aside.nk-layout__sidebar {
  grid-area: sidebar;
}
.nk-page-sticky-sidebar .l-mainContent__inner > .post_content {
  grid-area: main;
  margin: 0;
  min-width: 0;
}
.nk-page-sticky-sidebar .nk-widget-toc .nk-widget-toc__title {
  display: none;
}
@media (min-width: 600px) {
  .nk-page-sticky-sidebar .nk-widget-toc .p-toc ul.p-toc__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .nk-page-sticky-sidebar .nk-page__titleArea,
  .nk-page-default .nk-page__titleArea {
    margin-bottom:48px;
  }

  main.nk-page-sticky-sidebar,
  main.nk-archive-event,
  main.nk-archive-flyer,
  main.nk-archive-column {
    margin-top: 36px;
  }
  .nk-page-sticky-sidebar .l-mainContent__inner {
    grid-template-columns: 1fr 240px;
    grid-template-areas: "main sidebar";
    gap: 30px;
  }
  .nk-page-sticky-sidebar aside.nk-layout__sidebar {
    position: sticky;
    align-self: start;
    top: 180px;
  }
  .nk-page-sticky-sidebar .nk-widget-toc .nk-widget-toc__title {
    display: block;
  }
  .nk-page-sticky-sidebar .nk-widget-toc .p-toc ul.p-toc__list {
    grid-template-columns: 1fr;
  }
}

/* page-hero-split ヒーロー左右分割ページ*/
main.nk-page-hero-split {
  margin-top: 24px;
}
.nk-page-hero-split .nk-pageHead {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-bottom: 48px;
  align-items: center;
}
.nk-page-hero-split h1.c-pageTitle {
  border: none;
}
.nk-page-hero-split h1.c-pageTitle .c-pageTitle__inner {
  padding-bottom: 16px;
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_main);
  text-align: center;
  border: none;
  float: none;
}
.nk-page-hero-split .nk-page__subtitle {
  margin-bottom: 8px;
}
.nk-page-hero-split figure.p-articleThumb img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
@media (min-width: 600px) {
  .nk-page-hero-split .nk-pageHead {
    grid-template-columns: 3fr 2fr;
  }
  .nk-page-hero-split .nk-toc {
    margin-top: 36px;
  }
  #main_content.nk-page-hero-split .nk-widget-toc .p-toc {
    margin: 0 auto;
    width: 90%;
  }
}
@media (min-width: 1024px) {
  main.nk-page-hero-split {
    margin-top: 36px;
  }
}

/* page-hero-overlay ヒーローオーバーレイページ*/
main.nk-page-hero-overlay {
  margin-top: 24px;
}
.nk-page-hero-overlay h1.c-pageTitle {
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_main);
  text-align: center;
  border: none;
}
.nk-page-hero-overlay h1.c-pageTitle .c-pageTitle__inner {
  border: none;
  float: none;
}
.nk-page-hero-overlay .nk-pageHead {
  position: relative;
}
.nk-page-hero-overlay figure.p-articleThumb {
  position: absolute;
  top: 110px;
  left: 0;
  z-index: -2;
}
.nk-page-hero-overlay .nk-widget-toc {
  margin-top: 63vw;
}
.nk-page-hero-overlay .nk-widget-toc .nk-widget-toc__title {
  display: none;
}
.nk-page-hero-overlay .l-mainContent__inner {
  margin-top: 40px;
}
@media (min-width: 600px) {
  .nk-page-hero-overlay .nk-widget-toc {
    margin-top: 60vw;
  }
  .nk-page-hero-overlay .nk-widget-toc .p-toc ul.p-toc__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .nk-page-hero-overlay .l-mainContent__inner {
    margin-top: 60px;
  }
}

@media (min-width: 960px) {
  main.nk-page-hero-overlay {
    margin-top: 36px;
  }
  .nk-page-hero-overlay .nk-pageHead {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    height: 483.75px;
  }
  .nk-page-hero-overlay .nk-pageHead::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: var(--nk-color_bg-light);
    opacity: 0.7;
    z-index: -1;
  }
  .nk-page-hero-overlay figure.p-articleThumb {
    top: 0;
  }
  .nk-page-hero-overlay .nk-widget-toc {
    margin-top: 24px;
  }
  #main_content.nk-page-hero-overlay .nk-widget-toc .p-toc {
    margin: 0 auto;
    width: 90%;
  }
  .nk-page-hero-overlay .nk-widget-toc .p-toc ul.p-toc__list {
    grid-template-columns: 1fr;
  }
}

/* post-list 投稿リスト*/
ul.p-postList.is-style-nk-postlist-event,
ul.p-postList.is-style-nk-postlist-flyer {
  animation: slideFade 0.3s ease;
  margin-bottom: 24px;
  display: grid;
  grid-template-columns: 1fr;
}
@keyframes slideFade {
  from {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}
.is-style-nk-postlist-event .p-postList__item:first-child,
.is-style-nk-postlist-flyer .p-postList__item:first-child {
  border-top: 1px solid var(--nk-color_main);
}
.is-style-nk-postlist-event li.p-postList__item,
.is-style-nk-postlist-flyer li.p-postList__item {
  border-bottom: 1px solid var(--nk-color_main);
  padding: 30px 0;
}
.is-style-nk-postlist-event a.p-postList__link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "thumb title"
    "info info";
  gap: 20px;
}
.is-style-nk-postlist-event .p-postList__thumb {
  grid-area: thumb;
  min-width: 0;
  width: 100%;
  height: auto;
  box-shadow: none;
}
.is-style-nk-postlist-flyer .p-postList__thumb {
  margin-bottom: 1em;
  box-shadow: none;
}
.is-style-nk-postlist-event .p-postList__thumb figure,
.is-style-nk-postlist-flyer .p-postList__thumb figure {
  width: 100%;
  height: auto;
  border-radius: 5px;
  background-color: var(--nk-color_bg-light);
}
.is-style-nk-postlist-event .p-postList__thumb figure img {
  object-fit: contain;
}
.is-style-nk-postlist-flyer .p-postList__thumb figure img {
object-position: top;
}
.is-style-nk-postlist-event a.p-postList__link:hover .p-postList__title {
  color: var(--nk-color_main);
}
.is-style-nk-postlist-event .nk-event-types {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  flex-wrap: nowrap;
  width: 100%;
}
.is-style-nk-postlist-event .nk-event-types span {
  font-size: var(--nk-fz--xs);
  line-height: 1em;
  font-weight: var(--nk-fw--normal);
  background-color: var(--nk-color_gray);
  border: 1px solid var(--nk-color_gray-dark);
  border-radius: 2px;
  padding: 2px 4px;
}
.is-style-nk-postlist-event .nk-eventInfo {
  grid-area: info;
}
.is-style-nk-postlist-event .nk-eventInfo__inner {
  display: flex;
  gap: 12px;
  margin-bottom: 6px;
}
.is-style-nk-postlist-event .nk-eventLabel {
  width: 72px;
  flex-shrink: 0;
}
.is-style-nk-postlist-event .nk-eventLabel span {
  display: block;
  font-size: var(--nk-fz--xs);
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_text-inverse);
  background-color: var(--nk-color_main);
  border-radius: 999px;
  padding: 1px 10px;
  text-align: center;
}
.is-style-nk-postlist-event .nk-eventDesc {
  font-size: var(--nk-fz--small);
  line-height: 1.3em;
}
.is-style-nk-postlist-event .nk-eventDesc--continued {
  margin-top: -6px;
}
.is-style-nk-postlist-event .nk-eventPlace-box:not(:first-child) {
  margin-top: 4px;
}
.is-style-nk-postlist-event .nk-eventPlace {
  color: var(--nk-color_main);
}
.is-style-nk-postlist-event .p-postList__title,
.is-style-nk-postlist-flyer .p-postList__title {
  font-size: var(--nk-fz--medium) !important;
  line-height: 1.3em;
  margin-bottom: 4px;
}
.is-style-nk-postlist-event .p-postList__excerpt {
  font-size: var(--nk-fz--small) !important;
  line-height: 1.3em;
}
/* イベント状態バッジ */
.nk-event-badge {
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
  padding: 4px 8px;
  border-radius: 5px 0 0 0;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: var(--nk-fz--xs);
  font-weight: var(--nk-fw--medium);
  text-align: center;
  line-height: 1.2em;
}
/* 状態別 */
.nk-is-now {
  background: var(--nk-gradient_main);
  color: var(--nk-color_text-inverse);
} /* 開催中 */
.nk-is-ended {
  background: rgba(var(--nk-color_gray-rgb), 0.9);
  color: var(--nk-color_text);
} /* 終了 */
.nk-is-accepting {
  background: var(--nk-color_alert-main);
  color: var(--nk-color_text-inverse);
} /* 予約受付中 */

/* archive カスタム投稿アーカイブページ*/
.nk-event-filter,
.nk-flyer-filter {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  justify-content: center;
  gap: 10px 14px;
  margin-top: 32px;
  margin-bottom: 24px;
}
.nk-filter-btn {
  padding: 2px 20px;
  border-radius: 999px;
  border: 1px solid var(--nk-color_main);
  color: var(--nk-color_main);
  font-size: var(--nk-fz--normal);
  text-align: center;
  transition: all 0.3s ease;
}
.nk-filter-btn:not(.is-active):hover {
  background: var(--nk-color_main);
  color: var(--nk-color_text-inverse);
  border-color: var(--nk-color_main);
}
.nk-filter-btn.is-active {
  background: var(--nk-color_main);
  color: var(--nk-color_text-inverse);
  border-color: var(--nk-color_main);
  pointer-events: none;
}
.nk-filter-btn:active {
  transform: scale(0.97);
}
.is-style-nk-postlist-event .c-pagination {
  margin-top: 24px;
}

/* single カスタム投稿シングルページ*/
main#main_content.nk-event,
main#main_content.nk-news,
main#main_content.nk-column,
main#main_content.nk-flyer {
  max-width: 720px;
}
.nk-single .c-postTitle {
  display: block;
}
.nk-news-date {
  font-size: var(--nk-fz--small);
  color: var(--nk-color_gray-dark);
  text-align: center;
  margin-bottom: 16px;
}
.nk-event .c-postTitle__ttl,
.nk-news .c-postTitle__ttl,
.nk-column .c-postTitle__ttl,
.nk-flyer .c-postTitle__ttl {
  font-size: var(--nk-fz--huge);
  text-align: center;
}
.nk-event .c-postTitle__ttl::after,
.nk-news .c-postTitle__ttl::after,
.nk-column .c-postTitle__ttl::after,
.nk-flyer .c-postTitle__ttl::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--nk-color_main);
  margin-top: 6px;
}
.nk-event .nk-event-taxonomy,
.nk-news .nk-news-taxonomy,
.nk-column .nk-column-taxonomy,
.nk-flyer .nk-flyer-taxonomy {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.nk-event .nk-event-taxonomy span,
.nk-news .nk-news-taxonomy span,
.nk-column .nk-column-taxonomy span,
.nk-flyer .nk-flyer-taxonomy span {
  font-size: var(--nk-fz--xs);
  line-height: 1em;
  font-weight: var(--nk-fw--normal);
  background-color: var(--nk-color_gray);
  border: 1px solid var(--nk-color_gray-dark);
  border-radius: 2px;
  padding: 2px 4px;
}
.nk-flyer .nk-flyer-period {
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_alert-main);
  text-align: center;
  margin-top: 24px;
}
.nk-flyer .l-mainContent__inner>.post_content {
  margin-top: 1em;
}
.nk-flyer .nk-flyer-content {
  margin: 2em 0 4em;
}
.nk-event .p-articleThumb__img {
  box-shadow: none;
}
.nk-column figure.p-articleThumb {
  margin-bottom: 3em;
}
.nk-event-overview {
  max-width: 600px;
  margin: 24px auto 0;
  padding: 24px;
  background-color: var(--nk-color_bg);
  border: 1px solid var(--nk-color_bg-sub);
}
.nk-event-overview__title {
  font-size: var(--nk-fz--large);
  font-weight: var(--nk-fw--bold);
  margin-bottom: 16px;
}
.nk-event-overview__title::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--nk-color_main);
  margin-top: 12px;
}
dl.nk-event-overview__list {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 8px 12px;
  margin: 0;
}
.nk-event-overview__list dt,
.nk-event-overview__list dd {
  margin: 0;
  padding: 0;
  font-size: var(--nk-fz--small);
  line-height: 1.4em;
}
.nk-event-overview__list dt {
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_main);
}
.nk-event-place-name {
  color: var(--nk-color_main);
}
.nk-event-place:not(:first-child) {
  margin-top: 4px;
}
.nk-flyer .nk-flyer-linkButton {
  margin-bottom: 36px;
}
.nk-single-footer {
  margin: 60px 40px;
}
@media (min-width: 600px) {
  .is-style-nk-postlist-event a.p-postList__link {
    grid-template-areas:
      "thumb title"
      "thumb info";
  }
  .is-style-nk-postlist-event li.p-postList__item,
  .is-style-nk-postlist-flyer li.p-postList__item {
    padding: 30px;
  }
}
@media (min-width: 960px) {
  .is-style-nk-postlist-event .nk-eventInfo__inner {
    margin-bottom: 10px;
  }
  ul.p-postList.is-style-nk-postlist-event,
  ul.p-postList.is-style-nk-postlist-flyer {
    grid-template-columns: repeat(2, 1fr);
  }
  .is-style-nk-postlist-event .p-postList__item:nth-child(-n+2),
  .is-style-nk-postlist-flyer .p-postList__item:nth-child(-n+2) {
  border-top: 1px solid var(--nk-color_main);
  padding-top: 24px;
}
  .is-style-nk-postlist-event a.p-postList__link {
    grid-template-areas:
      "thumb title"
      "info info";
  }
  .is-style-nk-postlist-event .nk-eventLabel {
    font-size: var(--nk-fz--small);
  }
  .is-style-nk-postlist-event .nk-eventDesc {
    font-size: var(--nk-fz--normal);
  }
  .nk-event-filter,
  .nk-flyer-filter {
    grid-template-columns: repeat(7, max-content);
    margin-bottom: 50px;
  }
  .nk-event-overview {
    margin-top: 48px;
  }
}

/* post-list お知らせ投稿リスト*/
.nk-news-section {
  margin: 24px 0 30px;
}
.nk-news-section h2.nk-news-title {
  font-size: var(--nk-fz--large);
  margin-bottom: 0px;
}
.nk-news-section .p-postList__title {
  padding-right: 24px;
}
.nk-news-section ul.p-postList {
  padding: 6px 0;
  margin-top: 8px;
  border-top: 1px solid var(--nk-color_main);
  border-bottom: 1px solid var(--nk-color_main);
}
.nk-news-section li.p-postList__item {
  position: relative;
  margin: 0;
}
.nk-news-section li.p-postList__item:not(:last-child) {
  border-bottom: 1px solid var(--nk-color_gray);
}
.nk-news-section a.p-postList__link {
  border-radius: 5px;
  padding: 6px;
}
.nk-news-section a.p-postList__link:hover {
  background-color: var(--nk-color_bg-sub);
}
.nk-news-section a.p-postList__link::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(assets/img/icon_arrow_down_circle.svg) no-repeat center /
    contain;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
}
@media (min-width: 960px) {
  #nk-mv .nk-news-section {
    width: 50%;
  }
}
@media (min-width: 1440px) {
  #nk-mv .nk-news-section {
    width: 65%;
  }
}

/* リンクリスト*/
.post_content .swell-block-linkList.nk-linkList .swell-block-linkList__link {
  padding: 8px 12px 6px 36px;
  border-bottom: 1px solid var(--nk-color_gray);
  border-radius: 6px 6px 0 0;
  position: relative;
}
.post_content
  .swell-block-linkList.nk-linkList
  .swell-block-linkList__link:hover {
  background-color: var(--nk-color_bg);
}
.post_content
  .swell-block-linkList.nk-linkList
  .swell-block-linkList__link::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  background-color: var(--nk-color_main);
  border-radius: 50%;
  transform: translateY(-50%);
}
.post_content .swell-block-linkList.nk-linkList .swell-block-linkList__text {
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--medium);
  line-height: 1.2em;
}

/* お問い合わせフォーム*/
.nk-form-wrap .nk-form-field {
  margin-bottom: 1.5em;
}
.nk-form-wrap .nk-form-label {
  font-size: var(--nk-fz--medium);
  font-weight: var(--nk-fw--bold);
}
.nk-form-wrap .nk-form-label .nk-required {
  font-size: 0.75em;
  font-weight: var(--nk-fw--normal);
  color: var(--nk-color_alert-main);
  margin-left: 1em;
}
.nk-form-input,
.nk-form-textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.nk-form-submit input.nk-submit-btn {
  background-color: var(--nk-color_main);
  color: var(--nk-color_text-inverse);
  font-size: var(--nk-fz--medium);
  font-weight: var(--nk-fw--bold);
  width: 100%;
  text-align: center;
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: filter 0.3s ease, box-shadow 0.3s ease;
}
.nk-form-submit input.nk-submit-btn:hover {
  filter: brightness(1.1);
  box-shadow: rgba(0, 0, 0, 0.2) 0px 6px 14px;
}
.nk-page-layout .wpcf7 form .wpcf7-response-output {
  padding: 1.5em;
  background-color: var(--nk-color_bg-light);
  border: 1px solid var(--nk-color_bg-sub);
}
.nk-page-layout .wpcf7 form.invalid .wpcf7-response-output {
  color: var(--nk-color_alert-main);
  border: 1px solid var(--nk-color_alert-soft);
}


/* =========================
  6-3. 追加CSSで使用するクラス
========================= */
/* 追加CSS */
/* トップページ メニューカード */
.nk-menucard {
  position: relative;
  border-radius: 8px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
  padding: 20px 16px 20px 18px !important;
}
.nk-menucard:hover {
  filter: brightness(1.1);
}
.nk-menucard.nk-menucard--pink:hover {
  background-color: var(--nk-color_alert-soft) !important;
}
.nk-menucard > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  gap: 10px;
}
.nk-menucard__img {
  width: 100%;
  max-width: 110px;
  margin-bottom: 0;
  flex: 1;
}
.nk-menucard__img img {
  width: 100%;
  height: auto;
}
.nk-menucard__content {
  flex: 3;
  margin-bottom: 0;
}
.wp-block-heading.nk-heading-menucard {
  font-size: var(--nk-fz--large);
  text-align: left;
  padding-left: 0;
  margin-bottom: 0;
  letter-spacing: 0;
  background: none;
  font-weight: var(--nk-fw--bold);
  border: none;
}
.nk-menucard__subtitle {
  font-size: var(--nk-fz--small);
  line-height: 1.2em;
  margin-bottom: 4px !important;
}
.nk-menucard__items > .wp-block-group__inner-container {
  display: flex;
  align-items: center;
  gap: 8px;
}
.nk-menucard__item {
  font-size: var(--nk-fz--small);
  line-height: 1em;
  letter-spacing: 0;
  text-align: center;
  padding: 4px !important;
  margin: 0 !important;
}
.nk-menucard-link {
  position: absolute;
  inset: 0;
  margin: 0;
  font-size: 0; /* テキストを非表示 */
}
.nk-menucard-link a {
  display: block;
  width: 100%;
  height: 100%;
}

/* トップページ 商品カード */
.nk-itemcard {
  border: 1px solid var(--nk-color_bg-sub);
  border-radius: 8px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
  padding: 10px !important;
  position:relative;
}
.nk-itemcard__img {
  margin-bottom: 0px;
}
.nk-itemcard__img img {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 0;
  object-fit: cover;
  object-position: center;
  transition: transform 0.25s, filter 0.25s;
}
.nk-itemcard:hover .nk-itemcard__img img {
  transform: scale(1.06);
  filter: brightness(1.05);
}
.nk-itemcard .nk-heading-itemcard {
  font-size: var(--nk-fz--medium);
  font-weight: var(--nk-fw--bold);
  border: none;
  margin-bottom: .5em;
}
.nk-itemcard:hover .nk-heading-itemcard {
  color: var(--nk-color_main);
}

/* =========================
  6-1. Utilities ブロックスタイルへ登録
========================= */
/* heading M Rounded*/
.wp-block-heading.is-style-nk-heading-m {
  font-family: var(--nk-font-Mrounded);
  font-size: var(--nk-fz--huge);
  font-weight: var(--nk-fw--normal);
  color: var(--nk-color_text);
  background: none;
  border: none;
  padding-top: 0;
}
.wp-block-heading.is-style-nk-heading-m::before {
  content: none;
}
/* heading moonアイコン・横線 */
.wp-block-heading.is-style-nk-heading-moon {
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_main);
  border: none;
  display: flex;
  align-items: center;
  padding-left: 0;
}
.wp-block-heading.is-style-nk-heading-moon::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("assets/img/icon_moon_green.svg") no-repeat center / contain;
  flex-shrink: 0;
  margin-bottom: 2px;
  margin-right: 8px;
  position: relative;
}
.wp-block-heading.is-style-nk-heading-moon::after {
  content: "";
  height: 3px;
  background-color: var(--nk-color_main);
  flex: 1;
  margin-left: 12px;
}
/* heading 下線あり */
.wp-block-heading.is-style-nk-heading-underline {
  font-size: var(--nk-fz--huge);
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_text);
  background: none;
  border: none;
}
.wp-block-heading.is-style-nk-heading-underline::before {
  content: none;
}
.wp-block-heading.is-style-nk-heading-underline::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--nk-color_main);
  margin-top: 6px;
}
/* heading M Rounded 下線あり*/
.wp-block-heading.is-style-nk-heading-m-underline {
  font-family: var(--nk-font-Mrounded);
  font-size: var(--nk-fz--huge);
  font-weight: var(--nk-fw--normal);
  color: var(--nk-color_text);
  background: none;
  border-bottom: 1px solid var(--nk-color_main);
  border-left: none;
  padding: 0 0 6px 4px;
}
.wp-block-heading.is-style-nk-heading-m-underline::before {
  content: none;
}
/* heading 背景ベタ塗り*/
.wp-block-heading.is-style-nk-heading-filled {
  font-weight: var(--nk-fw--bold);
  color: var(--nk-color_text-inverse);
  background-color: var(--nk-color_bg-inverse);
  border: none;
  padding: 12px 20px;
}
/* paragraph 吹き出し */
.is-style-nk-balloon {
  position: relative;
  font-size: var(--nk-fz--small);
  font-weight: var(--nk-fw--medium);
  color: var(--nk-color_main);
  padding: 6px 20px;
  border: 1px solid var(--nk-color_main);
  border-radius: 999px;
  background-color: var(--nk-color_bg-sub);
}
/* img 8px角丸【角丸】 */
.is-style-nk-img-rounded img {
  border-radius: 8px;
}
/* group 8px角丸 */
.is-style-nk-br8 {
  border-radius: 8px !important;
}

/* group 白70%の背景ブロック */
.is-style-nk-group-bg-white70 {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 2rem;
}
/* group 狭い横幅 670px */
.is-style-nk-group-width-small {
  max-width: 670px;
  margin-left: auto;
  margin-right: auto;
}
/* table 横線のみのシンプルテーブル【横太線】 */
.is-style-nk-table-horizontal-lines table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  table-layout: auto !important;
}
.is-style-nk-table-horizontal-lines thead th {
  background-color: var(--nk-color_bg-inverse);
}
.is-style-nk-table-horizontal-lines th,
.is-style-nk-table-horizontal-lines td {
  border: none !important;
  border-bottom: 2px solid #c5b19e !important;
  padding: 0.8em;
  text-align: left;
}
.is-style-nk-table-horizontal-lines tr:first-child th,
.is-style-nk-table-horizontal-lines tr:first-child td {
  border-top: 2px solid #c5b19e !important;
}
/* link-list なかじまデフォルトリスト */
ul.is-style-nk-list-default {
  padding-left: 0.75em;
}
ul.is-style-nk-list-default li {
  font-size: var(--nk-fz--normal);
  font-weight: var(--nk-fw--medium);
  line-height: 1.4em;
  padding: 12px 12px 12px 36px;
  border-bottom: 1px solid var(--nk-color_gray);
  position: relative;
  list-style: none;
}
ul.is-style-nk-list-default li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  width: 8px;
  height: 8px;
  background-color: var(--nk-color_main);
  border-radius: 50%;
  transform: translateY(-50%);
}
/* box-menu 店舗SNSアイコン等のボックスメニュー */
.swell-block-box-menu.nk-boxmenu-store {
  max-width: 180px;
  margin: 0 auto;
}
.swell-block-box-menu.nk-boxmenu-store .swell-block-box-menu__item {
  border: none;
}
.swell-block-box-menu.nk-boxmenu-store .swell-block-box-menu__figure {
  transition: transform 0.3s ease, filter 0.3s ease;
}
.swell-block-box-menu.nk-boxmenu-store .swell-block-box-menu__link:hover {
  background-color: transparent !important;
}
.swell-block-box-menu.nk-boxmenu-store .swell-block-box-menu__link:hover .swell-block-box-menu__figure {
  transform: scale(1.2);
  filter: brightness(1.4);
}

/* Instagram 埋め込み */
#sb_instagram #sbi_load > button.sbi_load_btn {
  margin: 5px auto !important;
}
/* blogCard 商品のブログカード */
.swell-block-postLink.nk-blogCard-item .p-blogCard__inner {
  background: none;
  box-shadow: none;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  padding: 0 0 16px 0;
}
.swell-block-postLink.nk-blogCard-item .p-blogCard__thumb {
  margin: 0;
  width: 100%;
}
.swell-block-postLink.nk-blogCard-item .p-blogCard__title {
  font-size: var(--nk-fz--large);
  font-weight: var(--nk-fw--bold);
}
.swell-block-postLink.nk-blogCard-item .p-blogCard__title::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.3em;
  vertical-align: -3px;
  background-image: url('assets/img/icon_arrow_right_line.svg');
  background-repeat: no-repeat;
  background-size: contain;
}
.swell-block-postLink.nk-blogCard-item span.p-blogCard__caption {
  font-size: var(--nk-fz--small);
  bottom: -8px;
  right: auto;
  transform-origin: center bottom;
  width: 100%;
  text-align: center;
}
.swell-block-postLink.nk-blogCard-item .p-blogCard__caption::before {
  content: none;
}
.swell-block-postLink.nk-blogCard-item .p-blogCard__thumb figure {
  border-radius: 8px;
}
.swell-block-postLink.nk-blogCard-item .p-blogCard:hover {
  box-shadow: none;
}
.swell-block-postLink.nk-blogCard-item .p-blogCard:hover img.c-postThumb__img {
  transform: scale(1.06);
  filter: brightness(1.08);
}
.swell-block-postLink.nk-blogCard-item .p-blogCard:hover .p-blogCard__body {
  color:var(--nk-color_main);
  color:var(--nk-color_main);
}
/* リンクなし商品カードのキャプション */
.nk-item-caption {
    font-size: var(--nk-fz--small);
    transform: scale(.8);
    text-align: center;
    opacity: .8;
    color: #333;
    line-height: 1.4em;
}

/* =========================
  6. 上書きCSS
========================= */
.nk-mt0 {
  margin-top: 0 !important;
}
.nk-mt1 {
  margin-top: 1em !important;
}
.nk-mb0 {
  margin-bottom: 0 !important;
}
.nk-ff-mr {
  font-family: var(--nk-font-Mrounded) !important;
}
.nk-p0 {
  padding: 0 !important;
}
.nk-p05 {
  padding: 0.5em !important;
}
.nk-p1 {
  padding: 1em !important;
}
.nk-w670 {
  max-width: 670px;
  margin-left: auto;
  margin-right: auto;
}
.nk-br8 {
  border-radius: 8px !important;
}

/* =========================
  7. アニメーション用CSS
========================= */
/* フェードイン下から上へ */
.nk-fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
  will-change: opacity, transform;
}
.nk-fade-in-up.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 吹き出し用アニメーション */
@keyframes balloon-pop {
  0% {
    transform: scale(0.85);
    opacity: 0;
  }
  70% {
    transform: scale(1.04);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.nk-balloon-anim {
  opacity: 0;
}
.nk-balloon-anim.is-visible {
  animation: balloon-pop 0.5s ease-out forwards;
}

/* アクセシビリティ：動きを減らす設定の人は即表示 */
@media (prefers-reduced-motion: reduce) {
  .nk-fade-in-up,
  .nk-balloon-anim {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
