@media all and (min-width: 641px) {

	/* INDEX */
	/* philosophy */
body#company-index #index-philosophy .lead {
		margin-bottom: 100px;
		font-size: 2.4rem;
		font-weight: bold;
		text-align: center;
	}

	body#company-index #index-philosophy .philosophy-list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		padding: 0 50px;
	}

	body#company-index #index-philosophy .philosophy-list li {
		text-align: center;
	}

body#company-index #index-philosophy .philosophy-list li .text {
		font-size: 2.4rem;
		font-weight: bold;
	}

	/* message */
body#company-index #index-message .imgl-box .image {
		width: 430px;
	}

	body#company-index #index-message .imgl-box .text {
		width: 680px;
	}

	body#company-index #index-message .imgl-box .text .lead {
		margin-bottom: 30px;
		font-size: 3.6rem;
		font-weight: bold;
		line-height: 1.3;
	}

	body#company-index #index-message .imgl-box .text .text {
		margin-bottom: 50px;
		text-align: justify;
	}

	body#company-index #index-message .imgl-box .text .name {
		font-size: 2.4rem;
		font-weight: bold;
		text-align: right;
	}

	/* profile */
body#company-index #index-profile .inner {
		padding: 30px 0;
		background: #e2f4fd;
		border-top: 1px solid #9fa0a0;
	}

body#company-index #index-profile table.type01 th {
		width: 300px;
		font-weight: bold;
	}

body#company-index #index-profile table.type01 td .board {
		display: flex;
		flex-wrap: wrap;
	}

	body#company-index #index-profile table.type01 td .board dt {
		width: 165px;
	}

	body#company-index #index-profile table.type01 td .board dd {
		width: calc(100% - 165px);
	}

	body#company-index #index-profile table.type01 td.branch-list dl {
		margin-bottom: 0;
		display: flex;
		flex-wrap: wrap;
	}

	/* history */
body#company-index #index-history .lead {
		margin-bottom: 80px;
		font-size: 2.4rem;
		font-weight: bold;
	}

	body#company-index #index-history .movie {
		margin-bottom: 30px;
		text-align: center;
	}

	body#company-index #index-history .movie iframe {
		display: inline-block;
		width: 850px;
		height: 480px;
		margin: 0;
	}

	body#company-index #index-history .history-list {
		width: 943px;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
	}

	body#company-index #index-history .history-list dt {
		position: relative;
		width: 165px;
		padding: 20px 30px;
		font-weight: bold;
	}

	body#company-index #index-history .history-list dt::after {
		content: "";
		position: absolute;
		top: 50%;
		right: -6px;
		transform: translateY(-50%);
		width: 8px;
		height: 8px;
		background: #004c99;
		border-radius: 50%;
		z-index: 1;
	}

	body#company-index #index-history .history-list dd {
		position: relative;
		width: calc(100% - 165px);
		padding: 20px 30px;
		margin: 0;
		border-left: 5px solid #ccdcec;
	}

	body#company-index #index-history .history-list dd:first-of-type {
		border-image: linear-gradient(to bottom, transparent 50%, #ccdcec 50%) 1;
	}

	/* btn */
body#company-index #index-btn .btn-box {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

body#company-index #index-btn .btn-box a:hover {
		opacity: 0.8;
	}

/* CSR */
	/* csr-behavioral_guidelines */
	body#company-csr #csr-behavioral_guidelines .image {
		margin-bottom: 50px;
		text-align: center;
	}

	body#company-csr #csr-behavioral_guidelines .text {
		width: 560px;
		margin: 0 auto;
	}
}

@media only screen and (max-width: 640px) {
	body#company-index h2.title-level01 img {
		width: auto;
		height: 40px;
	}

	/* philosophy */
body#company-index #index-philosophy .lead {
		margin-bottom: 100px;
		font-size: 1.8rem;
		font-weight: bold;
		text-align: center;
	}

body#company-index #index-philosophy .philosophy-list li {
		margin-bottom: 30px;
		text-align: center;
	}

	body#company-index #index-philosophy .philosophy-list li .text {
		font-size: 1.8rem;
		font-weight: bold;
	}

	/* message */
body#company-index #index-message .imgl-box .image {
		margin-bottom: 30px;
		text-align: center;
	}

	body#company-index #index-message .imgl-box .image img {
		width: 80%;
	}

body#company-index #index-message .imgl-box .text .lead {
		margin-bottom: 30px;
		font-size: 2.8rem;
		font-weight: bold;
		line-height: 1.3;
	}

	body#company-index #index-message .imgl-box .text .text {
		margin-bottom: 50px;
		text-align: justify;
	}

	body#company-index #index-message .imgl-box .text .name {
		font-size: 1.6rem;
		font-weight: bold;
		text-align: right;
	}

	/* profile */
body#company-index #index-profile .inner {
		padding: 20px 0;
		background: #e2f4fd;
		border-top: 1px solid #9fa0a0;
	}

body#company-index #index-profile table.type01 th {
		display: block;
		border-bottom: none;
	}

	body#company-index #index-profile table.type01 td {
		display: block;
		border-bottom: none;
	}

	body#company-index #index-profile table.type01 tr:last-child td {
		border-bottom: 1px solid #898989;
	}

	body#company-index #index-profile table.type01 td .board {
		display: flex;
		flex-wrap: wrap;
	}

	body#company-index #index-profile table.type01 td .board dt {
		width: 140px;
	}

	body#company-index #index-profile table.type01 td .board dd {
		width: calc(100% - 140px);
	}

	body#company-index #index-profile table.type01 td.branch-list dl {
		margin-bottom: 0;
		display: flex;
		flex-wrap: wrap;
	}

/* history */
body#company-index #index-history .lead {
		margin-bottom: 50px;
		font-size: 1.8rem;
		font-weight: bold;
	}

body#company-index #index-history .history-list {
		display: block;
		margin: 0 auto;
		padding-left: 20px;
	}

	body#company-index #index-history .history-list dt {
		position: relative;
		padding: 10px 0 10px 15px;
		font-weight: bold;
		border-left: 5px solid #ccdcec;
	}

	body#company-index #index-history .history-list dt::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -7px;
		transform: translateY(-50%);
		width: 8px;
		height: 8px;
		background: #004c99;
		border-radius: 50%;
		z-index: 1;
	}

	body#company-index #index-history .history-list dt:first-of-type {
		border-image: linear-gradient(to bottom, transparent 50%, #ccdcec 50%) 1;
	}

	body#company-index #index-history .history-list dd {
		padding: 0 0 20px 15px;
		margin: 0;
		border-left: 5px solid #ccdcec;
	}

	/* btn */
body#company-index #index-btn .btn-box a {
		display: block;
		margin-bottom: 20px;
	}

	body#company-index #index-btn .btn-box a:hover {
		opacity: 0.8;
	}

/* CSR */
	/* csr-behavioral_guidelines */
	body#company-csr #csr-behavioral_guidelines .image {
		margin-bottom: 30px;
		padding: 0 20px;
	}

}