@charset "UTF-8";



/* 
 * ---------------------------------------------------------------------------------------
 * インデックス
 * 
 * .index
 *     h1
 *     .index-lifelist
 *         .index-life
 *             .index-visual
 *                 .index-picture
 *                 .index-subtitle
 *                     span
 *             .index-maintitle
 *             .index-person
 *                 span
 * ---------------------------------------------------------------------------------------
 */

.frame-content .index {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 40px;
	max-width: 1020px;
}
.frame-content .index h1 {
	font-size: 2.5em;
	margin: 80px 0;
	text-align: center;
}
.frame-content .index .index-life {
	color: #ddd;
	margin-top: 60px;
	width: 100%;
}
.frame-content .index .index-life:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .index .index-life a {
	color: #000;
	display: block;
	text-decoration: none;
}
.frame-content .index .index-life .index-visual {
	float: left;
	margin-right: -400px;
	position: relative;
	width: 100%;
}
.frame-content .index .index-life .index-subtitle {
	border-right: 400px solid #fff;
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-size: 1.1666666666666666666666666666667em;
	left: 0;
	line-height: 1.6;
	padding: 150px 30px 0;
	position: absolute;
	text-align: center;
	top: 0;
	width: 100%;
}
.frame-content .index .index-life .index-subtitle span {
	border: 2px solid #fff;
	display: inline-block;
	padding: 0.2em 1.5em;
}
.frame-content .index .index-life .index-maintitle {
	display: block;
	float: right;
	font-size: 1.6666666666666666666666666666667em;
	line-height: 1.6;
	position: relative;
	width: 360px;
}
.frame-content .index .index-life .index-person {
	display: block;
	float: right;
	line-height: 1.2;
	margin-top: 20px;
	position: relative;
	width: 360px;
}
.frame-content .index .index-life .index-person span {
	font-size: 0.66666666666666666666666666666667em;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .index .index-life .index-visual {
		height: 330px;
		overflow: hidden;
	}
	.frame-content .index .index-life .index-picture {
		left: 50%;
		margin-left: -470px;
		position: absolute;
		top: 0;
		width: 940px;
		z-index: -1;
	}
	.frame-content .index .index-life .index-subtitle {
		height: 100%;
		position: static;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .index {
		padding: 0;
	}
	.frame-content .index h1 {
		font-size: 2em;
		margin: 60px 0;
	}
	.frame-content .index .index-life {
		margin-top: 40px;
	}
	.frame-content .index .index-life .index-visual {
		display: block;
		float: none;
		margin-right: 0;
	}
	.frame-content .index .index-life .index-picture img {
		width: 100%;
	}
	.frame-content .index .index-life .index-subtitle {
		border: none;
		font-size: 1em;
		margin-top: 25%;
		padding: 0 20px;
	}
	.frame-content .index .index-life .index-maintitle {
		border: none;
		box-sizing: border-box;
		float: none;
		font-size: 1.7142857142857142857142857142857em;
		margin-top: 20px;
		padding: 0 20px;
		text-align: center;
		width: 100%;
	}
	.frame-content .index .index-life .index-person {
		box-sizing: border-box;
		float: none;
		font-size: 1.2857142857142857142857142857143em;
		padding: 0 20px;
		text-align: center;
		width: 100%;
	}
}

.ie8 .frame-content .index .index-life a:hover .index-subtitle,
.ie8 .frame-content .index .index-life a:active .index-subtitle {
	-ms-filter: "";
}
.ie8 .frame-content .index .index-life a:hover .index-maintitle,
.ie8 .frame-content .index .index-life a:hover .index-person,
.ie8 .frame-content .index .index-life a:active .index-maintitle,
.ie8 .frame-content .index .index-life a:active .index-person {
	color: #666;
	-ms-filter: "";
}

/* 
 * ---------------------------------------------------------------------------------------
 * カバー
 * 
 * .cover
 *     .cover-title
 *         .cover-subtitle
 *         .cover-maintitle
 *     .cover-person
 *     .cover-picture
 * ---------------------------------------------------------------------------------------
 */

.frame-content .cover {
	position: relative;
}
.frame-content .cover .cover-title {
	bottom: 0;
	box-sizing: border-box;
	color: #fff;
	left: 50%;
	line-height: 1.6;
	margin-left: -510px;
	padding: 0 40px;
	position: absolute;
	width: 1020px;
}
.frame-content .cover .cover-subtitle {
	font-size: 1.3333333333333333333333333333333em;
}
.frame-content .cover .cover-maintitle {
	font-size: 2.5em;
	margin-bottom: 80px;
}
.frame-content .cover .cover-person {
	bottom: 30px;
	box-sizing: border-box;
	color: #fff;
	left: 50%;
	line-height: 1.6;
	margin-left: -510px;
	padding: 0 40px;
	position: absolute;
	width: 1020px;
}
.frame-content .cover .cover-picture img {
	width: 100%;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .cover {
		height: 400px;
		overflow: hidden;
	}
	.frame-content .cover .cover-title {
		left: 0;
		margin-left: 0;
		width: 100%;
	}
	.frame-content .cover .cover-subtitle {
		font-size: 1em;
	}
	.frame-content .cover .cover-maintitle {
		font-size: 2.2222222222222222222222222222222em;
	}
	.frame-content .cover .cover-person {
		left: 0;
		margin-left: 0;
		width: 100%;
	}
	.frame-content .cover .cover-picture {
		left: 50%;
		margin-left: -510px;
		position: absolute;
		top: 0;
		width: 1020px;
		z-index: -1;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .cover {
		overflow: hidden;
	}
	.frame-content .cover .cover-title {
		color: #000;
		margin-left: 0;
		padding: 0;
		position: static;
		text-align: center;
		width: 100%;
	}
	.frame-content .cover .cover-subtitle {
		font-size: 1.1428571428571428571428571428571em;
		margin-top: 20px;
	}
	.frame-content .cover .cover-maintitle {
		font-size: 2em;
		margin-bottom: 0;
	}
	.frame-content .cover .cover-person {
		color: #000;
		margin: 10px 0 0;
		padding: 0 20px;
		position: static;
		text-align: center;
		width: 100%;
	}
	.frame-content .cover .cover-picture {
		margin: 40px -15.686274509803921568627450980392% 0;
	}
}

/* 
 * ---------------------------------------------------------------------------------------
 * リード文
 * 
 * .lead
 * ---------------------------------------------------------------------------------------
 */

.frame-content .lead {
	box-sizing: border-box;
	margin: 60px auto 0;
	padding: 0 123px;
	max-width: 1020px;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .lead {
		padding: 0 40px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .lead {
		margin-top: 40px;
		padding: 0 20px;
	}
}

/* 
 * ---------------------------------------------------------------------------------------
 * 関係者
 * 
 * .person
 *     .person-list (--4)
 *         .person-profile
 *             .person-picture
 *             .person-name
 *             .person-text
 * ---------------------------------------------------------------------------------------
 */

.frame-content .person {
	box-sizing: border-box;
	margin: 60px auto 0;
	padding: 0 123px;
	text-align: center;
	max-width: 1020px;
}
.frame-content .person .person-profile {
	display: inline-block;
	margin: 0 20px 20px;
	text-align: left;
	vertical-align: top;
	width: 192px;
}
.frame-content .person .person-name {
	font-size: 1.1666666666666666666666666666667em;
	margin-top: 10px;
}
.frame-content .person .person-text {
	font-size: 0.66666666666666666666666666666667em;
	line-height: 1.8;
}

.frame-content .person .person-list--4 .person-profile {
	width: 337px;
}
.frame-content .person .person-list--4 .person-profile:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .person .person-list--4 .person-picture {
	float: left;
	padding-top: 0.5em;
}
.frame-content .person .person-list--4 .person-name {
	margin: 0 0 0 202px;
}
.frame-content .person .person-list--4 .person-text {
	margin-left: 202px;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .person {
		padding: 0 40px;
	}
	.frame-content .person .person-list {
		display: inline-block;
	}
	.frame-content .person .person-list .person-profile {
		display: block;
		margin: 40px 0 0;
		width: auto;
	}
	.frame-content .person .person-list .person-profile:after {
		clear: both;
		content: "";
		display: table;
	}
	.frame-content .person .person-list .person-profile:first-child {
		margin: 0;
	}
	.frame-content .person .person-list .person-picture {
		float: left;
		padding-top: 0.5em;
		width: 60px;
	}
	.frame-content .person .person-list .person-name {
		margin: 0 0 0 80px;
	}
	.frame-content .person .person-list .person-text {
		margin-left: 80px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .person {
		margin-top: 40px;
		padding: 0 20px;
	}
	.frame-content .person .person-list {
		display: inline-block;
	}
	.frame-content .person .person-list .person-profile {
		display: block;
		margin: 20px 0 0;
		width: auto;
	}
	.frame-content .person .person-list .person-profile:after {
		clear: both;
		content: "";
		display: table;
	}
	.frame-content .person .person-list .person-profile:first-child {
		margin: 0;
	}
	.frame-content .person .person-list .person-picture {
		float: left;
		padding-top: 0.5em;
		width: 60px;
	}
	.frame-content .person .person-list .person-name {
		font-size: 1.2857142857142857142857142857143em;
		margin: 0 0 0 80px;
	}
	.frame-content .person .person-list .person-text {
		font-size: 0.78571428571428571428571428571429em;
		margin-left: 80px;
	}
}

.ie8 .frame-content .person .person-list--4 .person-picture {
	width: 192px;
}

/* 
 * ---------------------------------------------------------------------------------------
 * 目次
 * 
 * .toc
 *     .toc-list
 *         .toc-item
 *             .toc-picture
 *             .toc-name
 *                 span
 *             .toc-section
 *             .toc-icon
 * ---------------------------------------------------------------------------------------
 */

.frame-content .toc {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 123px;
	max-width: 1020px;
}
.frame-content .toc .toc-list {
	display: table;
	margin: 60px 0;
	width: 100%;
}
.frame-content .toc .toc-item {
	border-bottom: 2px solid #ccc;
	display: table-cell;
	line-height: 1.6;
	position: relative;
	width: 50%;
}
.frame-content .toc .toc-item + .toc-item {
	border-left: 2px solid #ccc;
}
.frame-content .toc a {
	color: #000;
	display: block;
	padding: 20px 20px 50px;
	text-decoration: none;
}
.frame-content .toc .toc-picture {
	display: block;
	float: left;
}
.frame-content .toc .toc-name {
	display: block;
	font-size: 1.1666666666666666666666666666667em;
	margin-left: 120px;
}
.frame-content .toc .toc-name span {
	font-size: 0.57142857142857142857142857142857em;
}
.frame-content .toc .toc-name br {
	display: none;
}
.frame-content .toc .toc-section {
	display: block;
	font-size: 0.66666666666666666666666666666667em;
	margin: 10px 0 0 120px;
}
.frame-content .toc .toc-icon {
	bottom: 0;
	left: 50%;
	margin-left: -10px;
	position: absolute;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .toc .toc-item {
		border: none;
		display: block;
		width: auto;
	}
	.frame-content .toc .toc-item + .toc-item {
		border-top: 2px solid #ccc;
		border-left: none;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .toc {
		padding: 0 20px;
	}
	.frame-content .toc .toc-list {
		margin: 40px 0;
	}
	.frame-content .toc .toc-item {
		border: none;
		display: block;
		width: auto;
	}
	.frame-content .toc .toc-item + .toc-item {
		border-top: 2px solid #ccc;
		border-left: none;
	}
	.frame-content .toc .toc-name {
		font-size: 1.2857142857142857142857142857143em;
		line-height: 1.2;
	}
	.frame-content .toc .toc-name br {
		display: block;
	}
	.frame-content .toc .toc-section {
		font-size: 0.71428571428571428571428571428571em;
	}
}

.ie8 .frame-content .toc .toc-picture {
	width: 104px;
}
.ie8 .frame-content .toc .toc-icon {
	width: 19px;
}
.ie8 .frame-content .toc a:hover,
.ie8 .frame-content .toc a:active {
	color: #666;
	-ms-filter: "";
}
.ie8 .frame-content .toc a:hover img,
.ie8 .frame-content .toc a:active img {
	-ms-filter: "alpha(opacity=60)";
}

/* 
 * ---------------------------------------------------------------------------------------
 * 話
 * 
 * .talk
 *     h2
 *     h3
 *     dl
 *     .talk-figure
 *     .talk-note
 *     .talk-comment
 *     .talk-label
 * ---------------------------------------------------------------------------------------
 */

.frame-content .talk {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 123px;
	max-width: 1020px;
}
.frame-content .talk h2 {
	font-size: 1.5555555555555555555555555555556em;
	margin: 60px 0;
}
.frame-content .talk h2 br {
	display: none;
}
.frame-content .talk dl dt {
	clear: both;
	float: left;
	margin-top: 20px;
	width: 4em;
}
.frame-content .talk dl dt:after {
	content: " :";
}
.frame-content .talk dl dt:first-child {
	margin-top: 0;
}
.frame-content .talk dl dd {
	margin: 20px 0 0 4.5em;
}
.frame-content .talk .talk-figure {
	margin: 60px 0;
	text-align: center;
}
.frame-content .talk .talk-note {
	font-size: 0.7em;
}
.frame-content .talk .talk-comment {
	font-size: 1.3333333333333333333333333333333em;
	margin: 60px 0;
}
.frame-content .talk .talk-label {
	font-size: 2.5em;
	margin: 60px 0 -50px;
	text-align: center;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .talk {
		padding: 0 40px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .talk {
		padding: 0 20px;
	}
	.frame-content .talk h2 {
		font-size: 1.4285714285714285714285714285714em;
		margin: 40px 0;
		text-align: center;
	}
	.frame-content .talk h2 br {
		display: block;
	}
	.frame-content .talk dl dt,
	.frame-content .talk dl dd {
		margin-top: 10px;
	}
	.frame-content .talk .talk-figure {
		margin: 40px auto;
		width: 60%;
	}
	.frame-content .talk .talk-comment {
		font-size: 1.2857142857142857142857142857143em;
		margin: 40px 0;
	}
	.frame-content .talk .talk-label {
		font-size: 2em;
		margin: 40px 0 -25px;
	}
}

/* 
 * ---------------------------------------------------------------------------------------
 * CAREER STEP
 * 
 * .career
 *     h3
 *     table
 * ---------------------------------------------------------------------------------------
 */

.frame-content .career {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 0 123px;
	max-width: 1020px;
}
.frame-content .career h3 {
	font-size: 1.3333333333333333333333333333333em;
	margin-top: 100px;
	text-align: center;
}
.frame-content .career table {
	margin-top: 40px;
	width: 100%;
}
.frame-content .career table tr {
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
}
.frame-content .career table th {
	padding: 10px 0;
	vertical-align: middle;
	width: 7em;
}
.frame-content .career table th span {
	font-size: 0.55555555555555555555555555555556em;
}
.frame-content .career table td {
	font-size: 0.72222222222222222222222222222222em;
	padding: 10px 0;
	vertical-align: middle;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .career {
		padding: 0 40px;
	}
	.frame-content .career h3 {
		margin-top: 80px;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .career {
		padding: 0 20px;
	}
	.frame-content .career h3 {
		font-size: 1.2857142857142857142857142857143em;
		margin-top: 60px;
	}
	.frame-content .career table {
		margin-top: 30px;
	}
	.frame-content .career table th span {
		font-size: 0.71428571428571428571428571428571em;
	}
	.frame-content .career table td {
		font-size: 0.85714285714285714285714285714286em;
	}
}

/* 
 * ---------------------------------------------------------------------------------------
 * 写真
 * 
 * .picture
 * ---------------------------------------------------------------------------------------
 */

.frame-content .picture {
	box-sizing: border-box;
	margin: 80px auto 0;
	padding: 0 40px;
	max-width: 1020px;
}

@media only screen and (min-width: 720px) and (max-width: 1039px) {
	.frame-content .picture {
		padding: 0;
	}
	.frame-content .picture img {
		width: 100%;
	}
}

@media only screen and (max-width: 719px) {
	.frame-content .picture {
		margin-top: 40px;
		padding: 0;
	}
	.frame-content .picture img {
		width: 100%;
	}
}

/* 
 * ---------------------------------------------------------------------------------------
 * 伊藤忠商事での生活
 * 
 * .link
 *     h2
 *     ul
 *         span
 * ---------------------------------------------------------------------------------------
 */

.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;
	line-height: 1.6;
	margin: 0 auto;
	width: 620px;
}
.frame-content .link ul:after {
	clear: both;
	content: "";
	display: table;
}
.frame-content .link ul li {
	box-sizing: border-box;
	float: left;
	font-size: 1.3333333333333333333333333333333em;
	margin-top: 50px;
	padding: 10px 20px 0;
	position: relative;
	text-align: center;
	width: 50%;
}
.frame-content .link ul li a {
	color: #000;
	display: block;
	margin-top: -10px;
	padding-top: 10px;
	position: relative;
	text-decoration: none;
}
.frame-content .link ul li span {
	bottom: 100%;
	box-sizing: border-box;
	font-size: 0.5em;
	left: 0;
	line-height: 1.2;
	padding: 0 20px;
	position: absolute;
	width: 100%;
}
.frame-content .link ul li a span {
	padding: 0;
}
.frame-content .link ul li span + br {
	display: 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 {
		width: 100%;
	}
	.frame-content .link ul li {
		font-size: 1.4285714285714285714285714285714em;
		padding: 10px 0 0;
		width: 100%;
	}
	.frame-content .link ul li span {
		padding: 0;
	}
}

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