/** Shopify CDN: Minification failed

Line 285:10 Expected identifier but found whitespace
Line 285:11 Unexpected bad string token
Line 285:99 Unterminated string token
Line 292:1 Expected identifier but found bad string token
Line 292:14 Unterminated string token

**/
/* Hephol: price + tax-in sizing */
.hpl-price-inline .price-item,
.hpl-price-inline .price-item--regular,
.hpl-price-inline .price__regular {
  font-size: 1.7rem !important; /* ←価格の大きさ */
  line-height: 1.2;
}

.hpl-taxin {
  font-size: 1.7rem !important; /* ←tax-inの大きさ */
  opacity: 0.6;
  white-space: nowrap;
}

/* Hephol: price + tax-in baseline align */
.hpl-price-inline {
  display: inline-flex;
  align-items: baseline;   /* ←ここが肝 */
  gap: 0.6rem;
}

/* 余計な上下ズレ要因を消す */
.hpl-price-inline .price-item,
.hpl-taxin {
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

/* tax-in が下がって見える時の微調整（必要な時だけ） */
.hpl-taxin {
  position: relative;
  top: -0.23em; /* ← 0.00〜-0.12em で微調整 */
}

/* Policy pages text size */
.shopify-policy__body {
  font-size: 1.3rem;
  line-height: 1.9;
}

/* Hephol: Policy pages typography */
.shopify-policy__title {
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  margin: 0 0 1.2rem;
}

.shopify-policy__body {
  font-size: 1.2rem;
  line-height: 1.9;
}

/* headings inside policy body */
.shopify-policy__body h2 { font-size: 1.8rem; line-height: 1.4; margin: 2.0rem 0 0.8rem; }
.shopify-policy__body h3 { font-size: 1.4rem; line-height: 1.45; margin: 1.6rem 0 0.6rem; }
.shopify-policy__body h4 { font-size: 1.25rem; line-height: 1.5; margin: 1.2rem 0 0.4rem; }

/* paragraph/list */
.shopify-policy__body p,
.shopify-policy__body li {
  font-size: 1.4rem;
  line-height: 1.9;
}

/* Hephol: Page top title (menu item title) */
.main-page-title,
.page-title,
.title--primary {
  font-size: 1.5rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  margin-bottom: 1.6rem;
}

/* Force shrink page top title (Dawn override) */
.template-page .main-page-title,
.template-policy .main-page-title,
.template-policy .shopify-policy__title,
.template-policy h1 {
  font-size: 1.8rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.02em;
}
/* Shopify policy page title (Force override) */
.shopify-policy__title h1 {
  font-size: 1.8rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.04em;
  margin-bottom: 2rem;
}
/* Slideshow：自動再生はONのまま、一時停止ボタンだけ消す */
.slideshow__autoplay,
.slideshow__controls .slideshow__autoplay,
button[aria-label*="Pause"],
button[aria-label*="一時停止"],
button[aria-label*="Play"],
button[aria-label*="再生"] {
  display: none !important;
}

/* Hephol footer background */
.footer {
  background-color: #F2F1ED;
}

/* About / Design / Identity background */
body.page-about-1,
body.page-design,
body.page-identity {
  background-color: #F2F1ED;
}

/* Hephol: About / Design / Identity background */
body.page-about-1 #MainContent,
body.page-design #MainContent,
body.page-identity #MainContent {
  background-color: #F2F1ED;
}

body.page-about-1 .gradient,
body.page-design .gradient,
body.page-identity .gradient {
  background-color: #F2F1ED !important;
}

/* FORCE background for specific pages (Dawn) */
body.page-about-1 .gradient,
body.page-about-1 main,
body.page-about-1 #MainContent,

body.page-design .gradient,
body.page-design main,
body.page-design #MainContent,

body.page-identity .gradient,
body.page-identity main,
body.page-identity #MainContent {
  background-color: #F2F1ED !important;
}

cart-remove-button {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

cart-remove-button.hidden {
  display: inline-block !important;
}

cart-remove-button .button--tertiary {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Force show remove link in cart */
cart-remove-button {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}

cart-remove-button a {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  color: rgb(var(--color-foreground)) !important;
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  text-decoration: underline !important;
  border: 0 !important;
}

/* Cart: remove button visible */
cart-remove-button a.button {
  color: #111 !important;
}

cart-remove-button a.button:hover {
  opacity: .7;
}

/* Cart: remove icon visible */
cart-remove-button .svg-wrapper svg {
  fill: #111 !important;
  color: #111 !important;
}

/* === Cart remove button: force visible === */
cart-remove-button,
cart-remove-button a,
cart-remove-button a.button,
cart-remove-button a.button * {
  opacity: 1 !important;
  visibility: visible !important;
  color: #111 !important;
}

/* SVG icon uses currentColor */
cart-remove-button svg {
  fill: currentColor !important;
  color: currentColor !important;
}

/* Optional: make the clickable area visible */
cart-remove-button a.button {
  border: 1px solid rgba(0,0,0,.25) !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  background: transparent !important;
}

/* === Cart remove button: show text + icon === */
cart-remove-button a.button {
  font-size: 12px !important;
  line-height: 1 !important;
  color: #111 !important;
}

cart-remove-button a.button,
cart-remove-button a.button * {
  opacity: 1 !important;
  visibility: visible !important;
}

/* SVG icon: Dawnはstroke型が多いので stroke も指定 */
cart-remove-button svg {
  width: 14px !important;
  height: 14px !important;
  display: inline-block !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* wrapperが潰されてる時用 */
cart-remove-button .svg-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 6px !important;
}
/* =========================
   Cart remove button: FORCE label visible
   ========================= */

/* ボタン枠は維持しつつ中身を必ず表示 */
cart-remove-button a.button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #111 !important;
  opacity: 1 !important;
  visibility: visible !important;

  /* テキスト潰し系を無効化 */
  font-size: 12px !important;
  line-height: 1 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* もし中身（テキスト/アイコン）が消されてても、疑似要素で「削除」を必ず出す */
cart-remove-button a.button::before {
  content: "/* 重ねて表示してる「削除」文字（疑似要素）を完全に無効化 */
cart-remove-button a.button::before,
cart-remove-button a.button::after,
cart-remove-button::before,
cart-remove-button::after {
  content: none !important;
  display: none !important;
}" !important;
  color: #111 !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

/* SVGがある場合はそれも見えるように（Dawnはstroke型が多い） */
cart-remove-button a.button svg {
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* もしアイコンが出たら「削除」文字を消したい場合は、下の1行を有効化 */
/* cart-remove-button a.button:has(svg)::before { content: "" !important; } */

/* Cartの削除ボタン：文字のズレを矯正して中央揃え */
cart-remove-button {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 1rem; /* ここは好み。詰めたいなら 0.6rem とか */
}

/* a.button を “高さ固定 + 中央揃え” にする */
cart-remove-button a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 46px !important;       /* ←数量ボタンと高さを合わせる（必要なら 40/42/46 に調整） */
  padding: 0 18px !important;    /* ←左右余白 */
  line-height: 1 !important;     /* ←ベースラインズレ防止 */
  min-width: 56px !important;    /* ←「削除」が潰れない */
  border-radius: 999px !important; /* 丸めたいなら。四角が良ければ消してOK */
}

/* 疑似要素テキストも “ブロック” にして中央揃えを確実にする */
cart-remove-button a.button::before {
  display: block !important;
  line-height: 1 !important;
  transform: translateY(0) !important; /* まだズレる時だけ -0.5px とか試す */
}

/* カートの削除ボタン：アイコンを黒く見えるようにする */
cart-remove-button a.button {
  color: #111 !important;     /* ← icon-remove.svg は currentColor で効くことが多い */
  opacity: 1 !important;
}

/* アイコンのサイズ・視認性 */
cart-remove-button .svg-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

cart-remove-button svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
cart-remove-button svg * {
  stroke-width: 1.0 !important;
}
/* ================================
   Journal blog list: 4 columns
   Title + Date only (hide excerpt)
   Scope: blog handle "journal"
   ================================ */

/* まずレイアウトを強制（collage等を無効化） */
.template-blog .blog--journal .blog-articles,
.template-blog .blog--journal .blog-articles.blog-articles--collage {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

/* テーマエディタのプレビュー幅が狭いと2列になるので、
   750px以上は常に4列にする（編集画面でも4列見えやすい） */
@media (max-width: 749px) {
  .template-blog .blog--journal .blog-articles,
  .template-blog .blog--journal .blog-articles.blog-articles--collage {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

@media (min-width: 750px) and (max-width: 989px) {
  .template-blog .blog--journal .blog-articles,
  .template-blog .blog--journal .blog-articles.blog-articles--collage {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* カードの余計な余白/背景を消す */
.template-blog .blog--journal .blog-articles__article {
  margin: 0 !important;
  padding: 0 !important;
}

.template-blog .blog--journal .article-card {
  background: none !important;
}

/* 抜粋（本文プレビュー）を“全部”消す */
.template-blog .blog--journal .article-card__excerpt,
.template-blog .blog--journal .article-card__excerpt *,
.template-blog .blog--journal .article-card__summary,
.template-blog .blog--journal .article-card__summary *,
.template-blog .blog--journal .article-card__content,
.template-blog .blog--journal .article-card__content * {
  display: none !important;
}

/* タイトルと日付だけは表示（上で消しすぎたのを戻す） */
.template-blog .blog--journal .article-card__title,
.template-blog .blog--journal .article-card__title * {
  display: block !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  margin-top: 10px !important;
}

.template-blog .blog--journal .article-card__date,
.template-blog .blog--journal .article-card__date * {
  display: block !important;
  font-size: 11px !important;
  opacity: 0.6 !important;
  margin-top: 4px !important;
}

/* 画像は横幅に収める（デカすぎ対策） */
.template-blog .blog--journal .article-card__image-wrapper img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* =========================
   Journal: 4 columns
   Images: show as-is (no crop)
   ========================= */

/* 4 columns (PC) */
.template-blog .main-blog .blog-articles {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

@media (max-width: 989px) {
  .template-blog .main-blog .blog-articles {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

@media (max-width: 749px) {
  .template-blog .main-blog .blog-articles {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}

/* ---- Image ratio / crop OFF (show original aspect) ---- */
/* Dawnのratio固定を無効化 */
.template-blog .main-blog .article-card__image-wrapper .media,
.template-blog .main-blog .article-card__image-wrapper .article-card__image,
.template-blog .main-blog .card__inner.ratio {
  padding-bottom: 0 !important;
  height: auto !important;
}

/* 画像をそのまま表示（切らない） */
.template-blog .main-blog .article-card__image-wrapper img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important; /* coverじゃない＝トリミングしない */
  display: block !important;
}

/* Force 4 columns on desktop for Journal/blog list */
@media (min-width: 990px) {
  .template-blog .main-blog .blog-articles,
  .template-blog .main-blog .blog-articles.blog-articles--collage {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }

  /* Ensure children don't carry their own widths from collage styles */
  .template-blog .main-blog .blog-articles__article {
    width: auto !important;
    max-width: none !important;
    grid-column: auto !important;
  }
}

/* Force 4 columns on Blog list (override section-main-blog.css) */
@media (min-width: 990px) {
  body.template-blog .main-blog .blog-articles,
  body.template-blog .main-blog .blog-articles.blog-articles--collage,
  body.template-blog .main-blog .journal320 .blog-articles,
  body.template-blog .main-blog .journal320 .blog-articles.blog-articles--collage {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }

  body.template-blog .main-blog .blog-articles__article,
  body.template-blog .main-blog .journal320 .blog-articles__article {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }
}

/* Force 4 columns on Blog list (override section-main-blog.css) */
@media (min-width: 990px) {
  body.template-blog .main-blog .blog-articles,
  body.template-blog .main-blog .blog-articles.blog-articles--collage,
  body.template-blog .main-blog .journal320 .blog-articles,
  body.template-blog .main-blog .journal320 .blog-articles.blog-articles--collage {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 32px !important;
  }

  body.template-blog .main-blog .blog-articles__article,
  body.template-blog .main-blog .journal320 .blog-articles__article {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }
}
/* Override Dawn main-blog grid columns (was 1fr 1fr at section-main-blog.css:13) */
@media screen and (min-width: 750px) {
  .section-template--19236325392522__main .blog-articles {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Desktop gap調整（任意） */
@media screen and (min-width: 990px) {
  .section-template--19236325392522__main .blog-articles {
    column-gap: 32px !important;
    row-gap: 32px !important;
  }
}

/* Journal blog list: force 4 columns (override section-main-blog.css:13) */
@media screen and (min-width: 750px) {
  #shopify-section-template--19236325392522__main .blog-articles {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media screen and (min-width: 990px) {
  #shopify-section-template--19236325392522__main .blog-articles {
    column-gap: 32px !important;
    row-gap: 32px !important;
  }

  #shopify-section-template--19236325392522__main .blog-articles__article {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }
}

/* =========================
   About / Design pages
   Text size & center layout
   ========================= */

body.template-page.page-about .rte,
body.template-page.page-design .rte {
  font-size: 13px;
  line-height: 1.9;
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* 見出し（控えめ） */
body.template-page.page-about .rte h1,
body.template-page.page-design .rte h1 {
  font-size: 18px;
  margin-bottom: 24px;
}

body.template-page.page-about .rte h2,
body.template-page.page-design .rte h2 {
  font-size: 15px;
  margin-bottom: 20px;
}

/* 段落間 */
body.template-page.page-about .rte p,
body.template-page.page-design .rte p {
  margin-bottom: 1.6em;
}

/* =========================
   About / Design pages
   Centered text layout (Dawn safe)
   ========================= */

body.template-page.page-about .page-width--narrow,
body.template-page.page-design .page-width--narrow {
  display: flex;
  justify-content: center;
}

body.template-page.page-about .rte,
body.template-page.page-design .rte {
  max-width: 640px;
  width: 100%;
  font-size: 13px;
  line-height: 1.9;
  text-align: center;
}

/* タイトル下の余白調整 */
body.template-page.page-about .main-page-title,
body.template-page.page-design .main-page-title {
  text-align: center;
  margin-bottom: 40px;
}

/* 見出し */
body.template-page.page-about .rte h2,
body.template-page.page-design .rte h2 {
  font-size: 15px;
  margin-bottom: 20px;
}

/* 段落 */
body.template-page.page-about .rte p,
body.template-page.page-design .rte p {
  margin-bottom: 1.6em;
}

/* Fixed pages: smaller text + centered (safe fallback) */
body.template-page .main-page-title {
  text-align: center;
}

body.template-page .rte {
  font-size: 13px;
  line-height: 1.9;
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* About / Design の本文を小さくして中央寄せ（固定ページ共通） */
#MainContent .page-width--narrow {
  text-align: center;
}

#MainContent .page-width--narrow .rte {
  font-size: 14px;
  line-height: 1.9;
}
/* NGC 表示調整（pを使わない前提） */
.hpl-ngc-note {
  margin: 0.8rem 0 0.2rem 0;
  line-height: 1.6;
  font-size: 0.95em;
  color: #444;
}

.hpl-ngc-link {
  margin: 0;
  line-height: 1.6;
}

.hpl-ngc-link a {
  font-size: 0.9em;
  text-decoration: underline;
}

/* NGC 表示（Dawnのrte等に勝つ） */
#tab-material .hpl-ngc-note{
  margin: 12px 0 4px 0 !important;
  line-height: 1.6 !important;
  font-size: 0.95em !important;
  color: #444 !important;
}

#tab-material .hpl-ngc-link{
  margin: 0 !important;
  line-height: 1.6 !important;
}

#tab-material .hpl-ngc-link a{
  font-size: 0.9em !important;
}

#tab-material .hpl-material-text{
  line-height: 1.8;
}
#tab-material .hpl-material-text br{
  content: "";
}

#tab-material .hpl-material-text{
  line-height: 1.8;
  margin-bottom: 12px;
}

#tab-material .hpl-ngc-note{
  margin: 8px 0 4px 0;
  font-size: 0.95em;
  color: #444;
}

#tab-material .hpl-ngc-link{
  margin: 0;
}

#tab-material .hpl-ngc-link a{
  font-size: 0.9em;
  text-decoration: underline;
}
/* ===============================
   Material / NGC spacing FIX
   =============================== */

#tab-material .hpl-material-block{
  margin: 0 0 12px 0 !important;
  line-height: 1.8 !important;
}

#tab-material .hpl-ngc-block{
  margin: 0 !important;
  padding: 0 !important;
}

#tab-material .hpl-ngc-note{
  margin: 0 0 4px 0 !important;
  line-height: 1.6 !important;
}

#tab-material .hpl-ngc-link{
  margin: 0 !important;
  line-height: 1.6 !important;
}

#tab-material .hpl-material-text p{
  margin: 0 0 0.25rem 0 !important;
  line-height: 1.6 !important;
}

#tab-material .hpl-ngc-note{
  margin: 0.75rem 0 0 0 !important;
  line-height: 1.6 !important;
}

#tab-material .hpl-ngc-link{
  margin: 0.4rem 0 0 0 !important;
}
/* =========================
   Hephol Journal (Article) layout tweak
   - Title/date: centered
   - Body: narrow column + left aligned
   - Hero image: not too huge
========================= */

/* ① タイトル/日付はセンター維持 */
.article-template__title-wrapper,
.article-template__title,
.article-template__title + * {
  text-align: center !important;
}

/* ② 本文を “細い中央カラム” にして、文章は左寄せ */
.article-template__content,
.article-template__content p,
.article-template__content li {
  max-width: 640px !important;      /* ←ここが肝。細さは後で調整OK */
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  line-height: 2.0 !important;
  font-size: 14px !important;       /* 文字が大きすぎる時用。不要なら消してOK */
}

/* ③ 本文内の画像をデカすぎない幅に（中央配置） */
.article-template__content img {
  display: block !important;
  max-width: 720px !important;      /* ←本文画像の最大幅 */
  width: 100% !important;
  height: auto !important;
  margin: 24px auto !important;
}

/* ④ 先頭（ヒーロー）画像がデカすぎるのを抑える */
.article-template__hero-container,
.article-template__hero {
  max-width: 980px !important;      /* 先頭画像の横幅 */
  margin-left: auto !important;
  margin-right: auto !important;
}

.article-template__hero img {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;     /* ←ここで“縦にデカい”を止める */
  object-fit: cover !important;
}