/*
managed_cspm.css
*/
/* common
--------------------------------------------------------------------------- */
@media all and (max-width: 749px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media all and (max-width: 749px) {
  .sp {
    display: block;
  }
}

#managed_cspm .inner {
  max-width: 1000px;
  margin: 0 auto;
}

@media all and (max-width: 749px) {
  #managed_cspm .inner {
    margin: 0 25px;
  }
}
#managed_cspm .con_grey {
  background-color: #F0F0F0;
  border-radius: 10px;
  padding: 20px 15px;
}
@media all and (min-width: 750px) {
  #managed_cspm .con_grey {
    padding: 20px;
  }
}

#managed_cspm .ttl_green {
  background-color: #2277AF;
  margin-bottom: 20px;
  border-radius: 5px;
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

/* hero
--------------------------------------------------------------------------- */
#hero .catch_sub {
  font-size: 20px;
}

#hero {
  background: url(./../img/solution/security/managed_cspm/kv_pc.jpg) no-repeat center center;
  background-size: cover;
  margin-bottom: 60px;
  color: #fff;
}

#hero .inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 120px 0 115px;
}

#hero h1 {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 20px;
}

#hero .catch {
  font-size: 22px;
  line-height: 1.4;
}

@media all and (max-width: 749px) {
  #hero {
    background: url(./../img/solution/security/managed_cspm/kv_sp.jpg) no-repeat top center;
    background-size: 100% auto;
    margin-bottom: 40px;
  }
  #hero .inner {
    padding: 320px 0 0;
  }
  #hero .mv_ttl {
    padding: 30px 30px 35px;
    background: linear-gradient(to top, rgb(12, 73, 133) 80%, rgba(12, 73, 133, 0) 100%);
  }
  #hero h1 {
    font-size: 26px;
    margin-bottom: 20px;
  }
  #hero .catch {
    font-size: 18px;
  }
}


/* ih_for_overview */
#ih_for_overview {
  padding-bottom: 60px;

  ul {
    margin-top: 90px;

    @media all and (min-width: 750px) {
      display: flex;
      gap: 32px;
      margin-left: 50px;
      margin-right: 50px;
    }

    li {
      border: 1px solid #8DA6C4;
      border-radius: 8px;
      padding: 62px 20px 20px;
      margin-bottom: 70px;
      position: relative;

      @media all and (min-width: 750px) {
        width: calc(100% / 3);
      }

      .icon {
        display: block;
        width: 100px;
        height: 100px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -50px;
      }
    }
  }
}

#ih_for_feature{
  background: url(./../img/solution/security/managed_cspm/feature_bg_sp.jpg) no-repeat center top;
  background-size: cover;
  padding-top: 40px;
  padding-bottom: 40px;

  @media all and (min-width: 750px) {
    background: url(./../img/solution/security/managed_cspm/feature_bg.jpg) no-repeat center top;
    background-size: cover;
  }

  h2 {
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
  }

  .con {
    margin-bottom: 40px;

    &:last-of-type {
      margin-bottom: 0;
    }

    @media all and (min-width: 750px) {
      display: flex;
    }

    .icon {
      text-align: center;
      margin-bottom: 20px;

      @media all and (min-width: 750px) {
        flex: none;
        margin-right: 20px;
        margin-bottom: 0;
      }
    }

    dl {
      color: #fff;
      dt {
        font-size: 20px;
        font-weight: bold;
        text-align: center;
        margin-bottom: 12px;

        @media all and (min-width: 750px) {
          text-align: left;
          line-height: 1;
          margin-bottom: 18px;
        }
      }
    }

    dd {
      ul {
        li {
          display: flex;
          line-height: 1.6;
          margin-bottom: 1rem;

          &::before {
            content: "";
            display: block;
            width: 24px;
            height: 18px;
            background: url(./../img/solution/security/managed_cspm/feature_point.svg) no-repeat;
            background-size: contain;
            flex: none;
            margin-right: 12px;
            margin-top: 4px;
          }
        }
      }
    }
  }
}

#ih_for_detail {
  padding-top: 60px;

  @media all and (min-width: 750px) {
    padding-top: 80px;
    padding-bottom: 20px;
  }

  .con {
    margin-bottom: 40px;

    h3 {
      font-size: 20px;
      border-bottom: 1px solid #BEC6D0;
      margin-bottom: 20px;
      padding-bottom: 6px;
    }

    table {
      border-collapse: separate;
      border-spacing: 2px;
      width: 100%;

      th, td {
        vertical-align: middle;
        line-height: 1.6;
      }

      th {
        text-align: center;
        padding: 6px 0;
        font-weight: bold;
      }

      td {
        padding: 10px;

        @media all and (min-width: 750px) {
          padding: 15px 20px;
        }
      }

      thead {
        th {
          background-color: #396396;
          color: #fff;
        }
      }

      tbody {
        th {
          background-color: #3983D0;
          color: #fff;
        }
        td {
          background-color: #EAF3FA;
        }
      }

      .note {
        display: block;
        font-size: 12px;
        margin-top: 1rem;
      }
    }
  }

  .con01, .con02 {
		table {
			thead {
				th {
					&:nth-child(1) {
						width: 22%;

						@media all and (min-width: 750px) {
							width: 20%;
						}
					}

					&:nth-child(2) {
						width: 20%;

						@media all and (min-width: 750px) {
							width: 12%;
						}
					}
				}
			}

			tbody {
				th {
					font-size: 12px;

					@media all and (min-width: 750px) {
						font-size: 16px;
					}
				}
			}
		}
  }

  .con04 {
    table {
      th {
        width: 35%;

        @media all and (min-width: 750px) {
          width: 24%;
        }
      }
    }
  }

  .list_point {
    > li {
      line-height: 1.6;
      margin-bottom: 1rem;
      position: relative;
      padding-left: 28px;

      @media all and (min-width: 750px) {
        margin-bottom: 0.5rem;
      }

      &::before {
        content: "";
        display: block;
        width: 18px;
        height: 13px;
        background: url(./../img/solution/security/managed_cspm/detail_point.svg) no-repeat;
        background-size: contain;
        position: absolute;
        left: 0;
        top: 4px;

        @media all and (min-width: 750px) {
          width: 24px;
          height: 18px;
        }
      }

      ul {
        margin-top: 1rem;

        > li {
          padding-left: 22px;
          position: relative;
          padding-left: 22px;
          line-height: 1.6;
          margin-bottom: 1rem;

          @media all and (min-width: 750px) {
            margin-bottom: 0.5rem;
          }
  
          &::before {
            content: "▶";
            display: block;
            position: absolute;
            left: 0;
            top: 0;
            color: #396396;
          }
        }
      }
    }
  }
}

#ih_for_faq {
  margin-bottom: 40px;
}
