@charset "UTF-8";
/* CSS Document */
#wrapper {
  overflow: hidden; }

section.title-img {
  background: url("../img/header-traffic.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }

#service {
  margin-bottom: 8rem; }
  @media screen and (max-width: 991px) {
    #service {
      margin-bottom: 6rem; } }
  @media screen and (max-width: 575px) {
    #service {
      margin-bottom: 4rem; } }
  #service .title {
    text-align: center; }
    #service .title h2 {
      position: relative;
      display: inline-block;
      margin: 7rem auto;
      padding-bottom: 4rem;
      font-size: 30px;
      font-size: 3rem;
      font-weight: 400;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 767px) {
        #service .title h2 {
          padding-bottom: 3rem; } }
      @media screen and (max-width: 575px) {
        #service .title h2 {
          font-size: 26px;
          font-size: 2.6rem;
          padding-bottom: 2rem;
          margin: 5rem auto; } }
      #service .title h2::before {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 0;
        /*線の上下位置*/
        display: inline-block;
        width: 135px;
        /*線の長さ*/
        height: 1px;
        /*線の太さ*/
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        /*位置調整*/
        background-color: rgba(0, 0, 0, 0.5);
        /*線の色*/ }
    #service .title + div {
      width: 80%;
      margin: auto;
      margin-bottom: 10rem; }
      @media screen and (max-width: 767px) {
        #service .title + div {
          width: 90%; } }
      @media screen and (max-width: 575px) {
        #service .title + div {
          width: 95%;
          margin-bottom: 5rem; } }

.traffic h2 {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 700;
  color: #7A9A43;
  margin-bottom: 3rem; }
  @media screen and (max-width: 991px) {
    .traffic h2 {
      font-size: 28px;
      font-size: 2.8rem; } }
  @media screen and (max-width: 767px) {
    .traffic h2 {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 575px) {
    .traffic h2 {
      font-size: 24px;
      font-size: 2.4rem; } }
  .traffic h2 span {
    display: block;
    font-size: 50px;
    font-size: 5rem;
    margin-top: 3rem; }
    @media screen and (max-width: 991px) {
      .traffic h2 span {
        font-size: 46px;
        font-size: 4.6rem; } }
    @media screen and (max-width: 767px) {
      .traffic h2 span {
        font-size: 42px;
        font-size: 4.2rem; } }
    @media screen and (max-width: 575px) {
      .traffic h2 span {
        font-size: 36px;
        font-size: 3.6rem; } }
.traffic ul {
  justify-content: center;
  width: 90%;
  margin: 0 auto 3rem; }
.traffic p {
  text-align: justify; }

.improvement .list-bg {
  position: relative; }
  .improvement .list-bg img {
    position: absolute;
    z-index: -1;
    height: 120%;
    right: -10%; }
  .improvement .list-bg ul {
    padding: 10rem 0; }
    @media screen and (max-width: 991px) {
      .improvement .list-bg ul {
        padding: 8rem 0; } }
    @media screen and (max-width: 767px) {
      .improvement .list-bg ul {
        padding: 6rem 0; } }
    @media screen and (max-width: 575px) {
      .improvement .list-bg ul {
        padding: 4rem 0; } }
    .improvement .list-bg ul li {
      display: flex;
      align-items: center;
      margin-bottom: 4rem; }
      .improvement .list-bg ul li:last-child {
        margin-bottom: 0; }
      .improvement .list-bg ul li p {
        font-size: 30px;
        font-size: 3rem;
        font-weight: 600;
        border-bottom: solid 3px #ff9632;
        padding-bottom: 1rem; }
        @media screen and (max-width: 991px) {
          .improvement .list-bg ul li p {
            font-size: 28px;
            font-size: 2.8rem; } }
        @media screen and (max-width: 767px) {
          .improvement .list-bg ul li p {
            font-size: 26px;
            font-size: 2.6rem; } }
        @media screen and (max-width: 575px) {
          .improvement .list-bg ul li p {
            font-size: 24px;
            font-size: 2.4rem;
            text-indent: -1.5em;
            padding-left: 1em; } }
        .improvement .list-bg ul li p span {
          color: #ff9632; }
        .improvement .list-bg ul li p::before {
          font-family: "Font Awesome 5 Free";
          content: "\f00c";
          padding-right: 0.5em;
          color: #ff9632;
          font-weight: 900; }
.improvement .imp-title {
  margin-bottom: 4rem; }
  .improvement .imp-title img {
    filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.3)); }
@media screen and (max-width: 575px) {
  .improvement .list-02 li {
    margin-bottom: 3rem; } }
.improvement .list-02 h4 {
  font-size: 30px;
  font-size: 3rem;
  font-weight: 600;
  color: #ff9632;
  line-height: 1.35; }
  @media screen and (max-width: 991px) {
    .improvement .list-02 h4 {
      font-size: 28px;
      font-size: 2.8rem; } }
  @media screen and (max-width: 767px) {
    .improvement .list-02 h4 {
      font-size: 26px;
      font-size: 2.6rem; } }
  @media screen and (max-width: 575px) {
    .improvement .list-02 h4 {
      font-size: 24px;
      font-size: 2.4rem; } }
  .improvement .list-02 h4 span {
    display: block;
    color: #333;
    font-weight: 300;
    font-size: 16px;
    font-size: 1.6rem; }
    @media screen and (max-width: 767px) {
      .improvement .list-02 h4 span {
        font-size: 14px;
        font-size: 1.4rem; } }
.improvement + div a:hover {
  opacity: 0.5; }

.safety {
  padding: 4rem 0 2rem; }
  @media screen and (max-width: 767px) {
    .safety {
      padding: 2rem 0 2rem; } }
  .safety ul li {
    display: flex;
    align-items: center;
    margin-bottom: 6rem; }
    @media screen and (max-width: 767px) {
      .safety ul li {
        display: block;
        text-align: center; } }
    @media screen and (max-width: 575px) {
      .safety ul li {
        margin-bottom: 4rem; } }
    .safety ul li img {
      margin-right: 3rem;
      width: 150px; }
      @media screen and (max-width: 991px) {
        .safety ul li img {
          width: 130px; } }
      @media screen and (max-width: 767px) {
        .safety ul li img {
          width: 115px;
          margin-bottom: 2rem;
          margin-right: 0; } }
      @media screen and (max-width: 575px) {
        .safety ul li img {
          width: 100px; } }
    .safety ul li dl {
      margin-bottom: 0; }
      .safety ul li dl dt {
        font-size: 30px;
        font-size: 3rem;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 991px) {
          .safety ul li dl dt {
            font-size: 28px;
            font-size: 2.8rem; } }
        @media screen and (max-width: 767px) {
          .safety ul li dl dt {
            font-size: 26px;
            font-size: 2.6rem;
            margin-bottom: 1rem; } }
        @media screen and (max-width: 575px) {
          .safety ul li dl dt {
            font-size: 24px;
            font-size: 2.4rem; } }
        .safety ul li dl dt span {
          color: #ff9632; }
      .safety ul li dl dd {
        text-align: justify;
        margin-bottom: 0; }
