/* Shared editorial layout, measured from the approved Figma PC and SP frames. */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/sans-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/sans-medium.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/sans-bold.woff2") format("woff2");
}
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/serif-medium.woff2") format("woff2");
}
/* Core glyphs cover the shipped content; full faces remain available for new content. */
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/sans-regular-core.woff2") format("woff2");
  unicode-range:
    U+A, U+20, U+21, U+22, U+23, U+24, U+25, U+26, U+27, U+28, U+29, U+2A, U+2B,
    U+2C, U+2D, U+2E, U+2F, U+30, U+31, U+32, U+33, U+34, U+35, U+36, U+37,
    U+38, U+39, U+3A, U+3B, U+3C, U+3D, U+3E, U+3F, U+40, U+41, U+42, U+43,
    U+44, U+45, U+46, U+47, U+48, U+49, U+4A, U+4B, U+4C, U+4D, U+4E, U+4F,
    U+50, U+51, U+52, U+53, U+54, U+55, U+56, U+57, U+58, U+59, U+5A, U+5B,
    U+5C, U+5D, U+5E, U+5F, U+60, U+61, U+62, U+63, U+64, U+65, U+66, U+67,
    U+68, U+69, U+6A, U+6B, U+6C, U+6D, U+6E, U+6F, U+70, U+71, U+72, U+73,
    U+74, U+75, U+76, U+77, U+78, U+79, U+7A, U+7B, U+7C, U+7D, U+7E, U+A0,
    U+A1, U+A2, U+A3, U+A4, U+A5, U+A6, U+A7, U+A8, U+A9, U+AA, U+AB, U+AC,
    U+AD, U+AE, U+AF, U+B0, U+B1, U+B2, U+B3, U+B4, U+B5, U+B6, U+B7, U+B8,
    U+B9, U+BA, U+BB, U+BC, U+BD, U+BE, U+BF, U+C0, U+C1, U+C2, U+C3, U+C4,
    U+C5, U+C6, U+C7, U+C8, U+C9, U+CA, U+CB, U+CC, U+CD, U+CE, U+CF, U+D0,
    U+D1, U+D2, U+D3, U+D4, U+D5, U+D6, U+D7, U+D8, U+D9, U+DA, U+DB, U+DC,
    U+DD, U+DE, U+DF, U+E0, U+E1, U+E2, U+E3, U+E4, U+E5, U+E6, U+E7, U+E8,
    U+E9, U+EA, U+EB, U+EC, U+ED, U+EE, U+EF, U+F0, U+F1, U+F2, U+F3, U+F4,
    U+F5, U+F6, U+F7, U+F8, U+F9, U+FA, U+FB, U+FC, U+FD, U+FE, U+FF, U+2000,
    U+2001, U+2002, U+2003, U+2004, U+2005, U+2006, U+2007, U+2008, U+2009,
    U+200A, U+200B, U+200C, U+200D, U+200E, U+200F, U+2010, U+2011, U+2012,
    U+2013, U+2014, U+2015, U+2016, U+2017, U+2018, U+2019, U+201A, U+201B,
    U+201C, U+201D, U+201E, U+201F, U+2020, U+2021, U+2022, U+2023, U+2024,
    U+2025, U+2026, U+2027, U+2028, U+2029, U+202A, U+202B, U+202C, U+202D,
    U+202E, U+202F, U+2030, U+2031, U+2032, U+2033, U+2034, U+2035, U+2036,
    U+2037, U+2038, U+2039, U+203A, U+203B, U+203C, U+203D, U+203E, U+203F,
    U+2040, U+2041, U+2042, U+2043, U+2044, U+2045, U+2046, U+2047, U+2048,
    U+2049, U+204A, U+204B, U+204C, U+204D, U+204E, U+204F, U+2050, U+2051,
    U+2052, U+2053, U+2054, U+2055, U+2056, U+2057, U+2058, U+2059, U+205A,
    U+205B, U+205C, U+205D, U+205E, U+205F, U+2060, U+2061, U+2062, U+2063,
    U+2064, U+2065, U+2066, U+2067, U+2068, U+2069, U+206A, U+206B, U+206C,
    U+206D, U+206E, U+206F, U+2190, U+2191, U+2192, U+2193, U+2194, U+2195,
    U+2196, U+2197, U+2198, U+2199, U+219A, U+219B, U+219C, U+219D, U+219E,
    U+219F, U+21A0, U+21A1, U+21A2, U+21A3, U+21A4, U+21A5, U+21A6, U+21A7,
    U+21A8, U+21A9, U+21AA, U+21AB, U+21AC, U+21AD, U+21AE, U+21AF, U+21B0,
    U+21B1, U+21B2, U+21B3, U+21B4, U+21B5, U+21B6, U+21B7, U+21B8, U+21B9,
    U+21BA, U+21BB, U+21BC, U+21BD, U+21BE, U+21BF, U+21C0, U+21C1, U+21C2,
    U+21C3, U+21C4, U+21C5, U+21C6, U+21C7, U+21C8, U+21C9, U+21CA, U+21CB,
    U+21CC, U+21CD, U+21CE, U+21CF, U+21D0, U+21D1, U+21D2, U+21D3, U+21D4,
    U+21D5, U+21D6, U+21D7, U+21D8, U+21D9, U+21DA, U+21DB, U+21DC, U+21DD,
    U+21DE, U+21DF, U+21E0, U+21E1, U+21E2, U+21E3, U+21E4, U+21E5, U+21E6,
    U+21E7, U+21E8, U+21E9, U+21EA, U+21EB, U+21EC, U+21ED, U+21EE, U+21EF,
    U+21F0, U+21F1, U+21F2, U+21F3, U+21F4, U+21F5, U+21F6, U+21F7, U+21F8,
    U+21F9, U+21FA, U+21FB, U+21FC, U+21FD, U+21FE, U+21FF, U+25A0, U+25A1,
    U+25A2, U+25A3, U+25A4, U+25A5, U+25A6, U+25A7, U+25A8, U+25A9, U+25AA,
    U+25AB, U+25AC, U+25AD, U+25AE, U+25AF, U+25B0, U+25B1, U+25B2, U+25B3,
    U+25B4, U+25B5, U+25B6, U+25B7, U+25B8, U+25B9, U+25BA, U+25BB, U+25BC,
    U+25BD, U+25BE, U+25BF, U+25C0, U+25C1, U+25C2, U+25C3, U+25C4, U+25C5,
    U+25C6, U+25C7, U+25C8, U+25C9, U+25CA, U+25CB, U+25CC, U+25CD, U+25CE,
    U+25CF, U+25D0, U+25D1, U+25D2, U+25D3, U+25D4, U+25D5, U+25D6, U+25D7,
    U+25D8, U+25D9, U+25DA, U+25DB, U+25DC, U+25DD, U+25DE, U+25DF, U+25E0,
    U+25E1, U+25E2, U+25E3, U+25E4, U+25E5, U+25E6, U+25E7, U+25E8, U+25E9,
    U+25EA, U+25EB, U+25EC, U+25ED, U+25EE, U+25EF, U+25F0, U+25F1, U+25F2,
    U+25F3, U+25F4, U+25F5, U+25F6, U+25F7, U+25F8, U+25F9, U+25FA, U+25FB,
    U+25FC, U+25FD, U+25FE, U+25FF, U+3000, U+3001, U+3002, U+300C, U+300D,
    U+3042, U+3044, U+3046, U+3048, U+304A, U+304B, U+304C, U+304D, U+304F,
    U+3051, U+3052, U+3053, U+3054, U+3055, U+3057, U+3058, U+3059, U+305A,
    U+305B, U+305D, U+305E, U+305F, U+3060, U+3061, U+3063, U+3064, U+3066,
    U+3067, U+3068, U+3069, U+306A, U+306B, U+306E, U+306F, U+3070, U+3071,
    U+3072, U+3073, U+3076, U+3078, U+3079, U+307B, U+307E, U+307F, U+3080,
    U+3081, U+3082, U+3084, U+3087, U+3088, U+3089, U+308A, U+308B, U+308C,
    U+308D, U+308F, U+3092, U+3093, U+30A1, U+30A2, U+30A3, U+30A4, U+30A6,
    U+30A8, U+30A9, U+30AB, U+30AC, U+30AD, U+30AE, U+30AF, U+30B0, U+30B1,
    U+30B2, U+30B3, U+30B5, U+30B6, U+30B7, U+30B8, U+30B9, U+30BA, U+30BB,
    U+30BF, U+30C0, U+30C3, U+30C4, U+30C6, U+30C8, U+30C9, U+30CA, U+30CB,
    U+30D0, U+30D1, U+30D3, U+30D5, U+30D6, U+30D7, U+30D8, U+30D9, U+30DA,
    U+30DD, U+30DE, U+30DF, U+30E0, U+30E1, U+30E5, U+30E7, U+30E8, U+30E9,
    U+30EA, U+30EB, U+30EC, U+30ED, U+30EF, U+30F3, U+30F6, U+30FB, U+30FC,
    U+4E00, U+4E09, U+4E0A, U+4E0B, U+4E26, U+4E2D, U+4E3B, U+4E8B, U+4EBA,
    U+4ECA, U+4ED5, U+4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EF6, U+4F11, U+4F1A,
    U+4F1D, U+4F4D, U+4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B,
    U+4FA1, U+4FDD, U+4FE1, U+500B, U+5019, U+5065, U+5099, U+50CD, U+512A,
    U+5148, U+514D, U+5165, U+516C, U+5171, U+5178, U+5185, U+5186, U+5199,
    U+51B7, U+51CD, U+51E6, U+51FA, U+5206, U+5207, U+521D, U+5224, U+5225,
    U+5229, U+5236, U+524D, U+5272, U+529B, U+52A0, U+52A3, U+52B9, U+52D5,
    U+533B, U+53CE, U+53D6, U+53D7, U+53E3, U+53EF, U+5404, U+5408, U+540C,
    U+5411, U+542B, U+544A, U+5473, U+54C1, U+54E1, U+5546, U+554F, U+55B6,
    U+5668, U+56DE, U+5728, U+5730, U+57DF, U+57F7, U+57FA, U+5831, U+5834,
    U+5869, U+58EB, U+5909, U+5916, U+591C, U+5927, U+5951, U+597D, U+5B50,
    U+5B57, U+5B58, U+5B85, U+5B89, U+5B9A, U+5B9F, U+5BB6, U+5BB9, U+5C02,
    U+5C0E, U+5C0F, U+5C11, U+5C4A, U+5C65, U+5E2B, U+5E38, U+5E73, U+5E83,
    U+5EA6, U+5EAB, U+5EB7, U+5F01, U+5F0F, U+5F15, U+5F53, U+5F62, U+5F93,
    U+5F97, U+5FB4, U+5FC5, U+5FDC, U+6027, U+60C5, U+610F, U+6210, U+623B,
    U+6240, U+624B, U+6255, U+6271, U+6291, U+6295, U+62E0, U+6301, U+639B,
    U+63A2, U+63B2, U+63D0, U+643A, U+652F, U+6570, U+6574, U+6587, U+6599,
    U+65AD, U+65B0, U+65B9, U+65CF, U+65E5, U+660E, U+661F, U+663C, U+6642,
    U+666E, U+66AE, U+66F4, U+66F8, U+6700, U+6708, U+6709, U+671F, U+672A,
    U+672C, U+6750, U+6761, U+6790, U+679C, U+67F1, U+6804, U+6839, U+683C,
    U+691C, U+697D, U+6A5F, U+6B04, U+6B21, U+6B62, U+6B63, U+6B74, U+6B8B,
    U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C7A, U+6CC1, U+6CD5, U+6CE8, U+6D3B,
    U+6E08, U+6E29, U+6E2C, U+6E80, U+6E96, U+708A, U+7121, U+7167, U+71B1,
    U+7247, U+7269, U+7279, U+72B6, U+72EC, U+73FE, U+7406, U+751F, U+7528,
    U+7533, U+753B, U+7570, U+767A, U+767B, U+7684, U+76EE, U+76F4, U+76F8,
    U+771F, U+7740, U+77E5, U+78BA, U+793A, U+79D2, U+79FB, U+7A0E, U+7A3F,
    U+7A7A, U+7A93, U+7B2C, U+7B46, U+7B54, U+7B97, U+7BA1, U+7CD6, U+7D04,
    U+7D42, U+7D50, U+7D5E, U+7D61, U+7D9A, U+7DD2, U+7DE0, U+7DE8, U+7F6E,
    U+8003, U+8005, U+80FD, U+81EA, U+8449, U+8535, U+884C, U+8868, U+88D5,
    U+88DC, U+8981, U+898B, U+8996, U+89A7, U+89E3, U+8A00, U+8A02, U+8A08,
    U+8A18, U+8A2D, U+8A3A, U+8A3C, U+8A55, U+8A66, U+8A73, U+8A8D, U+8AA4,
    U+8AAD, U+8AB0, U+8ABF, U+8AC7, U+8CAC, U+8CB7, U+8CBB, U+8CEA, U+8CFC,
    U+8DB3, U+8DE1, U+8EF8, U+8F03, U+8F09, U+8FBC, U+8FFD, U+9001, U+9006,
    U+901A, U+9023, U+904B, U+9055, U+9069, U+9078, U+90E8, U+914D, U+916C,
    U+91CD, U+91CF, U+91D1, U+91DD, U+9332, U+9580, U+958B, U+9593, U+95A2,
    U+95B2, U+964D, U+9650, U+9694, U+969B, U+96C6, U+96E2, U+96FB, U+9759,
    U+9762, U+9805, U+9806, U+9818, U+983B, U+984C, U+984D, U+98DF, U+98EF,
    U+990A, U+9A13, U+9AD8, U+9F62, U+FF08, U+FF09, U+FF0B, U+FF0F, U+FF1A,
    U+FF1F, U+FF5C;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/sans-medium-core.woff2") format("woff2");
  unicode-range:
    U+A, U+20, U+21, U+22, U+23, U+24, U+25, U+26, U+27, U+28, U+29, U+2A, U+2B,
    U+2C, U+2D, U+2E, U+2F, U+30, U+31, U+32, U+33, U+34, U+35, U+36, U+37,
    U+38, U+39, U+3A, U+3B, U+3C, U+3D, U+3E, U+3F, U+40, U+41, U+42, U+43,
    U+44, U+45, U+46, U+47, U+48, U+49, U+4A, U+4B, U+4C, U+4D, U+4E, U+4F,
    U+50, U+51, U+52, U+53, U+54, U+55, U+56, U+57, U+58, U+59, U+5A, U+5B,
    U+5C, U+5D, U+5E, U+5F, U+60, U+61, U+62, U+63, U+64, U+65, U+66, U+67,
    U+68, U+69, U+6A, U+6B, U+6C, U+6D, U+6E, U+6F, U+70, U+71, U+72, U+73,
    U+74, U+75, U+76, U+77, U+78, U+79, U+7A, U+7B, U+7C, U+7D, U+7E, U+A0,
    U+A1, U+A2, U+A3, U+A4, U+A5, U+A6, U+A7, U+A8, U+A9, U+AA, U+AB, U+AC,
    U+AD, U+AE, U+AF, U+B0, U+B1, U+B2, U+B3, U+B4, U+B5, U+B6, U+B7, U+B8,
    U+B9, U+BA, U+BB, U+BC, U+BD, U+BE, U+BF, U+C0, U+C1, U+C2, U+C3, U+C4,
    U+C5, U+C6, U+C7, U+C8, U+C9, U+CA, U+CB, U+CC, U+CD, U+CE, U+CF, U+D0,
    U+D1, U+D2, U+D3, U+D4, U+D5, U+D6, U+D7, U+D8, U+D9, U+DA, U+DB, U+DC,
    U+DD, U+DE, U+DF, U+E0, U+E1, U+E2, U+E3, U+E4, U+E5, U+E6, U+E7, U+E8,
    U+E9, U+EA, U+EB, U+EC, U+ED, U+EE, U+EF, U+F0, U+F1, U+F2, U+F3, U+F4,
    U+F5, U+F6, U+F7, U+F8, U+F9, U+FA, U+FB, U+FC, U+FD, U+FE, U+FF, U+2000,
    U+2001, U+2002, U+2003, U+2004, U+2005, U+2006, U+2007, U+2008, U+2009,
    U+200A, U+200B, U+200C, U+200D, U+200E, U+200F, U+2010, U+2011, U+2012,
    U+2013, U+2014, U+2015, U+2016, U+2017, U+2018, U+2019, U+201A, U+201B,
    U+201C, U+201D, U+201E, U+201F, U+2020, U+2021, U+2022, U+2023, U+2024,
    U+2025, U+2026, U+2027, U+2028, U+2029, U+202A, U+202B, U+202C, U+202D,
    U+202E, U+202F, U+2030, U+2031, U+2032, U+2033, U+2034, U+2035, U+2036,
    U+2037, U+2038, U+2039, U+203A, U+203B, U+203C, U+203D, U+203E, U+203F,
    U+2040, U+2041, U+2042, U+2043, U+2044, U+2045, U+2046, U+2047, U+2048,
    U+2049, U+204A, U+204B, U+204C, U+204D, U+204E, U+204F, U+2050, U+2051,
    U+2052, U+2053, U+2054, U+2055, U+2056, U+2057, U+2058, U+2059, U+205A,
    U+205B, U+205C, U+205D, U+205E, U+205F, U+2060, U+2061, U+2062, U+2063,
    U+2064, U+2065, U+2066, U+2067, U+2068, U+2069, U+206A, U+206B, U+206C,
    U+206D, U+206E, U+206F, U+2190, U+2191, U+2192, U+2193, U+2194, U+2195,
    U+2196, U+2197, U+2198, U+2199, U+219A, U+219B, U+219C, U+219D, U+219E,
    U+219F, U+21A0, U+21A1, U+21A2, U+21A3, U+21A4, U+21A5, U+21A6, U+21A7,
    U+21A8, U+21A9, U+21AA, U+21AB, U+21AC, U+21AD, U+21AE, U+21AF, U+21B0,
    U+21B1, U+21B2, U+21B3, U+21B4, U+21B5, U+21B6, U+21B7, U+21B8, U+21B9,
    U+21BA, U+21BB, U+21BC, U+21BD, U+21BE, U+21BF, U+21C0, U+21C1, U+21C2,
    U+21C3, U+21C4, U+21C5, U+21C6, U+21C7, U+21C8, U+21C9, U+21CA, U+21CB,
    U+21CC, U+21CD, U+21CE, U+21CF, U+21D0, U+21D1, U+21D2, U+21D3, U+21D4,
    U+21D5, U+21D6, U+21D7, U+21D8, U+21D9, U+21DA, U+21DB, U+21DC, U+21DD,
    U+21DE, U+21DF, U+21E0, U+21E1, U+21E2, U+21E3, U+21E4, U+21E5, U+21E6,
    U+21E7, U+21E8, U+21E9, U+21EA, U+21EB, U+21EC, U+21ED, U+21EE, U+21EF,
    U+21F0, U+21F1, U+21F2, U+21F3, U+21F4, U+21F5, U+21F6, U+21F7, U+21F8,
    U+21F9, U+21FA, U+21FB, U+21FC, U+21FD, U+21FE, U+21FF, U+25A0, U+25A1,
    U+25A2, U+25A3, U+25A4, U+25A5, U+25A6, U+25A7, U+25A8, U+25A9, U+25AA,
    U+25AB, U+25AC, U+25AD, U+25AE, U+25AF, U+25B0, U+25B1, U+25B2, U+25B3,
    U+25B4, U+25B5, U+25B6, U+25B7, U+25B8, U+25B9, U+25BA, U+25BB, U+25BC,
    U+25BD, U+25BE, U+25BF, U+25C0, U+25C1, U+25C2, U+25C3, U+25C4, U+25C5,
    U+25C6, U+25C7, U+25C8, U+25C9, U+25CA, U+25CB, U+25CC, U+25CD, U+25CE,
    U+25CF, U+25D0, U+25D1, U+25D2, U+25D3, U+25D4, U+25D5, U+25D6, U+25D7,
    U+25D8, U+25D9, U+25DA, U+25DB, U+25DC, U+25DD, U+25DE, U+25DF, U+25E0,
    U+25E1, U+25E2, U+25E3, U+25E4, U+25E5, U+25E6, U+25E7, U+25E8, U+25E9,
    U+25EA, U+25EB, U+25EC, U+25ED, U+25EE, U+25EF, U+25F0, U+25F1, U+25F2,
    U+25F3, U+25F4, U+25F5, U+25F6, U+25F7, U+25F8, U+25F9, U+25FA, U+25FB,
    U+25FC, U+25FD, U+25FE, U+25FF, U+3000, U+3001, U+3002, U+300C, U+300D,
    U+3042, U+3044, U+3046, U+3048, U+304A, U+304B, U+304C, U+304D, U+304F,
    U+3051, U+3052, U+3053, U+3054, U+3055, U+3057, U+3058, U+3059, U+305A,
    U+305B, U+305D, U+305E, U+305F, U+3060, U+3061, U+3063, U+3064, U+3066,
    U+3067, U+3068, U+3069, U+306A, U+306B, U+306E, U+306F, U+3070, U+3071,
    U+3072, U+3073, U+3076, U+3078, U+3079, U+307B, U+307E, U+307F, U+3080,
    U+3081, U+3082, U+3084, U+3087, U+3088, U+3089, U+308A, U+308B, U+308C,
    U+308D, U+308F, U+3092, U+3093, U+30A1, U+30A2, U+30A3, U+30A4, U+30A6,
    U+30A8, U+30A9, U+30AB, U+30AC, U+30AD, U+30AE, U+30AF, U+30B0, U+30B1,
    U+30B2, U+30B3, U+30B5, U+30B6, U+30B7, U+30B8, U+30B9, U+30BA, U+30BB,
    U+30BF, U+30C0, U+30C3, U+30C4, U+30C6, U+30C8, U+30C9, U+30CA, U+30CB,
    U+30D0, U+30D1, U+30D3, U+30D5, U+30D6, U+30D7, U+30D8, U+30D9, U+30DA,
    U+30DD, U+30DE, U+30DF, U+30E0, U+30E1, U+30E5, U+30E7, U+30E8, U+30E9,
    U+30EA, U+30EB, U+30EC, U+30ED, U+30EF, U+30F3, U+30F6, U+30FB, U+30FC,
    U+4E00, U+4E09, U+4E0A, U+4E0B, U+4E26, U+4E2D, U+4E3B, U+4E8B, U+4EBA,
    U+4ECA, U+4ED5, U+4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EF6, U+4F11, U+4F1A,
    U+4F1D, U+4F4D, U+4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B,
    U+4FA1, U+4FDD, U+4FE1, U+500B, U+5019, U+5065, U+5099, U+50CD, U+512A,
    U+5148, U+514D, U+5165, U+516C, U+5171, U+5178, U+5185, U+5186, U+5199,
    U+51B7, U+51CD, U+51E6, U+51FA, U+5206, U+5207, U+521D, U+5224, U+5225,
    U+5229, U+5236, U+524D, U+5272, U+529B, U+52A0, U+52A3, U+52B9, U+52D5,
    U+533B, U+53CE, U+53D6, U+53D7, U+53E3, U+53EF, U+5404, U+5408, U+540C,
    U+5411, U+542B, U+544A, U+5473, U+54C1, U+54E1, U+5546, U+554F, U+55B6,
    U+5668, U+56DE, U+5728, U+5730, U+57DF, U+57F7, U+57FA, U+5831, U+5834,
    U+5869, U+58EB, U+5909, U+5916, U+591C, U+5927, U+5951, U+597D, U+5B50,
    U+5B57, U+5B58, U+5B85, U+5B89, U+5B9A, U+5B9F, U+5BB6, U+5BB9, U+5C02,
    U+5C0E, U+5C0F, U+5C11, U+5C4A, U+5C65, U+5E2B, U+5E38, U+5E73, U+5E83,
    U+5EA6, U+5EAB, U+5EB7, U+5F01, U+5F0F, U+5F15, U+5F53, U+5F62, U+5F93,
    U+5F97, U+5FB4, U+5FC5, U+5FDC, U+6027, U+60C5, U+610F, U+6210, U+623B,
    U+6240, U+624B, U+6255, U+6271, U+6291, U+6295, U+62E0, U+6301, U+639B,
    U+63A2, U+63B2, U+63D0, U+643A, U+652F, U+6570, U+6574, U+6587, U+6599,
    U+65AD, U+65B0, U+65B9, U+65CF, U+65E5, U+660E, U+661F, U+663C, U+6642,
    U+666E, U+66AE, U+66F4, U+66F8, U+6700, U+6708, U+6709, U+671F, U+672A,
    U+672C, U+6750, U+6761, U+6790, U+679C, U+67F1, U+6804, U+6839, U+683C,
    U+691C, U+697D, U+6A5F, U+6B04, U+6B21, U+6B62, U+6B63, U+6B74, U+6B8B,
    U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C7A, U+6CC1, U+6CD5, U+6CE8, U+6D3B,
    U+6E08, U+6E29, U+6E2C, U+6E80, U+6E96, U+708A, U+7121, U+7167, U+71B1,
    U+7247, U+7269, U+7279, U+72B6, U+72EC, U+73FE, U+7406, U+751F, U+7528,
    U+7533, U+753B, U+7570, U+767A, U+767B, U+7684, U+76EE, U+76F4, U+76F8,
    U+771F, U+7740, U+77E5, U+78BA, U+793A, U+79D2, U+79FB, U+7A0E, U+7A3F,
    U+7A7A, U+7A93, U+7B2C, U+7B46, U+7B54, U+7B97, U+7BA1, U+7CD6, U+7D04,
    U+7D42, U+7D50, U+7D5E, U+7D61, U+7D9A, U+7DD2, U+7DE0, U+7DE8, U+7F6E,
    U+8003, U+8005, U+80FD, U+81EA, U+8449, U+8535, U+884C, U+8868, U+88D5,
    U+88DC, U+8981, U+898B, U+8996, U+89A7, U+89E3, U+8A00, U+8A02, U+8A08,
    U+8A18, U+8A2D, U+8A3A, U+8A3C, U+8A55, U+8A66, U+8A73, U+8A8D, U+8AA4,
    U+8AAD, U+8AB0, U+8ABF, U+8AC7, U+8CAC, U+8CB7, U+8CBB, U+8CEA, U+8CFC,
    U+8DB3, U+8DE1, U+8EF8, U+8F03, U+8F09, U+8FBC, U+8FFD, U+9001, U+9006,
    U+901A, U+9023, U+904B, U+9055, U+9069, U+9078, U+90E8, U+914D, U+916C,
    U+91CD, U+91CF, U+91D1, U+91DD, U+9332, U+9580, U+958B, U+9593, U+95A2,
    U+95B2, U+964D, U+9650, U+9694, U+969B, U+96C6, U+96E2, U+96FB, U+9759,
    U+9762, U+9805, U+9806, U+9818, U+983B, U+984C, U+984D, U+98DF, U+98EF,
    U+990A, U+9A13, U+9AD8, U+9F62, U+FF08, U+FF09, U+FF0B, U+FF0F, U+FF1A,
    U+FF1F, U+FF5C;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/sans-bold-core.woff2") format("woff2");
  unicode-range:
    U+A, U+20, U+21, U+22, U+23, U+24, U+25, U+26, U+27, U+28, U+29, U+2A, U+2B,
    U+2C, U+2D, U+2E, U+2F, U+30, U+31, U+32, U+33, U+34, U+35, U+36, U+37,
    U+38, U+39, U+3A, U+3B, U+3C, U+3D, U+3E, U+3F, U+40, U+41, U+42, U+43,
    U+44, U+45, U+46, U+47, U+48, U+49, U+4A, U+4B, U+4C, U+4D, U+4E, U+4F,
    U+50, U+51, U+52, U+53, U+54, U+55, U+56, U+57, U+58, U+59, U+5A, U+5B,
    U+5C, U+5D, U+5E, U+5F, U+60, U+61, U+62, U+63, U+64, U+65, U+66, U+67,
    U+68, U+69, U+6A, U+6B, U+6C, U+6D, U+6E, U+6F, U+70, U+71, U+72, U+73,
    U+74, U+75, U+76, U+77, U+78, U+79, U+7A, U+7B, U+7C, U+7D, U+7E, U+A0,
    U+A1, U+A2, U+A3, U+A4, U+A5, U+A6, U+A7, U+A8, U+A9, U+AA, U+AB, U+AC,
    U+AD, U+AE, U+AF, U+B0, U+B1, U+B2, U+B3, U+B4, U+B5, U+B6, U+B7, U+B8,
    U+B9, U+BA, U+BB, U+BC, U+BD, U+BE, U+BF, U+C0, U+C1, U+C2, U+C3, U+C4,
    U+C5, U+C6, U+C7, U+C8, U+C9, U+CA, U+CB, U+CC, U+CD, U+CE, U+CF, U+D0,
    U+D1, U+D2, U+D3, U+D4, U+D5, U+D6, U+D7, U+D8, U+D9, U+DA, U+DB, U+DC,
    U+DD, U+DE, U+DF, U+E0, U+E1, U+E2, U+E3, U+E4, U+E5, U+E6, U+E7, U+E8,
    U+E9, U+EA, U+EB, U+EC, U+ED, U+EE, U+EF, U+F0, U+F1, U+F2, U+F3, U+F4,
    U+F5, U+F6, U+F7, U+F8, U+F9, U+FA, U+FB, U+FC, U+FD, U+FE, U+FF, U+2000,
    U+2001, U+2002, U+2003, U+2004, U+2005, U+2006, U+2007, U+2008, U+2009,
    U+200A, U+200B, U+200C, U+200D, U+200E, U+200F, U+2010, U+2011, U+2012,
    U+2013, U+2014, U+2015, U+2016, U+2017, U+2018, U+2019, U+201A, U+201B,
    U+201C, U+201D, U+201E, U+201F, U+2020, U+2021, U+2022, U+2023, U+2024,
    U+2025, U+2026, U+2027, U+2028, U+2029, U+202A, U+202B, U+202C, U+202D,
    U+202E, U+202F, U+2030, U+2031, U+2032, U+2033, U+2034, U+2035, U+2036,
    U+2037, U+2038, U+2039, U+203A, U+203B, U+203C, U+203D, U+203E, U+203F,
    U+2040, U+2041, U+2042, U+2043, U+2044, U+2045, U+2046, U+2047, U+2048,
    U+2049, U+204A, U+204B, U+204C, U+204D, U+204E, U+204F, U+2050, U+2051,
    U+2052, U+2053, U+2054, U+2055, U+2056, U+2057, U+2058, U+2059, U+205A,
    U+205B, U+205C, U+205D, U+205E, U+205F, U+2060, U+2061, U+2062, U+2063,
    U+2064, U+2065, U+2066, U+2067, U+2068, U+2069, U+206A, U+206B, U+206C,
    U+206D, U+206E, U+206F, U+2190, U+2191, U+2192, U+2193, U+2194, U+2195,
    U+2196, U+2197, U+2198, U+2199, U+219A, U+219B, U+219C, U+219D, U+219E,
    U+219F, U+21A0, U+21A1, U+21A2, U+21A3, U+21A4, U+21A5, U+21A6, U+21A7,
    U+21A8, U+21A9, U+21AA, U+21AB, U+21AC, U+21AD, U+21AE, U+21AF, U+21B0,
    U+21B1, U+21B2, U+21B3, U+21B4, U+21B5, U+21B6, U+21B7, U+21B8, U+21B9,
    U+21BA, U+21BB, U+21BC, U+21BD, U+21BE, U+21BF, U+21C0, U+21C1, U+21C2,
    U+21C3, U+21C4, U+21C5, U+21C6, U+21C7, U+21C8, U+21C9, U+21CA, U+21CB,
    U+21CC, U+21CD, U+21CE, U+21CF, U+21D0, U+21D1, U+21D2, U+21D3, U+21D4,
    U+21D5, U+21D6, U+21D7, U+21D8, U+21D9, U+21DA, U+21DB, U+21DC, U+21DD,
    U+21DE, U+21DF, U+21E0, U+21E1, U+21E2, U+21E3, U+21E4, U+21E5, U+21E6,
    U+21E7, U+21E8, U+21E9, U+21EA, U+21EB, U+21EC, U+21ED, U+21EE, U+21EF,
    U+21F0, U+21F1, U+21F2, U+21F3, U+21F4, U+21F5, U+21F6, U+21F7, U+21F8,
    U+21F9, U+21FA, U+21FB, U+21FC, U+21FD, U+21FE, U+21FF, U+25A0, U+25A1,
    U+25A2, U+25A3, U+25A4, U+25A5, U+25A6, U+25A7, U+25A8, U+25A9, U+25AA,
    U+25AB, U+25AC, U+25AD, U+25AE, U+25AF, U+25B0, U+25B1, U+25B2, U+25B3,
    U+25B4, U+25B5, U+25B6, U+25B7, U+25B8, U+25B9, U+25BA, U+25BB, U+25BC,
    U+25BD, U+25BE, U+25BF, U+25C0, U+25C1, U+25C2, U+25C3, U+25C4, U+25C5,
    U+25C6, U+25C7, U+25C8, U+25C9, U+25CA, U+25CB, U+25CC, U+25CD, U+25CE,
    U+25CF, U+25D0, U+25D1, U+25D2, U+25D3, U+25D4, U+25D5, U+25D6, U+25D7,
    U+25D8, U+25D9, U+25DA, U+25DB, U+25DC, U+25DD, U+25DE, U+25DF, U+25E0,
    U+25E1, U+25E2, U+25E3, U+25E4, U+25E5, U+25E6, U+25E7, U+25E8, U+25E9,
    U+25EA, U+25EB, U+25EC, U+25ED, U+25EE, U+25EF, U+25F0, U+25F1, U+25F2,
    U+25F3, U+25F4, U+25F5, U+25F6, U+25F7, U+25F8, U+25F9, U+25FA, U+25FB,
    U+25FC, U+25FD, U+25FE, U+25FF, U+3000, U+3001, U+3002, U+300C, U+300D,
    U+3042, U+3044, U+3046, U+3048, U+304A, U+304B, U+304C, U+304D, U+304F,
    U+3051, U+3052, U+3053, U+3054, U+3055, U+3057, U+3058, U+3059, U+305A,
    U+305B, U+305D, U+305E, U+305F, U+3060, U+3061, U+3063, U+3064, U+3066,
    U+3067, U+3068, U+3069, U+306A, U+306B, U+306E, U+306F, U+3070, U+3071,
    U+3072, U+3073, U+3076, U+3078, U+3079, U+307B, U+307E, U+307F, U+3080,
    U+3081, U+3082, U+3084, U+3087, U+3088, U+3089, U+308A, U+308B, U+308C,
    U+308D, U+308F, U+3092, U+3093, U+30A1, U+30A2, U+30A3, U+30A4, U+30A6,
    U+30A8, U+30A9, U+30AB, U+30AC, U+30AD, U+30AE, U+30AF, U+30B0, U+30B1,
    U+30B2, U+30B3, U+30B5, U+30B6, U+30B7, U+30B8, U+30B9, U+30BA, U+30BB,
    U+30BF, U+30C0, U+30C3, U+30C4, U+30C6, U+30C8, U+30C9, U+30CA, U+30CB,
    U+30D0, U+30D1, U+30D3, U+30D5, U+30D6, U+30D7, U+30D8, U+30D9, U+30DA,
    U+30DD, U+30DE, U+30DF, U+30E0, U+30E1, U+30E5, U+30E7, U+30E8, U+30E9,
    U+30EA, U+30EB, U+30EC, U+30ED, U+30EF, U+30F3, U+30F6, U+30FB, U+30FC,
    U+4E00, U+4E09, U+4E0A, U+4E0B, U+4E26, U+4E2D, U+4E3B, U+4E8B, U+4EBA,
    U+4ECA, U+4ED5, U+4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EF6, U+4F11, U+4F1A,
    U+4F1D, U+4F4D, U+4F4E, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B,
    U+4FA1, U+4FDD, U+4FE1, U+500B, U+5019, U+5065, U+5099, U+50CD, U+512A,
    U+5148, U+514D, U+5165, U+516C, U+5171, U+5178, U+5185, U+5186, U+5199,
    U+51B7, U+51CD, U+51E6, U+51FA, U+5206, U+5207, U+521D, U+5224, U+5225,
    U+5229, U+5236, U+524D, U+5272, U+529B, U+52A0, U+52A3, U+52B9, U+52D5,
    U+533B, U+53CE, U+53D6, U+53D7, U+53E3, U+53EF, U+5404, U+5408, U+540C,
    U+5411, U+542B, U+544A, U+5473, U+54C1, U+54E1, U+5546, U+554F, U+55B6,
    U+5668, U+56DE, U+5728, U+5730, U+57DF, U+57F7, U+57FA, U+5831, U+5834,
    U+5869, U+58EB, U+5909, U+5916, U+591C, U+5927, U+5951, U+597D, U+5B50,
    U+5B57, U+5B58, U+5B85, U+5B89, U+5B9A, U+5B9F, U+5BB6, U+5BB9, U+5C02,
    U+5C0E, U+5C0F, U+5C11, U+5C4A, U+5C65, U+5E2B, U+5E38, U+5E73, U+5E83,
    U+5EA6, U+5EAB, U+5EB7, U+5F01, U+5F0F, U+5F15, U+5F53, U+5F62, U+5F93,
    U+5F97, U+5FB4, U+5FC5, U+5FDC, U+6027, U+60C5, U+610F, U+6210, U+623B,
    U+6240, U+624B, U+6255, U+6271, U+6291, U+6295, U+62E0, U+6301, U+639B,
    U+63A2, U+63B2, U+63D0, U+643A, U+652F, U+6570, U+6574, U+6587, U+6599,
    U+65AD, U+65B0, U+65B9, U+65CF, U+65E5, U+660E, U+661F, U+663C, U+6642,
    U+666E, U+66AE, U+66F4, U+66F8, U+6700, U+6708, U+6709, U+671F, U+672A,
    U+672C, U+6750, U+6761, U+6790, U+679C, U+67F1, U+6804, U+6839, U+683C,
    U+691C, U+697D, U+6A5F, U+6B04, U+6B21, U+6B62, U+6B63, U+6B74, U+6B8B,
    U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C7A, U+6CC1, U+6CD5, U+6CE8, U+6D3B,
    U+6E08, U+6E29, U+6E2C, U+6E80, U+6E96, U+708A, U+7121, U+7167, U+71B1,
    U+7247, U+7269, U+7279, U+72B6, U+72EC, U+73FE, U+7406, U+751F, U+7528,
    U+7533, U+753B, U+7570, U+767A, U+767B, U+7684, U+76EE, U+76F4, U+76F8,
    U+771F, U+7740, U+77E5, U+78BA, U+793A, U+79D2, U+79FB, U+7A0E, U+7A3F,
    U+7A7A, U+7A93, U+7B2C, U+7B46, U+7B54, U+7B97, U+7BA1, U+7CD6, U+7D04,
    U+7D42, U+7D50, U+7D5E, U+7D61, U+7D9A, U+7DD2, U+7DE0, U+7DE8, U+7F6E,
    U+8003, U+8005, U+80FD, U+81EA, U+8449, U+8535, U+884C, U+8868, U+88D5,
    U+88DC, U+8981, U+898B, U+8996, U+89A7, U+89E3, U+8A00, U+8A02, U+8A08,
    U+8A18, U+8A2D, U+8A3A, U+8A3C, U+8A55, U+8A66, U+8A73, U+8A8D, U+8AA4,
    U+8AAD, U+8AB0, U+8ABF, U+8AC7, U+8CAC, U+8CB7, U+8CBB, U+8CEA, U+8CFC,
    U+8DB3, U+8DE1, U+8EF8, U+8F03, U+8F09, U+8FBC, U+8FFD, U+9001, U+9006,
    U+901A, U+9023, U+904B, U+9055, U+9069, U+9078, U+90E8, U+914D, U+916C,
    U+91CD, U+91CF, U+91D1, U+91DD, U+9332, U+9580, U+958B, U+9593, U+95A2,
    U+95B2, U+964D, U+9650, U+9694, U+969B, U+96C6, U+96E2, U+96FB, U+9759,
    U+9762, U+9805, U+9806, U+9818, U+983B, U+984C, U+984D, U+98DF, U+98EF,
    U+990A, U+9A13, U+9AD8, U+9F62, U+FF08, U+FF09, U+FF0B, U+FF0F, U+FF1A,
    U+FF1F, U+FF5C;
}
:root {
  --ink: #333128;
  --muted: #706e67;
  --accent: #1e5631;
  --warm: #f6f4ef;
  --pale: #eef3ec;
  --line: #e4e0d7;
  --paper: #fff;
  --body: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  --serif: "Noto Serif JP", "Yu Mincho", serif;
  --reading-width: 720px;
  --sidebar-width: 280px;
  --column-gap: 80px;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
::selection {
  background: #dce8d8;
  color: #163f24;
}
a {
  color: var(--accent);
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
a:hover {
  text-decoration-thickness: 2px;
}
button,
input,
select {
  font: inherit;
}
input {
  caret-color: var(--accent);
}
button,
summary {
  cursor: pointer;
}
button:disabled {
  cursor: default;
  opacity: 0.5;
}
a,
button,
input,
select,
summary {
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}
[hidden] {
  display: none !important;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
p {
  margin: 0 0 1em;
}
h1,
h2,
h3 {
  margin: 0;
  line-height: 1.75;
  font-weight: 700;
  overflow-wrap: anywhere;
}
h2 {
  font-size: 24px;
}
h3 {
  font-size: 18px;
}
ul,
ol {
  padding-left: 1.5em;
}
li {
  margin-block: 6px;
}
.wrap {
  width: min(1080px, calc(100% - 64px));
  margin-inline: auto;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 16px;
  z-index: 10;
  background: var(--paper);
  padding: 12px;
}
.skip-link:focus {
  top: 12px;
}
.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-block: 24px 18px;
}
.brand {
  color: var(--accent);
  font-family: var(--serif);
  font-size: 34px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.75;
}
.header-top p {
  font-size: 12px;
  color: var(--muted);
  margin: 0;
  width: 400px;
}
.main-nav {
  display: flex;
  gap: 46px;
  border-top: 1px solid var(--line);
  padding-block: 14px 20px;
  font-size: 14px;
  font-weight: 500;
}
.main-nav a {
  color: var(--ink);
  text-decoration: none;
  width: 160px;
  min-height: 28px;
  display: flex;
  align-items: center;
}
.main-nav a:hover,
.main-nav a[aria-current] {
  color: var(--accent);
  text-decoration: underline;
}
.home-wrap {
  padding-block: 32px 48px;
}
.home-feature {
  display: grid;
  grid-template-columns: minmax(0, 716fr) minmax(0, 340fr);
  gap: 24px;
}
.lead-story {
  text-decoration: none;
  color: var(--ink);
  display: block;
  min-width: 0;
}
.lead-story > img {
  width: 100%;
  aspect-ratio: 716/340;
  object-fit: cover;
}
.lead-story h1 {
  font-size: 28px;
  font-weight: 500;
  margin: 12px 0;
}
.lead-story > .card-meta {
  margin-top: 12px;
}
.lead-description {
  font-size: 14px;
  color: var(--muted);
  margin: 0;
}
.card-meta {
  font-size: 12px;
  font-weight: 400;
  color: var(--muted);
  display: flex;
  gap: 14px;
  align-items: baseline;
  margin: 12px 0 8px;
  flex-wrap: wrap;
}
.card-meta time {
  font-variant-numeric: tabular-nums;
}
.card-meta time:before {
  content: "/";
  margin-right: 14px;
}
.secondary-stories {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.secondary-stories .article-card > img {
  aspect-ratio: 340/150;
}
.secondary-stories .card-meta {
  font-size: 10px;
}
.secondary-stories time,
.secondary-stories .card-copy > p {
  display: none;
}
.secondary-stories .article-card h3 {
  font-size: 18px;
}
.photo-credit {
  font-size: 10px;
  color: var(--muted);
  margin: 30px 0 36px;
}
.home-columns,
.article-layout {
  display: grid;
  grid-template-columns: minmax(0, var(--reading-width)) minmax(
      0,
      var(--sidebar-width)
    );
  gap: var(--column-gap);
}
.home-columns {
  padding-top: 36px;
  border-top: 1px solid var(--line);
}
.news-feed > h2,
.theme-sidebar > h2 {
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
  margin-bottom: 26px;
}
.article-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 32px;
  row-gap: 34px;
}
.article-card {
  color: var(--ink);
  text-decoration: none;
  display: block;
  min-width: 0;
}
.article-card > img {
  width: 100%;
  aspect-ratio: 344/194;
  object-fit: cover;
  background: var(--warm);
}
.article-card h3 {
  font-size: 18px;
  font-weight: 500;
  text-wrap: balance;
}
.article-card .card-copy > p {
  font-size: 12px;
  color: var(--muted);
  margin: 8px 0 0;
}
.article-card:hover h3,
.lead-story:hover h1 {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 6px;
}
.theme-sidebar {
  min-width: 0;
  font-size: 14px;
}
.theme-sidebar > nav {
  display: grid;
  gap: 16px;
  margin-bottom: 30px;
}
.theme-sidebar > nav a {
  min-height: 28px;
  color: var(--ink);
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.theme-sidebar > nav a:hover {
  text-decoration: underline;
}
.editor-note,
.calculator-note {
  padding: 22px;
  background: var(--warm);
  margin-bottom: 30px;
}
.theme-sidebar h3 {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 12px;
}
.theme-sidebar p {
  font-size: 14px;
  color: var(--muted);
}
.editor-note a,
.calculator-note span {
  font-size: 12px;
}
.calculator-note {
  display: block;
  background: var(--pale);
  text-decoration: none;
}
.calculator-note p {
  color: var(--ink);
}
.calculator-note:hover span {
  text-decoration: underline;
}
.topic-note {
  background: var(--warm);
  padding: 24px;
  margin-top: 36px;
}
.topic-note h2 {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 16px;
}
.topic-note nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  font-size: 14px;
}
.topic-note a {
  color: var(--ink);
}
.diagnosis-disclosure {
  background: var(--warm);
  margin-top: 36px;
}
.diagnosis-disclosure > summary {
  padding: 20px 24px;
  font-size: 14px;
}
.diagnosis-disclosure > summary strong {
  font-weight: 500;
}
.diagnosis-disclosure > summary > span {
  display: block;
  margin-left: 18px;
}
.diagnosis {
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
  gap: 32px;
}
.diagnosis-intro h2 {
  font-size: 24px;
  margin-bottom: 16px;
}
.diagnosis-intro p {
  font-size: 14px;
}
.diagnosis fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 24px;
  min-width: 0;
}
.diagnosis legend {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 12px;
}
.diagnosis legend > span {
  font-variant-numeric: tabular-nums;
  color: var(--accent);
  margin-right: 6px;
}
.radio-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.radio-row label {
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: var(--paper);
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  min-height: 44px;
}
.radio-row label:has(input:checked) {
  background: var(--pale);
  border-color: var(--accent);
}
.radio-row input {
  accent-color: var(--accent);
  margin: 0;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #b4b0a6;
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.button:hover {
  background: var(--pale);
  border-color: var(--accent);
}
.text-button {
  background: none;
  border: 0;
  color: var(--accent);
  padding: 10px 0;
  margin-left: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 12px;
  min-height: 44px;
}
.diagnosis-result {
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  font-size: 14px;
}
.diagnosis-result h3 {
  font-size: 18px;
}
.diagnosis-link {
  display: block;
  padding-block: 6px;
}
.pr {
  margin: 36px 0 0;
  font-size: 10px;
  color: var(--muted);
}
.pr strong {
  font-weight: 400;
}
.site-footer {
  background: var(--warm);
  padding-block: 40px;
}
.footer-grid {
  display: block;
}
.footer-grid .brand {
  font-family: var(--body);
  font-size: 24px;
}
.footer-grid > div > p {
  display: none;
}
.footer-grid nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  font-size: 12px;
  margin-top: 14px;
}
.footer-grid nav a {
  color: var(--ink);
}
.footer-bottom {
  margin-top: 14px;
  font-size: 12px;
  color: var(--muted);
}
.footer-bottom p {
  margin-bottom: 14px;
}
.footer-bottom p:last-child {
  font-size: 10px;
  margin: 0;
}
.article-wrap {
  padding-block: 28px 48px;
}
.breadcrumbs {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 28px;
}
.breadcrumbs a {
  color: var(--muted);
}
.article-header {
  margin-bottom: 22px;
}
.tag {
  color: var(--accent);
  font-size: 12px;
}
.article-header h1 {
  font-size: 32px;
  margin: 16px 0 22px;
}
.meta {
  font-size: 12px;
  color: var(--muted);
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.article-header .small {
  font-size: 10px;
  margin-bottom: 0;
}
.article-photo {
  margin: 0 0 22px;
}
.article-photo > img {
  width: 100%;
  aspect-ratio: 720/350;
  object-fit: cover;
}
.article-photo figcaption {
  font-size: 10px;
  color: var(--muted);
  margin-top: 14px;
}
.article-description {
  font-size: 16px;
  margin-bottom: 22px;
}
.article-body {
  min-width: 0;
}
.article-body p {
  overflow-wrap: anywhere;
}
.article-body > h2,
.article-body section > h2 {
  margin-top: 40px;
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  font-size: 24px;
}
.article-body h3 {
  font-size: 18px;
  margin: 24px 0 12px;
}
.article-body a {
  overflow-wrap: anywhere;
}
.article-body li {
  margin-block: 10px;
}
.conclusion {
  margin-bottom: 22px;
}
.conclusion p {
  margin: 0;
}
.article-toc {
  padding: 20px;
  background: var(--warm);
  font-size: 14px;
  margin-bottom: 32px;
}
.article-toc summary {
  font-weight: 500;
}
.article-toc ol {
  margin-bottom: 0;
}
.article-toc li {
  margin-block: 6px;
}
.small {
  font-size: 12px;
  color: var(--muted);
}
.section-heading {
  margin-bottom: 20px;
}
.section-heading h2 {
  font-size: 24px;
}
.table-tools {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin: 20px 0;
  font-size: 12px;
}
.table-tools label {
  display: grid;
  gap: 8px;
  max-width: 100%;
}
.table-tools select {
  min-height: 44px;
  max-width: 100%;
  background: var(--paper);
  color: var(--ink);
  padding: 8px 32px 8px 12px;
  border: 1px solid #aaa69c;
  border-radius: 0;
}
.table-tools p {
  margin: 0;
  flex-shrink: 0;
}
.comparison-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: left;
  font-size: 12px;
  line-height: 1.85;
  font-variant-numeric: tabular-nums;
}
.comparison-table caption {
  text-align: left;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 12px;
}
.comparison-table th,
.comparison-table td {
  padding: 14px 8px;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
}
.comparison-table thead th {
  font-size: 11px;
  background: var(--warm);
  font-weight: 500;
}
.comparison-table th:first-child {
  width: 24%;
}
.comparison-table th:nth-child(2) {
  width: 17%;
}
.comparison-table th:nth-child(3) {
  width: 14%;
}
.comparison-table th:nth-child(4) {
  width: 25%;
}
.comparison-table th:nth-child(5) {
  width: 20%;
}
.service-name {
  display: block;
  color: var(--accent);
  font-weight: 500;
  margin-bottom: 8px;
}
.comparison-table p {
  font-size: 11px;
  font-weight: 400;
  margin: 8px 0;
}
.service-detail {
  font-size: 11px;
  font-weight: 400;
}
.comparison-table small {
  display: block;
  font-size: 10px;
  font-weight: 400;
}
.comparison-table .price {
  font-size: 20px;
}
.comparison-table .price small {
  display: inline;
  font-size: 11px;
}
.unverified {
  color: var(--muted);
  font-weight: 400;
}
.cell-note {
  margin-top: 8px;
}
.fit-note {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
}
.fit-note:last-child {
  border: 0;
}
.fit-note p {
  font-size: 14px;
}
.empty-state {
  padding: 24px;
  background: var(--warm);
  font-size: 14px;
}
.tool {
  padding: 24px;
  background: var(--warm);
  margin-block: 32px;
}
.article-body .tool h2 {
  font-size: 20px;
  border: 0;
  padding: 0;
  margin: 0;
}
.tool-label {
  font-size: 10px;
  color: var(--muted);
}
.tool > p {
  font-size: 14px;
}
.input-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
}
.input-grid label {
  font-size: 12px;
  display: grid;
  gap: 8px;
}
.input-unit {
  display: flex;
  align-items: center;
  gap: 10px;
}
.input-unit input {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  padding: 12px;
  min-height: 44px;
}
.input-unit input::placeholder {
  color: var(--muted);
  opacity: 1;
}
.input-unit > span {
  min-width: 1em;
}
.calc-result {
  margin-top: 20px;
  font-size: 14px;
}
.calc-result p {
  margin-bottom: 8px;
}
.calc-result strong {
  font-size: 28px;
  font-variant-numeric: tabular-nums;
}
.calculator .text-button {
  margin: 0;
}
.form-error {
  font-size: 14px;
  color: #a02e24;
  margin-top: 12px;
}
.form-error:empty {
  display: none;
}
.faq-section details {
  border-bottom: 1px solid var(--line);
}
.faq-section summary {
  padding: 18px 0;
  font-size: 14px;
  font-weight: 500;
}
.faq-section details p {
  font-size: 14px;
  padding-bottom: 12px;
}
.sources p,
.sources li,
.corrections li {
  font-size: 12px;
  color: var(--muted);
}
.sources ul {
  display: grid;
  gap: 8px;
}
.related {
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.related .article-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.not-found {
  padding-block: 64px;
}
.not-found h1 {
  font-size: 32px;
  margin-bottom: 20px;
}
@media (max-width: 1199px) {
  :root {
    --column-gap: 40px;
    --sidebar-width: 240px;
  }
  .header-top p {
    width: auto;
  }
  .theme-sidebar > h2 {
    font-size: 20px;
  }
}
@media (max-width: 999px) {
  .home-feature {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  }
  .home-columns,
  .article-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .theme-sidebar {
    display: none;
  }
  .article-header,
  .article-body {
    max-width: 720px;
  }
  .article-body {
    margin-inline: auto;
    width: 100%;
  }
  .secondary-stories .article-card h3 {
    font-size: 15px;
  }
  .lead-story h1 {
    font-size: 25px;
  }
  .main-nav {
    justify-content: space-between;
    gap: 20px;
  }
  .main-nav a {
    width: auto;
  }
  .diagnosis {
    grid-template-columns: minmax(0, 1fr);
  }
  .related .article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 699px) {
  .wrap {
    width: calc(100% - 32px);
  }
  .header-top {
    padding-block: 16px 12px;
  }
  .header-top .brand {
    font-size: 25px;
  }
  .header-top p {
    display: none;
  }
  .main-nav {
    font-size: 10px;
    gap: 8px;
    padding-block: 6px 10px;
  }
  .main-nav a {
    min-height: 32px;
    flex: 1;
    white-space: nowrap;
  }
  .home-wrap {
    padding-block: 32px 48px;
  }
  .home-feature {
    display: block;
  }
  .lead-story > img {
    aspect-ratio: 358/224;
  }
  .lead-story h1 {
    font-size: 24px;
    margin: 12px 0;
    line-height: 1.75;
  }
  .lead-description {
    font-size: 14px;
  }
  .secondary-stories {
    display: none;
  }
  .photo-credit {
    margin: 36px 0;
    font-size: 10px;
  }
  .home-columns {
    padding-top: 36px;
  }
  .news-feed > h2 {
    font-size: 24px;
    margin-bottom: 26px;
  }
  .article-grid,
  .related .article-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .article-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 14px;
    padding-bottom: 26px;
    margin-bottom: 26px;
    border-bottom: 1px solid var(--line);
  }
  .article-card > img {
    width: 112px;
    height: 84px;
    aspect-ratio: auto;
    object-fit: cover;
  }
  .card-meta {
    font-size: 10px;
    gap: 6px;
    margin: 0 0 5px;
  }
  .card-meta time:before {
    margin-right: 6px;
  }
  .article-card h3 {
    font-size: 14px;
    font-weight: 500;
  }
  .article-card .card-copy > p {
    display: none;
  }
  .news-feed > .photo-credit {
    margin: 0 0 26px;
  }
  .diagnosis-disclosure {
    margin-top: 10px;
  }
  .diagnosis-disclosure > summary {
    padding: 20px;
  }
  .diagnosis-disclosure > summary > span {
    margin-left: 0;
    margin-top: 8px;
  }
  .diagnosis {
    padding: 20px;
    gap: 12px;
  }
  .diagnosis-intro h2 {
    font-size: 20px;
  }
  .topic-note {
    padding: 24px;
    margin-top: 36px;
  }
  .topic-note nav {
    display: block;
  }
  .topic-note a {
    display: inline;
    line-height: 2.2;
  }
  .topic-note a + a:before {
    content: " / ";
    color: var(--muted);
    margin-inline: 8px;
  }
  .pr {
    margin-top: 36px;
  }
  .site-footer {
    padding-block: 24px;
  }
  .site-footer .wrap {
    width: calc(100% - 48px);
  }
  .footer-grid nav {
    gap: 8px 14px;
  }
  .footer-bottom {
    font-size: 12px;
  }
  .article-wrap {
    padding-top: 28px;
  }
  .breadcrumbs {
    font-size: 10px;
    gap: 10px;
    margin-bottom: 28px;
  }
  .article-header h1 {
    font-size: 25px;
    line-height: 1.75;
    margin-block: 16px 22px;
  }
  .meta {
    font-size: 10px;
    gap: 8px;
  }
  .article-photo > img {
    aspect-ratio: 358/220;
  }
  .article-photo figcaption {
    font-size: 10px;
  }
  .article-body > h2,
  .article-body section > h2 {
    font-size: 22px;
    margin-top: 36px;
  }
  .article-description {
    font-size: 16px;
  }
  .article-body {
    font-size: 16px;
  }
  .article-toc {
    padding: 20px;
  }
  .table-tools {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .comparison-table,
  .comparison-table tbody {
    display: block;
  }
  .comparison-table thead {
    display: none;
  }
  .comparison-table caption {
    display: block;
  }
  .comparison-table tr {
    display: block;
    background: var(--warm);
    padding: 18px;
    margin-bottom: 16px;
  }
  .comparison-table th,
  .comparison-table td {
    display: block;
    width: 100% !important;
    padding: 10px 0;
    font-size: 12px;
    border: 0;
  }
  .comparison-table td:before {
    content: attr(data-label);
    display: block;
    color: var(--muted);
    font-size: 11px;
    margin-bottom: 6px;
  }
  .comparison-table tbody th {
    border-bottom: 1px solid var(--line);
    padding-top: 0;
  }
  .comparison-table .service-name {
    font-size: 16px;
  }
  .comparison-table th p {
    font-size: 12px;
  }
  .comparison-table td + td {
    border-top: 1px solid var(--line);
  }
  .comparison-table p {
    font-size: 12px;
  }
  .comparison-table small {
    font-size: 11px;
  }
  .tool {
    padding: 20px;
  }
  .input-grid {
    gap: 16px;
  }
  .tool .section-heading h2 {
    font-size: 20px;
  }
  .calc-result strong {
    font-size: 24px;
  }
  .related {
    padding-top: 24px;
    margin-top: 36px;
  }
  .related .section-heading h2 {
    font-size: 22px;
  }
  .not-found h1 {
    font-size: 25px;
  }
}
@media (max-width: 360px) {
  .lead-story h1 {
    font-size: 21px;
  }
  .article-card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
  }
  .article-card > img {
    width: 96px;
    height: 80px;
  }
  .card-meta {
    font-size: 9px;
  }
  .article-card h3 {
    font-size: 13px;
  }
  .main-nav {
    font-size: 9px;
  }
  .brand {
    white-space: normal;
  }
  .radio-row {
    flex-direction: column;
  }
  .radio-row label {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
