/* css/fonts.css */
@font-face {
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/zen-old-mincho-1.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}
@font-face {
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/zen-old-mincho-2.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}
@font-face {
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/zen-old-mincho-3.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}
@font-face {
  font-family: 'Zen Old Mincho';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/zen-old-mincho-4.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}

@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/noto-sans-jp-1.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/noto-sans-jp-1.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/noto-sans-jp-1.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/noto-sans-jp-1.woff2) format('woff2');
  unicode-range: U+a, U+20-21, U+28-29, U+2c, U+2e-3a, U+3f, U+41-5b, U+5d, U+61-7a, U+a0, U+a9, U+d7, U+2013, U+2015, U+201c-201d, U+203b, U+2192, U+2197, U+2500, U+3001-3002, U+300a-300d, U+3010-3011, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051-3055, U+3057, U+3059-305b, U+305d, U+305f-3061, U+3063-306b, U+306d-306f, U+3072, U+3078, U+307e-307f, U+3081-3082, U+3084, U+3088-308d, U+308f, U+3092-3093, U+30a2, U+30a4, U+30a7, U+30aa-30ab, U+30ad, U+30af, U+30b3, U+30b5, U+30b7-30bb, U+30bf-30c1, U+30c3-30c4, U+30c6-30cb, U+30cd, U+30d1, U+30d3-30d5, U+30d7, U+30d9-30da, U+30dd, U+30e0-30e3, U+30e5, U+30e7, U+30ea-30ed, U+30f3, U+30fb-30fc, U+4e00, U+4e16, U+4e2d, U+4e8c, U+4ea4, U+4eac, U+4eba, U+4eca, U+4ee3, U+4ef2, U+4efb, U+4f01, U+4f1a, U+4f1d, U+4f53, U+4f55, U+4fa1, U+4fc2, U+4fee, U+500b, U+5099, U+50ac, U+50cd, U+50d5, U+512a, U+5165, U+5168, U+5171, U+5185, U+518d, U+51fa, U+5206-5207, U+521d, U+524d, U+529b, U+52a0, U+52d5, U+52dd, U+52e2, U+5316, U+5360, U+53c2, U+53d6, U+5404, U+5408, U+5411, U+54e1, U+554f, U+56e3, U+56fd, U+5730, U+578b, U+57df, U+5805, U+5831, U+5834, U+58c7, U+58f2, U+5909, U+5927, U+592b, U+5951, U+59cb, U+59ff, U+5b50, U+5b8f, U+5b9a, U+5b9f, U+5ba4, U+5be9, U+5bfe, U+5c5e, U+5ddd, U+5de5, U+5e2b, U+5e73-5e74, U+5e83, U+5e97, U+5f0f, U+5f15, U+5f62, U+5f79, U+5f8c, U+5fb4, U+5fdc, U+5fe0, U+601d, U+6020, U+60c5, U+611f, U+6210, U+6226, U+6240, U+624b, U+6280, U+62bc, U+62c5, U+6307, U+6311, U+63a1, U+63d0, U+63ee, U+63f4, U+652f, U+6559, U+6574, U+6587, U+65b0, U+65b9, U+65bd, U+65e9, U+6642, U+666e, U+66ae, U+672c, U+6750-6751, U+6771, U+679c, U+67fb, U+6838, U+6848, U+6b21, U+6b69, U+6bb5, U+6d41, U+6df1, U+6f14, U+70b9, U+72ec, U+73fe, U+7406, U+751f, U+7528, U+7531, U+753b, U+754c, U+756a, U+767a-767b, U+76ee, U+7814, U+78ba, U+793e, U+79c1, U+79fb, U+7af6, U+7bc0, U+7d00, U+7d04, U+7d44, U+7d4c, U+7d50, U+7d99-7d9a, U+7dcf, U+7dd2, U+7de0, U+7df4, U+7e54, U+7fd2, U+8003, U+8005, U+80b2, U+81ea, U+8217, U+822a, U+8868, U+8981, U+8987, U+898b, U+899a, U+89a7, U+8a00, U+8a55, U+8a8d, U+8a9e, U+8ac7, U+8c61, U+8ca9, U+8cac, U+8d85, U+8eab, U+8eca, U+8ef8, U+8fce, U+8ffd, U+9000, U+9023, U+9032, U+9053, U+9078, U+91cd-91ce, U+91d1, U+9577, U+958b, U+9593, U+95a2, U+9802-9803, U+9a13, U+ff01, U+ff08-ff09, U+ff1a, U+ff1f;
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/montserrat-1.woff2) format('woff2');
  unicode-range: U+20-7e, U+a9, U+d7, U+2013-2014;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/montserrat-1.woff2) format('woff2');
  unicode-range: U+20-7e, U+a9, U+d7, U+2013-2014;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/montserrat-1.woff2) format('woff2');
  unicode-range: U+20-7e, U+a9, U+d7, U+2013-2014;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/montserrat-1.woff2) format('woff2');
  unicode-range: U+20-7e, U+a9, U+d7, U+2013-2014;
}


/* css/base.css */
:root{--font-heading:'Zen Old Mincho',serif;--font-body:'Montserrat','Noto Sans JP',sans-serif;--font-en:'Montserrat',sans-serif;--red:#e21b23;--ink:#1a1a1a;--content:1280px;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font-body);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2{font-family:var(--font-heading);font-weight:700}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #1679ec;outline-offset:5px}.container{width:min(1280px,calc(100% - 64px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:0;left:16px;z-index:1000;padding:8px 16px;background:#fff;color:#111;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.button{--button-padding-x:50px;--button-icon-right:20px;--button-icon-width:10px;--button-text-offset:calc(var(--button-icon-right) + var(--button-icon-width) / 2);display:inline-flex;justify-content:center;align-items:center;position:relative;min-height:58px;padding-block:14px;padding-left:calc(var(--button-padding-x) - var(--button-text-offset));padding-right:calc(var(--button-padding-x) + var(--button-text-offset));font-weight:500;line-height:1.5;text-align:center;color:#fff;background:#191919;transition:filter .2s,transform .2s}.button:after{content:'';position:absolute;right:var(--button-icon-right);top:50%;transform:translateY(-50%);width:var(--button-icon-width);height:20px;background:url('../img/common/common-button-triangle.svg') center/contain no-repeat}.button--red{background:#cc0013}.button:hover{filter:brightness(1.2);transform:translateY(-2px)}@media(min-width:768px) and (max-width:1919px){.container{width:66.666667%}}@media(max-width:767px){.container{width:calc(100% - 48px)}body{font-size:14px}.button{--button-padding-x:36px;--button-icon-right:22px;font-size:18px;min-height:60px;padding-block:16px}.button:after{height:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

@media(min-width:768px){.button{height:58px;min-height:58px}}
/* Shared scroll entrances for headings, photographs, copy and calls to action. */
@media (prefers-reduced-motion: no-preference) {
  .content-reveal {
    opacity: 0;
    transform: translateY(36px);
    transition: opacity .9s ease, transform 1.15s cubic-bezier(.22,.61,.36,1);
    transition-delay: var(--reveal-delay, 0s);
  }
  .content-reveal.is-visible { opacity: 1; transform: translateY(0); }
}
@media print {
  .content-reveal { opacity: 1; transform: none; }
}


/* sections/fv.css */
.fv{height:56.25vw;max-height:1080px;position:relative;isolation:isolate;overflow:hidden;background:#f1efee}.fv-background{position:absolute;inset:0;z-index:-3}.fv-background img{width:100%;height:100%;object-fit:cover}.fv-portrait{position:absolute;z-index:-1;width:45.20833%;max-width:none;right:9.63%;bottom:0}.fv-header{display:flex;align-items:center;justify-content:space-between;position:relative;width:calc(100% - 13.33333%);margin:auto;padding-top:2.70833vw}.fv-logo{width:10.05208vw;max-width:193px}.fv-logo img{width:100%}.fv-nav{display:flex;gap:1.770833vw}.fv-nav .button{--button-padding-x:3.1vw;--button-icon-right:1vw;--button-icon-width:.52vw;font-size:clamp(14px,.9375vw,18px);min-height:58px;padding-block:0}.fv-nav .button:after{height:1.04vw}.fv-copy{position:absolute;left:16.66667%;top:13.75vw}.fv-eyebrow{display:table;margin:0 0 1.35vw 2.8vw;padding:.15vw 1.25vw;background:#191919;color:#fff;transform:skew(-27deg);font-size:clamp(14px,1.25vw,24px);font-weight:700;line-height:1.8}.fv-eyebrow span{display:block;transform:skew(27deg)}.fv-eyebrow b{display:inline-block;position:relative;top:.06em;color:#ff1528;font-size:1.5em;line-height:1;padding:0 .22em}.fv h1{margin:0;font-family:var(--font-heading);font-size:6.1vw;line-height:1.12;letter-spacing:.065em;font-weight:700}.fv-title-line{display:flex;align-items:baseline;white-space:nowrap}.fv h1 em{font-style:normal;color:#db2329}.fv-ten{font-size:9.13vw;line-height:1}.fv-ten-year{font-size:6.93vw}.fv-walk{font-size:6.71vw}.fv-no{font-size:3.8vw;margin-inline:.05em}.fv-to{font-size:3.4vw;letter-spacing:0}.fv-now{font-size:3.8vw;margin-right:.07em}.fv-description{font-size:clamp(14px,.83333vw,16px);line-height:2;letter-spacing:0;margin-top:3.125vw}.sp-only{display:none}.fv-topics{display:flex;position:absolute;left:52.6%;top:39.2vw;gap:1vw;width:30.8%}.fv-topic{position:relative;display:flex;flex:1;align-items:center;flex-direction:column;justify-content:space-between;background:#ffffffe0;border:7px solid #ffffff55;border-radius:12px;padding:1vw .25vw 1.85vw;text-align:center;font-size:clamp(14px,.9375vw,18px);font-weight:700;line-height:1.3;min-height:12.5vw;transition:background .2s,transform .2s}.fv-topic:before{content:'';position:absolute;inset:0;border:1px solid #ed2938;border-radius:7px;pointer-events:none}.fv-topic:after{content:'';position:absolute;bottom:.6vw;left:33%;width:34%;height:2px;background:#eb1325}.fv-topic:hover{background:#fff;transform:translateY(-5px)}.fv-topic-icon{flex-shrink:0;display:grid;place-items:center;width:4.45vw;height:4.45vw;background:linear-gradient(#ff001b,#760600);border-radius:50%;margin-bottom:.8vw}.fv-topic-icon img{max-width:75%;max-height:50%;width:auto}.fv-mobile-actions{display:none}
@media(min-width:1921px){.fv{max-height:none}.fv-logo{max-width:none}}
@media(max-width:767px){.fv{height:auto;max-height:none;background:linear-gradient(180deg,#c4000b 70%,#790700 96%,#790700 100%);padding-bottom:0;overflow:hidden}.fv-background{height:auto;aspect-ratio:860 / 1600;bottom:auto;overflow:hidden}.fv-background img{width:100%;height:auto;object-fit:initial}.fv-portrait{display:none}.fv-header{width:calc(100% - 48px);padding-top:40px;min-height:85px}.fv-logo{width:127px;max-width:34%}.fv-nav{display:none}.fv-copy{position:relative;top:auto;left:auto;width:calc(100% - 48px);margin:52px auto 0}.fv-eyebrow{font-size:14px;line-height:1.7;padding:0 12px;margin:0 auto 18px}.fv h1{font-size:10.9vw;line-height:1.15;letter-spacing:.02em;width:calc(100% + 8px);margin-left:-4px}.fv-title-line{justify-content:center}.fv-ten{font-size:16.72vw}.fv-ten-year{font-size:12.98vw}.fv-walk{font-size:11.99vw}.fv-no{font-size:9.8vw;margin:0 .04em}.fv-to{font-size:9.6vw}.fv-now{font-size:9.8vw;letter-spacing:.07em}.fv-description{font-size:13px;line-height:1.75;margin-top:24px;width:51vw;letter-spacing:0;min-height:0}.sp-only{display:initial}.pc-only{display:none}.fv-topics{position:relative;left:auto;top:auto;width:calc(100% - 48px);margin:100px auto 0;gap:12px}.fv-topic{border-width:5px;border-radius:12px;font-size:14px;min-height:171px;padding:16px 1px 24px}.fv-topic:before{border-radius:7px}.fv-topic:after{bottom:12px;height:2px}.fv-topic-icon{width:56px;height:56px;margin-bottom:18px}.fv-topic-icon img{max-width:76%;max-height:50%}.fv-mobile-actions{display:flex;flex-direction:column;gap:16px;width:calc(100% - 48px);margin:30px auto 0;padding-bottom:44px}.fv-mobile-actions .button--red{border:1px solid white;background:#c70012}.fv-mobile-actions .button{font-size:18px;min-height:58px}}
@media(max-width:389px){.fv-copy{margin-top:50px}.fv-eyebrow{font-size:14px}.fv-description{font-size:13px;margin-top:20px;min-height:0}.fv-topics{margin-top:86px;gap:8px}.fv-topic{font-size:14px;min-height:155px}.fv-topic-icon{width:48px;height:48px}.fv-mobile-actions .button{font-size:16px}}

.fv-topic-label{display:flex;flex:1;align-items:center;justify-content:center;width:100%;min-height:3.9em}

.fv-ten-number{font-kerning:normal;letter-spacing:-.04em;margin-right:.04em}

/* Enlarge the desktop activities CTA to approximately 120% of its original width. */
@media(min-width:768px){.fv-nav .button--red{--button-padding-x:calc(3.72vw + .7em)}}

/* Cover the pale bottom edge of the PC hero asset and subpixel seams. */
@media(min-width:768px){.fv{background:#710900}.fv::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#710900;pointer-events:none}}

@media(min-width:768px){.fv-description{font-size:clamp(15px,.885417vw,17px);font-weight:500}}

/* Intro sequence; backwards fill releases transforms for the card hover. */
@media (prefers-reduced-motion: no-preference) {
  .fv-eyebrow { animation: fv-intro-fade .75s ease .05s backwards; }
  .fv-title-line { animation: fv-intro-rise 1s cubic-bezier(.22,.61,.36,1) .15s backwards; }
  .fv-title-line:nth-child(2) { animation-delay: .3s; }
  .fv-description { animation: fv-intro-rise .9s cubic-bezier(.22,.61,.36,1) .5s backwards; }
  .fv-topic { animation: fv-intro-rise .85s cubic-bezier(.22,.61,.36,1) .7s backwards; }
  .fv-topic:nth-child(2) { animation-delay: .82s; }
  .fv-topic:nth-child(3) { animation-delay: .94s; }
  .fv-mobile-actions { animation: fv-intro-fade .8s ease 1s backwards; }
  .fv-portrait { animation: fv-intro-portrait 1.4s cubic-bezier(.22,.61,.36,1) .05s backwards; }
}
@keyframes fv-intro-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fv-intro-rise {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fv-intro-portrait {
  from { opacity: 0; transform: translateX(18px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Give the desktop composition enough room on tablets. */
@media (min-width: 768px) and (max-width: 1100px) {
  .fv { height: max(640px, 65vw); }
  .fv-logo { width: 110px; }
  .fv-copy { left: 6.666667%; top: 130px; width: 86.666666%; }
  .fv-description { width: 48%; margin-top: 24px; font-size: 14px; }
  .fv-description br.pc-only { display: none; }
  .fv-topics { left: auto; right: 6.666667%; top: auto; bottom: 24px; width: 44%; gap: 10px; }
  .fv-topic { min-width: 0; min-height: 166px; padding: 14px 2px 24px; font-size: 13px; border-width: 5px; }
  .fv-topic-icon { width: 48px; height: 48px; margin-bottom: 12px; }
}
.fv-heading { display: contents; }
/* Keep mobile lines together at natural phrase boundaries. */
@media (max-width: 767px) {
  .fv-copy-phrase { display: inline-block; }
}
@media (min-width: 360px) and (max-width: 479px) {
  .fv-description { width: 56vw; }
  .fv-description br.sp-only { display: none; }
}
@media (max-width: 359px) {
  .fv { container-type: inline-size; --fv-copy-gap: 32px; }
  /* The photo ends at its natural aspect ratio; keep equal space around the copy. */
  .fv-heading { display: block; min-height: calc(100cqw * 1600 / 860 - 135px); }
  .fv-copy, .fv-topics, .fv-mobile-actions { width: calc(100% - 32px); }
  .fv-eyebrow { font-size: 12px; }
  .fv-description { width: 100%; margin-top: var(--fv-copy-gap); font-size: 13px; color: #fff; }
  .fv-description br.sp-only { display: none; }
  .fv-topics { margin-top: var(--fv-copy-gap); }
  .fv-topic { font-size: 12px; min-height: 156px; }
  .fv-topic-icon { width: 42px; height: 42px; }
  .fv-mobile-actions .button { font-size: 14px; }
}
@media (min-width: 480px) and (max-width: 767px) {
  .fv { container-type: inline-size; }
  /* Keep the compact cards inside the photo and the actions below its edge. */
  .fv-copy { min-height: calc(100cqw * 1600 / 860 - 333px); }
  .fv-description { width: 100%; max-width: 440px; margin: 48px auto 0; font-size: 15px; line-height: 1.9; }
  .fv-description br.sp-only { display: none; }
  .fv-topics { margin-top: 32px; gap: 12px; }
  .fv-topic { min-height: 132px; padding: 12px 4px 20px; border-width: 4px; font-size: 13px; }
  .fv-topic-icon { width: 40px; height: 40px; margin-bottom: 8px; }
  .fv-topic::after { bottom: 8px; }
  .fv-mobile-actions { margin-top: 64px; flex-direction: row; gap: 12px; }
  .fv-mobile-actions .button { flex: 1; min-width: 0; font-size: 14px; }
}

/* A compact row of links leaves the portrait prominent on narrow tablets. */
@media (min-width: 768px) and (max-width: 991px) {
  .fv { height: 640px; }
  .fv-portrait { width: 55%; right: 0; }
  .fv-description { width: 52%; max-width: 390px; font-size: 14px; line-height: 1.8; }
  .fv-description br.pc-only { display: initial; }
  .fv-description br.pc-only:last-of-type { display: none; }
  .fv-topics { left: 6.666667%; right: auto; width: 86.666666%; gap: 12px; }
  .fv-topic { flex-direction: row; justify-content: center; gap: 10px; min-height: 112px; padding: 14px 12px 22px; border-width: 4px; font-size: 13px; }
  .fv-topic-icon { width: 40px; height: 40px; margin: 0; }
  .fv-topic-label { min-height: 0; }
  .fv-topic::after { bottom: 8px; }
}


/* sections/s1.css */
.s1-relation {
  position: relative;
  overflow: hidden;
  padding: min(8.333333vw,160px) 0 40px;
  color: #fff;
  background: linear-gradient(180deg, #710900 0%, #bb000b 22%, #ff0716 41%, #ff8a00 74%, #ffa94d 88%, #ffb66e 100%);
  scroll-margin-top: 24px;
}
.s1-intro { display: grid; grid-template-columns: 736fr 410fr; gap: min(6.979167vw,134px); align-items: center; margin-bottom: min(7.8125vw,150px); }
.s1-heading { font-family: var(--font-heading); font-size: clamp(38px, 3.333333vw, 64px); font-weight: 700; line-height: 1.4; letter-spacing: .075em; margin: 0; white-space: nowrap; }
.s1-description { font-family: var(--font-body); font-size: clamp(14px,.833333vw,16px); line-height: 1.8; }
.s1-description p { margin: 0 0 20px; }
.s1-description p:last-child { margin-bottom: 0; }
.s1-videos { position: relative; display: grid; grid-template-columns: 736fr 410fr; gap: min(6.979167vw,134px); align-items: start; }
.s1-main-video { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border: 2px solid #d8ad40; border-radius: 18px; }
.s1-main-video img { width: 100%; height: 100%; object-fit: cover; }
.s1-main-shade { position: absolute; inset: 0; background: rgba(255,255,255,.36); transition: border-color .2s ease; }
.s1-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 116px; height: 116px; border: 2px solid #fff; border-radius: 50%; background: rgba(255,255,255,.78); box-shadow: 0 3px 16px rgba(0,0,0,.28); transition: background .2s ease, box-shadow .2s ease; }
.s1-play::after { content: ''; position: absolute; left: 50%; top: 50%; width: 40px; height: 50px; transform: translate(-33.333333%, -50%); background: #c70012; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.s1-main-video:hover .s1-play, .s1-main-video:focus-visible .s1-play { background: rgba(255,255,255,.94); box-shadow: 0 4px 20px rgba(0,0,0,.36); }
.s1-main-video:hover .s1-main-shade { background: rgba(255,255,255,.18); }
.s1-main-video:focus-visible, .s1-video-card:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.s1-watermark { position: absolute; top: min(23.4375vw,450px); left: 50%; width: 100vw; overflow: hidden; transform: translateX(-50%); font-family: var(--font-en); font-size: min(6.041667vw,116px); font-weight: 700; line-height: 1; white-space: nowrap; color: rgba(255,136,28,.35); pointer-events: none; }
.s1-watermark-track { display: flex; width: max-content; animation: s1-watermark-marquee 18s linear infinite; will-change: transform; }
.s1-watermark-track span { display: block; flex: none; }
@keyframes s1-watermark-marquee {
  to { transform: translateX(-50%); }
}
.s1-video-list { position: relative; display: grid; gap: 30px; }
.s1-video-card { display: block; padding: min(1.09375vw,21px) min(1.145833vw,22px) min(1.40625vw,27px); border: 2px solid #fff; border-radius: 16px; color: inherit; text-decoration: none; font-family: var(--font-body); transition: border-color .2s ease; }

.s1-video-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; }
.s1-video-card h3 { margin: 17px 0 0; font-size: clamp(14px,1.041667vw,20px); font-weight: 700; line-height: 1.55; }
.s1-video-card p { margin: 4px 0 0; font-size: 14px; font-weight: 700; line-height: 1.6; white-space: normal; }
@media (min-width: 768px) and (max-width: 1350px) {
  .s1-intro, .s1-videos { gap: 7vw; }
  .s1-description { font-size: 14px; }
  .s1-video-card { padding: 16px; }
  .s1-video-card h3 { font-size: 17px; }
  .s1-video-card p { font-size: 14px; }
  .s1-watermark { top: 34vw; font-size: 8vw; }
}
@media (max-width: 767px) {
  .s1-relation { padding-top: 120px; padding-bottom: 32px; background: linear-gradient(180deg, #790700 0%, #b3000a 20%, #ff0716 42%, #ff8500 80%, #ffb66e 100%); }
  .s1-inner.container { width: calc(100% - 48px); }
  .s1-intro { display: block; margin-bottom: 70px; }
  .s1-heading { font-size: 32px; line-height: 1.7; letter-spacing: .025em; margin-bottom: 43px; }
  .s1-description { font-size: 14px; line-height: 2; }
  .s1-description p { margin-bottom: 18px; }
  .s1-desktop-break { display: none; }
  .s1-videos { display: block; }
  .s1-main-video { border-radius: 17px; }
  .s1-play { width: 80px; height: 80px; }
  .s1-play::after { width: 27px; height: 36px; }
  .s1-watermark { position: relative; top: auto; left: 50%; margin: 19px 0 67px; font-size: 58px; color: rgba(255,130,83,.43); }
  .s1-video-list { gap: 30px; }
  .s1-video-card { padding: 11px 10px 27px; border-radius: 17px; }
  .s1-video-card img { border-radius: 10px; }
  .s1-video-card h3 { font-size: 18px; margin-top: 22px; line-height: 1.5; }
  .s1-video-card p { font-size: 14px; line-height: 1.8; margin-top: 2px; }
}
@media (max-width: 389px) {
  .s1-heading { font-size: 28px; }
  .s1-description { font-size: 14px; }
  .s1-video-card h3 { font-size: 16px; }
  .s1-video-card p { font-size: 14px; }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .s1-inner.container { width: calc(100% - 64px); }
  .s1-intro, .s1-videos { gap: 40px; }
  .s1-heading { font-size: 36px; }
  .s1-intro { grid-template-columns: 1.1fr 1fr; }
  .s1-videos { grid-template-columns: 1.2fr 1fr; }
  .s1-video-card p { white-space: normal; }
}

/* One pinned stage preserves the spacing during the hold and exit. */
.s1-relation.s1-motion { overflow: clip; }
.s1-motion .s1-scroll-track { height: var(--s1-track-height); }
/* The entrance boundary follows the viewport, independently of the short exit track. */
.s1-motion .s1-videos { position: sticky; top: var(--s1-pin-top, 0px); height: var(--s1-stage-height, 100svh); padding-top: var(--s1-main-top, 48px); clip-path: inset(0 -50vw min(0px, calc(100% + var(--s1-pin-top, 0px) - 100dvh))); }
.s1-motion .s1-main-video { position: relative; top: auto; z-index: 4; }
.s1-motion .s1-video-list { position: relative; display: block; height: var(--s1-card-height); padding: 0; }
.s1-motion .s1-video-card { position: absolute; inset: 0 0 auto; transform: translateY(var(--s1-card-offset, 0px)); }
.s1-motion .s1-video-card:nth-child(2) { z-index: 1; }
.s1-motion .s1-video-card:nth-child(3) { z-index: 2; }
.s1-motion .s1-video-card:focus-visible { z-index: 5; }
.s1-motion .s1-watermark { top: var(--s1-label-top); }
@media (max-width: 767px) {
  .s1-motion .s1-video-list { margin-top: var(--s1-mobile-gap, 120px); }
  .s1-motion .s1-watermark { position: absolute; margin: 0; font-size: 44px; line-height: 1; }
}

/* Opaque copies of the section gradient align with each card's current position. */
.s1-video-card { color: #fff; background-image: var(--s1-card-background, linear-gradient(#b50008, #e80010)); background-size: 100% var(--s1-background-height, 100%); background-position: center var(--s1-background-offset, 0px); background-origin: border-box; background-repeat: no-repeat; }
.s1-video-card:nth-child(2) { background-image: var(--s1-card-background, linear-gradient(#ff4c08, #ff8800)); }
.s1-video-card:nth-child(3) { background-image: var(--s1-card-background, linear-gradient(#ff9b32, #ffb66e)); }

/* Entrance movement is separate from the transform used to stack the cards. */
@media (min-width: 768px) and (prefers-reduced-motion: no-preference) {
  .s1-video-card.s1-card-reveal {
    opacity: 0;
    translate: 0 36px;
    transition: opacity .9s ease, translate 1.15s cubic-bezier(.22, .61, .36, 1), border-color .2s ease;
  }
  .s1-video-card.s1-card-reveal.is-card-visible { opacity: 1; translate: 0 0; }
  /* Stacking cards enter by scrolling from the bottom, without a later mid-screen reveal. */
  .s1-motion .s1-video-card.s1-card-reveal { opacity: 1; translate: none; transition: border-color .2s ease; }
}
@media print {
  .s1-video-card.s1-card-reveal { opacity: 1; translate: none; }
}
@media (prefers-reduced-motion: reduce) {
  .s1-watermark-track { animation: none; transform: translateX(-10%); }
}


/* sections/s2.css */
.s2-activities {
  /* Finish the transition above the heading so its full background stays white. */
  background: linear-gradient(180deg, #ffb66e 0, #fff 160px);
  color: #171717;
  scroll-margin-top: 24px;
}
.s2-heading-wrap { padding-top: 216px; padding-bottom: 64px; }
.s2-heading {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(40px, 3.333333vw, 64px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .12em;
}
.s2-row { position: relative; min-height: 0; height: 52.083333vw; }
.s2-photo { position: absolute; inset: 0; display: block; }
.s2-photo img { width: 100%; height: 100%; object-fit: cover; }
.s2-panel {
  position: absolute;
  inset: 0 0 0 auto;
  width: 45%;
  color: #fff;
  background: linear-gradient(180deg, #ff8a00 0%, #e70007 77%, #df0012 100%);
}
.s2-row--second .s2-panel { inset: 0 auto 0 0; }
.s2-label {
  position: absolute;
  top: 4.583333vw;
  left: 6.875vw;
  margin: 0;
  writing-mode: vertical-rl;
  font-family: var(--font-en);
  font-weight: 700;
  font-size: 3.333333vw;
  line-height: 1;
  color: rgba(188, 45, 0, .47);
}
.s2-copy { position: absolute; left: 7.03125vw; right: 3.125vw; top: 31.25vw; }
.s2-copy h3 {
  margin: 0 0 2.291667vw;
  font-family: var(--font-heading);
  font-size: 2.5vw;
  font-weight: 700;
  line-height: 1.5;
  white-space: nowrap;
}
.s2-copy p {
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(14px, .833333vw, 18px);
  line-height: 2;
  font-weight: 400;
}
.s2-mobile-break { display: none; }
@media (max-width: 767px) {
  .s2-activities { background: linear-gradient(180deg, #ffb66e 0, #fff 64px); }
  .s2-heading-wrap.container { width: calc(100% - 48px); padding-top: 104px; padding-bottom: 52px; }
  .s2-heading { font-size: 32px; line-height: 1.7; letter-spacing: .1em; }
  .s2-row { height: auto; }
  .s2-photo { position: static; }
  .s2-photo img { height: auto; aspect-ratio: 430 / 271; object-fit: cover; }
  .s2-panel, .s2-row--second .s2-panel { position: relative; inset: auto; width: 100%; min-height: 460px; padding: 69px 18px 60px; text-align: center; }
  .s2-label { position: static; writing-mode: horizontal-tb; font-size: 24px; line-height: 1.3; margin: 0 0 35px; }
  .s2-copy { position: static; }
  .s2-copy h3 { font-size: 32px; line-height: 1.5; margin: 0 0 25px; letter-spacing: 0; }
  .s2-copy p { font-size: 14px; line-height: 2; }
  .s2-mobile-break { display: inline; }
}
@media (max-width: 389px) {
  .s2-heading { font-size: 28px; }
  .s2-copy h3 { font-size: 27px; }
  .s2-copy p { font-size: 14px; }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .s2-row { min-height: 540px; }
  .s2-label { writing-mode: horizontal-tb; font-size: 30px; top: 48px; }
  .s2-copy { top: 45%; left: 32px; right: 24px; }
  .s2-copy h3 { font-size: 24px; white-space: normal; }
}

/* Full-screen photograph, then a panel that rises with the page scroll. */
.s2-stage { height: 100%; }
.s2-row.s2-motion { height: 210svh; min-height: 0; }
.s2-motion .s2-stage { position: sticky; top: 0; height: 100svh; overflow: hidden; }
.s2-motion .s2-photo { position: absolute; inset: 0; }
.s2-motion .s2-photo img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.s2-motion .s2-panel { transform: translateY(var(--s2-panel-offset, 100%)); will-change: transform; }
.s2-motion .s2-label { top: clamp(24px, 7vh, 80px); }
.s2-motion .s2-copy { top: auto; bottom: clamp(32px, 8vh, 96px); }
@media (max-width: 767px) {
  .s2-stage { height: auto; }
  .s2-panel, .s2-row--second .s2-panel { min-height: 0; padding: 28px 18px 32px; }
  .s2-label { margin-bottom: 18px; }
  .s2-copy h3 { font-size: 27px; margin-bottom: 18px; }
  .s2-copy p { line-height: 1.8; }
  .s2-photo img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
  /* Both panels share the supplied SP reference proportions (430 × 460). */
  .s2-row { container-type: inline-size; }
  .s2-row .s2-panel {
    min-height: 106.976744cqw;
    padding: 16.046512cqw 4.186047cqw 13.953488cqw;
  }
  .s2-row .s2-label { font-size: 5.581395cqw; margin-bottom: 8.139535cqw; }
  .s2-row .s2-copy h3 { font-size: 7.44186cqw; margin-bottom: 5.813953cqw; }
  .s2-row .s2-copy p { font-size: 3.255814cqw; line-height: 2; }
}
@media (max-width: 359px) {
  .s2-heading { font-size: 25px; letter-spacing: .06em; }
}


/* sections/s3.css */
.s3-contest {
  padding: min(12.5vw, 240px) 0 0;
  color: #191919;
  background: linear-gradient(180deg, #fff 0%, #fff 19%, #ffd7ae 37%, #ffb675 49%, #ff5208 68%, #ffb879 100%);
}
.s3-heading {
  margin: 0 20px min(8.958333vw, 172px);
  text-align: center;
  font-family: var(--font-heading, "Zen Old Mincho", serif);
  font-size: min(3.333333vw, 64px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .08em;
}
.s3-heading span { color: #d50012; }
.s3-sp-break { display: none; }
.s3-content {
  position: relative;
  width: calc(100% - min(2.916667vw, 56px));
  max-width: 1864px;
  margin-inline: auto;
}
/* Keep both group-photo frames stationary; only their inner images move. */
.s3-photos { position: relative; aspect-ratio: 3728 / 1914; }
.s3-photo { position: absolute; display: block; height: auto; border-radius: 18px; }
.s3-photo-frame { position: absolute; overflow: hidden; border-radius: 18px; }
/* Reference coordinates: lower-left y=1118, upper height=1074, gap=48.
   Upper y=(1118 - 1074 - 48) / 1914, matching the horizontal 48 / 3728 gap. */
.s3-photo-frame--1 { left: 0; top: -.208986%; width: 49.409871%; aspect-ratio: 1842 / 1074; }
.s3-photo-frame .s3-photo { inset: 0; width: 100%; height: calc(100% + 64px); border-radius: 0; object-fit: cover; transform: translate3d(0, var(--s3-parallax-y, 0px), 0); will-change: transform; }
.s3-photo--2 { left: 21.566524%; top: 58.411703%; width: 27.843348%; }
.s3-photo-frame--3 { left: 50.697425%; top: 43.887147%; width: 49.302575%; aspect-ratio: 1838 / 1074; }
@media (prefers-reduced-motion: no-preference) {
  /* Fade outer frames separately from their images' depth motion. */
  .s3-photo-reveal { opacity: 0; }
  .s3-photo-reveal.is-photo-revealed { animation: s3-photo-fade 1.1s ease-out both; }
  .s3-photo-motion .s3-photo { scale: 1.16; }
  .s3-photo-motion.is-photo-visible .s3-photo {
    animation: s3-photo-settle 1.6s cubic-bezier(.22, .61, .36, 1) both;
  }
}
@keyframes s3-photo-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes s3-photo-settle {
  from { scale: 1.16; }
  to { scale: 1; }
}
.s3-copy {
  position: absolute;
  top: min(2.083333vw, 40px);
  left: 56.44%;
  right: 2%;
  font-family: var(--font-body, "Noto Sans JP", sans-serif);
  font-size: clamp(14px, .833333vw, 16px);
  font-weight: 400;
  line-height: 2;
}
.s3-copy p { margin: 0; }
.s3-copy p + p { margin-top: min(1.166667vw, 22.4px); }
@media (min-width: 768px) and (max-width: 1440px) {
  .s3-copy { line-height: 1.7; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .s3-copy { position: static; max-width: 680px; margin: 40px auto 0; }
}
@media (max-width: 767px) {
  .s3-contest {
    padding: 64px 0 32px;
    background: linear-gradient(180deg, #fff 0%, #fff 18%, #ffd7ae 27%, #ff550c 59%, #ffc28c 85%, #ffd3b2 100%);
  }
  .s3-heading {
    margin: 0 12px 64px;
    font-size: clamp(26px, 7.44186vw, 40px);
    line-height: 1.75;
    letter-spacing: .02em;
  }
  .s3-sp-break { display: initial; }
  .s3-pc-break { display: none; }
  .s3-content { width: calc(100% - 48px); max-width: 560px; }
  .s3-photos { display: grid; gap: 16px; aspect-ratio: auto; }
  .s3-photo-frame--1,
  .s3-photo--2,
  .s3-photo-frame--3 {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1842 / 1074;
    object-fit: cover;
  }
  .s3-photo-frame .s3-photo {
    height: calc(100% + 48px);
  }
  .s3-photo--2 {
    width: 61.67979%;
    justify-self: end;
    aspect-ratio: 1038 / 796;
  }
  .s3-photo-frame--3 { aspect-ratio: 1838 / 1074; }
  .s3-copy {
    position: static;
    margin-top: 60px;
    font-size: 14px;
    line-height: 2;
  }
  .s3-copy p + p { margin-top: 20px; }
  .s3-sp-line { display: block; }
}
@media (min-width: 390px) and (max-width: 767px), (max-width: 359px) {
  .s3-heading { font-size: clamp(20px, 6.4vw, 40px); }
}
@media (prefers-reduced-motion: reduce) {
  .s3-photo-frame .s3-photo { height: 100%; transform: none; will-change: auto; }
}
@media print {
  .s3-photo-reveal { opacity: 1; animation: none; }
}


/* sections/s4.css */
.s4-message {
  position: relative;
  margin-top: 0;
  color: #191919;
  background: #fff;
}
.s4-message-visual {
  position: relative;
  background: linear-gradient(180deg, #ffb879 0%, #ffdfc7 55%, #fff 88%);
}
.s4-message-label {
  position: absolute;
  top: min(6.458333vw, 124px);
  left: 3.541667%;
  margin: 0;
  color: rgba(255, 255, 255, .37);
  font-family: var(--font-en, "Montserrat", sans-serif);
  font-size: min(6.25vw, 120px);
  font-weight: 700;
  line-height: 1.2;
}
.s4-portrait { position: relative; display: block; }
.s4-portrait img { width: 100%; height: auto; }
.s4-quotation {
  position: absolute;
  top: min(13.541667vw, 260px);
  left: 49.333333%;
  right: 5%;
  margin: 0;
}
.s4-quotation h2 {
  margin: 0;
  font-family: var(--font-heading, "Zen Old Mincho", serif);
  font-size: min(2.5vw, 48px);
  font-weight: 600;
  line-height: 1.666667;
  letter-spacing: .12em;
}
.s4-quotation h2 span { color: #d50012; }
.s4-quotation footer {
  margin-top: min(2.083333vw, 40px);
  font-family: var(--font-body, "Noto Sans JP", sans-serif);
  font-size: clamp(12px, .833333vw, 16px);
  font-style: normal;
  line-height: 2;
}
.s4-history-intro {
  position: relative;
  width: 66.666667%;
  max-width: 1280px;
  margin: 0 auto;
  padding: min(7.8125vw, 150px) 0 min(4.166667vw, 80px);
}
.s4-history-label {
  position: absolute;
  top: max(-1.041667vw, -20px);
  right: 0;
  margin: 0;
  color: #e6e6e6;
  font-family: var(--font-en, "Montserrat", sans-serif);
  font-size: min(6.25vw, 120px);
  font-weight: 700;
  line-height: 1;
  writing-mode: vertical-rl;
}
.s4-history-heading {
  margin: 0;
  font-family: var(--font-heading, "Zen Old Mincho", serif);
  font-size: min(3.333333vw, 64px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .025em;
}
.s4-history-heading span {
  color: #d50012;
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1;
}
.s4-history-subtitle {
  margin: min(.625vw, 12px) 0 0;
  font-family: var(--font-heading, "Zen Old Mincho", serif);
  font-size: clamp(14px, 1.666667vw, 32px);
  font-weight: 600;
  line-height: 1.6875;
  letter-spacing: .05em;
}
.s4-history-copy {
  margin: min(4.0625vw, 78px) 0 0;
  font-family: var(--font-body, "Noto Sans JP", sans-serif);
  font-size: clamp(14px, .833333vw, 16px);
  line-height: 2;
}
.s4-sp-break { display: none; }
@media (max-width: 767px) {
  .s4-message { margin-top: 0; }
  .s4-message-visual { background: linear-gradient(180deg, #ffd3b2, #ffeadc 40%, #fff 65%); }
  .s4-message-label {
    top: 8px;
    right: 24px;
    left: auto;
    font-size: clamp(52px, 14.88372vw, 88px);
  }
  .s4-portrait { top: -3.5vw; margin-bottom: -3.5vw; }
  .s4-quotation { position: relative; inset: auto; margin: 28px 24px 0; }
  .s4-quotation h2 { font-size: clamp(27px, 7.44186vw, 40px); line-height: 1.75; letter-spacing: .08em; }
  .s4-quotation footer { margin-top: 20px; font-size: 12px; line-height: 1.75; }
  .s4-history-intro { width: calc(100% - 48px); max-width: 560px; padding: 164px 0 52px; }
  .s4-history-label { top: 20px; right: 0; font-size: 40px; }
  .s4-history-heading { font-size: 32px; line-height: 1.5; }
  .s4-history-heading span { font-size: 52px; }
  .s4-history-subtitle { margin-top: 12px; font-size: clamp(14px, 3.023256vw, 16px); letter-spacing: 0; line-height: 1.8; }
  .s4-history-subtitle span { display: block; white-space: nowrap; }
  .s4-history-copy { margin-top: 40px; font-size: 14px; line-height: 2; }
  .s4-sp-break { display: initial; }
}
@media (max-width: 359px) {
  .s4-quotation h2 { font-size: 24px; letter-spacing: .04em; }
  .s4-history-subtitle { font-size: 12px; }
}


/* sections/s5.css */
.s5-career { position: relative; background: #fff; color: #161616; padding-top: min(8.020833vw, 154px); isolation: isolate; }
.s5-background { position: absolute; z-index: -1; top: 0; left: 0; display: block; width: 100%; }
.s5-background img { display: block; width: 100%; height: auto; }
.s5-inner { display: grid; grid-template-columns: 36.25% 57.5%; gap: 6.25%; width: min(1280px, 66.666667%); margin: 0 auto; }
.s5-heading { margin: min(17.395833vw, 334px) 0 0; font-family: var(--font-heading); font-size: clamp(26px, 2.5vw, 48px); font-weight: 700; line-height: 1.65; letter-spacing: .03em; }
.s5-heading span { color: #db000b; background: linear-gradient(180deg, #ff001b 15%, #980009 85%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.s5-card { padding: min(1.354167vw, 26px) min(4.375vw, 84px) min(3.958333vw, 76px); background: #fff; border-radius: 16px; box-shadow: 3px 5px 7px #5e11112b; }
.s5-records { list-style: none; margin: 0; padding: 0; }
.s5-record { display: grid; grid-template-columns: min(7.395833vw, 142px) 1fr; align-items: center; column-gap: min(1.25vw, 24px); min-height: min(11.979167vw, 230px); border-bottom: 2px solid #e6e6e6; }
.s5-year { margin: 0; color: #e5e5e5; font-family: var(--font-en); font-size: clamp(26px, 2.5vw, 48px); line-height: 1.2; font-weight: 400; letter-spacing: -.025em; }
.s5-copy { margin: 0; font-family: var(--font-body); font-size: clamp(14px, .9375vw, 18px); line-height: 1.8; font-weight: 400; }
.s5-sp-break { display: none; }
.s5-record--final { padding-top: min(3.645833vw, 70px); border: 0; align-items: start; row-gap: min(1.354167vw, 26px); }
.s5-final-photo { grid-column: 1 / -1; width: 543px; height: auto; border-radius: 10px; }
@media (min-width: 768px) and (max-width: 1100px) {
  .s5-inner { width: calc(100% - 64px); grid-template-columns: 34% 60%; gap: 6%; }
  .s5-card { padding-inline: 24px; }
  .s5-record { grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; }
}
@media (max-width: 767px) {
  .s5-career {
    container-type: inline-size;
    --s5-sp-heading-size: min(7.44186vw, 32px);
    --s5-sp-heading-top: min(24.186047vw, 104px);
    /* Use the image's container width, excluding any desktop preview scrollbar. */
    --s5-sp-card-top: 63cqw;
    padding-top: var(--s5-sp-heading-top);
  }
  .s5-inner { display: block; width: calc(100% - 48px); }
  .s5-background img { width: 100%; }
  .s5-heading { margin: 0 0 calc(var(--s5-sp-card-top) - var(--s5-sp-heading-top) - var(--s5-sp-heading-size) * 3.3); font-size: var(--s5-sp-heading-size); line-height: 1.65; text-align: center; }
  .s5-card { padding: 9px 16px 38px; border-radius: 16px; box-shadow: 3px 5px 7px #5e11112b; }
  .s5-record { grid-template-columns: 72px 1fr; column-gap: 16px; min-height: 137px; border-bottom-width: 1px; }
  .s5-year { font-size: 28px; }
  .s5-copy { font-size: 14px; line-height: 1.8; }
  .s5-sp-break { display: inline; }
  .s5-pc-break { display: none; }
  .s5-record--final { padding-top: 52px; row-gap: 20px; }
  .s5-final-photo { width: 100%; border-radius: 7px; }
}
@media (max-width: 389px) {
  .s5-inner { width: calc(100% - 32px); }
  .s5-record { grid-template-columns: 60px 1fr; gap: 12px; }
  .s5-copy { font-size: 14px; }
}

/* Keep the backdrop and white card fixed while only the records move inside it. */
.s5-career.s5-motion { padding-top: 0; height: calc(100svh + var(--s5-travel, 1000px) + 120px); }
.s5-motion .s5-stage { position: sticky; top: 0; height: 100svh; padding-top: min(8.020833vw, 154px); overflow: hidden; isolation: isolate; background: #fff; }
.s5-motion .s5-card-window { height: min(78svh, 940px, calc(100svh - min(8.020833vw, 154px) - 24px)); overflow: visible; padding-inline: 8px; margin-inline: -8px; box-sizing: content-box; }
.s5-motion .s5-card { height: 100%; overflow: hidden; transform: none; }
.s5-motion .s5-records { transform: translateY(var(--s5-content-offset, 0px)); will-change: transform; }
@media (max-width: 767px) {
  .s5-motion .s5-stage { padding-top: var(--s5-sp-heading-top); }
  .s5-motion .s5-card-window { height: calc(100svh - var(--s5-sp-card-top) - 16px); }
}
@media (max-width: 359px) {
  .s5-year { font-size: 26px; }
  .s5-record--final { column-gap: 16px; }
}


/* sections/s6.css */
.s6-philosophy {
  color: #111;
  background: #fff;
  text-align: center;
}
.s6-stage { min-height: 100svh; display: grid; place-items: center; padding: 32px 24px; background: #fff; overflow: hidden; }
.s6-heading {
  width: 100%;
  margin: 0;
  font-family: var(--font-heading, "Zen Old Mincho", serif);
  font-weight: 600;
}
.s6-lead {
  display: block;
  font-size: clamp(20px, 3vw, 58px);
  line-height: 1.583333;
  letter-spacing: .1em;
}
.s6-name { color: #d50012; font-size: 1.166667em; letter-spacing: 0; }
.s6-brand { font-weight: 700; }
.s6-particle { font-size: .8em; letter-spacing: 0; }
.s6-values {
  display: block;
  margin-top: clamp(18px, 2vw, 38px);
  font-size: clamp(30px, 5vw, 96px);
  line-height: 1.5;
  letter-spacing: .015em;
}
.s6-value em { color: #e60012; font-style: normal; }
.s6-connector { font-size: .8em; }
.s6-sp-break { display: none; }
.s6-name, .s6-particle, .s6-brand, .s6-value, .s6-connector, .s6-symbol { display: inline-block; }
@media (max-width: 767px) {
  .s6-stage { padding: 32px 20px; }
  .s6-lead { font-size: clamp(24px, 6vw, 30px); line-height: 1.75; letter-spacing: .1em; }
  .s6-name { font-size: 1.166667em; }
  .s6-sp-break { display: initial; }
  .s6-values { margin-top: 32px; font-size: clamp(44px, 14vw, 64px); line-height: 1.3; }
  .s6-value, .s6-symbol { display: block; }
  .s6-connector { display: block; font-size: 24px; line-height: 1.5; }
}

/* Let the statement emerge in two quiet waves, as if a memory comes into focus. */
@media (prefers-reduced-motion: no-preference) {
  .s6-motion { height: calc(100svh + 120px); }
  .s6-motion .s6-stage { position: sticky; top: 0; height: 100svh; }
  .s6-motion .s6-lead,
  .s6-motion .s6-values {
    opacity: 0;
    filter: blur(12px);
    transform: translateY(18px) scale(.985);
  }
  .s6-motion.is-visible .s6-lead { animation: s6-sentimental-focus 1.9s .1s cubic-bezier(.22,.61,.36,1) both; }
  .s6-motion.is-visible .s6-values { animation: s6-sentimental-focus 2.2s .45s cubic-bezier(.22,.61,.36,1) both; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
  .s6-motion { height: calc(100svh + 96px); }
}
@keyframes s6-sentimental-focus {
  0% { opacity: 0; filter: blur(12px); transform: translateY(18px) scale(.985); }
  45% { opacity: .72; }
  100% { opacity: 1; filter: blur(0); transform: none; }
}
@media print {
  .s6-motion { height: auto; }
  .s6-stage, .s6-motion .s6-stage { position: static; height: auto; min-height: 0; }
  .s6-motion .s6-lead, .s6-motion .s6-values {
    opacity: 1;
    filter: none;
    transform: none;
    animation: none !important;
  }
}
@media screen and (max-height: 600px) {
  .s6-stage { padding-block: 16px; }
  .s6-lead { font-size: min(2.222222vw, 4svh); }
  .s6-values { font-size: min(3.888889vw, 8svh); margin-top: 14px; }
}
@media screen and (max-width: 767px) and (max-height: 600px) {
  .s6-lead { font-size: min(6vw, 5svh); }
  .s6-values { font-size: min(14vw, 9svh); margin-top: 20px; }
  .s6-connector { font-size: min(24px, 4svh); }
}


/* sections/s7.css */
.s7-timeline { background: #fff; color: #171717; }
.s7-inner { width: min(1280px, 66.666667%); margin-inline: auto; }
.s7-heading { margin: 0 0 min(5.416667vw, 104px); font-family: var(--font-heading); font-size: clamp(28px, 2.5vw, 48px); font-weight: 700; line-height: 1.5; letter-spacing: .1em; }
.s7-heading > span { color: #d6000b; }
.s7-events { padding: 0; margin: 0; list-style: none; }
.s7-year { width: max-content; margin: 0 auto; padding: min(1.25vw, 24px) .1em; background: linear-gradient(110deg, #ff001f 8%, #ff8500 100%); background-clip: text; -webkit-background-clip: text; color: transparent; font-family: var(--font-en); font-size: min(6.25vw, 120px); font-weight: 400; line-height: 1; text-align: center; letter-spacing: -.04em; }
.s7-detail { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; column-gap: min(10vw, 192px); min-height: min(21.875vw, 420px); padding: min(2.708333vw, 52px) min(4.479167vw, 86px); isolation: isolate; }
.s7-detail::before { position: absolute; z-index: -1; content: ""; top: 0; bottom: 0; left: calc(50% - 2px); width: 4px; background: linear-gradient(#ff0026, #ff8900); }
.s7-copy { margin: 0; font-family: var(--font-body); font-size: clamp(14px, .9375vw, 18px); font-weight: 400; line-height: 1.8; text-align: right; }
.s7-copy small { display: block; margin-top: 6px; font-size: 13px; }
.s7-photo { width: 456px; height: auto; border-radius: 10px; }
.s7-photo--small { width: min(18.229167vw, 350px); }
.s7-photo--portrait { width: min(11.302083vw, 217px); }
.s7-event--reverse .s7-copy { grid-column: 2; grid-row: 1; text-align: left; }
.s7-event--reverse .s7-photo { grid-column: 1; grid-row: 1; justify-self: end; }
.s7-event--first .s7-detail { align-items: start; padding-top: min(3.541667vw, 68px); }
.s7-event--first .s7-copy { margin-left: max(-1.822917vw, -35px); }
.s7-detail--intro { grid-template-rows: repeat(3, auto); row-gap: min(6.875vw, 132px); }
.s7-detail--intro .s7-copy--sponsor { grid-column: 1; grid-row: 1; }
.s7-detail--intro .s7-quote { grid-column: 2; grid-row: 2; margin: 0 max(-4.6875vw, -90px) 0 0; }
.s7-detail--intro .s7-copy--activities { grid-column: 1; grid-row: 3; align-self: center; margin-top: min(3.75vw, 72px); }
.s7-detail--intro .s7-photo { grid-column: 2; grid-row: 3; align-self: center; margin-top: min(3.75vw, 72px); }
/* Center the activities group between the quote and the next year's text,
   retaining its layout space so the 2021 heading stays in place. */
.s7-detail--intro .s7-copy--activities,
.s7-detail--intro .s7-photo { position: relative; top: max(-3.333333vw, -64px); }
.s7-quote { position: relative; margin: min(6.875vw, 132px) max(-4.6875vw, -90px) 0 0; font-family: var(--font-body); font-size: clamp(14px, .9375vw, 18px); line-height: 1.8; }
.s7-quote p { position: relative; margin: 0; }
.s7-quote-mark { position: absolute; top: -23px; left: 0; width: 44px; height: 34px; }
.s7-quote cite { display: block; margin-top: 20px; font-size: 12px; font-style: normal; }
.s7-event--2021 .s7-photo { aspect-ratio: 456 / 230; object-fit: cover; }
.s7-event--last .s7-detail { min-height: min(25.416667vw, 488px); padding-bottom: min(7.1875vw, 138px); }
@media (min-width: 768px) and (max-width: 1100px) {
  .s7-inner { width: calc(100% - 64px); }
  .s7-detail { column-gap: 64px; padding-inline: 16px; }
  .s7-quote, .s7-detail--intro .s7-quote { margin-right: 0; }
  .s7-event--first .s7-copy { margin-left: 0; }
  .s7-pc-break { display: none; }
  .s7-photo--small { width: 100%; }
  .s7-photo--portrait { width: min(217px, 100%); }
}
@media (max-width: 767px) {
  .s7-inner { width: 100%; }
  .s7-heading { margin: 0 24px 94px; font-size: 24px; line-height: 1.5; letter-spacing: .08em; }
  .s7-year { padding: 22px .1em 28px; font-size: 80px; line-height: 1.1; letter-spacing: -.04em; }
  .s7-detail { display: flex; flex-direction: column; justify-content: flex-start; gap: 0; padding: 106px 24px 150px; min-height: 0; }
  .s7-detail::before { width: 3px; left: calc(50% - 1.5px); }
  .s7-copy { position: relative; align-self: stretch; background: #fff; box-shadow: 0 -9px 9px #fff, 0 9px 9px #fff; font-size: 16px; line-height: 1.8; text-align: left; }
  .s7-copy small { font-size: 12px; }
  .s7-photo, .s7-photo--small { width: 100%; margin-top: 36px; border-radius: 10px; }
  .s7-photo--portrait { width: 217px; }
  .s7-event--reverse .s7-copy { text-align: right; }
  .s7-event--first .s7-detail { padding-top: 112px; padding-bottom: 85px; }
  .s7-event--first .s7-copy { margin: 0; }
  .s7-detail--intro { row-gap: 0; }
  .s7-detail--intro .s7-quote { margin: 96px 0 0; }
  .s7-detail--intro .s7-copy--activities { margin-top: 144px; align-self: stretch; text-align: left; }
  .s7-detail--intro .s7-photo { margin-top: 36px; }
  .s7-detail--intro .s7-copy--activities,
  .s7-detail--intro .s7-photo { top: -18.5px; }
  .s7-quote { align-self: stretch; margin: 116px 0 0; background: #fff; box-shadow: 0 -9px 9px #fff, 0 9px 9px #fff; font-size: 16px; line-height: 1.8; text-align: right; }
  .s7-quote-mark { top: -25px; left: 30px; }
  .s7-quote cite { margin-top: 22px; font-size: 12px; line-height: 1.5; }
  .s7-cite-date { display: block; }
  .s7-pc-break { display: none; }
  .s7-event--2021 .s7-photo { aspect-ratio: auto; object-fit: initial; }
  .s7-event--last .s7-detail { min-height: 0; padding-bottom: 60px; }
}

/* Reveal each date, story and photograph as it enters the viewport. */
@media (prefers-reduced-motion: no-preference) {
  .s7-motion .s7-reveal { opacity: 0; transform: translateY(80px); transition: opacity 1s ease, transform 1.35s cubic-bezier(.22,.61,.36,1); }
  .s7-motion .s7-photo.s7-reveal, .s7-motion .s7-quote.s7-reveal { transition-delay: .18s; }
  .s7-motion .s7-year.s7-reveal { transform: translateY(28px); }
  .s7-motion .s7-reveal.is-visible { opacity: 1; transform: translateY(0); }
  .s7-motion .s7-detail::before { transform: scaleY(var(--s7-line-progress, 0)); transform-origin: top; }
  .s7-motion .s7-year {
    background-image: linear-gradient(110deg, rgba(255,24,0,.82), rgba(255,151,0,.76), rgba(255,44,0,.82)), url('../img/PC/FV.webp');
    background-size: 220% 100%, 260% auto;
    background-position: 0% 50%, 0% 35%;
    background-repeat: no-repeat;
    -webkit-text-fill-color: transparent;
    animation: s7-year-texture 12s ease-in-out infinite alternate;
    animation-play-state: paused;
  }
  .s7-motion .s7-year.is-in-view { animation-play-state: running; }
}
@keyframes s7-year-texture {
  from { background-position: 0% 50%, 0% 35%; }
  to { background-position: 100% 50%, 100% 65%; }
}
@media print {
  .s7-motion .s7-reveal { opacity: 1; transform: none; }
  .s7-motion .s7-detail::before { transform: none; }
}


/* sections/s8.css */
.s8-team-photo { margin: 0 min(1.458333vw, 28px); }
.s8-team-photo picture { display: block; }
.s8-team-photo img { display: block; width: 100%; height: auto; border-radius: min(1.041667vw, 20px); }
@media (max-width: 767px) {
  .s8-team-photo { margin: 0; }
  .s8-team-photo img { border-radius: 0; }
}

/* Match the recruitment site's soft photo entrance. */
@media (prefers-reduced-motion: no-preference) {
  .s8-team-photo picture.content-reveal {
    opacity: 0;
    transform: translateY(90px) scale(.96);
    transition: opacity 1.5s cubic-bezier(.16,1,.3,1), transform 1.5s cubic-bezier(.16,1,.3,1);
  }
  .s8-team-photo picture.content-reveal.is-visible { opacity: 1; transform: none; }
}
@media print {
  .s8-team-photo picture.content-reveal { opacity: 1; transform: none; }
}


/* sections/s9.css */
.s9-related { padding: min(5vw,96px) 0 min(8.125vw,156px); background: #fff; scroll-margin-top: 24px; }
.s9-panel { position: relative; padding: min(4.427083vw,85px) 0 min(6.770833vw,130px); }
.s9-panel::before { content: ''; position: absolute; inset: 0 0 0 8%; border-radius: 16px 0 0 16px; background: linear-gradient(105deg, #ff001c 0%, #ff4007 46%, #ff8a00 100%); }
.s9-inner { position: relative; }
.s9-heading { color: #fff; font-family: var(--font-heading); font-size: clamp(32px,2.5vw,48px); font-weight: 700; line-height: 1.5; margin: 0 0 36px; }
.s9-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: min(1.145833vw,22px); }
.s9-item { min-width: 0; }
.s9-item > .s9-card { height: 100%; }
.s9-card { display: block; min-height: min(22.1875vw,426px); padding: min(1.25vw,24px) min(1.25vw,24px) min(1.458333vw,28px); color: #171717; background: #fff; border-radius: 9px; font-family: var(--font-body); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.s9-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(116, 20, 0, .18); }
.s9-card:focus-visible { outline: 3px solid #171717; outline-offset: 5px; }
.s9-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; }
.s9-card h3 { font-size: clamp(16px,1.25vw,24px); line-height: 1.5; font-weight: 700; margin: min(1.666667vw,32px) 0; white-space: normal; }
.s9-card p { margin: 0; font-size: clamp(14px,.833333vw,16px); line-height: 1.5; }
.s9-card [lang="en"] { font-family: var(--font-en); }
@media (min-width: 768px) and (max-width: 1350px) {
  .s9-card { padding: 18px; min-height: 350px; }
  .s9-card h3 { font-size: 18px; margin: 24px 0; }
  .s9-card p { font-size: 14px; }
}
@media (max-width: 767px) {
  .s9-related { padding: 76px 0 128px; }
  .s9-panel { padding: 49px 0 72px; }
  .s9-panel::before { left: 24px; border-radius: 16px 0 0 16px; background: linear-gradient(90deg, #ff001c, #ff8900); }
  .s9-inner.container { width: calc(100% - 90px); margin-left: 66px; margin-right: 24px; }
  .s9-heading { font-size: 32px; line-height: 1.5; margin-bottom: 44px; }
  .s9-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .s9-card { min-height: 343px; padding: 19px 18px 27px; border-radius: 11px; }
  .s9-card img { border-radius: 8px; }
  .s9-card h3 { font-size: 18px; line-height: 1.5; margin: 26px 0 16px; }
  .s9-card p { font-size: 14px; line-height: 1.5; }
}
@media (max-width: 389px) {
  .s9-inner.container { width: calc(100% - 78px); margin-left: 54px; }
  .s9-card { padding-left: 14px; padding-right: 14px; }
  .s9-card h3 { font-size: 16px; }
  .s9-card p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .s9-card { transition: none; } }

@media (min-width: 768px) and (max-width: 1100px) {
  .s9-inner.container { width: calc(100% - 100px); margin-left: 76px; margin-right: 24px; }
  .s9-panel::before { left: 24px; }
  .s9-grid { gap: 16px; }
}


/* sections/s10.css */
.s10-future { position: relative; color: #fff; background: #080a0f; }
.s10-scene { position: relative; }
.s10-photo { display: block; }
.s10-photo img { width: 100%; height: auto; }
.s10-copy {
  position: absolute;
  top: min(8.333333vw, 160px);
  left: 50%;
  transform: translateX(-50%);
}
.s10-copy h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(32px, 3.333333vw, 64px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .04em;
}
.s10-copy p {
  margin: min(2.5vw, 48px) 0 0;
  font-family: var(--font-body);
  font-size: clamp(14px, .833333vw, 16px);
  line-height: 2;
}
.s10-actions {
  position: absolute;
  bottom: min(5.104167vw, 98px);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: clamp(16px, 1.666667vw, 32px);
}
.s10-actions .button {
  --button-padding-x: 32px;
  --button-icon-right: 16px;
  flex: 0 0 auto;
  min-height: 58px;
  padding-block: 12px;
  font-size: clamp(14px, .833333vw, 16px);
  white-space: nowrap;
}
.s10-actions .s10-recruit { width: clamp(196px, 14.0625vw, 270px); background: linear-gradient(180deg, #ff001c, #760000); }
.s10-actions .s10-company { width: clamp(244px, 16.979167vw, 326px); }
.s10-actions .s10-contact { width: clamp(224px, 15vw, 288px); }
@media (min-width: 768px) and (max-width: 1279px) {
  .s10-scene { min-height: 500px; }
  .s10-photo { position: absolute; inset: 0; }
  .s10-photo img { height: 100%; object-fit: cover; object-position: 65% center; }
  .s10-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.3), transparent 65%); pointer-events: none; }
  .s10-copy { z-index: 1; top: 80px; }
  .s10-actions { position: relative; bottom: auto; left: auto; transform: none; width: calc(100% - 48px); padding: 32px 0; justify-content: center; flex-wrap: wrap; }
}
@media (max-width: 767px) {
  .s10-copy {
    top: auto;
    bottom: 55%;
    width: calc(100% - 32px);
    text-align: center;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .s10-copy h2 { font-size: clamp(30px, 9vw, 40px); line-height: 1.5; letter-spacing: .02em; }
  .s10-copy p { margin-top: clamp(18px, 7vw, 36px); font-size: clamp(12px, 3.6vw, 16px); line-height: 2; }
  .s10-actions { position: relative; bottom: auto; left: auto; transform: none; padding: 50px 0 0; flex-direction: column; gap: 24px; }
  .s10-actions .button { --button-padding-x: 36px; --button-icon-right: 24px; width: 100%; min-height: 58px; padding-block: 16px; font-size: 18px; }
}
@media (max-width: 359px) {
  .s10-actions .button { font-size: 16px; }
}
@media (prefers-reduced-motion: no-preference) {
  .s10-photo.content-reveal { transition-duration: 1.35s; }
  .s10-actions .button.content-reveal {
    transition: opacity .9s ease, transform 1.15s cubic-bezier(.22,.61,.36,1), filter .2s ease;
    transition-delay: var(--reveal-delay, 0s), var(--reveal-delay, 0s), 0s;
  }
  .s10-actions .button.content-reveal.is-visible:hover {
    transform: translateY(-2px);
    transition: opacity .9s ease, transform .2s ease, filter .2s ease;
    transition-delay: 0s;
  }
}


/* sections/footer.css */
.lp-footer { color: #676a71; background: #080b11; padding: 76px 0 36px; }
.lp-footer-inner { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.lp-footer-brand { padding-bottom: 170px; }
.lp-footer-logo { display: inline-block; }
.lp-footer-logo img { width: 161px; height: auto; }
.lp-footer-tagline { margin: 20px 0 0; font-family: var(--font-body); font-size: 14px; line-height: 1.8; }
.lp-footer-bottom { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; padding-top: 32px; border-top: 1px solid #24262d; font-family: var(--font-en); font-size: 12px; line-height: 1.5; }
.lp-footer-copyright { font-size: inherit; color: #666972; }
.lp-footer-recruit { color: #666972; text-decoration: none; }
.lp-footer-recruit:hover { color: #fff; }
.lp-footer-logo:focus-visible, .lp-footer-recruit:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
@media (min-width: 768px) and (max-width: 1919px) {
  .lp-footer-inner { width: 61.458333%; }
}
@media (max-width: 767px) {
  .lp-footer { padding: 140px 0 60px; }
  .lp-footer-inner { width: calc(100% - 42px); }
  .lp-footer-brand { padding-bottom: 57px; }
  .lp-footer-logo img { width: 126px; }
  .lp-footer-tagline { margin-top: 18px; font-size: 14px; line-height: 1.85; }
  .lp-footer-bottom { gap: 20px; padding-top: 22px; }
  .lp-footer-copyright { flex: 1; min-width: 0; }
  .lp-footer-recruit { flex: 0 0 104px; }
}


/* css/dialog.css */
.video-dialog{width:min(1120px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:56px 24px 22px;background:#101014;border:0;color:#fff;overflow:auto}.video-dialog::backdrop{background:#08080be8}.video-close{position:absolute;right:15px;top:8px;color:#fff;background:none;border:0;font:38px/1.2 var(--font-body);padding:0 10px}.video-player{aspect-ratio:16/9;background:#000}.video-player iframe{display:block;width:100%;height:100%;border:0}.video-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.video-dialog h2{font-family:var(--font-body);font-size:16px;font-weight:500;line-height:1.6}.video-dialog-bottom a{flex-shrink:0;font-size:14px;border-bottom:1px solid #ddd}.video-help{font-size:12px;color:#bbb;margin-top:10px}@media(max-width:767px){.video-dialog{width:calc(100% - 24px);padding:52px 12px 18px}.video-dialog-bottom{display:block}.video-dialog-bottom a{display:inline-block;margin-top:12px}.video-dialog h2{font-size:14px}}
