@charset "UTF-8";

body.home
{
 background: var(--d-bg);
 overflow-x: hidden;
 overflow-y: auto;
 color: var(--d-text);
}

.home_wrap
{
 width: 100%;
 max-width: var(--d-wrap);
 padding-left: var(--d-pad);
 padding-right: var(--d-pad);
 margin: 0 auto;
 box-sizing: border-box;
}

.home_wrap_narrow
{
 max-width: calc(818px + 2 * var(--d-pad));
}

body.home main
{
 padding-bottom: 40px;
}

body.home a,
body.home a:visited
{
 text-decoration: none;
}

@media (hover:hover)
{
 body.home a:not(.button):hover
 {
  color: var(--d-muted);
  text-decoration: none;
 }
}

@media (hover:none)
{
 body.home a:not(.button):active
 {
  color: var(--d-muted);
  text-decoration: none;
 }
}

.home_hero
{
 padding-top: 40px;
}

.hero_box
{
 padding: 36px 48px 44px 48px;
 background: var(--d-card);
 border: 1px solid var(--d-line);
 border-radius: 12px;
}

.hero_title
{
 font-size: 2.25rem;
 font-weight: 800;
 line-height: 1.15;
 letter-spacing: -0.5px;
 color: var(--d-ink);
 margin: 0 0 14px 0;
 max-width: 640px;
}

.hero_text
{
 font-size: 1.0625rem;
 line-height: 1.5;
 color: var(--d-muted);
 margin: 0 0 26px 0;
 max-width: 540px;
}

.hero_text p
{
 margin: 0 0 10px 0;
}

.hero_text p:last-child
{
 margin-bottom: 0;
}

.hero_actions
{
 display: flex;
 gap: 12px;
 flex-wrap: wrap;
}

.home_section
{
 padding-top: 40px;
}

.section_head
{
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 16px;
 margin-bottom: 18px;
}

.section_title
{
 font-size: 1.5rem;
 font-weight: 800;
 letter-spacing: -0.3px;
 color: var(--d-ink);
 margin: 0;
}

.section_more
{
 font-size: 0.875rem;
 font-weight: 600;
 color: var(--d-text);
 text-decoration: none;
 white-space: nowrap;
}

@media (hover:hover)
{
 .section_more:hover
 {
  color: var(--d-ink);
  text-decoration: underline;
 }
}

@media (hover:none)
{
 .section_more:active
 {
  color: var(--d-ink);
  text-decoration: underline;
 }
}

.news
{
 display: grid;
 grid-template-columns: 1fr 1fr 1fr;
 gap: 30px;
}

.news_item
{
 display: flex;
 flex-direction: column;
 height: 100%;
 text-decoration: none;
}

.news_item:hover
{
 text-decoration: none;
}

.news_item_image
{
 aspect-ratio: 16 / 9;
 margin-bottom: 16px;
 background: var(--d-thumb);
 border-radius: 8px;
 overflow: hidden;
}

.news_item_image img
{
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.news_item_title
{
 font-size: 1.0625rem;
 font-weight: 700;
 line-height: 1.35;
 color: var(--d-ink);
 margin: 0 0 8px 0;
}

@media (hover:hover)
{
 .news_item:hover .news_item_title
 {
  color: var(--d-muted);
 }
}

@media (hover:none)
{
 .news_item:active .news_item_title
 {
  color: var(--d-muted);
 }
}

.news_item_text
{
 font-size: 0.9375rem;
 line-height: 1.5;
 color: var(--d-text);
 margin: 0 0 14px 0;
}

.news_item_date
{
 font-size: 0.8125rem;
 font-weight: 600;
 color: var(--d-muted);
 margin-top: auto;
}

.news_empty
{
 padding: 26px 28px;
 margin-top: 24px;
 background: var(--d-card);
 border: 1px solid var(--d-line);
 border-radius: 12px;
 color: var(--d-muted);
}

.news_row
{
 display: grid;
 grid-template-columns: 1fr 1fr;
 align-items: start;
 gap: 30px;
 margin-top: 30px;
}

.news_lead
{
 display: flex;
 flex-direction: column;
 padding: 22px 24px;
 background: var(--d-card);
 border: 1px solid var(--d-line);
 border-radius: 12px;
 box-sizing: border-box;
}

.news_lead_image
{
 aspect-ratio: 16 / 9;
 margin-bottom: 18px;
 background: var(--d-thumb);
 border-radius: 8px;
 overflow: hidden;
}

.news_lead_image img
{
 display: block;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.news_lead_title
{
 font-size: 1.25rem;
 font-weight: 700;
 line-height: 1.3;
 color: var(--d-ink);
 margin: 0 0 10px 0;
}

@media (hover:hover)
{
 .news_lead:hover .news_lead_title
 {
  color: var(--d-muted);
 }
}

@media (hover:none)
{
 .news_lead:active .news_lead_title
 {
  color: var(--d-muted);
 }
}

.news_lead_text
{
 font-size: 0.9375rem;
 line-height: 1.5;
 color: var(--d-text);
 margin: 0 0 16px 0;
}

.news_lead_date
{
 font-size: 0.8125rem;
 font-weight: 600;
 color: var(--d-muted);
}

.news_list
{
 margin-top: 30px;
 background: var(--d-card);
 border: 1px solid var(--d-line);
 border-radius: 12px;
 overflow: hidden;
}

.news_list_item
{
 display: block;
 padding: 22px 28px;
 border-bottom: 1px solid var(--d-line);
}

.news_list_item:last-child
{
 border-bottom: 0;
}

.news_list_date
{
 font-size: 0.8125rem;
 font-weight: 600;
 color: var(--d-muted);
 margin-bottom: 6px;
}

.news_list_title
{
 font-size: 1.0625rem;
 font-weight: 700;
 line-height: 1.35;
 color: var(--d-ink);
 margin: 0 0 6px 0;
}

@media (hover:hover)
{
 .news_list_item:hover .news_list_title
 {
  color: var(--d-muted);
 }
}

@media (hover:none)
{
 .news_list_item:active .news_list_title
 {
  color: var(--d-muted);
 }
}

.news_list_text
{
 font-size: 0.9375rem;
 line-height: 1.5;
 color: var(--d-text);
 margin: 0;
}

.pages
{
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 8px;
 margin-top: 24px;
}

.page,
.page_active
{
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 38px;
 height: 38px;
 padding: 0 10px;
 font-size: 0.9375rem;
 font-weight: 600;
 border: 1px solid var(--d-line);
 border-radius: 8px;
 box-sizing: border-box;
}

.page
{
 background: var(--d-card);
 color: var(--d-text);
}

@media (hover:hover)
{
 .page:hover
 {
  color: var(--d-ink);
 }
}

@media (hover:none)
{
 .page:active
 {
  color: var(--d-ink);
 }
}

.page_active
{
 background: var(--d-thumb);
 color: var(--d-ink);
}

.news_page_date
{
 font-size: 0.875rem;
 font-weight: 600;
 color: var(--d-muted);
 margin-bottom: 10px;
}

.news_page_image
{
 margin: 0 0 24px 0;
 border-radius: 8px;
 overflow: hidden;
 max-width: 720px;
}

.news_page_image img
{
 display: block;
 width: 100%;
 height: auto;
}

.news_back
{
 margin-top: 24px;
}

.page_path
{
 display: flex;
 align-items: center;
 gap: 8px;
 font-size: 0.875rem;
 color: var(--d-muted);
 margin-bottom: 18px;
}

.page_path_link
{
 color: var(--d-text);
 font-weight: 600;
}

.page_path_sep
{
 color: var(--d-line);
}

.page_box
{
 padding: 40px 48px;
 background: var(--d-card);
 border: 1px solid var(--d-line);
 border-radius: 12px;
}

.page_title
{
 font-size: 1.875rem;
 font-weight: 800;
 line-height: 1.2;
 letter-spacing: -0.4px;
 color: var(--d-ink);
 margin: 0 0 14px 0;
}

.page_description
{
 font-size: 1.0625rem;
 line-height: 1.5;
 color: var(--d-muted);
 margin: 0 0 24px 0;
 max-width: 720px;
}

.page_text
{
 line-height: 1.6;
 color: var(--d-text);
 max-width: 720px;
}

.page_text p
{
 margin: 0 0 16px 0;
}

.page_text h2,
.page_text h3
{
 font-weight: 700;
 color: var(--d-ink);
 margin: 28px 0 12px 0;
}

.page_text h2
{
 font-size: 1.375rem;
}

.page_text h3
{
 font-size: 1.125rem;
}

.page_text ul,
.page_text ol
{
 padding-left: 22px;
 margin: 0 0 16px 0;
}

.page_text li
{
 margin-bottom: 8px;
}

.page_text a
{
 color: var(--d-ink);
 text-decoration: underline;
}

.page_text img
{
 max-width: 100%;
 height: auto;
 border-radius: 8px;
}

.page_file
{
 display: flex;
 align-items: center;
 gap: 16px;
 max-width: 720px;
 margin-top: 32px;
 padding: 18px 20px;
 background: var(--d-bg);
 border: 1px solid var(--d-line);
 border-radius: 10px;
}

.page_file_icon
{
 display: flex;
 flex: 0 0 auto;
 align-items: center;
 justify-content: center;
 width: 48px;
 height: 48px;
 font-size: 0.75rem;
 font-weight: 800;
 letter-spacing: 0.4px;
 color: var(--d-card);
 background: var(--d-brand);
 border-radius: 8px;
}

.page_file_body
{
 flex: 1 1 auto;
 min-width: 0;
}

.page_file_name
{
 font-size: 1rem;
 font-weight: 700;
 line-height: 1.3;
 color: var(--d-ink);
}

.page_file_meta
{
 margin-top: 4px;
 font-size: 0.875rem;
 line-height: 1.4;
 color: var(--d-muted);
}

.page_file_button
{
 flex: 0 0 auto;
}

.sitemap
{
 max-width: 720px;
 margin-top: 8px;
}

.sitemap_list,
.sitemap_sublist
{
 list-style: none;
 padding: 0;
 margin: 0;
}

.sitemap_list > li
{
 padding: 12px 0;
 border-top: 1px solid var(--d-line);
}

.sitemap_list > li:first-child
{
 border-top: 0;
 padding-top: 0;
}

.sitemap_sublist
{
 padding-left: 18px;
 margin-top: 10px;
 border-left: 2px solid var(--d-line);
}

.sitemap_sublist li
{
 margin-bottom: 8px;
}

.sitemap_sublist li:last-child
{
 margin-bottom: 0;
}

.sitemap_link
{
 font-size: 0.9375rem;
 font-weight: 600;
 color: var(--d-text);
 text-decoration: none;
}

@media (hover:hover)
{
 .sitemap_link:hover
 {
  color: var(--d-ink);
  text-decoration: underline;
 }
}

@media (hover:none)
{
 .sitemap_link:active
 {
  color: var(--d-ink);
  text-decoration: underline;
 }
}

@media screen and (max-width: 980px)
{
 .hero_title
 {
  font-size: 1.875rem;
 }
}

@media screen and (max-width: 680px)
{
 .news
 {
  grid-template-columns: 1fr;
 }

 .news_row
 {
  grid-template-columns: 1fr;
 }

 .news_list_item
 {
  padding: 20px;
 }

 .hero_box
 {
  padding: 24px 24px 30px 24px;
 }

 .page_box
 {
  padding: 24px;
 }

 .hero_title
 {
  font-size: 1.625rem;
 }

 .page_title
 {
  font-size: 1.625rem;
 }

 .page_file
 {
  flex-wrap: wrap;
 }

 .page_file_button
 {
  width: 100%;
  box-sizing: border-box;
 }
}
