@charset "utf-8";
/* CSS Document */
/*─────────────────────────────────────────────────────────────────────
    Font change for REX
─────────────────────────────────────────────────────────────────────*/
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src: local('NotoSansCJKjp-Regular'),
    url('/assets/fonts/NotoSansCJKjp-Regular.woff2') format('woff2'),
    url('/assets/fonts/NotoSansCJKjp-Regular.woff') format('woff'),
    url('/assets/fonts/NotoSansCJKjp-Regular.ttf') format('ttf'),
    url('/assets/fonts/NotoSansCJKjp-Regular.eot') format('eot');
}
@font-face {
  font-family: 'NotoSans';
  font-style: normal;
  font-weight: 400;
  src: local('NotoSans-Regular'),
    url('/assets/fonts/NotoSans-Regular.woff2') format('woff2'),
    url('/assets/fonts/NotoSans-Regular.woff') format('woff'),
    url('/assets/fonts/NotoSans-Regular.ttf') format('ttf'),
    url('/assets/fonts/NotoSans-Regular.eot') format('eot');
}
/* materials customs styles */
#materials div{}
#materials div h3 {
	margin:0;
	padding:0;
	line-height:120%;
	letter-spacing:.02em;
	font-weight:700;
	font-size:15px;
	margin-bottom:20px;
}
#materials div h4{ display: none;}
#materials div h3:lang(ja){font-family:'NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;}
#materials div h3:lang(en){font-family:'Rakuten Global bold','NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;}
#materials article a{
	display: table;
    width: 100%;
    margin-bottom: 25px;
    position: relative;
	box-sizing: border-box;
    text-decoration: none;
    padding-right: 20px;
    vertical-align: middle;
}
#materials article a:after{
	font-family:rc-icon;
	content:"\e602";
	display: inline-block;
    position: absolute;
    right: 0;
	top:50%;
	transform:translate(0,-50%);
	font-size:14px;
	font-weight:700;
}
#materials article a[target="_blank"]:after{
	font-family:rg-icons;
	content:"\EA15";
}
#materials article a figure{
    padding: 0;
    margin: 0;
    width: 40px;
    padding-right: 20px;
    display: table-cell;
    vertical-align: middle;
}
#materials article a figure i{
	font-family: "rg-icons";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
	font-size: 2.375em;
    display: block;
}
#materials article a div{
	display: table-cell;
	vertical-align: middle;
	color: #000;
	-webkit-tap-highlight-color: rgba(29,84,167,.1);
	-webkit-text-decoration-color: rgba(29,84,167,.5);
	-moz-text-decoration-color: rgba(29,84,167,.5);
	word-wrap: break-word;
}
#materials article a div p {
	padding: 0 20px 0 0;
	margin: 0;
	line-height: 120%!important;
	font-size: 1em;
	display: block;
}
#materials article a:hover div p {color: #bf0000;}

#materials article a div span{
	padding: 5px 0 0 0;
	color: #636363;
	margin: 0;
	line-height: 120%!important;
	font-size: .75em;
	display: block;
 }

/*libraly materials customs style */
#libraryMaterials div{
	position: relative;
	margin-bottom: 24px;
	padding-bottom: 0;
}
#libraryMaterials div h3 {
	padding:0;
	line-height:120%;
	letter-spacing:.02em;
	font-weight:700;
	font-size:18px;
	margin-bottom:12px;
}
#libraryMaterials div h4{
	margin-top: 8px;
	font-size: .75em;
	font-weight: 400;
	line-height: 20px;
}
#libraryMaterials div h3:lang(ja){font-family:'NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;}
#libraryMaterials div h3:lang(en){font-family:'Rakuten Global bold','NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;}
@media (min-width:48em){#libraryMaterials div h3{
	margin-bottom:12px;
	font-size: 18px;
	line-height: 140%;
	}}
#libraryMaterials article a{
	display: table;
    width: 100%;
    margin-bottom: 25px;
    position: relative;
	box-sizing: border-box;
    text-decoration: none;
    padding-right: 20px;
    vertical-align: middle;
}
#libraryMaterials article a:after{
	font-family:rc-icon;
	content:"\e602";
	display: inline-block;
    position: absolute;
    right: 0;
	top:50%;
	transform:translate(0,-50%);
	font-size:14px;
	font-weight:700;
}
#libraryMaterials article a[target="_blank"]:after{
	font-family:rg-icons;
	content:"\EA15";
}
#libraryMaterials article a figure{
    padding: 0;
    margin: 0;
    width: 40px;
    padding-right: 20px;
    display: table-cell;
    vertical-align: middle;
}
#libraryMaterials article a figure i{
	font-family: "rg-icons";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
	font-size: 2.375em;
    display: block;
}
#libraryMaterials article a div{
	display: table-cell;
	vertical-align: middle;
	color: #000;
	-webkit-tap-highlight-color: rgba(29,84,167,.1);
	-webkit-text-decoration-color: rgba(29,84,167,.5);
	-moz-text-decoration-color: rgba(29,84,167,.5);
	word-wrap: break-word;
}
#libraryMaterials article a div p {
	padding: 0 20px 0 0;
	margin: 0;
	line-height: 120%!important;
	font-size: 1em;
	display: block;
}
#libraryMaterials article a:hover div p, #libraryMaterials article a:hover div span {color: #bf0000;}

#libraryMaterials article a div span{
	display: inline;
	color: #636363;
	margin: 0;
	line-height: 120%!important;
	display: block;
 }
#libraryMaterials article a div span::before{ content: "（";}
#libraryMaterials article a div span::after{ content: "）";}

/*Past Materials customs style */
.pastMaterials>div{margin-top: 48px;}
.pastMaterials div h3 {
	margin:0;
	padding:0;
	line-height:140%;
	letter-spacing:.02em;
	font-weight:700;
	font-size: 16px;
	margin-bottom:12px;
}
.pastMaterials div h4{
	margin-top: 8px;
	line-height: 120%!important;
	font-size: .75em;
	font-weight: 400;
	line-height: 1.414;
}
.pastMaterials div h3:lang(ja){font-family:'NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;}
.pastMaterials div h3:lang(en){font-family:'Rakuten Global bold','NotoSans', 'NotoSansCJKjp', Arial, 'Arial Unicode MS', sans-serif;}

.pastMaterials article {padding: 0; margin: 0; }
.pastMaterials article a{text-decoration: none;line-height: 135%;display: inline-flex;}
.pastMaterials article a figure{}
.pastMaterials article a figure i{}
.pastMaterials article a figure i::before{font-family: "rc-icon"; content: "\e602";font-size: .625em;margin-right: 8px;font-weight: 700;}
.pastMaterials article a div{margin-bottom: 10px;}
.pastMaterials article a div p{line-height: 135%; margin-right: .4em;margin-top: 0px; margin-bottom: 0px; text-indent:}
.pastMaterials article a:hover div p, .pastMaterials article a:hover div span {color: #bf0000;}

.pastMaterials article a div p::after{
	font-family: "rg-icons";
	font-size: 1.375em;
	text-rendering: auto;
	text-transform: none;
	margin-left: 8px;
	text-indent: 0;
    vertical-align: middle;
}
.pastMaterials article a div.rg-i-video_p p::after{content: "\EA1C";}
.pastMaterials article a div.rg-i-pdf_p p::after{content: "\EA1D";}
.pastMaterials article a div.rg-i-xls_p p::after{content: "\EA1E";}
.pastMaterials article a div.rg-i-xlsx_p p::after{content: "\EA1E";}
.pastMaterials article a div.rg-i-zip_p p::after{content: "\EA1F";}
.pastMaterials article a div.rg-i-ppt_p p::after{content: "\EA21";}
.pastMaterials article a div.rg-i-doc_p p::after{content: "\EA23";}

@media (min-width:48em){.pastMaterials div h3{
	margin: 0;
	font-size: 16px;
	line-height: 140%;
}}

/* banner-slider common parts */
ul.tbnnr{
	display: block;
	border: none;
	margin: 0;
	padding: 0;
}
@media print, screen and (min-width: 769px){
ul.tbnnr {
	overflow: hidden;
	/*width: 100%;*/
	max-width: 1095px;
	}
ul.tbnnr {
    margin: 0 1.66666666666667%;
	margin-left: -30px;
    margin-right: -30px;
    max-width: initial;
    overflow: hidden;
}
.tbnnr:after{
	content: '';
    display: block;
    height: 0;
    overflow: hidden;
	clear: both;
	}
.tbnnr li {
	display:block;
	float:left;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
	padding: 0 .625rem;
	width: 33.33333333333333%;
	padding-left: 30px;
    padding-right: 30px;
	}
.tbnnr li div {
    margin-bottom: 40px;
	}
.tbnnr li div figure {
	display:block;
	margin: 0;
	padding: 0;
	margin-bottom: 14px;
	}
.tbnnr li div figure img{
	border:none;
	height:auto;
	max-width:100%;
	}
}
@media print, screen and (min-width: 479px) and (max-width: 768px){
ul.tbnnr {
	margin-left: -15px;
    margin-right: -15px;
	}
.tbnnr li {
	display:block;
	float:left;
	-webkit-box-sizing: border-box;
    box-sizing: border-box;
	padding: 0 .625rem;
	width: 33.33333333333333%;
	padding-left: 15px;
    padding-right: 15px;
	}
}
@media print, screen and (max-width:478px){
ul.tbnnr {
	margin-left: -13px;
	margin-right: -13px;
	}
.tbnnr li {
	list-style: none;
	margin: 20px 0;
	padding-left: 15px;
	padding-right: 15px;
	}
.tbnnr li div {
    margin: 0px;
	}
.tbnnr li div figure {
	display:block;
	margin: 0;
	padding: 0;
	margin-bottom: 14px;
	}
}
