@charset "UTF-8";



/* 
 * ---------------------------------------------------------------------------------------
 * 説明
 * 
 * .company
 *     h1
 *     h2
 *         span
 *     h3
 *     h4
 *     p
 *     .company-point
 *     .company-outline
 *     .company-toc
 *     .company-caption
 *     .company-figure
 *     .company-explanation
 *         div
 *             dl
 *                 .company-label (--closed)
 *                 .company-body
 *                     .company-figure
 *     .company-column
 *         .company-subject
 *         p
 *         .company-figure
 *     .company-note
 *     .company-link
 * ---------------------------------------------------------------------------------------
 */

.frame-content .company {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 123px;
	max-width: 1020px;
}
.frame-content .company h1 {
	font-size: 2.5em;
	margin: 80px 0;
	text-align: center;
}
.frame-content .company h2 {
	font-size: 1.5555555555555555555555555555556em;
	margin: 60px 0;
}
.frame-content .company h2 span {
	display: block;
	font-size: 0.64285714285714285714285714285714em;
}
.frame-content .company h2 br {
	display: none;
}
.frame-content .company h3 {
	font-size: 1.2222222222222222222222222222222em;
	margin: 30px 0;
}
.frame-content .company h4 {
	margin: 30px 0;
}
.frame-content .company p {
	margin-top: 20px;
}
.frame-content .company .company-point,
.frame-content .company .company-outline {
	font-size: 0.88888888888888888888888888888889em;
	margin: 60px 0;
	width: 100%;
}
.frame-content .company .company-point th,
.frame-content .company .company-point td {
	border: 1px solid #ccc;
	padding: 1em;
}
.frame-content .company .company-point th:first-child,
.frame-content .company .company-point td:first-child {
	width: 5em;
}
.frame-content .company .company-point th {
	background-color: #f6fafa;
}
.frame-content .company .company-point ul {
	list-style: disc outside none;
	margin-left: 1.2em;
}
.frame-content .company .company-outline th,
.frame-content .company .company-outline td {
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
	padding: 1.5em 0;
}
.frame-content .company .company-outline th {
	width: 11em;
}
.frame-content .company .company-toc {
	overflow: hidden;
	width: 100%;
}
.frame-content .company .company-toc:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .company .company-toc li {
	border-top: 2px solid #ccc;
	border-left: 2px solid #ccc;
	float: left;
	line-height: 1.6;
	margin: -2px 0 0 -2px;
	text-align: center;
	width: 50%;
}
.frame-content .company .company-toc li a {
	color: #000;
	display: block;
	padding: 10px 0 40px;
	position: relative;
	text-decoration: none;
}
.frame-content .company .company-toc li span {
	display: block;
	font-size: 0.72222222222222222222222222222222em;
}
.frame-content .company .company-toc li br {
	display: none;
}
.frame-content .company .company-toc li img {
	bottom: 16px;
	left: 50%;
	margin-left: -10px;
	position: absolute;
}
.frame-content .company .company-caption {
	font-size: 1.1666666666666666666666666666667em;
	margin: 60px 0 -20px;
	text-align: center;
}
.frame-content .company .company-figure {
	margin: 60px 0;
	text-align: center;
}
.frame-content .company .company-explanation {
	margin: 30px 0;
}
.frame-content .company .company-explanation div {
	border-bottom: 2px solid #000;
	padding: 20px;
}
.frame-content .company .company-explanation div:first-child {
	border-top: 2px solid #000;
}
.frame-content .company .company-explanation .company-body {
	width: 100%;
}
.frame-content .company .company-explanation .company-body:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .company .company-explanation .company-figure {
	clear: both;
	margin: 40px 0 20px;
}
.frame-content .company .company-explanation .company-figure:first-child {
	float: right;
	margin-top: 0;
	padding-top: 0.5em;
}
.frame-content .company .company-explanation .company-figure:first-child + p {
	margin-right: 242px;
}
.frame-content .company .company-column {
	box-sizing: border-box;
	background-color: #f5f5f5;
	margin: 60px 0;
	padding: 40px;
	width: 100%;
}
.frame-content .company .company-column:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .company .company-column .company-subject {
	margin: 0;
}
.frame-content .company .company-column .company-figure {
	float: right;
	margin: 20px 0 0;
	width: 266px;
}
.frame-content .company .company-column .company-figure + p {
	margin-right: 306px;
}
.frame-content .company .company-note {
	font-size: 0.66666666666666666666666666666667em;
	margin-top: -40px;
	text-align: right;
}
.frame-content .company .company-link {
	font-size: 0.77777777777777777777777777777778em;
	margin: 60px 0;
	text-align: right;
}
.frame-content .company .company-link a {
	color: #000;
	font-size: 1.7142857142857142857142857142857em;
	text-decoration: none;
}
.frame-content .company .company-link a img {
	vertical-align: middle;
}

.js .frame-content .company .company-explanation dl {
	position: relative;
}
.js .frame-content .company .company-explanation .company-label {
	background: transparent url("../image/explanation-opened.png") no-repeat scroll right center;
	background-size: 31px 31px;
	cursor: pointer;
	padding-right: 50px;
}
.js .frame-content .company .company-explanation .company-label--closed {
	background-image: url("../image/explanation-closed.png");
}
.js .frame-content .company .company-explanation .company-body:before {
	content: "";
	display: table;
}
.js .frame-content .company .company-explanation .company-figure:first-child {
	margin-top: 20px;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .company {
		padding: 0 40px;
	}
	.frame-content .company .company-toc li {
		border-left: none;
		float: none;
		margin: 0 auto;
		width: 60%;
	}
	.frame-content .company .company-toc li:first-child {
		border-top: 0;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .company {
		padding: 0 20px;
	}
	.frame-content .company h1 {
		font-size: 2em;
		margin: 60px -20px;
	}
	.frame-content .company h2 {
		font-size: 1.4285714285714285714285714285714em;
		margin: 40px 0;
		text-align: center;
	}
	.frame-content .company h2 br {
		display: block;
	}
	.frame-content .company h3 {
		font-size: 1.1428571428571428571428571428571em;
		margin: 20px 0;
	}
	.frame-content .company h4 {
		margin: 20px 0;
	}
	.frame-content .company p {
		margin-top: 10px;
	}
	.frame-content .company .company-point {
		font-size: 1em;
		margin: 40px 0;
	}
	.frame-content .company .company-point th,
	.frame-content .company .company-point td {
		padding: 1em 0.5em;
	}
	.frame-content .company .company-point th:first-child,
	.frame-content .company .company-point td:first-child {
		width: 4em;
	}
	.frame-content .company .company-outline {
		border-bottom: 2px solid #000;
		font-size: 1em;
		margin: 40px 0;
	}
	.frame-content .company .company-outline tr {
		border-top: 2px solid #000;
		display: block;
		padding: 1.5em 0;
	}
	.frame-content .company .company-outline th,
	.frame-content .company .company-outline td {
		border: none;
		display: block;
		padding: 0;
	}
	.frame-content .company .company-toc li {
		border-left: none;
		float: none;
		margin: 0;
		width: 100%;
	}
	.frame-content .company .company-toc li:first-child {
		border-top: 0;
	}
	.frame-content .company .company-toc li span {
		font-size: 0.85714285714285714285714285714286em;
	}
	.frame-content .company .company-caption {
		font-size: 1.1428571428571428571428571428571em;
		margin-top: 40px;
	}
	.frame-content .company .company-figure {
		margin: 40px 0;
	}
	.frame-content .company .company-explanation div {
		padding: 20px 10px;
	}
	.frame-content .company .company-explanation .company-figure {
		margin-top: 20px;
	}
	.frame-content .company .company-explanation .company-figure:first-child {
		float: none;
		margin-top: 20px;
	}
	.frame-content .company .company-explanation .company-figure:first-child + p {
		margin-right: 0;
	}
	.frame-content .company .company-column {
		margin: 40px 0;
		padding: 20px;
	}
	.frame-content .company .company-column .company-subject {
		text-align: center;
	}
	.frame-content .company .company-column .company-figure {
		float: none;
		margin: 10px auto 0;
		width: 60%;
	}
	.frame-content .company .company-column .company-figure + p {
		margin-right: 0;
	}
	.frame-content .company .company-note {
		font-size: 0.85714285714285714285714285714286em;
		margin-top: -30px;
	}
	.frame-content .company .company-link {
		font-size: 1em;
		margin: 40px 0;
		text-align: center;
	}
	.frame-content .company .company-link a {
		font-size: 1.4285714285714285714285714285714em;
	}
	
	.js .frame-content .company .company-explanation .company-label {
		background-size: 24px 24px;
		padding-right: 40px;
	}
}

.ie8 .frame-content .company .company-toc li a:hover,
.ie8 .frame-content .company .company-toc li a:active {
	color: #666;
	-ms-filter: "";
}
.ie8 .frame-content .company .company-toc li a:hover img,
.ie8 .frame-content .company .company-toc li a:active img {
	-ms-filter: "alpha(opacity=60)";
}
.ie8.js .frame-content .company .company-explanation dl {
	overflow: hidden;
}
.ie8.js .frame-content .company .company-explanation .company-label {
	background-image: url("../image/ie8-explanation-opened.png");
}
.ie8.js .frame-content .company .company-explanation .company-label--closed {
	background-image: url("../image/ie8-explanation-closed.png");
}
.ie8 .frame-content .company .company-explanation .company-figure:first-child {
	width: 192px;
}
.ie8 .frame-content .company .company-link a {
	padding-right: 55px;
	position: relative;
}
.ie8 .frame-content .company .company-link a:hover,
.ie8 .frame-content .company .company-link a:active {
	color: #666;
}
.ie8 .frame-content .company .company-link a img {
	margin-top: -22px;
	position: absolute;
	right: 0;
	top: 50%;
}

/* 
 * ---------------------------------------------------------------------------------------
 * 伊藤忠商事とは
 * 
 * .link
 *     h2
 *     ul
 * ---------------------------------------------------------------------------------------
 */

.frame-content .link {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 40px;
	max-width: 1020px;
}
.frame-content .link h2 {
	margin-top: 80px;
	text-align: center;
}
.frame-content .link ul {
	color: #ddd;
	font-size: 1.3333333333333333333333333333333em;
	text-align: center;
	width: 100%;
}
.frame-content .link ul li {
	display: inline-block;
	padding: 50px 25px 0;
}
.frame-content .link ul li a {
	color: #000;
	text-decoration: none;
}

@media only screen and (max-width: 719px) {
	.frame-content .link {
		padding: 0 20px;
	}
	.frame-content .link h2 {
		font-size: 1.2857142857142857142857142857143em;
		margin-top: 60px;
	}
	.frame-content .link ul {
		font-size: 1.4285714285714285714285714285714em;
	}
	.frame-content .link ul li {
		display: block;
		margin-top: 20px;
		padding: 0;
	}
}

.ie8 .frame-content .link ul li a:hover,
.ie8 .frame-content .link ul li a:active {
	color: #666;
	-ms-filter: "";
}
