
div.division2 {
    width:100%;
    display: flex;
    overflow: hidden;
    align-items: center;
}
div.division2 div.str{
    width:60%;
}

div.division2 div.imgs{
    width:40%;
}

div.division2 div.left,
div.division2 div.right{
    height: 360px;
    margin-top:50px;
}

div.division2 div.left{
    float: left;
    position: relative;
}
div.division2 div.right{
    float: right;
    position: relative;
}
div.division2 div.orange{
    background-image: radial-gradient(circle at 11% 62%, rgba(205, 205, 205,0.04) 0%, rgba(205, 205, 205,0.04) 50%,rgba(149, 149, 149,0.04) 50%, rgba(149, 149, 149,0.04) 100%),radial-gradient(circle at 78% 10%, rgba(49, 49, 49,0.04) 0%, rgba(49, 49, 49,0.04) 50%,rgba(254, 254, 254,0.04) 50%, rgba(254, 254, 254,0.04) 100%),radial-gradient(circle at 92% 43%, rgba(34, 34, 34,0.04) 0%, rgba(34, 34, 34,0.04) 50%,rgba(206, 206, 206,0.04) 50%, rgba(206, 206, 206,0.04) 100%),linear-gradient(329deg, rgb(241, 77, 33),rgb(218, 227, 61));
}
div.division2 div.blue{
    background-image: radial-gradient(circle at 17% 77%, rgba(17, 17, 17,0.04) 0%, rgba(17, 17, 17,0.04) 50%,rgba(197, 197, 197,0.04) 50%, rgba(197, 197, 197,0.04) 100%),radial-gradient(circle at 26% 17%, rgba(64, 64, 64,0.04) 0%, rgba(64, 64, 64,0.04) 50%,rgba(244, 244, 244,0.04) 50%, rgba(244, 244, 244,0.04) 100%),radial-gradient(circle at 44% 60%, rgba(177, 177, 177,0.04) 0%, rgba(177, 177, 177,0.04) 50%,rgba(187, 187, 187,0.04) 50%, rgba(187, 187, 187,0.04) 100%),linear-gradient(19deg, rgb(28, 117, 250),rgb(34, 2, 159));
}
div.division2 div.green{
    background-image: radial-gradient(circle at 97% 32%, rgba(131, 131, 131,0.05) 0%, rgba(131, 131, 131,0.05) 50%,rgba(20, 20, 20,0.05) 50%, rgba(20, 20, 20,0.05) 100%),radial-gradient(circle at 61% 40%, rgba(35, 35, 35,0.05) 0%, rgba(35, 35, 35,0.05) 50%,rgba(239, 239, 239,0.05) 50%, rgba(239, 239, 239,0.05) 100%),radial-gradient(circle at 47% 73%, rgba(122, 122, 122,0.05) 0%, rgba(122, 122, 122,0.05) 50%,rgba(5, 5, 5,0.05) 50%, rgba(5, 5, 5,0.05) 100%),linear-gradient(90deg, rgb(0, 209, 117),rgb(205, 241, 44));
}
div.division2 div.red{
    background-image: radial-gradient(circle at 79% 30%, rgba(230, 230, 230,0.04) 0%, rgba(230, 230, 230,0.04) 50%,rgba(12, 12, 12,0.04) 50%, rgba(12, 12, 12,0.04) 100%),radial-gradient(circle at 53% 89%, rgba(210, 210, 210,0.04) 0%, rgba(210, 210, 210,0.04) 50%,rgba(24, 24, 24,0.04) 50%, rgba(24, 24, 24,0.04) 100%),radial-gradient(circle at 92% 89%, rgba(17, 17, 17,0.04) 0%, rgba(17, 17, 17,0.04) 50%,rgba(205, 205, 205,0.04) 50%, rgba(205, 205, 205,0.04) 100%),radial-gradient(circle at 21% 13%, rgba(124, 124, 124,0.04) 0%, rgba(124, 124, 124,0.04) 50%,rgba(243, 243, 243,0.04) 50%, rgba(243, 243, 243,0.04) 100%),radial-gradient(circle at 77% 0%, rgba(16, 16, 16,0.04) 0%, rgba(16, 16, 16,0.04) 50%,rgba(130, 130, 130,0.04) 50%, rgba(130, 130, 130,0.04) 100%),linear-gradient(90deg, rgb(247, 101, 31),rgb(249, 105, 208));
}

img.leftImg2,
img.rightImg2{
    width:400px;
    height: 300px;
    object-fit: cover;
    border-radius: 9px;
    position: absolute;
    top:0;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
}
img.leftImg2{
    right:30px;
}
img.rightImg2{
    left:30px;
    top: 15px;

}

img.divPicLeft,
img.divPicRight{
    width:327px;
    height: 293px;
    object-fit: cover;
    position: absolute;
}
img.divPicLeft{
    top:-120px;
    right:385px;
}
img.divPicRight{
    top:-120px;
    left:385px;
}
div.white{
    position: relative;
}

div.divChild2{
    width:560px !important;
    position: absolute;
    text-align: center;
}
div.divChild2 ul{
    text-align: left;
	padding:10px;
	border-radius: 8px;
	color:#fff;
	font-weight: bold;
	font-size:18px;
	margin-bottom:15px;
	margin-right:60px;
	background:#0833a6;
	width: 370px;
}


div.division2:nth-child(1) a.todetail{
    background-color:var(--orange-color) !important;
}
div.division2:nth-child(3) a.todetail{
    background-color:#00ADEF;
}
div.division2:nth-child(4) a.todetail{
    background-color:#DB6ABA;
}
div.division2:nth-child(5) a.todetail{
    background-color:#2240B5;
}
div.division2:nth-child(6) a.todetail{
    background-color:#13C170;
}
div.division2:nth-child(1) a.todetail:hover,
div.division2:nth-child(2) a.todetail:hover,
div.division2:nth-child(3) a.todetail:hover,
div.division2:nth-child(4) a.todetail:hover,
div.division2:nth-child(5) a.todetail:hover{
    opacity: 0.8 !important;
}
div.division2 h4.cyan{
    color:#00ADEF;
    border-color:#00ADEF;
    border-bottom:4px solid #00ADEF;
}

div.division2 h4.green{
    color:#13d082;
    border-color:#13d082;
}
div.division2 h4.blue{
    color:#2240B5;
    border-color:#2240B5;
}
div.division2 h4.orange{
    color:#f1640c;
    border-color:#f1640c;
}
div.division2 h4.pink{
    color:#DB6ABA;
    border-color:#DB6ABA;
    border-bottom:4px solid #DB6ABA;
}
div.divChild2 li{
    background-size:20px;
    
}
.anime div.divChild2{
    opacity: 0;
    transform: scale(0.8);
    transition-delay:1s;
}
.isActv div.divChild2{
    opacity: 1;
    transform: scale(1);
    transition: all .5s;
    transition-delay:1s;
}
div.right div.divChild2{
    top:0;
    left:30px;
    bottom:0;
    margin:auto;
}
div.left div.divChild2{
    top:0;
    bottom:0;
    right:30px;
    margin:auto;
    align-items: center;
}
div.divChild2 h4{
    font-size:25px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    backgroun-size:30px;
}
div.divChild2 h4.orange{
    color:#f1640c;
    border-bottom:4px solid #f1640c;
}

div.aws_orange h4.orange{
    font-size:25px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    backgroun-size:30px;
    color:#f1640c;
    border-bottom:4px solid #f1640c;
    }

div.aws_orange{
    width:80%;
    margin:0 auto 30px auto;
   }
   
div.box_orange{
    width:80%;
    margin:0 auto 30px auto;
   }
   
   
div.box_orange h4.orange{
    font-size:25px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    backgroun-size:30px;
    color:#f1640c;
    border-bottom:4px solid #f1640c;
    }

div.rest_blue h4.blue{
    font-size:25px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    backgroun-size:30px;
    color:#2240B5;
    border-bottom:4px solid #2240B5;
    }

div.rest_blue{
    width:80%;
    margin:0 auto 30px auto;
   }
   
div.box_pink h4.pink{
    font-size:25px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    backgroun-size:30px;
    color:#DB6ABA;
    border-bottom:4px solid #DB6ABA;
    }

div.rest_blue{
    width:80%;
    margin:0 auto 30px auto;
   }

div.divChild2 h4.green{
    color: #13d082;
    border-bottom:4px solid #13d082;
	font-family:Verdana, Geneva, "sans-serif"
}

div.divChild2 h4.blue{
    color: #2240B5;
    border-bottom:4px solid #2240B5;
	font-family:Verdana, Geneva, "sans-serif"
}

div.divChild2 h4.red{
    color:var(--red-color);
    border-bottom:4px solid var(--red-color);
}
div.divChild2 h4.brown{
    color:var(--brown-color);
    border-bottom:4px solid var(--brown-color);
}
div.divChild2 p{
    font-size:18px;
    text-align: justify;
    line-height: 2em;
}

li.wh {

    background-image:url("../images/arrow_fast.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size:14px;
    position: relative;
}
li.wh a:link {
	color:var(--white-color);
	text-decoration: none;
}
li.wh a:visited {
	color:var(--white-color);
	text-decoration: none;
}
li.wh a:active {
	color:var(--white-color);
	text-decoration: none;
}
li.wh a:hover {
	color:var(--orange-color);
    color:#f78017;
}
li.wh a {
	outline : 0;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
li.wh a img{
	border : none;
}

li.wh {

    background-image:url("../images/arrow_fast.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size:14px;
    position: relative;
}
li.wh a:link {
	color:var(--white-color);
	text-decoration: none;
}
li.wh a:visited {
	color:var(--white-color);
	text-decoration: none;
}
li.wh a:active {
	color:var(--white-color);
	text-decoration: none;
}
li.wh a:hover {
    color:#007acc;
}
li.wh a {
	outline : 0;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
li.wh a img{
	border : none;
}

li.wh a img{
	border : none;
}

li.wh2 {
    background-image:url("../images/arrow_fast.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size:14px;
    position: relative;
}
li.wh2 a:link {
	color:var(--white-color);
	text-decoration: none;
}
li.wh2 a:visited {
	color:var(--white-color);
	text-decoration: none;
}
li.wh2 a:active {
	color:var(--white-color);
	text-decoration: none;
}
li.wh2 a:hover {
    color:#007acc;
}
li.wh2 a {
	outline : 0;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
li.wh2 a img{
	border : none;
}




div.division2 a.pdfdl{
    background-color:#f78017;
}

a.pdfdl {
    width:280px;
    height: 45px;
    line-height: 45px;
    text-align: center;
    background-color:var(--main-color);
    background-image:url("../images/pdfdl.png");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size:30px;
    color:#fff;
    display: block;
    position: absolute;
    left:0;
    right:0;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
    margin: auto;
	border-radius: 45px;
}
a.todetail:hover {
    background-color:var(--button-green-color);
}

table.trigger {
	margin:20px 70px;
	border-spacing: 2px;
	border-collapse: unset;
}
table.trigger td{
	padding:15px 10px;
	font-size:16px;
	border:3px solid #fff;
}

table.trigger th{
	padding:15px 10px;
	font-size:20px;
	background:#efefef;
	color:#fff;
	text-align: center;
	font-weight: bold;
	vertical-align: middle;
	border:3px solid #fff;
}

table.trigger th.bgim{
    background-image:url("../images/yabg.png");
	background-repeat: no-repeat;
	background-position: center bottom ;
	background-size: contain;
}

table.api_trigger th,table.api_trigger td{
    height: 46px;
}

ul.tr_dot li{
	list-style: disc;
	margin-left: 1.5em;
}


p.general img.g_img {
	width: 100%;
	text-align: left;
	display: block;
	margin:15px 0 15px 0;
}

p.general img.mm20{
  max-width: 20%;
}

p.general img.mm30{
  max-width: 30%;
}

p.general img.mm40{
  max-width: 40%;
}
p.general img.mm50{
  max-width: 50%;
}
p.general img.mm60{
  max-width: 60%;
}
p.general img.mm70{
  max-width: 70%;
}
p.general img.mm80{
  max-width: 80%;
}

p.general img.mm00{
  max-width: 100%;
  text-align: left;
}

ul.tr_dot2 li{
	list-style: disc;
	font-weight: 600;
	margin: 0 70px;
}
ul.tr_dot3 li{
	list-style: disc;
	font-weight: 600;
	margin: 0 20px;
}
ul.tr_dot4 li{
	list-style: disc;
	margin: 0 20px;
}
ul.tr_dot5 li{
	list-style: disc;
	margin: 0 105px;
}
ul.tr_dot5{
	margin: 15px 0;
}

.aws_types{
	font-weight:700;
}

div.customer h5.aws_types2 {
    background-image:url("../images/arrow_fast.svg");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size:25px;
    padding-right:100px;
    position: relative;
}



.aws_types2 a{
    color:#FFF;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: left;
    padding-left: 15px;
    font-size:20px;
   }

.aws_types2 a:link {
   color:#FFF;
   }



.aws_types2 a:hover {
    color:#f1640c !important;
    opacity: 0.7;
    }

.aws_types2 a:active {
    color:#f1640c !important;
    opacity: 0.7;
    }

div.customer h5 {
    top: -27px;
    left: -43px;
    }

div.customer {
    padding-top: 0;
    }


div.arrow_blue{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #2f70e1;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_skyblue{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #9DC3E6;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_orange{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #ED7D31;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_lightblue{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #00B0F0;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_cerulean{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #2991A9;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_yellow{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #FFC000;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_purple{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #7030A0;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}
div.arrow_green{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #00B050;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_blue2{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #4472c4;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}


div.arrow_blue3{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #2f5597;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_blue4{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #002060;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_lightslategray{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #8497b0;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_darkslategray{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #333f50;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_light_blue2{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #b4c7e7;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_pink{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #F39595;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

div.arrow_steel_blue{
	 background-image: url(../images/yabg2.png);
     background-repeat: no-repeat;
     background-position: right center;
     background-size: contain;
     background-color: #2E75B6;
     padding: 15px;
     color: #fff;
     margin: 10px 70px 20px 70px;
     font-weight: 700;
}

table.t_aws{
	max-width: 700px;
	margin:15px 70px 50px;
	border: 1px solid #333;
}

table.t_aws th{
	padding: 5px;
	border: 1px solid #333;
	background-color: #deeaf6;
}

table.t_aws td{
	padding: 5px;
	border: 1px solid #333;	

}

table.t_soap{
	max-width: 900px;
	margin:15px 70px 50px;
	border: 1px solid #333;
}

table.t_soap th{
	padding: 5px;
	border: 1px solid #333;
	background-color: #deeaf6;
}

table.t_soap td{
	padding: 5px;
	border: 1px solid #333;	

}


table.t_ehandl {
    width: 100%;
    max-width: 900px;
    margin: 15px auto 50px;
    border-collapse: collapse;
    border: 1px solid #333;
}

table.t_ehandl th, 
table.t_ehandl td {
    padding: 10px;
    border: 1px solid #333;
}

table.t_ehandl th {
    background-color: #E6EEF0;
}

table.t_ehandl td {
    vertical-align: top;
}

.t_ehandl .center-align {
    text-align: center;
    vertical-align: middle;
}

table.t_ehandl td:nth-child(1) {
    width: 100px; 
}
table.t_ehandl td:nth-child(2) {
    width: 500px; 
}
table.t_ehandl td:nth-child(3) {
    width: 200px; 
}


   
table.box_target_benefits{
   width: 85%;
   margin:15px 70px 50px;
   }
   
   
table.t_box{
	max-width: 770px;
	margin:15px 70px 15px;
	border: 1px solid #333;
    }

table.t_box th{
	padding: 5px;
	border: 1px solid #333;
	background-color: #deeaf6;
	width: 25%;
    }

table.t_box td{
	padding: 5px;
	border: 1px solid #333;	

    }

.general2{
    margin-bottom:20px;
   }
   
.general3{
    margin: 0px 70px;
    text-indent: -1em;
   
    }
   
table.aws_target_benefits{
    width: 85%;
    margin:15px 70px 50px;
    }
   
.pc { 
	display:inline;
	}

   
p.general4 {
        margin: 10px 70px;
        text-align: justify;
        font-size: 19px;
        text-indent: inherit;
    }
   
.table-container {
  width: 80%;
  margin: 20px auto 40px;
}

.data_driven_management {
  width: 100%;
  border-collapse: collapse;
}

.data_driven_management th,
.data_driven_management td {
  padding: 10px;
  border: 1px solid #fff;
  text-align: center;
}

.data_driven_management thead th {
  background-color: #4472C4;
  color: white;
  font-weight: bold;
  text-align: center;
  border-bottom-width: 3px;
  border-bottom-style: solid;
  border-bottom-color: #fff; 
 
}

dl.process-challenges{
	margin:10px 70px;
	text-align: justify;
	overflow: hidden;
}

dl.process-challenges dt{
	font-weight: bold;
	margin-bottom:10px;
}

dl.process-challenges dd{
	margin-bottom:15px;
}



/* 奇数行のスタイル */
.data_driven_management tbody tr:nth-child(odd) {
    background-color: #CFD5EA;
}

/* 偶数行のスタイル */
.data_driven_management tbody tr:nth-child(even) {
    background-color: #E9EBF5; 
}

/* 最初の列のスタイル */
.data_driven_management th {
  text-align: left;
}

div.rest_blue h3.blue {
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: left;
    backgroun-size: 30px;
    color: #2240B5;
    border-bottom: 4px solid #2240B5;
}



.column7 .divChild2 ul {
    width: 430px;
}

.column8 .divChild2 ul {
    width: 430px;
}

.column9 .divChild2 ul {
    width: 387px;
}

.column10 .divChild2 ul {
    width: 430px;
}

.column12 h4.blue {
  font-size: 23px;
}

.column15 .divChild2 ul {
    width: 430px;
}

.column17 .divChild2 ul {
    width: 450px;
}

.data_dx_comparison-table {
    border-collapse: collapse;
    width: 100%;
    max-width: 920px;
    margin: 0 auto 2em;
}

.data_dx_comparison-table th,
.data_dx_comparison-table td {
    border: 1px solid #7F7F7F;
    padding: 8px;
    text-align: left;
    vertical-align: middle;
}

.data_dx_header-row {
    background-color: #83CAEB;
    color: black;
    font-weight: bold;
}

.data_dx_header-row th {
    text-align: center;
}

.data_dx_category {
    background-color: #1a6e32;
    color: white;
    font-weight: bold;
    width: 18%;
}

.data_dx_symbol {
    font-weight: normal;
}

.data_dx_wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.data_dx_strengths {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.data_dx_strengths li {
    position: relative;
    padding: 10px 0 10px 20px;
    line-height: 1.6;
    color: #333;
}

.data_dx_strengths li:before {
    content: "•";
    position: absolute;
    left: 0;
    font-weight: bold;
    color: #333;
}

.data_dx_highlight {
    font-weight: bold;
}

/* 偶数行の背景色 */
.data_dx_comparison-table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

/* ホバー時の背景色 */
.data_dx_comparison-table tbody tr:hover {
    background-color: #f0f8ff;
}

/* 列の幅を調整 */
.data_dx_comparison-table th:first-child,
.data_dx_comparison-table td:first-child {
    width: 18%;
}

.data_dx_comparison-table th:not(:first-child),
.data_dx_comparison-table td:not(:first-child) {
    width: 27%;
}

/* テーブルの枠線と全体のデザイン調整 */
.data_dx_comparison-table {
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border: 1px solid #97c7e1;
}

/* 文字間隔の調整 */
.data_dx_comparison-table td, 
.data_dx_comparison-table th {
    letter-spacing: 0.03em;
}

.data_dx_container {
    max-width: 800px;
    margin: 0 auto;
    padding: 1em;
}

.data_dx_feature-card {
    margin-bottom: 10px;
}

.data_dx_feature-title {
    background: linear-gradient(to right, #0a4b78, #1a6ea8);
    color: white;
    padding: 10px 15px;
    border-radius: 5px;
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    font-size: 18px;
    width: 35%;
}

.data_dx_feature-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    padding-left: 0;
}

.data_dx_feature-list li {
    position: relative;
    padding: 5px 0 5px 20px;
    line-height: 1.5;
    color: #333;
}

.data_dx_feature-list li:before {
    content: "・";
    position: absolute;
    left: 5px;
    color: #333;
}

div.customer2 {
        margin: 40px 70px 20px;
        box-sizing: border-box;
        position: relative;
        padding: 40px 30px 30px;
        border-radius: 6px;
        border: 4px solid var(--main-color);
    }
}

div.customer2 h4.salesforce_types2 {
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size:25px;
    padding-right:100px;
    position: relative;
}



.salesforce_card {
    margin-bottom: 2rem;
}

div.customer2 h4.salesforce {
        width: auto;
        text-align: left;
        padding: 0 1rem;
    }
    
div.customer2 h4{
	font-size:20px;
	width:290px;
	height: 40px;
	background:var(--main-color);
	line-height:40px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	border-radius:40px;
	border:4px solid var(--main-color);
	position: absolute;
	top:-25px;
	left:-20px;
}
div.customer2 p,
div.customer2 ol{
	font-size: 19px;
}
div.customer2 ol{
	margin-left:30px;
}


/* =================================================================
   【修正箇所】見出しデザイン改善（縦のアクセントライン）
   ================================================================= */

/* 1. 見出しDIVの共通スタイル */
.features,
.advantages,
.disadvantages,
.use_cases {
  display: block;
  width: auto;
  font-size: 20px;
  font-weight: bold;
  color: #343a40;
  margin-bottom: 1.2em;
  border-bottom: 1px solid #dee2e6;
  position: relative;
  padding-left: 1.5rem;

  /* 念のため、他のスタイルをリセット */
  background: none;
  border-top: none;
  border-right: none;
  border-left: none;
}

/* 2. :before疑似要素で「縦のアクセントライン」を作成 */
.features:before,
.advantages:before,
.disadvantages:before,
.use_cases:before {
  content: '';
  display: block; /* 明示的に表示させる */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  
  width: 4px; 
  height: 65%; 
  border-radius: 2px; 
}

/* 3. 各セクションごとのアクセントラインの色を設定 */
.features:before    { background-color: #9575CD; } /* 特徴 */
.advantages:before  { background-color: #4DB6AC; } /* メリット */
.disadvantages:before { background-color: #9E9E9E; } /* デメリット */
.use_cases:before   { background-color: #FFB74D; } /* 適用シーン */


/* 4. 全体のレイアウト調整 */
.salesforce_card {
    margin-bottom: 2em;
}
.data_dx_container .salesforce_card:last-child {
    margin-bottom: 0;
}

/* =================================================================
   リストデザイン改善（提案1：カラーサークル）
   ※見出しのアクセントラインと色が連動します
   ================================================================= */

/* 
 * 1. ulタグのスタイルをリセット
 * ---------------------------------------------------------------
 * ブラウザのデフォルトスタイル（黒丸やインデント）を無効化
 */
.salesforce_card ul {
  list-style-type: none; 
  padding-left: 2rem;
  margin-top: 0;         
}

/* 
 * 2. liタグの共通スタイル
 * ---------------------------------------------------------------
 * カラーサークルを配置するための基本設定
 */
.salesforce_card ul li {
  position: relative;     /* :beforeを配置するための基準 */
  padding-left: 1.5rem;     /* カラーサークルのためのスペースを確保 */
  margin-bottom: 0.8em;   /* 各リスト項目の間の余白 */
  line-height: 1.7;       /* 行間を広げて読みやすく */
  
  /* 既存の背景画像などがあればリセット */
  background: none;
}

/* 
 * 3. :before疑似要素で「カラーサークル」を作成
 * ---------------------------------------------------------------
 */
.salesforce_card ul li:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em; /* 行の高さの中央あたりに配置（line-heightに合わせて調整） */
  
  width: 8px;  /* 円の直径 */
  height: 8px; /* 円の直径 */
  border-radius: 50%; /* 正円にする */
  
  /* デフォルトの色（各セクションで上書き） */
  background-color: #ccc; 
}


/* 
 * 4. 各セクションごとにカラーサークルの色を設定
 * ---------------------------------------------------------------
 * 隣接セレクタ(+)を使って、見出しのカテゴリに応じて色を連動させる
 */

/* 特徴 */
.features + ul li:before {
  background-color: #9575CD; 
}

/* メリット */
.advantages + ul li:before {
  background-color: #4DB6AC;
}

/* デメリット */
.disadvantages + ul li:before {
  background-color: #9E9E9E;
}

/* 適用シーン */
.use_cases + ul li:before {
  background-color: #FFB74D;
}

/* =================================
   Salesforce比較テーブル - 改善版
   ================================= */

/* テーブルラッパー */
.table-wrapper {
    position: relative;
    margin: 30px auto 50px;
    max-width: 920px;
    width: 90%;
}

/* スクロールインジケーター */
.scroll-indicator {
    text-align: center;
    padding: 10px;
    background: #f0f8ff;
    border-radius: 5px 5px 0 0;
    font-size: 14px;
    color: #666;
    display: none;
}

/* スクロールコンテナ */
.table-scroll-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    background: white;
    position: relative;
}

/* カスタムスクロールバー */
.table-scroll-container::-webkit-scrollbar {
    height: 10px;
}

.table-scroll-container::-webkit-scrollbar-track {
    background: #f9fafb;
    border-radius: 5px;
}

.table-scroll-container::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 5px;
}

.table-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

/* Firefox用スクロールバー */
.table-scroll-container {
    scrollbar-width: thin;
    scrollbar-color: #d1d5db #f9fafb;
}

/* メインテーブル */
.salesforce_comparison-table {
    border-collapse: collapse;
    width: 100%;
    min-width: 700px;
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* テーブルのセル共通設定 */
.salesforce_comparison-table th,
.salesforce_comparison-table td {
    border: 1px solid #e5e7eb;
    padding: 24px 18px;
    text-align: center;
    vertical-align: middle;
}

/* ヘッダー行  */
.salesforce_header-row {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
}

.salesforce_header-row th {
    color: white;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.08em;
    border-bottom: 2px solid #99a9c3;
}

/* 評価項目列（固定列） */
.salesforce_comparison-table td:first-child,
.salesforce_comparison-table th:first-child {
    position: sticky;
    position: -webkit-sticky;
    left: 0;
    z-index: 10;
    background-color: #f8fafc;
    color: #1e293b;
    font-weight: 700;
    width: 18%;
    min-width: 150px;
    border-right: 1px solid #99a9c3;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.05);
}

/* ヘッダーの最初のセル */
.salesforce_header-row th:first-child {
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    color: white;
    z-index: 11;
}

/* 固定列のホバー時の背景色を維持 */
.salesforce_comparison-table tbody tr:hover td:first-child {
    background-color: #f8fafc;
}

/* データセル  */
.salesforce_comparison-table td {
    background-color: white;
    color: #374151;
    font-size: 16px;
}

/* 評価レベル  */
.level-low,
.level-medium,
.level-high {
    font-weight: 700;
    font-size: 17px;
    letter-spacing: 0.02em;
}

.level-low {
    color: #dc2626;
}

.level-low::before {
    content: "◆ ";
    color: #3580BB;
    font-size: 12px;
}

.level-medium {
    color: #f59e0b;
}

.level-medium::before {
    content: "◆◆ ";
    color: #FFC107;
    font-size: 12px;
}

.level-high {
    color: #059669;
}

.level-high::before {
    content: "◆◆◆ ";
    color: #E65100;
    font-size: 12px;
}

/* 規模の差別化 - 淡い背景色 */
.scale-small {
    background-color: #f2f7fe !important;
    color: #991b1b;
    font-weight: 600;
    border-left: 4px solid #f87171;
    padding-left: 12px;
}

.scale-medium {
    background-color: #fdfdf0 !important;
    color: #075985;
    font-weight: 600;
    border-left: 4px solid #60a5fa;
    padding-left: 12px;
}

.scale-large {
    background-color: #fdf2f0 !important;
    color: #047857;
    font-weight: 600;
    border-left: 4px solid #34d399;
    padding-left: 12px;
}

.scale-special {
    background-color: #fafafa !important;
    color: #4b5563;
    font-size: 14px;
    font-weight: 600;
}

/* ホバー効果 - 行全体 */
.salesforce_comparison-table tbody tr:hover {
    background-color: rgba(59, 130, 246, 0.05);
    transition: background-color 0.2s ease;
}

/* その他の既存クラス */
.salesforce_category {
    background-color: #f8fafc;
    color: #1e293b;
    font-weight: bold;
    width: 18%;
}

.salesforce_symbol {
    font-weight: normal;
}

.salesforce_wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.salesforce_strengths {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.salesforce_strengths li {
    position: relative;
    padding: 10px 0 10px 20px;
    line-height: 1.6;
    color: #333;
}

.salesforce_strengths li:before {
    content: "•";
    position: absolute;
    left: 0;
    font-weight: bold;
    color: #333;
}

.salesforce_highlight {
    font-weight: bold;
}

/* レスポンシブ対応 */
@media screen and (max-width: 920px) {
    .scroll-indicator {
        display: block;
        animation: pulse 2s infinite;
    }
    
    @keyframes pulse {
        0% { opacity: 0.6; }
        50% { opacity: 1; }
        100% { opacity: 0.6; }
    }
}



@media screen and (max-width: 640px) {
    .table-wrapper {
        width: 100%;
        margin: 20px 0;
    }
    
    .table-scroll-container {
        border-left: none;
        border-right: none;
        border-radius: 0;
        margin-bottom: 2rem;
    }
    
    .salesforce_comparison-table {
        width: 800px !important;
        max-width: none !important;
        table-layout: fixed !important;
        font-size: 14px;
    }
    
    .salesforce_comparison-table th,
    .salesforce_comparison-table td {
        padding: 16px 12px;
    }
    
    /* モバイルでも左列は固定 */
    .salesforce_comparison-table td:first-child,
    .salesforce_comparison-table th:first-child {
        min-width: 120px;
        position: sticky;
        position: -webkit-sticky;
        left: 0;
    }
    
    .level-low,
    .level-medium,
    .level-high {
        font-size: 15px;
    }
    
    .level-low::before,
    .level-medium::before,
    .level-high::before {
        content: "";
    }
    
    .scale-special {
        font-size: 12px;
    }
    
    /* 既存のレスポンシブ設定を維持 */
    .features,
    .advantages,
    .disadvantages,
    .use_cases {
        width: 70%;
    }
    
    div.customer2 h4.salesforce {
        top: -25px;
        left: -7px;
        width: 96%;
        height: auto;
    }
    
    div.customer2 {
	margin:10px;
	box-sizing: border-box;
	position: relative;
	padding:40px 30px 30px;
	border-radius: 6px;
	border:4px solid var(--main-color);
	margin-top:25px;
}
div.customer2 h4{
	font-size:18px;
	width:auto;
	min-width: 233px;
	height: 40px;
	background:var(--main-color);
	line-height:40px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	border-radius:40px;
	border:4px solid var(--main-color);
	position: absolute;
	top:-25px;
	left:-10px;
}
div.customer2 p,
div.customer2 ol{
}
div.customer2 ol{
	margin-left:20px;
}

.salesforce_card ul {
    padding-left: 1rem;
}

}

/* プリント対応 */
@media print {
    .table-scroll-container {
        overflow: visible;
        border: 1px solid #000;
        box-shadow: none;
    }
    
    .salesforce_comparison-table {
        width: 100% !important;
        min-width: auto !important;
    }
    
    .scroll-indicator {
        display: none;
    }
    
    .salesforce_header-row {
        background: #333 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
   	
   	
/* salesforceクラスを持つcustomer2内のp.mt50のみ */
@media screen and (max-width: 640px) {
    .customer2 h4 + p {
    margin-top: 40px; /* ← 現在より大きい値に変更（例：40px） */
  }
}


/* =================================
   既存スタイルに干渉せず、強制的に通常のリスト表示に戻すクラス
   ================================= */
.normal-list {
    list-style-type: none;
    padding-left: 20px !important;
    margin-top: 1rem !important;
}

.normal-list li {
    background: none !important;
    padding-left: 0 !important;
    margin-top: 8px !important;
}

/* 最初の項目だけ上の余白をなくす */
.normal-list li:first-child {
    margin-top: 0 !important;
}

/* =================================
  HULFT Squareで実現する現場のDX事例
   ================================= */
.manual-aggregation {
  padding: 2em 3em;
  margin: 25px 70px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background-color: #f9f9f9;
  list-style: none; /* デフォルトの「1. 2.」を非表示に */
  counter-reset: manual-counter; /* カウンターをリセット */
}

.manual-aggregation li{
line-height: 1.6;
position: relative; /* ::beforeを配置する基準点にする */
  padding-left: 2.5em; /* 丸囲み数字を置くスペースを確保 */
  counter-increment: manual-counter; /* liが現れるたびにカウンターを+1 */
  margin-bottom: 1em; /* 項目間の余白を調整 */
}

/* 最後の項目だけ下の余白をなくす */
.manual-aggregation li:last-child {
  margin-bottom: 0;
}

/* ▼▼▼ 丸囲み数字を疑似要素で作成 ▼▼▼ */
.manual-aggregation li::before {
  /* カウンターの値を表示 */
  content: counter(manual-counter);
  background-color: transparent; /* 背景色を透明に */
  color: #333;                  /* 数字の色を黒系に */
  border: 1.5px solid #333;    /* 1.5pxの黒系の枠線を追加 */
  box-sizing: border-box;        /* 枠線を含めてサイズを計算する */
  font-size: 0.9em;         /* 数字のサイズ */
  font-weight: bold;        /* 数字を太字に */
  width: 1.8em;             /* 円の幅 */
  height: 1.8em;            /* 円の高さ */
  border-radius: 50%;       /* 正円にする */

  /* 数字を円の中央に配置 */
  display: flex;
  justify-content: center;
  align-items: center;

  /* 位置を調整 */
  position: absolute;
  left: 0;
  top: 0; /* 上端に配置 */
}
   
.automation-steps {
  padding: 0 2em 1.5em; /* 内側の余白を広めに */
  margin: 25px 70px;
  border-radius: 4px;
}

.automation-steps dt {
  font-weight: bold;
  font-size: 1.1em;
  color: #1A2792; /* 参考サイトのテーマカラー */
  border-left: 5px solid #004898;
  padding: 5px 0 5px 15px; /* 左の余白を調整 */
  margin-bottom: 10px;
}

.automation-steps dd {
  margin-left: 20px; /* dtのボーダー分インデント */
  padding-bottom: 20px;
  line-height: 1.6;
}

.automation-steps dd:last-of-type {
  padding-bottom: 0; /* 最後の項目の下の余白を削除 */
}

/* --- ユースケース全体を囲むボックスのスタイル --- */
.usecase-box {
  margin: 25px 70px 3em;
  border-radius: 4px;
  overflow: hidden;
  background-color: #F7F7FA;
}

/* --- ユースケースのタイトル部分のスタイル --- */
.usecase-box .usecase-title {
  background-color: #1A2792;
  color: #fff;
  padding: 12px 20px;
  font-size: 1.1em;
  font-weight: bold;
  margin: 0;
}

/* --- dlリストのスタイル調整 --- */
.usecase-box .automation-steps {
  margin: 0;
}

.usecase-box .automation-steps dt {
  font-weight: bold;
  font-size: 1.2em;
  color: #1A2792;
  border-left: 5px solid #1A2792;
  padding: 5px 0 5px 15px;
  margin-bottom: 10px;
}

.usecase-box .automation-steps dd {
  margin-left: 20px;
  padding-bottom: 20px;
  line-height: 1.6;
}

.usecase-box .general {
  background-color: #ffffff; 
  text-align: center;      
  border-radius: 8px;      
  margin-top: 30px;
  margin-bottom: 30px;
}


/* --- 「まとめ」の箇条書きリストのスタイル --- */
.merit-list {
  list-style: none;
  padding-left: 0;
  margin: 25px 0;
}

.merit-list li {
  background-color: #f8fafd;
  border-left: 4px solid #004898;
  border-radius: 0 8px 8px 0;
  padding: 15px 20px 15px 50px;
  margin: 25px 70px;
  font-size: 1.1em;
  font-weight: bold;
  position: relative;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.merit-list li:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 72, 152, 0.1);
}

.merit-list li::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url('../images/check.svg'); /* cssフォルダから見たimagesフォルダのパス */
  background-size: contain;
  background-repeat: no-repeat;
}

/* --- ユースケース2 --- */
.usecase-box2 {
  margin: 25px 70px 3em;
  border-radius: 4px;
  overflow: hidden;
  background-color: #f0f4f8;
}

.merit-list {
    list-style: none;
    padding-left: 0;
    margin: 25px 0;
}

.merit-list2 li {
    padding-bottom: 1em;
    margin: 25px 70px;
    font-size: 1.1em;
    font-weight: bold;
}
.merit-list2 li::before {
    content: '';
    position: absolute;
    left: 100px;
    width: 20px;
    height: 20px;
    background-image: url(../images/check.svg);
    background-size: contain;
    background-repeat: no-repeat;
}


ul.tr_dot6 li {
    list-style: disc;
    margin: 0 110px;
    padding-bottom: 0.5em;
    
}

.t_data {
    border-collapse: collapse;
    box-shadow: 0 3px 15px rgba(0,0,0,0.15);
    margin: 2em auto;
    width: 90%;
}

.t_data th {
    background-color: #459ab2;
    color: #ffffff;
    padding: 18px 20px;
    font-weight: bold;
    border: 1px solid #d0d0d0;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.5px;
}

.t_data td {
    border: 1px solid #d0d0d0;
    padding: 15px 20px;
    background-color: #ffffff;
}

.t_data tr {
    border-bottom: 1px solid #2c5aa0;
}

.t_data tr:last-child {
    border-bottom: none;
}

.t_data tr:nth-child(even) td {
    background-color: #f0f4f8;
}

.t_data tr:hover td {
    background-color: #e8f0fe;
    transition: background-color 0.2s ease;
}

.t_data td:first-child {
    background-color: #f8f9fb;
    font-weight: 600;
}

.merit-strong {
    color: #d32f2f;
}

ol.automation-steps {
  list-style: none;
  padding-left: 0;
  counter-reset: step-counter;
  padding: 2em 2em 1.5em;
  margin: 25px 70px;
  border-radius: 4px;
}

ol.automation-steps > li {
  counter-increment: step-counter;
  margin-bottom: 20px;
  position: relative;
  padding-left: 45px;
  font-weight: bold;
  font-size: 1.1em;
  color: #1A2792;
}

ol.automation-steps > li::before {
  content: counter(step-counter) ". ";
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  padding-left: 15px;
  border-left: 5px solid #004898;
  height: 1.6em;
  display: inline-block;
  line-height: 1.6em;
}

ol.automation-steps > li > ul.tr_dot6 {
  list-style: disc;
  padding-left: 20px;
  margin-left: -25px;
  margin-top: 10px;
  margin-bottom: 0;
  font-weight: normal;
  font-size: 0.91em;
  color: #333333;
}

/* automation-steps内のtr_dot6 liのみに適用 */
ol.automation-steps > li > ul.tr_dot6 > li {
  line-height: 1.6;
  margin-bottom: 5px;
  margin-left: 0;
  margin-right: 70px;
}

ol.automation-steps > li > ul.tr_dot6 > li:last-of-type {
  margin-bottom: 0;
}

.usecase-box ol.automation-steps {
  margin: 0;
  padding: 2em 2em 1.5em;
}

.usecase-box ol.automation-steps > li {
  color: #1A2792;
  font-size: 1.2em;
}

.usecase-box ol.automation-steps > li::before {
  border-left-color: #1A2792;
}


@media screen and (max-width: 640px) {
   		div.division2 {
         width:100%;
         display:block;
         
         }
   
       div.division2 div.str {
         width: 100%;
     	}
    	
    	div.divChild2 {
          width: 90% !important;
          height: 470px;
        }
        
        div.division2 h4.green{
          font-size: 20px;
        }
        
        div.divChild2 ul{
          font-size: 14px;
          width: 100%;
          }
        
        .divChild2 ul li a {
        font-size: 14px;
         }
        
        div.wh2 ul.column2{
        width: 100%;
        }
        
        
        
       .general2{
         width: 90%;
         font-size: 14px;
         margin: 0;
         }
       
        
        div.division2 h4.orange{
         font-size: 20px;
        }
       
        div.division2:nth-child(3) ul{
         margin-top:10px;
        }
        
        div.customer h5.aws_types2 a{
         font-size:18px;
        }
        
        table.aws_target_benefits{
         width: 90%;
         margin:15px 10px 50px;
        }
         
         p.general img.g_img{
        	text-align: center;
        	max-width: 80%;
        	margin: 0 auto;
        }
        
        .pc { display:none; }
        
        
        .column7 .divChild2 ul {
        width: 100%;
        }
            
            .column8 .divChild2 ul {
            width: 100%;
        }
            .column9 .divChild2 ul {
            width: 100%;
        }
            .column10 .divChild2 ul {
            width: 100%;
        }
        
        .data_dx_feature-title {
        width: auto;
        }
        
       /* 640px以下のスマートフォン表示での調整 */
         .automation-steps dt {
           font-size: 1em;
           padding-left: 40px;
         }

         .automation-steps dt::before {
           width: 28px;
           height: 28px;
         }

         .automation-steps dd {
           margin-left: 40px;
         }
         
         .usecase-box .usecase-title {
           font-size: 1em;
           padding: 10px 15px;
         }
         .usecase-box .automation-steps {
           padding: 15px 15px 0 15px;
         }
         .usecase-box .automation-steps dt {
           font-size: 1em;
         }
         

         .merit-list li {
           font-size: 1em;
           padding: 12px 15px 12px 45px;
         }
         .merit-list li::before {
           left: 15px;
         }
       } 



}

