@charset "UTF-8";

.title
{
 position: relative;
 width: 100%;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px;
 background: #F0F0F0;
 border-top: 1px solid #E9E9E9;
 border-bottom: 1px solid #E9E9E9
}

.title_wrap
{
 position: relative;
 max-width: 1900px;
 padding-top: 30px;
 padding-left: 50px;
 padding-right: 50px;
 padding-bottom: 10px;
 margin: 0 auto
}

.text_title
{
 position: relative;
 width: 100%;
 padding-top: 0;
 padding-left: calc(20% + 30px);
 padding-right: calc(25% + 25px);
 padding-bottom: 0;
 margin: 0;
 box-sizing: border-box
}

.text_title p
{
 font-weight: 500
}

.text_description
{
 position: relative;
 width: 100%;
 padding-top: 0;
 padding-left: calc(20% + 30px);
 padding-right: calc(25% + 25px);
 padding-bottom: 0;
 margin: 0;
 box-sizing: border-box
}

.text_description p
{
 font-size: 0.938rem;
 font-weight: 500;
 line-height: 1.5;
 margin-bottom: 20px
}

.content
{
 display: flex;
 gap: 50px;
 position: relative;
 max-width: 1900px;
 padding-top: 0;
 padding-left: 50px;
 padding-right: 50px;
 padding-bottom: 0;
 margin: 0 auto;
 justify-content: space-between
}

.col_left
{
 position: relative;
 width: 20%;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.col_left_title
{
 font-size: 0.875rem;
 font-weight: 600;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 15px
}

.col_left_link
{
 font-size: 0.813rem;
 font-weight: 400;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 10px
}

.col_middle
{
 position: relative;
 width: 55%;
 padding: 0;
 margin: 0
}

.news
{
 position: relative;
 padding: 0;
 margin: 0
}

.news h2
{
 font-size: 0.938rem;
 margin-bottom: 5px
}

.news p
{
 color: #000000;
 line-height: 1.5;
 margin-bottom: 30px
}

.date
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.813rem;
 font-weight: 500;
 color: #333333
}

.text_image
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 30px
}

.text_image img
{
 width: 100%;
 height: auto;
 border-radius: 5px
}

.text
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.text h2
{
 margin-bottom: 20px
}

.text h3
{
 margin-bottom: 20px
}

.text p
{
 font-size: 0.938rem;
 line-height: 1.7;
 margin-bottom: 20px
}

.text ul
{
 margin-bottom: 20px
}

.text li
{
 font-size: 0.938rem;
 list-style-type: disc;
 line-height: 1.7;
 margin-left: -5px
}

.text img
{
 max-width: 100%;
 height: auto
}

.text blockquote
{
 padding-top: 20px;
 padding-left: 40px;
 padding-right: 40px;
 padding-bottom: 20px;
 margin-top: 20px;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 25px;
 background: #F0F0F0
}

.text blockquote p
{
 font-style: italic;
 color: #333333;
 margin: 0
}

figure
{
 display: block;
 position: relative;
 width: 100%;
 padding: 0;
 margin: 0
}

.image
{
 position: relative;
 padding: 0;
 margin-top: 25px;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 20px
}

.image img
{
 width: 100%;
 height: auto;
 border-radius: 5px
}

figcaption
{
 font-style: italic;
 color: #666666;
 margin-top: 10px;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 0
}

.row
{
 display: grid;
 grid-template-columns: 1fr 1fr;
 grid-gap: 30px;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.item
{
 position: relative;
 width: 100%;
 padding: 0;
 margin: 0
}

.item a
{
 display: flex;
 flex-direction: column;
 height: 100%
}

.item_image
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 20px
}

.item_image img
{
 width: 100%;
 height: auto;
 aspect-ratio: 3 / 2;
 object-fit: cover;
 border-radius: 5px
}

.item_text
{
 position: relative;
 padding: 0;
 margin: 0
}

.item_text h2
{
 font-size: 0.938rem;
 margin-bottom: 10px
}

.item_text p
{
 color: #000000;
 line-height: 1.5
}

.item_date
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.813rem;
 font-weight: 500;
 color: #333333;
 position: relative;
 padding: 0;
 margin-top: auto;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 0
}

.subhead
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 10px
}

.subhead h2
{
 font-size: 1.063rem;
 margin: 0
}

.services
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 40px
}

.service_row
{
 display: flex;
 gap: 20px;
 position: relative;
 padding-top: 12px;
 padding-left: 0;
 padding-right: 0;
 padding-bottom: 12px;
 margin: 0;
 border-bottom: 1px solid #E0E0E0;
 justify-content: space-between
}

.service_name
{
 font-size: 0.938rem;
 line-height: 1.5;
 position: relative;
 padding: 0;
 margin: 0
}

.service_price
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.938rem;
 font-weight: 500;
 line-height: 1.5;
 text-align: right;
 white-space: nowrap;
 position: relative;
 padding: 0;
 margin: 0
}

.price_value
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 1.25rem;
 font-weight: 500;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 25px
}

.pages
{
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.page,
.page:hover,
.page:active,
.page:visited
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.938rem;
 font-weight: 500;
 text-decoration: none;
 margin-right: 15px
}

.page_active
{
 font-family: 'PT Root', Helvetica, sans-serif;
 font-size: 0.938rem;
 font-weight: 500;
 margin-right: 15px
}

.col_right
{
 position: relative;
 width: 25%;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 50px
}

.border
{
 position: relative;
 padding-top: 15px;
 padding-left: 20px;
 padding-right: 20px;
 padding-bottom: 10px;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 20px;
 background: #FFFFFF;
 border: 1px solid #E0E0E0;
 border-radius: 3px;
 box-sizing: border-box
}

.border_title
{
 font-size: 0.875rem;
 font-weight: 600;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 10px
}

.border_item
{
 font-size: 0.813rem;
 font-weight: 400;
 line-height: 1.5;
 position: relative;
 padding: 0;
 margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 margin-bottom: 7px
}

.border_icon
{
 width: auto;
 height: 13px;
 margin-top: 3px;
 margin-left: 0;
 margin-right: 7px;
 margin-bottom: 0;
 float: left
}

@media screen and (max-width: 1180px)
{
 .content
 {
  gap: 30px;
  padding-left: 30px;
  padding-right: 30px
 }

 .title_wrap
 {
  padding-left: 30px;
  padding-right: 30px
 }

 .text_title,
 .text_description
 {
  padding-left: calc(20% + 20px);
  padding-right: calc(25% + 15px)
 }
}

@media screen and (max-width: 980px)
{
 .title
 {
  margin-bottom: 30px
 }

 .text_title,
 .text_description
 {
  padding-left: 0;
  padding-right: calc(30% + 20px)
 }

 .col_left
 {
  display: none
 }

 .col_middle
 {
  width: 70%
 }

 .row
 {
  margin-bottom: 30px
 }

 .text,
 .pages
 {
  margin-bottom: 35px
 }

 .col_right
 {
  width: 30%;
  margin-bottom: 30px
 }
}

@media screen and (max-width: 780px)
{
 .text_title,
 .text_description
 {
  padding-right: 0
 }

 .content
 {
  display: block
 }

 .col_middle,
 .col_right
 {
  width: 100%
 }
}

@media screen and (max-width: 480px)
{
 .title_wrap
 {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 0
 }

 .text_title p
 {
  font-size: 1rem;
  font-weight: 600
 }

 .text_description p
 {
  font-size: 1.063rem;
  font-weight: 600
 }

 .content
 {
  padding-left: 20px;
  padding-right: 20px
 }

 .news h2
 {
  font-size: 1.125rem;
  margin-bottom: 5px
 }

 .date
 {
  font-size: 1rem
 }

 .text h2,
 .text h3
 {
  margin-bottom: 15px
 }

 .text p,
 .text li
 {
  font-size: 1.063rem;
  margin-bottom: 15px
 }

 .text ul
 {
  margin-bottom: 15px
 }

 .text blockquote
 {
  padding-top: 15px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 15px
 }

 .row
 {
  grid-template-columns: 1fr;
  margin-bottom: 35px
 }

 .item_text h2
 {
  font-size: 1.125rem
 }

 .item_date
 {
  font-size: 1rem
 }

 .subhead h2
 {
  font-size: 1.125rem
 }

 .service_name,
 .service_price
 {
  font-size: 1.063rem
 }

 .page,
 .page:hover,
 .page:active,
 .page:visited
 {
  font-size: 1.125rem;
  margin-right: 20px
 }

 .page_active
 {
  font-size: 1.125rem;
  margin-right: 20px
 }

 .border_title
 {
  font-size: 1.063rem;
  font-weight: 700
 }

 .border_item
 {
  font-size: 1rem;
  font-weight: 500
 }
}
