/* Zen Kaku Gothic New (SIL OFL 1.1) — self-hosted via @fontsource, unicode-range subsets (700 only: headings/emphasis) */
/* zen-kaku-gothic-new-[63]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-63-700-normal.woff2) format('woff2');
  unicode-range: U+2ca-2cb,U+2229,U+2468,U+2669,U+266f,U+273f,U+4ec0,U+4f60,U+4fb6,U+5347,U+540e,U+543b,U+5b0c,U+5d4c,U+5f14,U+5f9e,U+6155,U+62d0,U+6602,U+6666,U+66f3,U+67a2,U+67ca,U+69cc,U+6d29,U+6d9b,U+6e3e,U+6f81,U+7109,U+73c0,U+73c2,U+7425,U+7435-7436,U+7525,U+7554,U+785d,U+786b,U+7ae3,U+7b94,U+7d18,U+81bf,U+8511,U+8549,U+9075,U+9640,U+98e2,U+9e9f,U+ff96;
}

/* zen-kaku-gothic-new-[64]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-64-700-normal.woff2) format('woff2');
  unicode-range: U+2467,U+4ece,U+4ed4,U+4f91,U+4fae,U+534d,U+53c9,U+54b3,U+586b,U+5944,U+5b78,U+5df7,U+5f77,U+6101,U+6167-6168,U+61a4,U+62d9,U+698a,U+699b,U+6a59,U+6cc4,U+6e07,U+7099,U+75d2,U+77ad,U+7953,U+7984,U+7a92,U+7baa,U+7dbb,U+817f,U+82ad,U+85e9,U+868a,U+8caa,U+8f44,U+9017,U+907c,U+908a,U+92f3,U+936e,U+9435,U+978d,U+9838,U+9a28,U+9b41,U+9ba8,U+9c57,U+9eb9;
}

/* zen-kaku-gothic-new-[65]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-65-700-normal.woff2) format('woff2');
  unicode-range: U+b1,U+309b,U+4e5e,U+51f1,U+5506,U+55c5,U+58cc,U+59d1,U+5c51,U+5ef7,U+6284,U+62d7,U+6689,U+673d,U+6a2b,U+6a8e,U+6a9c,U+6d63,U+6dd1,U+70b8,U+7235,U+72db,U+72f8,U+7560,U+7c9b,U+7ce7,U+7e1e,U+80af,U+82eb,U+8463,U+8499,U+85dd,U+86ee,U+8a60,U+8a6e,U+8c79,U+8e87,U+8e8a,U+8f5f,U+9010,U+918d,U+9190,U+965b,U+97fb,U+9ab8,U+9bad,U+9d3b,U+9d5c,U+9dfa,U+9e93;
}

/* zen-kaku-gothic-new-[66]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-66-700-normal.woff2) format('woff2');
  unicode-range: U+2020,U+3003,U+3231,U+4e9b,U+4f3d,U+4f47,U+51b6,U+51dc,U+53e1,U+5bc5,U+602f,U+60bc,U+61c9,U+633d,U+637b,U+6492,U+65fa,U+660f,U+66f0,U+6703,U+681e,U+6876,U+6893,U+6912,U+698e,U+6c7d,U+714c,U+7169,U+71d5,U+725f,U+72d7,U+745b,U+74dc,U+75e2,U+7891,U+7897,U+7dcb,U+810a,U+8218,U+8339,U+840e,U+852d,U+8823,U+8a0a,U+9089,U+919c,U+971c,U+9ad9,U+ff4a,U+ff5a;
}

/* zen-kaku-gothic-new-[67]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-67-700-normal.woff2) format('woff2');
  unicode-range: U+2466,U+2600,U+4eab,U+4fe3,U+4ff5,U+51a5,U+51f0,U+536f,U+53d4,U+53f1,U+54a5,U+559d,U+55e3,U+58fa,U+5962,U+59ea,U+5c16,U+5cef,U+5d16,U+5f10,U+5fd6,U+6190,U+6216,U+634f,U+63bb,U+66d6,U+6756,U+6bc5,U+6e26,U+727d,U+731f,U+76f2,U+7729,U+7a7f,U+7aff,U+7c9f,U+818f,U+8236,U+82b9,U+8338,U+85aa,U+88b4,U+8b33,U+904d,U+93a7,U+96cc,U+96eb,U+9aed,U+9b8e,U+fa11;
}

/* zen-kaku-gothic-new-[68]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-68-700-normal.woff2) format('woff2');
  unicode-range: U+251c,U+2523,U+4e14,U+545f,U+54bd,U+553e,U+55dc,U+56da,U+589c,U+5b55,U+5bb5,U+5ce1,U+5df4,U+5eb6,U+5ec9,U+6191,U+62f7,U+6357,U+64a5,U+6591,U+65bc,U+6897,U+6e1a,U+7063,U+711a,U+721b,U+722c,U+75b9,U+75d5,U+75fa,U+7766,U+7aae,U+7b48,U+7b8b,U+7d21,U+7e55,U+7f75,U+842c,U+8910,U+8a63,U+8b39,U+8b5a,U+8cdc,U+8d74,U+907d,U+91e7,U+9306,U+96bc,U+98f4,U+9ac4;
}

/* zen-kaku-gothic-new-[70]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-70-700-normal.woff2) format('woff2');
  unicode-range: U+266b,U+3006,U+5176,U+5197,U+51a8,U+51c6,U+52f2,U+5614,U+5875,U+5a2f,U+5b54,U+5ce0,U+5dba,U+5deb,U+5e63,U+5f59,U+5fcc,U+6068,U+6367,U+68b6,U+6a0b,U+6b64,U+6e15,U+6eba,U+7272,U+72a0,U+7947,U+7985,U+79e6,U+79e9,U+7a3d,U+7a9f,U+7aaf,U+7b95,U+7f60,U+7f9e,U+7fe0,U+8098,U+80ba,U+8106,U+82d4,U+831c,U+87f9,U+8a1f,U+8acf,U+90c1,U+920d,U+9756,U+fe43,U+ff94;
}

/* zen-kaku-gothic-new-[71]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-71-700-normal.woff2) format('woff2');
  unicode-range: U+af,U+2465,U+2517,U+33a1,U+4f10,U+50c5,U+51b4,U+5384,U+5606,U+5bb0,U+5cac,U+5ee3,U+618e,U+61f2,U+62c9,U+66ab,U+66f9,U+6816,U+6960,U+6b3e,U+6f20,U+7078,U+72d0,U+73ed,U+7ad9,U+7b1b,U+7be4,U+7d62,U+7f51,U+80b4,U+80f4,U+8154,U+85fb,U+865c,U+8702,U+895f,U+8aed,U+8b90,U+8ced,U+8fbf,U+91d8,U+9418,U+9583,U+9591,U+9813,U+982c,U+9bd6,U+ff46,U+ff7f,U+ff88;
}

/* zen-kaku-gothic-new-[73]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-73-700-normal.woff2) format('woff2');
  unicode-range: U+221e,U+2514,U+51f9,U+5270,U+5449,U+5824,U+59a5,U+5a29,U+5d07,U+5e16,U+60e3,U+614c,U+6276,U+643e,U+64ab,U+6562,U+6681,U+670b,U+6734,U+67af,U+6a3d,U+6b05,U+6dc0,U+6e4a,U+7259,U+732a,U+7409,U+78a7,U+7a6b,U+8015,U+809b,U+817a,U+830e,U+837b,U+85ab,U+8a23,U+8a93,U+8b00,U+8b19,U+8b21,U+8cbf,U+8fb0,U+901d,U+91b8,U+9320,U+932c,U+9688,U+96f6,U+9df2,U+ff6a;
}

/* zen-kaku-gothic-new-[74]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-74-700-normal.woff2) format('woff2');
  unicode-range: U+2002,U+2025,U+4f8d,U+51e1,U+51f8,U+5507,U+5598,U+58f1,U+5983,U+59ac,U+5c3c,U+5de7,U+5e7d,U+5eca,U+5f61,U+606d,U+60f9,U+636e,U+64ec,U+67da,U+67ff,U+6813,U+68f2,U+693f,U+6b6a,U+6bbb,U+6ef4,U+7092,U+717d,U+7261,U+73c8,U+7432,U+7483,U+76fe,U+7709,U+78d0,U+81a3,U+81b3,U+82af,U+8305,U+8309,U+8870,U+88fe,U+8cd1,U+8d66,U+906e,U+971e,U+9812,U+ff79,U+ff90;
}

/* zen-kaku-gothic-new-[75]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-75-700-normal.woff2) format('woff2');
  unicode-range: U+2464,U+2501,U+2640,U+2642,U+339d,U+4f0e,U+5091,U+50b5,U+5132,U+51cc,U+558b,U+55aa,U+585e,U+5bee,U+5dfe,U+60b6,U+62b9,U+6349,U+6566,U+6590,U+6842,U+689d,U+6a58,U+6c70,U+6ff1,U+7815,U+7881,U+7aaa,U+7bc7,U+7def,U+7fa8,U+8017,U+8036,U+8061,U+821f,U+8429,U+8ce0,U+8e74,U+9019,U+90ca,U+9162,U+932f,U+93ae,U+9644,U+990c,U+9cf3,U+ff56,U+ff6e,U+ff7e,U+ff85;
}

/* zen-kaku-gothic-new-[76]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-76-700-normal.woff2) format('woff2');
  unicode-range: U+2266-2267,U+4f2f,U+5208,U+5451,U+546a,U+5589,U+576a,U+5815,U+5a9a,U+5b9b,U+5c3a,U+5efb,U+5faa,U+6109,U+6643,U+6652,U+695a,U+69fd,U+6b86,U+6bb4,U+6daf,U+7089,U+70cf,U+7a00,U+7a4f,U+7b39,U+7d33,U+80e1,U+828b,U+82a6,U+86cd,U+8c8c,U+8cca,U+8df3,U+9077,U+9175,U+91dc,U+925b,U+9262,U+9271,U+92ed,U+9855,U+9905,U+9d28,U+ff3f,U+ff58,U+ff68,U+ff6d,U+ff9c;
}

/* zen-kaku-gothic-new-[77]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-77-700-normal.woff2) format('woff2');
  unicode-range: U+2207,U+25ef,U+309c,U+4e4f,U+5146,U+51dd,U+5351,U+540a,U+5629,U+5eb5,U+5f04,U+5f13,U+60dc,U+6212,U+63b4,U+642c,U+6627,U+66a6,U+66c7,U+66fd,U+674e,U+6b96,U+6c4e,U+6df3,U+6e67,U+6f84,U+72fc,U+733f,U+7c97,U+7db1,U+7e4d,U+816b,U+82d1,U+84cb,U+854e,U+8607,U+86c7,U+871c,U+8776,U+8a89,U+8fc4,U+91a4,U+9285,U+9685,U+9903,U+9b31,U+9f13,U+ff42,U+ff74,U+ff91;
}

/* zen-kaku-gothic-new-[78]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-78-700-normal.woff2) format('woff2');
  unicode-range: U+4e32,U+51db,U+53a8,U+53ea,U+5609,U+5674,U+5a92,U+5e7e,U+6115,U+611a,U+62cc,U+62ed,U+63c9,U+64b9,U+64e6,U+65cb,U+6606,U+6731,U+683d,U+6afb,U+7460,U+771e,U+78ef,U+7b26,U+7b51,U+7cde,U+7d10,U+7d2f,U+7d46,U+80de,U+819c,U+84b2,U+85cd,U+865a,U+8ecc,U+9022,U+90b8,U+9192,U+9675,U+96b7,U+99ff,U+ff44,U+ff55,U+ff6c,U+ff73,U+ff75,U+ff86,U+ff8d,U+ff92,U+ffe3;
}

/* zen-kaku-gothic-new-[79]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-79-700-normal.woff2) format('woff2');
  unicode-range: U+25b3,U+30f5,U+4eae,U+4f46,U+4f51,U+5203,U+52ff,U+55a7,U+564c,U+565b,U+57f9,U+5805,U+5b64,U+5e06,U+5f70,U+5f90,U+60e8,U+6182,U+62f3,U+62fe,U+63aa,U+64a4,U+65d7,U+673a,U+6851,U+68cb,U+68df,U+6d1e,U+6e58,U+6e9d,U+77b3,U+7832,U+7c3f,U+7db4,U+7f70,U+80aa,U+80c6,U+8105,U+819d,U+8276,U+8679,U+8986,U+8c9d,U+8fc5,U+916c,U+9665,U+9699,U+96c0,U+9a19,U+ff8b;
}

/* zen-kaku-gothic-new-[80]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-80-700-normal.woff2) format('woff2');
  unicode-range: U+2463,U+25a1,U+4ef0,U+5076,U+5098,U+51fd,U+5302,U+5448,U+54c9,U+570b,U+583a,U+5893,U+58a8,U+58ee,U+5949,U+5bdb,U+5f26,U+5f81,U+6052,U+6170,U+61c7,U+631f,U+635c,U+664b,U+69fb,U+6f01,U+7070,U+722a,U+745e,U+755c,U+76c6,U+78c1,U+79e4,U+7bb8,U+7d0b,U+81a8,U+82d7,U+8b5c,U+8f14,U+8fb1,U+8fbb,U+9283,U+9298,U+9a30,U+ff03,U+ff50,U+ff59,U+ff7b,U+ff8e-ff8f;
}

/* zen-kaku-gothic-new-[81]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-81-700-normal.woff2) format('woff2');
  unicode-range: U+2010,U+2502,U+25b6,U+4f3a,U+514b,U+5265,U+52c3,U+5339,U+53ec,U+54c0,U+55b0,U+5854,U+5b8f,U+5cb3,U+5e84,U+60da,U+6247,U+6249,U+628a,U+62cd,U+65ac,U+6838,U+690e,U+6cf0,U+6f02,U+6f2c,U+6f70,U+708a,U+7434,U+75be,U+77ef,U+7c60,U+7c98,U+7d1b,U+7e2b,U+80a5,U+81e3,U+820c,U+8210,U+8475,U+862d,U+8650,U+8997,U+906d,U+91c8,U+9700,U+9727,U+9df9,U+ff3a,U+ff9a;
}

/* zen-kaku-gothic-new-[82]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-82-700-normal.woff2) format('woff2');
  unicode-range: U+2103,U+5049,U+52b1,U+5320,U+5553,U+572d,U+58c7,U+5b5d,U+5bc2,U+5de3,U+5e61,U+5f80,U+61a9,U+67d0,U+67f4,U+6c88,U+6ca1,U+6ce5,U+6d78,U+6e9c,U+6f54,U+731b,U+73b2,U+74a7,U+74f6,U+75e9,U+7b20,U+7c8b,U+7f72,U+809d,U+8108,U+82b3,U+82bd,U+84b8,U+84c4,U+88c2,U+8ae6,U+8ef8,U+902e,U+9065,U+9326,U+935b,U+938c,U+9676,U+9694,U+96f7,U+9ed9,U+ff48,U+ff4c,U+ff81;
}

/* zen-kaku-gothic-new-[83]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-83-700-normal.woff2) format('woff2');
  unicode-range: U+2500,U+3008-3009,U+4ead,U+4f0f,U+4fca,U+53eb,U+543e,U+57a2,U+5cf0,U+5e8f,U+5fe0,U+61b2,U+62d8,U+6442,U+64b2,U+6589,U+659c,U+67f1,U+68c4,U+6cb8,U+6d12,U+6de1,U+6fe1,U+70c8,U+723d,U+73e0,U+7656,U+773a,U+7948,U+7b87,U+7c92,U+7d3a,U+7e1b,U+7e4a,U+819a,U+8358,U+83c5,U+84bc,U+864e,U+8912,U+8c9e,U+8d05,U+92fc,U+9396,U+98fd,U+99d2,U+ff64,U+ff7a,U+ff83;
}

/* zen-kaku-gothic-new-[84]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-84-700-normal.woff2) format('woff2');
  unicode-range: U+3014-3015,U+4e3c,U+5036,U+5075,U+533f,U+53e9,U+5531,U+5642,U+5984,U+59e6,U+5a01,U+5b6b,U+5c0b,U+5f25,U+6069,U+60a0,U+614e,U+62b5,U+62d2-62d3,U+6597,U+660c,U+674f,U+67cf,U+6841,U+6905,U+6cf3,U+6d32,U+6d69,U+6f64,U+716e,U+7761,U+7b52,U+7be0,U+7dbf,U+7de9,U+7f36,U+81d3,U+8302,U+8389,U+846c,U+84ee,U+8a69,U+9038,U+9d8f,U+ff47,U+ff4b,U+ff76,U+ff9b;
}

/* zen-kaku-gothic-new-[85]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-85-700-normal.woff2) format('woff2');
  unicode-range: U+25c7,U+3007,U+504f,U+507d,U+51a0,U+52a3,U+5410,U+5510,U+559a,U+5782,U+582a,U+5c0a,U+5c3f,U+5c48,U+5f6b,U+6176,U+622f,U+6279,U+62bd,U+62dd,U+65ed,U+67b6,U+6817,U+6850,U+6d6a,U+6deb,U+6ea2,U+6edd,U+6f5c,U+72e9,U+73a9,U+7573,U+76bf,U+7950,U+7956,U+7f8a,U+7ffc,U+80a2,U+80c3,U+83ca,U+8a02,U+8a13,U+8df5,U+9375,U+983b,U+99b4,U+ff4e,U+ff71,U+ff89,U+ff97;
}

/* zen-kaku-gothic-new-[86]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-86-700-normal.woff2) format('woff2');
  unicode-range: U+24,U+2022,U+2212,U+221f,U+2665,U+4ecf,U+5100,U+51cd,U+52d8,U+5378,U+53f6,U+574a,U+5982,U+5996,U+5c1a,U+5e1d,U+5f84,U+609f,U+61a7,U+61f8,U+6398,U+63ee,U+6676,U+6691,U+6eb6,U+7126,U+71e5,U+7687,U+7965,U+7d17,U+80a1,U+8107,U+8266,U+85a6,U+8987,U+8ca2,U+8cab,U+8e0a,U+9042,U+95c7,U+9810,U+9867,U+98fc,U+ff52-ff54,U+ff61,U+ff77,U+ff98-ff99;
}

/* zen-kaku-gothic-new-[87]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-87-700-normal.woff2) format('woff2');
  unicode-range: U+b0,U+226a,U+2462,U+4e39,U+4fc3,U+4fd7,U+50be,U+50da,U+5200,U+5211,U+54f2,U+5618,U+596a,U+5b22,U+5bb4,U+5d50,U+60a3,U+63fa,U+658e,U+65e8,U+6669,U+6795,U+679d,U+67a0,U+6b3a,U+6e09,U+757f,U+7cd6,U+7dbe,U+7ffb,U+83cc,U+83f1,U+840c,U+845b,U+8846,U+8972,U+8a34,U+8a50,U+8a87,U+8edf,U+8ff0,U+90a6,U+9154,U+95a3,U+9663,U+9686,U+96c7,U+ff3c,U+ff7c,U+ff8a;
}

/* zen-kaku-gothic-new-[88]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-88-700-normal.woff2) format('woff2');
  unicode-range: U+25bd,U+4e59,U+4ec1,U+4ff3,U+515a,U+518a,U+525b,U+5375,U+552f,U+57a3,U+5b9c,U+5c3d,U+5e3d,U+5e7b,U+5f0a,U+6094,U+6458,U+654f,U+67f3,U+6b8a,U+6bd2,U+6c37,U+6ce1,U+6e56,U+6e7f,U+6ed1,U+6ede,U+6f0f,U+70ad,U+7267,U+7363,U+786c,U+7a42,U+7db2,U+7f85,U+8178,U+829d,U+8896,U+8c5a,U+8cb0,U+8ce2,U+8ed2,U+9047,U+9177,U+970a,U+9ea6,U+ff1b,U+ff31,U+ff39,U+ff80;
}

/* zen-kaku-gothic-new-[89]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-89-700-normal.woff2) format('woff2');
  unicode-range: U+a5,U+4e80,U+4f34,U+4f73,U+4f75,U+511f,U+5192,U+52aa,U+53c8,U+570f,U+57cb,U+596e,U+5d8b,U+5f66,U+5fd9,U+62db,U+62f6,U+6328,U+633f,U+63a7,U+6469,U+6bbf,U+6c41,U+6c57,U+6d44,U+6dbc,U+706f,U+72c2,U+72ed,U+7551,U+75f4,U+7949,U+7e26,U+7fd4,U+8150,U+8af8,U+8b0e,U+8b72,U+8ca7,U+934b,U+9a0e,U+9a12,U+9b42,U+ff41,U+ff43,U+ff45,U+ff49,U+ff4f,U+ff62-ff63;
}

/* zen-kaku-gothic-new-[90]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-90-700-normal.woff2) format('woff2');
  unicode-range: U+4e18,U+4fb5,U+5104,U+52c7,U+5353,U+5374,U+53e5,U+587e,U+594f,U+5a20,U+5de1,U+5f18,U+5fcd,U+6291,U+62ab,U+6355,U+6392,U+63da,U+63e1,U+656c,U+6687,U+68b0-68b1,U+68d2,U+68da,U+6b27,U+6cbc,U+7159,U+7344,U+73cd,U+76df,U+790e,U+7cf8,U+8102,U+88c1,U+8aa0,U+8e0f,U+9178,U+92ad,U+9670,U+96c5,U+9cf4,U+9db4,U+ff3e,U+ff6f,U+ff72,U+ff78,U+ff7d,U+ff84,U+ff8c;
}

/* zen-kaku-gothic-new-[91]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-91-700-normal.woff2) format('woff2');
  unicode-range: U+60,U+2200,U+226b,U+2461,U+517c,U+526f,U+5800,U+5b97,U+5bf8,U+5c01,U+5d29,U+5e4c,U+5e81,U+6065,U+61d0,U+667a,U+6696,U+6843,U+6c99,U+6d99,U+6ec5,U+6f22,U+6f6e,U+6fa4,U+6fef,U+71c3,U+72d9,U+7384,U+78e8,U+7a1a,U+7a32,U+7a3c,U+7adc,U+7ca7,U+7d2b,U+7dad,U+7e4b,U+80a9,U+8170,U+81ed,U+820e,U+8a17,U+8afe,U+90aa,U+914e,U+963f,U+99c4,U+9eba,U+9f3b,U+ff38;
}

/* zen-kaku-gothic-new-[92]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-92-700-normal.woff2) format('woff2');
  unicode-range: U+2460,U+4e5f,U+4e7e,U+4ed9,U+501f,U+502b,U+5968,U+5974,U+5ac1,U+5b99,U+5ba3,U+5be7,U+5be9,U+5c64,U+5cb8,U+5ec3,U+5f1f,U+616e,U+6297,U+62e0,U+62ec,U+6368,U+642d,U+65e6,U+6717,U+676f,U+6b04,U+732e,U+7652,U+76ca,U+76d7,U+7802,U+7e70,U+7f6a,U+8133,U+81e8,U+866b,U+878d,U+88f8,U+8a5e,U+8cdb,U+8d08,U+907a,U+90e1,U+96f2,U+9f8d,U+ff35,U+ff37,U+ff40,U+ff9d;
}

/* zen-kaku-gothic-new-[93]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-93-700-normal.woff2) format('woff2');
  unicode-range: U+21d2,U+25ce,U+300a-300b,U+4e89,U+4e9c,U+4ea1,U+5263,U+53cc,U+5426,U+5869,U+5947,U+598a,U+5999,U+5e55,U+5e72,U+5e79,U+5fae,U+5fb9,U+602a,U+6163,U+624d,U+6749,U+6c5a,U+6cbf,U+6d45,U+6dfb,U+6e7e,U+708e,U+725b,U+7763,U+79c0,U+7bc4,U+7c89,U+7e01,U+7e2e,U+8010,U+8033,U+8c6a,U+8cc3,U+8f1d,U+8f9b,U+8fb2,U+907f,U+90f7,U+9707,U+9818,U+9b3c,U+ff0a,U+ff4d;
}

/* zen-kaku-gothic-new-[94]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-94-700-normal.woff2) format('woff2');
  unicode-range: U+2015,U+2190,U+4e43,U+5019,U+5247,U+52e7,U+5438,U+54b2,U+55ab,U+57f7,U+5bd2,U+5e8a,U+5ef6,U+6016,U+60b2,U+6162,U+6319,U+6551,U+6607,U+66b4,U+675f,U+67d4,U+6b20,U+6b53,U+6ce3,U+719f,U+75b2,U+770b,U+7720,U+77ac,U+79d2,U+7af9,U+7d05,U+7dca,U+8056,U+80f8,U+81f3,U+8352,U+885d,U+8a70,U+8aa4,U+8cbc,U+900f,U+9084,U+91e3,U+9451,U+96c4,U+99c6,U+9ad4,U+ff70;
}

/* zen-kaku-gothic-new-[95]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-95-700-normal.woff2) format('woff2');
  unicode-range: U+2193,U+25b2,U+4e4b,U+516d,U+51c4,U+529f,U+52c9,U+5360,U+5442,U+5857,U+5915,U+59eb,U+5a9b,U+5c3b,U+6012,U+61b6,U+62b1,U+6311,U+6577,U+65e2,U+65ec,U+6613,U+6790,U+6cb9,U+7372,U+76ae,U+7d5e,U+7fcc,U+88ab,U+88d5,U+8caf,U+8ddd,U+8ecd,U+8f38,U+8f9e,U+8feb,U+9063,U+90f5,U+93e1,U+968a,U+968f,U+98fe,U+9ec4,U+ff1d,U+ff27,U+ff2a,U+ff36,U+ff3b,U+ff3d,U+ffe5;
}

/* zen-kaku-gothic-new-[96]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-96-700-normal.woff2) format('woff2');
  unicode-range: U+4e03,U+4f38,U+50b7,U+5264,U+5348,U+5371,U+585a,U+58ca,U+5951,U+59b9,U+59d4,U+5b98,U+5f8b,U+6388,U+64cd,U+65e7,U+6803,U+6b6f,U+6d66,U+6e0b,U+6ecb,U+6fc3,U+72ac,U+773c,U+77e2,U+7968,U+7a74,U+7dba,U+7dd1,U+7e3e,U+808c,U+811a,U+8179,U+8239,U+8584,U+8a0e,U+8a72,U+8b66,U+8c46,U+8f29,U+90a3,U+9234,U+96f0,U+9769,U+9774,U+9aa8,U+ff26,U+ff28,U+ff9e-ff9f;
}

/* zen-kaku-gothic-new-[97]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-97-700-normal.woff2) format('woff2');
  unicode-range: U+7e,U+b4,U+25c6,U+2661,U+4e92,U+4eee,U+4ffa,U+5144,U+5237,U+5287,U+52b4,U+58c1,U+5bff,U+5c04,U+5c06,U+5e95,U+5f31,U+5f93,U+63c3,U+640d,U+6557,U+6614,U+662f,U+67d3,U+690d,U+6bba,U+6e6f,U+72af,U+732b,U+7518,U+7ae0,U+7ae5,U+7af6,U+822a,U+89e6,U+8a3a,U+8a98,U+8cb8,U+8de1,U+8e8d,U+95d8,U+961c,U+96a3,U+96ea,U+9bae,U+ff20,U+ff22,U+ff29,U+ff2b-ff2c;
}

/* zen-kaku-gothic-new-[98]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-98-700-normal.woff2) format('woff2');
  unicode-range: U+25cb,U+4e71,U+4f59,U+50d5,U+520a,U+5217,U+5230,U+523a-523b,U+541b,U+5439,U+5747,U+59c9,U+5bdf,U+5c31,U+5de8,U+5e7c,U+5f69,U+6050,U+60d1,U+63cf,U+663c,U+67c4,U+6885,U+6c38,U+6d6e,U+6db2,U+6df7,U+6e2c,U+6f5f,U+7532,U+76e3-76e4,U+7701,U+793c,U+79f0,U+7a93,U+7d00,U+7de0,U+7e54,U+8328,U+8840,U+969c,U+96e8,U+9811,U+9aea,U+9b5a,U+ff24,U+ff2e,U+ff57;
}

/* zen-kaku-gothic-new-[99]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-99-700-normal.woff2) format('woff2');
  unicode-range: U+2191,U+505c,U+52e4,U+5305,U+535a,U+56e0,U+59bb,U+5acc,U+5b09,U+5b87,U+5c90,U+5df1,U+5e2d,U+5e33,U+5f3e,U+6298,U+6383,U+653b,U+6697,U+6804,U+6a39,U+6cca,U+6e90,U+6f2b,U+702c,U+7206,U+7236,U+7559,U+7565,U+7591,U+75c7,U+75db,U+7b4b,U+7bb1,U+7d99,U+7fbd,U+8131,U+885b,U+8b1d,U+8ff7,U+9003,U+9045,U+96a0,U+9732,U+990a,U+99d0,U+9e97,U+9f62,U+ff25,U+ff2d;
}

/* zen-kaku-gothic-new-[100]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-100-700-normal.woff2) format('woff2');
  unicode-range: U+4e08,U+4f9d,U+5012,U+514d,U+51b7,U+5275,U+53ca,U+53f8,U+5584,U+57fc,U+5b9d,U+5bfa,U+5c3e,U+5f01,U+5fb4,U+5fd7,U+606f,U+62e1,U+6563,U+6674,U+6cb3,U+6d3e,U+6d74,U+6e1b,U+6e2f,U+718a,U+7247,U+79d8,U+7d14,U+7d66,U+7d71,U+7df4,U+7e41,U+80cc,U+8155,U+83d3,U+8a95,U+8ab2,U+8ad6,U+8ca1,U+9000,U+9006,U+9678,U+97d3,U+9808,U+98ef,U+9a5a,U+9b45,U+ff23,U+ff30;
}

/* zen-kaku-gothic-new-[101]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-101-700-normal.woff2) format('woff2');
  unicode-range: U+25bc,U+3012,U+4ef2,U+4f0a,U+516b,U+5373,U+539a,U+53b3,U+559c,U+56f0,U+5727,U+5742,U+5965,U+59ff,U+5bc6,U+5dfb,U+5e45,U+5ead,U+5fb3,U+6211,U+6253,U+639b,U+63a8,U+6545,U+6575,U+6628,U+672d,U+68a8,U+6bdb,U+6d25,U+707d,U+767e,U+7834,U+7b46,U+7bc9,U+8074,U+82e6,U+8349,U+8a2a,U+8d70,U+8da3,U+8fce,U+91cc,U+967d,U+97ff,U+9996,U+ff1c,U+ff2f,U+ff32,U+ff34;
}

/* zen-kaku-gothic-new-[102]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-102-700-normal.woff2) format('woff2');
  unicode-range: U+3d,U+5e,U+25cf,U+4e0e,U+4e5d,U+4e73,U+4e94,U+4f3c,U+5009,U+5145,U+51ac,U+5238,U+524a,U+53f3,U+547c,U+5802,U+5922,U+5a66,U+5c0e,U+5de6,U+5fd8,U+5feb,U+6797,U+685c,U+6b7b,U+6c5f-6c60,U+6cc9,U+6ce2,U+6d17,U+6e21,U+7167,U+7642,U+76db,U+8001,U+821e,U+8857,U+89d2,U+8b1b,U+8b70,U+8cb4,U+8cde,U+8f03,U+8f2a,U+968e,U+9b54,U+9e7f,U+9ebb,U+ff05,U+ff33;
}

/* zen-kaku-gothic-new-[103]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-103-700-normal.woff2) format('woff2');
  unicode-range: U+500d,U+5074,U+50cd,U+5175,U+52e2,U+5352,U+5354,U+53f2,U+5409,U+56fa,U+5a18,U+5b88,U+5bdd,U+5ca9,U+5f92,U+5fa9,U+60a9,U+623f,U+6483,U+653f,U+666f,U+66ae,U+66f2,U+6a21,U+6b66,U+6bcd,U+6d5c,U+796d,U+7a4d,U+7aef,U+7b56,U+7b97,U+7c4d,U+7e04,U+7fa9,U+8377,U+83dc,U+83ef,U+8535,U+8863,U+88cf,U+88dc,U+8907,U+8acb,U+90ce,U+91dd,U+ff0b,U+ff0d,U+ff19,U+ff65;
}

/* zen-kaku-gothic-new-[104]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-104-700-normal.woff2) format('woff2');
  unicode-range: U+4e01,U+4e21,U+4e38,U+52a9,U+547d,U+592e,U+5931,U+5b63,U+5c40,U+5dde,U+5e78,U+5efa,U+5fa1,U+604b,U+6075,U+62c5,U+632f,U+6a19,U+6c0f,U+6c11,U+6c96,U+6e05,U+70ba,U+71b1,U+7387,U+7403,U+75c5,U+77ed,U+795d,U+7b54,U+7cbe,U+7d19,U+7fa4,U+8089,U+81f4,U+8208,U+8336,U+8457,U+8a33,U+8c4a,U+8ca0,U+8ca8,U+8cc0,U+9014,U+964d,U+9803,U+983c,U+98db,U+ff17,U+ff21;
}

/* zen-kaku-gothic-new-[105]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-105-700-normal.woff2) format('woff2');
  unicode-range: U+25,U+25a0,U+4e26,U+4f4e,U+5341,U+56f2,U+5bbf,U+5c45,U+5c55,U+5c5e,U+5dee,U+5e9c,U+5f7c,U+6255,U+627f,U+62bc,U+65cf,U+661f,U+666e,U+66dc,U+67fb,U+6975,U+6a4b,U+6b32,U+6df1,U+6e29,U+6fc0,U+738b,U+7686,U+7a76,U+7a81,U+7c73,U+7d75,U+7dd2,U+82e5,U+82f1,U+85ac,U+888b,U+899a,U+8a31,U+8a8c,U+8ab0,U+8b58,U+904a,U+9060,U+9280,U+95b2,U+984d,U+9ce5,U+ff18;
}

/* zen-kaku-gothic-new-[106]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-106-700-normal.woff2) format('woff2');
  unicode-range: U+30f6,U+50ac,U+5178,U+51e6,U+5224,U+52dd,U+5883,U+5897,U+590f,U+5a5a,U+5bb3,U+5c65,U+5e03,U+5e2b,U+5e30,U+5eb7,U+6271,U+63f4,U+64ae,U+6574,U+672b,U+679a,U+6a29-6a2a,U+6ca2,U+6cc1,U+6d0b,U+713c,U+74b0,U+7981,U+7a0b,U+7bc0,U+7d1a,U+7d61,U+7fd2,U+822c,U+8996,U+89aa,U+8cac,U+8cbb,U+8d77,U+8def,U+9020,U+9152,U+9244,U+9662,U+967a,U+96e3,U+9759,U+ff16;
}

/* zen-kaku-gothic-new-[107]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-107-700-normal.woff2) format('woff2');
  unicode-range: U+23,U+3c,U+2192,U+4e45,U+4efb,U+4f50,U+4f8b,U+4fc2,U+5024,U+5150,U+5272,U+5370,U+53bb,U+542b,U+56db,U+56e3,U+57ce,U+5bc4,U+5bcc,U+5f71,U+60aa,U+6238,U+6280,U+629c,U+6539,U+66ff,U+670d,U+677e-677f,U+6839,U+69cb,U+6b4c,U+6bb5,U+6e96,U+6f14,U+72ec,U+7389,U+7814,U+79cb,U+79d1,U+79fb,U+7a0e,U+7d0d,U+85e4,U+8d64,U+9632,U+96e2,U+9805,U+99ac,U+ff1e;
}

/* zen-kaku-gothic-new-[108]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-108-700-normal.woff2) format('woff2');
  unicode-range: U+2605-2606,U+301c,U+4e57,U+4fee,U+5065,U+52df,U+533b,U+5357,U+57df,U+58eb,U+58f0,U+591c,U+592a-592b,U+5948,U+5b85,U+5d0e,U+5ea7,U+5ff5,U+6025,U+63a1,U+63a5,U+63db,U+643a,U+65bd,U+671d,U+68ee,U+6982,U+6b73,U+6bd4,U+6d88,U+7570,U+7b11,U+7d76,U+8077,U+8217,U+8c37,U+8c61,U+8cc7,U+8d85,U+901f,U+962a,U+9802,U+9806,U+9854,U+98f2,U+9928,U+99c5,U+9ed2;
}

/* zen-kaku-gothic-new-[109]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-109-700-normal.woff2) format('woff2');
  unicode-range: U+266a,U+4f11,U+533a,U+5343,U+534a,U+53cd,U+5404,U+56f3,U+5b57-5b58,U+5bae,U+5c4a,U+5e0c,U+5e2f,U+5eab,U+5f35,U+5f79,U+614b,U+6226,U+629e,U+65c5,U+6625,U+6751,U+6821,U+6b69,U+6b8b,U+6bce,U+6c42,U+706b,U+7c21,U+7cfb,U+805e,U+80b2,U+82b8,U+843d,U+8853,U+88c5,U+8a3c,U+8a66,U+8d8a,U+8fba,U+9069,U+91cf,U+9752,U+975e,U+9999,U+ff0f-ff10,U+ff14-ff15;
}

/* zen-kaku-gothic-new-[110]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-110-700-normal.woff2) format('woff2');
  unicode-range: U+40,U+4e86,U+4e95,U+4f01,U+4f1d,U+4fbf,U+5099,U+5171,U+5177,U+53cb,U+53ce,U+53f0,U+5668,U+5712,U+5ba4,U+5ca1,U+5f85,U+60f3,U+653e,U+65ad,U+65e9,U+6620,U+6750,U+6761,U+6b62,U+6b74,U+6e08,U+6e80,U+7248,U+7531,U+7533,U+753a,U+77f3,U+798f,U+7f6e,U+8449,U+88fd,U+89b3,U+8a55,U+8ac7,U+8b77,U+8db3,U+8efd,U+8fd4,U+9031-9032,U+9580,U+9589,U+96d1,U+985e;
}

/* zen-kaku-gothic-new-[111]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-111-700-normal.woff2) format('woff2');
  unicode-range: U+2b,U+d7,U+300e-300f,U+4e07,U+4e8c,U+512a,U+5149,U+518d,U+5236,U+52b9,U+52d9,U+5468,U+578b,U+57fa,U+5b8c,U+5ba2,U+5c02,U+5de5,U+5f37,U+5f62,U+623b,U+63d0,U+652f,U+672a,U+6848,U+6d41,U+7136,U+7537,U+754c,U+76f4,U+79c1,U+7ba1,U+7d44,U+7d4c,U+7dcf,U+7dda,U+7de8,U+82b1,U+897f,U+8ca9,U+8cfc,U+904e,U+9664,U+982d,U+9858,U+98a8,U+9a13,U+ff13,U+ff5c;
}

/* zen-kaku-gothic-new-[112]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-112-700-normal.woff2) format('woff2');
  unicode-range: U+4e16,U+4e3b,U+4ea4,U+4ee4,U+4f4d,U+4f4f,U+4f55,U+4f9b,U+5317,U+5358,U+53c2,U+53e4,U+548c,U+571f,U+59cb,U+5cf6,U+5e38,U+63a2,U+63b2,U+6559,U+662d,U+679c,U+6c7a,U+72b6,U+7523,U+767d,U+770c,U+7a2e,U+7a3f,U+7a7a,U+7b2c,U+7b49,U+7d20,U+7d42,U+8003,U+8272,U+8a08,U+8aac,U+8cb7,U+8eab,U+8ee2,U+9054-9055,U+90fd,U+914d,U+91cd,U+969b,U+97f3,U+984c,U+ff06;
}

/* zen-kaku-gothic-new-[113]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-113-700-normal.woff2) format('woff2');
  unicode-range: U+26,U+5f,U+2026,U+203b,U+4e09,U+4eac,U+4ed5,U+4fa1,U+5143,U+5199,U+5207,U+539f,U+53e3,U+53f7,U+5411,U+5473,U+5546,U+55b6,U+5929,U+597d,U+5bb9,U+5c11,U+5c4b,U+5ddd,U+5f97,U+5fc5,U+6295,U+6301,U+6307,U+671b,U+76f8,U+78ba,U+795e,U+7d30,U+7d39,U+7d9a,U+89e3,U+8a00,U+8a73,U+8a8d,U+8a9e,U+8aad,U+8abf,U+8cea,U+8eca,U+8ffd,U+904b,U+9650,U+ff11-ff12;
}

/* zen-kaku-gothic-new-[114]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-114-700-normal.woff2) format('woff2');
  unicode-range: U+3e,U+3005,U+4e0d,U+4e88,U+4ecb,U+4ee3,U+4ef6,U+4fdd,U+4fe1,U+500b,U+50cf,U+5186,U+5316,U+53d7,U+540c,U+544a,U+54e1,U+5728,U+58f2,U+5973,U+5b89,U+5c71,U+5e02,U+5e97,U+5f15,U+5fc3,U+5fdc,U+601d,U+611b,U+611f,U+671f,U+6728,U+6765,U+683c,U+6b21,U+6ce8,U+6d3b,U+6d77,U+7530,U+7740,U+7acb,U+7d50,U+826f,U+8f09,U+8fbc,U+9001,U+9053,U+91ce,U+9762,U+98df;
}

/* zen-kaku-gothic-new-[115]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-115-700-normal.woff2) format('woff2');
  unicode-range: U+7c,U+3080,U+4ee5,U+5148,U+516c,U+521d,U+5225,U+529b,U+52a0,U+53ef,U+56de,U+56fd,U+5909,U+591a,U+5b66,U+5b9f,U+5bb6,U+5bfe,U+5e73,U+5e83,U+5ea6,U+5f53,U+6027,U+610f,U+6210,U+6240,U+660e,U+66f4,U+66f8,U+6709,U+6771,U+697d,U+69d8,U+6a5f,U+6c34,U+6cbb,U+73fe,U+756a,U+7684,U+771f,U+793a,U+7f8e,U+898f,U+8a2d,U+8a71,U+8fd1,U+9078,U+9577,U+96fb,U+ff5e;
}

/* zen-kaku-gothic-new-[116]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-116-700-normal.woff2) format('woff2');
  unicode-range: U+a9,U+3010-3011,U+30e2,U+4e0b,U+4eca,U+4ed6,U+4ed8,U+4f53,U+4f5c,U+4f7f,U+53d6,U+540d,U+54c1,U+5730,U+5916,U+5b50,U+5c0f,U+5f8c,U+624b,U+6570,U+6587,U+6599,U+691c,U+696d,U+6cd5,U+7269,U+7279,U+7406,U+767a-767b,U+77e5,U+7d04,U+7d22,U+8005,U+80fd,U+81ea,U+8868,U+8981,U+89a7,U+901a,U+9023,U+90e8,U+91d1,U+9332,U+958b,U+96c6,U+9ad8,U+ff1a,U+ff1f;
}

/* zen-kaku-gothic-new-[117]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-117-700-normal.woff2) format('woff2');
  unicode-range: U+4e,U+a0,U+3000,U+300c-300d,U+4e00,U+4e0a,U+4e2d,U+4e8b,U+4eba,U+4f1a,U+5165,U+5168,U+5185,U+51fa,U+5206,U+5229,U+524d,U+52d5,U+5408,U+554f,U+5831,U+5834,U+5927,U+5b9a,U+5e74,U+5f0f,U+60c5,U+65b0,U+65b9,U+6642,U+6700,U+672c,U+682a,U+6b63,U+6c17,U+7121,U+751f,U+7528,U+753b,U+76ee,U+793e,U+884c,U+898b,U+8a18,U+9593,U+95a2,U+ff01,U+ff08-ff09;
}

/* zen-kaku-gothic-new-[118]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-118-700-normal.woff2) format('woff2');
  unicode-range: U+21-22,U+27-2a,U+2c-3b,U+3f,U+41-4d,U+4f-5d,U+61-7b,U+7d,U+ab,U+ae,U+b2-b3,U+b7,U+bb,U+c9,U+cd,U+d6,U+d8,U+dc,U+e0-e5,U+e7-ed,U+ef,U+f1-f4,U+f6,U+f8,U+fa,U+fc-fd,U+103,U+14d,U+1b0,U+300-301,U+1ebf,U+1ec7,U+2013-2014,U+201c-201d,U+2039-203a,U+203c,U+2048-2049,U+2113,U+2122,U+65e5,U+6708,U+70b9;
}

/* zen-kaku-gothic-new-[119]-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-119-700-normal.woff2) format('woff2');
  unicode-range: U+20,U+2027,U+3001-3002,U+3041-307f,U+3081-308f,U+3091-3093,U+3099-309a,U+309d-309e,U+30a1-30e1,U+30e3-30ed,U+30ef-30f0,U+30f2-30f4,U+30fb-30fe,U+ff0c,U+ff0e;
}

/* zen-kaku-gothic-new-latin-700-normal */
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(/assets/fonts/zk/zen-kaku-gothic-new-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* =========================================================
   SUSUKINO NIGHT LUXURY — すすきのニュークラブ求人ガイド
   Display: Bodoni Moda (Latin) / Headings: Zen Kaku Gothic New 700 (JP) / Body: system Japanese gothic
   ========================================================= */
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --onyx:#000;
  --velvet:#160a0d;          /* wine-black surface */
  --velvet-2:#22101a;        /* raised surface */
  --wine:#7d2236;            /* burgundy accent */
  --wine-deep:#3a0f1a;
  --gold:#d4b77c;            /* champagne gold */
  --gold-pale:#eadcbc;
  --ivory:#f4ede2;
  --smoke:#b0a492;
  --line:rgba(212,183,124,.26);
  --line-soft:rgba(244,237,226,.12);
  --serif:"Bodoni Moda","Didot","Times New Roman",serif;
  --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Noto Sans CJK JP","Yu Gothic","YuGothic",Meiryo,sans-serif;
  --head:"Zen Kaku Gothic New",var(--sans);
  --wrap:1240px;
  --gut:clamp(20px,4.2vw,48px);
  --hdr:72px;
  --bnav:0px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
body{margin:0;background:var(--onyx);color:var(--ivory);font-family:var(--sans);font-size:16px;line-height:1.85;letter-spacing:.02em;-webkit-font-smoothing:antialiased;padding-bottom:var(--bnav);overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1.1em}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.4}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--gold);color:#000;padding:10px 16px;border-radius:6px;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.serif{font-family:var(--serif)}
h1,h2,h3,h4,strong,b,.btn,summary,legend{font-family:var(--head)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:15px;letter-spacing:.04em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn svg{width:18px;height:18px;flex:none}
.btn-gold{background:var(--gold);color:#140a06}
.btn-gold:hover{background:var(--gold-pale)}
.btn-ghost{border-color:rgba(244,237,226,.55);color:var(--ivory);background:rgba(0,0,0,.25)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-pale)}
.btn-wine{background:var(--wine);color:var(--ivory)}
.btn-wine:hover{background:#933049}
.btn-sm{min-height:42px;padding:0 18px;font-size:13.5px}
.btn-block{width:100%}
.text-link{color:var(--gold-pale);text-underline-offset:4px;text-decoration-thickness:1px}
.text-link:hover{color:var(--gold)}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr);transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.hdr.is-solid,.hdr.is-page{background:rgba(0,0,0,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom-color:var(--line-soft)}
.hdr-in{height:100%;display:flex;align-items:center;gap:28px;max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1.1;flex:none}
.logo-en{font-family:var(--serif);font-size:21px;letter-spacing:.02em}
.logo-ja{font-size:12px;color:var(--smoke);letter-spacing:.08em;margin-top:4px}
.gnav{margin-left:auto;display:flex;align-items:center;gap:4px}
.gnav a{display:flex;flex-direction:column;align-items:center;padding:8px 12px;text-decoration:none;border-radius:8px;line-height:1.2}
.gnav a span:first-child{font-family:var(--serif);font-size:14.5px;letter-spacing:.03em}
.gnav a span:last-child{font-size:11px;color:var(--smoke);margin-top:3px;letter-spacing:.1em}
.gnav a:hover span:first-child,.gnav a[aria-current="page"] span:first-child{color:var(--gold)}
.gnav a{position:relative}
.gnav a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:2px;width:22px;height:1px;margin-left:-11px;background:var(--gold)}
.gnav .nav-line{margin-left:10px}
.nav-toggle{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;align-items:center;justify-content:center}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:18px;height:1.5px;background:var(--ivory);position:relative;transition:transform .25s,background .25s}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--hdr) 0 0;z-index:99;background:rgba(0,0,0,.97);padding:28px var(--gut) 120px;overflow:auto;display:none}
.drawer.is-open{display:block}
.drawer a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft);text-decoration:none}
.drawer a .en{font-family:var(--serif);font-size:26px}
.drawer a .ja{font-size:13px;color:var(--smoke)}
.drawer .btn{margin-top:28px;width:100%}

/* ---------- Mobile bottom nav ---------- */
.bnav{display:none}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh,940px);min-height:max(640px,min(100svh,940px));display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:#000}
.hero-media,.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media{z-index:-2}
.hero-media img{object-position:62% 30%}
.hero-media video{object-position:62% 30%;opacity:0;transition:opacity 1.2s ease}
.hero-media video.is-playing{opacity:1}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.66) 34%,rgba(0,0,0,.1) 66%,rgba(0,0,0,.2) 100%),
  linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 58%,#000 100%)}
.hero-in{width:100%;max-width:1440px;margin:0 auto;padding:calc(var(--hdr) + 40px) var(--gut) clamp(48px,7vw,96px)}
.hero-display{font-family:var(--serif);font-weight:400;font-size:clamp(58px,10.4vw,168px);line-height:.86;letter-spacing:-.02em;margin:0;color:var(--ivory)}
.hero-display .l2{display:block;padding-left:.62em}
.hero-display .dot{color:var(--gold)}
.hero h1{font-size:clamp(20px,2.1vw,30px);font-weight:700;letter-spacing:.06em;margin-top:clamp(22px,3vw,36px);line-height:1.55}
.hero-lead{max-width:34em;color:rgba(244,237,226,.86);margin-top:14px;font-size:clamp(14.5px,1.25vw,17px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:36px;padding-top:18px;border-top:1px solid var(--line);max-width:640px;font-size:13px;color:var(--smoke)}
.hero-meta b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--gold-pale);margin-right:6px;letter-spacing:0}
@media (prefers-reduced-motion:no-preference){
  .hero-display .ln,.hero h1,.hero-lead,.hero-actions,.hero-meta{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
  .hero-display .l1{animation-delay:.1s}.hero-display .l2{animation-delay:.25s}
  .hero h1{animation-delay:.45s}.hero-lead{animation-delay:.55s}.hero-actions{animation-delay:.65s}.hero-meta{animation-delay:.8s}
}
.hero-display .ln{display:block}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- Quick search ---------- */
.qsearch{position:relative;z-index:2;margin-top:-1px;background:#000;border-bottom:1px solid var(--line-soft)}
.qsearch form{display:grid;grid-template-columns:1fr 220px auto;gap:12px;padding-top:28px;padding-bottom:28px}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.field .lbl{font-size:12.5px;color:var(--smoke);letter-spacing:.08em}
.input,.select{height:52px;width:100%;border-radius:12px;border:1px solid var(--line);background:var(--velvet);padding:0 16px;font-size:16px;color:var(--ivory)}
.select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.input::placeholder{color:#8a7f72}
.qsearch .btn{align-self:end}

/* ---------- Sections ---------- */
.sec{padding:clamp(76px,10vw,148px) 0}
.sec + .sec{padding-top:0}
.sec-velvet + .sec{padding-top:clamp(76px,10vw,148px)}
.sec-velvet{background:linear-gradient(180deg,var(--velvet) 0%,#0c0507 100%)}
.sec-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px 64px;align-items:end;margin-bottom:clamp(36px,5vw,64px)}
.sec-head.single{grid-template-columns:1fr}
.sec-title .en{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,6vw,86px);line-height:.95;letter-spacing:-.015em}
.sec-title .ja{display:block;font-size:15px;font-weight:700;color:var(--gold);letter-spacing:.12em;margin-top:16px}
.sec-intro{color:rgba(244,237,226,.82);max-width:38em}
.sec-intro p:last-child{margin-bottom:0}

/* ---------- Banners ---------- */
.banner{display:block;max-width:1180px;margin:0 auto;padding:0 var(--gut);text-decoration:none}
.banner img{width:100%;height:auto;border-radius:22px;box-shadow:0 18px 48px rgba(0,0,0,.45);transition:transform .25s,box-shadow .25s}
.banner:hover img{transform:translateY(-3px);box-shadow:0 24px 64px rgba(212,183,124,.18)}
.banner-band{padding:clamp(48px,6vw,72px) 0}

/* ---------- Style grid ---------- */
.styles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.style-item{display:flex;flex-direction:column;gap:10px;padding:clamp(24px,3vw,40px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;min-height:220px;transition:background .25s}
.style-item:hover{background:var(--velvet)}
.style-item .en{font-family:var(--serif);font-size:clamp(28px,3vw,40px);line-height:1;font-style:italic;color:var(--gold-pale)}
.style-item h3{font-size:18px;letter-spacing:.06em}
.style-item p{color:var(--smoke);font-size:14.5px;margin:0}
.style-item .count{margin-top:auto;font-size:13px;color:var(--gold)}

/* ---------- Featured posters ---------- */
.posters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.poster{position:relative;display:flex;flex-direction:column;min-height:340px;padding:28px;border-radius:4px 28px 4px 28px;background:
  radial-gradient(120% 90% at 100% 0%,rgba(125,34,54,.55) 0%,rgba(125,34,54,0) 60%),var(--velvet);border:1px solid var(--line);text-decoration:none;overflow:hidden;transition:border-color .25s,transform .25s}
.poster:hover{border-color:var(--gold);transform:translateY(-3px)}
.poster .no{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px}
.poster .name{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,40px);line-height:1.05;margin-top:auto;word-break:break-word}
.poster .kana{font-size:13px;color:var(--smoke);margin-top:8px;letter-spacing:.1em}
.poster .tags{margin-top:18px}
.poster .acc{font-size:13px;color:rgba(244,237,226,.75);margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}

.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--gold-pale);letter-spacing:.06em;white-space:nowrap}
.tag.is-wine{background:rgba(125,34,54,.45);border-color:rgba(125,34,54,.9)}

/* ---------- Register (all clubs index) ---------- */
.register{columns:3;column-gap:48px;margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-top:24px}
.register a{display:flex;gap:14px;align-items:baseline;padding:9px 0;text-decoration:none;break-inside:avoid;border-bottom:1px solid var(--line-soft)}
.register a .n{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:14px;width:26px;flex:none}
.register a .nm{font-family:var(--serif);font-size:17px}
.register a .kn{font-size:12px;color:var(--smoke);margin-left:auto;text-align:right}
.register a:hover .nm{color:var(--gold-pale)}

/* ---------- Criteria (compare teaser) ---------- */
.criteria{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.crit{background:#000;padding:26px}
.crit dt{font-weight:700;font-size:17px;display:flex;align-items:baseline;gap:12px}
.crit dt .en{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--gold);font-size:15px}
.crit dd{margin:8px 0 0;color:var(--smoke);font-size:14.5px}
.actions-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* ---------- Diagnosis teaser ---------- */
.match{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.match-q{list-style:none;counter-reset:q;border-top:1px solid var(--line)}
.match-q li{counter-increment:q;display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line-soft);font-size:15.5px}
.match-q li::before{content:"Q" counter(q);font-family:var(--serif);font-style:italic;color:var(--gold);width:34px;flex:none}

/* ---------- How-to ---------- */
.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,44px) clamp(28px,4vw,56px)}
.howto h3{font-size:18px;margin-bottom:8px;padding-top:18px;position:relative}
.howto h3::before{content:"";position:absolute;top:0;left:0;width:40px;height:1px;background:var(--gold)}
.howto p{color:var(--smoke);font-size:15px;margin:0}

/* ---------- Journal list ---------- */
.journal{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;border-top:1px solid var(--line)}
.jitem{display:flex;flex-direction:column;gap:10px;padding:26px 0;border-bottom:1px solid var(--line-soft);text-decoration:none}
.jitem .cat{font-size:12px;color:var(--gold);letter-spacing:.08em}
.jitem h3{font-size:16.5px;line-height:1.6;font-weight:700}
.jitem:hover h3{color:var(--gold-pale)}
.jitem time{font-size:12.5px;color:var(--smoke)}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--line);max-width:920px}
.faq details{border-bottom:1px solid var(--line-soft)}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:flex-start;padding:22px 44px 22px 0;position:relative;font-weight:700;font-size:16.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--serif);font-style:italic;color:var(--gold);font-weight:400;font-size:20px;line-height:1.4;flex:none}
.faq summary::after{content:"";position:absolute;right:8px;top:30px;width:12px;height:12px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(-135deg);top:36px}
.faq .ans{padding:0 0 24px 34px;color:rgba(244,237,226,.84)}
.faq .ans p:last-child{margin:0}

/* ---------- LINE application block ---------- */
.apply-cta{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(32px,5vw,64px);border-radius:4px 40px 4px 40px;background:radial-gradient(90% 120% at 0% 100%,rgba(125,34,54,.75) 0%,rgba(125,34,54,0) 60%),var(--velvet);border:1px solid var(--line)}
.apply-cta .en{font-family:var(--serif);font-size:clamp(36px,5vw,72px);line-height:.95}
.apply-cta h2{font-size:clamp(20px,2vw,26px);margin:18px 0 12px}
.apply-cta p{color:rgba(244,237,226,.84)}
.qr{background:#fff;padding:14px;border-radius:16px;width:min(220px,100%);margin-left:auto}
.qr img{width:100%;height:auto}
.qr-cap{font-size:12.5px;color:var(--smoke);text-align:right;margin-top:10px}

.notice{font-size:13px;color:var(--smoke);line-height:1.8;border:1px solid var(--line-soft);border-radius:12px;padding:16px 20px;max-width:920px}

/* ---------- Page header (sub pages) ---------- */
.phead{padding:calc(var(--hdr) + clamp(40px,6vw,80px)) 0 clamp(36px,5vw,60px);border-bottom:1px solid var(--line-soft);background:radial-gradient(70% 120% at 100% 0%,rgba(125,34,54,.4) 0%,rgba(0,0,0,0) 60%)}
.phead .en{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(46px,8vw,120px);line-height:.92;letter-spacing:-.02em}
.phead h1{font-size:clamp(20px,2.2vw,28px);margin-top:18px;letter-spacing:.06em}
.phead .lead{color:rgba(244,237,226,.82);margin-top:12px;max-width:40em}
.crumbs{font-size:12.5px;color:var(--smoke);margin-bottom:24px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li:not(:last-child)::after{content:"/";margin-left:6px;color:rgba(176,164,146,.5)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--gold)}

/* ---------- Clubs search ---------- */
.finder{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.filters{position:sticky;top:calc(var(--hdr) + 20px);display:flex;flex-direction:column;gap:22px}
.fgroup{border:0;margin:0;padding:0}
.fgroup legend{font-size:12.5px;color:var(--smoke);letter-spacing:.08em;margin-bottom:10px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;color:var(--ivory);transition:background .2s,border-color .2s,color .2s}
.chip input:checked + span{background:var(--gold);border-color:var(--gold);color:#140a06;font-weight:700}
.chip input:focus-visible + span{outline:2px solid var(--gold);outline-offset:3px}
.finder-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.count{font-size:15px}
.count b{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--gold);margin-right:6px;line-height:1}
.finder-bar .select{width:auto;height:44px;font-size:14px;min-width:170px}
.reset{background:none;border:0;color:var(--gold-pale);text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:14px;padding:8px 0}
.empty{padding:48px 0;color:var(--smoke)}

.clist{list-style:none}
.crow{display:grid;grid-template-columns:52px minmax(0,1.5fr) minmax(0,1.3fr) auto;gap:8px 24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line-soft)}
.crow[hidden]{display:none}
.crow .no{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px}
.crow h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.15}
.crow h3 a{text-decoration:none}
.crow h3 a:hover{color:var(--gold-pale)}
.crow .kana{font-size:12px;color:var(--smoke);margin-top:4px;letter-spacing:.08em}
.crow .meta{display:flex;flex-direction:column;gap:8px}
.crow .acc{font-size:13px;color:rgba(244,237,226,.75)}
.crow .ops{display:flex;gap:8px;align-items:center}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:12.5px;color:var(--ivory);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.iconbtn svg{width:18px;height:18px}
.iconbtn:hover{border-color:var(--gold)}
.iconbtn[aria-pressed="true"]{background:var(--wine);border-color:var(--wine);color:var(--ivory)}
.iconbtn[aria-pressed="true"] .ico-heart path{fill:currentColor}
.iconbtn.go{border-color:var(--gold);color:var(--gold-pale)}

/* compare tray */
.tray{position:fixed;left:50%;transform:translate(-50%,140%);bottom:calc(20px + var(--bnav));z-index:90;width:min(720px,calc(100% - 24px));display:flex;align-items:center;gap:14px;padding:12px 12px 12px 22px;border-radius:999px;background:rgba(22,10,13,.96);border:1px solid var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.tray{visibility:hidden}.tray.is-on{transform:translate(-50%,0);visibility:visible}
.ph{display:inline-block}
.tray .t{font-size:13.5px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tray .t b{color:var(--gold);font-family:var(--serif);font-size:20px;font-weight:400}

/* ---------- Compare page ---------- */
.cmp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.slot{min-height:260px;border:1px dashed var(--line);border-radius:4px 24px 4px 24px;padding:24px;display:flex;flex-direction:column;gap:12px}
.slot.is-filled{border-style:solid;background:var(--velvet)}
.slot .name{font-family:var(--serif);font-size:28px;line-height:1.1}
.slot dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;margin:6px 0 0}
.slot dt{color:var(--smoke)}
.slot dd{margin:0}
.slot .slot-ops{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
.slot-empty{color:var(--smoke);font-size:14px;margin:auto 0}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px}
.ctable{width:100%;border-collapse:collapse;min-width:760px;font-size:14px}
.ctable th,.ctable td{padding:13px 14px;border-bottom:1px solid var(--line-soft);text-align:center;white-space:nowrap}
.ctable thead th{background:var(--velvet);color:var(--gold-pale);font-weight:700;font-size:13px;letter-spacing:.06em;position:sticky;top:0}
.ctable th[scope="row"]{text-align:left;position:sticky;left:0;background:#000;font-family:var(--serif);font-weight:400;font-size:15.5px;z-index:1}
.ctable td.stars{color:var(--gold);letter-spacing:1px}
.ctable td.stars .off{color:rgba(212,183,124,.22)}
.ctable tr:hover td,.ctable tr:hover th[scope="row"]{background:var(--velvet)}
.ctable a{text-decoration:none}.ctable a:hover{color:var(--gold-pale)}

/* ---------- Diagnosis ---------- */
.dx{max-width:860px}
.dx-progress{display:flex;gap:6px;margin-bottom:28px}
.dx-progress i{flex:1;height:3px;background:var(--line-soft);border-radius:3px}
.dx-progress i.on{background:var(--gold)}
.dx-q{border:0;margin:0;padding:0}
.dx-q legend{font-size:clamp(20px,2.4vw,28px);font-weight:700;margin-bottom:6px;padding:0}
.dx-q .qn{display:block;font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px;font-weight:400;margin-bottom:6px}
.dx-q .hint{color:var(--smoke);font-size:14px;margin-bottom:20px}
.opts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:flex;flex-direction:column;justify-content:center;min-height:76px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;transition:background .2s,border-color .2s}
.opt span small{color:var(--smoke);font-size:13px;margin-top:2px}
.opt input:checked + span{border-color:var(--gold);background:var(--velvet);box-shadow:inset 3px 0 0 var(--gold)}
.opt input:focus-visible + span{outline:2px solid var(--gold);outline-offset:3px}
.dx-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.dx-step[hidden]{display:none}
.result{border-top:1px solid var(--line);margin-top:8px}
.res{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:6px 22px;padding:26px 0;border-bottom:1px solid var(--line-soft);align-items:start}
.res .rk{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:28px;line-height:1}
.res h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15}
.res h3 a{text-decoration:none}
.res ul{list-style:none;margin-top:12px;font-size:14.5px}
.res li{padding-left:18px;position:relative;margin:4px 0}
.res li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--gold)}
.res .chk li::before{background:var(--wine);height:8px;width:8px;border-radius:50%;top:.55em}
.res .lbl{font-size:12.5px;color:var(--smoke);margin-top:14px;letter-spacing:.06em}

/* ---------- Apply (LINE message) ---------- */
.apply{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.form-grid{display:flex;flex-direction:column;gap:22px}
.checks{display:flex;flex-direction:column;gap:8px}
.check{display:flex;gap:12px;align-items:center;min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--gold);margin:0}
.preview{position:sticky;top:calc(var(--hdr) + 20px);border:1px solid var(--gold);border-radius:4px 28px 4px 28px;background:var(--velvet);padding:26px}
.preview .lbl{font-size:12.5px;color:var(--smoke);letter-spacing:.08em}
.preview textarea{width:100%;min-height:440px;margin-top:10px;background:#000;border:1px solid var(--line);border-radius:12px;padding:16px;font-size:15.5px;line-height:1.85;resize:vertical;color:var(--ivory)}
.preview .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.status{min-height:1.6em;margin-top:12px;font-size:14px;color:var(--gold-pale)}
.steps{list-style:none;counter-reset:s;margin-top:18px;font-size:14px;color:var(--smoke)}
.steps li{counter-increment:s;padding-left:30px;position:relative;margin:6px 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:11.5px;display:flex;align-items:center;justify-content:center}

/* ---------- Shop detail ---------- */
.shop-hero{padding:calc(var(--hdr) + clamp(32px,5vw,64px)) 0 0}
.shop-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:stretch}
.shop-top .no{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:20px}
.shop-top h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,7vw,104px);line-height:.95;letter-spacing:-.015em;margin-top:10px;word-break:break-word}
.shop-top .kana{color:var(--smoke);letter-spacing:.14em;margin-top:14px;font-size:14px}
.shop-top .tags{margin-top:22px}
.shop-top .summary{margin-top:24px;color:rgba(244,237,226,.86);max-width:36em}
.shop-top .ops{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.visual{position:relative;min-height:360px;border-radius:4px 40px 4px 40px;border:1px solid var(--line);overflow:hidden;background:
  radial-gradient(80% 70% at 70% 20%,rgba(212,183,124,.16) 0%,rgba(212,183,124,0) 60%),
  radial-gradient(90% 90% at 10% 100%,rgba(125,34,54,.8) 0%,rgba(125,34,54,0) 65%),var(--velvet);display:flex;flex-direction:column;justify-content:space-between;padding:28px}
.visual .big{font-family:var(--serif);font-style:italic;font-size:clamp(120px,16vw,220px);line-height:.8;color:rgba(212,183,124,.85)}
.visual .vname{font-family:var(--serif);font-size:22px;color:var(--gold-pale)}
.visual .vnote{font-size:12px;color:var(--smoke);margin-top:6px}
.dl{display:grid;grid-template-columns:150px minmax(0,1fr);border-top:1px solid var(--line)}
.dl dt,.dl dd{margin:0;padding:15px 0;border-bottom:1px solid var(--line-soft)}
.dl dt{color:var(--smoke);font-size:14px}
.dl dd{font-size:15px}
.src-note{font-size:12.5px;line-height:1.75;color:var(--smoke);margin:10px 0 0;max-width:40em}
.unv-inline{display:inline-block;margin-left:8px;padding:0 8px;border-radius:999px;border:1px solid rgba(160,55,80,.9);background:rgba(125,34,54,.35);font-size:12px;line-height:20px;vertical-align:1px;color:var(--ivory)}
.dl .unv{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:rgba(125,34,54,.5);border:1px solid rgba(160,55,80,.9);font-size:11.5px;margin-right:8px;letter-spacing:.06em;vertical-align:1px}
.dl small{display:block;color:var(--smoke);font-size:12.5px;margin-top:4px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px)}
.block-title{font-size:20px;letter-spacing:.06em;margin-bottom:18px;display:flex;align-items:baseline;gap:14px}
.block-title .en{font-family:var(--serif);font-weight:400;font-style:italic;color:var(--gold);font-size:17px}
.plist{list-style:none}
.plist li{padding:12px 0 12px 22px;border-bottom:1px solid var(--line-soft);position:relative;font-size:15px}
.plist li::before{content:"";position:absolute;left:0;top:1.35em;width:10px;height:1px;background:var(--gold)}
.vbox{border:1px solid var(--line);border-radius:14px;padding:20px 22px;font-size:13.5px;color:var(--smoke)}
.vbox dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:10px 0 0}
.vbox dd{margin:0;color:var(--ivory)}
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mini a{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:4px 20px 4px 20px;text-decoration:none;background:var(--velvet);min-height:150px;transition:border-color .2s}
.mini a:hover{border-color:var(--gold)}
.mini .nm{font-family:var(--serif);font-size:22px;line-height:1.1;margin-top:auto}
.mini .kn{font-size:12px;color:var(--smoke)}
.mini-3{grid-template-columns:repeat(3,1fr)}
.mini .no{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:15px}

/* ---------- Article ---------- */
.ahead{padding:calc(var(--hdr) + clamp(40px,6vw,72px)) 0 clamp(28px,4vw,44px)}
.ahead .meta{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13px;color:var(--smoke);margin-bottom:18px}
.ahead h1{font-size:clamp(26px,3.6vw,44px);line-height:1.45;letter-spacing:.04em;max-width:22em}
.ahead .desc{margin-top:18px;color:rgba(244,237,226,.8);max-width:40em}
.article-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.prose{font-size:16.5px;line-height:2}
.prose h2{font-size:clamp(21px,2.1vw,26px);line-height:1.55;margin:2.6em 0 .9em;padding-top:1.2em;border-top:1px solid var(--line)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18.5px;margin:2em 0 .7em;color:var(--gold-pale)}
.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.3em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--gold)}
.prose strong{color:var(--gold-pale)}
.prose .note,.prose .article-box{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px 14px 14px 4px;background:var(--velvet);padding:18px 22px;margin:1.8em 0}
.prose .article-box .title{font-weight:700;margin-bottom:8px;color:var(--gold-pale)}
.prose .note p:last-child,.prose .article-box ul:last-child{margin-bottom:0}
.aside{position:sticky;top:calc(var(--hdr) + 24px);display:flex;flex-direction:column;gap:22px}
.aside-card{border:1px solid var(--line);border-radius:4px 22px 4px 22px;padding:22px;background:var(--velvet)}
.aside-card h2{font-size:15px;letter-spacing:.08em;margin-bottom:12px}
.aside-card .en{font-family:var(--serif);font-size:30px;line-height:1;display:block;margin-bottom:10px}
.aside-card p{font-size:14px;color:var(--smoke)}
.aside-links{list-style:none}
.aside-links a{display:block;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:14px;text-decoration:none;line-height:1.6}
.aside-links a:hover{color:var(--gold-pale)}
.cat-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.cat-tabs a,.cat-tabs button{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:13.5px;background:transparent;cursor:pointer}
.cat-tabs [aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#140a06;font-weight:700}

/* ---------- Footer ---------- */
.ftr{margin-top:clamp(80px,10vw,140px);border-top:1px solid var(--line);background:linear-gradient(180deg,#0d0507,#000)}
.ftr-top{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px;padding-top:64px;padding-bottom:48px}
.ftr .brand .en{font-family:var(--serif);font-size:30px;line-height:1.05}
.ftr .brand p{font-size:13.5px;color:var(--smoke);margin-top:14px;max-width:26em}
.ftr h2{font-size:12.5px;color:var(--gold);letter-spacing:.12em;margin-bottom:14px}
.ftr ul{list-style:none}
.ftr li a{display:block;padding:6px 0;font-size:14px;text-decoration:none;color:rgba(244,237,226,.82)}
.ftr li a:hover{color:var(--gold-pale)}
.ftr-bottom{border-top:1px solid var(--line-soft);padding-top:24px;padding-bottom:32px;font-size:12.5px;color:var(--smoke)}
.ftr-bottom p{margin:0 0 10px}

/* ---------- Chat (optional, enabled via config) ---------- */
.chat-fab{position:fixed;right:20px;bottom:calc(24px + var(--bnav));z-index:95;height:52px;padding:0 20px;border-radius:999px;border:1px solid var(--gold);background:#000;color:var(--gold-pale);display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;box-shadow:0 12px 30px rgba(0,0,0,.6)}
.chat-panel{position:fixed;right:20px;bottom:calc(88px + var(--bnav));z-index:96;width:min(380px,calc(100% - 24px));height:min(560px,calc(100svh - 180px));display:none;flex-direction:column;background:var(--velvet);border:1px solid var(--gold);border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.7)}
.chat-panel.is-open{display:flex}
.chat-h{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.chat-h b{font-family:var(--serif);font-weight:400;font-size:19px}
.chat-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px;font-size:14.5px}
.msg{max-width:86%;padding:10px 14px;border-radius:14px;line-height:1.7;white-space:pre-wrap}
.msg.ai{background:#000;border:1px solid var(--line);align-self:flex-start}
.msg.me{background:var(--wine);align-self:flex-end}
.chat-f{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.chat-f input{flex:1;height:46px;border-radius:999px;border:1px solid var(--line);background:#000;padding:0 16px}
.chat-note{font-size:12px;color:var(--smoke);padding:0 16px 10px}

/* ---------- 404 ---------- */
.nf{min-height:70svh;display:flex;align-items:center;padding-top:var(--hdr)}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1180px){
  .gnav a{padding:8px 8px}
  .gnav a span:first-child{font-size:13.5px}
}
@media (max-width:1060px){
  .gnav{display:none}
  .nav-toggle{display:flex}
  .finder{grid-template-columns:1fr}
  .filters{position:static}
  .article-layout{grid-template-columns:1fr}
  .aside{position:static}
  .mini{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .sec-head{grid-template-columns:1fr;align-items:start}
  .posters{grid-template-columns:repeat(2,1fr)}
  .styles{grid-template-columns:repeat(2,1fr)}
  .register{columns:2}
  .criteria{grid-template-columns:repeat(2,1fr)}
  .match,.apply,.apply-cta,.shop-top,.two{grid-template-columns:1fr}
  .preview{position:static}
  .howto,.journal{grid-template-columns:repeat(2,1fr)}
  .ftr-top{grid-template-columns:1fr 1fr}
  .cmp-slots{grid-template-columns:1fr}
  .qr{margin-left:0}.qr-cap{text-align:left}
  .visual{min-height:240px}
}
@media (max-width:768px){
  :root{--hdr:62px;--bnav:calc(66px + env(safe-area-inset-bottom))}
  .logo-en{font-size:18px}
  .bnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;z-index:98;height:var(--bnav);padding-bottom:env(safe-area-inset-bottom);background:rgba(0,0,0,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .bnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;font-size:12px;color:var(--smoke);letter-spacing:0}
  .bnav a svg{width:22px;height:22px}
  .bnav a[aria-current="page"]{color:var(--gold-pale)}
  .bnav a.is-line{color:#140a06}
  .bnav a.is-line .pill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:60px;height:52px;border-radius:16px;background:var(--gold)}
  .hero{min-height:calc(100svh - var(--bnav));min-height:max(600px,calc(100svh - var(--bnav)))}
  .hero-display{font-size:clamp(46px,13.5vw,68px)}
  .hero h1{font-size:19px;margin-top:16px}
  .hero-lead{font-size:14px}
  .hero-meta{margin-top:20px;padding-top:12px}
  .hero-in{padding-bottom:28px}
  .hero-display .l2{padding-left:.4em}
  .hero-actions .btn{flex:1 1 0;padding-left:10px;padding-right:10px}
  .hero-meta{gap:6px 18px}
  .qsearch form{grid-template-columns:1fr;gap:14px}
  .posters{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--gut) * -1);padding:0 var(--gut) 8px;scrollbar-width:none}
  .posters::-webkit-scrollbar{display:none}
  .poster{flex:0 0 78%;scroll-snap-align:start;min-height:300px}
  .styles{grid-template-columns:1fr 1fr}
  .style-item{min-height:180px;padding:20px}
  .register{columns:1}
  .criteria{grid-template-columns:1fr}
  .howto,.journal{grid-template-columns:1fr}
  .crow{grid-template-columns:40px minmax(0,1fr);gap:10px 14px}
  .crow .meta,.crow .ops{grid-column:2}
  .opts{grid-template-columns:1fr}
  .res{grid-template-columns:40px minmax(0,1fr)}
  .res .ops{grid-column:2}
  .dl{grid-template-columns:110px minmax(0,1fr)}
  .mini{grid-template-columns:1fr 1fr}
  .ftr-top{grid-template-columns:1fr}
  .banner{padding:0 14px}
  .banner img{border-radius:14px}
  .chat-fab{bottom:calc(14px + var(--bnav));right:14px;height:46px;padding:0 16px}
  .chat-panel{right:12px;bottom:calc(72px + var(--bnav))}
  .tray{border-radius:18px;padding:10px 10px 10px 16px}
}
@media (max-width:400px){
  .styles{grid-template-columns:1fr}
  .mini{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

@media (max-width:600px){
  .hero-media{bottom:auto;height:66%}
  .hero-media img,.hero-media video{object-position:50% 18%}
  .hero::before{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 40%,rgba(0,0,0,.75) 56%,#000 66%,#000 100%)}
}
@media (min-width:601px) and (max-width:768px){
  .hero-media{bottom:auto;height:62%}
  .hero-media img,.hero-media video{object-position:66% 30%}
  .hero::before{background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 20%,rgba(0,0,0,0) 40%,rgba(0,0,0,.8) 54%,#000 62%,#000 100%)}
}
@media (max-width:768px){.qr-wrap{display:none}}
@media (max-width:480px){
  .sp-hide{display:none}
  .hero-actions .btn{white-space:nowrap;gap:8px;font-size:14.5px}
  .hero-meta{max-width:none}
  .hero-meta span:last-child{display:none}
  .hero-actions{margin-top:22px}
}

/* ---------- 求人特典（SPECIAL BENEFITS） ---------- */
.bnf{display:flex;flex-direction:column;gap:6px;margin-top:14px;padding:10px 12px 11px;border:1px solid rgba(212,183,124,.55);border-radius:2px 14px 2px 14px;background:linear-gradient(135deg,rgba(212,183,124,.14),rgba(125,34,54,.18));color:var(--ivory);max-width:100%}
.bnf-h{font-family:var(--serif);font-size:12px;letter-spacing:.16em;color:var(--gold);line-height:1}
.bnf-l{display:flex;flex-wrap:wrap;gap:4px 14px}
.bnf-i{display:inline-flex;align-items:baseline;gap:6px;font-size:12.5px;line-height:1.5;color:rgba(244,237,226,.86);white-space:nowrap}
.bnf-i b{font-family:var(--serif);font-weight:500;font-size:15px;color:var(--gold-pale);letter-spacing:.02em}
.bnf.sm{margin-top:10px;padding:8px 10px 9px}
.bnf.sm .bnf-i b{font-size:14px}
.crow .bnf{margin-top:2px;align-self:flex-start}
.poster .bnf{margin-top:16px}
.bnf-dot{display:inline-block;margin-left:8px;padding:0 7px;border-radius:999px;background:var(--gold);color:#140a06;font-family:var(--sans);font-size:12px;font-weight:700;line-height:19px;letter-spacing:.04em;vertical-align:2px;white-space:nowrap}
.bnf-cell{white-space:normal!important;min-width:150px;text-align:left!important;font-size:13px}
.bnf-cell .bnf-dot{margin:0 6px 0 0}
.chip-bnf span{border-color:rgba(212,183,124,.55)}
/* 店舗詳細の特典カード */
.bnf-sec{padding-top:clamp(40px,5vw,64px)!important;padding-bottom:0!important}
.bnf-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:24px 40px;align-items:center;padding:clamp(24px,3.4vw,40px);border:1px solid var(--gold);border-radius:4px 32px 4px 32px;background:radial-gradient(80% 140% at 0% 0%,rgba(212,183,124,.16),transparent 60%),radial-gradient(70% 120% at 100% 100%,rgba(125,34,54,.55),transparent 60%),var(--velvet)}
.bnf-card-h .en{display:block;font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);letter-spacing:.08em;color:var(--gold);line-height:1.1}
.bnf-card-h h2{font-size:16px;margin-top:10px;letter-spacing:.06em}
.bnf-dl{margin:0;display:grid;gap:12px}
.bnf-row{display:grid;grid-template-columns:7.5em 1fr;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}
.bnf-row:last-child{border-bottom:0;padding-bottom:0}
.bnf-row dt{font-weight:700;font-size:15px}
.bnf-row dd{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.bnf-row dd b{font-family:var(--serif);font-weight:500;font-size:clamp(28px,3vw,36px);color:var(--gold-pale);line-height:1}
.bnf-row dd span{font-size:13.5px;color:var(--ivory);padding:2px 10px;border:1px solid var(--line);border-radius:999px}
.bnf-card-f p{font-size:13px;color:var(--smoke);margin:0 0 14px}
/* 応募文画面の特典パネル */
.bnf-ask[hidden]{display:none!important}
.bnf-panel{padding:14px 16px;border:1px solid rgba(212,183,124,.55);border-radius:2px 16px 2px 16px;background:linear-gradient(135deg,rgba(212,183,124,.12),rgba(125,34,54,.2));margin-bottom:12px}
.bnf-panel .bnf-for{font-size:13px;color:var(--smoke);margin:8px 0 4px}
.bnf-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bnf-panel li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:14px}
.bnf-panel li b{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--gold-pale)}
.bnf-panel li small{font-size:12.5px;color:var(--smoke)}
#open-line.is-ready{background:var(--gold);color:#140a06;border-color:var(--gold)}
.top-steps{align-self:center;font-size:15px;margin:0}
@media (max-width:900px){
  .bnf-card{grid-template-columns:1fr;gap:18px}
  .bnf-card-f .btn{width:100%}
}
@media (max-width:480px){
  .bnf-row{grid-template-columns:1fr;gap:6px}
  .bnf-i{font-size:12px}
}
/* 応募文画面：見出しを小さくし、スマホでは下部にコピー・LINEボタンを固定 */
.phead.compact{padding-bottom:clamp(24px,3vw,40px)}
.phead.compact .en{font-size:clamp(38px,5.4vw,76px)}
.bnf-link{display:inline-block;text-decoration:none;max-width:100%}
.bnf-link .bnf{transition:border-color .2s}
.bnf-link:hover .bnf{border-color:var(--gold)}
.apply-bar{display:none}
@media (max-width:900px){
  body[data-page="apply"] .bnav{display:none}
  body[data-page="apply"]{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .apply-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:98;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(0,0,0,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .apply-bar-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .apply-bar .btn{min-height:50px;padding:0 10px;font-size:14.5px;white-space:nowrap}
  .apply-bar-status{margin:0 0 8px;font-size:12.5px;line-height:1.5;color:var(--gold-pale)}
  .apply-bar-status:empty{display:none}
  .phead.compact .en{font-size:clamp(34px,10vw,46px)}
}
body[data-page="apply"] .tray{display:none!important}
@media (max-width:480px){.preview textarea{min-height:560px;font-size:15px;padding:14px}}
