/* Specialist article reading rhythm */
/*
 * Specialist article visual baseline.
 * The construction-accounting article is the reference design.  Keep the
 * shared stylesheet self-contained so a new article does not depend on the
 * legacy inline styles that remain in older pages.
 */
body {
  color: #162534 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  letter-spacing: .02em;
}

/* Shared note callout: highlighted heading, white body, framed with a blue rule. */
.articleContent .callout {
  margin: 22px 0 28px;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #cfe3ee;
  border-left: 3px solid var(--sky, #85c6e8);
}

.articleContent .callout > strong {
  display: block;
  margin: 0;
  padding: 12px 18px;
  color: var(--navy, #0b1d31);
  background: #f3f9fc;
}

.articleContent .callout > p {
  margin: 0 !important;
  padding: 14px 18px 16px;
  background: #fff;
}

.articleContent .callout > p + p {
  padding-top: 0;
}

body > header {
  display: flex !important;
  align-items: center !important;
  border-bottom: 1px solid rgba(11, 31, 51, .08) !important;
  color: #162534 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
}

body > header .head {
  gap: 32px !important;
}

body > header nav {
  color: #475867 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
}

.articleHero {
  color: #162534 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
}

.articleHero h1,
.articleBodyTitleText,
.articleContent h2,
.articleContent h3,
.articleContent h4 {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-weight: 700;
  letter-spacing: 0.03em;
}

/* Use browser-selected line endings without manual breaks in specialist titles. */
.articleHero h1,
.articleContent .articleBodyTitleText {
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}

@supports (word-break: auto-phrase) {
  .articleHero h1,
  .articleContent .articleBodyTitleText {
    word-break: auto-phrase;
  }
}
/* Specialist article body shell — construction article baseline. */
.articleBody > .articleLayout {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 40px !important;
  padding-left: 40px !important;
}

@media (max-width: 620px) {
  .articleBody > .articleLayout {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
}

/* Compact table of contents for specialist articles. */
.articleContent {
  container-type: inline-size;
}

.articleContent .articleToc {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 195px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  column-gap: 24px;
  align-items: stretch;
  height: 220px;
  margin: 28px 0 38px;
  padding: 10px 12px 10px 0;
  border-top: 1px solid #dce6ec;
  border-bottom: 0;
  background: #fff;
}

.articleContent .articleToc::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #dce6ec;
  pointer-events: none;
}

.articleContent .articleTocTitle {
  display: flex;
  min-height: 0;
  align-items: center;
  margin-bottom: 0;
  padding: 0 24px;
  border-right: 1px solid #dce6ec;
  color: #347fa9;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  white-space: nowrap;
  background: linear-gradient(135deg, #deeff7 0%, #edf7fb 100%);
}

.articleContent .articleTocList {
  display: grid;
  min-height: 0;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.articleContent .articleToc:not(:has(.articleTocList li:nth-child(2))) {
  height: 73px;
}

.articleContent .articleTocList:not(:has(li:nth-child(2))) {
  grid-template-rows: minmax(0, 1fr);
}

.articleContent .articleToc:has(.articleTocList li:nth-child(2)):not(:has(.articleTocList li:nth-child(3))) {
  height: 122px;
}

.articleContent .articleTocList:has(li:nth-child(2)):not(:has(li:nth-child(3))) {
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.articleContent .articleToc:has(.articleTocList li:nth-child(3)):not(:has(.articleTocList li:nth-child(4))) {
  height: 171px;
}

.articleContent .articleTocList:has(li:nth-child(3)):not(:has(li:nth-child(4))) {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.articleContent .articleTocList a {
  display: flex;
  box-sizing: border-box;
  height: 100%;
  gap: 10px;
  align-items: baseline;
  padding: 9px 12px;
  border-bottom: 1px solid #e8eff3;
  color: #526979;
  font-size: 13px;
  line-height: 1.65;
  transition: color .18s ease, background-color .18s ease, padding-left .18s ease;
}

.articleContent .articleTocList a:hover {
  color: #337da8;
  background: rgba(226, 243, 251, .52);
  padding-left: 16px;
}

.articleContent .articleTocList li:nth-child(4) a,
.articleContent .articleTocList li:last-child a {
  border-bottom: 0;
}

.articleContent .articleTocList:has(li:nth-child(5)) li:nth-child(-n+4) a {
  border-right: 1px solid #e2ebf0;
}

.articleContent .articleTocList li:nth-child(n+5) a {
  padding-left: 18px;
}

.articleContent .articleTocList li:last-child:not(:nth-child(4n)) a {
  border-bottom: 1px solid #e8eff3;
}

.articleContent .articleTocNumber {
  flex: 0 0 28px;
  color: #58addb;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  letter-spacing: .04em;
}

.articleContent h2[id^="section-"] {
  scroll-margin-top: 150px;
}

/* Keep the contents readable when the article column—not the browser window—is narrow. */
@container (max-width: 720px) {
  .articleToc {
    height: auto !important;
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .articleTocList {
    grid-template-columns: 1fr;
    grid-template-rows: none !important;
    grid-auto-flow: row;
  }

  .articleTocList li:nth-child(4) a,
  .articleTocList:has(li:nth-child(5)) li:nth-child(-n+4) a,
  .articleTocList li:last-child:not(:nth-child(4n)) a {
    border-right: 0;
    border-bottom: 1px solid #e8eff3;
  }

  .articleTocList li:nth-child(n+5) a {
    padding-left: 12px;
  }

  .articleTocList li:last-child a {
    border-bottom: 0;
  }
}

@media (max-width: 620px) {
  .articleContent .articleToc {
    display: block;
    height: auto !important;
    margin: 24px 0 32px;
    padding: 14px 12px;
  }

  .articleContent .articleTocTitle {
    display: block;
    margin-bottom: 10px;
    padding: 10px 12px;
    border-right: 0;
    border-bottom: 1px solid #dce6ec;
  }

  .articleContent .articleTocList {
    grid-template-columns: 1fr;
    grid-template-rows: none !important;
    grid-auto-flow: row;
  }

  .articleContent .articleTocList li:nth-child(4) a {
    border-bottom: 1px solid #e8eff3;
  }

  .articleContent .articleTocList:has(li:nth-child(5)) li:nth-child(-n+4) a {
    border-right: 0;
  }

  .articleContent .articleTocList li:nth-child(n+5) a {
    padding-left: 12px;
    border-left: 0;
  }

  .articleContent .articleTocList li:last-child a {
    border-bottom: 0;
  }

  .articleContent h2[id^="section-"] {
    scroll-margin-top: 88px;
  }
}

/* Official document excerpt card.
   Keep this named block so the excerpt design can be changed site-wide later. */
.articleContent .guidanceQuote {
  position: relative;
  overflow: hidden;
  margin: 26px 0 30px;
  padding: 0;
  border: 1px solid #d5e5ed;
  border-left: 3px solid #72bde4;
  background: linear-gradient(135deg, #fff 0%, #f6fafc 100%);
  box-shadow: 0 12px 30px rgba(44, 81, 103, .07);
}

.articleContent .guidanceQuoteTitle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 22px;
  border-bottom: 1px solid #dbe8ee;
  background: rgba(238, 247, 251, .72);
  color: var(--navy);
  font-size: 13px;
  font-weight: 700;
}

.articleContent .guidanceQuoteBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  background: #4d91b8;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .12em;
}

.articleContent .guidanceQuote p {
  margin: 0;
  padding: 23px 38px 28px;
  color: #536b79;
  font-size: 13.5px;
  line-height: 2;
}

.articleContent .guidanceQuote::after {
  content: "”";
  position: absolute;
  right: 14px;
  bottom: -5px;
  color: #9acbe3;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 52px;
  font-weight: 400;
  line-height: 1;
}

.articleContent .guidanceQuoteText::before {
  content: "“";
  display: inline-block;
  margin-right: 7px;
  color: #63add3;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  font-weight: 400;
  line-height: .45;
  vertical-align: -.2em;
}

/* Case overview card — use a strong left rule to separate case summaries. */
.articleContent .caseOverview {
  margin: 38px 0 30px;
  padding: 19px 23px 20px;
  border: 1px solid #d5e5ed;
  border-left: 6px solid #4c8fb8;
  background: #f4f9fc;
  box-shadow: 0 9px 24px rgba(44, 81, 103, .06);
}

.articleContent .caseOverviewTitle {
  margin-bottom: 8px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

.articleContent .caseOverview p {
  margin: 0;
}

.articleContent .caseOverview p + p {
  margin-top: 10px;
}

/* Editorial columns follow the service-page key-message frame. */
.articleContent .caseOverview.articleColumn {
  padding: 24px 28px 26px;
  border: 0;
  border-left: 1px solid #73bfe8;
  background: #f5fbfe;
  box-shadow: none;
}

.articleContent .articleColumn .caseOverviewBody {
  padding: 0;
}

/* Columns separate the heading from the body; the related-article box remains unchanged. */
.articleContent .caseOverview.articleColumn.columnSplit {
  padding: 0;
  border: 1px solid #d7e9f2;
  border-left-color: #73bfe8;
  background: #fff;
}

.articleContent .articleColumn.columnSplit .caseOverviewTitle {
  margin: 0;
  padding: 12px 20px;
  border-bottom: 1px solid #d7e9f2;
  background: #eaf5fa;
}

.articleContent .articleColumn.columnSplit .caseOverviewBody {
  padding: 18px 20px 20px;
}

.articleContent .filingIntentRequirements {
  margin: 22px 0 27px;
  padding: 0;
  border: 1px solid #d7e9f2;
  background: #fff;
}

.articleContent .filingIntentRequirementsTitle {
  padding: 12px 20px;
  border-bottom: 1px solid #d7e9f2;
  background: #eaf5fa;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
}

.articleContent .filingIntentRequirementsBody {
  padding: 15px 20px 17px;
  background: #fafdfe;
}

.articleContent .filingIntentRequirementsBody p {
  margin: 0 0 7px;
}

.articleContent .filingIntentRequirementsBody ul {
  margin-top: 6px;
  margin-bottom: 0;
}

@media (max-width: 620px) {
  .articleContent .guidanceQuote {
    margin: 22px 0 26px;
  }

  .articleContent .guidanceQuoteTitle {
    gap: 8px;
    padding: 12px 15px;
  }

  .articleContent .guidanceQuote p {
    padding: 19px 27px 24px;
    font-size: 13px;
  }

  .articleContent .guidanceQuote::after {
    right: 10px;
    font-size: 44px;
  }

  .articleContent .guidanceQuoteText::before {
    margin-right: 5px;
    font-size: 41px;
  }
}

/* Complete specialist-article layout master — construction article baseline. */
.articleBody {
  padding: 58px 0 105px !important;
  color: #162534 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
}

.articleBody > .articleLayout {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 760px) !important;
  column-gap: 70px !important;
}

.articleBackWrap {
  position: sticky !important;
  top: 118px !important;
  z-index: 8 !important;
  align-self: start !important;
}

.articleContent {
  min-width: 0 !important;
  color: #506170 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}

.articleContent .articleBodyTitle {
  margin-bottom: 24px !important;
}

.articleContent h2.numberedHeading {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 44px 0 18px !important;
  padding-bottom: 12px !important;
  color: #0b1f33 !important;
  font-size: 22px !important;
  line-height: 1.55 !important;
}

.articleContent h2.numberedHeading .sectionNumber {
  display: block !important;
  flex: 0 0 36px !important;
  margin-top: .5em !important;
  color: #73bfe8 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.articleContent h3.numberedHeading {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 24px 0 14px !important;
  padding-bottom: 0 !important;
  color: #0b1f33 !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
}

.articleContent h3.numberedHeading .sectionNumber {
  display: block !important;
  flex: 0 0 36px !important;
  margin-top: .4em !important;
  color: #73bfe8 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.articleContent h2.numberedHeading::before,
.articleContent h3.numberedHeading::before {
  display: none !important;
}

.articleContent h2.numberedHeading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 48px;
  display: block;
  width: 58px;
  border-top: 1px solid #73bfe8;
}

.articleContent h3.numberedHeading::after {
  display: none !important;
}

/* Repeated category/list blocks use a compact gap between the numbered heading and its lead. */
.articleContent .docsCategory > h3.numberedHeading {
  padding-bottom: 0 !important;
  margin-bottom: 8px !important;
}

.articleContent .methodItem > h3.numberedHeading,
.articleContent .taxRegimeYear > h3.numberedHeading {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

.articleContent .disclaimer {
  margin-top: 34px !important;
  padding: 22px 24px !important;
  border: 1px solid #efede9 !important;
  background: #fcfcfb !important;
  color: #77736e !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

.below {
  padding: 28px 0 !important;
  background: #0b1f33 !important;
  color: #fff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif !important;
}

.below > .belowGrid {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 1.25fr repeat(4, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 1240px !important;
  min-height: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 40px !important;
  padding-left: 40px !important;
}

.below .intro {
  color: #c9d7e1 !important;
  font-family: Georgia, serif !important;
  font-size: 14px !important;
  letter-spacing: .08em !important;
}

.below .item {
  display: block !important;
  margin: 0 !important;
  padding: 6px 26px !important;
  border-left: 1px solid rgba(255, 255, 255, .16) !important;
}

.below .k {
  margin-bottom: 3px !important;
  color: #86cbed !important;
  font-family: inherit !important;
  font-size: 10px !important;
  line-height: normal !important;
  letter-spacing: .18em !important;
}

.below .v {
  margin-top: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

@media (max-width: 950px) {
  .articleBody > .articleLayout {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
  }

  .articleBackWrap {
    display: contents !important;
    position: static !important;
    top: auto !important;
  }

  .articleBack {
    order: 0 !important;
  }

  .articleContent {
    order: 1 !important;
    width: 100% !important;
    max-width: 760px !important;
  }

  .relatedArticleNav {
    order: 2 !important;
    width: 100% !important;
    margin-top: 18px !important;
    padding-top: 26px !important;
    border-top: 1px solid var(--line) !important;
  }

  .relatedArticleLinks {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .relatedArticleLinks a {
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: auto !important;
    padding: 6px 0 !important;
    border-bottom: 0 !important;
    white-space: normal !important;
  }

  .below > .belowGrid {
    grid-template-columns: 1fr 1fr !important;
  }

  .below .intro {
    grid-column: 1 / -1 !important;
    margin-bottom: 0 !important;
  }

  .below .item {
    margin: 8px 0 !important;
  }

  .below .item:nth-child(2) {
    border-left: 0 !important;
  }
}

@media (max-width: 620px) {
  .articleBody {
    padding: 42px 0 80px !important;
  }

  .articleContent {
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
  }

  .articleContent .articleBodyTitle {
    margin: 0 0 22px !important;
    padding: 8px 0 20px !important;
  }

  .articleContent h2.numberedHeading {
    margin: 44px 0 18px !important;
    font-size: 19px !important;
  }

  .articleContent h2.numberedHeading::after {
    width: 50px;
  }

  .articleContent h3.numberedHeading {
    margin: 24px 0 14px !important;
    font-size: 17px !important;
  }

  .articleContent .methodItem > h3.numberedHeading,
  .articleContent .taxRegimeYear > h3.numberedHeading {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  .articleContent .disclaimer {
    padding: 18px !important;
  }

  .below > .belowGrid {
    display: block !important;
    padding-right: 24px !important;
    padding-left: 24px !important;
  }

  .below .intro {
    margin-bottom: 16px !important;
  }

  .below .item,
  .below .item:nth-child(2) {
    margin: 0 !important;
    padding: 16px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .14) !important;
    border-left: 0 !important;
  }

  .below .intro + .item {
    padding-top: 8px !important;
  }
}

.articleContent {
  line-height: 1.9;
}

.articleContent p {
  margin-bottom: 12px;
  line-height: 1.9;
}

/* Important points use a soft fluorescent-marker highlight. */
.articleContent p > strong,
.articleContent .articleKeyPoint {
  color: inherit !important;
  font-weight: inherit;
  padding: 0 .08em;
  text-decoration: none !important;
  background-image: linear-gradient(
    transparent 58%,
    rgba(191, 231, 248, .45) 58%,
    rgba(191, 231, 248, .45) 88%,
    transparent 88%
  );
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.articleContent h4.detailHeading {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 12px 0 12px !important;
  color: var(--navy);
  font-size: 16px;
  line-height: 1.65;
}

/* Heading gaps belong to the following heading, never both neighbours. */
.articleContent > :has(+ h3.numberedHeading),
.articleContent > :has(+ h4.detailHeading) {
  margin-bottom: 0 !important;
}
.articleContent h2.numberedHeading + h3.numberedHeading {
  margin-top: 24px !important;
}
.articleContent h3.numberedHeading:has(+ h4.detailHeading) {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.articleContent h3.numberedHeading + h4.detailHeading {
  margin-top: 14px !important;
}
.articleContent .articleCompareTableWrap + h3.numberedHeading {
  margin-top: 24px !important;
}
.articleContent .docsTableWrap + h4.detailHeading,
.articleContent .docsCategoryGrid + h4.detailHeading {
  margin-top: 24px !important;
}

.articleContent .detailHeadingDot {
  color: #75b9dd;
  font-size: 9px;
}

.articleContent p:last-child,
.articleContent td p:last-child,
.articleContent th p:last-child {
  margin-bottom: 0;
}

.articleContent li {
  line-height: 1.8;
}

.articleContent .articleNoteText,
.articleContent .articleSource,
.articleContent td,
.articleContent th {
  line-height: 1.75;
}

/* Shared reference-box rule: a quiet divider above and below. */
.articleContent .articleSource,
.articleContent .articleReference {
  margin: 20px 0 30px !important;
  padding: 15px 0 !important;
  border-top: 1px solid #d9e5eb !important;
  border-bottom: 1px solid #d9e5eb !important;
  color: #7a8993 !important;
  font-size: 11px !important;
  line-height: 1.9 !important;
}

.articleContent .articleSource > strong,
.articleContent .articleReference > strong,
.articleContent .articleSourceLabel {
  display: block;
  margin-bottom: 5px;
  color: #5f7d90;
  font-size: 11px;
  font-weight: 700;
}

.articleContent .articleSourceLinks {
  display: grid;
  gap: 4px;
}

/* PDF等へ直接リンクしない参考資料名。 */
.articleContent .articleSourceText {
  display: block;
  width: fit-content;
  max-width: 100%;
  color: #7a8993;
}

.articleContent .articleSource > .articleSourceText ~ .articleSourceText,
.articleContent .articleReference > .articleSourceText ~ .articleSourceText {
  margin-top: 4px;
}

/* Normalize legacy direct-link references to the same 4px link gap. */
.articleContent .articleSource > br,
.articleContent .articleReference > br {
  display: none;
}

.articleContent .articleSource > a ~ a,
.articleContent .articleReference > a ~ a {
  margin-top: 4px;
}

.articleContent .articleSource a,
.articleContent .articleReference a,
.articleContent .articleSourceLinks a {
  display: block;
  width: fit-content;
  max-width: 100%;
  color: #4c8fb8 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.articleContent .articleSource a[target="_blank"]::after,
.articleContent .articleReference a[target="_blank"]::after,
.articleContent .articleSourceLinks a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: .45em;
  vertical-align: -1px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%234c8fb8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6'/%3E%3Cpath d='M10 14 21 3'/%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  text-decoration: none;
}

/* Specialist article heading hierarchy master rule */
@media (min-width: 621px) {
  .articleContent .articleBodyTitleText {
    font-size: 25px !important;
  }

  .articleContent h2.numberedHeading {
    font-size: 22px !important;
  }

  .articleContent h3.numberedHeading {
    font-size: 19px !important;
  }
}

@media (max-width: 620px) {
  .articleHero h1.balancedHeroTitle {
    text-wrap: balance;
  }

  .articleContent .articleBodyTitleText {
    font-size: 20px !important;
  }

  .articleContent h2.numberedHeading {
    font-size: 19px !important;
  }

  .articleContent h3.numberedHeading {
    font-size: 17px !important;
  }
}

/* Keep every specialist-article title inside the white hero area. */
@media (min-width: 951px) {
  body .articleHero > .shell > h1 {
    max-width: min(760px, calc(66vw - 40px)) !important;
  }
}

/* Specialist article header and body-title master rule */
@media (min-width: 951px) {
  body > header {
    position: sticky !important;
    top: 0;
    z-index: 20;
    height: 88px !important;
    background: #fff !important;
    backdrop-filter: none !important;
  }

  .articleContent .articleBodyTitle {
    position: sticky !important;
    top: 88px !important;
    z-index: 7;
    margin-left: -18px;
    margin-right: -18px;
    padding: 13px 18px 16px;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    isolation: isolate;
  }

  .articleContent .articleBodyTitle::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 100%;
    left: 0;
    height: 2px;
    background: #fff;
  }

  .articleContent .articleBodyTitleText {
    font-size: 25px !important;
    line-height: 1.45 !important;
  }

  .articleContent .articleBodyTitle::after {
    content: "";
    position: absolute;
    bottom: 8px;
    left: 18px;
    width: 82px;
    border-top: 1px solid #73bfe8;
  }
}

@media (max-width: 950px) {
  .articleContent .articleBodyTitle {
    position: static !important;
    width: 100%;
    max-width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0;
    padding-left: 0;
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow-wrap: anywhere;
  }

  .articleContent .articleBodyTitle::before,
  .articleContent .articleBodyTitle::after {
    display: none !important;
  }

  .articleContent .articleBodyTitleText {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (max-width: 620px) {
  .articleContent {
    line-height: 1.85;
  }

  .articleContent p {
    margin-bottom: 10px;
    line-height: 1.85;
  }

  .articleContent li {
    line-height: 1.78;
  }
}

/* Shared palette for information tables and table-like panels */
.articleContent {
  --article-table-outer: #d9e8f0;
  --article-table-rule: #e2edf2;
  --article-table-heading-rule: #c8dce6;
  --article-table-tone-1: #c2e1f0;
  --article-table-tone-2: #d9edf7;
  --article-table-tone-3: #f0f7fb;
  --article-table-tone-4: #fff;
  --article-table-title: #edf7fb;
  --article-table-heading-group: var(--article-table-tone-1);
  --article-table-heading: var(--article-table-tone-2);
  --article-table-label: var(--article-table-tone-3);
  --article-table-body: var(--article-table-tone-4);
  --article-table-heading-text: #315b75;
}

/* Standard information table — construction-article spacing and palette. */
.articleContent .articleCompareTableWrap {
  width: 100%;
  max-width: 100%;
  margin: 18px 0 24px;
  border: 1px solid var(--article-table-outer);
  background: var(--article-table-body);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.articleContent .articleCompareTable {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  background: var(--article-table-body);
  font-size: 11px;
  line-height: 1.75;
}

/* Titled definition table — shared rule for professional articles. */
.articleContent .articleCompareTable caption {
  height: 46px;
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--article-table-outer);
  background: var(--article-table-title);
  color: var(--article-table-heading-text);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
  text-align: left;
}

.articleContent .articleCompareTable thead tr {
  height: 46px;
}

/* Multi-row headers use compact rows; the standard 46px height is for single-row headers. */
.articleContent .articleCompareTable thead:has(tr + tr) tr {
  height: auto !important;
}

.articleContent .articleCompareTable thead:has(tr + tr) th {
  padding: 4px 12px !important;
  line-height: 1.35 !important;
}

.articleContent .articleCompareTable tbody tr {
  height: auto;
}

/* Two-column terminology tables use a consistent reading rhythm. */
.articleContent .articleCompareTable.constructionTermsTable tbody tr {
  height: 76px;
}

.articleContent .articleCompareTable th,
.articleContent .articleCompareTable td {
  border-right: 1px solid var(--article-table-rule);
  border-bottom: 1px solid var(--article-table-rule);
  text-align: left;
  vertical-align: middle;
}

.articleContent .articleCompareTable th:last-child,
.articleContent .articleCompareTable td:last-child {
  border-right: 0;
}

.articleContent .articleCompareTable tbody tr:last-child th,
.articleContent .articleCompareTable tbody tr:last-child td {
  border-bottom: 0;
}

.articleContent .articleCompareTable thead th {
  border-right-color: var(--article-table-heading-rule);
  border-bottom-color: var(--article-table-heading-rule);
  font-weight: 700;
}

/* In framed tables with a title band, the column header uses the same tone. */
.articleContent .articleCompareTable:has(caption) thead th {
  background: var(--article-table-title) !important;
}

/* Section titles placed between table rows use the same visual rule as a single-row header. */
.articleContent .articleCompareTable .articleTableSectionHeading > th,
.articleContent .articleCompareTable .articleTableSectionHeading > td {
  height: 46px;
  padding: 8px 14px;
  background: var(--article-table-heading);
  color: var(--article-table-heading-text);
  font-weight: 700;
  line-height: 1.75;
  text-align: left;
  vertical-align: middle;
}

/* Major table groups use one clearly darker blue step than ordinary headers. */
.articleContent .articleCompareTable .articleTableGroupHeading > th,
.articleContent .articleCompareTable .articleTableGroupHeading > td {
  background: var(--article-table-heading-group) !important;
}

.articleContent .articleCompareTable tbody th {
  width: 28%;
  color: #35576c;
  font-weight: 700;
}

.articleContent .articleCompareTable .articleVerticalGroupLabel {
  padding: 8px 4px !important;
  background: #eef7fb !important;
  color: var(--article-table-heading-text);
  text-align: center;
  vertical-align: middle;
}

.articleContent .articleCompareTable .articleVerticalGroupLabel span {
  display: inline-block;
  writing-mode: vertical-rl;
  text-orientation: upright;
  letter-spacing: .16em;
  white-space: nowrap;
}

.articleContent .articleCompareTable .articleTableGroupSpacer {
  padding: 0 !important;
  background: var(--article-table-body);
}

.articleContent .articleCompareTable.withholdingPenaltyTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.withholdingPenaltyTable col:nth-child(1) { width: 32%; }
.articleContent .articleCompareTable.withholdingPenaltyTable col:nth-child(2) { width: 50%; }
.articleContent .articleCompareTable.withholdingPenaltyTable col:nth-child(3) { width: 18%; }

.articleContent .articleCompareTable.withholdingPenaltyTable td[data-label="加算税"],
.articleContent .articleCompareTable.withholdingPenaltyTable td[data-label="税率"] {
  text-align: center;
}

.articleContent .articleCompareTable.withholdingPenaltyTable tbody th[data-label="加算税"] {
  white-space: nowrap;
}

.articleContent .articleCompareTable.stampPenaltyTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.stampPenaltyTable col:nth-child(1) { width: 16%; }
.articleContent .articleCompareTable.stampPenaltyTable col:nth-child(2) { width: 57%; }
.articleContent .articleCompareTable.stampPenaltyTable col:nth-child(3) { width: 27%; }

.articleContent .articleCompareTable.stampPenaltyTable tbody th[data-label="区分"],
.articleContent .articleCompareTable.stampPenaltyTable td[data-label="過怠税の額"] {
  width: auto;
  text-align: center;
}

/* Penalty summary table — keep the decision axes compact and the timing column readable. */
.articleContent .articleCompareTable.penaltyMeasuresTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.penaltyMeasuresTable col:nth-child(1) { width: 18%; }
.articleContent .articleCompareTable.penaltyMeasuresTable col:nth-child(2) { width: 22%; }
.articleContent .articleCompareTable.penaltyMeasuresTable col:nth-child(3) { width: 46%; }
.articleContent .articleCompareTable.penaltyMeasuresTable col:nth-child(4) { width: 14%; }

.articleContent .articleCompareTable.penaltyMeasuresTable td[data-label="税率・加重割合"],
.articleContent .articleCompareTable.penaltySummaryTable td:not([data-label="税額区分"]) {
  text-align: center;
  vertical-align: middle;
}

.articleContent .articleCompareTable.penaltyMeasuresTable tbody.penaltyMeasuresGroupStart {
  border-top: 2px solid #b7cedb;
}

.articleContent .articleCompareTable.interestRatesTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.interestRatesTable col:nth-child(1) { width: 13%; }
.articleContent .articleCompareTable.interestRatesTable col:nth-child(2) { width: 27%; }
.articleContent .articleCompareTable.interestRatesTable col:nth-child(3) { width: 40%; }
.articleContent .articleCompareTable.interestRatesTable col:nth-child(4) { width: 20%; }

.articleContent .articleCompareTable.interestRatesTable tbody th,
.articleContent .articleCompareTable.interestRatesTable td[data-label="2026年の割合"] {
  text-align: center;
  vertical-align: middle;
}

.articleContent .articleCompareTable.interestRatesTable :is(th, td) {
  padding: 14px 12px !important;
}

.articleContent .articleCompareTable.calculationPremiseTable,
.articleContent .articleCompareTable.extensionCalculationTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.calculationPremiseTable col:nth-child(1) { width: 24%; }
.articleContent .articleCompareTable.calculationPremiseTable col:nth-child(2) { width: 76%; }

.articleContent .articleCompareTable.extensionCalculationTable col:nth-child(1) { width: 29%; }
.articleContent .articleCompareTable.extensionCalculationTable col:nth-child(2) { width: 53%; }
.articleContent .articleCompareTable.extensionCalculationTable col:nth-child(3) { width: 18%; }

.articleContent .articleCompareTable.calculationPremiseTable tbody th,
.articleContent .articleCompareTable.extensionCalculationTable tbody th,
.articleContent .articleCompareTable.extensionCalculationTable td[data-label="延滞税"] {
  vertical-align: middle;
}

.articleContent .articleCompareTable.calculationPremiseTable tbody th,
.articleContent .articleCompareTable.extensionCalculationTable tbody th {
  width: auto;
}

.articleContent .articleCompareTable.extensionCalculationTable td[data-label="延滞税"] {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.articleContent .articleCompareTable.localPenaltyTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.localPenaltyTable col:nth-child(1) { width: 22%; }
.articleContent .articleCompareTable.localPenaltyTable col:nth-child(2) { width: 44%; }
.articleContent .articleCompareTable.localPenaltyTable col:nth-child(3) { width: 34%; }

.articleContent .articleCompareTable.localPenaltyTable td[data-label="割合等"] {
  text-align: center;
  font-weight: 700;
}

.articleContent .articleCompareTable .tableCellLead {
  margin-bottom: 6px;
}

.articleContent .articleCompareTable .tableCellList {
  margin: 0;
  padding-left: 1.15em;
}

.articleContent .articleCompareTable .tableCellList li + li {
  margin-top: 4px;
}

.articleContent .articleCompareTable.penaltySummaryTable {
  table-layout: fixed;
}

.articleContent .articleCompareTable.penaltySummaryTable col:nth-child(1) { width: 15%; }
.articleContent .articleCompareTable.penaltySummaryTable col:nth-child(2) { width: 19%; }
.articleContent .articleCompareTable.penaltySummaryTable col:nth-child(3) { width: 13%; }
.articleContent .articleCompareTable.penaltySummaryTable col:nth-child(4) { width: 18%; }
.articleContent .articleCompareTable.penaltySummaryTable col:nth-child(5) { width: 22%; }
.articleContent .articleCompareTable.penaltySummaryTable col:nth-child(6) { width: 13%; }

.articleContent .articleCompareTable.penaltySummaryTable :is(th, td) {
  padding: 12px 10px !important;
}

.articleContent .articleCompareTable.penaltySummaryTable tbody th {
  width: auto;
  text-align: center;
}

.articleContent .articleCompareTable.penaltySummaryTable td[data-label="重加算税"] {
  color: #35576c;
}

.articleContent .articleCompareTable.penaltySummaryTable td[data-label="重加算税"][rowspan] {
  background: var(--article-table-label);
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
}

.articleContent .articleCompareTable.penaltySummaryTable td[data-label="重加算税"][rowspan="2"] {
  background-image: linear-gradient(
    to bottom,
    transparent calc(50% - .5px),
    var(--article-table-rule) calc(50% - .5px),
    var(--article-table-rule) calc(50% + .5px),
    transparent calc(50% + .5px)
  );
}

.articleContent .articleCompareTable.penaltySummaryTable td[data-label="重加算税"][rowspan="3"] {
  background-image:
    linear-gradient(
      to bottom,
      transparent calc(33.333% - .5px),
      var(--article-table-rule) calc(33.333% - .5px),
      var(--article-table-rule) calc(33.333% + .5px),
      transparent calc(33.333% + .5px)
    ),
    linear-gradient(
      to bottom,
      transparent calc(66.667% - .5px),
      var(--article-table-rule) calc(66.667% - .5px),
      var(--article-table-rule) calc(66.667% + .5px),
      transparent calc(66.667% + .5px)
    );
}

.articleContent .articleCompareTable.penaltySummaryTable .mergedRateValue {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 2px 8px;
  background: var(--article-table-label);
}

.articleContent .articleCompareTable.penaltySummaryTable tbody.penaltyGroupStart {
  border-top: 2px solid #b7cedb;
}

.articleContent :is(
  .docsTableWrap,
  .constructionTermsTableWrap,
  .flrCompareTableWrap,
  .salesFormulaTableWrap,
  .expenseTable,
  .articleCompareTable,
  .decisionFlowTable,
  .ownerIssueTable,
  .assetLifeTable,
  .taxRateTable,
  .withholdingTableWrap
) {
  border-color: var(--article-table-outer) !important;
}

.articleContent :is(
  .docsTable,
  .constructionTermsTable,
  .flrCompareTable,
  .articleCompareTable,
  .decisionFlowTable,
  .ownerIssueTable,
  .assetLifeTable,
  .taxRateTable,
  .withholdingTable
) :is(th, td) {
  border-color: var(--article-table-rule) !important;
  padding: 12px 15px !important;
}

.articleContent :is(
  .docsTable caption,
  .constructionTermsTable thead th,
  .flrCompareTable thead th,
  .articleCompareTable thead th,
  .decisionFlowTable thead th,
  .ownerIssueTable thead th,
  .assetLifeTable thead th,
  .taxRateTable thead th,
  .withholdingTable thead th,
  .expenseTableTitle
) {
  border-color: var(--article-table-rule) !important;
  background: var(--article-table-heading) !important;
  color: var(--article-table-heading-text) !important;
}

/* Multi-row headers: distinguish the group heading from its lower-level columns. */
.articleContent .articleCompareTable thead:has(tr + tr) tr:first-child th {
  background: var(--article-table-heading-group) !important;
}

.articleContent .articleCompareTable thead:has(tr + tr) tr:not(:first-child) th {
  background: var(--article-table-heading) !important;
}

.articleContent :is(
  .docsTable tbody th,
  .constructionTermsTable tbody th,
  .flrCompareTable tbody th,
  .articleCompareTable tbody th,
  .decisionFlowTable tbody th,
  .ownerIssueTable tbody th,
  .assetLifeTable tbody th,
  .withholdingTable tbody th,
  .taxRateTable tbody td:first-child
) {
  background: var(--article-table-label) !important;
}

/* Keep major tbody group headings at tone 1 after the generic tbody label rule. */
.articleContent .articleCompareTable tbody .articleTableGroupHeading > th,
.articleContent .articleCompareTable tbody .articleTableGroupHeading > td {
  background: var(--article-table-heading-group) !important;
}

.articleContent .ownerIssueTable tbody td,
.articleContent .taxRateTable tbody td:not(:first-child),
.articleContent .withholdingTable tbody td {
  background: var(--article-table-body) !important;
}

.articleContent .expenseRow {
  border-color: var(--article-table-rule) !important;
  background: var(--article-table-body);
}

.articleContent .expenseRow:nth-child(even) {
  background: var(--article-table-label) !important;
}

/* Row-internal column divider: subtle, with breathing room above and below. */
.articleContent .expenseTable .expenseRow {
  position: relative;
}

.articleContent .expenseTable .expenseRow::after {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 210px;
  width: 1px;
  background: rgba(76, 143, 184, 0.18);
}

.articleContent .expenseTable.documentExample .expenseRow::after {
  left: 180px;
}

/* Chronological change lists stay visually distinct from comparison tables. */
.articleContent .historyList {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--article-table-rule);
  background: transparent;
}

.articleContent .historyItem {
  border-bottom: 1px solid var(--article-table-rule);
  background: transparent;
}

.articleContent .historyItem::after {
  content: none;
}

.articleContent :is(.constructionTableNote, .documentExampleNote),
.articleContent .decisionFlowTable .diagramNotes {
  border-color: var(--article-table-rule) !important;
}

@media (max-width: 620px) {
  body > header {
    height: 72px !important;
  }

  .articleContent .articleCompareTable {
    min-width: 680px;
    font-size: 12px;
  }

  .articleContent :is(
    .docsTable,
    .constructionTermsTable,
    .flrCompareTable,
    .articleCompareTable,
    .decisionFlowTable,
    .ownerIssueTable,
    .assetLifeTable,
    .taxRateTable,
    .withholdingTable
  ) :is(th, td) {
    padding: 14px !important;
  }

  .articleContent .expenseTable .expenseRow::after {
    display: none;
  }
}

/* Shared consultation CTA for professional articles */
.articleContent .articleConsultNote {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 38px 0 0;
  padding: 22px 0;
  border-top: 1px solid #d8e4eb;
  border-bottom: 1px solid #d8e4eb;
}

.articleContent .articleConsultNote strong {
  display: block;
  margin-bottom: 6px;
  color: #0c2940;
  font-size: 17px;
}

.articleContent .articleConsultNote p {
  margin: 0;
  color: #617281;
  font-size: 13px;
  line-height: 1.75;
}

.articleContent .articleConsultNote a {
  display: inline-flex;
  min-height: 46px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  background: #4b9bc6;
  color: #fff !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease;
}

.articleContent .articleConsultNote a:hover,
.articleContent .articleConsultNote a:focus-visible {
  background: #378ab8;
}

/* Group relief overview: ownership relationship and each corporation's filing unit. */
.articleContent .groupReliefOverview {
  margin: 26px 0 34px;
  overflow: hidden;
  border: 1px solid #c7dce8;
  background: #fbfdfe;
}

.articleContent .groupReliefOverviewTitle {
  min-height: 50px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  border-bottom: 1px solid #c7dce8;
  color: #0b1d31;
  background: #edf7fb;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

.articleContent .groupReliefTree {
  --group-relief-child-gap: 34px;
  --group-relief-gap-quarter: 8.5px;
  position: relative;
  margin: 20px 24px 24px;
  padding: 0 28px 28px;
  border: 1px solid #b9d5e4;
  background: #fff;
}

.articleContent .groupReliefFrameLabel {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin: 0 -28px 18px;
  padding: 8px 16px;
  border-bottom: 1px solid #b9d5e4;
  color: #315f79;
  background: #f0f8fb;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-align: center;
}

.articleContent .groupReliefNode {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 112px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 15px 12px;
  border: 1px solid #b9d5e4;
  background: #fff;
  text-align: center;
}

.articleContent .groupReliefNode strong {
  color: #0b1d31;
  font-size: 15px;
  line-height: 1.5;
}

.articleContent .groupReliefNode > span {
  color: #607786;
  font-size: 11px;
  line-height: 1.5;
}

.articleContent .groupReliefNode em {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  margin-top: 8px;
  padding: 3px 10px;
  border-radius: 999px;
  color: #2f759b;
  background: #eaf6fb;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

.articleContent .groupReliefParent {
  width: 46%;
  margin: 0 auto;
}

.articleContent .groupReliefBranch {
  position: relative;
  height: 68px;
  color: #5a96b8;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

.articleContent .groupReliefBranch::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 31px;
  background: #87bdd8;
}

.articleContent .groupReliefBranch::after {
  content: "";
  position: absolute;
  top: 30px;
  right: calc(25% - var(--group-relief-gap-quarter));
  left: calc(25% - var(--group-relief-gap-quarter));
  height: 1px;
  background: #87bdd8;
}

.articleContent .groupReliefBranch span {
  position: absolute;
  top: 41px;
  z-index: 1;
  width: auto;
  padding: 0;
  text-align: center;
  white-space: nowrap;
}

.articleContent .groupReliefBranch span:first-child {
  left: calc(25% - var(--group-relief-gap-quarter) + 10px);
}

.articleContent .groupReliefBranch span:last-child {
  left: calc(75% + var(--group-relief-gap-quarter) - 10px);
  transform: translateX(-100%);
}

.articleContent .groupReliefChildren {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--group-relief-child-gap);
}

.articleContent .groupReliefChildren .groupReliefNode::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  width: 1px;
  height: 38px;
  background: #87bdd8;
}

.articleContent .groupReliefCalculation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 22px;
  padding: 15px 18px;
  border-left: 3px solid #72bde4;
  background: #f1f8fb;
}

.articleContent .groupReliefCalculation strong {
  color: #16405b;
  font-size: 12px;
  line-height: 1.65;
}

.articleContent .groupReliefCalculation span {
  color: #617887;
  font-size: 11px;
  line-height: 1.65;
  text-align: right;
}

@media (max-width: 620px) {
  .articleContent .groupReliefTree {
    --group-relief-child-gap: 12px;
    --group-relief-gap-quarter: 3px;
    margin: 14px;
    padding: 0 14px 22px;
  }

  .articleContent .groupReliefFrameLabel {
    margin-right: -14px;
    margin-left: -14px;
  }

  .articleContent .groupReliefParent {
    width: 58%;
  }

  .articleContent .groupReliefChildren {
    gap: var(--group-relief-child-gap);
  }

  .articleContent .groupReliefNode {
    min-height: 110px;
    padding: 13px 7px;
  }

  .articleContent .groupReliefNode strong {
    font-size: 13px;
  }

  .articleContent .groupReliefNode em {
    padding: 3px 7px;
    font-size: 10px;
  }

  .articleContent .groupReliefCalculation {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .articleContent .groupReliefCalculation span {
    text-align: left;
  }

  .articleContent .articleConsultNote {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding: 20px 0;
  }

  .articleContent .articleConsultNote strong {
    font-size: 16px;
  }

  .articleContent .articleConsultNote a {
    width: 100%;
  }
}
