.fade1 {
	filter: alpha(opacity=20); 
	-ms-filter: alpha(opacity=20); 
	-webkit-opacity: 0.2;
	-moz-opacity: 0.2;
	opacity: 0.2; 
	visibility : visible;
}
.fade2 {
	filter: alpha(opacity=40); 
	-ms-filter: alpha(opacity=40); 
	-webkit-opacity: 0.4;
	-moz-opacity: 0.4;
	opacity: 0.4; 
	visibility : visible;
}
.fade3 {
	filter: alpha(opacity=60); 
	-ms-filter: alpha(opacity=60); 
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	opacity: 0.6; 
	visibility : visible;
}
.fade4 {
	filter: alpha(opacity=80); 
	-ms-filter: alpha(opacity=80); 
	-webkit-opacity: 0.8;
	-moz-opacity: 0.8;
	opacity: 0.8; 
	visibility : visible;
}
.fade0 {visibility : hidden;}
.fade5 {visibility : visible;}
html{ -webkit-overflow-scrolling: touch;}
.bg {
	position: fixed;margin : 0 0 120px 0;top: 0;left: 0;right: 0;bottom: 0;width: 100%;z-index: -1;
	background-repeat: no-repeat;overflow: hidden;box-sizing: border-box;-webkit-overflow-scrolling: touch;
}
.landscape {background-size: 110% auto;}
.portrait {background-size: auto 110%;}
.visible {
  visibility: visible;
  opacity: 1;
  transition: opacity 1s linear, margin-left .2s;
}
.hidden {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 1s, opacity 1s linear, margin-left .2s;
}
.toppage_outframe {
	margin: 0 auto;
	max-width: 1344px;
	height: 100%;
	z-index : 3;
    color: white;
	text-align: center;
	padding: 40px 24px 20px 24px;
    box-sizing: border-box;	
}

.toppage_frame {
	width: 100%;
	height: 100%;
	margin: auto 0;
	padding: 0;
	text-align: left;
}
.toppage_frame tbody tr td {vertical-align: top;}
.toppage_frame div.cases {
}

.toppage_frame tbody tr.r4 {vertical-align: bottom;}	
div.case_number {
  opacity: 0.5;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.33;
  letter-spacing: 1.3px;
  display: inline-block;
  cursor: pointer;
}

div.case_title {
  padding: 11px 0 21px 0;
  font-size: 40px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: normal; 
  display: table-cell;
  cursor: pointer;
  max-width: 680px;
}


div.case_find {
  vertical-align: middle;
  display: inline-block;
  cursor: pointer;
}

.toppage_frame .circle {
  width: 64px;
  height: 64px;
  border: solid 2px #ffffff;
  border-radius: 50%;
  float: left;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
}

div.case_find div.circle {
  background: transparent url(../img/arrow_right_w.svg) center no-repeat;
}

div.case_find div.case_find_text{
	padding: 26px 18px 18px 24px;
	float: left;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.14;
	letter-spacing: 1.84px;
}

tr.r4 td.r4c1 {
	vertical-align: bottom;
}

.case_index {
	height: 100%;
}

.case_index tbody tr td {
	vertical-align: bottom;
}

.case_index .c_idx {
	font-size: 60px;	
	font-weight: bold;
	font-stretch: condensed;	
	letter-spacing: normal;
}

.case_index .line {
	height: 38px;
	width: 120px;
	margin: 0px 18px;
	border-top: 1px white solid; 
}

.case_index .t_idx {
	font-size: 20px;
	font-weight: bold;
	font-stretch: condensed;
	line-height: 1.35;
	letter-spacing: 0.13px;
	padding: 0 0 25px 0;
}

.case_buttons div.prev {
  background-image: url(../img/chevron_left_w.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;  
}

.case_buttons div.next {
  background-image: url(../img/chevron_right.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
  background-color: white;
  margin-left: 24px;
}
@media only screen and (max-width: 1024px) {
	.bg {
			margin : 0 0 40px 0;
	}
	
	.toppage_outframe {
		max-width: 692px;
		padding: 30px 0px 16px 0px;
	}
	
	div.toppage_frame div.cases {
			width: 692px;
	}
	
	div.case_title {
	  font-size: 32px;
	  max-width: 580px;
	}
	.case_index .line {
		width: 100px;
		margin: 0px 14px;
	}	
	.case_buttons div.next {
		margin-left: 16px;
	}
	
}	

@media handheld and (max-width: 652px),
screen and (max-device-width: 652px),
screen and (max-width: 652px)
{
	.toppage_outframe {
		max-width: 382px;
		padding: 20px 0px 12px 0px;
	}
	div.case_title {
	  max-width: 380px;
	  font-size: 28px;
	}
	.case_index .line {
		width: 68px;
		margin: 0px 8px;
		height: 26px;
	}	
	.toppage_frame .circle {
	  width: 52px;
	  height: 52px;
	}
	.case_index .c_idx {
		font-size: 52px;	
	}	
	.case_index .t_idx {
		font-size: 18px;	
		padding: 0 0 16px 0;
	}	
	.case_buttons div.next {
		margin-left: 12px;
	}
	
	div.case_find div.case_find_text {
		letter-spacing: 0px;
		padding: 18px 8px 16px 8px;
	}	
	
}

div.case_number {
  font-size: 10px;
}

div.small div.case_title {
  padding: 4px 0 4px 0;
  font-size: 16px;
  line-height: 1.1;
}

div.small div.circle {
  width: 28px;
  height: 28px;
  background-size: 60%;
}	

div.small div.case_find div.case_find_text{
	padding: 10px 6px 4px 12px;
	font-size: 8px;
	font-weight: bold;
	
}

div.small .case_index .c_idx {
	font-size: 35px;	
}	

div.small .case_index .line {
	height: 20px;
}

div.small .case_index .t_idx {
	font-size: 12px;	
}	

.small tbody tr.r4 {
	/* height: 100px;	*/
}
div.small {
	padding: 0;
}
.headline {
	/*border: 1px green solid; */
}

td.casestudy_menu {
	padding: 2px;
	color: white;
	white-space: nowrap;
	vertical-align: top;
}

a.casestudy_menu {
	text-decoration: none;
	color: white;
	font-size: 10px;
	font-weight: bold;
	position: relative;
}

.casestudy_menu_div {
	display: inline-block;
	_display: inline;
	vertical-align: top;
	padding: 0px 3px 2px 3px;
	border-bottom: solid 0px white;
}

.casestudy_menu_div_sel {
	display: inline-block;
	_display: inline;
	vertical-align: top;
	padding: 0px 3px 2px 3px;
	border-bottom: solid 1px white;
}


div.sl_div {
	display: inline-block;
	_display: inline;
	vertical-align: bottom;
	padding: 6px 0px 0px 0px;
	margin: 0px;
}

div.sl_div img {
	padding: 0px;
	margin: 0px 0px 0px 0px;
}

a.findout {
	text-decoration: none;
	color: white;
	font-size: 11px;
	font-weight: bold;
	letter-spacing: 1px;
	position: relative;
}






div.m_menu {
	background-color: white;
	position: fixed;
	height: 100%;
	top: 0;
	right: 0;
	width: 0;
	transition: width .2s;	
	z-index: 5000;
	overflow-x: hidden;
	overflow-y: scroll;
	border-left: solid 1px #e0e0e0;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

.footer, div.m2 {
	transition: margin-left .2s;	
}

div.m_menu_notouch {
	overflow-y: hidden;
  	
}	


div.m_menu_notouch:hover {
  overflow-y: auto;
  scrollbar-width: thin;
}	


div.m_menu h2 {
  padding: 10px 14px 8px 16px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.38;
  letter-spacing: normal;
}

div.m_menu h2 a {
  color: #4cc5de;
}

div.m_submenu {
	margin: 0 0 0 33px;
	padding: 0;
	height: initial;
	max-height: 0;
	overflow:hidden;
	transition: max-height .2s;
}

div.m_menu  div.m_item {
  padding: 10px 14px 8px 16px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.38;
  letter-spacing: normal;	
  color: #2a2a2c;
  border: 0px solid red;
  margin: 0;
}

div.m_menu  div.m_item a {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.38;
  letter-spacing: normal;	
  color: #2a2a2c;
}

div.m_menu div.m_section {
  padding: 14px 14px 8px 16px;	
  font-size: 11px;
  font-weight: normal;
  line-height: 1.18;
  letter-spacing: 1.18px;
  border-top: solid 1px #e0e0e0;
  color: #adadad;
}

div.m_menu div.m_news {
  padding: 0px 14px 0px 16px;		
  font-size: 11px;
  font-weight: normal;
  line-height: 1.18;
  letter-spacing: 1.18px;
  color: #4cc5de;
  cursor: pointer;
}

div.m_menu div.m_news:hover {
	text-decoration: underline;
}

div.m_menu div.m_news_date {
  padding: 10px 14px 8px 0px;		
  font-size: 11px;
  font-weight: normal;
  line-height: 1.18;
  letter-spacing: 1.18px;
  color: #adadad;
}

div.m_menu div.m_news_date:hover {
	text-decoration: underline;
}

div.m_menu div.m_tri {
    width: 48px;
    height: 40px;
	float: left;
  background-repeat: no-repeat;
  background-position: 16px 8px;  
  background-image: url(/c3/images/icon/triangle_down.svg);
  cursor: pointer;
}

div.m_menu div.m_sel div.m_tri {
  background-image: url(/c3/images/icon/triangle_up.svg);
}

div.m_menu div.m_social {
    float: left;
    margin: -7px 0 0 4px;
}
	
div.m_parent {
   clear:left; 
}	










