/* Fee-page styles; all content rules are scoped to .fee-page. */
.fee-page { width: min(calc(100% - 40px), 1080px); margin-inline: auto; color: #fff; font-family: "ShipporiMincho", serif; line-height: 2; font-weight: 400; letter-spacing: .03em; }
.fee-page *, .fee-page *::before, .fee-page *::after { box-sizing: border-box; }
.fee-page p { line-height: 2; }
.fee-page a { color: #fff; }
.fee-page a:hover { color: #93b2c7; }
.fee-page .fee-section { margin: 88px auto 0; padding: 0; width: 100%; scroll-margin-top: 160px; }
.fee-page .fee-section + .fee-section { margin-top: 104px; }
.fee-page .fee-section:last-child { margin-bottom: 112px; }
.fee-page .fee-style-1 { margin: 0 0 40px; padding: 0 0 20px; border-bottom: 1px solid #ffffff; font-size: 40px; font-weight: 400; letter-spacing: 0.08em; line-height: 1.4; }
.fee-page .fee-style-2 { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.fee-page .fee-style-3 { flex: 1 1 520px; font-size: 18px; }
.fee-page .fee-style-4 { margin: 0 0 24px; }
.fee-page .fee-style-5 { margin: 0; }
.fee-page .fee-style-6 { flex: 0 1 380px; min-width: 260px; display: flex; flex-direction: column; gap: 16px; }
.fee-page .fee-style-7 { border: 1px solid #3b4953; padding: 28px 28px 22px; }
.fee-page .fee-style-8 { font-size: 30px; line-height: 1.3; }
.fee-page .fee-style-9 { font-size: 18px; margin-left: 8px; color: #93b2c7; }
.fee-page .fee-style-10 { font-size: 14px; color: #c5d0d8; margin-top: 8px; }
.fee-page .fee-style-11 { font-size: 40px; color: #93b2c7; margin: 0 4px; }
.fee-page .fee-style-12 { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.fee-page .fee-style-13 { flex: 1 1 320px; border: 1px solid #3b4953; padding: 40px 36px; display: flex; flex-direction: column; gap: 18px; }
.fee-page .fee-style-14 { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.fee-page .fee-style-15 { font-size: 22px; letter-spacing: 0.1em; }
.fee-page .fee-style-16 { font-size: 40px; line-height: 1.2; }
.fee-page .fee-style-17 { font-size: 20px; margin-left: 4px; }
.fee-page .fee-style-18 { font-size: 14px; color: #c5d0d8; margin-left: 12px; }
.fee-page .fee-style-19 { height: 1px; background: #3b4953; }
.fee-page .fee-style-20 { margin: 0; font-size: 16px; }
.fee-page .fee-style-21 { font-size: 12px; letter-spacing: 0.15em; color: #93b2c7; border: 1px solid #93b2c7; padding: 2px 10px; line-height: 1.8; }
.fee-page .fee-style-22 { display: flex; flex-direction: column; gap: 8px; font-size: 16px; }
.fee-page .fee-style-23 { display: flex; gap: 12px; }
.fee-page .fee-style-24 { color: #93b2c7; flex: 0 0 auto; }
.fee-page .fee-style-25 { margin: 0; font-size: 15px; color: #c5d0d8; }
.fee-page .fee-style-26 { margin-top: 28px; padding: 24px 28px; border-left: 3px solid #93b2c7; background: #081620; font-size: 16px; }
.fee-page .fee-style-27 { display: flex; flex-wrap: wrap; gap: 20px; }
.fee-page .fee-style-28 { flex: 1 1 220px; border: 1px solid #3b4953; padding: 26px 28px 22px; }
.fee-page .fee-style-29 { font-size: 14px; letter-spacing: 0.15em; color: #93b2c7; margin-bottom: 6px; }
.fee-page .fee-style-30 { font-size: 36px; line-height: 1.2; }
.fee-page .fee-style-31 { font-size: 18px; margin-left: 4px; }
.fee-page .fee-style-32 { font-size: 14px; color: #c5d0d8; margin-top: 6px; }
.fee-page .fee-style-33 { font-size: 18px; }
.fee-page .fee-style-34 { margin: 32px 0 0; }
.fee-page .fee-style-35 { margin: 20px 0 0; }
.fee-page .fee-style-36 { margin: 56px 0 24px; padding-left: 16px; border-left: 4px solid #ffffff; font-size: 28px; font-weight: 400; letter-spacing: 0.08em; line-height: 1.4; }
.fee-page .fee-style-37 { flex: 1 1 300px; border: 1px solid #3b4953; padding: 28px 30px; }
.fee-page .fee-style-38 { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.fee-page .fee-style-39 { font-size: 12px; letter-spacing: 0.15em; color: #c5d0d8; border: 1px solid #3b4953; padding: 2px 10px; line-height: 1.8; }
.fee-page .fee-style-40 { margin: 20px 0 0; font-size: 15px; color: #c5d0d8; }
.fee-page .fee-style-41 { border: 1px solid #3b4953; padding: 36px 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px; }
.fee-page .fee-style-42 { flex: 1 1 240px; }
.fee-page .fee-style-43 { font-size: 14px; letter-spacing: 0.15em; color: #93b2c7; margin-bottom: 8px; }
.fee-page .fee-style-44 { font-size: 30px; line-height: 1.4; }
.fee-page .fee-style-45 { font-size: 14px; color: #c5d0d8; margin-left: 10px; }
.fee-page .fee-style-46 { font-size: 32px; color: #93b2c7; flex: 0 0 auto; }
.fee-page .fee-style-47 { font-size: 44px; line-height: 1.2; }
.fee-page .fee-style-48 { font-size: 22px; margin-left: 2px; }
.fee-page .fee-style-49 { font-size: 14px; color: #c5d0d8; margin-top: 4px; }
.fee-page .fee-style-50 { margin: 24px 0 0; font-size: 18px; }
.fee-page .fee-style-51 { display: flex; flex-direction: column; border-top: 1px solid #3b4953; font-size: 17px; }
.fee-page .fee-style-52 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding: 20px 8px; border-bottom: 1px solid #3b4953; }
.fee-page .fee-style-53 { font-size: 22px; }
.fee-page .fee-style-54 { font-size: 14px; color: #c5d0d8; margin-left: 8px; }
.fee-page .fee-style-55 { font-size: 16px; color: #c5d0d8; }
.fee-page .fee-style-56 { display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: center; justify-content: space-between; }
.fee-page .fee-style-57 { margin: 0; flex: 1 1 520px; font-size: 18px; }
.fee-page .fee-style-58 { flex: 0 0 auto; display: inline-block; background: #92b2c7; color: #ffffff; text-decoration: none; padding: 18px 44px; font-size: 15px; letter-spacing: 0.15em; min-height: 44px; box-sizing: border-box; }

.fee-page .fee-section h2 { font-size: clamp(28px, 3.2vw, 40px); }
.fee-page .fee-section h3 { font-size: clamp(23px, 2.6vw, 28px); }
.fee-page .fee-concept-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: 48px; }
.fee-page .fee-consult-grid, .fee-page .fee-payments-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.fee-page .fee-charges-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fee-page .fee-reward-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.fee-page .fee-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.fee-page .fee-card, .fee-page .fee-explanation, .fee-page .fee-facts { min-width: 0; }
.fee-page .fee-button { color: #0a1c28; text-align: center; }
.fee-page .fee-button:hover { color: #0a1c28; }
.fee-page a:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
@media (max-width: 900px) {
  .fee-page .fee-concept-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .fee-page .fee-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .fee-page .fee-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .fee-page .fee-button { justify-self: start; }
}
@media (max-width: 768px) {
  .fee-page .fee-section { margin-top: 48px; scroll-margin-top: 110px; }
  .fee-page .fee-section + .fee-section { margin-top: 64px; }
  .fee-page .fee-section:last-child { margin-bottom: 64px; }
  .fee-page .fee-section h2 { margin-bottom: 28px; padding-bottom: 16px; }
  .fee-page .fee-consult-grid, .fee-page .fee-payments-grid, .fee-page .fee-charges-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .fee-page .fee-consult-card { padding: 28px 24px; }
  .fee-page .fee-reward-grid { grid-template-columns: minmax(0, 1fr); padding: 28px 24px; gap: 16px; }
  .fee-page .fee-plus { font-size: 26px; }
  .fee-page .fee-section p { font-size: 16px; }
  .fee-page .fee-card { max-width: 100%; }
}
@media (max-width: 480px) {
  .fee-page .fee-facts { grid-template-columns: minmax(0, 1fr); }
  .fee-page .fee-amount { font-size: 36px; }
  .fee-page .fee-button { width: 100%; padding: 18px 20px; font-size: 15px; letter-spacing: .06em; }
}
@media (max-width: 360px) {
  body.price footer #contact_link .button_link { max-width: 100%; padding-inline: 14px; }
}
