@charset "UTF-8";
/* =========================================================
   02-base.css — body / 基本リセット / .lib-container
   SWELLの.l-*構造には触れず、独自ラッパ.lib-*でレイアウト
   ========================================================= */

html, body {
  background: var(--paper);
  color: var(--ink-1000);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Phase 3: 見出しの折り返しを balance、本文行間を 1.95 に */
.lib-hero__tagline,
.lib-hero__sub,
.lib-section__h,
.lib-pageHero__en,
.lib-anchor__en,
.lib-closing__h,
.lib-about__lead,
.lib-category__title,
.lib-product__en {
  text-wrap: balance;
}
.lib-about__body p,
.lib-anchor__body p,
.lib-closing__lead,
.lib-product__body,
.lib-hero__sub {
  line-height: var(--lh-body);
}

body { overflow-x: hidden; }

/* SWELL投稿エリア内に Libero独自セクションを配置するためのラッパ */
.lib-doc {
  font-family: var(--font-body);
  color: var(--fg-1);
  background: var(--bg-1);
}

.lib-container {
  max-width: var(--lib-container);
  margin: 0 auto;
  padding: 0 var(--lib-gutter);
}

/* SWELLの記事本体余白をリセットして、フルブリードのLiberoセクションを置けるように */
.lib-flush {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
}

/* 共通エディトリアルスタイル */
.lib-doc a { color: var(--link); text-decoration: none; transition: color .2s ease; }
.lib-doc a:hover { color: var(--link-hover); }

.lib-doc ul { list-style: none; padding: 0; margin: 0; }
.lib-doc img { display: block; max-width: 100%; }

/* SWELLが入れる本文余白を、Liberoページではトップから消す */
body.lib-page .l-mainContent,
body.lib-page .post_content { padding-top: 0; }

/* SWELLパンくずを Libero LP では非表示 */
body.lib-page .p-breadcrumb { display: none; }

/* Phase 3: Noto Serif JP 一点投入用ユーティリティ */
.lib-serif {
  font-family: "Noto Serif JP", "Yu Mincho", "ヒラギノ明朝 ProN", serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
