@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}
/* ---- hero ---- */
.hero5{position:relative;min-height:max(700px,100svh);color:#fff;overflow:hidden;display:flex;align-items:flex-end;background:var(--navy)}
.hero5-bg{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:50% 38%}
.hero5-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,88,168,.5) 0%,rgba(27,88,168,.05) 26%,rgba(27,88,168,0) 55%)}
.hero5-sw{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:min(58%,520px);min-height:360px;display:block}
.hero5-in{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:120px var(--gut) clamp(52px,8vh,96px)}
.hero5-k{display:flex;gap:.9em;margin:0 0 1rem!important;font:600 15px/1.4 var(--fh);letter-spacing:.14em}.hero5-k i{font-style:normal;color:var(--or)}
.hero5 h1{color:#fff;font-size:clamp(2.1rem,4.8vw,4.2rem);line-height:1.38;letter-spacing:.035em;text-shadow:0 2px 28px rgba(0,0,0,.4)}
.hero5 h1 em{font-style:normal;color:var(--or)}
.hero5-brand{display:flex;align-items:center;gap:clamp(22px,2.6vw,38px);margin:clamp(36px,5.5vh,60px) 0 0}.hero5-logo{flex:none;width:clamp(170px,19vw,290px);height:auto;filter:drop-shadow(0 4px 22px rgba(0,0,0,.35))}.hero5-brand .hero5-lede{margin:0;padding-left:clamp(22px,2.6vw,38px);border-left:1px solid rgba(255,255,255,.4)}.hero5-lede{max-width:44em;color:rgba(255,255,255,.94);font-size:15.5px;line-height:2.05}
.hero5-acts{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px;margin-top:30px}
.hero5-tk{position:absolute;z-index:3;right:clamp(16px,2.6vw,40px);bottom:clamp(20px,3.4vh,34px);display:grid;gap:6px;width:min(600px,calc(100% - 32px))}
.hero5-tk-h{display:flex;align-items:center;justify-content:space-between;margin:0 0 2px;color:#fff;font:700 12px/1 "Montserrat",sans-serif;letter-spacing:.2em}.hero5-tk-h a{color:#fff;font:600 12px/1 var(--f);letter-spacing:.045em;text-decoration:underline;text-underline-offset:3px}
.hero5-tk>a:not(.x){display:flex;align-items:stretch;background:#fff;border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 12px 30px -16px rgba(0,0,0,.6)}
.hero5-tk time{display:grid;place-items:center;flex:none;width:112px;padding:0;background:var(--blue);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);color:#fff;font:600 12.5px/1 var(--f);letter-spacing:.045em}
.hero5-tk>a span{flex:1;min-width:0;padding:10px 16px;font:400 13px/1.5 var(--f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero5-tk svg{align-self:center;flex:none;width:16px;height:16px;margin-right:14px;color:var(--blue)}
.hero5-tk>a:hover span{color:var(--blue)}

/* ---- message ---- */
.msg5{position:relative;overflow:hidden;color:#fff;background:radial-gradient(55% 45% at 82% 18%,rgba(255,255,255,0.11),transparent 72%),var(--grad);padding:clamp(72px,10vw,150px) 0 clamp(90px,12vw,170px)}
.msg5-globe{position:absolute;right:-16%;top:-6%;width:min(92vw,900px);height:auto;opacity:.92;pointer-events:none;animation:drift 28s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-2%,3%,0) rotate(6deg)}}
@media(prefers-reduced-motion:reduce){.msg5-globe{animation:none}}
.msg5-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center}
.msg5 h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.3rem);margin:1.6rem 0 1.4rem}
.msg5 p{color:rgba(255,255,255,.9)}.msg5 .eyebrow.w{color:#fff}
.msg5 .b5{margin-top:1.8rem}
.msg5-ph{position:relative;aspect-ratio:1/1.08}
.msg5-ph img{position:absolute;border-radius:16px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7);object-fit:cover}
.msg5-ph .p1{top:0;right:0;width:78%;aspect-ratio:1400/748}
.msg5-ph .p2{left:0;top:40%;width:46%;aspect-ratio:4/3}
.msg5-ph .p3{right:3%;bottom:0;width:58%;aspect-ratio:1280/800;z-index:2}


/* ---- business ---- */
.bz5{padding:clamp(72px,9vw,130px) 0;background:#fff}
.bz5-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);margin-top:clamp(36px,5vw,64px);align-items:start}
.bz5-dg{position:sticky;top:110px}
.dg{position:relative;aspect-ratio:1/1.08;max-width:560px;margin:0 auto}
.dg-bg{position:absolute;left:6%;top:11%;width:88%;aspect-ratio:1;border-radius:50%;background:linear-gradient(180deg,#8DB4E5 0%,#D3E2F5 55%,#EEF4FC 100%)}
.dg-ring{position:absolute;left:28%;top:33%;width:44%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 210deg,#1B58A8,#1B58A8,#1B58A8,#1B58A8,#1B58A8);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 20px),#000 calc(100% - 19px));mask:radial-gradient(farthest-side,transparent calc(100% - 20px),#000 calc(100% - 19px))}
.dg-c{position:absolute;left:32%;top:37%;width:36%;aspect-ratio:1;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 30px -16px rgba(0,0,0,.5)}
.dg-c img{width:58%;height:auto;margin-bottom:6px}.dg-c p{margin:0;font:600 clamp(10px,1.2vw,13px)/1.5 var(--fh);color:var(--blue);letter-spacing:.025em}
.nd{position:absolute;width:31%;min-width:104px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;background:#fff;border:3px solid var(--blue);border-radius:12px;text-align:center;transition:border-color .3s,box-shadow .3s,transform .3s}
.nd svg{width:clamp(30px,5vw,46px);height:auto;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nd span{font:600 clamp(11px,1.25vw,13.5px)/1.45 var(--fh);color:var(--ink);letter-spacing:.025em}
.nd.on{border-color:var(--or);box-shadow:0 16px 30px -14px rgba(255,122,31,.8);transform:scale(1.06)}.nd.on svg{stroke:var(--orh)}
.n1{top:0;left:34.5%}.n2{right:0;top:40%}.n3{bottom:0;left:34.5%}.n4{left:0;top:40%}
.bi{padding-bottom:clamp(36px,5vw,60px);margin-bottom:clamp(36px,5vw,60px);border-bottom:1px solid var(--line)}.bi:last-child{border:0;margin-bottom:0;padding-bottom:0}
.bi h3{font-size:clamp(1.35rem,2vw,1.8rem);margin:0 0 1rem}
.bi-ph{display:block;border-radius:16px;overflow:hidden;margin:0 0 1.2rem;background:var(--mist)}.bi-ph img{width:100%;height:auto;transition:transform .6s}.bi-ph:hover img{transform:scale(1.04)}
.bi p:not(.chip){margin:0 0 1.5rem}

/* ---- strengths ---- */
.st5{padding:clamp(72px,9vw,130px) 0;background:linear-gradient(180deg,#D9E7F8 0%,#EEF4FC 50%,#fff 100%)}
.st5-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.st5-head{grid-column:1/3;align-self:center;padding-right:clamp(0px,3vw,48px)}
.st5-head h3{font-size:clamp(1.5rem,2.6vw,2.3rem);margin:1.4rem 0 1.2rem}
.sc{position:relative;background:#fff;border-radius:20px;padding:26px 28px 30px;box-shadow:0 22px 44px -32px rgba(0,0,0,.45);min-width:0}
.sc .no{margin:0 0 1.4rem;font:700 12px/1 var(--f);color:var(--blue);letter-spacing:.045em}
.sc .ic{position:absolute;top:20px;right:20px;width:76px;height:76px;border-radius:50%;background:var(--mist);display:grid;place-items:center}
.sc .ic svg{width:40px;height:40px;fill:none;stroke:var(--blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sc:nth-of-type(odd) .ic svg{stroke:var(--blue)}
.sc .lb{display:inline-block;margin:0 0 .5rem;background:var(--mist);color:var(--ink);font:600 13px/1.7 var(--fh);padding:0 10px;border-radius:4px;letter-spacing:.025em}
.sc .nm{margin:0;display:flex;align-items:baseline;gap:.28em;line-height:1.15}
.sc .nm b{font:600 clamp(3rem,5vw,4.8rem)/1.1 var(--fh);color:var(--blue);letter-spacing:.02em}.sc .nm span{font:600 clamp(1.1rem,1.6vw,1.45rem)/1 var(--fh);color:var(--ink)}
.sc .cp{margin:1.1rem 0 0;font:600 clamp(1rem,1.4vw,1.25rem)/1.75 var(--fh);color:var(--ink);letter-spacing:.025em}

/* ---- guide ---- */
.gd5{padding:clamp(72px,9vw,130px) 0;background:#fff}
.gd5-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center}
.gd5-ph{border-radius:20px;overflow:hidden;background:var(--mist);box-shadow:0 30px 60px -36px rgba(0,0,0,.5)}.gd5-ph img{width:100%;height:auto}
.gd5-tx h3{font-size:clamp(1.5rem,2.6vw,2.3rem);margin:1.4rem 0 1.2rem}
.gd5-list{margin-top:2rem;border-top:1px solid var(--line)}
.gd5-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 4px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .2s}
.gd5-list a:hover{background:var(--mist);padding-inline:16px}
.gd5-list b{display:block;font:600 1.15rem/1.5 var(--fh);color:var(--ink)}.gd5-list small{display:block;font:700 11px/1.6 var(--f);color:var(--blue);letter-spacing:.14em}
.gd5-list i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--blue);color:#fff}.gd5-list svg{width:17px;height:17px}.gd5-list a:hover i{background:var(--or);color:var(--ink)}

/* ---- reasons（重なっていくカード）---- */
.rs5{position:relative;background:var(--grad);color:#fff;padding:clamp(72px,9vw,130px) 0 clamp(90px,11vw,160px)}
.rs5-h{color:#fff!important;font-size:clamp(1.5rem,2.6vw,2.3rem);margin:1.4rem 0 0}
.rs5-stack{margin-top:clamp(36px,5vw,64px)}
.rc{position:sticky;top:calc(96px + var(--k,0)*18px);display:grid;grid-template-columns:minmax(150px,200px) minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3.4vw,52px);align-items:center;min-height:clamp(360px,56vh,500px);padding:clamp(26px,4vw,56px);margin-bottom:26px;border-radius:36px;color:var(--tx);box-shadow:0 -18px 40px -26px rgba(0,0,0,.5)}
.rc.c1{--k:0;background:#fff}.rc.c2{--k:1;background:#F3F7FC}.rc.c3{--k:2;background:#DCE8F7}.rc.c4{--k:3;background:#C6D8F0}
.rc-n{text-align:center}.rc-n .chip{margin:0 0 .4rem}.rc-n b{display:block;font:700 clamp(4.2rem,8vw,7.6rem)/1 "Montserrat",sans-serif;color:var(--blue);letter-spacing:.02em}
.rc-ph{border-radius:14px;overflow:hidden;aspect-ratio:3/2;background:#fff;display:grid;place-items:center}.rc-ph img{width:100%;height:100%;object-fit:contain}
.rc-tx h3{font-size:clamp(1.25rem,2vw,1.75rem);margin:0 0 1rem}.rc-tx p{margin:0 0 1.4rem}
.tl5{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font:600 15px/1.6 var(--fh);letter-spacing:.035em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.tl5 svg{width:16px;height:16px}.tl5:hover{color:var(--deep)}

/* ---- news ---- */
.nw5{padding:clamp(72px,9vw,130px) 0;background:#fff}
.nw5-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:clamp(24px,3.4vw,44px)}
.nw5-list{border-top:1px solid var(--line)}
.nw5-list a{display:grid;grid-template-columns:112px 112px minmax(0,1fr) 20px;gap:20px;align-items:center;padding:22px 10px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s}
.nw5-list a:hover{background:var(--mist)}
.nw5-list time{font:400 14px/1 var(--f);color:var(--mute);letter-spacing:.02em}
.nw5-list .tg{text-align:center;background:var(--sky);color:var(--blue);font:400 12px/1.9 var(--f);border-radius:4px;letter-spacing:.02em}.nw5-list .tg.m{background:#FFF1E2;color:#1A1A1A}
.nw5-list .tt{font:400 16px/1.7 var(--f);color:var(--ink);letter-spacing:.02em}.nw5-list svg{width:18px;height:18px;color:var(--blue)}

/* ---- responsive ---- */
@media(max-width:1099px){.hero5-tk{position:relative;right:auto;bottom:auto;margin:0 var(--gut) 28px;z-index:3}.hero5{flex-direction:column;justify-content:flex-end;align-items:stretch}}
@media(max-width:899px){
.msg5-grid,.bz5-grid,.gd5-grid{grid-template-columns:1fr}
.bz5-dg{position:static}.dg{max-width:420px}
.msg5-ph{max-width:520px;margin:0 auto;width:100%}
.st5-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.st5-head{grid-column:1/-1}.sc.big{grid-column:1/-1}
.rc{grid-template-columns:1fr;position:relative;top:auto;min-height:0}.rc-n{display:flex;align-items:center;gap:16px;text-align:left}.rc-n .chip{margin:0}.rc-n b{font-size:3.6rem}
.nw5-list a{grid-template-areas:"d t a" "n n a";grid-template-columns:auto minmax(0,1fr) 20px;gap:8px 14px;align-items:center}
.nw5-list time{grid-area:d}.nw5-list .tg{grid-area:t;justify-self:start;padding:0 12px}.nw5-list .tt{grid-area:n;min-width:0;overflow-wrap:anywhere}.nw5-list svg{grid-area:a}
}
@media(max-width:600px){
.st5-grid{grid-template-columns:1fr}
.hero5-in{padding-top:110px}.b5{height:52px;padding-left:20px}.b5 i{width:36px;height:36px}
.hero5-tk>a span{white-space:normal;max-height:3.1em}
}
@media(max-width:1099px){.hero5-tk time{width:86px;font-size:11px;letter-spacing:.025em}.hero5-tk>a span{padding:9px 12px;font-size:12.5px;max-height:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}

@media(max-width:760px){.hero5-brand{flex-direction:column;align-items:flex-start;gap:16px}.hero5-logo{width:178px}.hero5-brand .hero5-lede{padding-left:0;border-left:0;font-size:14.5px;line-height:1.95}}
@media(min-width:1100px){.hero5-in{padding-bottom:clamp(112px,15vh,170px)}.hero5-brand .hero5-lede{max-width:34em}}
@media(max-width:600px){.hero5-tk>a span{max-height:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}}
@media(max-width:1099px){.hero5-tk>a:not(.x){padding:9px 0}.hero5-tk>a span{padding:0 12px}.hero5-tk time{margin:-9px 0}}
/* KV：動画は動かしたまま、色は以前の深いブルーのトーンに戻す */
.hero5-bg{filter:saturate(.78) brightness(.8) contrast(1.04)}
.hero5-shade{background:linear-gradient(180deg,rgba(27,88,168,.46) 0%,rgba(12,44,92,.28) 34%,rgba(14,52,110,.24) 62%,rgba(27,88,168,.34) 100%)}
.hero5-shade::after{content:"";position:absolute;inset:0;background:#1B58A8;mix-blend-mode:soft-light;opacity:.28}
.sc .nm span.pl{font:600 .95rem/1 var(--fh);color:var(--ink);align-self:flex-start;margin-top:.5em;opacity:.8}
:root{--hwrap:1480px}
/* お知らせのティッカー：右端を、本文の右端にそろえる／スマホでは左右の余白を同じに */
@media(min-width:1100px){.hero5-tk{right:calc(max(0px,(100% - var(--hwrap))/2) + var(--gut))}}
@media(max-width:1099px){.hero5-tk{width:auto}}
