/* scripts/build-fonts.py による生成物。編集時は再生成する。 */

@font-face {
  font-family: "Zen Maru Gothic";
  src: url("/fonts/zen-maru-gothic-700-core.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+20-7E,U+A9,U+D7,U+2122,U+3000-3015,U+301C-301D,U+301F-3020,U+3041-3094,U+309B-309E,U+30A1-30FE,U+4E00,U+4E08,U+4E0A,U+4E0D,U+4E26,U+4E2D,U+4E88,U+4ECA-4ECB,U+4ED8,U+4EE4,U+4EF2,U+4F1A,U+4F1D,U+4F34,U+4F53,U+4F55,U+4F5C,U+4F7F,U+4F9B,U+4FDD,U+5012,U+50AC,U+512A,U+5148,U+5165,U+516C,U+5171,U+5185-5186,U+5206,U+521D,U+5236,U+524D,U+529B,U+52A0,U+52D5,U+5316,U+53C2,U+53D6-53D7,U+53EF,U+5404,U+5408,U+540C-540D,U+5411,U+5468,U+547D,U+554F,U+56DE,U+56E3,U+56FA,U+57FC,U+5834,U+58F0,U+5909,U+591A,U+5927,U+592B,U+5931,U+597D,U+5B50,U+5B66,U+5B89,U+5B9A,U+5B9F,U+5BA2,U+5BA4,U+5BAE,U+5BFE,U+5C02,U+5C0E-5C0F,U+5C3E,U+5DE5,U+5E02,U+5E0C,U+5E2B,U+5E74,U+5E8A,U+5EA6,U+5F0F,U+5F53,U+5F62,U+5F8C,U+5F92,U+5FC3,U+601D,U+6050,U+610F,U+611F,U+6210,U+6240,U+624B,U+6255,U+6301,U+63A2,U+63D0,U+643A,U+64CD,U+6557,U+6559,U+6587,U+6599,U+65B0,U+65B9,U+65BD,U+65E5,U+660E,U+6642,U+6700,U+6709,U+671B,U+672A,U+672C,U+673A,U+6750-6751,U+6765,U+679C,U+6821,U+6848,U+6905,U+697D,U+69D8,U+6B53,U+6B69,U+6C17,U+6CC1,U+6E80,U+7269,U+72B6,U+7389,U+73FE,U+7406,U+751F,U+7528,U+7530-7531,U+7533,U+753A,U+756A,U+767A,U+76F8,U+770C,U+7740,U+77E5,U+78BA,U+793E,U+79C0,U+79FB,U+7A0B,U+7A7A,U+7ACB,U+7B11,U+7D04,U+7D39,U+7D44,U+7D50,U+7D75,U+7D9A,U+7DCF,U+7DD1-7DD2,U+7DDA,U+8003,U+8005,U+80B2,U+80FD,U+81EA,U+826F,U+8449,U+884C,U+8868,U+88CF,U+8907,U+8981,U+898B,U+89A7,U+89B3,U+8A00,U+8A66,U+8A73,U+8A8D,U+8AAC,U+8AC7,U+8B1B,U+8B77,U+8C61,U+8CBB,U+8CC7,U+8CDE,U+8CEA,U+8CFC,U+8D70,U+8D85,U+8DB3,U+8DEF,U+8ECA,U+8EFD,U+8F09,U+8F2A,U+8FBA,U+8FBC,U+8FCE,U+8FD1,U+901A,U+9053,U+9078,U+907F,U+90E8,U+91CD,U+91D1,U+9244,U+9577,U+9580,U+958B,U+9593,U+96FB,U+9762,U+9806,U+9854,U+9867,U+98F2,U+99C5,U+99D0,U+9A13,U+FF01,U+FF06,U+FF08-FF0A,U+FF0F,U+FF1A,U+FF1F,U+FF5C;
}

@font-face {
  font-family: "Zen Maru Gothic";
  src: url("/fonts/zen-maru-gothic-700-fallback.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+7F-A8,U+AA-D6,U+D8-2121,U+2123-2712,U+2714-2FFF,U+3100-4DFF,U+4E01-4E07,U+4E09,U+4E0B-4E0C,U+4E0E-4E25,U+4E27-4E2C,U+4E2E-4E87,U+4E89-4EC9,U+4ECC-4ED7,U+4ED9-4EE3,U+4EE5-4EF1,U+4EF3-4F19,U+4F1B-4F1C,U+4F1E-4F33,U+4F35-4F52,U+4F54,U+4F56-4F5B,U+4F5D-4F7E,U+4F80-4F9A,U+4F9C-4FDC,U+4FDE-5011,U+5013-50AB,U+50AD-5129,U+512B-5147,U+5149-5164,U+5166-516B,U+516D-5170,U+5172-5184,U+5187-5205,U+5207-521C,U+521E-5235,U+5237-524C,U+524E-529A,U+529C-529F,U+52A1-52D4,U+52D6-5315,U+5317-53C1,U+53C3-53D5,U+53D8-53EE,U+53F0-5403,U+5405-5407,U+5409-540B,U+540E-5410,U+5412-5467,U+5469-547C,U+547E-554E,U+5550-56DD,U+56DF-56E2,U+56E4-56F9,U+56FB-57FB,U+57FD-5833,U+5835-58EF,U+58F1-5908,U+590A-5919,U+591B-5926,U+5928-592A,U+592C-5930,U+5932-597C,U+597E-5B4F,U+5B51-5B65,U+5B67-5B88,U+5B8A-5B99,U+5B9B-5B9E,U+5BA0-5BA1,U+5BA3,U+5BA5-5BAD,U+5BAF-5BFD,U+5BFF-5C01,U+5C03-5C0D,U+5C10-5C3D,U+5C3F-5DE4,U+5DE6-5E01,U+5E03-5E0B,U+5E0D-5E2A,U+5E2C-5E73,U+5E75-5E89,U+5E8B-5EA5,U+5EA7-5F0E,U+5F10-5F52,U+5F54-5F61,U+5F63-5F8B,U+5F8D-5F91,U+5F93-5FC2,U+5FC4-601C,U+601E-604F,U+6051-610E,U+6110-611E,U+6120-620F,U+6211-623F,U+6241-624A,U+624C-6254,U+6256-6300,U+6302-63A1,U+63A3-63CF,U+63D1-6439,U+643B-64CC,U+64CE-6556,U+6558,U+655A-6586,U+6588-6598,U+659A-65AF,U+65B1-65B8,U+65BA-65BC,U+65BE-65E4,U+65E6-660D,U+660F-6641,U+6643-66FF,U+6701-6708,U+670A-671A,U+671C-6729,U+672B,U+672D-6739,U+673B-674F,U+6752-6764,U+6766-679B,U+679D-6820,U+6822-6847,U+6849-6904,U+6906-697C,U+697E-69D7,U+69D9-6B52,U+6B54-6B68,U+6B6A-6C16,U+6C18-6CC0,U+6CC2-6E7F,U+6E81-7268,U+726A-72B5,U+72B7-7388,U+738A-73FD,U+73FF-7405,U+7407-751E,U+7520-7527,U+7529-752F,U+7532,U+7534-7539,U+753B-7569,U+756B-7679,U+767B-76F7,U+76F9-770B,U+770D-773F,U+7741-77E4,U+77E6-78B9,U+78BB-793D,U+793F-79BF,U+79C1-79FA,U+79FC-7A0A,U+7A0C-7A79,U+7A7B-7ACA,U+7ACC-7B10,U+7B12-7D03,U+7D05-7D38,U+7D3A-7D43,U+7D45-7D4F,U+7D51-7D74,U+7D76-7D99,U+7D9B-7DCE,U+7DD0,U+7DD3-7DD9,U+7DDB-8002,U+8004,U+8006-80B1,U+80B3-80FC,U+80FE-81E9,U+81EB-826E,U+8270-8448,U+844A-884B,U+884D-8867,U+8869-88CE,U+88D0-8906,U+8908-8980,U+8982-898A,U+898C-89A6,U+89A8-89B2,U+89B4-89FF,U+8A01-8A65,U+8A67-8A72,U+8A74-8A8C,U+8A8E-8AAB,U+8AAD-8AC6,U+8AC8-8B1A,U+8B1C-8B76,U+8B78-8C60,U+8C62-8CBA,U+8CBC-8CC6,U+8CC8-8CDD,U+8CDF-8CE9,U+8CEB-8CFB,U+8CFD-8D6F,U+8D71-8D84,U+8D86-8DB2,U+8DB4-8DEE,U+8DF0-8EC9,U+8ECB-8EFC,U+8EFE-8F08,U+8F0A-8F29,U+8F2B-8FB9,U+8FBB,U+8FBD-8FCD,U+8FCF-8FD0,U+8FD2-9019,U+901B-9052,U+9054-9077,U+9079-907E,U+9080-90E7,U+90E9-91CC,U+91CE-91D0,U+91D2-9243,U+9245-9576,U+9578-957F,U+9581-958A,U+958C-9592,U+9594-96FA,U+96FC-9761,U+9763-9805,U+9807-9853,U+9855-9866,U+9868-98F1,U+98F3-99C4,U+99C6-99CF,U+99D1-9A12,U+9A14-FF00,U+FF02-FF05,U+FF07,U+FF0B-FF0E,U+FF10-FF19,U+FF1B-FF1E,U+FF20-FF5B,U+FF5D-FFE5;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("/fonts/noto-sans-jp-400-core.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+20-7E,U+A9,U+D7,U+2122,U+2713,U+3000-303F,U+3041-3096,U+3099-30FF,U+4E00,U+4E08,U+4E0A,U+4E0D,U+4E26,U+4E2D,U+4E88,U+4ECA-4ECB,U+4ED8,U+4EE4,U+4EF2,U+4F1A,U+4F1D,U+4F34,U+4F53,U+4F55,U+4F5C,U+4F7F,U+4F9B,U+4FDD,U+5012,U+50AC,U+512A,U+5148,U+5165,U+516C,U+5171,U+5185-5186,U+5206,U+521D,U+5236,U+524D,U+529B,U+52A0,U+52D5,U+5316,U+53C2,U+53D6-53D7,U+53EF,U+5404,U+5408,U+540C-540D,U+5411,U+5468,U+547D,U+554F,U+56DE,U+56E3,U+56FA,U+57FC,U+5834,U+58F0,U+5909,U+591A,U+5927,U+592B,U+5931,U+597D,U+5B50,U+5B66,U+5B89,U+5B9A,U+5B9F,U+5BA2,U+5BA4,U+5BAE,U+5BFE,U+5C02,U+5C0E-5C0F,U+5C3E,U+5DE5,U+5E02,U+5E0C,U+5E2B,U+5E74,U+5E8A,U+5EA6,U+5F0F,U+5F53,U+5F62,U+5F8C,U+5F92,U+5FC3,U+601D,U+6050,U+610F,U+611F,U+6210,U+6240,U+624B,U+6255,U+6301,U+63A2,U+63D0,U+643A,U+64CD,U+6557,U+6559,U+6587,U+6599,U+65B0,U+65B9,U+65BD,U+65E5,U+660E,U+6642,U+6700,U+6709,U+671B,U+672A,U+672C,U+673A,U+6750-6751,U+6765,U+679C,U+6821,U+6848,U+6905,U+697D,U+69D8,U+6B53,U+6B69,U+6C17,U+6CC1,U+6E80,U+7269,U+72B6,U+7389,U+73FE,U+7406,U+751F,U+7528,U+7530-7531,U+7533,U+753A,U+756A,U+767A,U+76F8,U+770C,U+7740,U+77E5,U+78BA,U+793E,U+79C0,U+79FB,U+7A0B,U+7A7A,U+7ACB,U+7B11,U+7D04,U+7D39,U+7D44,U+7D50,U+7D75,U+7D9A,U+7DCF,U+7DD1-7DD2,U+7DDA,U+8003,U+8005,U+80B2,U+80FD,U+81EA,U+826F,U+8449,U+884C,U+8868,U+88CF,U+8907,U+8981,U+898B,U+89A7,U+89B3,U+8A00,U+8A66,U+8A73,U+8A8D,U+8AAC,U+8AC7,U+8B1B,U+8B77,U+8C61,U+8CBB,U+8CC7,U+8CDE,U+8CEA,U+8CFC,U+8D70,U+8D85,U+8DB3,U+8DEF,U+8ECA,U+8EFD,U+8F09,U+8F2A,U+8FBA,U+8FBC,U+8FCE,U+8FD1,U+901A,U+9053,U+9078,U+907F,U+90E8,U+91CD,U+91D1,U+9244,U+9577,U+9580,U+958B,U+9593,U+96FB,U+9762,U+9806,U+9854,U+9867,U+98F2,U+99C5,U+99D0,U+9A13,U+FF01,U+FF06,U+FF08-FF0A,U+FF0F,U+FF1A,U+FF1F,U+FF5C;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("/fonts/noto-sans-jp-400-fallback.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+7F-A8,U+AA-D6,U+D8-2121,U+2123-2712,U+2714-2FFF,U+3100-4DFF,U+4E01-4E07,U+4E09,U+4E0B-4E0C,U+4E0E-4E25,U+4E27-4E2C,U+4E2E-4E87,U+4E89-4EC9,U+4ECC-4ED7,U+4ED9-4EE3,U+4EE5-4EF1,U+4EF3-4F19,U+4F1B-4F1C,U+4F1E-4F33,U+4F35-4F52,U+4F54,U+4F56-4F5B,U+4F5D-4F7E,U+4F80-4F9A,U+4F9C-4FDC,U+4FDE-5011,U+5013-50AB,U+50AD-5129,U+512B-5147,U+5149-5164,U+5166-516B,U+516D-5170,U+5172-5184,U+5187-5205,U+5207-521C,U+521E-5235,U+5237-524C,U+524E-529A,U+529C-529F,U+52A1-52D4,U+52D6-5315,U+5317-53C1,U+53C3-53D5,U+53D8-53EE,U+53F0-5403,U+5405-5407,U+5409-540B,U+540E-5410,U+5412-5467,U+5469-547C,U+547E-554E,U+5550-56DD,U+56DF-56E2,U+56E4-56F9,U+56FB-57FB,U+57FD-5833,U+5835-58EF,U+58F1-5908,U+590A-5919,U+591B-5926,U+5928-592A,U+592C-5930,U+5932-597C,U+597E-5B4F,U+5B51-5B65,U+5B67-5B88,U+5B8A-5B99,U+5B9B-5B9E,U+5BA0-5BA1,U+5BA3,U+5BA5-5BAD,U+5BAF-5BFD,U+5BFF-5C01,U+5C03-5C0D,U+5C10-5C3D,U+5C3F-5DE4,U+5DE6-5E01,U+5E03-5E0B,U+5E0D-5E2A,U+5E2C-5E73,U+5E75-5E89,U+5E8B-5EA5,U+5EA7-5F0E,U+5F10-5F52,U+5F54-5F61,U+5F63-5F8B,U+5F8D-5F91,U+5F93-5FC2,U+5FC4-601C,U+601E-604F,U+6051-610E,U+6110-611E,U+6120-620F,U+6211-623F,U+6241-624A,U+624C-6254,U+6256-6300,U+6302-63A1,U+63A3-63CF,U+63D1-6439,U+643B-64CC,U+64CE-6556,U+6558,U+655A-6586,U+6588-6598,U+659A-65AF,U+65B1-65B8,U+65BA-65BC,U+65BE-65E4,U+65E6-660D,U+660F-6641,U+6643-66FF,U+6701-6708,U+670A-671A,U+671C-6729,U+672B,U+672D-6739,U+673B-674F,U+6752-6764,U+6766-679B,U+679D-6820,U+6822-6847,U+6849-6904,U+6906-697C,U+697E-69D7,U+69D9-6B52,U+6B54-6B68,U+6B6A-6C16,U+6C18-6CC0,U+6CC2-6E7F,U+6E81-7268,U+726A-72B5,U+72B7-7388,U+738A-73FD,U+73FF-7405,U+7407-751E,U+7520-7527,U+7529-752F,U+7532,U+7534-7539,U+753B-7569,U+756B-7679,U+767B-76F7,U+76F9-770B,U+770D-773F,U+7741-77E4,U+77E6-78B9,U+78BB-793D,U+793F-79BF,U+79C1-79FA,U+79FC-7A0A,U+7A0C-7A79,U+7A7B-7ACA,U+7ACC-7B10,U+7B12-7D03,U+7D05-7D38,U+7D3A-7D43,U+7D45-7D4F,U+7D51-7D74,U+7D76-7D99,U+7D9B-7DCE,U+7DD0,U+7DD3-7DD9,U+7DDB-8002,U+8004,U+8006-80B1,U+80B3-80FC,U+80FE-81E9,U+81EB-826E,U+8270-8448,U+844A-884B,U+884D-8867,U+8869-88CE,U+88D0-8906,U+8908-8980,U+8982-898A,U+898C-89A6,U+89A8-89B2,U+89B4-89FF,U+8A01-8A65,U+8A67-8A72,U+8A74-8A8C,U+8A8E-8AAB,U+8AAD-8AC6,U+8AC8-8B1A,U+8B1C-8B76,U+8B78-8C60,U+8C62-8CBA,U+8CBC-8CC6,U+8CC8-8CDD,U+8CDF-8CE9,U+8CEB-8CFB,U+8CFD-8D6F,U+8D71-8D84,U+8D86-8DB2,U+8DB4-8DEE,U+8DF0-8EC9,U+8ECB-8EFC,U+8EFE-8F08,U+8F0A-8F29,U+8F2B-8FB9,U+8FBB,U+8FBD-8FCD,U+8FCF-8FD0,U+8FD2-9019,U+901B-9052,U+9054-9077,U+9079-907E,U+9080-90E7,U+90E9-91CC,U+91CE-91D0,U+91D2-9243,U+9245-9576,U+9578-957F,U+9581-958A,U+958C-9592,U+9594-96FA,U+96FC-9761,U+9763-9805,U+9807-9853,U+9855-9866,U+9868-98F1,U+98F3-99C4,U+99C6-99CF,U+99D1-9A12,U+9A14-FF00,U+FF02-FF05,U+FF07,U+FF0B-FF0E,U+FF10-FF19,U+FF1B-FF1E,U+FF20-FF5B,U+FF5D-3106C;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("/fonts/noto-sans-jp-700-core.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+20-7E,U+A9,U+D7,U+2122,U+2713,U+3000-303F,U+3041-3096,U+3099-30FF,U+4E00,U+4E08,U+4E0A,U+4E0D,U+4E26,U+4E2D,U+4E88,U+4ECA-4ECB,U+4ED8,U+4EE4,U+4EF2,U+4F1A,U+4F1D,U+4F34,U+4F53,U+4F55,U+4F5C,U+4F7F,U+4F9B,U+4FDD,U+5012,U+50AC,U+512A,U+5148,U+5165,U+516C,U+5171,U+5185-5186,U+5206,U+521D,U+5236,U+524D,U+529B,U+52A0,U+52D5,U+5316,U+53C2,U+53D6-53D7,U+53EF,U+5404,U+5408,U+540C-540D,U+5411,U+5468,U+547D,U+554F,U+56DE,U+56E3,U+56FA,U+57FC,U+5834,U+58F0,U+5909,U+591A,U+5927,U+592B,U+5931,U+597D,U+5B50,U+5B66,U+5B89,U+5B9A,U+5B9F,U+5BA2,U+5BA4,U+5BAE,U+5BFE,U+5C02,U+5C0E-5C0F,U+5C3E,U+5DE5,U+5E02,U+5E0C,U+5E2B,U+5E74,U+5E8A,U+5EA6,U+5F0F,U+5F53,U+5F62,U+5F8C,U+5F92,U+5FC3,U+601D,U+6050,U+610F,U+611F,U+6210,U+6240,U+624B,U+6255,U+6301,U+63A2,U+63D0,U+643A,U+64CD,U+6557,U+6559,U+6587,U+6599,U+65B0,U+65B9,U+65BD,U+65E5,U+660E,U+6642,U+6700,U+6709,U+671B,U+672A,U+672C,U+673A,U+6750-6751,U+6765,U+679C,U+6821,U+6848,U+6905,U+697D,U+69D8,U+6B53,U+6B69,U+6C17,U+6CC1,U+6E80,U+7269,U+72B6,U+7389,U+73FE,U+7406,U+751F,U+7528,U+7530-7531,U+7533,U+753A,U+756A,U+767A,U+76F8,U+770C,U+7740,U+77E5,U+78BA,U+793E,U+79C0,U+79FB,U+7A0B,U+7A7A,U+7ACB,U+7B11,U+7D04,U+7D39,U+7D44,U+7D50,U+7D75,U+7D9A,U+7DCF,U+7DD1-7DD2,U+7DDA,U+8003,U+8005,U+80B2,U+80FD,U+81EA,U+826F,U+8449,U+884C,U+8868,U+88CF,U+8907,U+8981,U+898B,U+89A7,U+89B3,U+8A00,U+8A66,U+8A73,U+8A8D,U+8AAC,U+8AC7,U+8B1B,U+8B77,U+8C61,U+8CBB,U+8CC7,U+8CDE,U+8CEA,U+8CFC,U+8D70,U+8D85,U+8DB3,U+8DEF,U+8ECA,U+8EFD,U+8F09,U+8F2A,U+8FBA,U+8FBC,U+8FCE,U+8FD1,U+901A,U+9053,U+9078,U+907F,U+90E8,U+91CD,U+91D1,U+9244,U+9577,U+9580,U+958B,U+9593,U+96FB,U+9762,U+9806,U+9854,U+9867,U+98F2,U+99C5,U+99D0,U+9A13,U+FF01,U+FF06,U+FF08-FF0A,U+FF0F,U+FF1A,U+FF1F,U+FF5C;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("/fonts/noto-sans-jp-700-fallback.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  unicode-range: U+7F-A8,U+AA-D6,U+D8-2121,U+2123-2712,U+2714-2FFF,U+3100-4DFF,U+4E01-4E07,U+4E09,U+4E0B-4E0C,U+4E0E-4E25,U+4E27-4E2C,U+4E2E-4E87,U+4E89-4EC9,U+4ECC-4ED7,U+4ED9-4EE3,U+4EE5-4EF1,U+4EF3-4F19,U+4F1B-4F1C,U+4F1E-4F33,U+4F35-4F52,U+4F54,U+4F56-4F5B,U+4F5D-4F7E,U+4F80-4F9A,U+4F9C-4FDC,U+4FDE-5011,U+5013-50AB,U+50AD-5129,U+512B-5147,U+5149-5164,U+5166-516B,U+516D-5170,U+5172-5184,U+5187-5205,U+5207-521C,U+521E-5235,U+5237-524C,U+524E-529A,U+529C-529F,U+52A1-52D4,U+52D6-5315,U+5317-53C1,U+53C3-53D5,U+53D8-53EE,U+53F0-5403,U+5405-5407,U+5409-540B,U+540E-5410,U+5412-5467,U+5469-547C,U+547E-554E,U+5550-56DD,U+56DF-56E2,U+56E4-56F9,U+56FB-57FB,U+57FD-5833,U+5835-58EF,U+58F1-5908,U+590A-5919,U+591B-5926,U+5928-592A,U+592C-5930,U+5932-597C,U+597E-5B4F,U+5B51-5B65,U+5B67-5B88,U+5B8A-5B99,U+5B9B-5B9E,U+5BA0-5BA1,U+5BA3,U+5BA5-5BAD,U+5BAF-5BFD,U+5BFF-5C01,U+5C03-5C0D,U+5C10-5C3D,U+5C3F-5DE4,U+5DE6-5E01,U+5E03-5E0B,U+5E0D-5E2A,U+5E2C-5E73,U+5E75-5E89,U+5E8B-5EA5,U+5EA7-5F0E,U+5F10-5F52,U+5F54-5F61,U+5F63-5F8B,U+5F8D-5F91,U+5F93-5FC2,U+5FC4-601C,U+601E-604F,U+6051-610E,U+6110-611E,U+6120-620F,U+6211-623F,U+6241-624A,U+624C-6254,U+6256-6300,U+6302-63A1,U+63A3-63CF,U+63D1-6439,U+643B-64CC,U+64CE-6556,U+6558,U+655A-6586,U+6588-6598,U+659A-65AF,U+65B1-65B8,U+65BA-65BC,U+65BE-65E4,U+65E6-660D,U+660F-6641,U+6643-66FF,U+6701-6708,U+670A-671A,U+671C-6729,U+672B,U+672D-6739,U+673B-674F,U+6752-6764,U+6766-679B,U+679D-6820,U+6822-6847,U+6849-6904,U+6906-697C,U+697E-69D7,U+69D9-6B52,U+6B54-6B68,U+6B6A-6C16,U+6C18-6CC0,U+6CC2-6E7F,U+6E81-7268,U+726A-72B5,U+72B7-7388,U+738A-73FD,U+73FF-7405,U+7407-751E,U+7520-7527,U+7529-752F,U+7532,U+7534-7539,U+753B-7569,U+756B-7679,U+767B-76F7,U+76F9-770B,U+770D-773F,U+7741-77E4,U+77E6-78B9,U+78BB-793D,U+793F-79BF,U+79C1-79FA,U+79FC-7A0A,U+7A0C-7A79,U+7A7B-7ACA,U+7ACC-7B10,U+7B12-7D03,U+7D05-7D38,U+7D3A-7D43,U+7D45-7D4F,U+7D51-7D74,U+7D76-7D99,U+7D9B-7DCE,U+7DD0,U+7DD3-7DD9,U+7DDB-8002,U+8004,U+8006-80B1,U+80B3-80FC,U+80FE-81E9,U+81EB-826E,U+8270-8448,U+844A-884B,U+884D-8867,U+8869-88CE,U+88D0-8906,U+8908-8980,U+8982-898A,U+898C-89A6,U+89A8-89B2,U+89B4-89FF,U+8A01-8A65,U+8A67-8A72,U+8A74-8A8C,U+8A8E-8AAB,U+8AAD-8AC6,U+8AC8-8B1A,U+8B1C-8B76,U+8B78-8C60,U+8C62-8CBA,U+8CBC-8CC6,U+8CC8-8CDD,U+8CDF-8CE9,U+8CEB-8CFB,U+8CFD-8D6F,U+8D71-8D84,U+8D86-8DB2,U+8DB4-8DEE,U+8DF0-8EC9,U+8ECB-8EFC,U+8EFE-8F08,U+8F0A-8F29,U+8F2B-8FB9,U+8FBB,U+8FBD-8FCD,U+8FCF-8FD0,U+8FD2-9019,U+901B-9052,U+9054-9077,U+9079-907E,U+9080-90E7,U+90E9-91CC,U+91CE-91D0,U+91D2-9243,U+9245-9576,U+9578-957F,U+9581-958A,U+958C-9592,U+9594-96FA,U+96FC-9761,U+9763-9805,U+9807-9853,U+9855-9866,U+9868-98F1,U+98F3-99C4,U+99C6-99CF,U+99D1-9A12,U+9A14-FF00,U+FF02-FF05,U+FF07,U+FF0B-FF0E,U+FF10-FF19,U+FF1B-FF1E,U+FF20-FF5B,U+FF5D-3106C;
}

:root { --ink: #292c27; --muted: #4c5149; --text-body: 1.0625rem; --paper: #fffcf5; --white: #fff; --yellow: #fbd444; --accent: #a83a22; --line: #deded4; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Noto Sans JP", sans-serif; font-size: var(--text-body); line-height: 1.8; overflow-wrap: anywhere; }
a { color: inherit; text-underline-offset: 5px; }
img { display: block; max-width: 100%; height: auto; }
p, figure, blockquote, dl, dd { margin: 0; }
h1, h2, h3 { margin: 0; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; line-height: 1.55; }
h2 { font-size: clamp(28px, 3vw, 36px); letter-spacing: .025em; }
h3 { font-size: 20px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
:focus-visible { outline: 3px solid #8b3b16; outline-offset: 5px; }
.wrap { width: min(1120px, calc(100% - 80px)); margin-inline: auto; }
.section { padding-block: 88px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 20px; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-header { min-height: 92px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 14px; flex-shrink: 0; text-decoration: none; }
.brand-school { font-size: 16px; font-weight: 700; border-left: 1px solid var(--line); padding-left: 14px; }
.site-header nav { display: flex; gap: 26px; margin-left: auto; font-size: .875rem; }
.site-header nav a, .header-contact { text-decoration: none; }
.header-contact { font-size: .875rem; border-bottom: 1px solid var(--line); padding-block: 8px; }
.arrow { display: inline-block; margin-left: 8px; flex-shrink: 0; vertical-align: middle; }
.hero { display: grid; grid-template-columns: .9fr 1.1fr; column-gap: 50px; padding-block: 30px 62px; align-items: start; }
.hero-copy, .lesson-facts, .hero-booking { grid-column: 1; }
.hero-location { font-size: .875rem; margin-bottom: 18px; }
.hero-location span { display: block; font-size: .8125rem; color: var(--muted); letter-spacing: .06em; }
h1 { font-size: clamp(35px, 3.6vw, 47px); line-height: 1.4; letter-spacing: .01em; }
h1 span { display: block; }
h1 .hero-intro-line { font-size: .69em; margin-bottom: 8px; }
.hero-lead { margin-top: 20px; max-width: 29em; font-size: var(--text-body); color: var(--muted); }
.lesson-facts { display: flex; gap: 24px; border-block: 1px solid var(--line); padding-block: 14px; margin-block: 24px; }
.lesson-facts dt { font-size: .8125rem; color: var(--muted); }
.lesson-facts dd { font-size: 20px; font-weight: 700; white-space: nowrap; }
.hero-photo { grid-column: 2; grid-row: 1 / 4; align-self: center; }
.hero-main-image { width: 100%; border-radius: 14px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 60px; padding: 16px 24px; border-radius: 8px; background: var(--yellow); color: var(--ink); text-decoration: none; font-size: var(--text-body); line-height: 1.5; font-weight: 700; box-shadow: 0 3px 0 #ddb635; transition: background-color .18s, transform .18s; }
.button:hover { background: #ffe06e; transform: translateY(-2px); }
.button:active { transform: translateY(1px); }
.button .arrow { margin-left: auto; }
.small-note { margin-top: 12px; font-size: .875rem; color: var(--muted); }
.assurance-strip { border-block: 1px solid var(--line); background: #fffefb; }
.assurance-strip ul { display: flex; justify-content: center; gap: 56px; padding-block: 18px; font-size: .875rem; }
.assurance-strip li::before { content: "✓"; margin-right: 8px; color: var(--accent); }
.section-intro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; align-items: center; margin-bottom: 42px; }
.eyebrow { color: var(--accent); font-size: .875rem; font-weight: 700; letter-spacing: .12em; margin-bottom: 14px; }
.section-intro > .eyebrow { grid-column: 1 / -1; }
.section-intro > p:last-child, .theme-copy { font-size: var(--text-body); color: var(--muted); }
.theme-label { font-size: .875rem; color: var(--accent); font-weight: 700; }
.theme-name { color: var(--ink); font-weight: 700; margin-block: 5px 12px; }
.steps { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 64px; }
.step:first-child { grid-row: 1 / 4; }
.step:not(:first-child) { grid-column: 2; }
.step-photo { border-radius: 12px; overflow: hidden; background: #f0efe8; }
.step-photo img { width: 100%; }
.step-copy { display: flex; align-items: start; gap: 18px; padding-top: 22px; }
.step-number { flex-shrink: 0; white-space: nowrap; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 26px; line-height: 1.3; color: var(--accent); }
.step-copy p { margin-top: 10px; color: var(--muted); font-size: var(--text-body); }
.step:not(.step--photo) { border-top: 1px solid var(--line); }
.experience-notes { margin-top: 28px; font-size: .875rem; color: var(--muted); }
.experience-notes p + p { margin-top: 6px; font-size: .8125rem; }
.section-booking { text-align: center; margin-top: 38px; }
.voices { background: var(--white); border-block: 1px solid var(--line); }
.voices-heading { text-align: center; }
.voices-heading > p:last-child { margin-top: 18px; font-size: var(--text-body); color: var(--muted); }
.voice-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 38px; }
.voice-card { border-top: 3px solid var(--yellow); padding: 24px 12px 0; font-family: "Zen Maru Gothic", sans-serif; font-size: 20px; font-weight: 700; line-height: 1.8; }
.voice-card figcaption { font-size: .8125rem; color: var(--muted); margin-top: 8px; }
.award { max-width: 920px; margin: 48px auto 0; padding: 32px 40px; border: 1px solid #e2d6aa; border-radius: 12px; background: #fffcf3; }
.award-main { display: flex; align-items: center; gap: 36px; }
.award-main > img { width: 184px; flex-shrink: 0; }
.award-label { color: #795715; font-size: .875rem; font-weight: 700; letter-spacing: .08em; margin-bottom: 8px; }
.award h3 { font-size: 26px; }
.award-description { margin-top: 14px; font-size: var(--text-body); color: var(--muted); }
.award-source { display: inline-block; margin-top: 12px; font-size: .8125rem; color: var(--muted); }
.award-categories { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; border-top: 1px solid #e2d6aa; margin-top: 28px; padding-top: 24px; }
.award-category { display: flex; align-items: center; justify-content: center; gap: 16px; }
.award-category img { width: 112px; flex-shrink: 0; }
.award-category figcaption { margin-top: 0; }
.award-category figcaption span { display: block; font-size: .8125rem; color: #795715; margin-bottom: 4px; }
.award-category strong { font-size: 1rem; color: var(--ink); line-height: 1.6; }
.classroom-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.classroom-photo img { width: 100%; border-radius: 12px; }
.support-list { display: grid; gap: 24px; }
.support-list li { display: flex; gap: 14px; }
.support-check { color: var(--accent); font-size: 18px; }
.support-list h3 { font-size: 20px; }
.support-list p { font-size: var(--text-body); color: var(--muted); margin-top: 7px; }
.access-info { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; border-top: 1px solid var(--line); margin-top: 42px; padding-top: 32px; font-size: var(--text-body); }
.access-info h3 { font-size: 20px; margin-bottom: 12px; }
.text-link { display: inline-block; font-size: 1rem; margin-top: 16px; text-decoration-thickness: 1px; }
.access-info dl > div { display: grid; grid-template-columns: 4em 1fr; gap: 12px; margin-bottom: 12px; }
.access-info dt { font-weight: 700; }
.access-footnote { font-size: .875rem; color: var(--muted); }
.secondary-link { font-size: .875rem; }
.faq-section { background: var(--white); border-block: 1px solid var(--line); }
.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { line-height: 1.7; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 22px; cursor: pointer; font-size: var(--text-body); font-weight: 700; list-style: none; }
summary::-webkit-details-marker { display: none; }
.faq-icon { position: relative; width: 14px; height: 14px; flex-shrink: 0; }
.faq-icon::before, .faq-icon::after { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: var(--accent); }
.faq-icon::after { transform: rotate(90deg); }
details[open] .faq-icon::after { transform: none; }
.faq-answer { padding: 0 28px 24px 0; font-size: var(--text-body); color: var(--muted); }
.final-cta { background: #f6f2e7; }
.final-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.closing-photo img { width: 100%; border-radius: 12px; }
.final-lead { margin-top: 20px; font-size: var(--text-body); color: var(--muted); }
.final-facts { margin-block: 20px 16px; font-size: var(--text-body); font-weight: 700; }
.final-copy > .text-link { display: block; width: fit-content; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 30px; font-size: .875rem; }
.site-footer span { display: block; font-size: .8125rem; color: var(--muted); }
.site-footer small { font-size: .75rem; }
.sticky-action { display: none; }
figure > figcaption { font-size: .8125rem; color: var(--muted); margin-top: 8px; }
@media (max-width: 1050px) {
  .wrap { width: calc(100% - 56px); }
  .hero { column-gap: 36px; }
  h1 { font-size: 36px; }
  .site-header nav { gap: 18px; font-size: .875rem; }
  .section-intro, .steps, .classroom-layout, .access-info, .faq-layout, .final-inner { column-gap: 36px; }
  .lesson-facts { gap: 20px; }
  .lesson-facts dd { font-size: 16px; }
}
@media (min-width: 761px) and (max-width: 900px) {
  .site-header nav { display: none; }
  .hero { column-gap: 28px; }
  .lesson-facts { gap: 12px; }
  .lesson-facts dd { font-size: 1rem; }
  .section-intro, .classroom-layout, .access-info, .faq-layout, .final-inner { grid-template-columns: 1fr; row-gap: 28px; }
  .section-intro > .eyebrow { margin-bottom: 0; }
}
@media (max-width: 760px) {
  :root { --text-body: 1rem; }
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .wrap { width: calc(100% - 40px); }
  .section { padding-block: 58px; }
  .site-header { min-height: 72px; gap: 12px; }
  .brand { gap: 10px; }
  .brand img { width: 100px; }
  .brand-school { padding-left: 10px; font-size: 1rem; }
  .site-header nav { display: none; }
  .header-contact { font-size: .8125rem; }
  .header-contact .arrow { margin-left: 4px; }
  .hero { display: flex; flex-direction: column; padding-block: 18px 34px; }
  .hero-location { margin-bottom: 14px; font-size: .875rem; }
  .hero-location span { display: block; margin-left: 0; font-size: .8125rem; }
  h1 { font-size: clamp(31px, 8.8vw, 44px); line-height: 1.3; }
  h1 .hero-intro-line { font-size: .72em; margin-bottom: 8px; }
  .hero-lead { font-size: var(--text-body); margin-top: 16px; max-width: 40em; }
  .lesson-facts { width: 100%; justify-content: space-between; gap: 10px; margin-block: 16px; padding-block: 11px; }
  .lesson-facts dt { font-size: .8125rem; }
  .lesson-facts dd { font-size: 17px; }
  .hero-photo, .hero-booking { width: 100%; }
  .hero-photo { align-self: stretch; }
  .hero-booking { margin-top: 16px; text-align: center; }
  .button { min-height: 56px; font-size: 1rem; gap: 12px; padding: 14px 18px; }
  .hero-booking .button, .section-booking .button, .final-copy .button { width: 100%; }
  .small-note { font-size: .8125rem; margin-top: 10px; }
  .assurance-strip ul { flex-wrap: wrap; column-gap: 20px; row-gap: 4px; padding-block: 14px; font-size: .8125rem; }
  .assurance-strip li::before { margin-right: 5px; }
  .section-intro { display: block; margin-bottom: 28px; }
  .section-intro > p:last-child, .theme-copy { margin-top: 22px; }
  .eyebrow { font-size: .8125rem; margin-bottom: 12px; }
  h2 { font-size: 28px; }
  h3 { font-size: 19px; }
  .steps { display: block; }
  .step + .step { margin-top: 30px; }
  .step-photo img { max-height: 450px; width: auto; margin-inline: auto; }
  .step-copy { gap: 16px; padding-top: 18px; }
  .step-copy p { font-size: var(--text-body); margin-top: 7px; }
  .step-number { font-size: 24px; }
  .experience-notes { margin-top: 24px; font-size: .8125rem; }
  .section-booking { margin-top: 28px; }
  .voices-heading { text-align: left; }
  .voices-heading > p:last-child { font-size: var(--text-body); }
  .voice-items { grid-template-columns: 1fr; gap: 24px; margin-top: 28px; }
  .voice-card { padding: 18px 0 0; font-size: 19px; }
  .award { margin-top: 32px; padding: 28px 20px; }
  .award-main { flex-direction: column; gap: 20px; }
  .award-main > img { width: 176px; }
  .award-label, .award h3 { text-align: center; }
  .award h3 { font-size: 23px; }
  .award-description { font-size: var(--text-body); }
  .award-categories { gap: 16px; margin-top: 24px; padding-top: 22px; }
  .award-category { display: block; text-align: center; }
  .award-category img { margin: 0 auto 12px; }
  .award-category strong { font-size: .9375rem; }
  .classroom-layout, .access-info, .faq-layout, .final-inner { display: grid; grid-template-columns: 1fr; gap: 28px; }
  .support-list { gap: 22px; }
  .support-list p { font-size: var(--text-body); }
  .access-info { margin-top: 30px; padding-top: 28px; font-size: var(--text-body); }
  .faq-layout { gap: 24px; }
  summary, .faq-answer { font-size: var(--text-body); }
  summary { padding-block: 20px; }
  .final-inner { gap: 30px; }
  .final-facts { font-size: var(--text-body); }
  .site-footer { flex-direction: column; gap: 12px; align-items: flex-start; padding-block: 26px; }
  .sticky-action { position: fixed; z-index: 20; inset: auto 0 0; display: flex; align-items: center; gap: 10px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,252,245,.98); border-top: 1px solid var(--line); }
  .sticky-action.is-hidden { visibility: hidden; pointer-events: none; }
  .sticky-action__book { line-height: 1.5; display: flex; align-items: center; justify-content: center; flex: 1; min-height: 48px; padding: 10px; border-radius: 7px; background: var(--yellow); text-decoration: none; font-size: var(--text-body); font-weight: 700; }
  .sticky-action__book .arrow { display: none; }
  .sticky-action__contact { font-size: .8125rem; white-space: nowrap; }
}
@media (max-width: 360px) {
  .hero-location span { display: block; margin-left: 0; }
  .header-contact { font-size: .8125rem; }
  .lesson-facts dd { font-size: 1rem; }
  .sticky-action { gap: 10px; padding-inline: 12px; }
  .sticky-action__book { font-size: 1rem; padding-inline: 6px; }
  .sticky-action__contact { max-width: 3em; white-space: normal; text-align: center; line-height: 1.4; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
