@charset "utf-8";

/* -------------------------------------------
sustainability css 移植 ここから
------------------------------------------- */

/* reset */

.ir-all section.sec-block{

	margin: 0 0 0 40px;

}

.ir-all sub {

	font-size: 80%;

	vertical-align: bottom;

}

body .ir-all ol.number {

	list-style-type: decimal;

}



/* base */

.ir-all p {

	font-size: 15px;

	line-height: 2.0;

	font-weight: 400;

}

.ir-all .sec-content .main-inner .section p + p {

	margin-top: 24px;

}

.ir-all .sec-content .main-inner .section .box-layout p.name + p.name {

	margin-top: 10px;

}

.ir-all .sec-content .main-inner .section p + h4 {

	margin-top: 40px;

}

.ir-all p + h3.sec-head {

	margin-top: 60px;

}



/* レスポンシブ対応 */



@media (min-width: 751px) and (max-width: 1160px) {

	#page-ir .ir-all .wrap {

		width: 100%;

		min-width: 100%;

	}

	#page-ir .ir-all .content-mainTitle .title-inner {

		width: 100%;

	}

	#page-ir .ir-all .content-inner{

		width: 100%;

	}

	#page-ir .ir-all .bread-block .bread-inner {

		width: 100%;

	}

	#page-ir .ir-all section.sec-block .sec-inner{

		padding-right: 20px;

	}

}





@media screen and (max-width: 750px) {

	#page-ir .ir-all .wrap {

		width: 100%;

		min-width: 100%;

	}

	#page-ir .ir-all .content-mainTitle .title-inner {

		width: 100%;

	}

	#page-ir .ir-all .content-inner{

		width: 100%;

		padding-bottom: 40px;

	}

	#page-ir .ir-all .bread-block .bread-inner {

		width: 100%;

	}

	#page-ir .ir-all section.sec-block{

		margin: 0 0 0 6px;

	}

}



/* --------------------------------------------------------------------------------------

01. h1ページタイトル

--------------------------------------------------------------------------------------　*/



.ir-all .wrap {

	padding-top: 60px;

}

.content-mainTitle {

	width: 100%;

	background-color: #ddd;

	padding: 19px 0 19px;

	margin-bottom: 42px;

}

.content-mainTitle .title-inner {

	width: 1200px;

	margin: 0 auto;

}

section.title-block {

	margin: 0 0 0 40px;

}

section.title-block .sec-inner {

	display: flex;

	padding-left: 24px;

	position: relative;

	min-height: 104px;

	align-items: center;

}

section.title-block .sec-inner:before {

	content: "";

	width: 6px;

	height: 100%;

	position: absolute;

	top: 0;

	left: 0;

}

.irColor-orange {
	& section.title-block .sec-inner:before {
		background-color: #f29600;
	}
}
.irColor-purple {
	& section.title-block .sec-inner:before {
		background-color: #9b0082;
	}
}
.irColor-navy {
	& section.title-block .sec-inner:before {
		background-color: #00489d;
	}
}
.irColor-beige {
	& section.title-block .sec-inner:before {
		background-color: #b48575;
	}
}
.irColor-green {
	& section.title-block .sec-inner:before {
		background-color: #266f6f;
	}
}

section.title-block h1.main-title {

	width: 100%;

	padding: 0;

	line-height: 1;

}

section.title-block h1.main-title span {

	display: block;

}

section.title-block h1.main-title span.tx-en {

	font-family: 'Roboto Condensed', sans-serif;

	margin-bottom: 5px;

}

section.title-block h1.main-title span.tx-jp {

	font-size: 13px;

}



@media screen and (min-width: 751px) {

	section.title-block h1.main-title span.tx-en {

		font-size: 30px;

		margin-bottom: 5px;

	}

}



@media screen and (max-width: 750px) {

	#page-ir .ir-all section.title-block .sec-inner {

		min-height: 60px;

	}

	#page-ir .ir-all section.title-block {

		margin: 0 0 0 6px;

	}

}





/* --------------------------------------------------------------------------------------

02. パンクズ

--------------------------------------------------------------------------------------　*/



.bread-block {

	width: 100%;

	background-color: #f5f5f3;

}

.bread-block .bread-inner {

	width: 1200px;

	margin: 0 auto;

	padding: 15px 38px;

}

.bread-block .bread-inner .bread-list {

	display: flex;

	flex-wrap: wrap;

	font-size: 13px;

}

.bread-block .bread-inner .bread-list li + li {

	padding-left: 40px;

}

.bread-block .bread-inner .bread-list li {

	position: relative;

}

.bread-block .bread-inner .bread-list li:nth-child(n+2)::before {

    content: "\03e";

    position: absolute;

    top: 1px;

    left: 17px;

}

.bread-block .bread-inner .bread-list li a {

	color: #000;

	text-decoration: none;

}

.bread-block .bread-inner .bread-list li:last-of-type {

	color: #aaa!important;

}

.bread-block .bread-inner .bread-list li:last-of-type::before {

	color: #000!important;

}



@media screen and (max-width: 750px) {

	#page-ir .ir-all .bread-block {

		display: none;

	}

}





/* --------------------------------------------------------------------------------------

03. サイドメニュー

--------------------------------------------------------------------------------------　*/



/* メニュー幅 */

.ir-all section.sec-block .sec-inner .sec-side {

	width: 248px;

	margin-right: 60px;

}

.ir-all section.sec-block .sec-inner .sec-content {

	width: 790px;

}



/* 左側 縦ライン */
.irColor-orange {
	& section#ir.sec-block .sec-inner:after {
		background: #f29600;
	}
}
.irColor-purple {
	& section#ir.sec-block .sec-inner:after {
		background: #9b0082;
	}
}
.irColor-navy {
	& section#ir.sec-block .sec-inner:after {
		background: #00489d;
	}
}
.irColor-beige {
	& section#ir.sec-block .sec-inner:after {
		background: #b48575;
	}
}
.irColor-green {
	& section#ir.sec-block .sec-inner:after {
		background: #266f6f;
	}
}

.irColor-orange {
	& section#ir.sec-block .sec-inner:before {
		background: #f29600;
	}
}
.irColor-purple {
	& section#ir.sec-block .sec-inner:before {
		background: #9b0082;
	}
}
.irColor-navy {
	& section#ir.sec-block .sec-inner:before {
		background: #00489d;
	}
}
.irColor-beige {
	& section#ir.sec-block .sec-inner:before {
		background: #b48575;
	}
}
.irColor-green {
	& section#ir.sec-block .sec-inner:before {
		background: #266f6f;
	}
}



/* メニュートップタイトル */

.sec-side h3.side-top {

	margin-bottom: 10px;

}

.sec-side h3.side-top a {

	display: block;

	background-color: #aaa;

	color: #fff;

	padding: 4px 4px 6px 8px;

	transition : all 0.4s ease 0s;

}





.sec-side a {

	text-decoration: none;

	color: #000;

	font-size: 13px;

}

.side-list > li.list-item {

	border-bottom: solid 2px #aaa;

	padding: 0;

	line-height: 1.2;

}

.side-list > li.list-item > span {

	padding: 0 0 0 8px;

	display: block;

}

.side-list > li.list-item a {

	display: block;

	padding: 10px 0 10px;

}

.side-list > li.list-item .second a {

	padding: 3px 0 3px;

}

.side-list > li.list-item > ul.side-2nd {

	display: none;

}

.side-list > li.list-item.active {

	background-color: #ccc;

	padding: 0;

}

.side-list > li.list-item.active > span > a {

	font-weight: bold;

}

.side-list > li.list-item.active > ul.side-2nd {

	display: block;

	padding: 16px 0 8px 33px;

}

.irColor-orange {
	& .side-list > li.list-item.active > ul.side-2nd {
		background-color: #f7ecdc;
	}
}
.irColor-purple {
	& .side-list > li.list-item.active > ul.side-2nd {
		background-color: #e9dde7;
	}
}
.irColor-navy {
	& .side-list > li.list-item.active > ul.side-2nd {
		background-color: #d4e2f2;
	}
}
.irColor-beige {
	& .side-list > li.list-item.active > ul.side-2nd {
		background-color: #f2e4df;
	}
}
.irColor-green {
	& .side-list > li.list-item.active > ul.side-2nd {
		background-color: #d6fafa;
	}
}

.side-list > li.list-item > ul.side-2nd > li.second {

	padding: 0;

	margin-bottom: 6px;

}

.side-list > li.list-item.active > ul.side-2nd > li.second a.current {

	font-weight: bold;

	display: block;

}

.irColor-orange {
	& .side-list > li.list-item.active > ul.side-2nd > li.second a.current {
		color: #f29600;
		border-color: #f29600;
	}
}
.irColor-purple {
	& .side-list > li.list-item.active > ul.side-2nd > li.second a.current {
		color: #9b0082;
		border-color: #9b0082;
	}
}
.irColor-navy {
	& .side-list > li.list-item.active > ul.side-2nd > li.second a.current {
		color: #00489d;
		border-color: #00489d;
	}
}
.irColor-beige {
	& .side-list > li.list-item.active > ul.side-2nd > li.second a.current {
		color: #b48575;
		border-color: #b48575;
	}
}
.irColor-green {
	& .side-list > li.list-item.active > ul.side-2nd > li.second a.current {
		color: #266f6f;
		border-color: #266f6f;
	}
}





@media (min-width: 751px) and (max-width: 1160px) {

	#page-ir .ir-all section.sec-block .sec-inner .sec-side {

		width: 220px;

		margin-right: 20px;

	}

	#page-ir .ir-all section.sec-block .sec-inner .sec-content {

		width: calc(100% - 240px);

	}

}



@media screen and (max-width: 750px) {

	#page-ir .ir-all section.sec-block .sec-inner .sec-side {

		display: none;

	}

	#page-ir .ir-all section.sec-block .sec-inner .sec-content {

		width: 100%;

		padding-right: 16px;

	}

}







/* --------------------------------------------------------------------------------------

04. 見出し（h2,h3,h4）

--------------------------------------------------------------------------------------　*/



h2.page-title {

	font-size: 28px;

	font-weight: bold;

	line-height: 1.4;

	position: relative;

	margin-bottom: 70px;

}

h2.page-title::before {

	content: "";

	display: block;

	border-top: 6px solid #aaa;

	margin-bottom: 12px;

}

h2.page-title::after {

	content: "";

	display: block;

	width: 240px;

	border-top: solid 6px #000;

	position: absolute;

	top: 0;

}

.irColor-orange {
	& h2.page-title::after {
		border-top: solid 6px #f29600;
	}
}
.irColor-purple {
	& h2.page-title::after {
		border-top: solid 6px #9b0082;
	}
}
.irColor-navy {
	& h2.page-title::after {
		border-top: solid 6px #00489d;
	}
}
.irColor-beige {
	& h2.page-title::after {
		border-top: solid 6px #b48575;
	}
}
.irColor-green {
	& h2.page-title::after {
		border-top: solid 6px #266f6f;
	}
}

h3.sec-head {

	display: flex;

	align-items: center;

	border-left: solid 9px #aaa;

	padding: 10px 0 10px 15px;

	font-weight: bold;

	font-size: 20px;

	line-height: 1.3;

	margin-bottom: 38px;

}

h3.sec-head-top {

	display: flex;

	align-items: center;

	padding: 10px 10px 10px 24px;

	font-weight: bold;

	font-size: 20px;

	line-height: 1.3;

	margin-bottom: 50px;

	color: #000;

	background-color: #ddd;

}



@media screen and (max-width: 750px) {

	#page-ir .ir-all h2.page-title::after {

		width: 70px;

	}

}



h4 {

	color: #f29600;

	font-size: 16px;

	font-weight: bold;

	margin-bottom: 20px;

	border-top: solid 1px #ccc;

	padding-top: 8px;

}



/* メッセージテキスト見出し */

p.message-head {

	font-weight: bold;

	font-size: 20px;

	line-height: 1.3;

	margin-bottom: 20px;

}





/* --------------------------------------------------------------------------------------

05. 画像レイアウト

--------------------------------------------------------------------------------------　*/

.ir-all .image-col-1 p {

	line-height: 1.0;

}

.ir-all .image-col-1.w100 img {

	width: 100%;

}

.ir-all .image-col-2 img {

	width: 100%;

}

.ir-all .image-col-1.w100 + p {

	margin-top: 60px;

}

.ir-all p + .image-col-1 {

	margin-top: 40px;

}

.ir-all .image-col-1 + h3.sec-head {

	margin-top: 60px;

}



/* 右側画像1配置 */

.ir-all .image-col-1.sImage-right {

	display: flex;

	flex-flow: wrap;

	justify-content: flex-end;

	margin-top: 20px;

}



/* 横並び画像2点 */

.ir-all .image-col-2 {

	display: flex;

	justify-content: space-between;

	column-gap: 10%;

	flex-flow: wrap;

}

.ir-all .image-col-2 + p {

	margin-top: 30px;

}

.ir-all .image-col-2 > p {

	width: 45%;

}

.ir-all .sec-content .main-inner .section .image-col-2 > p + p {

	margin-top: 0;

}

.ir-all p + .image-col-2 {

	margin-top: 30px;

}

.ir-all .image-col-2 + h3.sec-head {

	margin-top: 60px;

}



/* 横並びテキスト + 画像 */

.ir-all .image-col-block {

	display: flex;

	flex-flow: wrap;

	justify-content: space-between;

	column-gap: 4%;

	margin-bottom: 60px;

}

.ir-all p + .image-col-block {

	margin-top: 30px;

}

.ir-all .image-col-block .text-col {

	width: 56%;

}

.ir-all .image-col-block .image-col-1 {

	width: 40%;

}

.ir-all .image-col-block .image-col-1 img {

	width: 100%;

}

.ir-all .image-col-block .text-col > p:first-of-type {

	position: relative;

	padding-left: 17px

}

.ir-all .image-col-block .text-col > p:first-of-type::before {

	position: absolute;

	top: 11px;

	left: 0;

	content: '';

	display: block;

	width: 7px;

	height: 7px;

	background: #000;

	border-radius: 50%;

}

.ir-all .image-col-block .text-col > dl > dt {

	font-size: 15px;

	margin-bottom: 10px;

	font-weight: bold;

}

.ir-all .sec-content .main-inner .section .image-col-block .text-col > p + p {

	margin-top: 10px;

	line-height: 2.0;

}

.ir-all p.date {

	text-align: right;

}



/* 横並び画像（左） + テキスト（右） */

.ir-all .image-col-block-B {

	display: flex;

	flex-flow: wrap;

	justify-content: space-between;

	column-gap: 4%;

	margin-bottom: 60px;

}

.ir-all .image-col-block-B .text-col {

	width: 62%;

}

.ir-all .image-col-block-B .image-col-1 {

	width: 34%;

}

.ir-all .image-col-block-B .image-col-1 img {

	width: 100%;

}

@media screen and (max-width: 750px) {

	.ir-all .image-col-block-B {

		flex-flow: column;

		row-gap: 30px;

	}

	.ir-all .image-col-block-B .text-col {

		width: 100%;

	}

	.ir-all .image-col-block-B .image-col-1 {

		width: 70%;

		margin: 0 auto;

	}

}



/* 横並びテキスト + 画像2点 */

.ir-all .image-col-block-vertical {

	display: flex;

	flex-flow: wrap;

	flex-direction: column;

	row-gap: 20px;

	margin-bottom: 60px;

}

.ir-all p + .image-col-block-vertical {

	margin-top: 30px;

}

.ir-all .image-col-block-vertical .text-col-w100 {

	width: 100%;

}

.ir-all .image-col-block-vertical .image-col-2 {

	width: 100%;

	justify-content: center;

	column-gap: 8%

}

.ir-all .image-col-block-vertical .image-col-2 > p {

	width: 36%;

}

.ir-all .image-col-block-vertical .text-col-w100 > p:first-of-type {

	position: relative;

	padding-left: 17px

}

.ir-all .image-col-block-vertical .text-col-w100 > p:first-of-type::before {

	position: absolute;

	top: 11px;

	left: 0;

	content: '';

	display: block;

	width: 7px;

	height: 7px;

	background: #000;

	border-radius: 50%;

}

.ir-all .sec-content .main-inner .section .image-col-block-vertical .text-col-w100 > p + p {

	margin-top: 10px;

}







/* --------------------------------------------------------------------------------------

06. 各コンテンツ内

--------------------------------------------------------------------------------------　*/



/* 社長メッセージ */

.ir-all p.name {

	text-align: right;

	line-height: 1.4;

	margin-top: 30px;

}

.ir-all p.name > span {

	display: block;

	font-size: 16px;

	margin-top: 8px;

}



/* 枠線ボックス（ナンバーあり） */

.main-inner .box-layout {

	box-sizing: border-box;

	border: solid 1px #ccc;

	padding: 20px 20px 30px;

}

.main-inner .box-layout + h3.sec-head-top {

	margin-top: 60px;

}

.main-inner .box-layout + h3.sec-head {

	margin-top: 60px;

}

.main-inner .box-layout + .box-layout {

	margin-top: 40px;

}

.main-inner .box-layout dd p + .basicList  {

	margin-top: 40px;

}

.main-inner .box-layout > dl > dt {

	text-align: center;

	border-bottom: solid 1px #ccc;

	margin-bottom: 40px;

	padding-bottom: 15px;

}

dl.basicList > dt {

	counter-increment: dtcnt;

	position: relative;

	padding-left: 2.2em;

	font-weight: bold;

	color: #f29600;

	margin-bottom: 16px;

}



dl.basicList > dt:before {

	display: marker;

	content: counter(dtcnt) ".";

	position: absolute;

	left: 0;

	top: 0;

	color: #f29600;

	font-weight: bold;

	margin-left: 0.2em;

}



dl.basicList > dd {

	padding-left: 2.2em;

	margin-bottom: 30px;

	font-size: 15px;

	line-height: 2.0;

	font-weight: 400;

}



dl.basicList > dd:last-child {

	margin-bottom: 0;

}



dl.basicList > dt:nth-of-type(-n+9):before {

	margin-left: 0.4em;

}

dl.basicList > dd ul li {

	margin-bottom: 15px;

	font-size: 15px;

	padding-left: 18px;

	position: relative;

	line-height: 1.8;

	font-weight: 400;

}

dl.basicList > dd ul li::before {

	position: absolute;

	top: 10px;

	left: 0;

	content: '';

	display: block;

	width: 7px;

	height: 7px;

	background: #f29600;

	border-radius: 50%;

}



/* 枠線ボックス（SDGs） */

.box-layout.sdgs + .box-layout {

	margin-top: 30px;

}

.box-layout.sdgs + h4 {

	margin-top: 60px;

}

.box-layout.sdgs .icon-wrap {

	display: flex;

	flex-flow: wrap;

	column-gap: 30px;

	justify-content: center;

}

.box-layout.sdgs .icon-wrap > p {

	width: 15%;

}

.ir-all .sec-content .main-inner .section .box-layout.sdgs .icon-wrap > p + p {

	margin-top: 0;

}

.box-layout.sdgs .link-list {

	margin-bottom: 40px;

}

.box-layout.sdgs .link-list li {

	margin-bottom: 15px;

}

.box-layout.sdgs .link-list a {

	text-decoration: none;

	font-size: 14px;

	color: #000;

}

.box-layout.sdgs .link-list a span {

	display: inline-block;

	position: relative;

	padding-left: 18px;

}

.box-layout.sdgs .link-list a span::before {

    display: block;

    position: absolute;

    content: "";

    top: 6px;

    width: 6px;

    height: 6px;

    border-top: 2px solid #f29600;

    border-right: 2px solid #f29600;

    -webkit-transform: rotate(45deg);

    transform: rotate(45deg);

    left: 0;

}



/* リストタイトル（丸）+ テキスト */

dl.list_circle > dt {

	position: relative;

	font-size: 16px;

	line-height: 1.4;

	padding-left: 17px;

	font-weight: bold;

	color: #f29600;

	margin-bottom: 10px;

}

dl.list_circle > dd {

	padding-left: 17px;

	font-size: 15px;

	line-height: 2.0;

	font-weight: 400;

}

dl.list_circle > dd + dt {

	margin-top: 34px;

}

dl.list_circle > dt::before {

	position: absolute;

	top: 9px;

	left: 0;

	content: '';

	display: block;

	width: 7px;

	height: 7px;

	background: #f29600;

	border-radius: 50%;

}

dl.list_circle {

	margin: 1.4rem 0;

}



/* リスト内　dt + dd */

dl.list_circle > dd > dl {

	margin-top: 10px;

}

dl.list_circle > dd > dl > dt {

	font-weight: bold;

	margin-bottom: 10px;

}

dl.list_circle > dd > dl > dd + dt {

	margin-top: 30px;

}

dl.list_circle + h3.sec-head {

	margin-top: 60px;

}



/* リストタイトル（丸）内　小丸リスト */

ul.list_circle_s {

	padding-left: 6px;

}

ul.list_circle_s li {

	padding-left: 17px;

	position: relative;

	margin-bottom: 10px;

	font-size: 15px;

	font-weight: 400;

}

ul.list_circle_s li::before {

	position: absolute;

	top: 12px;

	left: 0;

	content: '';

	display: block;

	width: 4px;

	height: 4px;

	background: #888;

	border-radius: 50%;

}



/* リストスタイル番号 */

ol.number {

	padding: 14px 0 14px 24px;

}

ol.number li {

	font-size: 15px;

	margin-bottom: 15px;

	line-height: 2.0;

	font-weight: 400;

}





/* --------------------------------------------------------------------------------------

07. 扉

--------------------------------------------------------------------------------------　*/

.section.gate > p:first-of-type {

	font-size: 20px;

	line-height: 2.0;

	font-weight: bold;

	margin-bottom: 60px;

}

.section.gate .gate-contents {

	display: flex;

	flex-flow: wrap;

	justify-content: space-between;

	column-gap: 4%;

	row-gap: 30px;

}

.section.gate .gate-contents .gate-item {

	width: 48%;

	box-sizing: border-box;

	border: solid 3px #ccc;

	padding: 10px;

}

.section.gate .gate-contents .gate-item a {

	display: block;

	text-decoration: none;

	color: #f29600;

	font-size: 15px;

	font-weight: bold;

}

.section.gate .gate-contents .gate-item .gate-inner {

	display: flex;

	padding-left: 16px;

	position: relative;

	height: 100%;

	flex-flow: wrap;

	flex-direction: column;

	row-gap: 2px;

	

}

.section.gate .gate-contents .gate-item .gate-inner::before {

	background: #f29600;

	content: "";

	width: 6px;

	height: 100%;

	position: absolute;

	top: 0;

	left: 0;

}

.section.gate .gate-contents .gate-item .gate-inner h3.tx-en {

	font-family: 'Roboto Condensed', sans-serif;

	font-size: 18px;

	line-height: 1.2;

	padding-top: 4px;

}



@media screen and (max-width: 750px) {

	.section.gate .gate-contents {

		flex-direction: column;

		row-gap: 16px;

	}

	.section.gate .gate-contents .gate-item {

		width: 100%;

	}

}



/* --------------------------------------------------------------------------------------

08. ページトップリンク

--------------------------------------------------------------------------------------　*/

.ir-all .content-inner {

	position: relative;

}

.ir-all .content-inner .page-top {

	position: absolute;

	z-index: 20;

	right: 40px;

	bottom: -200px;

	width: 80px;

	height: 74px;

}

.ir-all .content-inner .page-top a {

	display: block;

	position: relative;

	font-size: 0;

}

.ir-all .content-inner .page-top a::after {

	content: "";

	display: inline-block;

	width: 80px;

	height: 74px;

	background-repeat: no-repeat;

	background-position: center center;

	background-size: cover;

	position: relative;

	top: 0;

	left: 0;

	z-index: 80;

}

.irColor-orange {
	& .ir-all .content-inner .page-top a::after {
		background-image: url(/ir/images/icon_pagetop-orange.png);
	}
}
.irColor-purple {
	& .ir-all .content-inner .page-top a::after {
		background-image: url(/ir/images/icon_pagetop-purple.png);
	}
}
.irColor-navy {
	& .ir-all .content-inner .page-top a::after {
		background-image: url(/ir/images/icon_pagetop-navy.png);
	}
}
.irColor-beige {
	& .ir-all .content-inner .page-top a::after {
		background-image: url(/ir/images/icon_pagetop-beige.png);
	}
}
.irColor-green {
	& .ir-all .content-inner .page-top a::after {
		background-image: url(/ir/images/icon_pagetop-green.png);
	}
}

@media screen and (max-width: 750px) {

	body#page-ir .ir-all .content-inner .page-top {

		display: none!important;

	}

}



/* --------------------------------------------------------------------------------------

09. テキストリンク

--------------------------------------------------------------------------------------　*/

.ir-all .content-inner a.textlink {

	color: #266F6F;

	text-decoration: underline;

}



/* --------------------------------------------------------------------------------------

10. テーブルレイアウト

--------------------------------------------------------------------------------------　*/

.ir-all .table_wrap {

	overflow-x: auto;

}

.ir-all .table_wrap .table_contents {

	min-width: 640px;

	border-collapse: collapse;

	border-spacing: 0;

	border-top: solid 3px #777;

	width: 100%;

}

.ir-all .table_wrap .table_contents thead th {

	border-right: 1px solid #ccc;

	border-bottom: 1px solid #ccc;

	border-left: 1px solid #ccc;

	background-color: #aaa;

	color: #fff;

	text-align: center;

	font-size: 13px;

	padding: 6px;

	font-weight: bold;

	vertical-align: middle;

}

.ir-all .table_wrap .table_contents tbody {

	border-top: 1px solid #ccc;

}

.ir-all .table_wrap .table_contents tbody th {

	border-right: 1px solid #ccc;

	border-bottom: 1px solid #ccc;

	border-left: 1px solid #ccc;

	font-size: 14px;

	padding: 6px;

	font-weight: bold;

	text-align: left;

}

.ir-all .table_wrap .table_contents tbody th.env {

	background-color: #dde6d7;

}

.ir-all .table_wrap .table_contents tbody th.soc {

	background-color: #f5ecce;

}

.ir-all .table_wrap .table_contents tbody th.gov {

	background-color: #d7ddea;

}

.ir-all .table_wrap .table_contents tbody td {

	border-right: 1px solid #ccc;

	border-bottom: 1px solid #ccc;

	border-left: 1px solid #ccc;

	font-size: 13px;

	padding: 6px;

	font-weight: 400;

}

.ir-all .table_wrap .table_contents tbody td:nth-last-of-type(4) {

	font-weight: bold;

	font-size: 13px;

}

.ir-all .table_wrap .table_contents ul.disc-list {

	list-style-type: none;

	margin-left: 0;

}

.ir-all .table_wrap .table_contents ul.disc-list li {

	position: relative;

	padding-left: 12px;

}

.ir-all .table_wrap .table_contents ul.disc-list li:before {

	position: absolute;

	top: 8px;

	left: 0;

	content: '';

	display: block;

	width: 5px;

	height: 5px;

	background: #aaa;

	border-radius: 50%;

}

.ir-all .table_wrap .table_contents ul.disc-list li + li {

	margin-top: 14px;

}

.ir-all p + .table_wrap {

	margin-top: 30px;

}

.ir-all .table_wrap + h3.sec-head {

	margin-top: 60px;

}

/* -------------------------------------------
sustainability css 移植 ここまで
------------------------------------------- */

#ir {
	margin-bottom: 200px;
}

.ir__txtLink {
	color: #266F6F;
	word-break: break-all;

	&[target="_blank"]::after {
		content: url(/images/ico_newtab.svg);
		margin-left: 0.5em;
	}
}

.ir__moreLink {}
.ir__moreLink_btn {
	color: #000;
	display: inline-block;
	font-size: 15px;
	font-weight: 500;
	padding-left: 22px;
	position: relative;
	text-decoration: none;

	&::before {
		border-top: 2px solid #F29600;
		border-right: 2px solid #F29600;
		content: "";
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		transform: rotate(45deg);
		width: 6px;
		height: 6px;
	}
}


/* IRTOP */
.irTop__mvSec {
    position: relative;
	width: 100%;

	&.animated {
		&::before {
			background-color: #ccc;
			background-image: url(/ir/images/top/main_bg.jpg);
			background-repeat: no-repeat;
			background-position: center center;
			background-size: cover;
			content: "";
			display: inline-block;
			opacity: 0;
			position: absolute;
			top: 0;
			left: 0;
			transition: opacity 1.0s ease-out, transform 0.8s ease-out;
			width: 100%;
			height: 100%;
		}
		&::after {
			background-color: rgba(0, 0, 0, 0.35);
			content: "";
			opacity: 0;
			position: absolute;
			top: 0;
			left: 0;
			-webkit-transform: translateX(-100%);
			transform: translateX(-100%);
			transition: opacity .4s ease-out, transform .4s ease-out;
			width: 100%;
			height: 100%;
			z-index: 1;
		}
	}
	&.fadeInUp {
		&::before {
			opacity: 1;
		}
		&::after {
			background-color: rgba(0, 0, 0, 0.35);
			content: "";
			opacity: 1;
			position: absolute;
			top: 0;
			left: 0;
			-webkit-transform: translateX(-65%);
			transform: translateX(-65%);
			width: 100%;
			height: 100%;
		}
	}
}
.irTop__mvInner {
    margin: 0 auto;
    padding: 20px 0 34px;
	width: 1200px;
}
.irTop__mv_mainTtl {
    color: #fff;
	display: flex;
	justify-content: center;
	flex-direction: column;
    line-height: 1.0;
	margin-left: 40px;
	padding-left: 24px;
	position: relative;
	min-height: 317px;
	z-index: 2;

	&::before {
		background: #fff;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 6px;
		height: 100%;
	}
}
.irTop__mv_mainTtl-en,
.irTop__mv_mainTtl-ja {
	display: block;
}
@media screen and (min-width: 751px) {
	.irTop__mv_mainTtl-en {
        font-family: 'Roboto Condensed', sans-serif;
        font-size: 30px;
        margin-bottom: 5px;
	}
	.irTop__mv_mainTtl-ja {
		font-size: 13px;
	}
}
@media screen and (max-width: 750px) {
	.irTop__mvInner {
		width: 100%;
	}
	.irTop__mv_mainTtl {
		padding-right: 20px;
	}
	.irTop__mv_mainTtl-en {
		font-size: 36px;
        margin-bottom: 5px;
	}
}

.irTop__mainWrap {
	padding-top: 42px;

	& .animated_sub {
		opacity: 0;
		-webkit-transform: translateY(20%);
		transform: translateY(20%);
		transition: opacity .8s ease-out, transform .8s ease-out;
	}
	& .fadeInUp {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
@media screen and (max-width: 750px) {
	.irTop__mainWrap {
		padding-right: 16px;
	}
}

.irTop__PanelSec {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.irTop__PanelSec_item {
	border-left: 6px solid #F29600;
	padding-left: 18px;
}
.irTop__PanelSec_wrap {
	background: #FFF;
	display: block;
	text-decoration: none;
	transition: all 0.4s ease 0s;
	height: 100%;
}
.irTop__PanelSec_img {
	overflow: hidden;

	& img {
		object-fit: cover;
		object-position: right center;
		width: 100%;
		height: 262px;
	}
}
.irTop__PanelSec_txt {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.irTop__PanelSec_ttl {
	color: #000;
}
.irTop__PanelSec_ttl-en {
	display: block;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: bold;
	line-height: 1.2;
}
.irTop__PanelSec_ttl-ja {
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
}
@media (min-width: 751px) and (max-width: 1160px)  {
	.irTop__PanelSec_txt {
		flex-direction: column;
	}
	.irTop__PanelSec_ttl {
		align-self: self-start;
	}
	.ir__moreLink {
		align-self: self-end;
	}
}
@media screen and (max-width: 750px) {
	.irTop__PanelSec {
		flex-direction: column;
		gap: 30px;
	}
	.irTop__PanelSec_item {
		padding-left: 14px;
		width: 100%;
	}
	.irTop__PanelSec_img {
		& img {
			height: 150px;
		}
	}
	.irTop__PanelSec_txt {
		padding: 15px;
	}
	.irTop__PanelSec_ttl-en {
		font-size: 22px;
	}
}

.irTop__PanelSec-01 {
	gap: 50px;

	& .irTop__PanelSec_item {
		width: calc((100% - 50px) / 2);
	}
	& .irTop__PanelSec_txt {
		padding: 22px 17px 18px;
	}
	.irTop__PanelSec_ttl-en {
		font-size: 30px;
	}
}
@media screen and (max-width: 750px) {
	.irTop__PanelSec-01 {
		gap: 56px;

		& .irTop__PanelSec_item {
			width: 100%;
		}
		& .irTop__PanelSec_txt {
			padding: 15px;
		}
		& .irTop__PanelSec_ttl-en {
			font-size: 22px;
		}
	}
}

.irTop__PanelSec-02 {
	margin-top: 100px;
	gap: 42px;

	& .irTop__PanelSec_item {
		width: calc((100% - (42px * 2)) / 3);
	}
	& .irTop__PanelSec_txt {
		padding: 18px;
	}
	.irTop__PanelSec_ttl-en {
		font-size: 20px;
	}
}
@media screen and (max-width: 750px) {
	.irTop__PanelSec-02 {
		gap: 56px;
		margin-top: 56px;

		& .irTop__PanelSec_item {
			width: 100%;
		}
		& .irTop__PanelSec_txt {
			padding: 15px;
		}
		& .irTop__PanelSec_ttl-en {
			font-size: 22px;
		}
	}
}

.irTop__newsSec {
	border-left: 6px solid #F29600;
	display: flex;
	margin-top: 56px;
	padding-left: 18px;
}
.irTop__newsSec_ttl {
	flex-shrink: 0;
	width: 205px;
}
.irTop__newsSec_ttl-en {
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 30px;
	font-weight: bold;
	display: block;
	line-height: 1.2;
}
.irTop__newsSec_ttl-ja {
	font-size: 13px;
	font-weight: bold;
	display: block;
	line-height: 1;
}
.irTop__newsSec_main {
	flex-grow: 1;

	& .ir__moreLink {
		margin-top: 26px;
		text-align: center;
	}
}
@media screen and (max-width: 750px) {
	.irTop__newsSec {
		flex-direction: column;
		gap: 30px;
	}
}

.irTop__managementSec {
	border-left: 6px solid #F29600;
	display: flex;
	margin-top: 100px;
	padding-left: 18px;
}
.irTop__managementSec_ttl {
	flex-shrink: 0;
	width: 205px;
}
.irTop__managementSec_ttl-en {
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 30px;
	font-weight: bold;
	display: block;
	line-height: 1.2;
}
.irTop__managementSec_ttl-ja {
	font-size: 13px;
	font-weight: bold;
	display: block;
	line-height: 1;
}
.irTop__managementSec_main {
	background: #FFF;
	flex-grow: 1;
	padding: 28px 28px 30px;
}
.irTop__managementSec_linkList {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
@media screen and (max-width: 750px) {
	.irTop__managementSec {
		flex-direction: column;
		gap: 30px;
		margin-top: 56px;
	}
	.irTop__managementSec_main {
		padding: 24px 18px;
	}
}

.irTop__cardSec_linkList {
	display: flex;
}
.irTop__cardSec_linkList_btn {
	background: #FFF;
	border: 3px solid #CCC;
	display: flex;
	align-items: center;
	padding: 15px 10px;
	text-decoration: none;
	transition: all 0.4s ease 0s;
	width: 100%;
}
.irTop__cardSec_linkList_txt {
	border-left: 6px solid #F29600;
	display: flex;
	flex-direction: column;
	padding-left: 10px;
}
.irTop__cardSec_linkList_txt-en {
	color: #070707;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
}
.irTop__cardSec_linkList_txt-ja {
	color: #F29600;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.2;
}
.irTop__cardSec_linkList_btn[target="_blank"] {
	& .irTop__cardSec_linkList_txt-ja {
		&::after {
			background: url(/images/ico_newtab.svg) no-repeat center / cover;
			content: "";
			display: inline-block;
			filter: brightness(0) saturate(100%) invert(68%) sepia(21%) saturate(7074%) hue-rotate(3deg) brightness(98%) contrast(101%);
			margin-left: 0.5em;
			position: relative;
			top: 1px;
			width: 13px;
			height: 13px;
		}
	}
}

.irTop__cardSec-01 {
	display: flex;
	gap: 50px;
	justify-content: space-between;
	margin-top: 92px;

	& .irTop__cardSec_item {
		border-left: 6px solid #F29600;
		padding-left: 18px;
		width: calc((100% - 50px) / 2);
	}
	& .irTop__cardSec_ttl {
		margin-bottom: 30px;
	}
	& .irTop__cardSec_ttl-en {
		font-family: 'Roboto Condensed', sans-serif;
		font-size: 30px;
		font-weight: bold;
		display: block;
		line-height: 1.2;
	}
	& .irTop__cardSec_ttl-ja {
		font-size: 13px;
		font-weight: bold;
		display: block;
		line-height: 1;
	}
	& .irTop__cardSec_linkList {
		flex-direction: column;
		gap: 30px;
	}
	& .irTop__cardSec_linkList_item {
		width: 100%;
	}
}
@media screen and (max-width: 750px) {
	.irTop__cardSec-01 {
		flex-direction: column;
		gap: 56px;
		margin-top: 56px;

		& .irTop__cardSec_item {
			width: 100%;
		}
	}
}

.irTop__cardSec-02 {
	margin-top: 100px;

	& .irTop__cardSec_linkList {
		display: flex;
		gap: 30px;
		justify-content: space-between;
		margin: 0 auto;
		max-width: 998px;
	}
	& .irTop__cardSec_linkList_item {
		width: calc((100% - 30px) / 2);
	}
}
@media screen and (max-width: 750px) {
	.irTop__cardSec-02 {
		margin-top: 56px;

		& .irTop__cardSec_linkList {
			flex-direction: column;
			gap: 30px;
		}
		& .irTop__cardSec_linkList_item {
			width: 100%;
		}
	}
}


/* IRカレンダー */
.irCalendar__img {
	display: flex;
	justify-content: space-between;
	gap: 2px;
	margin-bottom: 60px;

	& img {
		width: calc(((100% - 2px)) / 2);
	}
}
@media screen and (max-width: 750px) {
	.irCalendar__img {
		flex-direction: column;
		gap: 20px;

		& img {
			width: 100%;
		}
	}
}


/* よくあるご質問 */
.irFaq__list {
	& + & {
		margin-top: 30px;
	}
}
.irFaq__list_q {
	padding-left: 25px;
	position: relative;

	&::before {
		content: "Q.";
		color: #266f6f;
		font-weight: bold;
		position: absolute;
		left: 0;
	}

	& p {
		font-weight: bold;
	}
}
.irFaq__list_a {
	margin-top: 5px;
	padding-left: 25px;
	position: relative;

	&::before {
		content: "A.";
		color: #aaa;
		font-weight: bold;
		position: absolute;
		left: 0;
	}
}