@charset "utf-8";

/**
 *
 *  事例紹介 詳細
 *
 */

/*--------------------------------------------------------------------------
   overwrite
---------------------------------------------------------------------------*/

#Main{
	padding:0;
}


/*--------------------------------------------------------------------------
   common
---------------------------------------------------------------------------*/

.service-box{
	zoom:1;
	background:#182E4E;
}
.service-box dl{
	width:100%;
}
.service-box dl dt{
	display:table-cell;
	/display:inline;
	/zoom:1;
	width:133px;
	padding:10px 0;
	border-right:1px solid #505F77;
	vertical-align:middle;
	text-align:center;
	color:#FFF;
	font-size:86%;
	font-weight:bold;
}
.service-box dl dd{
	display:table-cell;
	/display:inline;
	/zoom:1;
	padding:10px 20px;
	vertical-align:middle;
	font-size:86%;
}
.service-box dl dd a,
.service-box dl dd span.no-link {
	display:inline-block;
	/display:inline;
	/zoom:1;
	padding:0 0 0 10px;
	background:url(../images/detail/ico_arrow.png) no-repeat 0 .3em;
}
.service-box dl dd a:link,
.service-box dl dd a:visited {
	color:#FFF;
	text-decoration:underline;
}
.service-box dl dd a:hover,
.service-box dl dd a:active,
.service-box dl dd span.no-link {
	color:#FFF;
	text-decoration:none;
}


/*--------------------------------------------------------------------------
   head
---------------------------------------------------------------------------*/

.head{
	position:relative;
	width:734px;
	margin:0 -4px 30px;
	background:url(../images/detail/bg_head_rp.png) repeat-y 0 0;
}
.head-outline{
	zoom:1;
	background:url(../images/detail/bg_head_tp.png) no-repeat 0 0;
}
.head-inline{
	position:relative;
	zoom:1;
	padding:14px;
	background:url(../images/detail/bg_head_bt.png) no-repeat 0 100%;
}
.head .cat{
	position:absolute;
	top:14px;
	left:0;
}
.head .info{
	zoom:1;
	padding:20px 25px;
	background:url(/shared/images/bg_texture01.png);
}
.head p .em{
	font-size:143%;
	font-weight:bold;
	line-height:1.4;
}
.head .info .ico{
	zoom:1;
	margin:10px 0 0;
}
.head .info .ico li{
	float:left;
	margin:0 5px 0 0;
	padding:2px 9px;
	font-size:86%;
	font-weight:bold;
	white-space:nowrap;
}
.head .info .ico li.col01{
	background:#FFDB6C;
}

.head .info .ico li.col0f{
	background:#fdeccc;
}
.head .info .ico li.col0r{
	background:#ccefe4;
}

.head .info .ico li.col02{
	background:#FF9799;
}


/*--------------------------------------------------------------------------
   article
---------------------------------------------------------------------------*/

.article{
}

.article h2{
	margin:0 0 20px;
	padding:0 0 0 20px;
	border-left:5px solid #193152;
	font-size:129%;
	font-weight:bold;
}
.article h3{
	margin:40px 0 0;
}
.article h4{
	margin:0 0 5px 0;
	font-weight:bold;
	font-size:107%;
	color:#193152;
}
.article p{
	margin:20px 0 0;
}
.article a:link,
.article a:visited{
	text-decoration:underline;
}
.article a:hover,
.article a:active{
	text-decoration:none;
}

.article .company{
	width:100%;
	margin:25px 0 50px;
	background:url(../images/detail/company_bg_rp.png) repeat-y 0 0;
}
.article .company-outline{
	zoom:1;
	background:url(../images/detail/company_bg_tp.png) no-repeat 0 0;
}
.article .company-inline{
	zoom:1;
	background:url(../images/detail/company_bg_bt.png) no-repeat 0 100%;
}
.article .company dl{
	width:100%;
}
.article .company dl dt{
	display:table-cell;
	/display:inline;
	/zoom:1;
	width:240px;
	padding:20px 0;
	vertical-align:middle;
	text-align:center;
}
.article .company dl dd{
	display:table-cell;
	/display:inline;
	/zoom:1;
	padding:20px 25px;
	vertical-align:middle;
}
.article .company dl dd p{
	margin:0 0 7px;
	font-size:115%;
	font-weight:bold;
}
.article .company dl dd ul li{
	padding:0 0 0 13px;
	background:url(/shared/images/ico_circle01.png) no-repeat 0 .5em;
	font-size:86%;
}

.article .col-list{
	margin:20px 0 0;
}
.article .col-list li{
	color:#193152;
	font-weight:bold;
}

.article .img-box{
	width:100%;
}
.article .img-box p.img.left{
	float:left;
	margin-right:25px;
}
.article .img-box p.img.right{
	float:right;
	margin-left:25px;
}
.article .img-box img.frame{
	padding:4px;
	-webkit-box-shadow:0 0 2px 1px rgba(0,0,0,0.1);
	box-shadow:0 0 2px 1px rgba(0,0,0,0.1);
	border:1px solid #E1E1E1;
}
.article .img-box p.img span{
	display:block;
	width:160px;
	margin:10px 0 0;
	font-size:79%;
}
.article .img-box .txt{
	overflow:hidden;
}

.article dl.definition-list{
	margin:20px 0 0;
}
.article dl.definition-list dt{
	margin:0 0 5px;
	color:#193152;
	font-weight:bold;
}

.article .note-foot{
	margin:0 0 50px 0;
	padding:20px 0 0;
	/*border-top:1px dotted #ccc;*/
	
}
.article .note-foot p{
	margin:0;
	font-size:86%;

}

.article .relation-box{
	zoom:1;
	margin:30px 0 0;
	padding:1px;
	border:1px solid #1A3253;
}
.article .relation-box dl{
	padding:0 0 15px;
}
.article .relation-box dl dt{
	margin:0 0 18px;
	padding:10px 30px;
	background:#E6E9EF;
	font-size:115%;
	font-weight:bold;
}
.article .relation-box dl dd{
	background:url(../images/detail/relation_bg.png) repeat-y 0 0;
}
.article .relation-box dl dd ul{
	overflow:hidden;
	zoom:1;
}
.article .relation-box dl dd ul li{
	float:left;
	width:301px;
	padding:0 30px;
	font-size:86%;
}
.article .relation-box dl dd ul li span.link{
	display:block;
	zoom:1;
	margin:0 0 5px;
	font-size:129%;
	font-weight:bold;
}
.article .relation-box dl dd ul li span.link a{
	display:inline-block;
	/display:inline;
	/zoom:1;
	padding:0 0 0 25px;
	background:url(/shared/images/ico_arrow03.png) no-repeat 0 .3em;
}
.article .relation-box dl dd ul li span.link a:link,
.article .relation-box dl dd ul li span.link a:visited{
	color:#333;
	text-decoration:none;
}
.article .relation-box dl dd ul li span.link a:hover,
.article .relation-box dl dd ul li span.link a:active{
	color:#333;
	text-decoration:underline;
}

/*20150924追記*/

.interviewer{
	/* color:#999; */
	color:#86a0be;
	font-weight:bold;
}

.case_komidashi{
	color:#182e4e;
	font-weight:bold;
}

.case_cap{
	font-size:80%;
	text-align:center;
	margin:6px 0;
}

.planet_voice{
	margin-top:30px;
	display:block;
	background-color:#eee;
	padding:20px;
}

.planet_voice_title{
	text-align:center;
	color:#182e4e;
	font-weight:bold;
	font-size:16px;
}

.zirei_voice{
	margin-top:30px;
	display:block;
	background-color:#E3EDF7;
	padding:20px 20px 10px 20px ;
	border-radius:10px;
}

.zirei_voice ul{
	margin-top:10px;
}

.zirei_voice li{
	font-weight: bold;
	margin-top:8px;
}

.zirei_voice_title{
	text-align:center;
	color:#1AADDE;
	font-weight:bold;
	font-size:16px;
}

/* 20180130追記*/

em{
	font-style:italic;
	color:#666;
}

/* .planet_voice img{
	float:left;
	margin-right:20px;
}*/

.planet_voice p{
	margin-top:10px;
}


/*20251205追記*/

.case_point{
	padding:16px;
	margin-top:30px;
}

.foodpo{
	background-color:#fdeccc;
	background-image: url(/case_study/images/detail/ATEMS-Food.png);
	background-position: top 24px right 30px;
	background-repeat: no-repeat;
	background-size:170px;
}

.retailpo{
	background-color:#ddf4ed;
	background-image: url("/case_study/images/detail/ATEMS-Retail.png");
	background-position: top 24px right 30px;
	background-repeat: no-repeat;
	background-size:170px;
}


.case_point_title{
	text-align: center;
	font-size:20px;
	font-weight:bold;
	color:#003459;
}
.case_point ol{
	margin-top:10px;
	list-style: none;     /* 標準の番号を消す */
  counter-reset: my-count; /* カウンターをリセット */
  padding-left: 0;
}

.case_point li{
	counter-increment: my-count; /* 番号を1ずつ増やす */
  position: relative;
  padding: 10px 10px 10px 50px; /* 左側に数字用のスペースを作る */
  margin-bottom: 10px;
  background: #f9f9f9;  /* 各項目の背景（お好みで） */
  border-radius: 30px;
  line-height: 1.5;
	
	font-weight:bold;
	font-size:16px;
	color:#444;
}

.foodpo li{
	border:4px solid #f8b250;
}

.retailpo li{
	border:4px solid #96cfaf;
}

/* 数字部分の装飾 */
.case_point ol li::before {
  content: counter(my-count); /* 数字を表示 */
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  
  /* 装飾設定 */
  width: 28px;
  height: 28px;
  background: #ff5722;   /* 数字の背景色（目立つ色） */
  color: white;          /* 文字の色 */
  border-radius: 50%;    /* 正円にする */
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 26px;
}

.case_point a{
	color:#333;
	text-decoration: none;
}


.case_point2 {
	margin-top:30px;
	margin-bottom:30px;
    position: relative;
    padding: 0 3em 4em 4em; /* 上部に少し余裕を持たせる */
    background-color: #fff;
    /* 枠線を太くして存在感を出す */
     
    border-radius: 20px;
    
}

.foodpo2{
	border: 4px solid #fac871;
    /* 背景ロゴの設定 */
    background-image: url(/case_study/images/detail/ATEMS-Food.png);
    background-repeat: no-repeat;
    background-position: right 15px bottom 15px;
    background-size: 160px;
}

.retailpo2{
	border: 4px solid #96cfaf;
    /* 背景ロゴの設定 */
    background-image: url("/case_study/images/detail/ATEMS-Retail.png");
    background-repeat: no-repeat;
    background-position: right 15px bottom 15px;
    background-size: 160px;
}

.foodpo2 .case_point_title2{
	background-color:#f5a100;
}

.retailpo2 .case_point_title2{
	background-color:#06af7a;
}
.case_point_title2 {
	text-align: center;
	margin:0 auto;
	color:#fff;
	font-size:22px;
	font-weight:bold;
	width:10em;
	margin-bottom:30px;
	padding:6px;
	border-radius: 0 0 20px 20px;
}

.case_point2 ol {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
    counter-reset: my-counter;
}

.case_point2 ol li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 3.2em;
    margin-bottom: 1.2em;
    padding: 6px 15px 6px 60px; /* 左側に大きな余白 */
    
    border-radius: 10px;
    font-weight: bold;
    color: #333;
    transition: transform 0.2s;
	font-size:19px;
}

.foodpo2 ol li {
	background: #ffeccc; /* 各項目に背景色をつけて強調 */
}

.retailpo2 ol li {
	background: #ddf4ed; /* 各項目に背景色をつけて強調 */
}

/* 数字部分（①②③）をさらに強調 */
.case_point2 ol li::before {
    counter-increment: my-counter;
    content: counter(my-counter);
    position: absolute;
    left: -30px; /* あえて枠から少しはみ出させる */
    width: 50px;
    height: 50px;
     
    color: #fff;
    font-size: 1.5em;
    font-weight: 900;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #fff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.foodpo2 ol li::before {
	background: #f5a100;
}

.retailpo2 ol li::before {
	background: #06af7a;
}

/*お客様プロフィール*/

/* 外側の背景設定 */
.customer_profile {
    width: 100%;           /* 画面横幅いっぱい */
    padding: 40px 0;       /* 上下に余白を持たせると見栄えが良くなります */
	margin-bottom:80px;
	background-color: #faf5ef;
}

/* 中身のコンテンツ幅の設定 */
.customer_profile h4,
.customer_profile h5,
.customer_profile p{
    width: 726px;          /* コンテンツの幅 */
    margin-left: auto;     /* 左右中央寄せ */
    margin-right: auto;
	padding-right:250px;
}

/* （参考）見出しや文章の読みやすさを整える追加設定 */
.customer_profile h4 {
    font-size: 20px;
    margin-bottom: 40px;
	font-weight:bold;
	text-align: center;
	color:#003459;
}

.customer_profile h5 {
    font-size: 1.1rem;
    margin-top: 30px;
    margin-bottom: 10px;
	font-weight:bold;
	color:#444;
}

.customer_profile p {
    line-height: 1.8;
    margin-bottom: 1.5em;
}

.customer_profile img{
	display: block; /* 画像を中央寄せにするために必要 */
	margin-top:18px;
	text-align: center;
	margin-left: auto;     /* 左右中央寄せ */
    margin-right: auto;
	padding-right:250px;
}

.case_title{
	font-weight:bold; 
	font-size:20px;
	margin-bottom: 10px; 
	color:#555555;
}