/* common
------------------------------------------------ */
#page_title.page_title--1 { background-image: url(../../img/digital-forensics/title_bg1.jpg); }

#page_title.page_title--2 { background-image: url(../../img/digital-forensics/title_bg2.jpg); }

#d-f_page {
  max-width: 1100px;
  margin: 0 auto;
}

h3 {
  margin-top: 70px;
}

#d-f_page h2,#d-f_page h3,#d-f_page a,#d-f_page p{letter-spacing: 0.05em;}

.headline--1 {
  /* common.cssにすでに記述されている可能性高い */
	margin-bottom: 55px;
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	color: #171c2b;
	padding-bottom: 17px;
	border-bottom: 5px solid #ee773e;
	display: inline-block;
}

.headline--2 {
  /* common.cssにすでに記述されている */
}

.headline--3 {
  /* common.cssにすでに記述されている */
}

.headline--4 {
  font-size: 20px;
  font-weight: bold;
  color: #15275c;
  margin-bottom: 16px;
  text-align: center;
}

.headline--5 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.headline--6 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}

.d-f_txt { 
  margin-bottom: 40px;
  font-size: 1.6rem;
	color: #000;
	line-height: 1.87;
}

.d-f_txt--2 {
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}

.img {
  text-align: center;
  margin-top: -20px;
  margin-bottom: 40px;
}

.d-f-ol {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 40px;
}
.d-f-ol li {
  width: 340px;
  padding-top: 80px;
  position: relative;
  z-index: 2;
}
.d-f-ol li::before {
  font-size: 130px;
  font-weight: bold;
  font-style: italic;
  color: #F0F3FA;
  text-align: center;
  width: 100%;
  position: absolute;
  top: -30px;
  left: 0;
  z-index: -1;
}
.d-f-ol li.first::before{
  content: '01';
}
.d-f-ol li.second::before{
  content: '02';
}
.d-f-ol li.third::before{
  content: '03';
}
.mb-70 {
  margin-bottom: 70px;
}

.mb-32 {
  margin-bottom: 32px;
}

.advisory-plan {
  border: 3px solid #ee773e;
  border-radius: 7px;
  padding: 10px 20px;
  margin-top: -20px;
  margin-bottom: 40px;
}

.advisory-plan li {
  display: flex;
  /* justify-content: space-between; */
  align-items: center;
  width: 100%;
  margin: 30px 0px;
}

.flexbox {
  flex: 2;
  justify-content: center;
  width: 100%;
}

.ttl {
  border-radius: 7px;
  background-color: #ee773e;
  padding: 5px 10px;
  margin: 5px auto;
  color: #fff;
  width: 200px;
}

.ttl h4 {
  font-size: 1.4rem;
  line-height: 24px;
  text-align: center;
}

.detail{
  flex: 8;
  max-width: 670px;
  text-align: left;
  margin-right: 20px;
}

.detail p{
  font-size: 1.4rem;
  line-height: 24px;
}

.d-f_ps {
  border-radius: 7px;
  background-color: #f2f2f2;
  padding: 15px 25px;
  font-size: 1.4rem;
  margin-bottom: 50px;
}

.d-f-button {
  display: block;
  width: 340px;
  height: 54px;
  line-height: 54px;
  background: #EE773E;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin: 0 auto 60px;
  border-radius: 10px;
}

/* いい感じのをパクってきた表(https://leqturez.jp/css-table-responsive/) */

.table_wrap {
  overflow-x : auto; /* 横スクロール */
  margin: 20px 0px; 
}

.sample3 {
  width: 100%;
  min-width: 600px; /* 幅が600px以下になったらスクロール */
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 10px 0;
  white-space: nowrap; /* 折り返し禁止 */
}
.sample3 th,
.sample3 td {
  font-size: 1.6rem;
  border: none;
  padding: 8px;
  background: #eaf6fe;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
}
.sample3 td {
  font-size: 1.4rem;
}
.sample3 tr:nth-child(even) th,
.sample3 tr:nth-child(even) td {
  background: #fff;
}
.sample3 thead th {
  border-radius: 6px 6px 0 0;
  color: #fff;
}
.sample3 thead th:nth-child(1) {
  background: #eaf6fe;
  background-color: transparent;
  text-align: left;
  color: #000;
}
.sample3 thead th:nth-child(2) {
  background: #14116e;
}
.sample3 thead th:nth-child(3) {
  background: #0093b0;
}
.sample3 tbody tr:first-child th{
  border-radius: 6px 6px 0 0;
}
.sample3 tbody tr:last-child th,
.sample3 tbody tr:nth-child(7) td{
  border-radius: 0 0 6px 6px;
  background-color: #fff9db;
}
.sample3 thead th:nth-child(2)  {
  border-top:solid 4px #14116e;
  border-left:solid 4px #14116e;
  border-right:solid 4px #14116e;
}
.sample3 tbody td:nth-child(2)  {
  border-left:solid 4px #14116e;
  border-right:solid 4px #14116e;
}
.sample3 tbody tr:nth-child(7) td:nth-child(2){
  border-bottom:solid 3px #14116e;
}
.sample3 thead th:nth-child(3)  {
border-top:solid 4px #0093b0;
border-left:solid 4px #0093b0;
border-right:solid 4px #0093b0;
}
.sample3 tbody td:nth-child(3)  {
border-left:solid 4px #0093b0;
border-right:solid 4px #0093b0;
}
.sample3 tbody tr:nth-child(7) td:nth-child(3){
  border-bottom:solid 3px #0093b0;
}

.sample3 tbody th,
.sample3 tfoot th {
  text-align: left;
  font-weight: normal;
}
.sample3 tfoot th,
.sample3 tfoot td {
  background-color: #eaf6fe;
}
.sample3 tfoot td:nth-child(2) {
  color: #14116e;
}
.sample3 tfoot td:nth-child(3) {
  color: #0093b0;
}


@media screen and (max-width: 768px) {
  .headline--1 {
		margin-bottom: 25px;
		font-size: 2.1rem;
		line-height: 1.4;
		border-bottom: 3px solid #ee773e;
	}

  .headline--2 {
		margin-bottom: 15px;
		padding: 9px 10px;
		font-size: 1.6rem;
	}

	.headline--2 .headline--logo { width: 65px; }

	.headline--3 {
		margin-bottom: 15px;
		font-size: 1.3rem;
		padding: 2px 0 2px 5px;
	}

  .d-f_txt {
    margin-bottom: 30px;
  }

  .d-f_txt--2 {
    font-size: 12px;
  }

  .d-f-ol {
    gap: 20px;
  }
  .d-f-ol li {
    max-width: 340px;
    width: 100%;
  }

  .v-a-section {
    width: 95%;
    padding: 30px 0;
  }
  .v-a-button {
    max-width: 340px;
    width: 100%;
    font-size: 15px;
    margin: 0 auto 30px;
  }
  .v-a-h3 {
    font-size: 18px;
    padding: 8px 12px;
    margin-bottom: 16px;
  }
  .advisory-plan li {
    flex-direction: column;
  }
  .detail {
    margin-left: 20px;
  }
  .sample3 th,
  .sample3 td {
    font-size: 1.2rem;
  }
}


/* 前の残り（旧脆弱性診断サービスcss）
------------------------------------------------ */

.wrap .box{
  display: block;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 65px;
  max-width: 1000px;
  margin: 65px auto 0;
}

.wrap .box {
  text-align: center;
}

.wrap .box h3{
  color: #15275c;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  margin-bottom: 45px;
}

.wrap .box p{
  font-size: 1.6rem;
  line-height: 26px;
  letter-spacing: 0.05em;

}

.wrap .box p:last-child{
  margin: 32px 0 50px;
}

.wrap .box .diagram img{
  width: 800px;
  margin: 0 auto;
  display: block;
}


.v-a-service-list{
  background: #eee;
  padding: 65px 0;
}

.wrap .service-list .headline--1{
  margin-bottom: 70px;
}

.wrap .service-list-1 li{
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 200px;
  padding: 0 48px;
  margin-bottom: 10px;
}

.wrap .service-list-1 li .ttl{width: 270px;}

.wrap .service-list-1 li .ttl h3,.wrap .service-list .service-list-2 li h3{
  font-size: 2rem;
  font-weight: bold;
  line-height: 28px;
}

.wrap .service-list-1 li .ttl h3{
  margin-bottom: 21px;
  text-align: center;
}

.wrap .service-list-1 li .ttl .index--btn, .wrap .resource-center .box .index--btn{
  max-width: 270px;
  height: 42px;
  background: #000;
}

.wrap .service-list-1 li .ttl .index--btn a,.wrap .resource-center .box .index--btn a{
  display: inline-block;
  color: #fff;
  text-align: center;
  width: 100%;
  font-size: 1.6rem;
  line-height: 42px;
}

.wrap .service-list-1 li .ttl .index--btn a:hover,.wrap .resource-center .box .index--btn a:hover{
  opacity: 0.8;
}

.wrap .service-list-1 li .detail{
  max-width: 670px;
  text-align: left;
}

.wrap .detail p{
  font-size: 1.4rem;
  line-height: 24px;
}

.wrap .service-list-2{
  display: flex;
  justify-content: space-between;
}

.wrap .service-list-2 li{
  max-width: 360px;
  background: #fff;    
  padding: 0 48px;
  height: 235px;
}

.wrap .service-list-2 li h3{
  margin: 39px 0;
  font-size: 2rem;
  line-height: 1;
  text-align: center;
}

.wrap .resource-center .headline--1{
  margin: 56px auto 74px;
}

.wrap .resource-center .box{
  max-width: 1100px;
  background: #eee;
  padding: 42px 50px 45px;
  display: flex;
  justify-content: space-between;
}

.wrap .resource-center .box {
  max-width:450px;
}

.wrap .resource-center .box p{
  font-size: 1.4rem;
  line-height: 24px;
  margin:56px 0 77px;
  text-align: left;
}

.wrap .resource-center .box .image img{
  max-width: 500px;
  height: 260px;
  object-fit: cover; 
}

.wrap .resource-center .box .index--btn{
  margin-left: auto;
}



@media(max-width:979px) {

  .wrap,.wrap .resource-center .box{ width:100%;}

  .wrap .box{width: 90%;}

  .wrap .box {width: 100%; margin: 0 auto;}

  .wrap .service-list-1 li{padding: 0 4%;}

  .wrap .service-list-1 li .detail{width: 60%;}

  .wrap .service-list-2 li{width: 32%; padding: 0 3%;}

  .wrap .resource-center .box{padding: 3% 4%;}

}

@media (max-width: 766px){

  .wrap,.wrap .resource-center .box{ width:87%;}

  .wrap .headline--1{
    font-size: 2.2rem;
    margin: 6px auto 30px;
  }

  .wrap .headline--1:after {
    margin: 15px auto 0;
    width: 35px;
  }
  
  .wrap .box{
    display: block;
    padding-bottom: 40px;
    width: 100%;
    margin: 0 auto;
  }
  
  .wrap .box {
    width: 100%;
  }
  
  .wrap .box  p{
    font-size: 1.2rem;
    line-height: 19px;
    margin-bottom: 28px;
  }
  
  .wrap .box  p:last-child{
    margin-top: 26px;
  }
  
  .wrap .box .diagram img{
    width: 100%;
    display: block;
    margin: 0 auto;
  }
    
  .v-a-service-list{
    padding: 30px 0 10px;
  }

  .v-a-service-list .wrap{width: 95%;}
  
  .wrap .service-list .headline--1{
    margin-bottom: 49px;
  }
  
  .wrap .service-list-1 li{
    display: block;
    width: 100%;
    height: auto;
    padding: 6% 5%;
    margin-bottom: 20px;
  }
  
  .wrap .service-list-1 li .ttl{width: 100%;}

  .wrap .service-list-1 li .ttl h3,.wrap .service-list .service-list-2 li h3{
    line-height: 24px;
  }
  
  .wrap .service-list-1 li .ttl h3{
    margin-bottom: 25px;
  }
  
  .wrap .service-list-1 li .v-a-btn-sp a,.wrap .resource-center .box {
    width: 72%;
    height: 40px;
    background: #000;
    color: #fff;
    text-align: center;
    margin: 0 auto ;
  }
  
  .wrap .service-list-1 li .v-a-btn-sp a,.wrap .resource-center .box a{
    display: block;
    font-size: 1.4rem;
    line-height: 40px;
  }
  
  .wrap .service-list-1 li .detail{
    width: 100%;
  }
  
  .wrap .service-list-1 li .detail p{
    margin-bottom: 25px;
  }
  
  .wrap .detail p{
    font-size: 1.2rem;
    line-height: 19px;
  }
  
  .wrap .service-list-2{
    display: block;
  }
  
  .wrap .service-list-2 li{
    max-width: unset;
    width: 100%;
    padding: 6% 5%;
    height: auto;
    margin-bottom: 20px;
  }
  
  .wrap .service-list-2 li h3{
    margin: 0 auto 26px;
  }
  
  .wrap-sp{width: 100%;}

  .wrap .resource-center .headline--1{
    margin: 45px auto 50px;
  }
  
  .wrap .resource-center .box{
    width: 100%;
    padding: 24px 26px 40px;
    display: block;
  }
  
  .wrap .resource-center .box {
    width:100%;
    max-width: unset;
  }
  
  .wrap .resource-center .box  p{
    font-size: 1.2rem;
    margin: 25px auto;
  }
  
  .wrap .resource-center .box .image img{
    width: 100%;
    height: auto;
    max-width: unset;
  }
  
  .wrap .resource-center .box {
    margin: 0 auto;
    width: 64%;
    height: 38px;
  }



}