main {
	width: 1180px;
	margin: 60px auto 80px;}

/* ----------------------------------------
Index
----------------------------------------*/
h1.pageTitle{
	height: 360px;
	color: #FFF;
	margin-bottom: 80px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
	padding-top: 150px;}
h1.pageTitle:after {
		bottom: 140px;}
.Index h1.pageTitle {
	background-image: url(/rd/images/index/img_main_pc.jpg);}

.rdArea h2 {
	margin: 0 0 80px 0;
	color: #333;
	font-size: 2.4rem;
	font-weight: normal;}

.imgListArea {
	display: flex;
		justify-content: space-between;
	margin-bottom: 60px;}
.imgListArea li {
	width: calc((100% - 25px * 2) / 3);}
	.imgListArea.L li {
		width: calc(50% - 40px / 2);}
.imgListArea a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
.imgListArea figure {
	margin: 0 0 16px 0;}
.imgListArea figure > img {
	width: 100.2%;
	height: auto;}
	.imgListArea.L figure > img {
		width: 100%;
		height: auto;}
.imgListArea h3 {
	display: inline-block;
	color: #333;
	font-size: 1.8rem;
	transition: color 0.12s;}
	.imgListArea.L h3 {
		margin: 0 0 20px 0;
		padding: 0;}
	.imgListArea a.hover h3 {
		color: #e60012;}
.imgListArea p {
	color: #333;
	font-size: 1.4rem;
	line-height: 2.2rem;}

.textListArea {
	display: flex;
		justify-content: center;
	margin: 0 0 80px 0;
	font-size: 1.4rem;}
.textListArea li:not(:last-child) {
	border-right: 1px solid #d0d5da;}
.textListArea a {
	display: block;
	padding: 10px 66px;
	color: #333;
	text-decoration: none;
	transition: color 0.12s;}
	.textListArea a.hover {
		color: #e60012;}
.textListArea a .redArrowS {
	position: static;
	margin: 0 14px 2px 0;}

/*.soft99Area {
	margin: 0 0 120px 0;
	padding: 40px calc((100% - 1180px) / 2);
	background: #f3f5f7;}
.soft99Area .imgListArea {margin: 0;}
.soft99Area .imgListArea figure {margin: 0;}*/


/* newsList
------------------------------*/
.newsListArea {
	width: 1180px;
	margin: 0 auto 80px auto;
	padding: 60px 0 0 0;
	border-top: 1px solid #d0d5da;}
.newsListArea h2 {
	margin-bottom: 50px;
	font-size: 2.8rem;
	font-weight: normal;
	line-height: 100%;}
.newsList {
	margin: 0 0 20px 0;}
.topicList-btnWrap {
	text-align: right;}
.topicList-btn {
	display: inline-block;
	position: relative;
	color: #e60012 !important;
	font-size: 1.2rem;
	padding: 8px 60px;
	border: 1px solid #e60012;
	background: #fff;
	transition-property: color, background;
	transition-duration: 0.12s;
	/*-webkit-tap-highlight-color: rgba(0, 0, 0, 0);*/
	transition: 0.12s;
	transition-property: color, background;}
.topicList-btn .redArrowS {
	right: 20px;
	transition: 0.12s;
	transition-property: border, transform;}
	.topicList-btn.hover {
		color: #fff !important;
		background: #e60012;}
	.topicList-btn.hover .redArrowS {
		border-color: #fff;
		transform: translateX(5px) rotate(-45deg);}

/* fieldArea
------------------------------*/
.fieldArea {
	position: relative;
	margin: 0 0 180px 0;
	padding: 70px 0 100px 0;
	background: #f3f5f7;}
.fieldArea h2 {
	margin: 0 0 40px 0;
	font-size: 2.8rem;
	font-weight: normal;
	line-height: 100%;
	text-align: center;}
.fieldArea > h2 + p {
	margin: 0 0 60px 0;
	color: #333;
	font-size: 1.4rem;
	text-align: center;}
.fieldListWrap {
	display: flex;
		flex-wrap: wrap;
	width: 1180px;
	margin: 0 auto;}
.fieldListWrap li {
	width: calc((100% - 24px * 3) / 4);
	margin: 0 24px 60px 0;}
	.fieldListWrap li:nth-child(4n) {
		margin-right: 0;}
	.fieldListWrap li:nth-last-child(-n+3) {
		margin-bottom: 0;}
.fieldListWrap li a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
.fieldListWrap li a div {
	margin: 0 0 20px 0;}
.fieldListWrap li a div img {
	width: 100%;}
.fieldListWrap li a h3 {
	color: #333;
	font-size: 1.4rem;}
	.fieldListWrap li a.hover h3 {
		color: #e60012;}
.fieldAreaBtn a {
	position: absolute;
		bottom: 0;
		right: 50%;
		transform: translate(50%, 50%);
	display: block;
	min-width: 280px;
	height: 64px;
	margin: 0 auto;
	padding: 24px 10px 24px 20px;
	color: #e60012;
	font-size: 1.4rem;
	text-align: center;
	line-height: 100%;
	background: #fff;
	border: 1px solid #e60012;
	transition: 0.12s;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
	.fieldAreaBtn a.hover {
		color: #fff;
		background-color: #e60012;}
.fieldAreaBtn a .redArrowS {
	right: 35px;
	transition: right 0.12s, border 0.12s;}
	.fieldAreaBtn a.hover .redArrowS {
		border-color: #fff;
		right: 30px;}