@font-face { font-family: "CorpLogo"; font-style: normal; font-weight: 700; font-display: swap; src: url("../assets/fonts/corporate-logo-bold-subset.woff2") format("woff2"); }
/* Noto Sans JP：サイトで使う文字だけに絞り、使う頻度で3つに分割（ページで使う分だけ、読み込まれる）。500以上（太字）はぜんぶ Medium(500) を使う（太字をひかえめにするため）。tools/build-fonts.py で作り直す */
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 100 499; font-display: swap; src: url("../assets/fonts/noto-sans-jp-400-a.woff2") format("woff2"); unicode-range: U+20-7E, U+2014, U+2026, U+203B, U+2190, U+2192, U+2500, U+3000-303F, U+3041-3096, U+30A0-30FF, U+4E00, U+4E0A-4E0B, U+4E26, U+4E2D, U+4E38, U+4E57, U+4E5D, U+4E86, U+4E8B, U+4E95, U+4EAC, U+4EBA, U+4ECB, U+4ED5-4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EF6, U+4EFB, U+4F1A, U+4F4D, U+4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9D, U+4FBF, U+4FDD, U+4FE1, U+4FEE, U+500B, U+5024, U+5074, U+50BE, U+50CF, U+5148-5149, U+5165, U+5168, U+516C, U+5171, U+5185, U+5199, U+51E6, U+51FA, U+5206-5207, U+521D, U+5224-5225, U+5229, U+5236, U+524D, U+529B, U+52A0, U+52B9, U+52D5, U+52D9, U+52DF, U+5316-5317, U+533A-533B, U+5343, U+534A, U+5358, U+5370, U+5373, U+53CE, U+53D6-53D7, U+53E3, U+53EF, U+53F3, U+53F7, U+5408, U+540C-540D, U+5411, U+542B, U+547C, U+54C1, U+54E1, U+5546, U+554F, U+55B6, U+5668, U+56DE, U+56E3, U+56F0, U+56F2-56F3, U+56FA, U+5728, U+5730, U+57CB, U+57DF, U+57FA, U+5831, U+5834, U+5883, U+5897, U+58F2, U+5909, U+5916, U+592E, U+59CB, U+5B50, U+5B57, U+5B8C, U+5B9A, U+5B9F, U+5BA2, U+5BB9, U+5BC4, U+5BFE, U+5C0E, U+5C11, U+5C3E, U+5C64-5C65, U+5DE6, U+5DEE, U+5E0C, U+5E2F, U+5E38, U+5E55, U+5E74, U+5E83, U+5E97, U+5EA6-5EA7, U+5EFA, U+5F0F, U+5F15, U+5F37, U+5F3E, U+5F53, U+5F71, U+5F8C, U+5F97, U+5FA1, U+5FAA, U+5FC5, U+5FDC, U+5FF5, U+6025, U+6027, U+60C5, U+60D1, U+60F3, U+610F, U+614B, U+623B, U+6240, U+624B, U+6271, U+629E, U+62BC, U+62C5, U+62FE, U+6301, U+6319, U+6357, U+63A1, U+63A5, U+63A7, U+63B2, U+63C3, U+63DB, U+64CD, U+6570, U+6587, U+6599, U+65B0, U+65B9, U+65BD, U+65E2, U+65E5, U+660E, U+6642, U+666E-666F, U+6697, U+66F8, U+66FF-6700, U+6709, U+671B, U+671F, U+672A-672C, U+6750, U+6765, U+6771, U+679A, U+67A0, U+682A, U+6841, U+6848, U+691C, U+696D, U+6982, U+69D8, U+6A2A, U+6A5F, U+6B04, U+6B21, U+6B62-6B63, U+6B74, U+6B8B, U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C38, U+6C42, U+6C7A, U+6CC1, U+6CD5, U+6CE2, U+6CE8, U+6D88, U+6DFB, U+6E08, U+6E1B, U+6FC3, U+70B9, U+7121, U+71B1, U+7269, U+7279, U+72B6, U+73FE, U+7406, U+74B0, U+751F, U+7528, U+7530, U+753B, U+756A, U+75C7, U+7642, U+767A-767B, U+767D, U+7684, U+76E3, U+76EE, U+76F4, U+76F8, U+771F, U+77AC, U+77E2, U+77E5, U+78BA, U+793A, U+793E, U+79D2, U+79FB, U+7A2E, U+7A4D, U+7A7A, U+7A81, U+7AE0, U+7AEF, U+7B49, U+7B56, U+7BA1, U+7BC4, U+7D0B, U+7D0D, U+7D20, U+7D22, U+7D30, U+7D39, U+7D42, U+7D44, U+7D4C, U+7D5E, U+7D61, U+7D9A, U+7DCF, U+7DDA, U+7E26, U+7E3E, U+7F6B, U+7F6E, U+7FA9, U+8003, U+8005, U+805E, U+8077, U+80CC, U+80FD, U+81EA, U+82F1, U+884C, U+885D, U+8868, U+88DC, U+88FD, U+8907, U+8981, U+898B, U+8996, U+89A7, U+89AA, U+89D2, U+8A08, U+8A0E, U+8A18, U+8A2D, U+8A31, U+8A3C, U+8A66, U+8A71, U+8A73, U+8A8D, U+8A9E, U+8AAD, U+8ABF, U+8AC7, U+8ACB, U+8CA9, U+8CC7, U+8CEA, U+8CFC, U+8D64, U+8D85, U+8F03, U+8F09, U+8FBC, U+8FD4, U+8FF7, U+8FFD, U+9000-9001, U+9014, U+901A, U+9023, U+9032, U+9054, U+9060, U+9078, U+907F, U+90E8, U+90F5, U+90FD, U+914D, U+91CE-91CF, U+91DD, U+9332, U+9577, U+9580, U+9589, U+958B, U+9593, U+9650, U+968E, U+969B, U+96A0, U+96C6, U+96FB, U+9759, U+9762, U+9805-9806, U+9808, U+982D, U+983C, U+985E, U+98DB, U+9A13, U+9AD8, U+FF01-FF5E; }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 100 499; font-display: swap; src: url("../assets/fonts/noto-sans-jp-400-b.woff2") format("woff2"); unicode-range: U+301C, U+3050, U+30B1, U+4E0D, U+4E21, U+4E3B, U+4EA4, U+4EC1, U+4ECA, U+4F01, U+4F9B, U+4FA1, U+5065, U+50CD, U+5143, U+514D, U+516D, U+5177, U+518D, U+524A, U+52A9, U+52B4, U+5354, U+539A, U+53C8, U+53F0, U+5404, U+547D, U+56FD, U+578B, U+58CA, U+591A, U+5927, U+592A, U+59FF, U+5B58, U+5B88, U+5B89, U+5B98, U+5BAE, U+5BB6, U+5BF8, U+5BFF, U+5C02, U+5C0A, U+5C0F, U+5C4A, U+5C5E, U+5DE5, U+5E45, U+5E73, U+5E81, U+5EAB, U+5F62, U+5F79, U+5F8B, U+5F93, U+5FB3, U+611F, U+6210, U+6238, U+6255, U+627F, U+629C, U+62C9, U+62F6, U+6307, U+6328, U+6355, U+637A, U+63D0, U+643A, U+6458, U+652F, U+6574, U+65E8, U+65E9, U+66F4, U+6708, U+6728, U+6761, U+679C, U+67FB, U+6804, U+683C, U+69CB, U+6A29, U+6A4B, U+6A59, U+6C5F, U+6C60, U+6D29, U+6D41, U+6E2C, U+6E2F, U+6E90, U+6E96, U+7523, U+7531, U+7533, U+7701, U+7826, U+7A0E, U+7A76, U+7ACB, U+7B2C, U+7D04, U+7D50, U+7D66, U+80A9, U+822C, U+82E6, U+885B, U+88C5, U+898F, U+8AAC, U+8AF8, U+8B70, U+8B77, U+8C4A, U+8C61, U+8CB7, U+8CBB, U+8CC3, U+8D77, U+8EE2, U+8EFD, U+8FB2, U+9020, U+904B, U+904E, U+9053, U+9069, U+91CD, U+91D1, U+9451, U+95A2, U+9632, U+9664, U+967D, U+9769, U+9858, U+FF1F; }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 100 499; font-display: swap; src: url("../assets/fonts/noto-sans-jp-400-c.woff2") format("woff2"); unicode-range: U+2015, U+201C-201D, U+2039-203A, U+2082, U+2103, U+2160, U+2193, U+2212, U+2264, U+25A0-25A1, U+25CB, U+25EF, U+2605, U+3005, U+300E-3011, U+3041, U+305C, U+305E, U+306C-306D, U+307C, U+3083, U+308D, U+30AE, U+30BA, U+30BC, U+30CD-30CE, U+30D9, U+30DF, U+30E4, U+30E6, U+30F6, U+4E01, U+4E07, U+4E09, U+4E0E, U+4E13, U+4E16, U+4E1A, U+4E1C, U+4E24, U+4E2A, U+4E3A, U+4E48-4E49, U+4E4B, U+4E5F, U+4E70-4E71, U+4E7E, U+4E88-4E89, U+4E8C, U+4E8E, U+4E91-4E92, U+4E94, U+4EA7, U+4EAB, U+4EC0, U+4ECE, U+4EE4, U+4EEA, U+4EEC, U+4EF2, U+4EF7, U+4EFD, U+4F11, U+4F19, U+4F1D, U+4F20, U+4F34, U+4F38, U+4F3C, U+4F4E, U+4FB5, U+4FC2, U+5009, U+5019, U+503C, U+505A, U+505C, U+5099, U+50B7, U+5104, U+511F, U+512A, U+5145, U+5150, U+5173, U+5178, U+517C, U+5186, U+518A, U+518C, U+5197, U+51B5, U+51C6, U+51CF, U+520A, U+5212, U+5217, U+522B, U+5230, U+5237, U+523A, U+5247, U+5264, U+5270, U+5272, U+5275, U+529E, U+52A1, U+52A8, U+52AA, U+52B3, U+52C9, U+52E2, U+52E4, U+5305, U+533F, U+5341, U+534F, U+5352, U+5355-5356, U+5360, U+536B, U+5374, U+5378, U+5382, U+5386, U+539F, U+53A6, U+53B3, U+53BB, U+53C2, U+53CA, U+53CD, U+53D1, U+53D8, U+53E4, U+53EA, U+53F8, U+540E, U+5426, U+542C, U+5438-5439, U+544A, U+5458, U+5468, U+5473, U+548C, U+54A8, U+552E, U+5584, U+5687, U+56DB, U+56E0, U+56E2, U+56FE, U+571F, U+5727, U+573A, U+5740, U+5747, U+57F7, U+57F9, U+5875, U+589E, U+58C1, U+58EB, U+58F0, U+5904, U+5907, U+590D, U+591C, U+5929, U+592B, U+5931, U+5951, U+5957, U+5965, U+597D, U+5982, U+59A5, U+59A8, U+59D3-59D4, U+5A01, U+5A92, U+5B54, U+5B66, U+5B83, U+5B85, U+5B9B, U+5B9E, U+5BA4, U+5BB3, U+5BBF, U+5BC6, U+5BDD, U+5BDF, U+5BE7, U+5BE9, U+5BF9, U+5C01, U+5C04, U+5C31, U+5C3D, U+5C40, U+5C45, U+5C4B, U+5C55, U+5C71, U+5DDE, U+5DF1-5DF2, U+5E02, U+5E1D, U+5E2B, U+5E30, U+5E33, U+5E76, U+5E78-5E79, U+5E7F, U+5E8A, U+5E93-5E95, U+5E9C, U+5E9F, U+5EAD, U+5EB7, U+5EC3, U+5F00-5F01, U+5F03, U+5F18, U+5F27, U+5F31, U+5F3A, U+5F55, U+5F70, U+5F80, U+5F85, U+5F92, U+5FA9, U+5FB9, U+5FC3, U+5FD7-5FD8, U+5FEB, U+601D, U+603B, U+60A3, U+60AA, U+616E, U+61A9, U+6211, U+6216, U+6237, U+6253, U+6269, U+6279, U+6280, U+628A, U+6291, U+6298, U+62A4-62A5, U+62CD, U+62D2-62D3, U+62D7-62D8, U+62DB, U+62E0-62E1, U+62E5, U+62EC-62ED, U+6309, U+631F, U+6325, U+632F, U+633F, U+6349, U+6362, U+6368, U+636E, U+6377, U+6383, U+6392, U+63A2, U+63A8, U+63AA, U+63CF, U+63E1, U+63EE, U+63F4, U+640D, U+640F, U+642C-642D, U+646F, U+6483, U+64AE, U+6539, U+653B, U+653E-653F, U+6545, U+6557, U+6559, U+65AD, U+65E0, U+65E7, U+65EC, U+65F6, U+6607, U+6613, U+6620, U+662F, U+6676, U+6687, U+6691, U+66B4, U+66FE, U+670D, U+671D, U+672D, U+673A, U+6751, U+675F, U+6784, U+6790, U+6795, U+67C4, U+67D3, U+67E5, U+6807, U+6821, U+6837, U+6839, U+68B0-68B1, U+68B6, U+68C0, U+68C4, U+68DA, U+68DF, U+697C-697D, U+6A19, U+6A21, U+6A39, U+6B20, U+6B22, U+6B27, U+6B32, U+6B3E, U+6B53, U+6B65, U+6B69, U+6B6F, U+6BC0, U+6BC5, U+6BD2, U+6C0F, U+6C27, U+6C34, U+6C47, U+6C4E, U+6CA1, U+6CB9, U+6CBB, U+6CBF, U+6CDB, U+6D17, U+6D3B, U+6D3E, U+6D44-6D45, U+6D4B, U+6D4E, U+6D77, U+6DB2, U+6DF1, U+6DF7, U+6E05, U+6E21, U+6E29, U+6E7F-6E80, U+6EC5, U+6ED1, U+6F0F, U+706F, U+707D, U+70BA, U+70ED, U+7136, U+7167, U+71C3, U+7248, U+724C, U+7259, U+72EC, U+732E, U+7387, U+73AF-73B0, U+7403, U+7535, U+753A, U+754C, U+7559, U+7570, U+7597, U+75AB, U+75C5, U+7686, U+76AE, U+76CA, U+76D7, U+76DF, U+76E4, U+770B-770C, U+773C, U+7740, U+7763, U+77ED, U+7814, U+7834, U+786E, U+793C, U+795D-795E, U+7968, U+7981, U+798F, U+79C1, U+79CD, U+79D1, U+79D8, U+79F0, U+7A0B, U+7A3C, U+7A74, U+7A93, U+7AD9, U+7ADE, U+7AE5, U+7AF6, U+7B51, U+7B54, U+7B97, U+7BB1, U+7BC9, U+7C21, U+7C3F, U+7C73, U+7C7B, U+7C89, U+7C98, U+7CBE, U+7CFB, U+7D19-7D1B, U+7D27, U+7D2B, U+7D2F, U+7D71, U+7D99, U+7DB2, U+7DCA, U+7DD1-7DD2, U+7DE0, U+7DE8, U+7E2E, U+7E54, U+7E70, U+7EA2, U+7EA7, U+7EB8, U+7EBF, U+7EC8, U+7ECF, U+7ED3, U+7ED9, U+7EDC, U+7EDF, U+7EED, U+7EF4, U+7F14, U+7F3A, U+7F51, U+7F69-7F6A, U+7F72, U+7FA4, U+7FCC, U+7FD2, U+7FFB, U+800C, U+8010, U+8017, U+8054, U+808C, U+80A1, U+80B2, U+8102, U+8105-8106, U+8108-8109, U+8131, U+8138, U+8148, U+81E3, U+81F3-81F4, U+8208, U+8217, U+826F, U+8272, U+8377, U+83B7, U+8425, U+843D, U+8449, U+8457, U+84C4, U+84DD, U+8521, U+8535, U+85AC, U+85CF, U+8651, U+8840, U+8846, U+8853, U+8863, U+888B, U+88AB, U+88C1, U+88CF, U+897F, U+8986, U+89B3, U+89C4, U+89E3, U+89E6, U+8A00, U+8A02, U+8A17, U+8A33, U+8A3A, U+8A55, U+8A6E, U+8A70, U+8A72, U+8A89, U+8AA0, U+8AA4, U+8AB0, U+8AB2, U+8AB9, U+8B17, U+8B1B, U+8B1D, U+8B58, U+8B66, U+8BA1-8BA2, U+8BA4, U+8BA9, U+8BAE, U+8BB0, U+8BB8, U+8BBE-8BBF, U+8BDD, U+8BE2, U+8BE6, U+8BF4, U+8BF7, U+8BFA, U+8C22, U+8CA0-8CA2, U+8CA8, U+8CAB-8CAC, U+8CB4, U+8CBC, U+8CBF, U+8CDC, U+8CDE, U+8D08, U+8D1F, U+8D21, U+8D23, U+8D27-8D28, U+8D2D, U+8D38, U+8D44, U+8D56, U+8D8A, U+8DB3, U+8DE1, U+8DEF, U+8DF3, U+8E0F, U+8EAB, U+8ECA, U+8EF8, U+8F2A, U+8F38, U+8F44, U+8F66, U+8F6F, U+8F7B, U+8F7D, U+8F93, U+8FC1, U+8FC5, U+8FC7, U+8FCE, U+8FD0-8FD1, U+8FD8-8FD9, U+8FDB, U+8FDE, U+8FEB, U+9006, U+9009, U+900F, U+901F, U+9031, U+9042, U+9055, U+9063, U+9075, U+90AE, U+9152, U+916C, U+9178, U+9192, U+91C7, U+91CC, U+9280, U+92AD, U+9320, U+949F, U+94C1, U+94FE, U+9500, U+957F, U+95B2, U+95E8, U+95EE, U+95F4, U+961F, U+962A, U+9636, U+9645, U+964D, U+9662, U+967A, U+968A, U+9694, U+969C, U+96C7, U+96D1, U+96E2-96E3, U+9700, U+9732, U+9756, U+975E, U+9760, U+97F3, U+97FF, U+9810, U+9818, U+983B, U+984C-984D, U+9854, U+9867, U+9875, U+9879, U+9881, U+9886, U+98DF, U+98F2, U+98FD, U+99C4-99C6, U+9A73, U+9A76, U+9A7E, U+9EC4, U+9ED1-9ED2, U+9ED9, U+9F3B, U+9F62, U+9FA0, U+FF05, U+FF0C, U+FF1B, U+FF1D, U+FF3B, U+FF3D; }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 500 900; font-display: swap; src: url("../assets/fonts/noto-sans-jp-500-a.woff2") format("woff2"); unicode-range: U+20-7E, U+2014, U+2026, U+203B, U+2190, U+2192, U+2500, U+3000-303F, U+3041-3096, U+30A0-30FF, U+4E00, U+4E0A-4E0B, U+4E26, U+4E2D, U+4E38, U+4E57, U+4E5D, U+4E86, U+4E8B, U+4E95, U+4EAC, U+4EBA, U+4ECB, U+4ED5-4ED6, U+4ED8, U+4EE3, U+4EE5, U+4EF6, U+4EFB, U+4F1A, U+4F4D, U+4F4F, U+4F53, U+4F55, U+4F59, U+4F5C, U+4F7F, U+4F8B, U+4F9D, U+4FBF, U+4FDD, U+4FE1, U+4FEE, U+500B, U+5024, U+5074, U+50BE, U+50CF, U+5148-5149, U+5165, U+5168, U+516C, U+5171, U+5185, U+5199, U+51E6, U+51FA, U+5206-5207, U+521D, U+5224-5225, U+5229, U+5236, U+524D, U+529B, U+52A0, U+52B9, U+52D5, U+52D9, U+52DF, U+5316-5317, U+533A-533B, U+5343, U+534A, U+5358, U+5370, U+5373, U+53CE, U+53D6-53D7, U+53E3, U+53EF, U+53F3, U+53F7, U+5408, U+540C-540D, U+5411, U+542B, U+547C, U+54C1, U+54E1, U+5546, U+554F, U+55B6, U+5668, U+56DE, U+56E3, U+56F0, U+56F2-56F3, U+56FA, U+5728, U+5730, U+57CB, U+57DF, U+57FA, U+5831, U+5834, U+5883, U+5897, U+58F2, U+5909, U+5916, U+592E, U+59CB, U+5B50, U+5B57, U+5B8C, U+5B9A, U+5B9F, U+5BA2, U+5BB9, U+5BC4, U+5BFE, U+5C0E, U+5C11, U+5C3E, U+5C64-5C65, U+5DE6, U+5DEE, U+5E0C, U+5E2F, U+5E38, U+5E55, U+5E74, U+5E83, U+5E97, U+5EA6-5EA7, U+5EFA, U+5F0F, U+5F15, U+5F37, U+5F3E, U+5F53, U+5F71, U+5F8C, U+5F97, U+5FA1, U+5FAA, U+5FC5, U+5FDC, U+5FF5, U+6025, U+6027, U+60C5, U+60D1, U+60F3, U+610F, U+614B, U+623B, U+6240, U+624B, U+6271, U+629E, U+62BC, U+62C5, U+62FE, U+6301, U+6319, U+6357, U+63A1, U+63A5, U+63A7, U+63B2, U+63C3, U+63DB, U+64CD, U+6570, U+6587, U+6599, U+65B0, U+65B9, U+65BD, U+65E2, U+65E5, U+660E, U+6642, U+666E-666F, U+6697, U+66F8, U+66FF-6700, U+6709, U+671B, U+671F, U+672A-672C, U+6750, U+6765, U+6771, U+679A, U+67A0, U+682A, U+6841, U+6848, U+691C, U+696D, U+6982, U+69D8, U+6A2A, U+6A5F, U+6B04, U+6B21, U+6B62-6B63, U+6B74, U+6B8B, U+6BB5, U+6BCE, U+6BD4, U+6C17, U+6C38, U+6C42, U+6C7A, U+6CC1, U+6CD5, U+6CE2, U+6CE8, U+6D88, U+6DFB, U+6E08, U+6E1B, U+6FC3, U+70B9, U+7121, U+71B1, U+7269, U+7279, U+72B6, U+73FE, U+7406, U+74B0, U+751F, U+7528, U+7530, U+753B, U+756A, U+75C7, U+7642, U+767A-767B, U+767D, U+7684, U+76E3, U+76EE, U+76F4, U+76F8, U+771F, U+77AC, U+77E2, U+77E5, U+78BA, U+793A, U+793E, U+79D2, U+79FB, U+7A2E, U+7A4D, U+7A7A, U+7A81, U+7AE0, U+7AEF, U+7B49, U+7B56, U+7BA1, U+7BC4, U+7D0B, U+7D0D, U+7D20, U+7D22, U+7D30, U+7D39, U+7D42, U+7D44, U+7D4C, U+7D5E, U+7D61, U+7D9A, U+7DCF, U+7DDA, U+7E26, U+7E3E, U+7F6B, U+7F6E, U+7FA9, U+8003, U+8005, U+805E, U+8077, U+80CC, U+80FD, U+81EA, U+82F1, U+884C, U+885D, U+8868, U+88DC, U+88FD, U+8907, U+8981, U+898B, U+8996, U+89A7, U+89AA, U+89D2, U+8A08, U+8A0E, U+8A18, U+8A2D, U+8A31, U+8A3C, U+8A66, U+8A71, U+8A73, U+8A8D, U+8A9E, U+8AAD, U+8ABF, U+8AC7, U+8ACB, U+8CA9, U+8CC7, U+8CEA, U+8CFC, U+8D64, U+8D85, U+8F03, U+8F09, U+8FBC, U+8FD4, U+8FF7, U+8FFD, U+9000-9001, U+9014, U+901A, U+9023, U+9032, U+9054, U+9060, U+9078, U+907F, U+90E8, U+90F5, U+90FD, U+914D, U+91CE-91CF, U+91DD, U+9332, U+9577, U+9580, U+9589, U+958B, U+9593, U+9650, U+968E, U+969B, U+96A0, U+96C6, U+96FB, U+9759, U+9762, U+9805-9806, U+9808, U+982D, U+983C, U+985E, U+98DB, U+9A13, U+9AD8, U+FF01-FF5E; }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 500 900; font-display: swap; src: url("../assets/fonts/noto-sans-jp-500-b.woff2") format("woff2"); unicode-range: U+301C, U+3050, U+30B1, U+4E0D, U+4E21, U+4E3B, U+4EA4, U+4ECA, U+4F01, U+4F9B, U+4FA1, U+5065, U+50CD, U+5143, U+5177, U+518D, U+524A, U+52B4, U+5354, U+539A, U+53F0, U+5404, U+547D, U+56FD, U+578B, U+591A, U+5927, U+5B58, U+5B88-5B89, U+5B98, U+5BB6, U+5BF8, U+5BFF, U+5C02, U+5C0F, U+5C4A, U+5C5E, U+5DE5, U+5E45, U+5E73, U+5E81, U+5EAB, U+5F62, U+5F79, U+5F8B, U+5F93, U+611F, U+6210, U+6255, U+627F, U+629C, U+6307, U+63D0, U+643A, U+652F, U+6574, U+65E9, U+66F4, U+6708, U+6761, U+679C, U+67FB, U+683C, U+69CB, U+6A29, U+6C60, U+6D41, U+6E2C, U+6E90, U+6E96, U+7523, U+7531, U+7533, U+7701, U+7A0E, U+7ACB, U+7B2C, U+7D04, U+7D50, U+7D66, U+822C, U+885B, U+88C5, U+898F, U+8AAC, U+8B70, U+8B77, U+8C61, U+8CB7, U+8CBB, U+8D77, U+8EE2, U+8EFD, U+9020, U+904B, U+904E, U+9053, U+9069, U+91CD, U+91D1, U+95A2, U+9632, U+9664, U+9858, U+FF1F; }
@font-face { font-family: "Noto Sans JP"; font-style: normal; font-weight: 500 900; font-display: swap; src: url("../assets/fonts/noto-sans-jp-500-c.woff2") format("woff2"); unicode-range: U+2015, U+201C-201D, U+2039-203A, U+2082, U+2103, U+2160, U+2193, U+2212, U+2264, U+25A0-25A1, U+25CB, U+25EF, U+2605, U+3005, U+300E-3011, U+3041, U+305C, U+305E, U+306C-306D, U+307C, U+3083, U+308D, U+30AE, U+30BA, U+30BC, U+30CD-30CE, U+30D9, U+30DF, U+30E4, U+30E6, U+30F6, U+4E01, U+4E07, U+4E09, U+4E0E, U+4E13, U+4E16, U+4E1A, U+4E1C, U+4E24, U+4E2A, U+4E3A, U+4E48-4E49, U+4E4B, U+4E5F, U+4E70-4E71, U+4E7E, U+4E88-4E89, U+4E8C, U+4E8E, U+4E91-4E92, U+4E94, U+4EA7, U+4EAB, U+4EC0, U+4ECE, U+4EE4, U+4EEA, U+4EEC, U+4EF2, U+4EF7, U+4EFD, U+4F11, U+4F19, U+4F1D, U+4F20, U+4F34, U+4F38, U+4F3C, U+4F4E, U+4FB5, U+4FC2, U+5009, U+5019, U+503C, U+505A, U+505C, U+5099, U+50B7, U+5104, U+511F, U+512A, U+5145, U+5150, U+5173, U+5178, U+517C, U+5186, U+518A, U+518C, U+5197, U+51B5, U+51C6, U+51CF, U+520A, U+5212, U+5217, U+522B, U+5230, U+5237, U+523A, U+5247, U+5264, U+5270, U+5272, U+5275, U+529E, U+52A1, U+52A8, U+52AA, U+52B3, U+52C9, U+52E2, U+52E4, U+5305, U+533F, U+5341, U+534F, U+5352, U+5355-5356, U+5360, U+536B, U+5374, U+5378, U+5382, U+5386, U+539F, U+53A6, U+53B3, U+53BB, U+53C2, U+53CA, U+53CD, U+53D1, U+53D8, U+53E4, U+53EA, U+53F8, U+540E, U+5426, U+542C, U+5438-5439, U+544A, U+5458, U+5468, U+5473, U+548C, U+54A8, U+552E, U+5584, U+5687, U+56DB, U+56E0, U+56E2, U+56FE, U+571F, U+5727, U+573A, U+5740, U+5747, U+57F7, U+57F9, U+5875, U+589E, U+58C1, U+58EB, U+58F0, U+5904, U+5907, U+590D, U+591C, U+5929, U+592B, U+5931, U+5951, U+5957, U+5965, U+597D, U+5982, U+59A5, U+59A8, U+59D3-59D4, U+5A01, U+5A92, U+5B54, U+5B66, U+5B83, U+5B85, U+5B9B, U+5B9E, U+5BA4, U+5BB3, U+5BBF, U+5BC6, U+5BDD, U+5BDF, U+5BE7, U+5BE9, U+5BF9, U+5C01, U+5C04, U+5C31, U+5C3D, U+5C40, U+5C45, U+5C4B, U+5C55, U+5C71, U+5DDE, U+5DF1-5DF2, U+5E02, U+5E1D, U+5E2B, U+5E30, U+5E33, U+5E76, U+5E78-5E79, U+5E7F, U+5E8A, U+5E93-5E95, U+5E9C, U+5E9F, U+5EAD, U+5EB7, U+5EC3, U+5F00-5F01, U+5F03, U+5F18, U+5F27, U+5F31, U+5F3A, U+5F55, U+5F70, U+5F80, U+5F85, U+5F92, U+5FA9, U+5FB9, U+5FC3, U+5FD7-5FD8, U+5FEB, U+601D, U+603B, U+60A3, U+60AA, U+616E, U+61A9, U+6211, U+6216, U+6237, U+6253, U+6269, U+6279, U+6280, U+628A, U+6291, U+6298, U+62A4-62A5, U+62CD, U+62D2-62D3, U+62D7-62D8, U+62DB, U+62E0-62E1, U+62E5, U+62EC-62ED, U+6309, U+631F, U+6325, U+632F, U+633F, U+6349, U+6362, U+6368, U+636E, U+6377, U+6383, U+6392, U+63A2, U+63A8, U+63AA, U+63CF, U+63E1, U+63EE, U+63F4, U+640D, U+640F, U+642C-642D, U+646F, U+6483, U+64AE, U+6539, U+653B, U+653E-653F, U+6545, U+6557, U+6559, U+65AD, U+65E0, U+65E7, U+65EC, U+65F6, U+6607, U+6613, U+6620, U+662F, U+6676, U+6687, U+6691, U+66B4, U+66FE, U+670D, U+671D, U+672D, U+673A, U+6751, U+675F, U+6784, U+6790, U+6795, U+67C4, U+67D3, U+67E5, U+6807, U+6821, U+6837, U+6839, U+68B0-68B1, U+68B6, U+68C0, U+68C4, U+68DA, U+68DF, U+697C-697D, U+6A19, U+6A21, U+6A39, U+6B20, U+6B22, U+6B27, U+6B32, U+6B3E, U+6B53, U+6B65, U+6B69, U+6B6F, U+6BC0, U+6BC5, U+6BD2, U+6C0F, U+6C27, U+6C34, U+6C47, U+6C4E, U+6CA1, U+6CB9, U+6CBB, U+6CBF, U+6CDB, U+6D17, U+6D3B, U+6D3E, U+6D44-6D45, U+6D4B, U+6D4E, U+6D77, U+6DB2, U+6DF1, U+6DF7, U+6E05, U+6E21, U+6E29, U+6E7F-6E80, U+6EC5, U+6ED1, U+6F0F, U+706F, U+707D, U+70BA, U+70ED, U+7136, U+7167, U+71C3, U+7248, U+724C, U+7259, U+72EC, U+732E, U+7387, U+73AF-73B0, U+7403, U+7535, U+753A, U+754C, U+7559, U+7570, U+7597, U+75AB, U+75C5, U+7686, U+76AE, U+76CA, U+76D7, U+76DF, U+76E4, U+770B-770C, U+773C, U+7740, U+7763, U+77ED, U+7814, U+7834, U+786E, U+793C, U+795D-795E, U+7968, U+7981, U+798F, U+79C1, U+79CD, U+79D1, U+79D8, U+79F0, U+7A0B, U+7A3C, U+7A74, U+7A93, U+7AD9, U+7ADE, U+7AE5, U+7AF6, U+7B51, U+7B54, U+7B97, U+7BB1, U+7BC9, U+7C21, U+7C3F, U+7C73, U+7C7B, U+7C89, U+7C98, U+7CBE, U+7CFB, U+7D19-7D1B, U+7D27, U+7D2B, U+7D2F, U+7D71, U+7D99, U+7DB2, U+7DCA, U+7DD1-7DD2, U+7DE0, U+7DE8, U+7E2E, U+7E54, U+7E70, U+7EA2, U+7EA7, U+7EB8, U+7EBF, U+7EC8, U+7ECF, U+7ED3, U+7ED9, U+7EDC, U+7EDF, U+7EED, U+7EF4, U+7F14, U+7F3A, U+7F51, U+7F69-7F6A, U+7F72, U+7FA4, U+7FCC, U+7FD2, U+7FFB, U+800C, U+8010, U+8017, U+8054, U+808C, U+80A1, U+80B2, U+8102, U+8105-8106, U+8108-8109, U+8131, U+8138, U+8148, U+81E3, U+81F3-81F4, U+8208, U+8217, U+826F, U+8272, U+8377, U+83B7, U+8425, U+843D, U+8449, U+8457, U+84C4, U+84DD, U+8521, U+8535, U+85AC, U+85CF, U+8651, U+8840, U+8846, U+8853, U+8863, U+888B, U+88AB, U+88C1, U+88CF, U+897F, U+8986, U+89B3, U+89C4, U+89E3, U+89E6, U+8A00, U+8A02, U+8A17, U+8A33, U+8A3A, U+8A55, U+8A6E, U+8A70, U+8A72, U+8A89, U+8AA0, U+8AA4, U+8AB0, U+8AB2, U+8AB9, U+8B17, U+8B1B, U+8B1D, U+8B58, U+8B66, U+8BA1-8BA2, U+8BA4, U+8BA9, U+8BAE, U+8BB0, U+8BB8, U+8BBE-8BBF, U+8BDD, U+8BE2, U+8BE6, U+8BF4, U+8BF7, U+8BFA, U+8C22, U+8CA0-8CA2, U+8CA8, U+8CAB-8CAC, U+8CB4, U+8CBC, U+8CBF, U+8CDC, U+8CDE, U+8D08, U+8D1F, U+8D21, U+8D23, U+8D27-8D28, U+8D2D, U+8D38, U+8D44, U+8D56, U+8D8A, U+8DB3, U+8DE1, U+8DEF, U+8DF3, U+8E0F, U+8EAB, U+8ECA, U+8EF8, U+8F2A, U+8F38, U+8F44, U+8F66, U+8F6F, U+8F7B, U+8F7D, U+8F93, U+8FC1, U+8FC5, U+8FC7, U+8FCE, U+8FD0-8FD1, U+8FD8-8FD9, U+8FDB, U+8FDE, U+8FEB, U+9006, U+9009, U+900F, U+901F, U+9031, U+9042, U+9055, U+9063, U+9075, U+90AE, U+9152, U+916C, U+9178, U+9192, U+91C7, U+91CC, U+9280, U+92AD, U+9320, U+949F, U+94C1, U+94FE, U+9500, U+957F, U+95B2, U+95E8, U+95EE, U+95F4, U+961F, U+962A, U+9636, U+9645, U+964D, U+9662, U+967A, U+968A, U+9694, U+969C, U+96C7, U+96D1, U+96E2-96E3, U+9700, U+9732, U+9756, U+975E, U+9760, U+97F3, U+97FF, U+9810, U+9818, U+983B, U+984C-984D, U+9854, U+9867, U+9875, U+9879, U+9881, U+9886, U+98DF, U+98F2, U+98FD, U+99C4-99C6, U+9A73, U+9A76, U+9A7E, U+9EC4, U+9ED1-9ED2, U+9ED9, U+9F3B, U+9F62, U+9FA0, U+FF05, U+FF0C, U+FF1B, U+FF1D, U+FF3B, U+FF3D; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../assets/fonts/montserrat-var-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face{font-family:"GLOX Display";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/noto-sans-jp-700-display.woff2") format("woff2")}
/* GLOX home v5（デザイン案）— 島川製作所の「全面写真 → 青い斜めの帯 → 大きな英字見出し → 白いカード」の流れを参考に、
   色は GLOX のロゴ（深い青 #1B58A8／藍 #1B58A8／橙 #FF7A1F）だけで組み直したもの。赤は使わない。
   書体：欧文・数字 Montserrat ／ 和文 Noto Sans JP（本文 400・見出しだけ Bold 700 を "GLOX Display" として別に持つ）。 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{--navy:#1B58A8;--ink:#1A1A1A;--blue:#1B58A8;--deep:#1B58A8;--or:#FF7A1F;--orh:#F04A24;--mist:#F3F7FC;--sky:#E6EEF8;--line:#DCE5F0;--tx:#333333;--mute:#666666;
--rail:0px;--rs:0px;--gut:clamp(1.25rem,4vw,4.5rem);--wrap:1480px;
--f:"Montserrat","Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
--fh:"Montserrat","Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
--grad:linear-gradient(160deg,#1B58A8,#1B58A8)}
@media(min-width:1100px){:root{--rail:56px;--rs:56px}}
/* 広い画面では、右の帯は余白の上に重ねる＝本文は画面の真ん中にそろい、左右の余白が同じになる */
@media(min-width:1500px){:root{--rs:0px}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.v5{margin:0;padding-right:var(--rs);background:#fff;color:var(--tx);font:400 15.5px/2 var(--f);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1}
:where(.v5) img,:where(.v5) video{max-width:100%;height:auto;display:block}:where(.v5) a{color:inherit}:where(.v5) ul,:where(.v5) ol{list-style:none;margin:0;padding:0}:where(.v5) p{margin:0 0 1.1em}:where(.v5) p:last-child{margin-bottom:0}
.v5 h1,.v5 h2,.v5 h3,.v5 h4{text-wrap:balance;margin:0;font-family:var(--fh);font-weight:700;color:var(--ink);letter-spacing:.03em;line-height:1.5}
.v5 svg{flex:none}
.skip5{position:absolute;left:8px;top:-60px;background:var(--navy);color:#fff;padding:8px 16px;z-index:300;border-radius:6px}.skip5:focus{top:8px}
.w5{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.eyebrow{font:600 16px/1.4 var(--fh);color:var(--blue);letter-spacing:.06em;margin:0 0 .5rem!important}.eyebrow.w{color:#fff}
.en{margin:0;font:700 clamp(2.5rem,6.2vw,5.4rem)/1.05 "Montserrat",sans-serif!important;letter-spacing:.035em!important;text-transform:uppercase;color:var(--ink)}.v5 .en.w{color:#fff}
.chip{display:inline-block;margin:0 0 .8rem;background:var(--blue);color:#fff;font:700 14px/1.6 var(--f);padding:3px 18px;border-radius:99px;letter-spacing:.035em}

/* ---- buttons ---- */
.b5{display:inline-flex;align-items:center;gap:16px;height:56px;padding:0 8px 0 26px;border-radius:12px;text-decoration:none;font:600 15px/1 var(--fh);letter-spacing:.045em;border:1px solid transparent;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;cursor:pointer}
.b5 i{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;transition:transform .2s}
.b5 svg{width:17px;height:17px}.b5:hover i{transform:translateX(3px)}
.b5-or{background:var(--or);color:var(--ink)}.b5-or i{background:var(--navy);color:#fff}.b5-or:hover{background:var(--orh);box-shadow:0 14px 28px -16px rgba(255,122,31,.9)}
.b5-wh{background:#fff;color:var(--ink)}.b5-wh i{background:var(--blue);color:#fff}.b5-wh:hover{box-shadow:0 14px 28px -16px rgba(0,0,0,.6)}
.b5-line{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:0 8px 22px -16px rgba(0,0,0,.4)}.b5-line i{background:linear-gradient(135deg,#1B58A8,#1B58A8);color:#fff}.b5-line:hover{border-color:var(--blue)}
.b5-ghw{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.6)}.b5-ghw i{background:rgba(255,255,255,.2);color:#fff}.b5-ghw:hover{background:rgba(255,255,255,.18);border-color:#fff}
.b5-tx{color:#fff;font:600 15px/1.6 var(--fh);letter-spacing:.06em;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:3px}.b5-tx:hover{border-color:#fff}

/* ---- header（島川の「横いっぱいの白いメニューバー」を参考。ロゴはバーの左端、右端に橙のご相談ボタン）---- */
.h5{position:fixed;z-index:100;top:14px;left:clamp(10px,1.6vw,22px);right:calc(var(--rs) + clamp(10px,1.6vw,22px));height:72px;display:flex;align-items:center;gap:6px;padding:0 0 0 clamp(8px,1vw,16px);background:rgba(255,255,255,0);border-radius:8px;box-shadow:none;transition:background .3s,box-shadow .3s,top .3s,left .3s,right .3s,border-radius .3s,padding .3s}
.h5-bar{padding:0 8px 0 4px;background:linear-gradient(180deg,#fff,#EEF1F6);border-radius:6px;box-shadow:0 14px 34px -18px rgba(0,0,0,.6);height:72px;transition:background .3s,box-shadow .3s}
.h5.is-sc{top:0;left:0;right:var(--rs);border-radius:0;padding-left:clamp(14px,1.8vw,28px);background:#fff;box-shadow:0 12px 30px -18px rgba(0,0,0,.55)}
.h5.is-sc .h5-bar{background:none;box-shadow:none}
.h5-logo{display:block;flex:none;margin-right:auto;padding:4px 0}
.h5-logo img{width:118px;height:auto;display:block}.h5-logo .c{display:none}.h5.is-sc .h5-logo .w{display:none}.h5.is-sc .h5-logo .c{display:block}
.h5-bar{display:flex;align-items:center;gap:4px;min-width:0}
.h5-bar>nav>ul{display:flex;align-items:center;gap:0}
.h5-bar li{position:relative}
.h5-bar li>a,.h5-bar li>button{display:flex;align-items:center;gap:6px;height:72px;padding:0 clamp(10px,1.5vw,26px);border:0;background:none;cursor:pointer;font:400 clamp(13px,1.1vw,16px)/1 var(--f);-webkit-text-stroke:.28px currentColor;letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap;transition:color .2s}
.h5-bar li>a:hover,.h5-bar li>button:hover,.h5-bar li.on>button,.h5-bar li>a[aria-current]{color:var(--blue)}
.h5-bar li>a[aria-current]{box-shadow:inset 0 -3px 0 var(--or)}
.h5-bar li>button svg{width:16px;height:16px;transition:transform .2s}
.h5-bar li.on>button svg{transform:rotate(180deg)}
.h5-sub{position:absolute;left:50%;top:calc(100% - 4px);min-width:230px;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;background:#fff;border-radius:10px;padding:10px;box-shadow:0 22px 44px -16px rgba(0,0,0,.5);border:1px solid var(--line);transition:opacity .18s,transform .18s,visibility .18s}
.h5-bar li:hover>.h5-sub,.h5-bar li.on>.h5-sub,.h5-bar li:focus-within>.h5-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.h5-sub a{display:block;padding:11px 14px;border-radius:6px;font:400 14px/1.4 var(--f);-webkit-text-stroke:.28px currentColor;letter-spacing:.02em;color:var(--ink);text-decoration:none;white-space:nowrap}
.h5-sub a:hover{background:var(--mist);color:var(--blue)}
.h5-cta{display:flex;align-items:center;gap:16px;height:52px;padding:0 8px 0 20px;margin-left:8px;border-radius:6px;background:linear-gradient(90deg,#F04A24 0%,#FF7A1F 55%,#FFB02E 100%);color:var(--ink);text-decoration:none;font:600 clamp(13px,1vw,15.5px)/1 var(--fh);letter-spacing:.035em;white-space:nowrap;transition:filter .2s,box-shadow .2s}
.h5-cta i{display:grid;place-items:center;width:40px;height:36px;border-radius:4px;background:var(--navy);color:#fff}.h5-cta svg{width:15px;height:15px}
.h5-cta:hover{filter:brightness(1.06);box-shadow:0 10px 22px -12px rgba(255,122,31,.9)}
.h5-burger{display:none;width:52px;height:52px;border:0;border-radius:8px;background:var(--navy);cursor:pointer;position:relative;flex:none}
.h5-burger i{position:absolute;left:15px;right:15px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,top .25s}.h5-burger i:nth-child(1){top:21px}.h5-burger i:nth-child(2){top:29px}
.h5-burger[aria-expanded=true] i:nth-child(1){top:25px;transform:rotate(45deg)}.h5-burger[aria-expanded=true] i:nth-child(2){top:25px;transform:rotate(-45deg)}
@media(max-width:1119px){.h5-bar{display:none}.h5-burger{display:block}.h5{height:68px;padding-right:8px}.h5-logo img{width:108px}}
.h5-burger{background:#fff;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}.h5-burger i{background:var(--navy)}.h5.is-sc .h5-burger{background:var(--navy);box-shadow:none}.h5.is-sc .h5-burger i{background:#fff}
.h5-menu{position:fixed;inset:0;z-index:99;background:var(--navy);padding:104px var(--gut) 40px;overflow:auto}.h5-menu[hidden]{display:none}
.h5-menu nav{display:grid;gap:0;max-width:560px;margin:0 auto}
.h5-menu a{display:block;padding:15px 4px;color:#fff;text-decoration:none;font:600 18px/1.4 var(--fh);letter-spacing:.045em;border-bottom:1px solid rgba(255,255,255,.14)}
.h5-menu a.s{padding:10px 4px 10px 18px;font:400 14.5px/1.4 var(--f);color:rgba(255,255,255,.82);border-bottom-color:rgba(255,255,255,.08)}
.h5-menu .m-cta{margin-top:22px;border:0;border-radius:8px;background:linear-gradient(90deg,#F04A24,#FF7A1F 60%,#FFB02E);color:var(--ink);text-align:center;display:flex;justify-content:center;align-items:center;gap:10px}.h5-menu .m-cta svg{width:18px;height:18px}
body.menu-open{overflow:hidden}

/* ---- right rail ---- */
.rail5{display:none}
@media(min-width:1100px){
.rail5{position:fixed;z-index:101;right:0;top:0;bottom:0;width:var(--rail);display:flex;flex-direction:column}
.rail-menu{border:0;cursor:pointer;color:#fff;background:linear-gradient(180deg,#1B58A8,#1B58A8);flex:0 0 min(24vh,200px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding-top:20px;font:700 11px/1 var(--f);letter-spacing:.14em}
.rail-menu i{display:block;width:24px;height:2px;background:#fff;border-radius:2px}.rail-menu span{margin-top:8px}
.rail-menu:hover{background:linear-gradient(180deg,#1B58A8,#1B58A8)}
.rail-navy,.rail-doc,.rail-or,.rail-rec{white-space:nowrap;writing-mode:vertical-rl;flex:1;display:flex;align-items:center;justify-content:center;gap:22px;text-decoration:none;font:600 14px/1 var(--fh);letter-spacing:.22em;transition:filter .2s}
.rail-navy{background:#fff;color:var(--blue);box-shadow:inset 1px 0 0 #C3D3E8,inset 0 1px 0 #C3D3E8,inset 0 -1px 0 #C3D3E8}.rail-or{background:linear-gradient(180deg,#1B58A8,#1B58A8);color:#fff}.rail-rec{background:linear-gradient(180deg,#FFB02E,#FF7A1F);color:var(--ink);font-size:15px;position:relative;box-shadow:inset 0 0 0 0 transparent;animation:recp 2.4s ease-in-out infinite}
.rail5 a i{writing-mode:horizontal-tb;display:grid;place-items:center;width:30px;height:30px;border-radius:7px}.rail5 a svg{width:14px;height:14px}
.rail-doc{background:var(--sky);color:var(--blue);box-shadow:inset 1px 0 0 #C3D3E8,inset 0 1px 0 #C3D3E8,inset 0 -1px 0 #C3D3E8}.rail-doc i{background:var(--blue);color:#fff}.rail-navy i{background:var(--blue);color:#fff}.rail-or i{background:var(--or);color:var(--ink)}.rail-rec i{background:var(--navy);color:#fff}
.rail-navy:hover,.rail-doc:hover,.rail-or:hover{filter:brightness(1.06)}
}
.gtop{right:calc(var(--rail) + 18px)!important}


/* ---- contact ---- */
.ct5{position:relative;overflow:hidden;color:#fff;background:radial-gradient(55% 80% at 12% 0%,rgba(255,255,255,0.13),transparent 72%),var(--grad);padding:clamp(72px,9vw,130px) 0}
.ct5-globe{position:absolute;right:-10%;top:-34%;width:min(80vw,760px);height:auto;opacity:.5;pointer-events:none}
.ct5-in{position:relative}
.ct5 h3{color:#fff;font-size:clamp(1.5rem,3vw,2.4rem);margin:1.4rem 0 1rem}.ct5 p{color:rgba(255,255,255,.9)}
.ct5-acts{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:2.2rem}
.ct5-tel{margin:0 0 0 clamp(0px,2vw,28px)!important;line-height:1.5}.ct5-tel small{display:block;font:700 12px/1.6 var(--f);color:rgba(255,255,255,.8);letter-spacing:.06em}
.ct5-tel a{display:block;font:700 clamp(1.8rem,3vw,2.6rem)/1.2 "Montserrat",sans-serif;color:#fff;text-decoration:none;letter-spacing:.035em}.ct5-tel span{font-size:12px;color:rgba(255,255,255,.8)}

@media(max-width:600px){.ct5-tel{margin-left:0!important;width:100%}.b5{height:52px;padding-left:20px}.b5 i{width:36px;height:36px}}
.mv-top{display:none!important}

/* ---- 採用情報：メニューで最も目立たせる ---- */
/* 採用情報：メニュー上は他の項目と同じ見た目（目立たせるのは右の帯とモバイルのバナー） */
.h5-bar li.rec em{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;border-radius:99px;background:var(--or);color:var(--ink);font:700 11px/1 var(--fh);font-style:normal;letter-spacing:.06em}
.h5-bar li.rec em::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--navy);animation:recd 1.6s ease-in-out infinite}
.h5-bar li.rec>a:hover em,.h5-bar li.rec>a[aria-current] em{background:var(--navy);color:#fff}.h5-bar li.rec>a:hover em::before,.h5-bar li.rec>a[aria-current] em::before{background:var(--or)}
@keyframes recd{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
@keyframes recp{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}
@media(max-width:1319px){.h5-bar li.rec em{display:none}}
.h5-menu .m-rec{display:flex;align-items:center;gap:16px;margin:0 0 14px;padding:18px 22px;border:0;border-radius:14px;background:linear-gradient(90deg,#F04A24,#FF7A1F 60%,#FFB02E);color:var(--ink)}
.h5-menu .m-rec b{font:700 12px/1 "Montserrat",sans-serif;letter-spacing:.2em;padding:5px 10px;border-radius:99px;background:var(--navy);color:#fff}
.h5-menu .m-rec span{flex:1;font:700 19px/1.4 var(--fh)}.h5-menu .m-rec small{display:block;margin-top:2px;font:600 12.5px/1.5 var(--f);letter-spacing:.035em}
.h5-menu .m-rec svg{width:20px;height:20px}

/* 言語切替：メインメニューには置かず、モバイルメニューの末尾とフッターに小さく */
.h5-menu .m-lang{display:flex;gap:18px;justify-content:center;margin:1.6rem 0 .4rem;padding:0}.h5-menu .m-lang a{display:inline;padding:6px 4px;border:0;font:400 13px/1.4 var(--f);letter-spacing:.02em;color:rgba(255,255,255,.66);text-decoration:underline;text-underline-offset:4px;background:none}
/* ヘッダー：ロゴの左端と、ナビの右端を、ページ本文の左右の端にそろえる（画面が広くても、ロゴだけ端に寄らない） */
:root{--hwrap:1480px}
@media(min-width:1120px){
  .h5{--cl:calc(max(0px,(100% - var(--rs) - var(--hwrap))/2) + var(--gut));left:var(--cl);right:calc(var(--rs) + var(--cl));padding-left:0}
  .h5.is-sc{left:0;right:var(--rs);padding-left:var(--cl);padding-right:var(--cl)}
}
@media(min-width:1120px){.h5-bar li>a,.h5-bar li>button{padding:0 clamp(9px,1vw,15px);font-size:clamp(13px,1.05vw,15px)}}

/* 太字（本物の Bold）は、トップの大見出しだけに。ほかの見出しは Medium で、すっきり細めに */
.hero5 h1,.hero5 .h5-xl{font-family:"Montserrat","GLOX Display","Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif}
/* GLOX v5 下層ページ共通（事業紹介 ほか）— 土台は base-v5.src.css */
.pg5{position:relative;background:#fff;border-radius:40px 40px 0 0;margin-top:-44px;z-index:3}
.pg5-sec{padding:clamp(64px,8vw,120px) 0}.pg5-sec.mist{background:var(--mist)}
@media(max-width:700px){.pg5{border-radius:26px 26px 0 0;margin-top:-30px}}

/* ---- ページの見出し（写真＋藍の覆い）---- */
.ph5{position:relative;overflow:hidden;color:#fff;background:var(--navy);min-height:clamp(440px,62vh,600px);display:flex;align-items:flex-end}
.ph5-bg{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
.ph5::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(27,88,168,.62) 0%,rgba(27,88,168,.5) 40%,rgba(27,88,168,.86) 100%),linear-gradient(100deg,rgba(21,69,132,.72) 0%,rgba(21,69,132,0) 62%)}
.ph5-in{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:130px var(--gut) clamp(76px,9vw,116px)}
.crumb5{display:flex;flex-wrap:wrap;gap:.7em;margin:0 0 1.2rem;font:400 13px/1.4 var(--f);letter-spacing:.02em;color:rgba(255,255,255,.85)}.crumb5 a{text-decoration:none}.crumb5 a:hover{text-decoration:underline}.crumb5 i{font-style:normal;opacity:.6}
.ph5 .en{color:#fff;font-size:clamp(3rem,9vw,7.6rem);letter-spacing:.045em!important;line-height:1}
.v5 .ph5 h1{color:#fff;font-size:clamp(1.4rem,2.6vw,2.2rem);margin:.9rem 0 1rem;letter-spacing:.06em}
.v5 .ph5 h1::before{content:"";display:inline-block;width:.9em;height:3px;background:var(--or);margin-right:.7em;vertical-align:middle}
.ph5-lede{max-width:44em;color:rgba(255,255,255,.93);margin:0}

/* ---- 「どれに近いですか」4つの入口 ---- */
.rt5-head{max-width:46em;margin-bottom:clamp(28px,4vw,52px)}
.v5 .rt5-head h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:.4rem 0 1rem}
.rt5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.rt5 a{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 18px 40px -30px rgba(0,0,0,.55);transition:transform .25s,box-shadow .25s,border-color .25s}
.rt5 a:hover{transform:scale(1.01);border-color:var(--blue);box-shadow:0 26px 50px -28px rgba(0,0,0,.6)}
.rt5-ph{background:linear-gradient(160deg,var(--sky),#F7FAFE);aspect-ratio:4/3;display:grid;place-items:center}.rt5-ph img{width:100%;height:auto;max-height:100%}
.rt5-b{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 18px;padding:24px 26px 28px}
.rt5-b .chip{grid-column:1/-1;justify-self:start;margin:0 0 .5rem;background:var(--sky);color:var(--blue)}
.v5 .rt5-b h3{font-size:clamp(1.25rem,2vw,1.6rem)}.rt5-b p{grid-column:1;margin:.5rem 0 0;font-size:14.5px;line-height:1.9;color:var(--tx)}
.rt5-b i{grid-column:2;grid-row:2/4;align-self:center;display:grid;place-items:center;width:46px;height:46px;border-radius:10px;background:linear-gradient(135deg,#1B58A8,#1B58A8);color:#fff;transition:transform .2s,background .2s}
.rt5 a:hover i{background:var(--or);color:var(--ink);transform:translateX(4px)}.rt5-b svg{width:18px;height:18px}
@media(max-width:760px){.rt5{grid-template-columns:1fr}}

/* ---- 各事業の見出し ---- */
.bh5{margin-bottom:clamp(30px,4vw,56px)}
.bh5 .chip{background:var(--or);color:var(--ink)}
.bh5 .en{font-size:clamp(2.4rem,6vw,5rem)}
.v5 .bh5 h3{font-size:clamp(1.35rem,2.4vw,2rem);margin:1rem 0 1.1rem}
.bh5-lede{max-width:50em;margin:0}
.bg5{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}
.bg5-ph{background:var(--mist);border-radius:20px;overflow:hidden}.bg5-ph img{width:100%;height:auto}
@media(max-width:899px){.bg5{grid-template-columns:1fr}}

/* ---- 項目表（左：見出し／右：説明）---- */
.tb5{margin:clamp(28px,3.4vw,44px) 0 0;border-top:1px solid var(--line)}
.tb5>div{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:8px 32px;padding:24px 8px;border-bottom:1px solid var(--line)}
.tb5 dt{font:600 17px/1.6 var(--fh);color:var(--ink);letter-spacing:.035em;padding-left:16px;border-left:4px solid var(--blue)}
.tb5 dd{margin:0}
@media(max-width:760px){.tb5>div{grid-template-columns:1fr;padding:20px 0}}
.v5 .h4s{margin:clamp(40px,5vw,64px) 0 0;font-size:1.25rem}

/* ---- 3つのカード ---- */
.c3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:20px}
.c3>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 26px 28px}
.c3 b{display:block;font:700 2.2rem/1 "Montserrat",sans-serif;color:var(--blue);margin-bottom:.8rem;letter-spacing:.025em}
.v5 .c3 h4{font-size:1.05rem;margin-bottom:.6rem}.c3 p{margin:0;font-size:14.5px;line-height:1.9}
.mist .c3>div{border-color:transparent}
@media(max-width:899px){.c3{grid-template-columns:1fr}}

/* ---- 製品・サービスの紹介（左右交互）---- */
.pr5{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4.4vw,64px);align-items:center;padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--line)}
.pr5:first-of-type{border-top:0;padding-top:0}
.pr5:nth-of-type(even) .pr5-art{order:2}
.pr5-art{background:linear-gradient(160deg,var(--sky),#F7FAFE);border-radius:22px;padding:clamp(14px,2.2vw,30px)}
.pr5-art img{width:100%;height:auto;border-radius:10px;box-shadow:0 22px 44px -26px rgba(0,0,0,.6)}
.pr5-nm{font:700 clamp(1.8rem,3.2vw,2.8rem)/1.1 "Montserrat",sans-serif;color:var(--ink);letter-spacing:.035em;margin:0}
.pr5-nm small{display:block;margin-top:.35rem;font:600 15px/1.5 var(--fh);letter-spacing:.06em;color:var(--blue)}
.pr5-kind{margin:.9rem 0 0;font:400 14px/1.7 var(--f);color:var(--mute)}
.pr5 .tag{display:inline-block;margin:0 0 .8rem;padding:2px 14px;border-radius:99px;font:700 12.5px/1.8 var(--f);letter-spacing:.045em;background:#FFF1E2;color:#1A1A1A}.pr5 .tag.live{background:var(--sky);color:var(--blue)}
.v5 .pr5 h4{font-size:clamp(1.1rem,1.7vw,1.35rem);margin:1.3rem 0 .8rem}
.pr5 p{font-size:15px}
.ck5{margin:1rem 0 0}.ck5 li{position:relative;padding:.5rem 0 .5rem 30px;font-size:14.5px;line-height:1.85}
.ck5 li::before{content:"";position:absolute;left:0;top:.95rem;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.pr5-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px;margin-top:1.8rem}
.tl5{font:600 14.5px/1.6 var(--fh);color:var(--blue);letter-spacing:.045em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.tl5:hover{color:var(--ink)}
@media(max-width:899px){.pr5{grid-template-columns:1fr}.pr5:nth-of-type(even) .pr5-art{order:0}}
.pr5.solo .pr5-art{display:none}.pr5.solo{grid-template-columns:1fr;max-width:860px}

/* ---- 流れ ---- */
.fl5{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px);counter-reset:s;margin-top:clamp(26px,3.4vw,44px)}
.fl5>li{position:relative;background:#fff;border-radius:16px;padding:28px 24px 30px;box-shadow:0 18px 40px -30px rgba(0,0,0,.5)}
.fl5>li::after{content:"";position:absolute;right:-16px;top:50%;width:12px;height:12px;border-top:3px solid var(--or);border-right:3px solid var(--or);transform:translateY(-50%) rotate(45deg)}.fl5>li:last-child::after{display:none}
.fl5 b{display:block;font:700 2.6rem/1 "Montserrat",sans-serif;color:var(--blue);letter-spacing:.025em;margin-bottom:.8rem}
.v5 .fl5 h4{font-size:1.05rem;margin-bottom:.6rem}.fl5 p{margin:0;font-size:14px;line-height:1.9}
@media(max-width:1000px){.fl5{grid-template-columns:repeat(2,minmax(0,1fr))}.fl5>li:nth-child(2)::after{display:none}}
@media(max-width:560px){.fl5{grid-template-columns:1fr}.fl5>li::after{display:none}}

/* ---- Q&A ---- */
.fq5{margin-top:clamp(24px,3vw,40px);display:grid;gap:12px}
.fq5 details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.fq5 summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:20px 24px;font:600 16px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.fq5 summary::-webkit-details-marker{display:none}
.fq5 summary::before{content:"Q";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font:700 14px/1 "Montserrat",sans-serif}
.fq5 summary::after{content:"";margin-left:auto;flex:none;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform .2s}
.fq5 details[open] summary::after{transform:rotate(-135deg)}
.fq5 details[open]{border-color:var(--blue)}
.fq5 .a{padding:0 24px 22px 72px;font-size:15px}
@media(max-width:600px){.fq5 .a{padding-left:24px}}

/* ---- ページ内ナビ（アンカー）---- */
.an5{position:sticky;top:98px;z-index:40;margin:0 0 clamp(32px,4vw,56px)}
.an5 ul{display:flex;flex-wrap:wrap;gap:6px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 14px 34px -24px rgba(0,0,0,.5)}
.an5 a{display:flex;align-items:center;gap:10px;padding:12px 22px;border-radius:8px;font:600 14.5px/1.3 var(--fh);letter-spacing:.045em;color:var(--ink);text-decoration:none;transition:background .2s,color .2s}
.an5 a small{font:700 11px/1 "Montserrat",sans-serif;letter-spacing:.12em;color:var(--blue)}
.an5 a:hover{background:var(--navy);color:#fff}.an5 a:hover small{color:var(--or)}
@media(max-width:700px){.an5{position:static}.an5 a{padding:10px 14px}}

/* ---- 代表挨拶 ---- */
.ms5{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}.ms5>div:last-child{align-self:end}
.v5 .ms5 h3{font-size:clamp(1.7rem,3.4vw,2.8rem);line-height:1.55}
.ms5 h3 em{font-style:normal;color:var(--blue)}
.ms5-sig{margin-top:1.8rem!important;padding-top:1.2rem;border-top:1px solid var(--line);font:600 15px/1.8 var(--fh);color:var(--ink);letter-spacing:.045em}.ms5-sig small{display:block;font:400 13px/1.6 var(--f);color:var(--mute)}
.ms5-ph{margin-top:clamp(22px,3vw,36px);border-radius:18px;overflow:hidden;background:var(--mist)}.ms5-ph img{width:100%;height:auto}
@media(max-width:899px){.ms5{grid-template-columns:1fr}}

/* ---- 理念 ---- */
.ph5b{position:relative;overflow:hidden;color:#fff;border-radius:24px;padding:clamp(40px,6vw,88px) clamp(26px,5vw,72px);background:radial-gradient(60% 80% at 85% 10%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}
.ph5b .eyebrow{color:#fff}
.v5 .ph5b h3{color:#fff;font-size:clamp(1.7rem,4vw,3.3rem);line-height:1.5;margin:.4rem 0 1.2rem}
.ph5b p{color:rgba(255,255,255,.92);max-width:42em;margin:0}
.ph5b .gl{position:absolute;right:-6%;bottom:-40%;width:min(60%,520px);opacity:.28;pointer-events:none}
.pm5{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(22px,3vw,36px)}
.pm5>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px 34px;box-shadow:0 18px 40px -32px rgba(0,0,0,.5)}
.pm5 b{display:block;font:700 2.6rem/1 "Montserrat",sans-serif;color:var(--blue);letter-spacing:.025em;margin-bottom:.9rem}
.v5 .pm5 h4{font-size:1.15rem;margin-bottom:.7rem}.pm5 p{margin:0;font-size:14.5px;line-height:1.95}
.nm5{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,3vw,44px);align-items:center;margin-top:clamp(22px,3vw,36px);padding:clamp(24px,3vw,36px) clamp(24px,3vw,44px);border-radius:18px;background:var(--mist)}
.nm5 b{font:700 clamp(2.4rem,5vw,4rem)/1 "Montserrat",sans-serif;color:var(--ink);letter-spacing:.045em}
.nm5 b span{color:var(--or)}
.nm5 p{margin:0;font-size:15px}.nm5 p+p{margin-top:.4rem}
@media(max-width:899px){.pm5{grid-template-columns:1fr}.nm5{grid-template-columns:1fr}}

/* ---- 会社概要の表 ---- */
.pf5{border-top:2px solid var(--navy)}
.pf5>div{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:8px 28px;padding:22px 8px;border-bottom:1px solid var(--line)}
.pf5 dt{font:600 15.5px/1.8 var(--fh);color:var(--ink);letter-spacing:.045em;padding-left:16px;border-left:4px solid var(--blue)}
.pf5 dd{margin:0}.pf5 dd a{color:var(--blue)}
.pf5 .lk{display:inline-block;margin-top:.3rem;font:600 13.5px/1.6 var(--fh);letter-spacing:.035em}
.asof5{margin:0 0 14px;text-align:right;font-size:13px;color:var(--mute)}
@media(max-width:760px){.pf5>div{grid-template-columns:1fr;padding:18px 0}}

/* ---- 沿革 ---- */
.tm5{position:relative;margin-top:clamp(20px,3vw,36px)}
.tm5::before{content:"";position:absolute;left:calc(clamp(96px,12vw,150px) + 14px);top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--blue),var(--line))}
.tm5>li{position:relative;display:grid;grid-template-columns:clamp(96px,12vw,150px) minmax(0,1fr);gap:0 clamp(28px,4vw,48px);padding:0 0 clamp(24px,3vw,38px)}
.tm5>li::before{content:"";position:absolute;left:calc(clamp(96px,12vw,150px) + 6px);top:.62em;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--blue);box-sizing:border-box}
.tm5>li.hl::before{border-color:var(--or);background:var(--or)}
.tm5 time{font:700 clamp(1.1rem,1.8vw,1.5rem)/1.5 "Montserrat",sans-serif;color:var(--ink);letter-spacing:.025em}.tm5 time small{font-size:.62em;color:var(--mute);letter-spacing:.045em;margin-left:.2em}
.tm5 h4{font-size:1.05rem;margin:0 0 .3rem}.v5 .tm5 h4{margin:0 0 .3rem;font-size:1.05rem}.tm5 p{margin:0;font-size:14.5px;line-height:1.9}.tm5 p a{color:var(--blue)}
@media(max-width:560px){.tm5::before{left:7px}.tm5>li{grid-template-columns:1fr;padding-left:34px}.tm5>li::before{left:0}.tm5 time{margin-bottom:.2rem}}

/* ---- アクセス ---- */
.ac5{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.ac5 .box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(24px,3vw,36px)}
.lb5{display:grid;gap:12px;margin:0 0 1.4rem}.lb5 li{display:flex;align-items:center;gap:14px;font:400 15px/1.5 var(--f)}
.lb5 i{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--c);color:#fff;font:700 15px/1 "Montserrat",sans-serif;font-style:normal}.lb5 i.sq{border-radius:7px}
.ac5 .stn{margin:0 0 1.2rem;font-size:16px}.ac5 .stn b{color:var(--blue)}
.st5l{counter-reset:k;display:grid;gap:12px}.st5l li{counter-increment:k;position:relative;padding-left:44px;font-size:14.5px;line-height:1.85}
.st5l li::before{content:counter(k);position:absolute;left:0;top:.1em;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font:700 13px/1 "Montserrat",sans-serif}
.ac5-ph{border-radius:18px;overflow:hidden;background:var(--mist)}.ac5-ph img{width:100%;height:auto}
@media(max-width:899px){.ac5{grid-template-columns:1fr}}

/* =====================================================================
   旧ページの機能部品（絞り込み・製品カード・フォーム・表）を v5 の見た目に合わせる
   products.js / site.js / shop.js が使うクラス名はそのまま
   ===================================================================== */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:10px;border:1px solid transparent;font:600 15px/1 var(--fh);letter-spacing:.045em;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s;color:var(--ink)}
.btn-primary{background:var(--or);color:var(--ink)}.btn-primary:hover{background:var(--orh);box-shadow:0 14px 28px -16px rgba(255,122,31,.9)}
.btn-outline,.btn-ghost{background:#fff;border-color:var(--line-2,#C3D3E8);color:var(--ink)}.btn-outline:hover,.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-s{height:42px;padding:0 18px;font-size:13.5px;border-radius:8px}
.tlink{font:600 14px/1.6 var(--fh);letter-spacing:.035em;color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}.tlink:hover{color:var(--ink)}
.nw{white-space:nowrap}

/* 総合カタログ帯 */
.catband{display:flex;flex-wrap:wrap;align-items:center;gap:16px clamp(16px,2.4vw,32px);padding:clamp(20px,2.6vw,32px) clamp(22px,3vw,40px);border-radius:18px;color:#fff;background:radial-gradient(60% 120% at 90% 0%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}
.cb-ic{display:block;width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M15 3v4h4M9 12h7M9 16h7'/%3E%3C/svg%3E") center/28px no-repeat}
.catband>div{flex:1 1 340px}.catband b{display:block;font:600 1.15rem/1.5 var(--fh);letter-spacing:.035em;margin-bottom:.3rem}.catband span{font-size:13.5px;line-height:1.85;color:rgba(255,255,255,.9)}
.cb-btn{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:10px;background:var(--or);color:var(--ink);text-decoration:none;font:600 14.5px/1.4 var(--fh);letter-spacing:.035em;white-space:nowrap}.cb-btn:hover{background:var(--orh)}
.cb-btn svg{width:20px;height:20px}.cb-btn em{font:700 11px/1 "Montserrat",sans-serif;font-style:normal;background:var(--navy);color:#fff;padding:5px 7px;border-radius:5px}
@media(max-width:899px){.cb-br{display:none}}

/* 絞り込み */
.ptools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;margin:clamp(26px,3vw,40px) 0 14px}
.pfilter{display:flex;flex-wrap:wrap;gap:8px}
.pfilter button{height:46px;padding:0 24px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 14px/1 var(--fh);letter-spacing:.045em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pfilter button:hover{border-color:var(--blue);color:var(--blue)}.pfilter button.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.ptools-r{display:flex;flex-wrap:wrap;gap:10px}
.psearch input,.psort select{height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 16px;font:400 14px/1 var(--f);color:var(--ink);letter-spacing:.02em;min-width:0}
.psearch input{width:min(260px,100%)}.psearch input:focus,.psort select:focus{outline:2px solid var(--blue);outline-offset:1px}
.pcount{margin:0 0 18px!important;font-size:13px;color:var(--mute)}
.tagbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 16px;padding:12px 18px;border-radius:10px;background:var(--sky);font-size:14px}.tagbar[hidden]{display:none}
.tagbar-x{border:0;background:none;color:var(--blue);font:600 13px/1 var(--fh);cursor:pointer;text-decoration:underline}

/* 製品カード */
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,30px)}
.pcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 18px 40px -32px rgba(0,0,0,.5);transition:transform .25s,box-shadow .25s,border-color .25s}
.pcard:hover{transform:scale(1.01);border-color:var(--blue);box-shadow:0 26px 50px -28px rgba(0,0,0,.55)}
.pcard[hidden]{display:none}
.pcard-img{position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:linear-gradient(160deg,#F3F7FC,#E6EEF8);padding:8%}
.pcard-img img{width:100%;height:100%;object-fit:contain}
.pcard-flag{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--or);color:var(--ink);text-align:center;line-height:1;box-shadow:0 10px 20px -10px rgba(255,122,31,.9)}
.pcard-flag b{font:700 10px/1 "Montserrat",sans-serif;letter-spacing:.12em}.pcard-flag i{font-style:normal;display:flex;align-items:baseline;justify-content:center;font:700 24px/1 "Montserrat",sans-serif;margin-top:2px}.pcard-flag em{font-style:normal;font-size:9px;margin-right:2px;font-weight:700}.pcard-flag small{font-size:11px}
.pcard-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.pcard-tag{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 .7rem!important;font:400 12.5px/1.4 var(--f);color:var(--mute);letter-spacing:.02em}
.pcard-tag span{background:var(--sky);color:var(--blue);font-weight:700;padding:3px 12px;border-radius:99px}
.v5 .pcard h3{font-size:1.08rem;line-height:1.6}.pcard h3 a{text-decoration:none;color:var(--ink)}.pcard h3 a:hover{color:var(--blue)}
.pcard-sub{margin:.2rem 0 0!important;font:600 13px/1.6 "Montserrat","Noto Sans JP",sans-serif;color:var(--blue);letter-spacing:.045em}
.pcard-desc{margin:.7rem 0 0!important;font-size:14px;line-height:1.9}
.pcard-acts{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:1.3rem}
.pcard-cat{display:flex;align-items:center;gap:12px;white-space:nowrap;margin-top:1.1rem;padding:9px 14px 9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--mist);font:400 13px/1.5 var(--f);color:var(--ink);text-decoration:none;letter-spacing:.02em;transition:background .25s,border-color .25s,color .25s,box-shadow .25s}
.pcard-cat::before{content:"";flex:none;width:30px;height:30px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11m0 0l-4.5-4.5M12 15l4.5-4.5M5 19h14'/%3E%3C/svg%3E") center/15px no-repeat;transition:background-color .25s,transform .35s}
.pcard-cat::after{content:"PDF";margin-left:auto;padding:1px 9px;border-radius:99px;background:#fff;color:var(--blue);font:700 10.5px/1.7 "Montserrat",sans-serif;letter-spacing:.06em}
.pcard-cat:hover{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 20px -14px rgba(27,88,168,.7)}
.pcard-cat:hover::before{background-color:rgba(255,255,255,.22);transform:scale(1.06)}
.pcard-cat--ph{visibility:hidden}
.pgrid-empty{padding:40px 0;text-align:center}.pgrid-note{margin:clamp(24px,3vw,40px) 0 0!important;text-align:center;font-size:14px}
.pager{display:flex;justify-content:center;gap:8px;margin-top:32px}.pager[hidden]{display:none}
.pager button{min-width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:700 14px/1 "Montserrat",sans-serif;cursor:pointer}.pager button.is-on{background:var(--navy);color:#fff;border-color:var(--navy)}.pager button:disabled{opacity:.4;cursor:default}
@media(max-width:1020px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pgrid{grid-template-columns:1fr}.pfilter button{padding:0 16px;height:42px}}

/* 比較表 */
.tbl-wrap{overflow-x:auto;border-radius:14px;border:1px solid var(--line);background:#fff}
.cmp-tbl{width:100%;border-collapse:collapse;min-width:620px;font-size:14px;line-height:1.8}
.cmp-tbl th,.cmp-tbl td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp-tbl thead th{background:var(--navy);color:#fff;font:700 15px/1.5 "Montserrat",sans-serif;letter-spacing:.045em;border-bottom:0}.cmp-tbl thead a{color:#fff}
.cmp-tbl tbody th{width:200px;background:var(--mist);font:600 13.5px/1.7 var(--fh);color:var(--ink)}
.cmp-tbl tr:last-child th,.cmp-tbl tr:last-child td{border-bottom:0}
.cmp-tbl b.sp{font:700 1.15rem/1.4 "Montserrat",sans-serif;color:#F04A24}.cmp-tbl s.reg{color:var(--mute)}.cmp-tbl small{display:block;color:var(--mute)}

/* フォーム */
.form-note{background:#fff;border-left:4px solid var(--or);border-radius:10px;padding:20px 26px;margin:clamp(20px,3vw,32px) 0;box-shadow:0 14px 34px -28px rgba(0,0,0,.5)}.form-note p{margin:0 0 .5rem;font-size:14.5px}.form-note p:last-child{margin:0}
.path-picker{margin:0 0 clamp(20px,3vw,32px)}.path-picker-lede{font-size:14.5px;margin-bottom:1rem!important}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.path-card{display:block;cursor:pointer;position:relative}.path-card input{position:absolute;opacity:0;width:1px;height:1px}
.path-card-in{display:block;height:100%;padding:22px 24px;border:2px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}
.path-card-in b{display:block;font:600 16px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}.path-card-in span{display:block;margin-top:.4rem;font-size:13px;line-height:1.8;color:var(--mute)}
.path-card:hover .path-card-in{border-color:var(--blue)}
.path-card input:focus-visible~.path-card-in{outline:3px solid var(--blue);outline-offset:2px}
.path-card input:checked~.path-card-in,.path-card.is-active .path-card-in{border-color:var(--blue);background:var(--sky);box-shadow:0 14px 30px -22px rgba(27,88,168,.6)}
@media(max-width:760px){.path-grid{grid-template-columns:1fr}}
.form{max-width:820px;margin-top:0}
.path-body{margin-top:clamp(20px,3vw,32px);padding:clamp(22px,3vw,40px);background:#fff;border-radius:18px;border:1px solid var(--line)}
.path-body[hidden],.field-group[hidden]{display:none}
.field{margin-bottom:1.5rem}
.field label,.field-label{display:block;margin:0 0 .55rem;font:600 14px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.field .req,.field .opt{display:inline-block;margin-left:.6em;padding:1px 9px;border-radius:5px;font:700 11px/1.7 var(--f);letter-spacing:.035em;vertical-align:.1em}
.field .req{background:#FFF1E2;color:#1A1A1A}.field .opt{background:var(--mist);color:var(--mute)}.field .opt[hidden],.field .req[hidden]{display:none}
.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{width:100%;border:1px solid #C3D3E8;border-radius:10px;background:#fff;padding:13px 16px;font:400 15px/1.6 var(--f);color:var(--ink);letter-spacing:.02em}
.field textarea{min-height:11rem;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(27,88,168,.14)}
.field .hint{margin:.5rem 0 0;font-size:12.5px;color:var(--mute)}.field .err{display:none;margin:.5rem 0 0;font-size:13px;color:#B3261E}
.field[data-invalid="true"] input,.field[data-invalid="true"] textarea,.field[data-invalid="true"] select{border-color:#B3261E}.field[data-invalid="true"] .err{display:block}
.field input[type=file]{padding:10px}.field input[type=file]::file-selector-button{margin-right:14px;border:0;border-radius:8px;background:var(--navy);color:#fff;padding:9px 16px;font:600 13px/1 var(--fh);cursor:pointer}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}@media(max-width:700px){.grid-2{grid-template-columns:1fr}}
.field-group{padding:clamp(18px,2.4vw,28px) clamp(18px,2.4vw,28px) 6px;margin-bottom:1.2rem;background:var(--mist);border-radius:14px}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(max-width:700px){.check-grid{grid-template-columns:1fr}}
.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;cursor:pointer;font-size:14.5px;line-height:1.7}
.check input{width:20px;height:20px;margin-top:.25rem;accent-color:var(--blue)}
.form-sla{margin:1.3rem 0 0;font-size:12.5px;line-height:1.9;color:var(--mute)}
.form-result{display:none;margin-top:28px;padding:26px 30px;border-radius:14px;background:var(--sky)}.form-result[data-show="true"]{display:block}
.form-result h3{font-size:1.05rem;margin-bottom:.8rem}.form-result p{font-size:14px}.form-result pre{white-space:pre-wrap;font:400 13.5px/2 var(--f);background:#fff;border-radius:10px;padding:16px 20px;margin:0 0 1rem}
.form button.btn[type=submit]{margin-top:.6rem}
.ph5-prod{background:var(--grad)}
.ph5-prod .ph5-bg{left:auto;right:0;width:50%!important;object-fit:contain;object-position:right center;filter:drop-shadow(0 18px 28px rgba(8,30,70,.35))}
.ph5-prod::before{background:linear-gradient(180deg,rgba(27,88,168,.5) 0%,rgba(27,88,168,0) 30%)}
@media(max-width:899px){.ph5-prod .ph5-bg{width:100%!important;opacity:.16;object-fit:cover;object-position:right top;filter:none}}
.fq5 .a a{color:var(--blue)}

.tagchip{border:1px solid var(--line);background:#fff;color:var(--mute);border-radius:99px;padding:3px 12px;font:400 12px/1.6 var(--f);letter-spacing:.02em;cursor:pointer;transition:border-color .2s,color .2s}
.tagchip:hover{border-color:var(--blue);color:var(--blue)}
.tagchip.tc-cat{background:var(--sky);border-color:var(--sky);color:var(--blue);font-weight:700}
.pcard-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:.8rem 0 0!important;font-size:13px;line-height:1.7}
.pcard-price .reg{flex:0 0 100%;color:var(--mute);font-size:12.5px}.pcard-price .reg i{font-style:normal}
.pcard-price small{color:var(--mute);font-size:12px}
.pcard-price b{font:700 1.35rem/1.3 "Montserrat",sans-serif;color:#F04A24;letter-spacing:.02em}
.pcard-price>span{color:var(--mute)}

/* ---- 採用 ---- */
.rs6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(22px,3vw,36px)}
.rs6>li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 28px 32px;box-shadow:0 18px 40px -32px rgba(0,0,0,.5)}
.rs6 b{display:block;font:700 2.2rem/1 "Montserrat",sans-serif;color:var(--blue);letter-spacing:.025em;margin-bottom:.9rem}
.v5 .rs6 h4{font-size:1.08rem;margin-bottom:.6rem}.rs6 p{margin:0;font-size:14.5px;line-height:1.95}
@media(max-width:1000px){.rs6{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.rs6{grid-template-columns:1fr}}
.wh5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px clamp(18px,3vw,40px);margin-top:18px}
.wh5>li{position:relative;padding:20px 24px 20px 62px;background:var(--mist);border-radius:14px}
.wh5>li::before{content:"";position:absolute;left:22px;top:24px;width:24px;height:24px;border-radius:50%;background:var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.wh5 b{display:block;font:600 15.5px/1.7 var(--fh);color:var(--ink);letter-spacing:.03em;margin-bottom:.2rem}.wh5 span{font-size:14px;line-height:1.85}
@media(max-width:760px){.wh5{grid-template-columns:1fr}}
.rl5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(22px,3vw,36px)}
.rl5>li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px 28px;display:flex;flex-direction:column}
.v5 .rl5 h4{font-size:1.15rem;padding-left:14px;border-left:4px solid var(--blue);margin-bottom:.9rem}.rl5 p{margin:0 0 .8rem;font-size:14.5px;line-height:1.95}
.rl5 .rw{margin-top:auto;padding:14px 18px;border-radius:10px;background:var(--sky);font-size:13.5px;line-height:1.8}.rl5 .rw b{display:block;font:700 12px/1.6 "Montserrat","Noto Sans JP",sans-serif;letter-spacing:.06em;color:var(--blue)}
@media(max-width:820px){.rl5{grid-template-columns:1fr}}
.cb5{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;padding:clamp(28px,4vw,52px) clamp(26px,4vw,60px);border-radius:24px;color:#fff;background:radial-gradient(60% 120% at 90% 0%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}
.cb5>div{flex:1 1 420px}.v5 .cb5 h3{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin-bottom:.8rem}.cb5 p{color:rgba(255,255,255,.92);margin:0}
.of5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(22px,3vw,36px);align-items:start}
.of5 figure{margin:0}.of5 img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;border-radius:16px;display:block}.of5 figcaption{margin-top:.6rem;font-size:13px;color:var(--mute)}
@media(max-width:760px){.of5{grid-template-columns:1fr}}
.ph5 .chips{display:flex;flex-wrap:wrap;gap:10px;margin:1.4rem 0 0;padding:0}.ph5 .chips li{padding:6px 18px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);font:400 13.5px/1.6 var(--f);letter-spacing:.02em}.ph5 .chips b{margin-left:.5em;color:var(--or);font-weight:700}
.ph5-acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:1.8rem}

/* =====================================================================
   製品の詳細ページ（product-*.html）
   ===================================================================== */
.ph5-s{background:radial-gradient(60% 120% at 90% 0%,rgba(255,255,255,0.11),transparent 70%),var(--grad);min-height:clamp(300px,38vh,380px)}
.ph5-s::before{background:linear-gradient(180deg,rgba(27,88,168,.35) 0%,rgba(27,88,168,0) 40%)}
.ph5-s .ph5-in{padding:118px var(--gut) clamp(48px,6vw,76px)}
.ph5-s .en{font-size:clamp(2.2rem,6vw,4.6rem)}
.v5 .ph5-s h1{font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.6}
.v5 .ph5-s h1.long{font-size:clamp(1.15rem,2.1vw,1.7rem);line-height:1.75;max-width:30em}
.ph5-s .ph5-acts{margin-top:1.4rem}
.ph5-s .ph5-acts .btn-ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}.ph5-s .ph5-acts .btn-ghost:hover{background:#fff;color:var(--ink)}
.ph5-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0;font:600 14px/1.6 "Montserrat",sans-serif;letter-spacing:.045em;color:rgba(255,255,255,.92)}

.btn-dl{background:var(--navy);color:#fff}.btn-dl:hover{background:var(--blue)}.btn-dl small{font:700 10.5px/1 "Montserrat",sans-serif;letter-spacing:.06em;background:#fff;color:var(--ink);padding:4px 7px;border-radius:5px}
.cart-toast{position:fixed;left:50%;bottom:28px;z-index:120;transform:translate(-50%,160%);display:flex;gap:16px;align-items:center;padding:16px 24px;border-radius:12px;background:var(--navy);color:#fff;font:600 14.5px/1.5 var(--f);box-shadow:0 20px 40px -18px rgba(0,0,0,.7);transition:transform .3s;max-width:calc(100vw - 32px)}
.cart-toast.on{transform:translate(-50%,0)}.cart-toast a{color:var(--or);font-weight:700}
.hdr-cart{display:inline-flex;align-items:center;gap:8px}.hdr-cart .ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.hdr-cart b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--or);color:var(--ink);font:700 12px/1 "Montserrat",sans-serif}

.pd-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4.6vw,68px);align-items:start}
.pd-media{position:sticky;top:96px;min-width:0}
.pd-main,.pd-media:not(.pd-gallery){background:linear-gradient(160deg,var(--sky),#F7FAFE);border-radius:24px;padding:clamp(18px,3vw,40px);display:grid;place-items:center}
.pd-main img,.pd-media:not(.pd-gallery) img{width:100%;height:auto;max-height:560px;object-fit:contain}
.pd-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.pd-th{width:84px;height:84px;padding:6px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .2s}.pd-th:hover{border-color:var(--blue)}.pd-th.is-on{border-color:var(--blue);box-shadow:0 10px 22px -14px rgba(27,88,168,.7)}
.pd-th img{width:100%;height:100%;object-fit:contain;display:block}
.pd-copy{min-width:0}
.pd-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 1rem;font:600 13.5px/1.6 var(--f);color:var(--mute);letter-spacing:.035em}
.pd-eyebrow span{background:var(--blue);color:#fff;font-weight:700;padding:3px 14px;border-radius:99px;letter-spacing:.045em}
.pd-lead{margin:0 0 1.4rem;font:600 clamp(1rem,1.5vw,1.12rem)/2 var(--f);color:var(--ink)}
.pd-feats{display:grid;gap:0;margin:0 0 clamp(22px,3vw,32px);padding:0;list-style:none;border-top:1px solid var(--line)}
.pd-feats li{position:relative;padding:.85rem .2rem .85rem 2rem;border-bottom:1px solid var(--line);font-size:15px;line-height:1.85}
.pd-feats li::before{content:"";position:absolute;left:.1rem;top:1.12rem;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat}
.pd-buy{padding:clamp(22px,3vw,34px);border-radius:20px;background:#fff;border:2px solid var(--blue);box-shadow:0 24px 50px -34px rgba(27,88,168,.7)}
.pd-buy-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.pd-buy-price+.pd-buy-row{margin-bottom:1.3rem}
.pd-buy-row+.pd-buy-price{padding-top:1.3rem;border-top:1px dashed var(--line)}
.pd-pn{flex:1 1 100%;font:600 15.5px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.pd-reg{flex:1 1 100%;font-size:13.5px;color:var(--mute)}.pd-reg s{text-decoration-thickness:1px}
.pd-pl{font-size:13px;color:var(--mute)}.pd-pl em{font-style:normal;display:inline-block;margin-right:.5em;padding:1px 10px;border-radius:5px;background:var(--or);color:var(--ink);font-weight:700;font-size:12px;letter-spacing:.045em}
.pd-buy-price b{font:700 clamp(2rem,3.4vw,2.7rem)/1.2 "Montserrat",sans-serif;color:#F04A24;letter-spacing:.02em}
.pd-buy-price small{font-size:13px;color:var(--mute)}
.pd-buy-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1rem}.pd-buy-row .btn{flex:1 1 180px}
.pd-buy-note{margin:1.1rem 0 0;font-size:12.8px;line-height:1.95;color:var(--mute)}
.pd-glance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:clamp(22px,3vw,32px) 0 0;padding:0;list-style:none}
.pd-glance li{padding:16px 18px;border-radius:14px;background:var(--mist)}.pd-glance small{display:block;font:600 12px/1.5 var(--f);color:var(--mute);letter-spacing:.03em}.pd-glance b{display:block;margin-top:.25rem;font:600 14.5px/1.7 var(--fh);color:var(--ink)}
.pd-full{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.pd-full summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;font:600 15px/1.6 var(--fh);color:var(--ink);letter-spacing:.035em}.pd-full summary::-webkit-details-marker{display:none}
.pd-full summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform .2s}.pd-full[open] summary::after{transform:rotate(-135deg)}
.pd-full .pd-spec{border-top:1px solid var(--line)}
.pd-spec{margin:clamp(20px,3vw,30px) 0 0;border-top:2px solid var(--navy)}.pd-full .pd-spec{margin:0;border-top:1px solid var(--line)}
.pd-spec>div{display:grid;grid-template-columns:minmax(0,13em) minmax(0,1fr);border-bottom:1px solid var(--line)}
.pd-spec dt{padding:.85rem 1rem;background:var(--mist);font:600 13.5px/1.7 var(--fh);color:var(--ink);letter-spacing:.025em}.pd-spec dd{margin:0;padding:.85rem 1.1rem;font-size:14.5px;line-height:1.85}
.v5 .pd-sub{margin:clamp(26px,3.4vw,40px) 0 .9rem;padding-left:14px;border-left:4px solid var(--blue);font-size:1.15rem}
.pd-acts{display:flex;flex-wrap:wrap;gap:12px;margin:clamp(22px,3vw,32px) 0 0}
.pd-note{padding:20px 26px;border-radius:14px;background:var(--mist);border-left:4px solid var(--or);font-size:14.5px;line-height:1.95}
.pd-sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -14px 30px -22px rgba(0,0,0,.6);transform:translateY(120%);transition:transform .25s}.pd-sticky.on{transform:none}
.pd-sticky small{display:block;font-size:11.5px;color:var(--mute)}.pd-sticky b{font:700 1.4rem/1.3 "Montserrat",sans-serif;color:#F04A24}
.pd-sticky[hidden]{display:none}
@media(min-width:900px){.pd-sticky{display:none!important}}

.rel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin:0;padding:0;list-style:none}
.rel-grid a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s,border-color .25s,box-shadow .25s}
.rel-grid a:hover{transform:scale(1.01);border-color:var(--blue);box-shadow:0 22px 44px -28px rgba(0,0,0,.55)}
.rel-img{display:grid;place-items:center;aspect-ratio:1;background:linear-gradient(160deg,var(--sky),#F7FAFE);padding:9%}.rel-img img{width:100%;height:100%;object-fit:contain}
.rel-grid b{display:block;padding:16px 18px 0;font:600 15px/1.6 var(--fh);letter-spacing:.025em}.rel-grid small{display:block;padding:4px 18px 18px;font-size:12.5px;color:var(--blue);font-weight:600}
.more{display:flex;flex-wrap:wrap;gap:12px 28px;margin:clamp(22px,3vw,34px) 0 0}

.mask-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin:0;padding:0;list-style:none}
.mask-types li{padding:26px 26px 28px;background:#fff;border:1px solid var(--line);border-radius:18px}.mask-types b{display:block;font:600 1.15rem/1.5 var(--fh);color:var(--ink);letter-spacing:.03em}.mask-types span{display:inline-block;margin:.5rem 0 .6rem;padding:2px 12px;border-radius:99px;background:var(--sky);color:var(--blue);font:700 12.5px/1.8 "Montserrat",sans-serif;letter-spacing:.045em}.mask-types p{margin:0;font-size:14.5px;line-height:1.9}
.mask-gal{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 clamp(26px,3.4vw,40px);padding:0;list-style:none}
.mask-gal li{background:linear-gradient(160deg,var(--sky),#F7FAFE);border-radius:14px;padding:10px 10px 12px;text-align:center}.mask-gal img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.mask-gal span{display:block;margin-top:6px;font:600 12px/1.5 var(--f);color:var(--mute)}
.dl-tbl{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.8}
.dl-tbl th,.dl-tbl td{padding:15px 18px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}
.dl-tbl thead th{background:var(--navy);color:#fff;font:600 14px/1.5 var(--fh);letter-spacing:.035em;border-bottom:0}
.dl-tbl tbody tr:last-child td{border-bottom:0}
.dl-tbl b.sp{font:700 1.2rem/1.4 "Montserrat",sans-serif;color:#F04A24}.dl-tbl s.reg{color:var(--mute)}.dl-tbl small{display:block;color:var(--mute)}
.mask-th{width:56px;height:56px;object-fit:contain;float:left;margin-right:14px;border-radius:8px;background:var(--mist)}
.ng-size{min-width:560px}
.pd-note+.x{display:none}
@media(max-width:1020px){.rel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mask-gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:899px){.pd-in{grid-template-columns:minmax(0,1fr)}.pd-media{position:static}.mask-types{grid-template-columns:1fr}}
@media(max-width:620px){
  .pd-glance{grid-template-columns:1fr}
  .pd-spec>div{grid-template-columns:1fr}.pd-spec dt{padding-bottom:.3rem}.pd-spec dd{padding-top:.3rem}
  .mask-gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mask-tbl,.mask-tbl tbody,.mask-tbl tr,.mask-tbl td{display:block;width:100%}.mask-tbl thead{display:none}
  .mask-tbl tr{padding:14px 4px;border-bottom:1px solid var(--line)}.mask-tbl td{border:0;padding:6px 14px}
  .mask-tbl td[data-l]::before{content:attr(data-l);display:inline-block;min-width:5.5em;font:600 12px/1.6 var(--fh);color:var(--mute)}
  .mask-tbl td:first-child::before{display:none}
  .mask-tbl .btn{width:100%}
  .rel-grid b{padding:12px 12px 0;font-size:13.5px}.rel-grid small{padding:3px 12px 14px}
}

/* =====================================================================
   お知らせ（news.html / news-*.html）
   ===================================================================== */
.news-filter-label{margin:0 0 .8rem;font:600 13px/1.6 var(--fh);color:var(--mute);letter-spacing:.12em}
.news-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(24px,3vw,38px)}
.news-filter-btn{height:46px;padding:0 24px;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink);font:600 14px/1 var(--fh);letter-spacing:.045em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.news-filter-btn:hover{border-color:var(--blue);color:var(--blue)}.news-filter-btn.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,30px);margin:0;padding:0;list-style:none}
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 18px 40px -32px rgba(0,0,0,.5);transition:transform .25s,box-shadow .25s,border-color .25s}
.news-card:hover{transform:scale(1.01);border-color:var(--blue);box-shadow:0 26px 50px -28px rgba(0,0,0,.55)}
.news-card[hidden]{display:none}
.news-card-media{display:block;aspect-ratio:16/10;background:linear-gradient(160deg,var(--sky),#F7FAFE);overflow:hidden}
.news-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.news-card:hover .news-card-media img{transform:scale(1.04)}
.news-card-media-icon{display:grid;place-items:center;color:var(--blue)}.news-card-media-icon svg{width:64px;height:64px}
.news-card-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.news-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 .8rem!important;font:600 13px/1.4 "Montserrat",sans-serif;color:var(--mute);letter-spacing:.035em}
.v5 .news-card h3{font-size:1.02rem;line-height:1.75;letter-spacing:.03em}.news-card h3 a{color:var(--ink);text-decoration:none}.news-card h3 a:hover{color:var(--blue)}
.news-card-excerpt{margin:.7rem 0 0!important;font-size:13.8px;line-height:1.9;color:var(--tx);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-card-more{align-self:flex-start;margin-top:auto!important;padding-top:1.1rem;border-bottom:0;position:relative}
.news-card-more::after{content:" →"}
.news-tag{display:inline-block;padding:2px 13px;border-radius:99px;background:var(--sky);color:var(--blue);font:700 12px/1.8 var(--f);letter-spacing:.045em}
.news-tag--product{background:#FFB02E;color:#1A1A1A}.news-tag--partner{background:#E4ECF7;color:var(--ink)}.news-tag--award{background:var(--or);color:var(--ink)}.news-tag--media{background:var(--navy);color:#fff}
.hn-new{display:inline-block;padding:1px 9px;border-radius:5px;background:var(--or);color:var(--ink);font:700 11px/1.8 "Montserrat",sans-serif;letter-spacing:.06em}
.news-empty{padding:48px 0;text-align:center;color:var(--mute)}
.news-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:clamp(28px,4vw,48px)}.news-pager:empty{display:none}
.news-pager button,.news-pager a{min-width:44px;height:44px;padding:0 14px;display:inline-grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:700 14px/1 "Montserrat","Noto Sans JP",sans-serif;cursor:pointer;text-decoration:none}
.news-pager .is-on,.news-pager .is-current,.news-pager [aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}.news-pager button:disabled{opacity:.4;cursor:default}

.nl-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:24px;color:#fff;background:radial-gradient(60% 90% at 90% 0%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}
.nl-eyebrow{margin:0 0 .6rem;font:700 13px/1 "Montserrat",sans-serif;letter-spacing:.2em;color:var(--or)}
.v5 .nl-card h2{color:#fff;font-size:clamp(1.4rem,2.6vw,2rem);margin:0 0 .8rem}.nl-side p:last-child{margin:0;color:rgba(255,255,255,.9);font-size:14.5px}
.nl-main{background:#fff;color:var(--tx);border-radius:18px;padding:clamp(20px,2.6vw,32px)}.nl-main .field{margin-bottom:1.1rem}.nl-main .check-field{margin-bottom:1.2rem}
.nl-main .btn{width:100%}
.nl-main .form-result{margin-top:18px}
@media(max-width:899px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-card{grid-template-columns:1fr}}
@media(max-width:600px){.news-grid{grid-template-columns:1fr}.news-filter-btn{padding:0 16px;height:42px}}

.news-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:.9rem 0 0;font:700 15px/1.5 "Montserrat",sans-serif;letter-spacing:.06em;color:#fff}
.v5 .news-detail-meta+h1{margin-top:.6rem}
.narrow{max-width:860px;margin-inline:auto}
.news-hero{margin:0 0 clamp(24px,3vw,40px);border-radius:20px;overflow:hidden;background:var(--mist)}.news-hero img{width:100%;height:auto;display:block}
.article-body{font-size:16px;line-height:2.1}
.article-body p{margin:0 0 1.4rem}
.article-body h2{margin:clamp(34px,4.4vw,52px) 0 1.1rem!important;padding:0 0 .7rem;border-bottom:2px solid var(--navy);font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.6;position:relative}
.article-body h2::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:var(--or)}
.article-body h3{margin:2rem 0 .8rem!important;padding-left:14px;border-left:4px solid var(--blue);font-size:1.12rem}
.article-body ul,.article-body ol{margin:0 0 1.6rem;padding-left:1.4em}.article-body li{margin-bottom:.6rem}
.article-body ul li::marker{color:var(--blue)}
.article-body a:not(.btn){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.article-body img{max-width:100%;height:auto;border-radius:14px}
.article-body table{width:100%;border-collapse:collapse;margin:0 0 1.6rem;font-size:14.5px}.article-body th,.article-body td{padding:12px 16px;border:1px solid var(--line);text-align:left}.article-body th{background:var(--mist)}
.news-source{display:flex;flex-wrap:wrap;gap:12px}.news-source .btn{height:auto;min-height:50px;padding:10px 22px;line-height:1.5;text-align:center}
.news-note{padding:16px 20px;border-radius:12px;background:var(--mist);font-size:12.8px!important;line-height:1.9;color:var(--mute)}
.news-sub{font-size:13.5px;color:var(--mute)}
.award-fig{margin:1.4rem 0;text-align:center}.award-fig img{border:1px solid var(--line);background:#fff}.award-fig figcaption{margin-top:.6rem;font-size:12.8px;color:var(--mute)}
.news-adj-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:clamp(36px,5vw,64px) 0 0}.news-adj-nav:empty{display:none}
.news-adj{display:block;padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-decoration:none;font:600 14.5px/1.7 var(--fh);letter-spacing:.03em;transition:border-color .2s,transform .2s}.news-adj:hover{border-color:var(--blue);transform:scale(1.01)}
.news-adj span{display:block;margin-bottom:.35rem;font:700 12px/1.5 var(--f);color:var(--blue);letter-spacing:.045em}.news-adj-next{text-align:right;grid-column:2}
.news-back{margin:clamp(28px,4vw,44px) 0 0;text-align:center}
@media(max-width:620px){.news-adj-nav{grid-template-columns:1fr}.news-adj-next{grid-column:auto;text-align:left}.article-body{font-size:15px}}

/* =====================================================================
   お問い合わせ（contact.html）
   ===================================================================== */
.trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin:1.4rem 0 0;padding:0;list-style:none}
.trust-strip li{padding:8px 18px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);font-size:13.5px;line-height:1.6;color:#fff}.trust-strip b{color:var(--or)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,56px);align-items:start}
.contact-aside{position:sticky;top:96px;padding:clamp(24px,2.6vw,34px);border-radius:20px;background:var(--mist);border:1px solid var(--line)}
.v5 .contact-aside h3{font-size:1.2rem;margin-bottom:.8rem}
.contact-aside-note{font-size:13.8px;line-height:1.95;margin:0 0 1.2rem}
.contact-aside dl{margin:0;border-top:1px solid var(--line)}.contact-aside dl>div{padding:16px 0;border-bottom:1px solid var(--line)}
.contact-aside dt{font:600 12.5px/1.6 var(--fh);color:var(--mute);letter-spacing:.045em;margin-bottom:.2rem}.contact-aside dd{margin:0;font-size:14.5px;line-height:1.85}
.contact-aside .tel{font:700 1.6rem/1.4 "Montserrat",sans-serif;color:var(--ink);border:0;letter-spacing:.025em}.contact-aside .lat{font:700 1.1rem/1.5 "Montserrat",sans-serif}
.field-hint{margin:.8rem 0 0;font-size:13px;color:var(--mute)}
.check-field .err{margin-left:34px}
.hp{opacity:0;pointer-events:none;width:1px;height:1px;left:-9999px;position:absolute!important}
.path-picker .path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.btn-outline.copy-btn{height:46px;margin-top:6px}
@media(max-width:1020px){.contact-grid{grid-template-columns:1fr}.contact-aside{position:static}}
@media(max-width:600px){.path-picker .path-grid{grid-template-columns:1fr}}

.w5.narrow{max-width:calc(860px + 2 * var(--gut))}
.rel-grid{margin-top:clamp(22px,3vw,34px)}
.pg5-sec h2.en+*{margin-top:clamp(20px,2.6vw,32px)}
.news-card-media img{object-fit:contain!important;background:linear-gradient(160deg,var(--sky),#F7FAFE)}
.pd-related h2.en,.pg5-sec .w5>h2.en.sm{font-size:clamp(2rem,4.2vw,3.4rem)}
.article-body ul{list-style:disc}.article-body ol{list-style:decimal}
.news-hero img{max-height:440px;object-fit:contain}

/* 製品一覧の最後に出る「ご相談」タイル（products.js が差し込む） */
.pfill{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.4rem;grid-column:span 1;padding:clamp(26px,3vw,40px);border-radius:20px;color:#fff;background:radial-gradient(70% 90% at 95% 0%,rgba(255,255,255,0.14),transparent 70%),var(--grad);box-shadow:0 24px 44px -32px rgba(0,0,0,.8)}
.pfill[hidden]{display:none}
.pfill::after{content:"";position:absolute;right:-80px;bottom:-110px;width:300px;height:300px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);box-shadow:0 0 0 40px rgba(255,255,255,.05);pointer-events:none}
.pfill>*{position:relative;z-index:1;font-style:normal}
.pfill em{font-style:normal}
.pfill b{display:block;font:600 clamp(1.1rem,1.6vw,1.35rem)/1.6 var(--fh);letter-spacing:.03em}
.pfill span{display:block;margin-top:.5rem;font:400 14px/1.9 var(--f);color:rgba(255,255,255,.9)}
.pfill .pf-s{display:none}
.pfill .btn{height:50px;background:var(--or);color:var(--ink);border-color:var(--or)}.pfill .btn:hover{background:var(--orh);color:var(--ink)}

/* =====================================================================
   そのほかの下層ページ（サポート・口座開設・注文・ログイン・方針など）
   ===================================================================== */
.sec-head{margin:0 0 clamp(22px,3vw,38px)}
.v5 .sec-head h2{font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.6;padding-left:16px;border-left:5px solid var(--blue)}
.sec-head p{max-width:46em;margin:1rem 0 0}
.pg5-sec.sec-surface{background:var(--mist)}
.pg5-sec.sec-deep{color:#fff;background:radial-gradient(60% 90% at 90% 0%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}.pg5-sec.sec-deep .sec-head h2{color:#fff;border-color:var(--or)}.pg5-sec.sec-deep p{color:rgba(255,255,255,.92)}
.ph5-acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}.ph5-acts span{font-size:13px;color:rgba(255,255,255,.88)}
.ext::after{content:"↗";margin-left:.2em;font-size:.85em}
.no-print{}
.faq{display:grid;gap:12px;margin-top:clamp(18px,2.4vw,28px)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:18px 24px;font:600 15.5px/1.7 var(--fh);color:var(--ink);letter-spacing:.025em}.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font:700 13px/1 "Montserrat",sans-serif}
.faq summary::after{content:"";margin-left:auto;flex:none;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform .2s}.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details[open]{border-color:var(--blue)}.faq .a{padding:0 24px 22px 70px;font-size:14.5px;line-height:2}.faq .a a{color:var(--blue)}
.flow-steps{counter-reset:k;display:grid;gap:12px;margin:clamp(18px,2.4vw,28px) 0 0;padding:0;list-style:none}
.flow-steps li{counter-increment:k;position:relative;padding:18px 22px 18px 74px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:15px;line-height:1.9}
.flow-steps li::before{content:counter(k);position:absolute;left:20px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font:700 15px/1 "Montserrat",sans-serif}

/* 説明の4ステップ */
.sup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin:clamp(18px,2.4vw,28px) 0}
.sup-steps>div{padding:24px 22px 26px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 36px -30px rgba(0,0,0,.5)}
.sup-steps b{display:flex;align-items:center;gap:12px;font:600 15.5px/1.6 var(--fh);color:var(--ink);letter-spacing:.025em}
.sup-steps .n{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font:700 14px/1 "Montserrat",sans-serif;font-style:normal}
.sup-steps p{margin:.8rem 0 0;font-size:13.8px;line-height:1.95}
.sup-steps.sup-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.sup-alert{display:grid;gap:6px;margin:0 0 clamp(26px,3vw,40px);padding:22px 26px;border-radius:16px;background:#FFF6EA;border:1px solid #F5C58B;border-left:6px solid var(--or)}
.sup-alert b{font:600 16px/1.6 var(--fh);color:#1A1A1A}.sup-alert span{font-size:14px;line-height:1.95}
.sup-alert-tel{justify-self:start;margin-top:6px;padding:10px 22px;border-radius:99px;background:var(--navy);color:#fff!important;text-decoration:none;font:700 15px/1.4 "Montserrat","Noto Sans JP",sans-serif;letter-spacing:.035em}
.prod-link{color:var(--blue);text-decoration:none;border-bottom:1px solid currentColor}
.sup-warr-tbl,.dl-tbl.sup-warr-tbl{min-width:560px}

/* フォームの章（fieldset）と、段階入力 */
.sup-form{max-width:900px}
fieldset.sup-fs{min-width:0;margin:0 0 22px;padding:clamp(22px,3vw,34px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 36px -32px rgba(0,0,0,.5)}
.sup-fs legend{display:flex;align-items:center;gap:12px;padding:0 10px;margin-left:-10px;font:600 16px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.sup-fs legend span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font:700 13px/1 "Montserrat",sans-serif}
.check-group{display:grid;gap:10px}.check-group .check{padding:12px 16px;background:var(--mist);border-radius:10px}.check-group .field-label,.check-group>.field-label{margin-bottom:.2rem}
.check-group .check:hover{background:var(--sky)}
.sup-help{margin:0 0 1.2rem;font-size:12.8px;line-height:1.9;color:var(--mute)}
.sup-ship,.sup-same,.sup-unk{margin:0 0 1.2rem}
.ship-fields[hidden]{display:none}
.sup-files{display:grid;gap:8px;margin:.8rem 0;padding:0;list-style:none}.sup-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:10px;background:var(--mist);font-size:13.5px}
.sup-item{margin:0 0 18px;padding:clamp(18px,2.4vw,26px);border:1px solid var(--line);border-radius:16px;background:var(--mist)}
.sup-item-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 1rem}.sup-item-h b{font:600 15px/1.6 var(--fh);color:var(--ink)}
.sup-del{border:0;background:none;color:#B3261E;font:600 13px/1 var(--fh);cursor:pointer;text-decoration:underline}
.sup-err,.stp-err{margin:.5rem 0 0;color:#B3261E;font-size:13px;font-weight:600}
.sup-history,.sup-warr{margin:.6rem 0;padding:14px 18px;border-radius:12px;background:var(--sky);font-size:13.5px;line-height:1.9}
.stp-bar{display:flex;gap:8px;margin:0 0 .8rem;padding:0;list-style:none}.stp-bar li{flex:1;min-width:0}
.stp-bar button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 4px 0;border:0;border-top:4px solid var(--line);background:none;cursor:pointer;text-align:left;font:600 13px/1.4 var(--f);color:var(--mute)}
.stp-bar i{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--line);color:var(--ink);font:700 12.5px/1 "Montserrat",sans-serif;font-style:normal}
.stp-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stp-bar li.cur button{border-top-color:var(--or);color:var(--ink);font-weight:700}.stp-bar li.cur i{background:var(--or);color:var(--ink)}
.stp-bar li.done button{border-top-color:var(--blue)}.stp-bar li.done i{background:var(--blue);color:#fff}
.stp-count{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}/* 進捗バーに同じ情報があるので、画面には出さない（読み上げ用に残す） */
.stp-nav{display:flex;justify-content:space-between;gap:12px;margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--line)}.stp-nav .btn:only-child{margin-left:auto}
.stp-draft{margin:0 0 1rem;padding:12px 18px;border-radius:10px;background:var(--sky);font-size:13.5px}.stp-draft button{margin-left:.8rem;border:0;background:none;color:var(--blue);font:inherit;text-decoration:underline;cursor:pointer}
.stp-next{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--line)}.stp-next ol{margin:.5rem 0 .8rem;padding-left:1.3rem;font-size:14px;line-height:1.95}

/* 注文 */
.ord-gate{padding:clamp(40px,5vw,64px) 0 0}
.ord-gate>.w5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.og-card{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:clamp(22px,2.6vw,32px);background:#fff;border:1px solid var(--line);border-radius:18px}
.og-card--in{background:linear-gradient(160deg,var(--sky),#fff);border-color:#B7CBE6}
.v5 .og-card h2{font-size:1.15rem;line-height:1.6}.og-card p{margin:0 0 .6rem;font-size:14px;line-height:1.95}
.og-step{display:inline-block;padding:3px 14px;border-radius:99px;background:var(--navy);color:#fff;font:600 12px/1.8 var(--fh);letter-spacing:.045em}.og-card--new .og-step{background:var(--or);color:var(--ink)}
.order-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(24px,4vw,56px);align-items:start}
.order-block{min-width:0;margin:0 0 26px;padding:clamp(20px,2.6vw,30px);background:#fff;border:1px solid var(--line);border-radius:18px}
.order-block legend{padding:0 10px;margin-left:-10px;font:600 16px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.order-block[hidden]{display:none}
.oline{display:grid;grid-template-columns:minmax(0,1fr) auto 7rem;align-items:center;gap:12px 18px;padding:16px 0;border-bottom:1px solid var(--line)}.oline:last-child{border-bottom:0}
.oline.is-on{background:linear-gradient(90deg,var(--sky),transparent)}
.oline-name b{display:block;font:600 15px/1.6 var(--fh);color:var(--ink)}.oline-name small{display:block;font-size:12.5px;color:var(--mute);line-height:1.8}.oline-name s.reg{color:var(--mute)}
.oline-sub{margin:0;text-align:right;font:700 15px/1.4 "Montserrat",sans-serif;color:var(--ink)}
.qty{display:inline-flex;align-items:center}
.qty button{width:42px;height:42px;border:1px solid #C3D3E8;background:#fff;color:var(--ink);font-size:18px;cursor:pointer}.qty button:first-of-type{border-radius:10px 0 0 10px}.qty button:last-of-type{border-radius:0 10px 10px 0}.qty button:hover{background:var(--sky)}
.qty input{width:64px;height:42px;border:1px solid #C3D3E8;border-left:0;border-right:0;text-align:center;font:700 15px/1 "Montserrat",sans-serif;color:var(--ink);-moz-appearance:textfield;padding:0}.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty em{margin-left:.6rem;font-size:13px;font-style:normal;color:var(--mute)}
.order-sum{position:sticky;top:96px;padding:clamp(22px,2.6vw,30px);border-radius:20px;background:var(--mist);border:1px solid var(--line)}
.v5 .order-sum h2{font-size:1.1rem;margin-bottom:1rem}.order-sum dl{margin:0}.order-sum dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.order-sum dd{margin:0;font-weight:700}
.order-sum .s-tax{font-size:12.5px;color:var(--mute)}
.order-total{display:flex;justify-content:space-between;align-items:baseline;margin:1.2rem 0 0;font-size:13.5px}.order-total b{font:700 1.9rem/1.2 "Montserrat",sans-serif;color:#F04A24}
.order-notes{margin:1.2rem 0 0;padding-left:1.1rem;font-size:12.5px;line-height:1.9;color:var(--mute)}
.order-quote{margin:1rem 0 0}.order-quote .btn{width:100%;height:46px;font-size:13.5px}
.order-empty{padding:26px;border-radius:14px;background:var(--mist)}
.order-same,.order-agree{margin:.4rem 0 1.4rem}
.form-actions{margin-top:1.2rem}
.order-lic-note{margin:0 0 1rem;font-size:13px;line-height:1.9;color:var(--mute)}
.opt-label{font-size:inherit}
.order-buyer{display:grid;gap:12px}

/* ログイン */
.lg-sec{padding:clamp(40px,5vw,72px) 0}
.lg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(0,0,0,.6);border:1px solid var(--line)}
.lg-side{padding:clamp(28px,4vw,56px);color:#fff;background:radial-gradient(60% 90% at 90% 0%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}
.lg-eyebrow{margin:0 0 .8rem;font:700 12.5px/1 "Montserrat",sans-serif;letter-spacing:.2em;color:var(--or)}
.v5 .lg-h{color:#fff;font-size:clamp(1.3rem,2.2vw,1.8rem);margin-bottom:1.6rem}
.lg-points{display:grid;gap:20px;margin:0;padding:0;list-style:none}.lg-points li{display:flex;gap:16px;align-items:flex-start}
.lg-points b{display:block;font:600 15.5px/1.6 var(--fh);letter-spacing:.025em}.lg-points span{display:block;margin-top:.2rem;font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.86)}
.lgi{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14) center/22px no-repeat}
.lgi-cart{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.2l2.3 11h10.3l2.2-8.5H6.4'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.4'/%3E%3Ccircle cx='17' cy='19.5' r='1.4'/%3E%3C/svg%3E")}
.lgi-doc{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M15 3v4h4M9 12h7M9 16h7'/%3E%3C/svg%3E")}
.lgi-shield{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5L15.5 10'/%3E%3C/svg%3E")}
.lg-card{padding:clamp(28px,4vw,56px);background:#fff}.v5 .lg-card h2{font-size:1.5rem;margin-bottom:.4rem}.lg-sub{margin:0 0 1.6rem;font-size:14px;color:var(--mute)}
.lg-card .btn{width:100%}.lg-help{margin:1.4rem 0 0;font-size:12.8px;line-height:1.95;color:var(--mute)}
.lg-new{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:clamp(18px,2.4vw,28px);padding:clamp(20px,2.6vw,30px) clamp(22px,3vw,36px);border-radius:18px;background:var(--mist)}
.lg-new b{display:block;font:600 16px/1.6 var(--fh);color:var(--ink)}.lg-new span{display:block;margin-top:.2rem;font-size:13.8px}
@media(max-width:899px){.lg{grid-template-columns:1fr}.ord-gate>.w5{grid-template-columns:1fr}.order-grid{grid-template-columns:1fr}.order-sum{position:static;order:-1}}

/* マイページ */
.mp-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:clamp(20px,2.6vw,28px) clamp(22px,3vw,34px);border-radius:18px;background:var(--mist)}
.mp-head b{font:600 1.2rem/1.6 var(--fh);color:var(--ink)}.muted{color:var(--mute);font-size:13.5px}
.mp-head .btn{height:46px;font-size:13.5px}
.mp-docs{display:grid;gap:8px;margin:1rem 0 0;padding:0;list-style:none}.mp-docs li{padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.mp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(24px,3vw,40px)}
.card-box{padding:clamp(22px,2.6vw,32px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 36px -32px rgba(0,0,0,.5)}.v5 .card-box h3{font-size:1.05rem;margin-bottom:1rem}
.mp-addr{display:grid;gap:8px;margin:0 0 1.2rem;padding:0;list-style:none}.mp-addr li{padding:12px 16px;border-radius:10px;background:var(--mist);font-size:13.8px;line-height:1.8}
.mp-ok{color:#1B7F4B;font-size:13.5px;font-weight:700}
@media(max-width:899px){.mp-grid{grid-template-columns:1fr}}

/* お見積書 */
.quote-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:0 0 24px}
.quote-tools label{display:grid;gap:6px;flex:1 1 280px;font:600 13.5px/1.6 var(--fh);color:var(--ink)}.quote-tools input{height:50px;border:1px solid #C3D3E8;border-radius:10px;padding:0 16px;font:400 15px/1 var(--f)}
.quote{max-width:900px;margin:0 auto;padding:clamp(24px,4vw,56px);background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 24px 50px -34px rgba(0,0,0,.5)}
.q-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:3px double var(--navy)}
.v5 .q-head h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:.3em}.q-head dl{margin:0;font-size:13px}.q-head dl>div{display:flex;gap:14px;justify-content:space-between}.q-head dt{color:var(--mute)}.q-head dd{margin:0;font-weight:700}
.q-parties{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;margin:24px 0}.q-to-name{font:600 1.3rem/1.6 var(--fh);border-bottom:1px solid var(--navy);display:inline-block;padding-right:1em}.q-from{font-style:normal;font-size:13px;line-height:1.9;text-align:left}
.q-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 22px;padding:14px 22px;background:var(--mist);border-radius:8px}.q-total b{font:700 1.8rem/1.2 "Montserrat",sans-serif;color:var(--ink)}
.q-table{width:100%;border-collapse:collapse;font-size:14px}.q-table th,.q-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.q-table thead th{background:var(--navy);color:#fff;font-weight:700}.q-table .r,.r{text-align:right!important}
.q-table tfoot td{background:#fff}.q-table tr.q-sum td{font-weight:700;background:var(--mist)}
.q-notes{margin:22px 0 0;padding-left:1.2rem;font-size:12.8px;line-height:1.95;color:var(--mute)}.q-empty{padding:40px 0;text-align:center}
@media print{.h5,.rail5,.ph5,.no-print,footer,.gtop{display:none!important}.pg5{margin:0;border-radius:0}}

/* 会社の理念ページ */
.ab-tri,.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin:clamp(22px,3vw,36px) 0 0;padding:0;list-style:none}
.tri>li{padding:28px 26px 30px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 36px -32px rgba(0,0,0,.5)}.v5 .tri h3{font-size:1.1rem;margin-bottom:.7rem;color:var(--ink)}.tri p{margin:0;font-size:14.5px;line-height:2}
.ab-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin:clamp(22px,3vw,36px) 0 0;padding:0;list-style:none}
.ab-stats li{padding:26px 24px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22)}
.ab-stats b{display:block;font:700 clamp(1.7rem,3vw,2.6rem)/1.2 "Montserrat",sans-serif;letter-spacing:.02em}.ab-stats small{font:600 .45em/1 var(--fh);margin-left:.3em;color:var(--or)}.ab-stats span{display:block;margin-top:.5rem;font-size:14px}
.figure,.section-photo{margin:clamp(22px,3vw,36px) 0 0}.figure img{width:100%;height:auto;border-radius:18px;display:block}.figure figcaption{margin-top:.6rem;font-size:12.8px;color:var(--mute)}
.message-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:start}.w5.message-grid{max-width:var(--wrap)}
.message-grid .lead{margin:0;font:600 clamp(1.5rem,3vw,2.4rem)/1.7 var(--fh);color:var(--ink)}.message-grid .text p{margin:0 0 1.2rem;font-size:15.5px;line-height:2.1}.message-grid .sign{font:600 15px/1.8 var(--fh);color:var(--ink)}
@media(max-width:899px){.ab-tri,.tri,.ab-stats,.sup-steps,.sup-steps.sup-4{grid-template-columns:1fr}.message-grid{grid-template-columns:1fr}}
@media(min-width:900px) and (max-width:1100px){.sup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 資料ダウンロード */
.dc-note{padding:18px 24px;border-radius:14px;background:var(--mist);font-size:13.8px;line-height:1.95}
.dc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin:clamp(18px,2.4vw,28px) 0 0;padding:0;list-style:none}.dc-grid-1{grid-template-columns:minmax(0,420px)}
.dc{display:flex;flex-direction:column;padding:0 0 22px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 16px 36px -32px rgba(0,0,0,.5)}
.dc-th{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:linear-gradient(160deg,var(--sky),#F7FAFE);padding:6%}.dc-th img{width:100%;height:100%;object-fit:contain}
.dc-pdf{position:absolute;right:12px;top:12px;padding:3px 10px;border-radius:5px;background:var(--navy);color:#fff;font:700 11px/1.6 "Montserrat",sans-serif;letter-spacing:.06em}
.v5 .dc-t{margin:18px 22px 0;font-size:1.02rem;line-height:1.7}.dc-d{margin:.4rem 22px 0;font-size:13.5px;line-height:1.9;color:var(--mute)}.dc .btn{margin:16px 22px 0;align-self:flex-start}
@media(max-width:1020px){.dc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dc-grid{grid-template-columns:1fr}}

/* 規程・許認可・サイトマップ */
.w5.legal{max-width:calc(900px + 2 * var(--gut))}
.legal{font-size:15.5px;line-height:2.05}.legal p{margin:0 0 1.3rem}
.legal h2{margin:clamp(30px,4vw,48px) 0 1rem!important;padding:0 0 .6rem;border-bottom:2px solid var(--navy);font-size:clamp(1.15rem,1.9vw,1.4rem);line-height:1.6;position:relative}.legal h2::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:2px;background:var(--or)}
.legal h3{margin:1.8rem 0 .7rem!important;padding-left:14px;border-left:4px solid var(--blue);font-size:1.08rem}
.legal ul,.legal ol{margin:0 0 1.5rem;padding-left:1.5em}.legal ul{list-style:disc}.legal ol{list-style:decimal}.legal li{margin-bottom:.5rem}.legal li::marker{color:var(--blue)}
.legal a:not(.btn){color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.legal table{width:100%;border-collapse:collapse;margin:0 0 1.5rem;font-size:14.5px}.legal th,.legal td{padding:12px 16px;border:1px solid var(--line);text-align:left;vertical-align:top}.legal th{background:var(--mist)}
.enacted{margin-top:2.4rem!important;padding-top:1.2rem;border-top:1px solid var(--line);text-align:right;color:var(--mute);font-size:14px}
.legal-spec{margin-bottom:1.6rem}
.sec-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;max-width:var(--wrap)}.w5.sec-layout{max-width:var(--wrap)}
.sec-toc{position:sticky;top:96px;padding:22px 22px 24px;border-radius:16px;background:var(--mist);font-size:13.5px}.sec-toc b{display:block;margin-bottom:.6rem;font:600 13px/1.6 var(--fh);color:var(--ink);letter-spacing:.06em}.sec-toc ol{margin:0;padding-left:1.3em;line-height:1.9}.sec-toc a{color:var(--ink);text-decoration:none}.sec-toc a:hover{color:var(--blue)}
.obf-note{font-size:12px;color:var(--mute)}
@media(max-width:899px){.sec-layout{grid-template-columns:1fr}.sec-toc{position:static}}
.sm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,36px)}
.sm-g{padding:26px 28px;background:#fff;border:1px solid var(--line);border-radius:18px}.v5 .sm-g h2{font-size:1.1rem;padding-bottom:.7rem;margin-bottom:1rem;border-bottom:2px solid var(--blue)}.sm-g ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
@media(max-width:899px){.sm-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sup-steps{grid-template-columns:1fr}.faq .a{padding-left:24px}.oline{grid-template-columns:minmax(0,1fr) auto}.oline-sub{grid-column:1/-1;text-align:left}.stp-bar span{display:none}.stp-bar button{justify-content:center}.stp-count{position:static;width:auto;height:auto;margin:0 0 1rem;overflow:visible;clip:auto;white-space:normal;font:600 13.5px/1.6 var(--fh);color:var(--ink);letter-spacing:.045em}}
.narrow .sup-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
.check-group{grid-template-columns:repeat(2,minmax(0,1fr))}.check-group>.field-label,.check-group>.sup-err,.check-group>.stp-err,.check-group>.hint{grid-column:1/-1}
@media(max-width:600px){.check-group,.narrow .sup-steps{grid-template-columns:1fr}}
.sec-deep .tri>li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.24);box-shadow:none;color:#fff}.v5 .sec-deep .tri h3{color:#fff}.sec-deep .tri p{color:rgba(255,255,255,.9)}
.sec-deep .section-photo figcaption,.sec-deep .figure figcaption{color:rgba(255,255,255,.75)}
.ab-stats b{white-space:nowrap}

/* 販売代理店募集 */
.ph5-pt .ph5-in{padding-bottom:clamp(64px,8vw,104px)}
.ph5-pt .ph5-in>*{max-width:min(35em,100%)}
.pt-vis{position:absolute;z-index:1;right:max(var(--gut),calc((100% - var(--wrap)) / 2 + var(--gut)));bottom:0;width:clamp(440px,37.5vw,580px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.42fr);grid-template-rows:auto auto;gap:14px 16px;align-items:end}
.pt-vis figure{margin:0;background:#fff;border-radius:16px;box-shadow:0 24px 50px -24px rgba(0,0,0,.6);overflow:hidden}
.pt-vis figure img{display:block;width:100%;height:auto}
.pt-vis .v-dash{grid-column:1;grid-row:1;padding:8px;border-radius:14px}
.pt-vis .v-dash img{border-radius:8px}
.pt-vis .v-tile{padding:8px;display:block}
.pt-vis .v-tile img{object-fit:contain}
.pt-vis .v-pair{display:flex;gap:14px}
.pt-vis .v-det{grid-column:1;grid-row:2;width:calc(50% - 7px);justify-self:start;margin-bottom:60px}
.pt-vis .v-oxi{grid-column:1;grid-row:2;width:calc(50% - 7px);justify-self:end;margin-bottom:60px}
.pt-vis .v-phone{grid-column:2;grid-row:1 / span 2;width:100%;height:auto;margin-bottom:-6px;filter:drop-shadow(0 24px 40px rgba(0,0,0,.5))}
@media(max-width:1100px){.pt-vis{display:none}}
.c3 .chip{display:inline-block;margin-bottom:.9rem;background:var(--sky);color:var(--blue);padding:3px 14px;border-radius:99px;font:600 12.5px/1.8 var(--fh);letter-spacing:.06em}
.pm5>div h4,.v5 .pm5 h4{font-size:1.05rem;line-height:1.7;margin-bottom:.6rem}.pm5 p{margin:0;font-size:14.5px;line-height:1.95}
.ph5b .b5{margin-top:0}
.rel-grid .rc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;color:var(--ink)}
.rel-grid .rc-card small{color:var(--tx);font-weight:400;font-size:13px;line-height:1.8;padding-bottom:20px}
.pg5-sec:not(.sec-deep) .ab-stats li{background:var(--mist);border:0;color:var(--ink)}.pg5-sec:not(.sec-deep) .ab-stats small{color:#F04A24}

/* ===== 外国語版（en / zh） ===== */
.i5-k{margin:.2rem 0 1rem;font:600 15px/1.5 var(--fh);letter-spacing:.14em;color:var(--or)}.i5-k i{font-style:normal;margin:0 .5em;color:#fff}
.i5-h{font-size:clamp(1.55rem,3.2vw,2.5rem)!important;line-height:1.5!important;max-width:24em;letter-spacing:.03em!important}
.v5 .i5-h{margin:0 0 .4rem}
.i5-lede{margin:1rem 0 0;max-width:46em;font-size:15.5px;line-height:2}
.v5 .i5-sub{font-size:1.2rem;margin:clamp(28px,4vw,48px) 0 0}
.ph5-i .ph5-in>*{max-width:min(36em,100%)}
.ph5-i h1{font-size:clamp(2rem,4.6vw,3.6rem)}.ph5-i h1 em{font-style:normal;color:var(--or)}
.ph5-i .ph5-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}
.i5-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:1.8rem 0 0;padding:0;list-style:none;max-width:min(38em,100%)!important}
.i5-proof li{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:12.5px;line-height:1.6}
.i5-proof b{display:block;white-space:nowrap;font:700 clamp(1.05rem,1.7vw,1.4rem)/1.2 "Montserrat",sans-serif;letter-spacing:.02em;color:#fff}.i5-proof small{font:600 .55em/1 var(--fh);color:var(--or);margin-left:.2em}
.i5-proof span{display:block;margin-top:.3rem}
@media(max-width:560px){.i5-proof{grid-template-columns:1fr}}
/* business */
.i5-pils{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin-top:clamp(22px,3vw,36px)}
.i5-pil{background:#fff;border-radius:20px;padding:clamp(24px,3vw,40px);box-shadow:0 18px 40px -32px rgba(0,0,0,.5)}
.i5-pil .chip{display:inline-block;padding:4px 14px;border-radius:99px;background:var(--sky);color:var(--blue);font:700 11.5px/1.6 "Montserrat",sans-serif;letter-spacing:.14em}
.v5 .i5-pil h3{font-size:clamp(1.25rem,2.2vw,1.7rem);margin:.9rem 0 .7rem;line-height:1.55}
.i5-pil>p{margin:0;font-size:14.5px;line-height:1.95}
.i5-pil ul{margin:1.2rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.i5-pil li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}
.i5-pil li b{display:block;font-family:var(--fh);color:var(--ink)}.i5-pil li span{color:var(--mute)}
@media(max-width:899px){.i5-pils{grid-template-columns:1fr}}
/* tabs（js/i18n.js） */
.i-tabs{margin-top:clamp(22px,3vw,36px)}
.i-tablist{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}.i-tablist::-webkit-scrollbar{display:none}
.i-tablist button{flex:none;display:grid;gap:2px;text-align:left;cursor:pointer;font:inherit;padding:12px 20px;border-radius:12px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:background .2s,border-color .2s,color .2s}
.i-tablist button b{white-space:nowrap;font:600 14.5px/1.5 var(--fh);letter-spacing:.025em}.i-tablist button small{white-space:nowrap;font-size:12px;color:var(--mute)}
.i-tablist button:hover{border-color:var(--blue)}
.i-tablist button[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:#fff}.i-tablist button[aria-selected=true] small{color:rgba(255,255,255,.8)}
.i-tablist button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.i-panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(22px,4vw,56px);align-items:center;margin-top:14px;padding:clamp(22px,3vw,40px);border-radius:20px;background:var(--mist)}
.i-panel[hidden]{display:none}
.i-panel.i-in{animation:i5rise .5s ease both}@keyframes i5rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.i-panel.i-in{animation:none}}
.v5 .i-panel-copy h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
.i-panel-sub{margin:.2rem 0 0;font:600 13px/1.6 var(--fh);color:var(--blue);letter-spacing:.035em}
.i-panel-copy>p:not(.i-panel-sub):not(.i-soon){margin:1rem 0 0;font-size:14.5px;line-height:1.95}
.i-panel-copy ul{display:grid;gap:8px;margin:1.1rem 0 0;padding:0;list-style:none}
.i-panel-copy li{position:relative;padding-left:1.5em;font-size:14px;line-height:1.7}
.i-panel-copy li::before{content:"";position:absolute;left:0;top:.5em;width:.8em;height:.45em;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.i-visit{margin-top:1.4rem}.i-soon{margin:1.2rem 0 0;font-size:12.5px;color:var(--mute)}
.i-shot{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 30px 50px -34px rgba(0,0,0,.6)}
.i-shot .ho-bar{display:flex;gap:6px;padding:9px 12px;background:#F4F7FC;border-bottom:1px solid var(--line)}.i-shot .ho-bar i{width:9px;height:9px;border-radius:50%;background:#C9D5E6}
.i-shot img{display:block;width:100%;height:auto}
@media(max-width:899px){.i-panel{grid-template-columns:1fr}}
/* record */
.i5-stats{margin-top:clamp(22px,3vw,36px)}
.i5-chips{display:flex;flex-wrap:wrap;gap:10px;margin:1.2rem 0 0;padding:0;list-style:none}
.i5-chips li{padding:8px 18px;border-radius:99px;background:var(--mist);color:var(--ink);font:600 14px/1.6 var(--fh)}
.i5-note{margin:1rem 0 0;font-size:13.5px;color:var(--mute)}
.i5-rec{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start;margin-top:clamp(20px,3vw,40px)}
.i5-rec .i5-sub{margin-top:0}
.i5-award{margin:0;border-radius:18px;overflow:hidden;background:var(--mist)}.i5-award img{display:block;width:100%;height:auto}
.i5-award figcaption{padding:18px 22px 22px;font-size:13.5px;line-height:1.8}.i5-award b{display:block;font-family:var(--fh);color:var(--ink);margin-bottom:.3rem}
.i5-tm{margin-top:1.4rem}.i5-tm li{padding-bottom:clamp(16px,2vw,24px)}.i5-tm p{padding-top:.2em}
@media(max-width:899px){.i5-rec{grid-template-columns:1fr}}
/* partner band */
.i5-pbl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:1.6rem 0 0;padding:0;list-style:none;max-width:46em}
.i5-pbl li{position:relative;padding-left:1.5em;font-size:14.5px;line-height:1.7;color:#fff}.i5-pbl li::before{content:"";position:absolute;left:0;top:.55em;width:.8em;height:.45em;border-left:2px solid var(--or);border-bottom:2px solid var(--or);transform:rotate(-45deg)}
@media(max-width:700px){.i5-pbl{grid-template-columns:1fr}}
/* company */
.i5-co{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(20px,3vw,36px)}
.i5-ul{margin:0;padding:0;list-style:none}.i5-ul li+li{margin-top:.2rem}
.i5-office{border-radius:18px;overflow:hidden;background:var(--mist);position:sticky;top:104px}.i5-office img{display:block;width:100%;height:auto}.i5-office p{margin:0;padding:16px 20px 4px;font-size:14px;line-height:1.8}.i5-office a{display:inline-block;padding:0 20px 20px}
@media(max-width:899px){.i5-co{grid-template-columns:1fr}.i5-office{position:static}}
.i5-ctnote{margin-top:1.4rem!important;font-size:13px;opacity:.85}
:lang(zh-Hans) .v5 h1,:lang(zh-Hans) .v5 h2,:lang(zh-Hans) .v5 h3,:lang(zh-Hans) .v5 h4{font-family:"Montserrat","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans JP",sans-serif}
html[lang="zh-Hans"] body{font-family:"Montserrat","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Noto Sans JP",sans-serif}
html[lang="zh-Hans"] :is(.eyebrow,.b5,.an5 a,.pf5 dt,.i-tablist b){font-family:"Montserrat","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif}
@media(max-width:1180px){.ph5-i .pt-vis{display:none}}
/* 外国語版のメニュー（項目が多いので詰める） */
.i18n .h5-bar li>a,.i18n .h5-bar li>button{padding:0 clamp(7px,.85vw,16px);letter-spacing:.03em}
.i18n .h5-cta{margin-left:4px;padding-left:16px;gap:12px}

/* お知らせ記事内の画面写真 */
.news-shots{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,.7fr);gap:clamp(14px,2vw,24px);align-items:end;margin:1.2rem 0 2rem}
.news-shots figure{margin:0}.news-shots img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line);box-shadow:0 20px 40px -30px rgba(0,0,0,.5)}
.news-shots figcaption{margin-top:.6rem;font-size:12.5px;color:var(--mute);text-align:center}
@media(max-width:640px){.news-shots{grid-template-columns:1fr}.news-shots .ph{max-width:240px;margin-inline:auto}}
/* 製品情報ヒーロー：写真をメニューバーから離す（切り取らず、全体を見せる） */
@media(min-width:900px){.ph5-prod .ph5-bg{top:104px!important;height:calc(100% - 104px - 36px)!important;width:min(42%,600px)!important;right:clamp(24px,4vw,72px)}}
/* カタログ帯：ヒーローが濃色なので、帯は淡い色にして上下の濃色の連続を避ける */
.catband{color:var(--ink);background:var(--mist);border:1px solid #D7E3F3}
.catband .cb-ic{background-color:var(--blue)}
.catband span{color:#444444}
.catband .btn-ghost{background:#fff;border:1.5px solid var(--blue);color:var(--blue)}.catband .btn-ghost:hover{background:var(--blue);color:#fff}

/* 採用情報のピル：バッジなし */

/* 関連ページのリンクカード（メニューのドロップダウンをなくした代わり） */
.lk5{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(12px,1.6vw,20px);margin:clamp(18px,2.4vw,28px) 0 0;padding:0;list-style:none}
.lk5 a{position:relative;display:grid;gap:.35rem;height:100%;padding:22px 56px 22px 24px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 14px 30px -28px rgba(0,0,0,.5);transition:transform .2s,border-color .2s}
.lk5 a:hover{transform:scale(1.01);border-color:var(--blue)}
.lk5 b{font:600 1.02rem/1.5 var(--fh);letter-spacing:.025em}.lk5 span{font-size:13px;line-height:1.7;color:var(--mute)}
.lk5 i{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff}.lk5 i svg{width:14px;height:14px}
/* 小さい画面：英字の大見出しが切れないように */
@media(max-width:400px){.v5 .en{font-size:clamp(1.9rem,10.5vw,2.5rem)!important}.v5 .ph5 .en{font-size:clamp(2rem,11vw,2.6rem)!important}}
/* 製品情報：カタログ帯のボタンを小さい画面で折り返す */
@media(max-width:560px){.catband>div,.catband .cb-btn,.catband .btn{flex:1 1 100%}.catband .cb-btn{white-space:normal;justify-content:center}.catband .cb-btn span{flex:0 1 auto;text-align:left}}
@media(max-width:560px){.catband .cb-br{display:inline}.catband .cb-btn{gap:8px;padding:14px 16px}}
/* 比較表：スマホでは横スクロール前提で、列の幅を確保（セルが縦に伸びないように） */
@media(max-width:700px){.cmp-tbl{min-width:560px}.cmp-tbl th:first-child,.cmp-tbl tbody th{min-width:112px}}
/* order: スマホでは品名を全幅にし、数量と小計は下段に並べる */
@media(max-width:560px){.oline{grid-template-columns:auto minmax(0,1fr);gap:10px 14px}.oline-name{grid-column:1/-1}.oline-sub{grid-column:auto;text-align:right;align-self:center}.qty input{width:56px}}
.order-block p>.btn+.btn,.order-block p>.btn-primary+.btn-ghost{margin-top:10px}
@media(max-width:560px){.order-block p>.btn{display:flex;width:100%;text-align:center;line-height:1.5}.order-block p>.btn+.btn{margin:10px 0 0}}
.nm5 .nm5-logo{width:clamp(150px,17vw,220px);height:auto;display:block}
@media(max-width:899px){.nm5 .nm5-logo{width:170px}}
/* サイズ別に選んで買う（NG-351） */
.pd-sizes .sz-t{margin:18px 0 8px;font:600 14px/1.6 var(--fh);color:var(--ink)}
.sz-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.sz-row{display:grid;grid-template-columns:minmax(0,1fr) auto 7rem;align-items:center;gap:8px 16px;padding:12px 6px;border-bottom:1px solid var(--line);transition:background .2s}
.sz-row.on{background:linear-gradient(90deg,var(--sky),transparent)}
.sz-name b{display:block;font:700 20px/1.2 "Montserrat",sans-serif;color:var(--ink)}.sz-name small{display:block;font-size:12.5px;color:var(--mute)}
.sz-sub{text-align:right;font:700 15px/1.4 "Montserrat",sans-serif;color:var(--ink)}
.sz-total{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 2px 0;font:600 14px/1.6 var(--fh);color:var(--ink)}.sz-total b{font:700 18px/1 "Montserrat",sans-serif;margin-left:.3em}
.pd-sizes .pd-buy-row{margin-top:14px}.pd-sizes .pd-buy-row .btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.sz-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n s" "q q"}.sz-name{grid-area:n}.sz-sub{grid-area:s}.sz-qty{grid-area:q}}
.pd-sticky .btn{white-space:nowrap;flex:none}
/* プライバシーポリシー */
.legal h4{margin:1.4rem 0 .5rem!important;font:600 1rem/1.7 var(--fh);color:var(--ink)}
.legal ol.paren{list-style:none;counter-reset:pn;padding-left:0}.legal ol.paren>li{counter-increment:pn;position:relative;padding-left:2.4em}.legal ol.paren>li::before{content:"(" counter(pn) ")";position:absolute;left:0;color:var(--blue);font-weight:700}
.legal ol.rom{list-style:upper-roman;padding-left:2em}
.pm-badge{display:flex;align-items:center;gap:16px;margin:0 0 .9rem;padding:18px 22px;border:1px solid #C3D3E8;border-radius:14px;background:linear-gradient(90deg,var(--sky),#fff)}
.pm-badge svg{flex:none;width:44px;height:44px;color:var(--blue)}.pm-badge p{margin:0!important;font-size:14.5px;line-height:1.8}.pm-badge b{display:block;font:700 16px/1.5 var(--fh);color:var(--ink)}
.pm-jump{margin:0 0 .4rem!important;font-size:14.5px}
@media(max-width:700px){.pm-badge{padding:14px 16px;gap:12px}.pm-badge svg{width:36px;height:36px}.legal .pd-spec.legal-spec dt{width:auto}}

/* クラスI届出一覧 */
.nt-wrap{overflow-x:auto;margin:12px 0 8px;border:1px solid var(--line,#dfe6ee);border-radius:10px}
.nt-tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:760px}
.nt-tbl th,.nt-tbl td{padding:10px 12px;border-bottom:1px solid var(--line,#e6ecf2);text-align:left;vertical-align:top;line-height:1.5}
.nt-tbl thead th{background:#f3f7fb;color:#1A1A1A;font-weight:700;white-space:nowrap}
.nt-tbl tbody th{font-weight:600;color:#1A1A1A}
.nt-tbl tbody tr:last-child th,.nt-tbl tbody tr:last-child td{border-bottom:0}
.nt-tbl td:nth-child(3){font-family:Montserrat,sans-serif;white-space:nowrap}
.nt-note{font-size:13px;color:#666666}
@media(max-width:700px){
  .nt-wrap{border:0;overflow:visible}
  .nt-tbl{min-width:0;font-size:14px}
  .nt-tbl thead{display:none}
  .nt-tbl,.nt-tbl tbody,.nt-tbl tr,.nt-tbl th,.nt-tbl td{display:block;width:100%}
  .nt-tbl tr{border:1px solid #dfe6ee;border-radius:10px;margin-bottom:10px;padding:8px 12px;background:#fff}
  .nt-tbl th,.nt-tbl td{border:0;padding:3px 0}
  .nt-tbl tbody th{font-size:15px;padding-bottom:6px}
  .nt-tbl td::before{content:attr(data-l)"：";color:#666666;font-size:12px}
}
.nt-tbl td:nth-child(4),.nt-tbl td:nth-child(5){white-space:nowrap}
.nt-tbl{font-size:13px;min-width:0}
.nt-tbl th,.nt-tbl td{padding:9px 10px}
.nt-tbl tbody th{min-width:150px}
@media(max-width:700px){.nt-tbl{font-size:14px}.nt-tbl td:nth-child(3),.nt-tbl td:nth-child(4),.nt-tbl td:nth-child(5){white-space:normal}}
@media(max-width:700px){.nt-tbl td{display:flex;gap:6px;line-height:1.45}.nt-tbl td::before{flex:none;min-width:5.5em}.nt-tbl tr{margin-bottom:8px;padding:8px 12px 6px}}

.pm-badge img{flex:none;width:72px;height:auto}@media(max-width:700px){.pm-badge img{width:60px}}
.ms5-sig{font-weight:400}.ms5-sig small{display:inline;margin-right:1em}
.ms5-sig{font:400 15px/1.8 var(--f)}.ms5-sig small{font:400 13px/1.8 var(--f)}
.legal .nw{white-space:nowrap}
.nt-lk{display:inline-flex;align-items:center;gap:6px;color:var(--blue);text-decoration:none;border-bottom:1px solid rgba(27,88,168,.35)}.nt-lk svg{width:13px;height:13px;flex:none}.nt-lk:hover{color:var(--ink);border-bottom-color:var(--navy)}

/* ===== support page redesign (2026-11) ===== */
.sup-pg .sup-top{padding:clamp(32px,4.5vw,60px) 0 clamp(24px,3.5vw,44px)}
.sup-ic{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#E6EFFB;color:var(--blue)}.sup-ic svg{width:24px;height:24px}
.sup-paths{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(12px,1.6vw,20px);margin:0;padding:0;list-style:none}
.sup-paths a{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:6px 16px;align-content:start;height:100%;padding:26px 64px 26px 26px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px -32px rgba(0,0,0,.55);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s,border-color .2s}
.sup-paths a:hover{transform:scale(1.01);border-color:var(--blue);box-shadow:0 24px 44px -30px rgba(27,88,168,.6)}
.sup-paths b{align-self:center;font:600 17px/1.55 var(--fh);letter-spacing:.025em}
.sup-paths a>span:not(.sup-ic){grid-column:2;font-size:13.8px;line-height:1.85;color:var(--tx)}
.sup-paths .tel{font:700 22px/1.4 "Montserrat","Noto Sans JP",sans-serif;letter-spacing:.035em;color:var(--blue)!important}
.sup-paths i{position:absolute;right:22px;bottom:22px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff}.sup-paths i svg{width:16px;height:16px}
.sup-paths .main a{background:radial-gradient(70% 120% at 100% 0%,rgba(255,255,255,0.14),transparent 70%),var(--grad);border-color:transparent;color:#fff}
.sup-paths .main a>span:not(.sup-ic){color:rgba(255,255,255,.9)}.sup-paths .main .sup-ic{background:rgba(255,255,255,.16);color:#fff}.sup-paths .main i{background:var(--or);color:var(--ink)}
.sup-alert{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 22px;margin:clamp(18px,2.4vw,28px) 0 0;padding:22px 26px}
.sup-alert-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--or);color:#fff}.sup-alert-ic svg{width:24px;height:24px}
.sup-alert>div{display:grid;gap:4px}
.sup-alert-tel{justify-self:end;margin:0;white-space:nowrap}
.sup-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(20px,2.6vw,30px)}
.sup-jump a{padding:9px 18px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:600 13.5px/1.4 var(--fh);letter-spacing:.03em;text-decoration:none;transition:.2s}
.sup-jump a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.sup-pg .sec-head h2,.sup-pg .sup-side h2{margin:0;padding:0;border:0;font-size:clamp(1.55rem,2.7vw,2.2rem);line-height:1.5;color:var(--ink)}
.sup-pg .sec-head p:not(.eyebrow){margin-top:.9rem}
.sup-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin:0;padding:0;list-style:none}
.sup-cards li{display:grid;align-content:start;gap:8px;padding:28px 24px 30px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px -34px rgba(0,0,0,.55)}
.sup-cards em{margin-top:10px;font:700 12px/1 "Montserrat",sans-serif;font-style:normal;letter-spacing:.14em;color:#F04A24}
.sup-cards b{font:600 16px/1.6 var(--fh);letter-spacing:.025em;color:var(--ink)}
.sup-cards p{margin:0;font-size:13.8px;line-height:1.95}
.sup-split{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.sup-side{position:sticky;top:110px}.sup-side>p:not(.eyebrow){margin:1rem 0 0;font-size:14.5px;line-height:2}
.sup-side .pd-note{margin-top:1.2rem}
.sup-split .tbl-wrap{margin:0}.sup-split .sup-warr-tbl{min-width:520px}
.sup-warr-tbl td:nth-child(2){white-space:nowrap;font-weight:700;color:var(--blue)}
.sup-facts{display:grid;gap:10px;margin:1.4rem 0 0;padding:0;list-style:none}
.sup-facts li{position:relative;padding-left:30px;font-size:14px;line-height:1.8}
.sup-facts li::before{content:"";position:absolute;left:0;top:.25em;width:20px;height:20px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.sup-flow{counter-reset:f;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.sup-flow li{counter-increment:f;position:relative;padding:76px 20px 24px;background:var(--mist);border-radius:18px}
.sup-flow li::before{content:counter(f);position:absolute;left:20px;top:22px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font:700 16px/1 "Montserrat",sans-serif}
.sup-flow li:not(:last-child)::after{content:"";position:absolute;top:41px;left:72px;right:-16px;height:2px;background:linear-gradient(90deg,var(--blue),rgba(27,88,168,.15))}
.sup-flow p{margin:0;font-size:14px;line-height:1.95}
.sup-pg #repair-form .sup-side p:not(.eyebrow){margin-top:1rem}
.sup-formcol{min-width:0}.sup-formcol .sup-form{max-width:none}
.sup-form .check{align-items:center}.sup-form .check-field .check{align-items:start}.sup-form .check-field .check input{margin-top:.2rem}
.sup-form .check-group .check{background:#fff;box-shadow:inset 0 0 0 1px var(--line);transition:.15s}
.sup-form .check-group .check:hover{box-shadow:inset 0 0 0 1px var(--blue)}
.sup-form .check-group .check:has(input:checked){background:#EAF2FF;box-shadow:inset 0 0 0 2px var(--blue);color:var(--ink);font-weight:600}
.sup-form .sup-fs{margin-bottom:20px}
.sup-form button[type=submit]{min-width:min(100%,280px);margin-top:.4rem}
.sup-end{padding:clamp(48px,6vw,80px) 0}
.sup-end-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px}
.sup-end h2{margin:0;color:#fff;font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.6}.sup-end p{margin:.6rem 0 0;color:rgba(255,255,255,.9)}
.sup-end .sup-end-acts{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.sup-end .btn-ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}.sup-end .btn-ghost:hover{background:#fff;color:var(--ink)}
@media(max-width:1100px){.sup-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sup-flow{grid-template-columns:1fr;gap:12px}.sup-flow li{padding:20px 20px 20px 76px}.sup-flow li::before{top:50%;transform:translateY(-50%)}.sup-flow li:not(:last-child)::after{display:none}}
@media(max-width:960px){.sup-paths{grid-template-columns:minmax(0,1fr)}.sup-split{grid-template-columns:minmax(0,1fr)}.sup-side{position:static}}
@media(max-width:700px){.sup-alert{grid-template-columns:auto minmax(0,1fr)}.sup-alert-tel{grid-column:1/-1;justify-self:stretch;text-align:center}.sup-cards{grid-template-columns:1fr}.sup-paths a{padding-right:60px}}
.sup-paths a{padding:26px 26px 74px}
.sup-warr-tbl th{white-space:nowrap}
.sup-pg .scroll-hint{display:none!important}@media(max-width:700px){.sup-pg .scroll-hint{display:block!important}}
.sup-form .check input{margin:0}.sup-form .check-field .check input{margin-top:.2rem}
.sup-form .check-group.field{margin-bottom:.4rem}
.sup-form .check-group .check{min-height:54px}
@media(max-width:700px){.sup-cards{grid-template-columns:minmax(0,1fr)}.sup-split>*{min-width:0}.sup-alert{grid-template-columns:auto minmax(0,1fr)}}
.sup-form label.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center}.sup-form .check-field label.check{align-items:start}
.sup-form label.check input{margin:0;justify-self:center}.sup-form .check-field label.check input{margin-top:.25rem}
.sup-form label.check.sup-unk{margin-top:.5rem}

/* licenses: 名称列の幅・ダウンロードリンク */
.legal .lic-dl>div{grid-template-columns:minmax(0,18.5em) minmax(0,1fr)}
.legal .lic-dl dt{padding:1rem 1.3rem;white-space:nowrap;display:flex;align-items:center}
.legal .lic-dl dd{padding:1rem 1.2rem 1rem 1.7rem;font-size:14px}
.legal a.dl-name{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;border-bottom:1.5px solid rgba(27,88,168,.4);transition:.15s;white-space:nowrap}
.legal a.dl-name .nw{white-space:nowrap}
.legal a.dl-name:hover{color:var(--blue);border-bottom-color:var(--blue)}
.dl-ic{flex:none;width:15px;height:15px;color:var(--blue)}
.legal .lic-dl dt a.dl-name{display:inline-block;white-space:normal;line-height:1.75}.legal .lic-dl dt a.dl-name .dl-ic{display:inline-block;vertical-align:-2px;margin-left:6px}
.legal .lic-dl:first-of-type dt a.dl-name,.legal .lic-biz dt a.dl-name{white-space:nowrap}
.lic-note{margin:0 0 1rem!important;font-size:13.5px;line-height:1.9;color:var(--mute)}
@media(max-width:700px){.legal .lic-dl>div{grid-template-columns:1fr}.legal .lic-dl dt{white-space:normal}.legal .lic-dl dd{padding:.4rem 1.2rem 1rem}.legal a.dl-name{white-space:normal}}

/* ===== 資料センター (downloads) ===== */
.dl-pg .dl-top{padding:clamp(30px,4vw,52px) 0 clamp(8px,1.5vw,16px)}
.dl-gate{display:flex;gap:20px;align-items:flex-start;padding:24px 28px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px -34px rgba(0,0,0,.55)}
.dl-gate-ic{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#E6EFFB;color:var(--blue)}.dl-gate-ic svg{width:24px;height:24px}
.dl-gate b{display:block;font:600 16px/1.6 var(--fh);color:var(--ink);letter-spacing:.025em}
.dl-gate ul{display:grid;gap:4px;margin:.5rem 0 0;padding:0;list-style:none}.dl-gate li{position:relative;padding-left:1.2em;font-size:13.8px;line-height:1.9}.dl-gate li::before{content:"";position:absolute;left:0;top:.8em;width:6px;height:6px;border-radius:50%;background:var(--or)}
.dl-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(18px,2.4vw,26px)}
.dl-tabs button{padding:10px 22px;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);font:600 14px/1.4 var(--fh);letter-spacing:.03em;cursor:pointer;transition:.18s}
.dl-tabs button:hover{border-color:var(--blue);color:var(--blue)}.dl-tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.dl-sec{padding:clamp(40px,5vw,72px) 0}.dl-sec[hidden]{display:none}
.dl-pg .dl-top+.dl-sec{padding-top:clamp(28px,3.5vw,48px)}
.dl-head{margin:0 0 clamp(20px,2.6vw,32px)}.dl-head h2{margin:0;font-size:clamp(1.55rem,2.7vw,2.2rem);line-height:1.5;color:var(--ink)}.dl-head p:not(.eyebrow){max-width:46em;margin:.8rem 0 0;font-size:14.5px;line-height:2}
.dl-sub{margin:clamp(26px,3vw,38px) 0 0;padding-left:14px;border-left:4px solid var(--blue);font:600 1.05rem/1.6 var(--fh);color:var(--ink)}.dl-head+.dl-sub{margin-top:0}
.dl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin:clamp(16px,2vw,24px) 0 0;padding:0;list-style:none}
.dl-grid.dl-n4{grid-template-columns:repeat(4,minmax(0,1fr))}.dl-grid.dl-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dl-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 18px 40px -34px rgba(0,0,0,.55);transition:transform .2s,box-shadow .2s,border-color .2s}
.dl-card:hover{transform:scale(1.01);border-color:var(--blue);box-shadow:0 24px 44px -30px rgba(27,88,168,.55)}
.dl-th{position:relative;display:grid;place-items:center;aspect-ratio:4/3;padding:7%;background:linear-gradient(160deg,var(--sky),#F7FAFE)}.dl-th img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.16))}
.dl-pdf{position:absolute;right:12px;top:12px;padding:3px 10px;border-radius:5px;background:var(--navy);color:#fff;font:700 11px/1.6 "Montserrat",sans-serif;letter-spacing:.06em}
.dl-bd{flex:1;padding:18px 22px 0}
.dl-tag{display:inline-block;padding:2px 11px;border-radius:99px;background:#E6EFFB;color:var(--blue);font:600 11.5px/1.7 var(--fh);letter-spacing:.03em}.dl-tag.on{background:var(--or);color:var(--ink)}
.v5 .dl-t{margin:.6rem 0 0;font-size:1.02rem;line-height:1.65}.dl-t a{color:var(--ink);text-decoration:none}.dl-t a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.dl-d{margin:.45rem 0 0;font-size:13.2px;line-height:1.85;color:var(--mute)}
.dl-ft{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:16px 22px 22px}
.dl-meta{font:600 12px/1.6 "Montserrat","Noto Sans JP",sans-serif;letter-spacing:.03em;color:var(--mute)}
.dl-more{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--blue);text-decoration:none}.dl-more i{display:grid}.dl-more svg{width:13px;height:13px}
.dl-ft .btn{margin-left:auto;display:inline-flex;align-items:center;gap:7px}.dl-ft .dl-ic{width:14px;height:14px;color:inherit}
.dl-feat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 50px -38px rgba(0,0,0,.6)}
.dl-fth{display:grid;place-items:center;padding:clamp(22px,3vw,40px);background:linear-gradient(160deg,var(--sky),#F7FAFE)}.dl-fth img{width:100%;max-height:320px;object-fit:contain}
.dl-fbd{display:grid;align-content:center;justify-items:start;gap:.7rem;padding:clamp(24px,3.4vw,46px)}
.dl-fbd h3{margin:0;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1.5}.dl-fbd h3 a{color:var(--ink);text-decoration:none}.dl-fbd p{margin:0;font-size:14.5px;line-height:2}.dl-fbd .btn{margin-top:.6rem;display:inline-flex;align-items:center;gap:8px}.dl-fbd .dl-ic{width:16px;height:16px;color:inherit}
.dl-req{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.dl-req li{display:grid;gap:4px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px}.dl-req b{font:600 15px/1.6 var(--fh);color:var(--ink)}.dl-req span{font-size:13px;color:var(--mute)}
.dl-req-act{margin:clamp(20px,2.6vw,30px) 0 0}
.dl-pg .dl-end{margin-top:0}
@media(max-width:1020px){.dl-grid,.dl-grid.dl-n4{grid-template-columns:repeat(2,minmax(0,1fr))}.dl-feat{grid-template-columns:1fr}}
@media(max-width:600px){.dl-grid,.dl-grid.dl-n4,.dl-grid.dl-n2{grid-template-columns:minmax(0,1fr)}.dl-gate{flex-direction:column;gap:12px;padding:20px}}
.dl-pg .dl-sub{margin-top:clamp(40px,4.5vw,60px)}.dl-pg .dl-head+.dl-sub{margin-top:0}
.dl-t,.dl-fbd h3,.dl-d{text-wrap:balance;word-break:auto-phrase;overflow-wrap:anywhere}.dl-d{text-wrap:pretty}
.dl-req{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* ===== 資料ダウンロードの入力ダイアログ（全ページ共通） ===== */
.dlg{border:0;border-radius:22px;padding:0;width:min(34rem,calc(100vw - 1.5rem));max-height:calc(100vh - 2rem);overflow:auto;color:var(--tx);box-shadow:0 30px 90px rgba(0,0,0,.4)}
.dlg::backdrop{background:rgba(27,88,168,.6);backdrop-filter:blur(2px)}
.dlg-in{position:relative;display:grid;gap:.9rem;padding:clamp(24px,3.4vw,34px)}
.dlg h2{margin:0;padding-right:2.6rem;font:600 1.3rem/1.5 var(--fh);color:var(--ink);letter-spacing:.025em}
.dlg-file{margin:0;padding:10px 14px;border-radius:12px;background:#E6EFFB;color:var(--ink);font:600 14px/1.6 var(--fh)}
.dlg-lead{margin:0;font-size:13.5px;line-height:1.9;color:var(--mute)}
.dlg-x{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:var(--mist);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;transition:.15s}.dlg-x:hover{background:var(--navy);color:#fff}
.dlg .field{margin:0}.dlg .field>label:first-child{margin-bottom:.4rem}
.dlg .grid-2{gap:0 16px}
.dlg label.check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:center;font-size:14px}.dlg label.check input{margin:0;width:20px;height:20px}
.dlg .field>label.check{margin-top:.7rem}
.dlg .btn-primary{width:100%;justify-content:center;margin-top:.3rem}
.dlg-err{margin:0;padding:10px 14px;border-radius:10px;background:#FDECEA;color:#9B2C2C;font-size:13px;line-height:1.8}
.dlg-done{margin:0;padding:14px 16px;border-radius:12px;background:#E4F4EA;color:#0B6B3A;font-size:14px;line-height:1.9}
.dlg-in.is-done>:not(h2):not(.dlg-file):not(.dlg-done):not(.dlg-x){display:none}.dlg-done-t{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:16px;font-weight:700}.dlg-done-t:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#0B6B3A;color:#fff;font-size:13px;line-height:1}.dlg-close2{margin-top:12px;padding:10px 22px;border:1px solid #0B6B3A;border-radius:10px;background:#fff;color:#0B6B3A;font:inherit;font-weight:700;cursor:pointer}
/* お問い合わせ送信後の表示 */
.btn[hidden]{display:none!important}
.form-result .fr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.form-result .fr-actions .btn{height:48px}
.form-result.is-ok{background:#fff;border:1px solid var(--line-2,#C3D3E8);border-top:4px solid var(--blue);padding:30px 32px}
.form-result.is-ok h3{display:flex;align-items:center;gap:10px;font-size:1.2rem;margin-bottom:.5rem}
.form-result.is-ok h3:before{content:"✓";flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:15px;line-height:1}
.form-result .fr-meta{margin:1.1rem 0 1.3rem;padding:14px 18px;border-radius:10px;background:var(--sky)}
.form-result .fr-meta[hidden]{display:none}
.form-result .fr-meta>div{display:flex;flex-wrap:wrap;gap:2px 16px;padding:5px 0;font-size:14px;line-height:1.7}
.form-result .fr-meta>div span{flex:0 0 5.5em;color:var(--mute,#666)}
.form-result .fr-meta>div b{font-weight:700;overflow-wrap:anywhere}
.form-result .fr-note{margin-top:8px;padding-top:10px;border-top:1px solid var(--line-2,#C3D3E8);font-size:13px;line-height:1.8;color:var(--mute,#666)}
.form-result.is-err{background:#fff;border:1px solid var(--line-2,#C3D3E8);border-left:4px solid #F04A24}
@media(max-width:560px){.form-result.is-ok{padding:24px 20px}.form-result .fr-actions .btn{flex:1 1 100%}.form-result .fr-meta>div span{flex-basis:100%}}
.dlg .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.dl-ft .btn{flex:1 1 100%;justify-content:center;margin-left:0;white-space:nowrap}
.pd-docs{padding:clamp(40px,5vw,72px) 0}
.legal a.dl-name.sub{margin-top:.2rem;font-size:13.5px;font-weight:400;border-bottom-style:dashed}
.dl-th.ext{background:linear-gradient(160deg,#1B58A8,#1B58A8)}
.dl-ext-badge{display:grid;gap:6px;justify-items:center;text-align:center;color:#fff}.dl-ext-badge b{font:700 clamp(1.8rem,3.2vw,2.6rem)/1 "Montserrat",sans-serif;letter-spacing:.035em}.dl-ext-badge small{font:600 13px/1.5 var(--fh);letter-spacing:.06em;opacity:.85}
.path-link{text-decoration:none}.path-link .path-card-in{position:relative;padding-right:52px}.path-link .path-card-in::after{content:"→";position:absolute;right:22px;top:50%;transform:translateY(-50%);font:600 18px/1 var(--fh);color:var(--blue)}
.dl-th.ext::after,.dl-th.ext::before{display:none!important}
.dl-th img,.dl-fth img{pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.dl-th.ext{background:#fff;border-bottom:1px solid var(--line)}.dl-th.ext img{width:88%;height:auto;max-height:none;filter:none}
/* 製品の一覧・詳細：オレンジは「SALE」の丸だけに絞る。購入ボタンは主色の青、価格は濃紺 */
.pcard .btn-primary,.alc-card .btn-primary,.pd-buy .btn-primary,.pd-sticky .btn-primary,.pd-buy-row .btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.pcard .btn-primary:hover,.alc-card .btn-primary:hover,.pd-buy .btn-primary:hover,.pd-sticky .btn-primary:hover,.pd-buy-row .btn-primary:hover{background:#1B58A8;border-color:#1B58A8;box-shadow:0 14px 28px -16px rgba(27,88,168,.8)}
.pcard-price b,.pd-buy-price b{color:var(--ink)}

/* ===== 取引口座開設：流れ・左の説明 ===== */
.acc-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
.acc-flow li{background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px -34px rgba(0,0,0,.55);padding:78px 22px 26px}
.acc-flow li:not(:last-child)::after{right:-18px}
.acc-flow em{display:inline-block;margin:0 0 .6rem;padding:2px 12px;border-radius:99px;background:#FFF1E2;color:#1A1A1A;font:700 12px/1.7 var(--f);font-style:normal;letter-spacing:.035em}
.acc-flow b{display:block;margin:0 0 .5rem;font:600 16px/1.6 var(--fh);color:var(--ink);letter-spacing:.025em}
.acc-flow-sec{padding-bottom:clamp(36px,5vw,64px)}
.acc-need{margin:1.4rem 0 0;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:16px}
.acc-need b{display:block;font:600 14px/1.7 var(--fh);color:var(--ink);letter-spacing:.025em}
.acc-need ul{display:grid;gap:8px;margin:.8rem 0 0;padding:0 0 0 1.3em;list-style:disc;font-size:13.8px;line-height:1.85}
.acc-need li::marker{color:var(--blue)}
.acc-tel{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin:1.4rem 0 0;font-size:13px;color:var(--mute)}
.acc-tel a{font:700 24px/1.4 "Montserrat",sans-serif;letter-spacing:.025em;color:var(--blue);text-decoration:none}
@media(max-width:1100px){.acc-flow{grid-template-columns:1fr}.acc-flow li{padding:20px 20px 20px 76px}.acc-flow em{position:static;display:inline-block;margin-bottom:6px}}

/* ===== アルコールチェック義務化ガイド ===== */
.pg5 .alc-h3,.alc-h3{margin:clamp(34px,4.5vw,56px) 0 1.2rem!important;font:600 clamp(1.1rem,1.8vw,1.35rem)/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.alc-tl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin:0;padding:0;list-style:none;counter-reset:t}
.alc-tl li{position:relative;padding:30px 30px 32px 30px;background:linear-gradient(160deg,#fff,var(--mist));border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 40px -34px rgba(0,0,0,.55);overflow:hidden}
.alc-tl li::after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--blue),var(--or))}
.alc-tl em{display:block;font:700 clamp(1.8rem,3.2vw,2.5rem)/1.2 "Montserrat",sans-serif;font-style:normal;letter-spacing:.025em;color:var(--blue)}
.alc-tl b{display:block;margin:.5rem 0 .4rem;font:600 17px/1.6 var(--fh);color:var(--ink);letter-spacing:.025em}
.alc-tl p{margin:0;font-size:14.5px;line-height:2}.alc-tl strong{color:var(--ink);font-weight:600;background:linear-gradient(transparent 62%,#FFE3C2 62%)}
.alc-pts{grid-template-columns:repeat(3,minmax(0,1fr))}
.alc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);margin:0;padding:0;list-style:none}
.alc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 20px 44px -36px rgba(0,0,0,.6);transition:transform .45s var(--ease,ease),box-shadow .45s var(--ease,ease),border-color .3s}
.alc-card:hover{border-color:var(--blue)}
.alc-img{position:relative;display:block;overflow:hidden;background:linear-gradient(160deg,#EEF4FC,#fff);aspect-ratio:1/.82}
.alc-img img{display:block;width:100%;height:100%;object-fit:contain;padding:6%;transition:transform .8s var(--ease,ease)}
.alc-card:hover .alc-img img{transform:scale(1.08)}
.alc-body{display:flex;flex-direction:column;flex:1;padding:24px 26px 26px}
.alc-tag{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;font-size:12.5px;color:var(--mute)}
.alc-tag span{padding:2px 12px;border-radius:99px;background:#E7F0FC;color:var(--blue);font-weight:600}
.alc-body h3{margin:.8rem 0 0;font:600 19px/1.5 var(--fh);color:var(--ink);letter-spacing:.03em}.alc-body h3 a{color:inherit;text-decoration:none}.alc-body h3 a:hover{color:var(--blue)}
.alc-sub{margin:.2rem 0 0;font:600 13px/1.6 var(--fh);color:var(--blue);letter-spacing:.03em}
.alc-lead{margin:.9rem 0 0;min-height:calc(1.95em * 3);font-size:14px;line-height:1.95}
.alc-spec{display:grid;gap:0;margin:1.1rem 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.alc-spec li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.7}
.alc-spec small{color:var(--mute)}.alc-spec b{font-weight:600;color:var(--ink);text-align:right}
.alc-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:1.2rem 0 0;color:var(--mute);font-size:12.5px}
.alc-price s{flex:0 0 100%;color:var(--mute)}
.alc-price b{font:700 30px/1.3 "Montserrat",sans-serif;color:var(--ink);letter-spacing:.02em}
.alc-card:has(s) .alc-price span{color:#F04A24;font-weight:700}
.alc-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:1.1rem}.alc-acts .btn{justify-content:center;white-space:nowrap;padding-inline:10px}
.alc-more{margin:1rem 0 0;text-align:center;font-size:13.5px}
.alc-buy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:clamp(20px,2.6vw,32px)}
.alc-buy>div{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:16px}
.alc-buy b{display:block;font:600 15px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.alc-buy b::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--or);vertical-align:.1em}
.alc-buy p{margin:.5rem 0 .6rem;font-size:13.5px;line-height:1.95}.alc-buy .tlink{font-size:13.5px}
.alc-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding:clamp(26px,4vw,48px);border-radius:24px;background:linear-gradient(135deg,#F4F8FE,#fff);border:1px solid var(--line)}
.alc-band>div{flex:1 1 420px}.alc-band h2{margin:.2rem 0 0;font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.55;color:var(--ink)}.alc-band p:not(.eyebrow){margin:.9rem 0 0;font-size:14.5px;line-height:2}
.alc-band-acts{display:flex;flex-wrap:wrap;gap:12px;margin:0}
@media(max-width:1000px){.alc-cards,.alc-pts,.alc-buy{grid-template-columns:1fr}.alc-tl{grid-template-columns:1fr}.alc-img{aspect-ratio:1/.7}}

/* ===== お問い合わせ：種類の選択・右の案内 ===== */
.path-step{display:flex;align-items:center;gap:12px;margin:0 0 1.1rem;font-size:15px}
.path-step>span{padding:3px 12px;border-radius:99px;background:var(--navy);color:#fff;font:700 11.5px/1.7 "Montserrat",sans-serif;letter-spacing:.14em}
.path-step>b{font:600 17px/1.6 var(--fh);color:var(--ink);letter-spacing:.03em}
.path-picker-lede{margin:0 0 1.4rem!important}
.path-group-t{margin:1.4rem 0 .7rem;font:600 12.5px/1.6 var(--fh);letter-spacing:.14em;color:var(--mute)}
.path-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px}
.path-sub{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
.path-card-in{display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:center;padding:20px 22px;border-radius:16px;position:relative}
.path-card-in>b,.path-card-in>span{grid-column:2}
.pc-ic{grid-column:1;grid-row:1/span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#E7F0FC;color:var(--blue);transition:background .25s,color .25s,transform .4s var(--ease,ease)}
.pc-ic svg{width:24px;height:24px}
.path-sub .path-card-in{padding:14px 18px}.path-sub .pc-ic{width:38px;height:38px;border-radius:11px}.path-sub .pc-ic svg{width:20px;height:20px}
.path-sub .path-card-in b{font-size:14.5px}.path-sub .path-card-in span{margin-top:.1rem;font-size:12.5px}
.path-card:hover .pc-ic{background:var(--blue);color:#fff;transform:scale(1.06) rotate(-3deg)}
.path-card input:checked~.path-card-in .pc-ic,.path-card.is-active .pc-ic{background:var(--blue);color:#fff}
.path-card input:checked~.path-card-in::after,.path-card.is-active .path-card-in::after{content:"";position:absolute;right:16px;top:16px;width:22px;height:22px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.path-link .path-card-in{padding-right:52px}
.path-hint{margin-top:1.6rem;padding:26px 28px;border:2px dashed #B9CBE6;border-radius:18px;background:linear-gradient(160deg,#F7FAFE,#fff)}
.path-hint .path-step{margin-bottom:.6rem}.path-hint p{margin:0;font-size:14px;line-height:1.95;color:var(--mute)}
.path-body:not([hidden])~.path-hint{display:none}
.contact-aside{background:#fff;border:1px solid var(--line);box-shadow:0 24px 50px -38px rgba(0,0,0,.55)}
.ca-eyebrow{margin:0 0 .2rem;font:700 12px/1.6 "Montserrat",sans-serif;letter-spacing:.2em;color:var(--blue)}
.contact-aside>h3{margin:0 0 1rem!important}
.ca-tel{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,var(--blue),#1B58A8);color:#fff;text-decoration:none;box-shadow:0 18px 34px -22px rgba(27,88,168,.9);transition:transform .35s var(--ease,ease),box-shadow .35s}
.ca-tel:hover{transform:scale(1.02);box-shadow:0 26px 40px -22px rgba(27,88,168,.9)}
.ca-tel>i{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--or);color:var(--ink)}.ca-tel>i svg{width:22px;height:22px}
.ca-tel b{display:block;font:700 1.55rem/1.3 "Montserrat",sans-serif;letter-spacing:.025em}.ca-tel small{display:block;margin-top:.2rem;font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.82)}
.contact-aside-note{margin:1rem 0 0!important}
.ca-h{margin:1.5rem 0 .7rem;font:600 13px/1.6 var(--fh);letter-spacing:.06em;color:var(--ink)}
.ca-flow{counter-reset:c;margin:0;padding:0;list-style:none;display:grid;gap:0}
.ca-flow li{counter-increment:c;position:relative;padding:0 0 16px 40px;font-size:13px;line-height:1.8}
.ca-flow li::before{content:counter(c);position:absolute;left:0;top:0;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font:700 12px/1 "Montserrat",sans-serif}
.ca-flow li:not(:last-child)::after{content:"";position:absolute;left:12px;top:28px;bottom:2px;width:2px;background:var(--line)}
.ca-flow b{display:block;font:600 14px/1.6 var(--fh);color:var(--ink)}.ca-flow span{display:block;color:var(--mute)}
.ca-links{margin:0 0 1.2rem;padding:0;list-style:none;display:grid;gap:8px}
.ca-links a{display:block;padding:11px 16px;border:1px solid var(--line);border-radius:12px;background:var(--mist);font:600 13.5px/1.5 var(--fh);color:var(--ink);text-decoration:none;transition:transform .3s var(--ease,ease),border-color .2s,background .2s}
.ca-links a small{display:block;margin-top:.1rem;font:400 12px/1.6 var(--f);color:var(--mute)}
.ca-links a:hover{transform:none;border-color:var(--blue);background:#fff;color:var(--blue)}
@media(max-width:700px){.path-main,.path-sub{grid-template-columns:1fr!important}}

/* ===== お問い合わせ：製品などの選択肢（チェック）を、きれいに並べる ===== */
.field-group .check-group{display:block!important}
.field-group .check-group>.field-label,.field-group .check-group>.field-label+.check-grid{grid-column:auto}
.field-group .check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:.4rem}
.field-group .check-grid .check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center;min-height:54px;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,background .2s}
.field-group .check-grid .check input{margin:0;justify-self:center}
.field-group .check-grid .check:hover{box-shadow:inset 0 0 0 1px var(--blue)}
.field-group .check-grid .check:has(input:checked){background:#EAF2FF;box-shadow:inset 0 0 0 2px var(--blue);color:var(--ink);font-weight:600}
.field-group .field-hint{margin:.9rem 0 0}
@media(max-width:600px){.field-group .check-grid{grid-template-columns:1fr}}

/* ===== careers (cr-*) ===== */
.ph5-cr .cr-hero-ph{display:none}
@media(min-width:1180px){
.ph5-cr .ph5-in>*:not(.cr-hero-ph){max-width:40em}
.ph5-cr .cr-hero-ph{display:block;position:absolute;right:var(--gut);bottom:clamp(60px,8vw,100px);width:clamp(300px,31vw,430px);aspect-ratio:1/.74;max-width:none!important}
.cr-hero-ph img{position:absolute;height:auto;border:5px solid #fff;border-radius:18px;box-shadow:0 24px 50px -22px rgba(0,0,0,.55);background:#fff}
.cr-hero-ph .p1{top:0;right:0;width:78%}
.cr-hero-ph .p2{left:0;top:42%;width:60%}
.cr-hero-ph .tag{position:absolute;left:6%;top:2%;padding:9px 18px;border-radius:99px;background:var(--or);color:var(--ink);font:700 13.5px/1 var(--f);letter-spacing:.06em;box-shadow:0 12px 24px -12px rgba(0,0,0,.5)}
}
.cr-values{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5.5vw,84px);align-items:center;padding-left:14px}
.cr-vph{position:relative;margin:0}
.cr-vph::before{content:"";position:absolute;left:-14px;bottom:-14px;width:44%;height:44%;border-radius:26px;background:var(--or)}
.cr-vph img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:24px}
.cr-vph figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:54px 24px 20px;border-radius:0 0 24px 24px;color:#fff;font:400 15px/1.6 var(--f);letter-spacing:.02em;background:linear-gradient(180deg,rgba(27,88,168,0),rgba(27,88,168,.78))}
.cr-vph figcaption b{display:block;font:700 12px/1.6 "Montserrat",sans-serif;letter-spacing:.2em;color:var(--or);text-transform:uppercase}
.cr-vl{list-style:none;margin:0;padding:0}
.cr-vl li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--line)}
.cr-vl li:last-child{border-bottom:1px solid var(--line)}
.cr-vl b{font:700 2.8rem/1 "Montserrat",sans-serif;letter-spacing:.02em;color:var(--blue);min-width:2.1em}
.v5 .cr-vl h4{font-size:1.18rem;margin-bottom:.5rem}.cr-vl p{margin:0;font-size:14.5px;line-height:1.9}
@media(max-width:899px){.cr-values{grid-template-columns:1fr;padding-left:0}.cr-vph::before{left:-8px;bottom:-8px}}
.cr-h3{font-size:1.4rem!important;margin-top:1.2rem!important}
.cr-rs{list-style:none;margin:clamp(22px,3vw,36px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.cr-rs>li{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px -32px rgba(0,0,0,.5);padding-bottom:28px}
.cr-rs figure,.cr-fl figure{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;border-radius:18px 18px 0 0;background:linear-gradient(160deg,#F2F6FD,#DCE6F6)}
.cr-rs figure img,.cr-fl figure img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 72%}
.cr-rs figure b,.cr-fl figure b{position:absolute;left:14px;top:14px;padding:6px 13px;border-radius:99px;background:var(--blue);color:#fff;font:700 12.5px/1 "Montserrat",sans-serif;letter-spacing:.14em}
.v5 .cr-rs h4,.v5 .cr-fl h4{font-size:1.06rem;margin:20px 24px .6rem}.cr-rs p,.cr-fl p{margin:0 24px;font-size:14px;line-height:1.9}
@media(max-width:1000px){.cr-rs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cr-rs{grid-template-columns:1fr}}
.cr-who{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(22px,4vw,56px);align-items:center;margin-top:clamp(40px,6vw,76px);padding:clamp(22px,3.6vw,44px);background:#fff;border:1px solid var(--line);border-radius:24px}
.cr-who figure{margin:0}.cr-who img{display:block;width:100%;height:auto;border-radius:18px}
.v5 .cr-who h3{font-size:1.4rem}
.cr-wl{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.cr-wl>li{position:relative;padding:18px 20px 18px 58px;background:var(--mist);border-radius:14px}
.cr-wl>li::before{content:"";position:absolute;left:18px;top:21px;width:24px;height:24px;border-radius:50%;background:var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1A1A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.cr-wl b{display:block;font:600 15px/1.7 var(--fh);color:var(--ink);letter-spacing:.025em;margin-bottom:.2rem}.cr-wl span{font-size:13.5px;line-height:1.85}
@media(max-width:900px){.cr-who{grid-template-columns:1fr}.cr-who figure{max-width:340px}}@media(max-width:620px){.cr-wl{grid-template-columns:1fr}}
.cr-lead{max-width:48em;margin:0}
.cr-rl{list-style:none;margin:clamp(22px,3vw,36px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,26px)}
.cr-rl>li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -32px rgba(0,0,0,.45)}
.cr-rl figure{margin:0;display:flex;align-items:center;background:linear-gradient(160deg,#F2F6FD,#DCE6F6)}
.cr-rl figure img{display:block;width:100%;height:auto}
.cr-rl>li>div{padding:26px 26px 24px;display:flex;flex-direction:column}
.v5 .cr-rl h4{font-size:1.1rem;padding-left:12px;border-left:4px solid var(--blue);margin-bottom:.8rem}
.cr-rl p{margin:0 0 .8rem;font-size:14px;line-height:1.9}
.cr-rl .rw{margin-top:auto;padding:12px 16px;border-radius:10px;background:var(--sky);font-size:13px;line-height:1.8}.cr-rl .rw b{display:block;font:700 12px/1.6 "Montserrat","Noto Sans JP",sans-serif;letter-spacing:.06em;color:var(--blue)}
@media(max-width:1000px){.cr-rl{grid-template-columns:1fr}}
@media(max-width:560px){.cr-rl>li{grid-template-columns:1fr}.cr-rl figure img{aspect-ratio:16/10;object-fit:cover}}
.cr-cb{margin-top:clamp(36px,5vw,64px);display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:clamp(22px,4vw,56px);align-items:center}
.cr-cb>div{flex:none}.cr-cb .b5{margin-top:1.4rem}
.cr-cb figure{margin:0}.cr-cb img{display:block;width:100%;height:auto;border-radius:16px;border:4px solid rgba(255,255,255,.92);box-shadow:0 22px 44px -20px rgba(0,0,0,.55)}
@media(max-width:860px){.cr-cb{grid-template-columns:1fr}.cr-cb figure{max-width:420px}}
.cr-gl{list-style:none;margin:clamp(22px,3vw,36px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.8vw,22px)}
.cr-gl li{display:flex;flex-direction:column;gap:4px;padding:22px 22px 24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px -32px rgba(0,0,0,.5)}
.cr-gl svg{width:34px;height:34px;margin-bottom:10px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cr-gl small{font:600 12px/1.5 var(--f);letter-spacing:.12em;color:var(--mute)}.cr-gl b{font:700 1.3rem/1.4 var(--f);color:var(--ink);letter-spacing:.025em}
.cr-gl+.pf5{margin-top:clamp(28px,4vw,48px)}
@media(max-width:900px){.cr-gl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cr-fl{list-style:none;margin:clamp(24px,3.4vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.2vw,30px)}
.cr-fl>li{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 40px -32px rgba(0,0,0,.5);padding-bottom:26px}
.cr-fl>li::after{content:"";position:absolute;right:-19px;top:30%;width:11px;height:11px;border-top:3px solid var(--or);border-right:3px solid var(--or);transform:rotate(45deg)}.cr-fl>li:last-child::after{display:none}
.cr-fl figure{aspect-ratio:16/11}
.cr-fl figure b{background:var(--or);color:var(--ink)}
@media(max-width:1000px){.cr-fl{grid-template-columns:repeat(2,minmax(0,1fr))}.cr-fl>li:nth-child(2)::after{display:none}}@media(max-width:560px){.cr-fl{grid-template-columns:1fr}.cr-fl>li::after{display:none}}
.cr-of{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.2vw,28px);margin-top:clamp(22px,3vw,36px)}
.cr-of figure{margin:0}.cr-of img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 22px 44px -30px rgba(0,0,0,.5)}.cr-of figcaption{margin-top:.6rem;font-size:13px;color:var(--mute)}
@media(max-width:700px){.cr-of{grid-template-columns:1fr}}
.cr-ax{display:flex;flex-wrap:wrap;align-items:center;gap:14px 30px;margin-top:20px;padding:22px 30px;border-radius:18px;color:#fff;background:radial-gradient(60% 140% at 92% 0%,rgba(255,255,255,0.12),transparent 70%),var(--grad)}
.cr-ax-t small{display:block;font:700 12px/1.6 "Montserrat",sans-serif;letter-spacing:.2em;color:var(--or)}.cr-ax-t b{font:700 1.4rem/1.4 var(--f);letter-spacing:.035em}
.cr-ax ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.cr-ax li{padding:6px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.4);font-size:13px;letter-spacing:.03em;background:rgba(255,255,255,.1)}
.cr-ax p{flex:1 1 260px;margin:0;color:rgba(255,255,255,.9);font-size:14px;line-height:1.8}
.cr-eh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,270px);gap:clamp(20px,4vw,56px);align-items:center}
.cr-eh figure{margin:0}.cr-eh img{display:block;width:100%;height:auto;border-radius:18px}
.cr-eh{margin-bottom:clamp(20px,2.6vw,32px)}.cr-eh .form-note{margin-bottom:0}
@media(max-width:760px){.cr-eh{grid-template-columns:1fr}.cr-eh figure{display:none}}
@media(hover:hover) and (pointer:fine){
.cr-rs>li,.cr-rl>li,.cr-fl>li,.cr-gl>li,.cr-who{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.cr-rs>li:hover,.cr-rl>li:hover,.cr-fl>li:hover,.cr-gl>li:hover{transform:scale(1.012);box-shadow:0 22px 40px -26px rgba(0,0,0,.42);border-color:var(--blue)}
}
@media(max-width:560px){.cr-gl li{padding:18px 16px 20px}.cr-gl b{font-size:1.02rem;white-space:nowrap}}
/* 資料センター：個別にご案内する資料 */
.dl-req{grid-template-columns:repeat(3,minmax(0,1fr))}
.dl-req li{padding:20px 22px 22px;gap:6px}.dl-req b{font-size:15.5px}.dl-req span{font-size:13.5px;line-height:1.8}
@media(max-width:900px){.dl-req{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.dl-req{grid-template-columns:1fr}}
.dl-req-flow{list-style:none;margin:clamp(22px,3vw,34px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);counter-reset:s}
.dl-req-flow li{position:relative;display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:14px;background:var(--sky)}
.dl-req-flow li::after{content:"";position:absolute;right:-18px;top:50%;width:10px;height:10px;border-top:3px solid var(--or);border-right:3px solid var(--or);transform:translateY(-50%) rotate(45deg)}.dl-req-flow li:last-child::after{display:none}
.dl-req-flow b{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font:700 13px/1 "Montserrat",sans-serif}
.dl-req-flow span{font-size:13.5px;line-height:1.7;color:var(--ink)}
@media(max-width:760px){.dl-req-flow{grid-template-columns:1fr}.dl-req-flow li::after{display:none}}
.dl-gate ul b{display:inline;font:inherit;font-weight:700;color:var(--ink)}

/* 採用ページ：人形風イラストをやめ、細線アイコンと実写に（2026-11） */
.cr-rs figure.ic,.cr-fl figure.ic{aspect-ratio:auto;height:104px;display:flex;align-items:center;justify-content:flex-end;padding:0 26px;background:linear-gradient(160deg,#F5F8FD,#E6EEF9)}
.cr-rs figure.ic svg,.cr-fl figure.ic svg{width:50px;height:50px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cr-rs figure.ic b,.cr-fl figure.ic b{left:22px;top:50%;transform:translateY(-50%);padding:0;background:none;color:rgba(27,88,168,.22);font:700 2.4rem/1 "Montserrat",sans-serif;letter-spacing:.02em}
.cr-fl figure.ic b{color:rgba(255,122,31,.5)}
.cr-who{grid-template-columns:1fr}
.cr-rl>li{grid-template-columns:1fr;display:flex;flex-direction:column}
.cr-rl figure{display:block;aspect-ratio:16/8;overflow:hidden}
.cr-rl figure img{width:100%;height:100%;object-fit:cover}
.cr-eh{grid-template-columns:1fr}
.cr-rl figure{aspect-ratio:16/6.8}.cr-rl figure img{object-position:50% 30%}
.dl-more5{margin:clamp(18px,2vw,26px) 0 0;padding:16px 20px;border:1px dashed var(--line-2,#C3D3E8);border-radius:14px;background:#fff;font-size:14px;line-height:1.9;color:var(--ink-2,#444444)}.dl-more5 a{display:block;margin-top:6px;font-weight:700;color:var(--blue)}
.dl-tgl{margin:clamp(14px,1.6vw,20px) 0 0;text-align:center}
.dl-tgl-b{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border:1.5px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font:600 14px/1.4 var(--fh);cursor:pointer;transition:background .2s,color .2s}
.dl-tgl-b::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.dl-tgl-b[aria-expanded=true]::after{transform:translateY(2px) rotate(-135deg)}
.dl-tgl-b:hover{background:var(--blue);color:#fff}
.dl-card.dl-x[hidden]{display:none}
.dl-all{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:clamp(16px,2vw,22px) 0 0}.dl-all span{font-size:13.5px;color:var(--mute)}
/* ---- 販売代理店募集：写真つきカード／濃紺のメリット帯／つながるフロー ---- */
.c3-ph>div{padding:0;overflow:hidden;display:flex;flex-direction:column}
.c3-ph figure{margin:0;aspect-ratio:16/8.4;overflow:hidden;background:var(--mist)}.c3-ph figure img{width:100%;height:100%;object-fit:cover;display:block}
.c3-ph .c3-bd{padding:22px 24px 26px}
.pt-navy{background:var(--navy);color:#fff}
.pt-navy .eyebrow{color:#9CC3F2}.pt-navy h2.en,.pt-navy .en{color:#fff}.pt-navy>.w5>p{color:rgba(255,255,255,.78)}
.pt-navy .pm5>div{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);box-shadow:none;transition:background .3s,border-color .3s}
.pt-navy .pm5>div:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.3)}
.pt-navy .pm5 b{color:var(--or);font-size:2.2rem}.v5 .pt-navy .pm5 h4{color:#fff}.pt-navy .pm5 p{color:rgba(255,255,255,.78)}
.fl5>li{background:none;box-shadow:none;border-radius:0;padding:0 22px 0 0}
.fl5>li::after{display:none}
.fl5 b{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--blue);color:#fff;font-size:1.15rem;margin-bottom:1.1rem;position:relative;z-index:1}
.fl5>li::before{content:"";position:absolute;left:54px;right:0;top:27px;height:2px;background:var(--line-2,#C3D3E8)}.fl5>li:last-child::before{display:none}
@media(max-width:1000px){.fl5>li::before{display:none}.fl5>li{padding:0 8px 8px 0}}
.fl5 p br,.pm5 p br,.c3-ph p br{display:none}

/* 写真つきヒーロー（会社概要・事業紹介・採用）：白文字が読めるよう、ロゴの青＋中性の墨色だけで暗めに整える */
.ph5-photo .ph5-bg{filter:saturate(.9) contrast(1.02)}
.ph5-photo::before{background:linear-gradient(180deg,rgba(26,26,26,.16) 0%,rgba(26,26,26,.26) 55%,rgba(26,26,26,.4) 100%),linear-gradient(90deg,rgba(27,88,168,.93) 0%,rgba(27,88,168,.8) 48%,rgba(27,88,168,.6) 100%)}
.ph5-photo h1,.ph5-photo .en,.ph5-photo p{text-shadow:0 1px 18px rgba(10,24,48,.28)}

/* コントラスト是正（WCAG AA）：小さな文字に #F04A24 を使わない／大きさで基準を満たす */
.ab-stats small{color:var(--blue)}
.sup-cards em{color:var(--blue)}
.cmp-tbl b.sp{font-size:1.2rem}
.catband .cb-btn span{color:var(--ink)}
.pg5-sec:not(.sec-deep) .ab-stats small{color:var(--blue)}
