@charset "utf-8";
/*=================================
company.css
================================ */


/* heading
-------------------------------- */

/* imgHeading */
.imgHeading01 {
	margin-right: -100%;
	margin-left: -100%;
	padding: 0 100%;
	background: url(/company/img/index_bg01.jpg) no-repeat 50% 50%;
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 150px;
	text-align: center;
	color: #ffffff;
}


/* column
-------------------------------- */

/* aboutColumn */
.aboutColumn01 {
	margin: 50px -65px 0;
	padding: 2em 65px 2.5em;
	background-color: #e5eff7;
}
.aboutColumn01 a {
	color: #333;
}
.aboutColumn01 .heading {
	font-size: 22px;
	font-size: 2.2rem;
	text-align: center;
}
.aboutColumn01 .text {
	position: relative;
	padding: 0.8em;
	background-color: #fff;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
}
.aboutColumn01 .text:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display: inline-block;
	width: 0;
	height: 0;
	border-top: solid 10px transparent;
	border-right: solid 10px #0166b3;
	border-bottom: solid 10px #0166b3;
	border-left: solid 10px transparent;
}

/* topMessage */
.topMessage01 {
	display: table;
	width: 100%;
	height: 240px;
	margin-top: 3em;
	background: #f4f8e8 url(/common/img/com_bg01.png) no-repeat 84px 100%;
}
.topMessage01 .text {
	display: table-cell;
	padding-right: 30px;
	padding-left: 340px;
	vertical-align: middle;
}
.topMessage01 .text .heading {
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.2;
}
.topMessage01 .text .heading > span {
	display: block;
	margin-top: 0.5em;
	font-size: 20px;
	font-size: 2rem;
}
.topMessage01 .text .name {
	font-size: 16px;
	font-size: 1.6rem;
}

/* policyColumn */
.policyColumn01 {
	display: table;
	width: 100%;
	margin-top: 3em;
	background-color: #eeeeee;
}
.policyColumn01 .heading {
	display: table-cell;
	padding: 1.5em;
	text-align: center;
	vertical-align: middle;
}
.policyColumn01 .heading > span {
	display: block;
	margin-top: 0.3em;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	color: #0166b3;
}

/* activityColumn */
.activityColumn01 {
	margin-top: 3em;
}
.activityColumn01 + .activityColumn01 {
	margin-top: 1.5em;
}
.activityColumn01 .title a {
	position: relative;
	display: table;
	width: 100%;
	border-top: solid 1px #0166b3;
	border-bottom: solid 1px #dddddd;
}
.activityColumn01 .title a:after {
	content: "+";
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background-color: #0166b3;
	line-height: 20px;
	text-align: center;
	color: #ffffff;
}
.activityColumn01 .title.open a:after {
	content: "-";
}
.activityColumn01 .title a:hover {
	text-decoration: none;
}
.activityColumn01 .title a > span {
	display: table-cell;
	vertical-align: middle;
}
.activityColumn01 .title a > .genre {
	width: 160px;
	padding-left: 30px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	color: #0166b3;
	line-height: 1.2;
}
.activityColumn01 .title a:hover > .genre {
	text-decoration: underline;
}
.activityColumn01 .title a > .text {
	width: auto;
	padding: 10px;
	color: #333333;
}
.activityColumn01 .title a > .img {
	width: 224px;
	padding: 10px 0;
}
.activityColumn01 .detail {
	display: none;
}

/* companyColumn */
.companyColumn01 {
	position: relative;
	padding: 20px 0 0;
}
.heading02 + .companyColumn01 {
	margin-top: 0 !important;
}
.companyColumn01 > *:first-child {
	margin-top: 0;
}
.companyColumn01 + .companyColumn01 {
	margin-top: 20px;
	border-top: dashed 1px #c3c3c3;
}
.companyColumn01 .name {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
}
.companyColumn01 .companyIcon01 {
	position: absolute;
	top: 22px;
	right: 0;
}
.companyColumn01 .infoBlock {
	margin-top: 1em;
}
.companyColumn01 .infoBlock > *:first-child {
	margin-top: 0;
}
.companyColumn01 .iconLink01 {
	margin-top: 1em;
}
.companyColumn02 {
	margin-top: 3em;
}
.companyColumn02 .heading {
	margin-top: 1em;
}
.companyColumn02 .heading + * {
	margin-top: 1em;
}
.companyColumn02 .table01 .type01 {
	text-align: left;
}

/* companyIcon */
.companyIcon01 li {
	float: left;
	min-width: 5em;
	margin-left: 10px;
	padding: 5px 10px;
	border: solid 1px #cccccc;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
	text-align: center;
}
.companyIcon01 li:first-child {
	margin-left: 0;
}
.companyIcon01 li.type01 {
	background-color: #98ebeb;
}
.companyIcon01 li.type02 {
	background-color: #abeb9b;
}
.companyIcon01 li.type03 {
	background-color: #fcec7e;
}


/* pictureNameBox */
.pictureNameBox01 .personalInfo {
	padding-bottom: 5px;
	border-bottom: solid 1px #cccccc;
}
.pictureNameBox01 .personalInfo .name {
	margin-top: 10px;
	font-size: 22px;
	font-size: 2.2rem;
}
.pictureNameBox01 .personalInfo .name span {
	font-size: 16px;
	font-size: 1.6rem;
}
.pictureNameBox01 .profile {
	margin-top: 15px;
}


@media only screen and (max-width: 720px){
	
	/* heading
	-------------------------------- */
	
	/* imgHeading */
	.imgHeading01 {
		height: 75px;
		margin-right: -10px;
		margin-left: -10px;
		padding: 0;
		background-size: cover;
		font-size: 2.1em;
		line-height: 75px;
	}
	
	/* column
	-------------------------------- */
	
	/* aboutColumn */
	.aboutColumn01 {
		margin: 25px -10px 0;
		padding: 1em 10px;
	}
	.aboutColumn01 .heading {
		font-size: 1.5rem;
	}
	.aboutColumn01 .heading + * {
		margin-top: 1em;
	}
	.aboutColumn01 .text {
		display: table;
		width: 100%;
		padding: 0;
		font-weight: normal;
		font-size: 1.1rem;
	}
	.aboutColumn01 .text:after {
		border-top-width: 5px;
		border-right-width: 5px;
		border-bottom-width: 5px;
		border-left-width: 5px;
	}
	.aboutColumn01 .text > span {
		display: table-cell;
		padding: 0.5em;
		vertical-align: middle;
		line-height: 1.2;
	}
	
	/* topMessage */
	.topMessage01 {
		display: block;
		width: auto;
		height: auto;
		margin: 1em -10px 0;
		background-size: auto 95px;
	}
	.topMessage01 {
		background-position: 13% 100%;
	}
	.topMessage01 .text {
		display: block;
		min-height: 100px;
		padding: 10px 10px 10px 40%;
	}
	.topMessage01 .text .heading {
		font-weight: bold;
		font-size: 1.5rem;
		line-height: 1.2;
	}
	.topMessage01 .text .heading > span {
		display: block;
		margin-top: 0.3em;
		font-size: 1.3rem;
	}
	.topMessage01 .text .heading > span br {
		display: none;
	}
	.topMessage01 .text .name {
		font-size: 1.1rem;
	}
	
	/* policyColumn */
	.policyColumn01 .heading > span {
		font-size: 1.4rem;
	}
	
	/* activityColumn */
	.activityColumn01 {
		margin-right: -10px;
		margin-left: -10px;
	}
	.activityColumn01 .title a {
		display: block;
	}
	.activityColumn01 .title a:after {
		top: 10px;
		left: 10px;
		margin-top: 0;
	}
	.activityColumn01 .title a > .genre {
		display: block;
		width: auto;
		padding: 10px 10px 10px 40px;
		font-size: 1.6rem;
	}
	.activityColumn01 .title a > .text {
		width: auto;
		padding: 0 10px 10px;
		color: #333333;
	}
	.activityColumn01 .title a > .text br {
		display: none;
	}
	.activityColumn01 .title a > .img {
		width: 40%;
		padding: 0 10px 10px 0;
	}
	.activityColumn01 .detail {
		display: none;
		padding: 0 10px;
	}
	
	/* companyColumn */
	.companyColumn01 {
		padding: 10px 0 0;
	}
	.companyColumn01 + .companyColumn01 {
		margin-top: 10px;
	}
	.companyColumn01 .name {
		font-size: 1.4rem;
	}
	.companyColumn01 .companyIcon01 {
		position: static;
		margin-top: 0.5em;
	}
	.companyColumn01 .infoBlock {
		margin-top: 0.5em;
	}
	.companyColumn01 .iconLink01 {
		margin-top: 0.5em;
	}
	.companyColumn02 {
		margin-top: 3em;
	}
	.companyColumn02 .heading {
		margin-top: 1em;
	}
	.companyColumn02 .heading + * {
		margin-top: 1em;
	}
	.companyColumn02 .table01 .type01 {
		text-align: left;
	}
	
	/* companyIcon */
	.companyIcon01 li {
		float: left;
		min-width: 3em;
		margin-left: 5px;
		padding: 5px 10px;
		font-size: 1rem;
	}
	
	/* pictureNameBox */
	.pictureNameBox01 .picture {
		width: 30%;
	}
	.pictureNameBox01 .personalInfo .name {
		margin-top: 5px;
		font-size: 1.6rem;
	}
	.pictureNameBox01 .personalInfo .name span {
		display: inline-block;
		font-size: 1.2rem;
	}
	.pictureNameBox01 .profile {
		margin-top: 10px;
	}
	
}


/* clearfix */
.companyIcon01:after {
	content : "";
	display : block;
	clear : both;
}