@import url("https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");

:root {
  --white: #FFFFFF;
  --orange: #FF871A;
  --dark-orange: #A38A77;
  --line: #C6C6C6;
}

#concept {
  .p-breadcrumb__list>li:last-child .u-text-reverse-pc {
    color: #222222;
  }

  .p-breadcrumb__list>li:not(:last-child) a {
    border-bottom: 1px solid #222222;
  }

  .p-breadcrumb__list>li:not(:last-child) a:hover {
    border-bottom: 1px solid #ff871a;
  }

  .p-breadcrumb__list>li:not(:last-child)::after {
    content: "";
    width: 5px;
    height: 1px;
    background-color: #c5c5c5;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1em;
  }

  .p-breadcrumb__links {
    color: #222222;
  }

  .p-breadcrumb__links:hover {
    color: #ff871a;
  }

  .p-lower-kv__in {
    height: 100%;
    min-height: 480px;
    padding: 10% 5%;
    background: url(../images/concept/kv.jpg) no-repeat 55% 55%;
    background-size: cover;
  }

  .p-lower-kv__in:after {
    background: none;
  }

  .p-lower-kv__title .c-split-str {
    color: #222222;
  }
}

.concept {

  /* Common */
  .col2 {
    min-height: 400px;
  }

  .orange-border {
    border-color: var(--orange);
  }

  .orange-txt {
    color: var(--orange);
  }

  .orange-bg {
    background-color: var(--orange);
  }

  .darkorange-border {
    border-color: var(--dark-orange) !important;
  }

  .darkorange-txt {
    color: var(--dark-orange);
  }

  .darkorange-bg {
    background-color: var(--dark-orange);
  }

  .website-development {
    margin-top: 60px;
  }

  .box-inner {
    position: relative;
    padding: 40px;
    border: 1px solid var(--orange);
    background-color: var(--white);
    z-index: 10;
  }

  .box-ttl {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 30px;
  }

  .box-ttl span {
    display: block;
    margin-bottom: 10px;
    font-family: "Ubuntu", sans-serif;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0px;
  }

  .list-item {
    padding-left: 20px;
  }

  .list-item li {
    list-style: disc;
    font-size: 15px;
    font-weight: 300;
    line-height: 2;
  }

  .list-item li::marker {
    font-size: 18px;
  }

  .list-item+.list-item {
    margin-top: 20px;
  }

  .business-txt {
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 8px 20px;
    width: max-content;

    span {
      font-size: 18px;
      font-weight: 600;
      color: var(--white);
      line-height: 1;
    }
  }

  .business-ttl {
    display: flex;
    align-items: center;
    column-gap: 20px;
    margin-bottom: 10px;

    img {
      width: auto;
      height: 30px;
    }

    span {
      display: inline-block;
      font-size: 16px;
      font-weight: 600;
    }
  }

  .top-sec {
    display: flex;
    justify-content: space-between;
    /* margin-bottom: 100px; */
    position: relative;
  }

  .top-sec::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background-color: var(--line);
  }

  .top-sec .box-container {
    width: calc(50% - 30px);
  }

  .middle-sec {
    display: flex;
    justify-content: center;
    position: relative;
  }

  .middle-sec .line-start,
  .middle-sec .line-end {
    display: block;
    width: 1px;
    height: auto;
    background-color: var(--line);
  }

  .middle-sec .box-container {
    position: relative;
    padding: 100px;
  }

  .middle-sec .box-container::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 1px;
    background-color: var(--line);
  }

  .middle-sec .box-container .box-inner {
    width: 540px;
    height: auto;
    border: 1px dashed var(--line);
  }

  .middle-sec .box-movable {
    position: absolute;
    right: 0;
    bottom: 150px;
  }
}

@media (max-width: 767px) {

  #concept .p-lower-kv__in {
    min-height: 220px;
    padding: 7% 5% 15% 5%;
    background: url(../images/concept/kv_sp.jpg) no-repeat 55% 55%;
    background-size: cover;
  }

  .concept {

    /* Common */
    .col2 {
      min-height: 350px;
    }

    .website-development {
      margin-top: 30px;
    }

    .box-inner {
      padding: 20px 10px 40px;
    }

    .box-ttl {
      font-size: 12px;
      margin-bottom: 20px;
    }

    .box-ttl span {
      margin-bottom: 5px;
      font-size: 16px;
    }

    .list-item {
      padding-left: 16px;
    }

    .list-item li {
      font-size: 12px;
      line-height: 1.6;
    }

    .list-item li::marker {
      font-size: 14px;
    }

    .list-item+.list-item {
      margin-top: 20px;
    }

    .business-txt {
      padding: 5px 10px;

      span {
        font-size: 12px;
      }
    }

    .business-ttl {
      flex-direction: column;
      align-items: start;
      gap: 0;

      img {
        width: auto;
        height: 20px;
      }

      span {
        font-size: 12px;
      }
    }

    .top-sec .box-container {
      width: calc(50% - 6px);
    }

    .middle-sec .box-container {
      padding: 80px 20px;
    }

    .middle-sec .box-container .box-inner {
      width: 255px;
    }

    .middle-sec .box-movable {
      bottom: 0;
      left: 50%;
      transform: translateY(-50%);
    }
  }
}

@media (min-width: 768px) and (max-width: 1366px) {
  .concept {

    /* Common */
    .col2 {
      min-height: 280px;
    }

    .box-inner {
      padding: 20px;
    }

    .box-ttl {
      font-size: 14px;
    }

    .box-ttl span {
      font-size: 20px;
    }

    .list-item {
      padding-left: 16px;
    }

    .list-item li {
      font-size: 12px;
      line-height: 1.6;
    }

    .list-item li::marker {
      font-size: 14px;
    }

    .list-item+.list-item {
      margin-top: 20px;
    }

    .business-txt {
      padding: 6px 12px;

      span {
        font-size: 12px;
      }
    }

    .top-sec .box-container {
      width: calc(50% - 20px);
    }

    .middle-sec .box-container {
      padding: 100px 60px;
    }

    .middle-sec .box-container .box-inner {
      width: 400px;
    }

    .middle-sec .box-movable {
      bottom: 0;
      left: 50%;
      transform: translateY(-50%);
    }
  }
}

@media (width >=1550px) {
  #concept .p-lower-kv__in {
    background: url(../images/concept/kv_mntr.jpg) no-repeat 55% 55%;
    background-size: cover;
  }
}