/*---------------------------------------------------------------------------*/
.section { position: relative; padding: 8rem 0; }

.section-services { padding-bottom: 9rem; }

.section-services .business-list li:first-child { margin-bottom: 5rem; }

.section-services .business-list a { margin-bottom: 3rem; color: #CC0000; }

.section-services .business-list a span { width: auto; padding: 1.5rem 4rem 2rem 2rem; }

.section-services .business-list a span:after { background: none; width: 0; height: 0; }

.section-services .business-list p { line-height: 2; }

.services-top .container { padding-top: 8rem; }

.services-top .services-intro_txt { font-size: 2.8rem; font-style: italic; font-family: "Roboto", sans-serif; opacity: 0.1; color: #CC0000; position: absolute; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); top: -20%; font-weight: 400; letter-spacing: 0.02em; }

.services-top .services-intro_title { font-size: 4.4rem; color: #CC0000; font-weight: 500; top: -8%; }

.services-top p { font-size: 1.8rem; font-weight: 500; line-height: 3.15; text-align: center; }

/** flex list **/
.flex-list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0 0 0 -4rem; }

.flex-list_item { width: -webkit-calc(100%/3 - 4rem); width: -moz-calc(100%/3 - 4rem); width: calc(100%/3 - 4rem); margin: 0 0 0 4rem; }

.section-point .section-title span:after { bottom: -1rem; }

.point-list_item--ctn { padding: 1rem 2rem 0 0; margin: -3rem 0 0 0; background: #fff; width: -webkit-calc(100% - 2rem); width: -moz-calc(100% - 2rem); width: calc(100% - 2rem); position: relative; z-index: 1; }

.point-list_item--ttl { font-size: 2.4rem; font-weight: 500; margin-bottom: 2rem; }

.point-list_item--txt { line-height: 2; }

.represen-list_item--ttl { font-size: 1.8rem; margin: 1.5rem 0 2rem; }

.represen-list_item--txt { line-height: 2.1; }

.section-representative { padding: 1rem 0 9rem; }

.section-prevention .prevention-ctn { padding: 4rem; max-width: 90%; margin: -4.5rem auto 0; background: #fff; position: relative; z-index: 1; line-height: 2.2; line-height: 2; }

.section-prevention .prevention-ctn .note { font-size: 1.2rem; margin: 0.5rem; }

.services-faq { position: relative; padding: 4rem 0; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; }

.services-faq:before, .services-faq:after { position: absolute; content: ''; width: 100%; height: 1px; left: 0; background: #CC0000; opacity: 0.2; }

.services-faq:before { top: 0; }

.services-faq:after { bottom: 0; }

.services-faq dt { font-size: 2.4rem; font-weight: 500; }

.services-faq dt span { display: inline-block; position: relative; padding-right: 8rem; }

.services-faq dt span:after { position: absolute; content: ''; width: 4.5rem; height: 2.7rem; right: 0; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); background: url(../img/arr-sam.png) left top no-repeat; -moz-background-size: cover; background-size: cover; }

.services-faq dd { margin-left: 4rem; }

.services-faq dd a { font-size: 1.8rem; font-weight: 500; text-decoration: underline; }

.services-faq dd a:hover { color: #CC0000; text-decoration: none; }

@media screen and (max-width: 768px) { .section { position: relative; padding: 13.33333vw 0 10.66667vw; }
  .section-services { padding: 5.33333vw 0 21.33333vw 0; }
  .services-top .container { padding-top: 12vw; }
  .services-top .services-intro_txt { font-size: 4.8vw; position: static; -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
  .services-top .services-intro_title { font-size: 6.66667vw; }
  .services-top p { font-size: 3.73333vw; line-height: 9.06667vw; }
  /** flex list **/
  .flex-list { display: block; margin: 0; }
  .flex-list_item { width: 100%; margin: 0; }
  .flex-list_item:not(:last-child) { margin-bottom: 6.66667vw; }
  .point-list_item--ctn { padding: 5.33333vw 5.33333vw 0 0; margin: -5.33333vw 0 0 0; background: #fff; width: -webkit-calc(100% - 6.66667vw); width: -moz-calc(100% - 6.66667vw); width: calc(100% - 6.66667vw); }
  .point-list_item--ttl { font-size: 4.53333vw; margin-bottom: 4vw; }
  .point-list_item--txt { line-height: 5.86667vw; }
  .represen-list_item--ttl { font-size: 3.73333vw; margin: 4vw 0 5.33333vw; }
  .represen-list_item--txt { line-height: 5.86667vw; }
  .section-representative { padding: 2.66667vw 0 21.33333vw; }
  .section-prevention .prevention-ctn { padding: 5.33333vw; max-width: -webkit-calc(100% - 13.33333vw); max-width: -moz-calc(100% - 13.33333vw); max-width: calc(100% - 13.33333vw); margin: -10.66667vw auto 0; font-size: 3.46667vw; }
  .section-prevention .prevention-ctn .note { font-size: 2.4vw; margin: 1.33333vw; }
  .services-faq { padding: 10.66667vw 0; display: block; }
  .services-faq dt { font-size: 4.53333vw; }
  .services-faq dt span { display: inline-block; position: relative; padding-right: 10.66667vw; }
  .services-faq dt span:after { width: 6vw; height: 3.6vw; }
  .services-faq dd { margin: 4.8vw 0 0; }
  .services-faq dd a { font-size: 3.73333vw; font-weight: 400; text-decoration: none; } }
