/* Local subsets of Google Fonts. OFL licenses included. Glyphs cover the approved purchase-page design. */
@font-face {
  font-family: 'TB Purchase Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/zen-kaku-gothic-new-500.woff2) format('woff2');
  unicode-range: U+20-7e, U+203a-203b, U+3000-3002, U+301c, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051, U+3053-3055, U+3057-305b, U+305f-3060, U+3063-3064, U+3066-306b, U+306e-3070, U+3073, U+3078, U+307e, U+3081-3082, U+3084, U+3088-308c, U+308f, U+3092-3093, U+30a2-30a4, U+30a8, U+30aa-30ab, U+30af-30b0, U+30b3, U+30b5, U+30b7-30b9, U+30bb, U+30bf, U+30c1, U+30c3, U+30c6-30c9, U+30d0, U+30d2-30d3, U+30d5, U+30d7, U+30d9-30dd, U+30df-30e1, U+30e7, U+30e9-30eb, U+30ed, U+30f3, U+30fb-30fc, U+4e00-4e01, U+4e07-4e08, U+4e0a-4e0b, U+4e0d, U+4e21, U+4e2d, U+4e57, U+4e88, U+4ea4, U+4ed8, U+4ee3, U+4ee5, U+4ef6, U+4efb, U+4f11, U+4f1a, U+4f1d, U+4f3a, U+4f4d, U+4f53, U+4f55, U+4f7f, U+4f9d, U+4fa1, U+4fdd, U+4fee, U+5099, U+511f, U+5148, U+5165, U+5168, U+5185-5186, U+51fa, U+5206-5207, U+5229, U+524d, U+5275, U+529b, U+52a0, U+52d5, U+533a, U+5348, U+5354, U+539f, U+53b3, U+53d7, U+53f0, U+5408, U+540d, U+542b, U+54c1, U+54e1, U+554f, U+55b6, U+56de, U+56e3, U+56fa, U+56fd, U+5728, U+5831, U+5834, U+58f2, U+5909, U+5927, U+592b, U+5948, U+5951, U+5b89, U+5b9a, U+5b9f, U+5ba2, U+5bb9, U+5bcc, U+5be7, U+5bfe, U+5c0e, U+5c4a, U+5ddd, U+5e02, U+5e0c, U+5e45, U+5e74, U+5e83, U+5e97, U+5ea6, U+5eab, U+5f0f, U+5f15, U+5f37, U+5f53, U+5f8c, U+5f97, U+5fc3, U+5fdc, U+60c5, U+610f, U+614b, U+6210, U+624b, U+6255, U+629e, U+62c5, U+6301, U+63a2, U+63d0, U+63db, U+643a, U+652f, U+6545, U+6570, U+6574, U+6587, U+6599, U+65ad, U+65b9, U+65e5, U+660e, U+6642, U+666f, U+66dc, U+66f4, U+6700, U+671b, U+671f, U+672c-672d, U+6761, U+6765, U+67fb, U+682a, U+6848, U+691c, U+696d, U+69d8, U+6a21, U+6b63, U+6c17, U+6c34, U+6c7a, U+6cd5, U+6d41, U+70b9, U+7121, U+72b6, U+7406, U+751f, U+7523, U+7528, U+7531, U+753b, U+7570, U+767a, U+76df, U+76ee, U+76f8, U+770c, U+78ba, U+793a, U+793e, U+795e, U+7a2e, U+7a4d, U+7b54, U+7b97, U+7ba1, U+7cfb, U+7d04, U+7d0d, U+7d61, U+7dcf, U+7dd1, U+7e1b, U+7e3e, U+7fa9, U+805e, U+80a2, U+81ea, U+826f, U+8272, U+843d, U+884c, U+88c5, U+8981, U+898b, U+898f, U+8a3a, U+8a3c, U+8a55, U+8a71, U+8a8d, U+8aac, U+8ac7, U+8af8, U+8b70, U+8c4a, U+8c61, U+8ca9, U+8cac, U+8cb7, U+8cbb, U+8cea, U+8cfc, U+8d70, U+8ddd, U+8eca, U+8efd, U+8f38, U+8fd4, U+9001, U+9023, U+9031-9032, U+904b, U+9060, U+9078, U+90e8, U+91d1, U+9577, U+9593, U+9650, U+9678, U+969c, U+96e2, U+96fb, U+9762, U+9810, U+983c, U+984d, U+98a8, U+ff08-ff09, U+ff1a, U+ff1f;
}

@font-face {
  font-family: 'TB Purchase Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/zen-kaku-gothic-new-700.woff2) format('woff2');
  unicode-range: U+20-7e, U+203a-203b, U+3000-3002, U+301c, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051, U+3053-3055, U+3057-305b, U+305f-3060, U+3063-3064, U+3066-306b, U+306e-3070, U+3073, U+3078, U+307e, U+3081-3082, U+3084, U+3088-308c, U+308f, U+3092-3093, U+30a2-30a4, U+30a8, U+30aa-30ab, U+30af-30b0, U+30b3, U+30b5, U+30b7-30b9, U+30bb, U+30bf, U+30c1, U+30c3, U+30c6-30c9, U+30d0, U+30d2-30d3, U+30d5, U+30d7, U+30d9-30dd, U+30df-30e1, U+30e7, U+30e9-30eb, U+30ed, U+30f3, U+30fb-30fc, U+4e00-4e01, U+4e07-4e08, U+4e0a-4e0b, U+4e0d, U+4e21, U+4e2d, U+4e57, U+4e88, U+4ea4, U+4ed8, U+4ee3, U+4ee5, U+4ef6, U+4efb, U+4f11, U+4f1a, U+4f1d, U+4f3a, U+4f4d, U+4f53, U+4f55, U+4f7f, U+4f9d, U+4fa1, U+4fdd, U+4fee, U+5099, U+511f, U+5148, U+5165, U+5168, U+5185-5186, U+51fa, U+5206-5207, U+5229, U+524d, U+5275, U+529b, U+52a0, U+52d5, U+533a, U+5348, U+5354, U+539f, U+53b3, U+53d7, U+53f0, U+5408, U+540d, U+542b, U+54c1, U+54e1, U+554f, U+55b6, U+56de, U+56e3, U+56fa, U+56fd, U+5728, U+5831, U+5834, U+58f2, U+5909, U+5927, U+592b, U+5948, U+5951, U+5b89, U+5b9a, U+5b9f, U+5ba2, U+5bb9, U+5bcc, U+5be7, U+5bfe, U+5c0e, U+5c4a, U+5ddd, U+5e02, U+5e0c, U+5e45, U+5e74, U+5e83, U+5e97, U+5ea6, U+5eab, U+5f0f, U+5f15, U+5f37, U+5f53, U+5f8c, U+5f97, U+5fc3, U+5fdc, U+60c5, U+610f, U+614b, U+6210, U+624b, U+6255, U+629e, U+62c5, U+6301, U+63a2, U+63d0, U+63db, U+643a, U+652f, U+6545, U+6570, U+6574, U+6587, U+6599, U+65ad, U+65b9, U+65e5, U+660e, U+6642, U+666f, U+66dc, U+66f4, U+6700, U+671b, U+671f, U+672c-672d, U+6761, U+6765, U+67fb, U+682a, U+6848, U+691c, U+696d, U+69d8, U+6a21, U+6b63, U+6c17, U+6c34, U+6c7a, U+6cd5, U+6d41, U+70b9, U+7121, U+72b6, U+7406, U+751f, U+7523, U+7528, U+7531, U+753b, U+7570, U+767a, U+76df, U+76ee, U+76f8, U+770c, U+78ba, U+793a, U+793e, U+795e, U+7a2e, U+7a4d, U+7b54, U+7b97, U+7ba1, U+7cfb, U+7d04, U+7d0d, U+7d61, U+7dcf, U+7dd1, U+7e1b, U+7e3e, U+7fa9, U+805e, U+80a2, U+81ea, U+826f, U+8272, U+843d, U+884c, U+88c5, U+8981, U+898b, U+898f, U+8a3a, U+8a3c, U+8a55, U+8a71, U+8a8d, U+8aac, U+8ac7, U+8af8, U+8b70, U+8c4a, U+8c61, U+8ca9, U+8cac, U+8cb7, U+8cbb, U+8cea, U+8cfc, U+8d70, U+8ddd, U+8eca, U+8efd, U+8f38, U+8fd4, U+9001, U+9023, U+9031-9032, U+904b, U+9060, U+9078, U+90e8, U+91d1, U+9577, U+9593, U+9650, U+9678, U+969c, U+96e2, U+96fb, U+9762, U+9810, U+983c, U+984d, U+98a8, U+ff08-ff09, U+ff1a, U+ff1f;
}

@font-face {
  font-family: 'TB Purchase Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(./fonts/zen-kaku-gothic-new-900.woff2) format('woff2');
  unicode-range: U+20-7e, U+203a-203b, U+3000-3002, U+301c, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051, U+3053-3055, U+3057-305b, U+305f-3060, U+3063-3064, U+3066-306b, U+306e-3070, U+3073, U+3078, U+307e, U+3081-3082, U+3084, U+3088-308c, U+308f, U+3092-3093, U+30a2-30a4, U+30a8, U+30aa-30ab, U+30af-30b0, U+30b3, U+30b5, U+30b7-30b9, U+30bb, U+30bf, U+30c1, U+30c3, U+30c6-30c9, U+30d0, U+30d2-30d3, U+30d5, U+30d7, U+30d9-30dd, U+30df-30e1, U+30e7, U+30e9-30eb, U+30ed, U+30f3, U+30fb-30fc, U+4e00-4e01, U+4e07-4e08, U+4e0a-4e0b, U+4e0d, U+4e21, U+4e2d, U+4e57, U+4e88, U+4ea4, U+4ed8, U+4ee3, U+4ee5, U+4ef6, U+4efb, U+4f11, U+4f1a, U+4f1d, U+4f3a, U+4f4d, U+4f53, U+4f55, U+4f7f, U+4f9d, U+4fa1, U+4fdd, U+4fee, U+5099, U+511f, U+5148, U+5165, U+5168, U+5185-5186, U+51fa, U+5206-5207, U+5229, U+524d, U+5275, U+529b, U+52a0, U+52d5, U+533a, U+5348, U+5354, U+539f, U+53b3, U+53d7, U+53f0, U+5408, U+540d, U+542b, U+54c1, U+54e1, U+554f, U+55b6, U+56de, U+56e3, U+56fa, U+56fd, U+5728, U+5831, U+5834, U+58f2, U+5909, U+5927, U+592b, U+5948, U+5951, U+5b89, U+5b9a, U+5b9f, U+5ba2, U+5bb9, U+5bcc, U+5be7, U+5bfe, U+5c0e, U+5c4a, U+5ddd, U+5e02, U+5e0c, U+5e45, U+5e74, U+5e83, U+5e97, U+5ea6, U+5eab, U+5f0f, U+5f15, U+5f37, U+5f53, U+5f8c, U+5f97, U+5fc3, U+5fdc, U+60c5, U+610f, U+614b, U+6210, U+624b, U+6255, U+629e, U+62c5, U+6301, U+63a2, U+63d0, U+63db, U+643a, U+652f, U+6545, U+6570, U+6574, U+6587, U+6599, U+65ad, U+65b9, U+65e5, U+660e, U+6642, U+666f, U+66dc, U+66f4, U+6700, U+671b, U+671f, U+672c-672d, U+6761, U+6765, U+67fb, U+682a, U+6848, U+691c, U+696d, U+69d8, U+6a21, U+6b63, U+6c17, U+6c34, U+6c7a, U+6cd5, U+6d41, U+70b9, U+7121, U+72b6, U+7406, U+751f, U+7523, U+7528, U+7531, U+753b, U+7570, U+767a, U+76df, U+76ee, U+76f8, U+770c, U+78ba, U+793a, U+793e, U+795e, U+7a2e, U+7a4d, U+7b54, U+7b97, U+7ba1, U+7cfb, U+7d04, U+7d0d, U+7d61, U+7dcf, U+7dd1, U+7e1b, U+7e3e, U+7fa9, U+805e, U+80a2, U+81ea, U+826f, U+8272, U+843d, U+884c, U+88c5, U+8981, U+898b, U+898f, U+8a3a, U+8a3c, U+8a55, U+8a71, U+8a8d, U+8aac, U+8ac7, U+8af8, U+8b70, U+8c4a, U+8c61, U+8ca9, U+8cac, U+8cb7, U+8cbb, U+8cea, U+8cfc, U+8d70, U+8ddd, U+8eca, U+8efd, U+8f38, U+8fd4, U+9001, U+9023, U+9031-9032, U+904b, U+9060, U+9078, U+90e8, U+91d1, U+9577, U+9593, U+9650, U+9678, U+969c, U+96e2, U+96fb, U+9762, U+9810, U+983c, U+984d, U+98a8, U+ff08-ff09, U+ff1a, U+ff1f;
}

@font-face {
  font-family: 'TB Purchase Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(./fonts/open-sans-800.woff2) format('woff2');
  unicode-range: U+20-7e;
}

@font-face {
  font-family: 'TB Purchase Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/noto-sans-jp-400.woff2) format('woff2');
  unicode-range: U+20-7e, U+203a-203b, U+3000-3002, U+301c, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051, U+3053-3055, U+3057-305b, U+305f-3060, U+3063-3064, U+3066-306b, U+306e-3070, U+3073, U+3078, U+307e, U+3081-3082, U+3084, U+3088-308c, U+308f, U+3092-3093, U+30a2-30a4, U+30a8, U+30aa-30ab, U+30af-30b0, U+30b3, U+30b5, U+30b7-30b9, U+30bb, U+30bf, U+30c1, U+30c3, U+30c6-30c9, U+30d0, U+30d2-30d3, U+30d5, U+30d7, U+30d9-30dd, U+30df-30e1, U+30e7, U+30e9-30eb, U+30ed, U+30f3, U+30fb-30fc, U+4e00-4e01, U+4e07-4e08, U+4e0a-4e0b, U+4e0d, U+4e21, U+4e2d, U+4e57, U+4e88, U+4ea4, U+4ed8, U+4ee3, U+4ee5, U+4ef6, U+4efb, U+4f11, U+4f1a, U+4f1d, U+4f3a, U+4f4d, U+4f53, U+4f55, U+4f7f, U+4f9d, U+4fa1, U+4fdd, U+4fee, U+5099, U+511f, U+5148, U+5165, U+5168, U+5185-5186, U+51fa, U+5206-5207, U+5229, U+524d, U+5275, U+529b, U+52a0, U+52d5, U+533a, U+5348, U+5354, U+539f, U+53b3, U+53d7, U+53f0, U+5408, U+540d, U+542b, U+54c1, U+54e1, U+554f, U+55b6, U+56de, U+56e3, U+56fa, U+56fd, U+5728, U+5831, U+5834, U+58f2, U+5909, U+5927, U+592b, U+5948, U+5951, U+5b89, U+5b9a, U+5b9f, U+5ba2, U+5bb9, U+5bcc, U+5be7, U+5bfe, U+5c0e, U+5c4a, U+5ddd, U+5e02, U+5e0c, U+5e45, U+5e74, U+5e83, U+5e97, U+5ea6, U+5eab, U+5f0f, U+5f15, U+5f37, U+5f53, U+5f8c, U+5f97, U+5fc3, U+5fdc, U+60c5, U+610f, U+614b, U+6210, U+624b, U+6255, U+629e, U+62c5, U+6301, U+63a2, U+63d0, U+63db, U+643a, U+652f, U+6545, U+6570, U+6574, U+6587, U+6599, U+65ad, U+65b9, U+65e5, U+660e, U+6642, U+666f, U+66dc, U+66f4, U+6700, U+671b, U+671f, U+672c-672d, U+6761, U+6765, U+67fb, U+682a, U+6848, U+691c, U+696d, U+69d8, U+6a21, U+6b63, U+6c17, U+6c34, U+6c7a, U+6cd5, U+6d41, U+70b9, U+7121, U+72b6, U+7406, U+751f, U+7523, U+7528, U+7531, U+753b, U+7570, U+767a, U+76df, U+76ee, U+76f8, U+770c, U+78ba, U+793a, U+793e, U+795e, U+7a2e, U+7a4d, U+7b54, U+7b97, U+7ba1, U+7cfb, U+7d04, U+7d0d, U+7d61, U+7dcf, U+7dd1, U+7e1b, U+7e3e, U+7fa9, U+805e, U+80a2, U+81ea, U+826f, U+8272, U+843d, U+884c, U+88c5, U+8981, U+898b, U+898f, U+8a3a, U+8a3c, U+8a55, U+8a71, U+8a8d, U+8aac, U+8ac7, U+8af8, U+8b70, U+8c4a, U+8c61, U+8ca9, U+8cac, U+8cb7, U+8cbb, U+8cea, U+8cfc, U+8d70, U+8ddd, U+8eca, U+8efd, U+8f38, U+8fd4, U+9001, U+9023, U+9031-9032, U+904b, U+9060, U+9078, U+90e8, U+91d1, U+9577, U+9593, U+9650, U+9678, U+969c, U+96e2, U+96fb, U+9762, U+9810, U+983c, U+984d, U+98a8, U+ff08-ff09, U+ff1a, U+ff1f;
}

@font-face {
  font-family: 'TB Purchase Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/noto-sans-jp-700.woff2) format('woff2');
  unicode-range: U+20-7e, U+203a-203b, U+3000-3002, U+301c, U+3042, U+3044, U+3046, U+3048, U+304a-304d, U+304f, U+3051, U+3053-3055, U+3057-305b, U+305f-3060, U+3063-3064, U+3066-306b, U+306e-3070, U+3073, U+3078, U+307e, U+3081-3082, U+3084, U+3088-308c, U+308f, U+3092-3093, U+30a2-30a4, U+30a8, U+30aa-30ab, U+30af-30b0, U+30b3, U+30b5, U+30b7-30b9, U+30bb, U+30bf, U+30c1, U+30c3, U+30c6-30c9, U+30d0, U+30d2-30d3, U+30d5, U+30d7, U+30d9-30dd, U+30df-30e1, U+30e7, U+30e9-30eb, U+30ed, U+30f3, U+30fb-30fc, U+4e00-4e01, U+4e07-4e08, U+4e0a-4e0b, U+4e0d, U+4e21, U+4e2d, U+4e57, U+4e88, U+4ea4, U+4ed8, U+4ee3, U+4ee5, U+4ef6, U+4efb, U+4f11, U+4f1a, U+4f1d, U+4f3a, U+4f4d, U+4f53, U+4f55, U+4f7f, U+4f9d, U+4fa1, U+4fdd, U+4fee, U+5099, U+511f, U+5148, U+5165, U+5168, U+5185-5186, U+51fa, U+5206-5207, U+5229, U+524d, U+5275, U+529b, U+52a0, U+52d5, U+533a, U+5348, U+5354, U+539f, U+53b3, U+53d7, U+53f0, U+5408, U+540d, U+542b, U+54c1, U+54e1, U+554f, U+55b6, U+56de, U+56e3, U+56fa, U+56fd, U+5728, U+5831, U+5834, U+58f2, U+5909, U+5927, U+592b, U+5948, U+5951, U+5b89, U+5b9a, U+5b9f, U+5ba2, U+5bb9, U+5bcc, U+5be7, U+5bfe, U+5c0e, U+5c4a, U+5ddd, U+5e02, U+5e0c, U+5e45, U+5e74, U+5e83, U+5e97, U+5ea6, U+5eab, U+5f0f, U+5f15, U+5f37, U+5f53, U+5f8c, U+5f97, U+5fc3, U+5fdc, U+60c5, U+610f, U+614b, U+6210, U+624b, U+6255, U+629e, U+62c5, U+6301, U+63a2, U+63d0, U+63db, U+643a, U+652f, U+6545, U+6570, U+6574, U+6587, U+6599, U+65ad, U+65b9, U+65e5, U+660e, U+6642, U+666f, U+66dc, U+66f4, U+6700, U+671b, U+671f, U+672c-672d, U+6761, U+6765, U+67fb, U+682a, U+6848, U+691c, U+696d, U+69d8, U+6a21, U+6b63, U+6c17, U+6c34, U+6c7a, U+6cd5, U+6d41, U+70b9, U+7121, U+72b6, U+7406, U+751f, U+7523, U+7528, U+7531, U+753b, U+7570, U+767a, U+76df, U+76ee, U+76f8, U+770c, U+78ba, U+793a, U+793e, U+795e, U+7a2e, U+7a4d, U+7b54, U+7b97, U+7ba1, U+7cfb, U+7d04, U+7d0d, U+7d61, U+7dcf, U+7dd1, U+7e1b, U+7e3e, U+7fa9, U+805e, U+80a2, U+81ea, U+826f, U+8272, U+843d, U+884c, U+88c5, U+8981, U+898b, U+898f, U+8a3a, U+8a3c, U+8a55, U+8a71, U+8a8d, U+8aac, U+8ac7, U+8af8, U+8b70, U+8c4a, U+8c61, U+8ca9, U+8cac, U+8cb7, U+8cbb, U+8cea, U+8cfc, U+8d70, U+8ddd, U+8eca, U+8efd, U+8f38, U+8fd4, U+9001, U+9023, U+9031-9032, U+904b, U+9060, U+9078, U+90e8, U+91d1, U+9577, U+9593, U+9650, U+9678, U+969c, U+96e2, U+96fb, U+9762, U+9810, U+983c, U+984d, U+98a8, U+ff08-ff09, U+ff1a, U+ff1f;
}


/* All presentation rules are confined to the isolated purchase document. */
body.tellmeee-buy-page { margin: 0; background: #fff; }
.tb-page { --tb-ink: #1a2421; --tb-muted: #55615d; --tb-accent: #127a60; --tb-teal: #199e7d; --tb-yellow: #f5c84b; --tb-olive: #9fb63c; --tb-border: #dce5e1; color: var(--tb-ink); background: #fff; font-family: 'TB Purchase Zen Kaku Gothic New', sans-serif; font-size: 16px; font-weight: 500; line-height: 2; letter-spacing: .05em; overflow-wrap: anywhere; }
.tb-page *, .tb-page *::before, .tb-page *::after { box-sizing: border-box; }
.tb-page :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure) { margin: 0; }
.tb-page :where(ul,ol) { list-style: none; padding: 0; }
.tb-page a { color: inherit; text-decoration: none; }
.tb-page button { font: inherit; color: inherit; }
.tb-page :where(a,button):focus-visible { outline: 3px solid var(--tb-yellow); outline-offset: 5px; }
.tb-page img { display: block; }
.tb-page .tb-mobile-break { display: none; }
.tb-page .tb-mobile-only { display: none; }
.tb-page [hidden] { display: none !important; }
.tb-page .tb-container { width: min(1080px, calc(100% - 40px)); margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: 56px; }
.tb-page .tb-panel { width: min(1280px, calc(100% - 80px)); margin-inline: auto; padding: 80px; background: #eef5f2; border-radius: 40px; position: relative; display: flex; flex-direction: column; align-items: center; gap: 56px; }
.tb-page .tb-heading { display: flex; flex-direction: column; align-items: center; gap: 16px; width: 100%; text-align: center; }
.tb-page .tb-heading-title { font-size: 36px; font-weight: 900; line-height: 1.5; letter-spacing: .04em; width: 100%; }
.tb-page .tb-heading-lead { font-size: 18px; line-height: 2; letter-spacing: .06em; color: var(--tb-muted); width: 100%; }
.tb-page .tb-label { display: flex; align-items: center; gap: 10px; color: var(--tb-accent); font-weight: 700; font-size: 14px; line-height: 1.5; letter-spacing: .1em; }
.tb-page .tb-label::before { content: ''; display: block; flex: 0 0 8px; width: 8px; height: 8px; background: var(--tb-yellow); border-radius: 2px; }
.tb-page .tb-icon { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; margin-top: 5px; }
.tb-page .tb-icon img { max-width: 24px; max-height: 24px; }
.tb-page .tb-button--line .tb-icon img { width: 36px; height: 36px; max-width: none; max-height: none; flex-shrink: 0; object-fit: contain; }
.tb-page .tb-button { display: flex; align-items: center; justify-content: center; gap: 8px; width: 300px; min-height: 64px; padding: 12px 24px; border-radius: 999px; color: #fff; font-size: 16px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; box-shadow: 0 4px 0 rgba(13,64,51,.18); transition: transform .18s ease, filter .18s ease; }
.tb-page .tb-button--line { background: #06c755; }
.tb-page .tb-button--phone { background: var(--tb-accent); }
.tb-page .tb-button:hover { transform: translateY(-2px); filter: brightness(.97); }
.tb-page .tb-button:active { transform: translateY(2px); }
.tb-page .tb-deco { display: block; position: absolute; border-radius: 4px; pointer-events: none; }
.tb-page .tb-hero { height: 400px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; position: relative; overflow: hidden; color: #fff; }
.tb-page .tb-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tb-page .tb-hero-overlay { position: absolute; inset: 0; background: rgba(15,36,31,.45); }
.tb-page .tb-hero-title { position: relative; font-family: 'TB Purchase Open Sans', sans-serif; font-weight: 800; font-size: 80px; line-height: 1.1; letter-spacing: .04em; }
.tb-page .tb-hero-subtitle { position: relative; font-weight: 700; font-size: 18px; line-height: 1.5; letter-spacing: .16em; }
.tb-page .tb-breadcrumb { display: flex; align-items: center; gap: 8px; padding: 12px 40px; background: #f5f8f6; font-family: 'TB Purchase Noto Sans JP', sans-serif; font-size: 12px; font-weight: 400; line-height: 1.6; letter-spacing: .04em; color: #5b6669; }
.tb-page .tb-breadcrumb a { color: var(--tb-accent); }
.tb-page .tb-intro { padding-bottom: 120px; }
.tb-page .tb-intro .tb-container { gap: 40px; }
.tb-page .tb-rule { width: 2px; height: 96px; background: var(--tb-teal); }
.tb-page .tb-intro-heading { width: 100%; text-align: center; }
.tb-page .tb-watermark { font-family: 'TB Purchase Open Sans', sans-serif; font-weight: 800; line-height: 1; font-size: 104px; color: #e3eee9; letter-spacing: .02em; margin-bottom: -56px; white-space: nowrap; }
.tb-page .tb-intro h1 { position: relative; font-size: 40px; font-weight: 900; line-height: 1.5; letter-spacing: .04em; }
.tb-page .tb-intro-lead { width: min(800px, 100%); font-size: 18px; line-height: 2; letter-spacing: .06em; text-align: center; color: var(--tb-muted); }
.tb-page .tb-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.tb-page .tb-chip { display: flex; align-items: center; gap: 8px; border: 1.5px solid var(--tb-border); padding: 8px 16px 8px 12px; border-radius: 999px; font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .05em; }
.tb-page .tb-chip .tb-icon { width: 20px; height: 20px; flex-basis: 20px; }
.tb-page .tb-chip .tb-icon img { flex-shrink: 0; transform: scale(.833333); }
.tb-page .tb-cta-row { display: flex; gap: 16px; }
.tb-page .tb-caption { color: var(--tb-muted); font-size: 14px; line-height: 1.7; }
.tb-page .tb-features, .tb-page .tb-faq { padding: 80px 0 120px; }
.tb-page .tb-feature-grid { width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.tb-page .tb-feature-card { min-width: 0; border: 1.5px solid var(--tb-border); border-radius: 24px; padding: 24px 24px 32px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.tb-page .tb-feature-title-row { display: flex; flex-direction: column; gap: 4px; }
.tb-page .tb-number { font-family: 'TB Purchase Open Sans', sans-serif; font-weight: 800; line-height: 1; font-size: 28px; letter-spacing: .04em; color: var(--tb-accent); }
.tb-page .tb-feature-title-row h3, .tb-page .tb-step-copy h3, .tb-page .tb-contact-card h3 { font-size: 20px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.tb-page .tb-card-copy, .tb-page .tb-trust-copy { color: var(--tb-muted); font-size: 16px; line-height: 2; letter-spacing: .05em; }
.tb-page .tb-illustration { display: flex; flex-direction: column; justify-content: center; align-items: center; overflow: hidden; width: 100%; height: 200px; flex: 0 0 auto; }
.tb-page .tb-illustration-crop { position: relative; overflow: hidden; width: var(--crop-width); height: var(--crop-height); flex: 0 0 auto; }
.tb-page .tb-illustration-crop img { position: absolute; width: var(--image-width); height: var(--image-height); left: var(--image-left); top: var(--image-top); max-width: none; object-fit: contain; }
.tb-page .tb-trust { padding: 40px 0; }
.tb-page .tb-trust-layout { display: grid; width: 100%; grid-template-columns: 480px minmax(0, 1fr); column-gap: 64px; row-gap: 32px; align-items: start; }
.tb-page .tb-trust-layout > .tb-heading { grid-column: 2; grid-row: 1; align-items: flex-start; text-align: left; }
.tb-page .tb-trust-photo { grid-column: 1; grid-row: 1 / 4; align-self: center; width: 100%; aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; }
.tb-page .tb-trust-photo img { width: 100%; height: 100%; object-fit: cover; object-position: left center; }
.tb-page .tb-trust-copy { grid-column: 2; grid-row: 2; }
.tb-page .tb-trust-grid { grid-column: 2; grid-row: 3; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.tb-page .tb-trust-item { background: #fff; border-radius: 16px; padding: 24px 16px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; text-align: center; }
.tb-page .tb-trust-item dt { color: var(--tb-muted); font-size: 14px; line-height: 1.7; letter-spacing: .05em; }
.tb-page .tb-trust-item dd { width: 100%; color: var(--tb-accent); font-size: 22px; line-height: 1.4; font-weight: 900; letter-spacing: .04em; }
.tb-page .tb-trust .tb-deco--1 { width: 40px; height: 40px; background: var(--tb-yellow); left: -14px; top: -14px; }
.tb-page .tb-trust .tb-deco--2 { width: 16px; height: 16px; background: var(--tb-teal); left: 34px; top: -8px; }
.tb-page .tb-trust .tb-deco--3 { width: 28px; height: 28px; background: var(--tb-olive); right: 12px; bottom: 52px; }
.tb-page .tb-steps { padding: 120px 0; }
.tb-page .tb-step-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); width: 100%; gap: 16px; }
.tb-page .tb-step-card { display: flex; flex-direction: column; gap: 12px; border: 1.5px solid var(--tb-border); border-radius: 24px; padding: 20px 20px 24px; min-width: 0; }
.tb-page .tb-step-card .tb-illustration { height: 130px; }
.tb-page .tb-step-copy { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.tb-page .tb-step-number { display: flex; align-items: baseline; gap: 6px; color: var(--tb-accent); font-family: 'TB Purchase Open Sans', sans-serif; font-weight: 800; line-height: 1; }
.tb-page .tb-step-number span { font-size: 14px; letter-spacing: .12em; }
.tb-page .tb-step-number strong { font-size: 28px; letter-spacing: .04em; font-weight: 800; }
.tb-page .tb-step-copy .tb-card-copy { font-size: 14px; line-height: 1.8; letter-spacing: .05em; color: var(--tb-muted); }
.tb-page .tb-steps-note { font-size: 12px; line-height: 1.7; color: var(--tb-muted); text-align: center; }
.tb-page .tb-assurance { padding-bottom: 40px; }
.tb-page .tb-assurance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; width: 100%; }
.tb-page .tb-assurance-card { padding: 40px; background: #fff; border-radius: 24px; display: flex; flex-direction: column; gap: 24px; }
.tb-page .tb-card-label { font-size: 20px; line-height: 1.6; letter-spacing: .04em; }
.tb-page .tb-point { display: flex; align-items: flex-start; gap: 12px; }
.tb-page .tb-point > div { min-width: 0; }
.tb-page .tb-point h4 { font-size: 20px; line-height: 1.6; font-weight: 700; letter-spacing: .04em; margin-bottom: 4px; }
.tb-page .tb-point p { font-size: 14px; line-height: 1.8; letter-spacing: .05em; color: var(--tb-muted); }
.tb-page .tb-assurance .tb-deco--1 { width: 32px; height: 32px; background: var(--tb-olive); left: -12px; top: -12px; }
.tb-page .tb-assurance .tb-deco--2 { width: 40px; height: 40px; background: var(--tb-yellow); right: 4px; top: -14px; }
.tb-page .tb-faq-list { width: min(880px, 100%); display: flex; flex-direction: column; gap: 12px; }
.tb-page .tb-faq-item { padding: 24px 32px; border: 1.5px solid var(--tb-border); border-radius: 16px; display: flex; flex-direction: column; gap: 12px; }
.tb-page .tb-faq-question, .tb-page .tb-faq-answer { display: flex; align-items: flex-start; gap: 16px; }
.tb-page .tb-faq-question { font-size: 20px; font-weight: 700; line-height: 1.6; letter-spacing: .04em; }
.tb-page .tb-faq-answer { font-size: 16px; line-height: 2; letter-spacing: .05em; color: var(--tb-muted); }
.tb-page .tb-faq-badge { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 8px; display: flex; justify-content: center; align-items: center; font-family: 'TB Purchase Open Sans', sans-serif; font-weight: 800; line-height: 1; font-size: 14px; letter-spacing: .12em; background: var(--tb-teal); color: #fff; }
.tb-page .tb-faq-answer .tb-faq-badge { background: var(--tb-yellow); color: var(--tb-ink); }
.tb-page .tb-contact { padding-bottom: 120px; }
.tb-page .tb-contact .tb-panel { background: var(--tb-teal); }
.tb-page .tb-contact .tb-heading, .tb-page .tb-contact .tb-heading-lead, .tb-page .tb-contact .tb-label { color: #fff; }
.tb-page .tb-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; width: min(880px, 100%); }
.tb-page .tb-contact-card { background: #fff; border-radius: 24px; padding: 40px 24px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 12px; text-align: center; }
.tb-page .tb-contact-card > p { font-size: 14px; line-height: 1.8; color: var(--tb-muted); }
.tb-page .tb-contact-card .tb-button { width: 100%; }
.tb-page .tb-contact-card .tb-contact-number { font-family: 'TB Purchase Open Sans', sans-serif; font-weight: 800; line-height: 1.2; font-size: 34px; letter-spacing: .02em; color: var(--tb-accent); white-space: nowrap; }
.tb-page .tb-contact-card .tb-caption { font-size: 12px; line-height: 1.7; }
.tb-page .tb-contact .tb-deco--1 { width: 40px; height: 40px; background: var(--tb-yellow); right: 4px; top: -14px; }
.tb-page .tb-contact .tb-deco--2 { width: 16px; height: 16px; background: var(--tb-olive); right: 42px; top: 40px; }
.tb-page .tb-contact .tb-deco--3 { width: 20px; height: 20px; background: var(--tb-yellow); left: -12px; top: 300px; }
.tb-page .tb-sticky-cta { display: none; }
.tb-page .tb-skip-link { position: absolute; z-index: 100000; left: 16px; top: -100px; background: #fff; padding: 12px; }
.tb-page .tb-skip-link:focus { top: 12px; }

@media (min-width: 768px) and (max-width: 1199px) {
  .tb-page .tb-panel { padding: 56px 40px; }
  .tb-page .tb-trust-layout { grid-template-columns: minmax(280px, .9fr) minmax(0, 1fr); column-gap: 32px; }
  .tb-page .tb-heading-title { font-size: 30px; }
  .tb-page .tb-intro h1 { font-size: 32px; }
  .tb-page .tb-watermark { font-size: 80px; margin-bottom: -40px; }
  .tb-page .tb-feature-card { padding-inline: 16px; }
  .tb-page .tb-feature-grid { gap: 16px; }
  .tb-page .tb-illustration-crop { max-width: 100%; }
  .tb-page .tb-step-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tb-page .tb-assurance-card { padding: 24px; }
  .tb-page .tb-contact-number { font-size: 28px; }
}
@media (max-width: 767px) {
  .tb-page .tb-icon { margin-top: 2px; }
  .tb-page { font-size: 15px; line-height: 1.9; }
  .tb-page .tb-mobile-break { display: block; }
  .tb-page .tb-mobile-only { display: inline; }
  .tb-page .tb-desktop-only { display: none; }
  .tb-page .tb-desktop-break { display: none; }
  .tb-page .tb-container { width: calc(100% - 40px); gap: 32px; }
  .tb-page .tb-panel { width: calc(100% - 24px); padding: 48px 20px; border-radius: 24px; gap: 32px; }
  .tb-page .tb-heading { gap: 12px; }
  .tb-page .tb-heading-title { font-size: 24px; }
  .tb-page .tb-heading-lead { font-size: 15px; letter-spacing: .05em; }
  .tb-page .tb-label { font-size: 12px; }
  .tb-page .tb-hero { height: 240px; gap: 2px; }
  .tb-page .tb-hero-image { width: 179.94%; height: 100%; max-width: none; left: -7.99%; object-fit: fill; }
  .tb-page .tb-hero-title { font-size: 44px; }
  .tb-page .tb-hero-subtitle { font-size: 14px; }
  .tb-page .tb-breadcrumb { padding-inline: 16px; }
  .tb-page .tb-intro { padding-bottom: 64px; }
  .tb-page .tb-intro .tb-container { gap: 28px; }
  .tb-page .tb-rule { height: 56px; }
  .tb-page .tb-watermark { font-size: clamp(32px, 10.6667vw, 40px); margin-bottom: -20px; }
  .tb-page .tb-intro h1 { font-size: 26px; }
  .tb-page .tb-intro-lead { font-size: 15px; letter-spacing: .05em; text-align: left; }
  .tb-page .tb-chips { width: 100%; justify-content: flex-start; }
  .tb-page .tb-cta-row { width: 100%; flex-direction: column; gap: 12px; }
  .tb-page .tb-cta-row .tb-button { width: 100%; }
  .tb-page .tb-caption { font-size: 12px; }
  .tb-page .tb-features, .tb-page .tb-faq { padding: 48px 0 64px; }
  .tb-page .tb-feature-grid { grid-template-columns: 1fr; gap: 16px; }
  .tb-page .tb-feature-title-row h3, .tb-page .tb-step-copy h3, .tb-page .tb-contact-card h3 { font-size: 17px; }
  .tb-page .tb-card-copy, .tb-page .tb-trust-copy { font-size: 15px; line-height: 1.9; }
  .tb-page .tb-illustration { height: 180px; }
  .tb-page .tb-illustration-crop { max-width: 100%; }
  .tb-page .tb-trust { padding: 24px 0; }
  .tb-page .tb-trust-layout { display: flex; flex-direction: column; gap: 24px; }
  .tb-page .tb-trust-layout > .tb-heading { align-items: center; text-align: center; }
  .tb-page .tb-trust-layout > .tb-heading .tb-heading-title { font-size: clamp(18px, 5.8vw, 24px); }
  .tb-page .tb-trust-photo { flex: 0 0 auto; }
  .tb-page .tb-trust-grid { width: 100%; gap: 8px; }
  .tb-page .tb-trust-item { padding: 16px 12px; }
  .tb-page .tb-trust-item dd { font-size: 17px; }
  .tb-page .tb-trust .tb-deco--1 { width: 24px; height: 24px; left: -8px; top: -8px; }
  .tb-page .tb-trust .tb-deco--2 { width: 10px; height: 10px; left: 22px; top: -4px; }
  .tb-page .tb-trust .tb-deco--3 { display: none; }
  .tb-page .tb-steps { padding: 64px 0; }
  .tb-page .tb-step-grid { grid-template-columns: 1fr; gap: 16px; }
  .tb-page .tb-step-card { flex-direction: column; align-items: stretch; gap: 16px; padding: 24px; }
  .tb-page .tb-step-card .tb-illustration { width: 100%; height: 130px; }
  .tb-page .tb-step-copy { gap: 8px; }
  .tb-page .tb-step-copy .tb-card-copy { font-size: 14px; }
  .tb-page .tb-assurance { padding-bottom: 24px; }
  .tb-page .tb-assurance-grid { grid-template-columns: 1fr; gap: 16px; }
  .tb-page .tb-assurance-card { padding: 24px 20px; }
  .tb-page .tb-card-label { font-size: 17px; }
  .tb-page .tb-point h4 { font-size: 17px; }
  .tb-page .tb-point p { font-size: 13px; }
  .tb-page .tb-assurance .tb-deco--1 { width: 20px; height: 20px; left: -6px; top: -6px; }
  .tb-page .tb-assurance .tb-deco--2 { width: 22px; height: 22px; right: -1px; top: -8px; }
  .tb-page .tb-faq-item { padding: 20px; }
  .tb-page .tb-faq-question { font-size: 17px; }
  .tb-page .tb-faq-answer { font-size: 15px; line-height: 1.9; }
  .tb-page .tb-contact { padding-bottom: 64px; }
  .tb-page .tb-contact-grid { grid-template-columns: 1fr; gap: 16px; }
  .tb-page .tb-contact-card { padding: 32px 20px; }
  .tb-page .tb-contact-card > p { font-size: 13px; }
  .tb-page .tb-contact-card .tb-contact-number { font-size: clamp(22px, 7.4667vw, 28px); }
  .tb-page .tb-contact .tb-deco--1 { width: 24px; height: 24px; right: 1px; top: -8px; }
  .tb-page .tb-contact .tb-deco--2 { width: 10px; height: 10px; right: 27px; top: 24px; }
  .tb-page .tb-contact .tb-deco--3 { display: none; }
  .tb-page .tb-sticky-cta { display: flex; gap: 8px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; background: #fff; padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -2px 6px #0000001f; }
  .tb-page .tb-sticky-cta .tb-button { flex: 1; min-width: 0; min-height: 52px; padding: 8px 12px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .tb-page .tb-button { transition: none; }
}
@media (max-width: 360px) {
  .tb-page .tb-feature-card .tb-illustration-crop { transform: scale(.82); max-width: none; }
  .tb-page .tb-sticky-cta .tb-button { font-size: 13px; gap: 6px; }
}

/* Exact Figma illustration viewports: pc */
.tb-page .tb-illustration--01 { --crop-width: 213.82687px; --crop-height: 180.00000px; --image-width: 296.85651px; --image-height: 222.64236px; --image-left: -49.40775px; --image-top: -30.13667px; }
.tb-page .tb-illustration--02 { --crop-width: 273.00000px; --crop-height: 139.83391px; --image-width: 275.85764px; --image-height: 206.89323px; --image-left: -3.04815px; --image-top: -37.14934px; }
.tb-page .tb-illustration--03 { --crop-width: 269.79166px; --crop-height: 180.00000px; --image-width: 301.66666px; --image-height: 226.25000px; --image-left: -20.62500px; --image-top: -27.91667px; }
.tb-page .tb-illustration--04 { --crop-width: 52.64250px; --crop-height: 118.00000px; --image-width: 172.06848px; --image-height: 129.05136px; --image-left: -60.36657px; --image-top: -8.67472px; }
.tb-page .tb-illustration--05 { --crop-width: 92.48337px; --crop-height: 118.00000px; --image-width: 167.18591px; --image-height: 125.38943px; --image-left: -37.98630px; --image-top: -6.11937px; }
.tb-page .tb-illustration--06 { --crop-width: 67.92195px; --crop-height: 118.00000px; --image-width: 166.69658px; --image-height: 125.02244px; --image-left: -48.23610px; --image-top: -5.87122px; }
.tb-page .tb-illustration--07 { --crop-width: 128.47780px; --crop-height: 118.00000px; --image-width: 180.61734px; --image-height: 135.46300px; --image-left: -34.80127px; --image-top: -13.47146px; }
.tb-page .tb-illustration--08 { --crop-width: 148.19998px; --crop-height: 101.07041px; --image-width: 159.07603px; --image-height: 119.30703px; --image-left: -6.92113px; --image-top: -13.18310px; }

/* Exact Figma illustration viewports: sp */
@media (max-width: 767px) {
.tb-page .tb-illustration--01 { --crop-width: 190.06834px; --crop-height: 160.00000px; --image-width: 263.87244px; --image-height: 197.90433px; --image-left: -43.91800px; --image-top: -26.78815px; }
.tb-page .tb-illustration--02 { --crop-width: 264.00000px; --crop-height: 135.22400px; --image-width: 266.76343px; --image-height: 200.07257px; --image-left: -2.94766px; --image-top: -35.92463px; }
.tb-page .tb-illustration--03 { --crop-width: 239.81482px; --crop-height: 160.00000px; --image-width: 268.14816px; --image-height: 201.11111px; --image-left: -18.33333px; --image-top: -24.81482px; }
}

/* Keep the original fixed header in its own layout slot. */
.tb-site-chrome--header { height: var(--tb-chrome-header-height, calc(100vw * 95.1 / 1440)); }
@media (max-width: 768px) {
  .tb-site-chrome--header { height: var(--tb-chrome-header-height, calc(100vw * 60 / 375)); }
}
.tb-page .tb-sticky-cta.is-at-footer { display: none; }
