.page_service .head_ttl {
  background-image: url("../images/service_hd.jpg");
  background-repeat: no-repeat;
  background-size: cover; }

.contents_service .icon-def {
  display: none; }

.contents_service .service_h2 {
  margin-bottom: 80px;
  padding-top: 80px;
  text-align: center;
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
  color: #333;
  letter-spacing: 0.15em; }

.contents_service section {
  margin-bottom: 20px; }
  .contents_service section.service_office h3, .contents_service section.service_office h4, .contents_service section.service_office .service_detail_lead {
    color: #00a199;
    border-bottom-color: #00a199; }
  .contents_service section.service_office .service_h3 svg {
    fill: #00a199; }
  .contents_service section.service_office .service_detail_point {
    background-color: rgba(0, 161, 153, 0.1); }
  .contents_service section.service_office .service_detail_point .point,
  .contents_service section.service_office .service_detail_point .point::after {
    background-color: #00a199; }
  .contents_service section.service_health h3, .contents_service section.service_health h4, .contents_service section.service_health .service_detail_lead {
    color: #8ec21f;
    border-bottom-color: #8ec21f; }
  .contents_service section.service_health .service_h3 svg {
    fill: #8ec21f; }
  .contents_service section.service_health .service_detail_point {
    background-color: rgba(142, 194, 31, 0.1); }
  .contents_service section.service_health .service_detail_point .point,
  .contents_service section.service_health .service_detail_point .point::after {
    background-color: #8ec21f; }
  .contents_service section.service_emargency h3, .contents_service section.service_emargency h4, .contents_service section.service_emargency .service_detail_lead {
    color: #f7b52d;
    border-bottom-color: #f7b52d; }
  .contents_service section.service_emargency .service_h3 svg {
    fill: #f7b52d; }
  .contents_service section.service_emargency .service_detail_point {
    background-color: rgba(247, 181, 45, 0.1); }
  .contents_service section.service_emargency .service_detail_point .point,
  .contents_service section.service_emargency .service_detail_point .point::after {
    background-color: #f7b52d; }
  .contents_service section.service_life h3, .contents_service section.service_life h4, .contents_service section.service_life .service_detail_lead {
    color: #ec6d81;
    border-bottom-color: #ec6d81; }
  .contents_service section.service_life .service_h3 svg {
    fill: #ec6d81; }
  .contents_service section.service_life .service_detail_point {
    background-color: rgba(236, 109, 129, 0.1); }
  .contents_service section.service_life .service_detail_point .point,
  .contents_service section.service_life .service_detail_point .point::after {
    background-color: #ec6d81; }
  .contents_service section.service_promotion h3, .contents_service section.service_promotion h4, .contents_service section.service_promotion .service_detail_lead {
    color: #2ea6df;
    border-bottom-color: #2ea6df; }
  .contents_service section.service_promotion .service_h3 svg {
    fill: #2ea6df; }
  .contents_service section.service_promotion .service_detail_point {
    background-color: rgba(46, 166, 223, 0.1); }
  .contents_service section.service_promotion .service_detail_point .point,
  .contents_service section.service_promotion .service_detail_point .point::after {
    background-color: #2ea6df; }
  .contents_service section.service_other h3, .contents_service section.service_other h4, .contents_service section.service_other .service_detail_lead {
    color: #0054a7;
    border-bottom-color: #0054a7; }
  .contents_service section.service_other .service_h3 svg {
    fill: #0054a7; }
  .contents_service section.service_other .service_detail_point {
    background-color: rgba(0, 161, 153, 0.1); }
  .contents_service section.service_other .service_detail_point .point,
  .contents_service section.service_other .service_detail_point .point::after {
    background-color: #0054a7; }


.contents_service .service_h3 {
  position: relative;
  width: calc(98% - 20px);
  max-width: 1000px;
  margin: 0 auto 25px;
  padding: 0 0 10px 35px;
  box-sizing: border-box;
  font-size: 24px;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: 0.1em;
  border-bottom: solid 3px; }
  .contents_service .service_h3.service_detail {
    margin-bottom: 45px; }
  .contents_service .service_h3 svg {
    position: absolute;
    width: 18px;
    height: 18px;
    left: 0;
    top: 7px; }

.contents_service .service_lead {
  width: calc(98% - 20px);
  max-width: 1000px;
  margin: 0 auto 40px;
  font-size: 16px;
  line-height: 2;
  color: #333; }

.contents_service .service_detail_lead {
  width: calc(98% - 20px);
  max-width: 1000px;
  margin: 0 auto 30px;
  text-align: center;
  font-size: 18px;
  line-height: 2;
  font-weight: bold;
  color: #333; }

.contents_service .service_item-list {
  display: flex;
  flex-wrap: wrap;
  width: 98%;
  max-width: 1020px;
  margin: 0 auto; }

.contents_service .service_item {
  width: 23.1%;
  max-width: 235px;
  margin: 0 0.95% 70px; }
  .contents_service .service_item a {
    display: block;
    width: 100%; }
  .contents_service .service_item img {
    display: block;
    width: 100%;
    margin-bottom: 15px; }
  .contents_service .service_item h4 {
    min-height: 3.5em;
    margin-bottom: 25px;
    padding-bottom: 10px;
    font-size: 16px;
    line-height: 1.75;
    font-weight: bold;
    border-bottom: solid 1px; }
  .contents_service .service_item p {
    font-size: 13px;
    line-height: 1.8;
    color: #333; }

.contents_service .service_item_sdgs {
  width: 23.1%;
  max-width: 235px;
  margin: 30px 1.85% 30px 0; }
  .contents_service .service_item_sdgs a {
    display: block;
    width: 100%; }
  .contents_service .service_item_sdgs img {
    display: block;
    width: 100%;
    margin-bottom: 15px; }
  .contents_service .service_item_sdgs h4 {
    min-height: 3.5em;
    margin-bottom: 25px;
    padding-bottom: 10px;
    font-size: 16px;
    line-height: 1.75;
    font-weight: bold;
    border-bottom: solid 1px; }
  .contents_service .service_item_sdgs p {
    font-size: 13px;
    line-height: 1.8;
    color: #333; }


.contents_service .service_detail_item {
  width: calc(98% - 20px);
  max-width: 1000px;
  margin: 0 auto 80px; }
  .contents_service .service_detail_item h4 {
    margin: 0 auto 25px;
    padding: 20px 0 15px;
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.1em;
    border-bottom: solid 1px; }
  .contents_service .service_detail_item p {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.8;
    color: #333; }
  .contents_service .service_detail_item img {
    display: block;
    width: 90%;
    max-width: 470px;
    margin: 0 auto 40px; }
  .contents_service .service_detail_item .movie {
    position: relative;
    margin: 0 auto 40px;
    width: 600px;
    height: 337px; }
    .contents_service .service_detail_item .movie iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0; }

.contents_service .service_detail_point {
  width: calc(98% - 20px);
  max-width: 1000px;
  margin: 0 auto 80px;
  box-sizing: border-box;
  padding: 25px; }
  .contents_service .service_detail_point .point {
    position: relative;
    display: inline-block;
    height: 14px;
    margin-bottom: 20px;
    padding: 3px 15px 3px 5px;
    font-size: 16px;
    line-height: 1;
    font-weight: bold;
    color: #fff; }
    .contents_service .service_detail_point .point::after {
      position: absolute;
      content: '';
      width: 20px;
      height: 20px;
      right: -10px;
      top: 0;
      transform: rotate(45deg) scale(0.7); }
  .contents_service .service_detail_point .point-text {
    font-size: 16px;
    line-height: 1.8;
    color: #333; }

@media only screen and (max-width: 999px) {
  .contents_service .service_lead br {
    display: none; }
  .contents_service .service_detail_lead {
    text-align: left; }
    .contents_service .service_detail_lead br {
      display: none; }
  .contents_service .service_item {
    width: 31.3%;
    max-width: 313px;
    margin: 0 1% 70px; } }

@media only screen and (max-width: 639px) {
  .contents_service .service_h2 {
    margin-bottom: 60px;
    padding-top: 40px;
    font-size: 18px; }
  .contents_service section {
    margin-bottom: 60px; }
  .contents_service .service_h3 {
    width: 90%;
    padding: 0 0 10px 30px;
    font-size: 22px;
    border-bottom-width: 2px;
    letter-spacing: 0; }
    .contents_service .service_h3 svg {
      top: 6px; }
    .contents_service .service_h3.service_detail {
      margin-bottom: 30px;
      padding: 0 0 10px 25px;
      font-size: 18px; }
      .contents_service .service_h3.service_detail svg {
        top: 4px; }
  .contents_service .service_lead {
    width: 90%;
    font-size: 14px; }
  .contents_service .service_detail_lead {
    width: 90%;
    font-size: 16px; }
  .contents_service .service_item-list {
    display: block;
    width: 90%; }
  .contents_service .service_item {
    width: 100%;
    max-width: 100%;
    margin: 0 0 50px; }
    .contents_service .service_item a {
      display: flex;
      flex-direction: column; }
    .contents_service .service_item img {
      order: 2;
      margin-bottom: 20px; }
    .contents_service .service_item h4 {
      order: 1;
      min-height: 0; }
      .contents_service .service_item h4 br {
        display: none; }
    .contents_service .service_item p {
      order: 3; }

  .contents_service .service_item_sdgs {
    width: 100%;
    max-width: 100%;
    margin: 20px 0 20px; }
    .contents_service .service_item_sdgs a {
      display: flex;
      flex-direction: column; }
    .contents_service .service_item_sdgs img {
      order: 2;
      margin-bottom: 20px; }
    .contents_service .service_item_sdgs h4 {
      order: 1;
      min-height: 0; }
      .contents_service .service_item_sdgs h4 br {
        display: none; }
    .contents_service .service_item_sdgs p {
      order: 3; }

  .contents_service .service_detail_item {
    width: 90%;
    margin: 0 auto 50px; }
    .contents_service .service_detail_item h4 {
      margin: 0 auto 20px;
      padding: 20px 0 15px;
      font-size: 16px; }
    .contents_service .service_detail_item p {
      margin-bottom: 20px;
      font-size: 16px; }
    .contents_service .service_detail_item img {
      width: 100%;
      margin: 0 auto 20px; }
    .contents_service .service_detail_item .movie {
      width: 100%;
      height: 0;
      margin: 0 auto 20px;
      padding-top: 56.25%; }
}

ul.service_sdgs_02 li{
  width: 30%;
  padding: 0.5%;
  margin: 2% 2% 3% 0;
  float: left;
  box-sizing:border-box;
}


.box_service_sdgs{
  width: 70%;
  margin: 0 auto 0;
  padding: 30px;
  box-sizing: border-box;
  border: 1px dashed;
  border-color: #2ea6df;
}

.box_service_sdgs .unit_2col div { width:48%; }

.box_service_sdgs .unit_2col .box_a {
  margin-right: 4%; }

.service_sdgs_03 {
  width: 1000px;
  margin: 0 auto;
  padding: 30px 0;
}

.service_sdgs_03 img {
  display: block;
  width: 90%;
  max-width: 900px;
  margin: 30px auto 0; }

.service_sdgs_04 p {
  text-align: center; }

.service_sdgs_04 img {
  display: block;
  width: 90%;
  max-width: 500px;
  margin: 30px auto 80px; }

@media screen and (max-width: 639px) {
  ul.service_sdgs_02 li{
    width: 100%;
    padding: 20px;
    box-sizing:border-box;
    margin: 0;
  }

  .box_service_sdgs{
    width: 100%;
    padding: 20px;
  }

  .box_service_sdgs .unit_2col div { width:100%; }

  .box_service_sdgs .unit_2col .box_a {
    margin: 0 0 30px 0; }

  .service_sdgs_03,
  .service_sdgs_04 {
    width: 96%;
    padding: 30px 0;
    margin: 0 auto;
  }

  .service_sdgs_03 img,
  .service_sdgs_04 img {
    width: 100%;
    margin: 30px auto 0; }

}
