/* batonz.css — Batonz LP スタイルシート v1.0 */
/* bind.css の代替: クラス名互換・独自実装 */
/* breakpoint: 640px (max-width) */

/* ==========================================================================
   SECTION 1: CSS Reset・構造・エリア・レイアウト・高さ
   ========================================================================== */

/* --------------------------------------------------------------------------
   1-1. CSS Reset (minimal)
   -------------------------------------------------------------------------- */

html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6,
p, blockquote,
ol, ul, li,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, footer, header, nav, section {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

em,
strong {
  font-weight: 700;
}

img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: #333;
  transition: opacity 0.2s ease;
}

a:hover {
  opacity: 0.4;
}

@media only screen and (max-width: 768px) {
  a:hover {
    opacity: 1;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
}

/* --------------------------------------------------------------------------
   1-2. span.smode — inherits display from parent
   -------------------------------------------------------------------------- */

span.smode {
  display: inherit;
}

/* --------------------------------------------------------------------------
   1-3. Structural classes
   -------------------------------------------------------------------------- */

/* Full-width background wrapper */
.bg-document {
  width: 100%;
}

/* Relative-positioned column wrapper */
.site_frame {
  position: relative;
  width: 100%;
}

/* Clip overflow on the root page container */
#page {
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   1-4. Area classes — clearfix + centered margin
        Targets: .a-billboard, .a-site_contents, .a-ghost_header
   -------------------------------------------------------------------------- */

.a-billboard,
.a-site_contents,
.a-ghost_header {
  margin: 0 auto;
}

/* Clearfix — generate formatting context without extra markup */
.a-billboard::before,
.a-billboard::after,
.a-site_contents::before,
.a-site_contents::after,
.a-ghost_header::before,
.a-ghost_header::after {
  display: table;
  line-height: 0;
  content: "";
}

.a-billboard::after,
.a-site_contents::after,
.a-ghost_header::after {
  clear: both;
}

/* Billboard-specific: strip any top padding set by block editors */
.a-billboard {
  padding-top: 0 !important;
}

/* Inner site_frame inside billboard gets relative positioning */
.a-billboard .site_frame {
  position: relative;
}

/* --------------------------------------------------------------------------
   1-5. js-ghost_mode — hidden before scroll activation
   -------------------------------------------------------------------------- */

.js-ghost_mode {
  display: none !important;
}

/* --------------------------------------------------------------------------
   1-6. Layout width variants
   -------------------------------------------------------------------------- */

/* l-1: full-bleed — remove auto margins from content/side areas */
.l-1 .a-site_contents,
.l-1 .a-footer,
.l-1 .a-ghost_header {
  margin: 0;
}

/* l-2: classic 2-column — main left, sidebar right */
.l-2 .a-main {
  float: left;
}

.l-2 .a-side-a {
  float: right;
}

/* l-fixed-side: sidebar is sticky / viewport-fixed */
.l-fixed-side .a-side-a {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
}

/* --------------------------------------------------------------------------
   1-7. Height utility
   -------------------------------------------------------------------------- */

/* Full-viewport-height section on desktop */
.-height100 {
  min-height: 100vh;
}

/* Collapse auto on mobile — avoids over-tall sections */
@media only screen and (max-width: 768px) {
  .-height100 {
    min-height: auto;
  }
}

/* ==========================================================================
   SECTION 2: グリッドシステム
   ========================================================================== */

/* --------------------------------------------------------------------------
   2-1. g-column container: clearfix
   -------------------------------------------------------------------------- */

.g-column {
  display: block;
}

.g-column::before,
.g-column::after {
  display: table;
  line-height: 0;
  content: "";
}

.g-column::after {
  clear: both;
}

/* --------------------------------------------------------------------------
   2-2. column item base
   -------------------------------------------------------------------------- */

.g-column > .column {
  float: left;
  position: relative;
}

.g-column > .column.-column1,
.g-column > .column:first-child {
  margin-left: 0;
}

.g-column > .column.-column-lasts,
.g-column > .column:last-child {
  margin-right: 0;
}

.g-column > .column.-column1.-column-lasts {
  float: none;
}

/* --------------------------------------------------------------------------
   2-3. equal-division widths (.g-column.-colN > .column)
   -------------------------------------------------------------------------- */

.g-column.-col1 > .column  { width: 100%; }
.g-column.-col2 > .column  { width: 50%; }
.g-column.-col3 > .column  { width: 33.333%; }
.g-column.-col4 > .column  { width: 25%; }
.g-column.-col5 > .column  { width: 20%; }
.g-column.-col6 > .column  { width: 16.666%; }
.g-column.-col7 > .column  { width: 14.285%; }
.g-column.-col8 > .column  { width: 12.5%; }

/* --------------------------------------------------------------------------
   2-4. individual width spans (.g-column > .-colN)
   -------------------------------------------------------------------------- */

.g-column > .-col1  { width: 8.333%; }
.g-column > .-col2  { width: 16.666%; }
.g-column > .-col3  { width: 25%; }
.g-column > .-col4  { width: 33.333%; }
.g-column > .-col5  { width: 41.666%; }
.g-column > .-col6  { width: 50%; }
.g-column > .-col7  { width: 58.333%; }
.g-column > .-col8  { width: 66.666%; }
.g-column > .-col9  { width: 75%; }
.g-column > .-col10 { width: 83.333%; }
.g-column > .-col11 { width: 91.666%; }
.g-column > .-col12 { width: 100%; margin-left: 0; margin-right: 0; }

/* --------------------------------------------------------------------------
   2-5. -no_spacing
   -------------------------------------------------------------------------- */

.g-column.-no_spacing > .column {
  margin: 0;
}

.g-column.-no_spacing.-col2 > .column { width: 50%; }
.g-column.-no_spacing.-col3 > .column { width: 33.333%; }
.g-column.-no_spacing.-col4 > .column { width: 25%; }
.g-column.-no_spacing.-col5 > .column { width: 20%; }
.g-column.-no_spacing.-col6 > .column { width: 16.666%; }

/* --------------------------------------------------------------------------
   2-6. c-space_normal (left/right: 2%, top: 4%)
   -------------------------------------------------------------------------- */

.c-space_normal .g-column > .column {
  margin-left: 2%;
  margin-right: 2%;
  margin-top: 4%;
}

.c-space_normal .g-column > .column.-column1,
.c-space_normal .g-column > .column:first-child {
  margin-left: 0;
}

.c-space_normal .g-column > .column.-column-lasts,
.c-space_normal .g-column > .column:last-child {
  margin-right: 0;
}

/* equal-division widths with normal spacing */
.c-space_normal .g-column.-col2 > .column { width: 46%; }
.c-space_normal .g-column.-col3 > .column { width: 29.333%; }
.c-space_normal .g-column.-col4 > .column { width: 21%; }
.c-space_normal .g-column.-col5 > .column { width: 16%; }
.c-space_normal .g-column.-col6 > .column { width: 12.666%; }

/* first-row top-margin reset */
.c-space_normal .g-column.-col2 > .column:nth-child(-n+2),
.c-space_normal .g-column.-col3 > .column:nth-child(-n+3),
.c-space_normal .g-column.-col4 > .column:nth-child(-n+4),
.c-space_normal .g-column.-col5 > .column:nth-child(-n+5),
.c-space_normal .g-column.-col6 > .column:nth-child(-n+6) {
  margin-top: 0;
}

/* individual span widths with normal spacing */
.c-space_normal .g-column > .-col2  { width: 13.666%; }
.c-space_normal .g-column > .-col3  { width: 22%; }
.c-space_normal .g-column > .-col4  { width: 30.333%; }
.c-space_normal .g-column > .-col5  { width: 38.666%; }
.c-space_normal .g-column > .-col6  { width: 47%; }
.c-space_normal .g-column > .-col7  { width: 55.333%; }
.c-space_normal .g-column > .-col8  { width: 63.666%; }
.c-space_normal .g-column > .-col9  { width: 72%; }
.c-space_normal .g-column > .-col10 { width: 80.333%; }
.c-space_normal .g-column > .-col11 { width: 88.666%; }
.c-space_normal .g-column > .-col12 { margin-left: 0; margin-right: 0; width: 100%; }

/* first-row top-margin reset for individual spans */
.c-space_normal .g-column > .-col1:nth-child(1),
.c-space_normal .g-column > .-col1:nth-child(2),
.c-space_normal .g-column > .-col2:nth-child(1),
.c-space_normal .g-column > .-col2:nth-child(2),
.c-space_normal .g-column > .-col3:nth-child(1),
.c-space_normal .g-column > .-col3:nth-child(2),
.c-space_normal .g-column > .-col4:nth-child(1),
.c-space_normal .g-column > .-col4:nth-child(2),
.c-space_normal .g-column > .-col5:nth-child(1),
.c-space_normal .g-column > .-col5:nth-child(2),
.c-space_normal .g-column > .-col6:nth-child(1),
.c-space_normal .g-column > .-col6:nth-child(2),
.c-space_normal .g-column > .-col7:nth-child(1),
.c-space_normal .g-column > .-col7:nth-child(2),
.c-space_normal .g-column > .-col8:nth-child(1),
.c-space_normal .g-column > .-col8:nth-child(2),
.c-space_normal .g-column > .-col9:nth-child(1),
.c-space_normal .g-column > .-col9:nth-child(2),
.c-space_normal .g-column > .-col10:nth-child(1),
.c-space_normal .g-column > .-col10:nth-child(2),
.c-space_normal .g-column > .-col11:nth-child(1),
.c-space_normal .g-column > .-col11:nth-child(2) {
  margin-top: 0;
}

/* --------------------------------------------------------------------------
   2-7. c-space_narrow (left/right: 1%, top: 2%)
   -------------------------------------------------------------------------- */

.c-space_narrow .g-column > .column {
  margin-left: 1%;
  margin-right: 1%;
  margin-top: 2%;
}

.c-space_narrow .g-column > .column.-column1,
.c-space_narrow .g-column > .column:first-child {
  margin-left: 0;
}

.c-space_narrow .g-column > .column.-column-lasts,
.c-space_narrow .g-column > .column:last-child {
  margin-right: 0;
}

/* equal-division widths with narrow spacing */
.c-space_narrow .g-column.-col2 > .column { width: 48%; }
.c-space_narrow .g-column.-col3 > .column { width: 31.333%; }

/* first-row top-margin reset */
.c-space_narrow .g-column.-col2 > .column:nth-child(-n+2),
.c-space_narrow .g-column.-col3 > .column:nth-child(-n+3) {
  margin-top: 0;
}

/* individual span widths with narrow spacing */
.c-space_narrow .g-column > .-col2  { width: 14.666%; }
.c-space_narrow .g-column > .-col3  { width: 23%; }
.c-space_narrow .g-column > .-col4  { width: 31.333%; }
.c-space_narrow .g-column > .-col5  { width: 39.666%; }
.c-space_narrow .g-column > .-col6  { width: 48%; }
.c-space_narrow .g-column > .-col7  { width: 56.333%; }
.c-space_narrow .g-column > .-col8  { width: 64.666%; }
.c-space_narrow .g-column > .-col9  { width: 73%; }
.c-space_narrow .g-column > .-col10 { width: 81.333%; }
.c-space_narrow .g-column > .-col11 { width: 89.666%; }

/* first-row top-margin reset for individual spans */
.c-space_narrow .g-column > .-col1:nth-child(1),
.c-space_narrow .g-column > .-col1:nth-child(2),
.c-space_narrow .g-column > .-col2:nth-child(1),
.c-space_narrow .g-column > .-col2:nth-child(2),
.c-space_narrow .g-column > .-col3:nth-child(1),
.c-space_narrow .g-column > .-col3:nth-child(2),
.c-space_narrow .g-column > .-col4:nth-child(1),
.c-space_narrow .g-column > .-col4:nth-child(2),
.c-space_narrow .g-column > .-col5:nth-child(1),
.c-space_narrow .g-column > .-col5:nth-child(2),
.c-space_narrow .g-column > .-col6:nth-child(1),
.c-space_narrow .g-column > .-col6:nth-child(2),
.c-space_narrow .g-column > .-col7:nth-child(1),
.c-space_narrow .g-column > .-col7:nth-child(2),
.c-space_narrow .g-column > .-col8:nth-child(1),
.c-space_narrow .g-column > .-col8:nth-child(2),
.c-space_narrow .g-column > .-col9:nth-child(1),
.c-space_narrow .g-column > .-col9:nth-child(2),
.c-space_narrow .g-column > .-col10:nth-child(1),
.c-space_narrow .g-column > .-col10:nth-child(2),
.c-space_narrow .g-column > .-col11:nth-child(1),
.c-space_narrow .g-column > .-col11:nth-child(2) {
  margin-top: 0;
}

/* --------------------------------------------------------------------------
   2-8. c-space_wide (left/right: 3%, top: 6%)
   -------------------------------------------------------------------------- */

.c-space_wide .g-column > .column {
  margin-left: 3%;
  margin-right: 3%;
  margin-top: 6%;
}

.c-space_wide .g-column > .column.-column1,
.c-space_wide .g-column > .column:first-child {
  margin-left: 0;
}

.c-space_wide .g-column > .column.-column-lasts,
.c-space_wide .g-column > .column:last-child {
  margin-right: 0;
}

/* equal-division widths with wide spacing */
.c-space_wide .g-column.-col2 > .column { width: 44%; }
.c-space_wide .g-column.-col3 > .column { width: 27.333%; }

/* first-row top-margin reset */
.c-space_wide .g-column.-col2 > .column:nth-child(-n+2),
.c-space_wide .g-column.-col3 > .column:nth-child(-n+3) {
  margin-top: 0;
}

/* individual span widths with wide spacing */
.c-space_wide .g-column > .-col2  { width: 13.666%; }
.c-space_wide .g-column > .-col3  { width: 22%; }
.c-space_wide .g-column > .-col4  { width: 30.333%; }
.c-space_wide .g-column > .-col5  { width: 38.666%; }
.c-space_wide .g-column > .-col6  { width: 47%; }
.c-space_wide .g-column > .-col7  { width: 55.333%; }
.c-space_wide .g-column > .-col8  { width: 63.666%; }
.c-space_wide .g-column > .-col9  { width: 72%; }
.c-space_wide .g-column > .-col10 { width: 80.333%; }
.c-space_wide .g-column > .-col11 { width: 88.666%; }
.c-space_wide .g-column > .-col12 { margin-left: 0; margin-right: 0; width: 100%; }

/* first-row top-margin reset for individual spans */
.c-space_wide .g-column > .-col1:nth-child(1),
.c-space_wide .g-column > .-col1:nth-child(2),
.c-space_wide .g-column > .-col2:nth-child(1),
.c-space_wide .g-column > .-col2:nth-child(2),
.c-space_wide .g-column > .-col3:nth-child(1),
.c-space_wide .g-column > .-col3:nth-child(2),
.c-space_wide .g-column > .-col4:nth-child(1),
.c-space_wide .g-column > .-col4:nth-child(2),
.c-space_wide .g-column > .-col5:nth-child(1),
.c-space_wide .g-column > .-col5:nth-child(2),
.c-space_wide .g-column > .-col6:nth-child(1),
.c-space_wide .g-column > .-col6:nth-child(2),
.c-space_wide .g-column > .-col7:nth-child(1),
.c-space_wide .g-column > .-col7:nth-child(2),
.c-space_wide .g-column > .-col8:nth-child(1),
.c-space_wide .g-column > .-col8:nth-child(2),
.c-space_wide .g-column > .-col9:nth-child(1),
.c-space_wide .g-column > .-col9:nth-child(2),
.c-space_wide .g-column > .-col10:nth-child(1),
.c-space_wide .g-column > .-col10:nth-child(2),
.c-space_wide .g-column > .-col11:nth-child(1),
.c-space_wide .g-column > .-col11:nth-child(2) {
  margin-top: 0;
}

/* --------------------------------------------------------------------------
   2-9. SP overrides — @media (max-width: 768px)
   -------------------------------------------------------------------------- */

@media only screen and (max-width: 768px) {

  /* all columns stack full-width */
  .g-column > .column {
    float: none;
    margin: 0;
    width: 100%;
  }

  .g-column.-col2 > .column,
  .g-column.-col3 > .column,
  .g-column.-col4 > .column,
  .g-column.-col5 > .column,
  .g-column.-col6 > .column,
  .g-column.-col7 > .column,
  .g-column.-col8 > .column {
    width: 100%;
    margin: 0;
  }

  .g-column > .-col1,
  .g-column > .-col2,
  .g-column > .-col3,
  .g-column > .-col4,
  .g-column > .-col5,
  .g-column > .-col6,
  .g-column > .-col7,
  .g-column > .-col8,
  .g-column > .-col9,
  .g-column > .-col10,
  .g-column > .-col11,
  .g-column > .-col12 {
    width: 100%;
    margin: 0;
  }

  /* -sp-col2 / -sp-col3: keep float layout on SP */
  .g-column.-sp-col2 > .column,
  .g-column.-sp-col3 > .column {
    float: left;
    margin: 0;
  }

  .g-column.-sp-col2 > .column { width: 50%; }
  .g-column.-sp-col3 > .column { width: 33.3%; }

  /* -sp-col1: single column */
  .g-column.-sp-col1 > .column {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* -no_spacing SP: ensure columns remain stacked */
  .g-column.-no_spacing.-col2 > .column,
  .g-column.-no_spacing.-col3 > .column,
  .g-column.-no_spacing.-col4 > .column,
  .g-column.-no_spacing.-col5 > .column,
  .g-column.-no_spacing.-col6 > .column {
    float: none;
    width: 100%;
  }

  /* c-sp-space_init */
  .c-sp-space_init .g-column > .column {
    margin: 0;
  }

  /* c-sp-space_normal */
  .c-sp-space_normal .g-column > .column:not(:first-child) {
    margin-top: 4%;
  }

  /* c-sp-space_narrow */
  .c-sp-space_narrow .g-column > .column:not(:first-child) {
    margin-top: 2%;
  }

  /* c-sp-space_wide */
  .c-sp-space_wide .g-column > .column:not(:first-child) {
    margin-top: 6%;
  }

}

/* ==========================================================================
   SECTION 3: ブロックタイプ・スペーシング
   ========================================================================== */

/* --------------------------------------------------------------------------
   3-1. b-both_diff — 非等分2カラムブロック
   -------------------------------------------------------------------------- */

.b-both_diff::before,
.b-both_diff::after {
  display: table;
  line-height: 0;
  content: "";
}
.b-both_diff::after {
  clear: both;
}

.b-both_diff .g-column {
  display: flex;
  flex-wrap: wrap;
}

.b-both_diff .g-column > .column {
  min-height: 1px;
}

.b-both_diff .g-column > .column:nth-of-type(odd)  { margin-left: 0; }
.b-both_diff .g-column > .column:nth-of-type(even) { margin-right: 0; }

/* float layout */
.-left_large  .g-column > .column { float: left; }
.-right_large .g-column > .column { float: left; }

/* -right_large/-left_large は方向ラベルのみ。幅は各カラムの -colN で決まる
   （bind.css 準拠）。以前ここにあった 25%/75% 固定指定は -colN を誤って
   上書きしヘッダーのロゴ列幅を崩していたため削除。 */

/* 個別カラム幅 (-col1〜-col12) */
.b-both_diff .g-column > .column.-col1  { width: 8.333%; }
.b-both_diff .g-column > .column.-col2  { width: 16.666%; }
.b-both_diff .g-column > .column.-col3  { width: 25%; }
.b-both_diff .g-column > .column.-col4  { width: 33.333%; }
.b-both_diff .g-column > .column.-col5  { width: 41.666%; }
.b-both_diff .g-column > .column.-col6  { width: 50%; }
.b-both_diff .g-column > .column.-col7  { width: 58.333%; }
.b-both_diff .g-column > .column.-col8  { width: 66.666%; }
.b-both_diff .g-column > .column.-col9  { width: 75%; }
.b-both_diff .g-column > .column.-col10 { width: 83.333%; }
.b-both_diff .g-column > .column.-col11 { width: 91.666%; }
.b-both_diff .g-column > .column.-col12 { width: 100%; margin-left: 0; margin-right: 0; }

/* c-space_normal 組み合わせ（余白2%/side） */
.c-space_normal .b-both_diff .g-column > .column.-col1  { width: 6.333%; }
.c-space_normal .b-both_diff .g-column > .column.-col2  { width: 14.666%; }
.c-space_normal .b-both_diff .g-column > .column.-col3  { width: 23%; }
.c-space_normal .b-both_diff .g-column > .column.-col4  { width: 31.333%; }
.c-space_normal .b-both_diff .g-column > .column.-col5  { width: 39.666%; }
.c-space_normal .b-both_diff .g-column > .column.-col6  { width: 48%; }
.c-space_normal .b-both_diff .g-column > .column.-col7  { width: 56.333%; }
.c-space_normal .b-both_diff .g-column > .column.-col8  { width: 64.666%; }
.c-space_normal .b-both_diff .g-column > .column.-col9  { width: 73%; }
.c-space_normal .b-both_diff .g-column > .column.-col10 { width: 81.333%; }
.c-space_normal .b-both_diff .g-column > .column.-col11 { width: 89.666%; }

/* c-space_narrow 組み合わせ（余白1%/side） */
.c-space_narrow .b-both_diff .g-column > .column.-col1  { width: 6.333%; }
.c-space_narrow .b-both_diff .g-column > .column.-col2  { width: 14.666%; }
.c-space_narrow .b-both_diff .g-column > .column.-col3  { width: 23%; }
.c-space_narrow .b-both_diff .g-column > .column.-col4  { width: 31.333%; }
.c-space_narrow .b-both_diff .g-column > .column.-col5  { width: 39.666%; }
.c-space_narrow .b-both_diff .g-column > .column.-col6  { width: 48%; }
.c-space_narrow .b-both_diff .g-column > .column.-col7  { width: 56.333%; }
.c-space_narrow .b-both_diff .g-column > .column.-col8  { width: 64.666%; }
.c-space_narrow .b-both_diff .g-column > .column.-col9  { width: 73%; }
.c-space_narrow .b-both_diff .g-column > .column.-col10 { width: 81.333%; }
.c-space_narrow .b-both_diff .g-column > .column.-col11 { width: 89.666%; }

/* c-space_wide 組み合わせ（余白3%/side） */
.c-space_wide .b-both_diff .g-column > .column.-col1  { width: 2.333%; }
.c-space_wide .b-both_diff .g-column > .column.-col2  { width: 10.666%; }
.c-space_wide .b-both_diff .g-column > .column.-col3  { width: 19%; }
.c-space_wide .b-both_diff .g-column > .column.-col4  { width: 27.333%; }
.c-space_wide .b-both_diff .g-column > .column.-col5  { width: 35.666%; }
.c-space_wide .b-both_diff .g-column > .column.-col6  { width: 44%; }
.c-space_wide .b-both_diff .g-column > .column.-col7  { width: 52.333%; }
.c-space_wide .b-both_diff .g-column > .column.-col8  { width: 60.666%; }
.c-space_wide .b-both_diff .g-column > .column.-col9  { width: 69%; }
.c-space_wide .b-both_diff .g-column > .column.-col10 { width: 77.333%; }
.c-space_wide .b-both_diff .g-column > .column.-col11 { width: 85.666%; }

/* SP: -sp-single_column — 全カラムを縦積み */
@media only screen and (max-width: 768px) {
  .b-both_diff.-sp-single_column .g-column > .column {
    float: none !important;
    width: 100% !important;
    margin-right: 0;
    margin-left: 0;
  }

  .b-both_diff.-sp-single_column.c-sp-space_init   .g-column > .column:not(:first-child) { margin-top: 0; }
  .b-both_diff.-sp-single_column.c-sp-space_narrow .g-column > .column:not(:first-child) { margin-top: 2%; }
  .b-both_diff.-sp-single_column.c-sp-space_normal .g-column > .column:not(:first-child) { margin-top: 4%; }
  .b-both_diff.-sp-single_column.c-sp-space_wide   .g-column > .column:not(:first-child) { margin-top: 6%; }
}

/* --------------------------------------------------------------------------
   3-2. b-album — アルバムスタイル
   -------------------------------------------------------------------------- */

.b-album::before,
.b-album::after {
  display: table;
  line-height: 0;
  content: "";
}
.b-album::after { clear: both; }

.b-album .g-column {
  display: flex;
  flex-wrap: wrap;
}

.b-album .column {
  text-align: center;
  width: 100%;
}

.b-album .column figure { display: inline-block; }

/* --------------------------------------------------------------------------
   3-3. b-headlines — 見出しグループ
   -------------------------------------------------------------------------- */

.b-headlines::before,
.b-headlines::after {
  display: table;
  line-height: 0;
  content: "";
}
.b-headlines::after { clear: both; }

.b-headlines .column {
  width: 100%;
}

.b-headlines .column figure { text-align: center; }

/* --------------------------------------------------------------------------
   3-4. b-plain — 標準ブロック
   -------------------------------------------------------------------------- */

.b-plain::before,
.b-plain::after {
  display: table;
  line-height: 0;
  content: "";
}
.b-plain::after { clear: both; }

/* --------------------------------------------------------------------------
   3-5. padding ユーティリティ
   -------------------------------------------------------------------------- */

.c-padding_normal > .column  { padding: 2% 2% 4% 2%; }
.c-padding_narrow > .column  { padding: 1%; }
.c-padding_highest > .column { padding: 3%; }

@media only screen and (max-width: 768px) {
  .c-sp-padding_init   > .column { padding: 0; }
  .c-sp-padding_normal > .column { padding: 2%; }
  .c-sp-padding_narrow > .column { padding: 1%; }
  .c-sp-padding_wide   > .column { padding: 3%; }
}

/* ==========================================================================
   SECTION 4: タイポグラフィ・ウィジェット・ナビ・画像
   ========================================================================== */

/* --------------------------------------------------------------------------
   4-1. Typography
   -------------------------------------------------------------------------- */

.c-body {
  font-size: 1.1rem;
  line-height: 1.8;
}

.c-lead {
  font-size: 1.1rem;
}

.c-title {
  font-size: 1.43rem;
  font-weight: 700;
  line-height: 1.4;
}

.c-small_headline {
  font-size: 1.14rem;
  font-weight: 700;
  line-height: 1.4;
}

.c-large_headline {
  font-size: 1.71rem;
  font-weight: 700;
  line-height: 1.4;
}

.c-page_title {
  font-size: 2rem;
}

.c-credit {
  font-size: 0.86rem;
  color: #999;
  text-align: center;
}

/* --------------------------------------------------------------------------
   4-2. Font decoration (d-*)
   -------------------------------------------------------------------------- */

.d-gothic {
  font-family: "Helvetica Neue", Helvetica, YuGothic, "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    sans-serif;
}

.d-bold {
  font-weight: 700;
}

.d-underline {
  text-decoration: underline;
}

.d-large_font {
  font-size: 108%;
  line-height: 1.6;
}

.d-larger_font {
  font-size: 160%;
  line-height: 1.6;
}

.d-largest_font {
  font-size: 155%;
  line-height: 1.6;
}

.d-small_font {
  font-size: 85%;
  line-height: 1.6;
}

.d-smallest_font {
  font-size: 75%;
  line-height: 1.6;
}

/* --------------------------------------------------------------------------
   4-3. Text alignment & decoration
   -------------------------------------------------------------------------- */

.c-right {
  text-align: right;
}

.c-left {
  text-align: left;
}

.c-center {
  text-align: center;
}

.c-fright {
  float: right;
}

.c-unlink {
  pointer-events: none;
  cursor: default;
}

/* --------------------------------------------------------------------------
   4-4. Display control
   -------------------------------------------------------------------------- */

.is-sp-hide {
  display: block;
}

@media only screen and (max-width: 768px) {
  .is-sp-hide {
    display: none !important;
  }
}

.is-pc-hide {
  display: none;
}

@media only screen and (max-width: 768px) {
  .is-pc-hide {
    display: block;
  }
}

/* --------------------------------------------------------------------------
   4-5. Image
   -------------------------------------------------------------------------- */

.c-img {
  line-height: 0;
}

.c-img img {
  max-width: 100%;
  height: auto;
}

.c-no_adjust img {
  width: auto !important;
  max-width: 100%;
}

.c-img_comment {
  font-size: 0.86rem;
  color: #666;
  line-height: 1.5;
}

/* --------------------------------------------------------------------------
   4-6. List
   -------------------------------------------------------------------------- */

.c-list-sign li {
  padding-left: 1em;
  position: relative;
}

.c-list-sign li::before {
  content: "・";
  position: absolute;
  left: 0;
}

.c-list-no_mark {
  list-style: none;
  padding-left: 0;
}

.c-list_indent li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}

.c-list_news li {
  border-bottom: 1px solid #eee;
  padding: 0.5em 0;
}

/* --------------------------------------------------------------------------
   4-7. Navigation
   -------------------------------------------------------------------------- */

.c-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-menu li {
  display: inline-block;
}

@media only screen and (max-width: 768px) {
  .c-menu li {
    display: block;
  }
}

.-menu_a li a {
  display: block;
}

.-menu_right {
  text-align: right;
}

.c-sp_navigation_btn {
  display: none;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .c-sp_navigation_btn {
    display: block;
  }
}

/* --------------------------------------------------------------------------
   4-8. Widget (w-*)
   -------------------------------------------------------------------------- */

.w-base {
  position: fixed;
  opacity: 0;
  z-index: 800;
}

.w-left {
  left: 0;
}

.w-right {
  right: 0;
}

.w-top {
  top: 0;
}

.w-middle {
  top: 50%;
  transform: translateY(-50%);
}

.w-bottom {
  bottom: 0;
}

/* --------------------------------------------------------------------------
   4-9. Motion / Slide
   -------------------------------------------------------------------------- */

.m-motion {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.js-slide {
  overflow: hidden;
}

/* ==========================================================================
   SECTION 5: アニメーション・keyframes
   ========================================================================== */

/* --------------------------------------------------------------------------
   5-1. Animation Base Classes
   -------------------------------------------------------------------------- */

.init-block_animation {
  animation-duration: 1s;
  animation-fill-mode: both;
  opacity: 0;
}

.init-block_animation.--hinge {
  animation-duration: 2s;
}

.init-block_animation.-infinite {
  animation-iteration-count: infinite;
}

@media (max-width: 768px) {
  .init-block_animation {
    opacity: 1;
    animation: none;
  }
}

.init-sp-block_animation {
  animation-duration: 1s;
  animation-fill-mode: both;
}

/* --------------------------------------------------------------------------
   5-2. Animation Name Classes
   -------------------------------------------------------------------------- */

.init-block_animation.-fadeIn,
.init-sp-block_animation.-fadeIn {
  animation-name: fadeIn;
}

.init-block_animation.-fadeInLeft,
.init-sp-block_animation.-fadeInLeft {
  animation-name: fadeInLeft;
}

.init-block_animation.-fadeInRight,
.init-sp-block_animation.-fadeInRight {
  animation-name: fadeInRight;
}

.init-block_animation.-fadeInUp,
.init-sp-block_animation.-fadeInUp {
  animation-name: fadeInUp;
}

.init-block_animation.-fadeInDown,
.init-sp-block_animation.-fadeInDown {
  animation-name: fadeInDown;
}

/* --------------------------------------------------------------------------
   5-3. Both Side In
   -------------------------------------------------------------------------- */

.init-block_animation.-bothSideIn:first-child,
.init-sp-block_animation.-bothSideIn:first-child {
  animation-name: fadeInLeft;
}

.init-block_animation.-bothSideIn:last-child,
.init-sp-block_animation.-bothSideIn:last-child {
  animation-name: fadeInRight;
}

/* --------------------------------------------------------------------------
   5-4. @keyframes
   -------------------------------------------------------------------------- */

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-100%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==========================================================================
   SECTION 6: b-both_diff explicit column override
   ========================================================================== */

/* When an explicit -col class is set alongside -right_large/-left_large,
   the explicit width must win. The :first-child/:last-child rules above have
   specificity (0,5,0); so do these rules — but these come LATER in the file,
   so cascade order gives them priority over the preset widths.              */
.b-both_diff.-right_large .g-column > .column.-col1,
.b-both_diff.-left_large  .g-column > .column.-col1  { width: 8.333%; }
.b-both_diff.-right_large .g-column > .column.-col2,
.b-both_diff.-left_large  .g-column > .column.-col2  { width: 16.666%; }
.b-both_diff.-right_large .g-column > .column.-col3,
.b-both_diff.-left_large  .g-column > .column.-col3  { width: 25%; }
.b-both_diff.-right_large .g-column > .column.-col4,
.b-both_diff.-left_large  .g-column > .column.-col4  { width: 33.333%; }
.b-both_diff.-right_large .g-column > .column.-col5,
.b-both_diff.-left_large  .g-column > .column.-col5  { width: 41.666%; }
.b-both_diff.-right_large .g-column > .column.-col6,
.b-both_diff.-left_large  .g-column > .column.-col6  { width: 50%; }
.b-both_diff.-right_large .g-column > .column.-col7,
.b-both_diff.-left_large  .g-column > .column.-col7  { width: 58.333%; }
.b-both_diff.-right_large .g-column > .column.-col8,
.b-both_diff.-left_large  .g-column > .column.-col8  { width: 66.666%; }
.b-both_diff.-right_large .g-column > .column.-col9,
.b-both_diff.-left_large  .g-column > .column.-col9  { width: 75%; }
.b-both_diff.-right_large .g-column > .column.-col10,
.b-both_diff.-left_large  .g-column > .column.-col10 { width: 83.333%; }
.b-both_diff.-right_large .g-column > .column.-col11,
.b-both_diff.-left_large  .g-column > .column.-col11 { width: 91.666%; }
.b-both_diff.-right_large .g-column > .column.-col12,
.b-both_diff.-left_large  .g-column > .column.-col12 { width: 100%; margin-left: 0; margin-right: 0; }

/* ==========================================================================
   SECTION 7: Block style overrides
   (セレクター名は 旧CMS 側のクラス名のため変更不可)
   ========================================================================== */

/* Header logo: constrain height so oversized raster images don't blow up the header */
.a-header .c-page_title img,
.a-ghost_header .c-page_title img {
  max-height: 60px;
  width: auto;
}

/* b-album: ensure centering works even without a g-column wrapper */
.b-album {
  text-align: center;
}

/* RightSquare overlay block (lp-skin-rightsq):
   旧CMS CSS gives column2 margin-top: 10% and margin-left: -10% for the
   overlapping card effect. We set equal widths and reset column1's margins,
   but must NOT reset column2's margins so the overlay positioning is preserved. */
.lp-skin-rightsq.b-plain .g-column > .column {
  width: 50%;
  position: relative;
  padding-bottom: 60px;
}

/* column1: reset c-space_normal margins */
.lp-skin-rightsq.b-plain .g-column > .column.-column1 {
  margin: 0;
}

/* column2: reset only margin-right; 旧CMS CSS supplies margin-top: 10% and margin-left: -10% */
.lp-skin-rightsq.b-plain .g-column > .column.-column2 {
  margin-right: 0;
  padding-bottom: 60px;
}

/* margin-bottom creates space OUTSIDE the block background,
   so a visible gap appears between block-6 and block-7 backgrounds */
.lp-skin-rightsq.b-plain {
  margin-bottom: 60px;
}

/* lp-icon SVG re-implementation (Batonz) — 旧旧CMSアイコンフォントを
   自前インラインSVG(mask+currentColor)で代替。色は周囲のテキストを継承。 */
.lp-icon-location2::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='10'%20r='3'/%3E%3Cpath%20d='M12%2021.7C17.3%2017%2020%2013%2020%2010a8%208%200%201%200-16%200c0%203%202.7%207%208%2011.7z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='10'%20r='3'/%3E%3Cpath%20d='M12%2021.7C17.3%2017%2020%2013%2020%2010a8%208%200%201%200-16%200c0%203%202.7%207%208%2011.7z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-envelop::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='2'/%3E%3Cpath%20d='M3%207l9%206%209-6'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='3'%20y='5'%20width='18'%20height='14'%20rx='2'/%3E%3Cpath%20d='M3%207l9%206%209-6'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-phone2::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7%2012.8%2012.8%200%200%200%20.7%202.8%202%202%200%200%201-.5%202.1L8.1%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.5%2012.8%2012.8%200%200%200%202.8.7A2%202%200%200%201%2022%2016.9z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7%2012.8%2012.8%200%200%200%20.7%202.8%202%202%200%200%201-.5%202.1L8.1%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.5%2012.8%2012.8%200%200%200%202.8.7A2%202%200%200%201%2022%2016.9z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-clock2::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='10'/%3E%3Cpath%20d='M12%206v6l4%202'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='12'%20cy='12'%20r='10'/%3E%3Cpath%20d='M12%206v6l4%202'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-user-tie::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2021v-2a4%204%200%200%200-4-4H8a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='12'%20cy='7'%20r='4'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M20%2021v-2a4%204%200%200%200-4-4H8a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='12'%20cy='7'%20r='4'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-users2::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='9'%20cy='7'%20r='4'/%3E%3Cpath%20d='M23%2021v-2a4%204%200%200%200-3-3.9'/%3E%3Cpath%20d='M16%203.1a4%204%200%200%201%200%207.8'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M17%2021v-2a4%204%200%200%200-4-4H5a4%204%200%200%200-4%204v2'/%3E%3Ccircle%20cx='9'%20cy='7'%20r='4'/%3E%3Cpath%20d='M23%2021v-2a4%204%200%200%200-3-3.9'/%3E%3Cpath%20d='M16%203.1a4%204%200%200%201%200%207.8'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-quill::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M11%204H4a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2v-7'/%3E%3Cpath%20d='M18.5%202.5a2.1%202.1%200%200%201%203%203L12%2015l-4%201%201-4%209.5-9.5z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M11%204H4a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14a2%202%200%200%200%202-2v-7'/%3E%3Cpath%20d='M18.5%202.5a2.1%202.1%200%200%201%203%203L12%2015l-4%201%201-4%209.5-9.5z'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-office::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%209l9-7%209%207v11a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z'/%3E%3Cpath%20d='M9%2022V12h6v10'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M3%209l9-7%209%207v11a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2z'/%3E%3Cpath%20d='M9%2022V12h6v10'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-file-text::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3E%3Cpath%20d='M14%202v6h6'/%3E%3Cpath%20d='M8%2013h8'/%3E%3Cpath%20d='M8%2017h8'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3E%3Cpath%20d='M14%202v6h6'/%3E%3Cpath%20d='M8%2013h8'/%3E%3Cpath%20d='M8%2017h8'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-display::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='3'%20width='20'%20height='14'%20rx='2'/%3E%3Cpath%20d='M8%2021h8'/%3E%3Cpath%20d='M12%2017v4'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Crect%20x='2'%20y='3'%20width='20'%20height='14'%20rx='2'/%3E%3Cpath%20d='M8%2021h8'/%3E%3Cpath%20d='M12%2017v4'/%3E%3C/svg%3E") no-repeat center / contain;
}

.lp-icon-spinner6::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: 0.3em;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%202v4'/%3E%3Cpath%20d='M12%2018v4'/%3E%3Cpath%20d='M4.9%204.9l2.9%202.9'/%3E%3Cpath%20d='M16.2%2016.2l2.9%202.9'/%3E%3Cpath%20d='M2%2012h4'/%3E%3Cpath%20d='M18%2012h4'/%3E%3Cpath%20d='M4.9%2019.1l2.9-2.9'/%3E%3Cpath%20d='M16.2%207.8l2.9-2.9'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%202v4'/%3E%3Cpath%20d='M12%2018v4'/%3E%3Cpath%20d='M4.9%204.9l2.9%202.9'/%3E%3Cpath%20d='M16.2%2016.2l2.9%202.9'/%3E%3Cpath%20d='M2%2012h4'/%3E%3Cpath%20d='M18%2012h4'/%3E%3Cpath%20d='M4.9%2019.1l2.9-2.9'/%3E%3Cpath%20d='M16.2%207.8l2.9-2.9'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* --------------------------------------------------------------------------
   SP グローバルナビ（rightSlide）基底 — bind.css 取りこぼし補完
   既定はオフスクリーン(left:100%)、batonz.js が .btz-open で left:0 にスライドイン
   -------------------------------------------------------------------------- */
@media print, screen and (max-width: 768px) {
  #js-globalNavigation[data-slide-type="rightSlide"] {
    position: fixed; top: 0; left: 100%;
    height: 100%; max-height: 100vh; overflow-y: auto;
    z-index: 9990; box-sizing: border-box;
  }
  /* ハンバーガートリガーを右上固定で常時表示（rightTop_fixed） */
  .c-sp_navigation_btn {
    display: block; position: fixed; top: 12px; right: 12px; z-index: 9999;
  }
}
/* コピーライトは14pxに統一（d-large_font巨大化の影響是正）2026-06-24 */
.c-credit, .c-credit * { font-size: 14px !important; }
