/* プロセス */
.process {
    list-style: none;
    margin: 3rem 0 0 !important;
    padding: 0;
}
.process > li {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 1.5rem;
}
.process_step {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    position: relative;
    width: 7em;
    margin-right: .5rem;
    background: #ddb476;
    color: #333;
}
.process_step::after {
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 0;
    height: 0;
    border: 3.5em solid transparent;
    border-top: .8em solid #ddb476;
}
.process dl {
    -webkit-flex: 1;
    flex: 1;
    display: -webkit-flex;
    display: flex;
}
.process dt {
    flex: 1 0 8.5em;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    max-width: 8.5em;
    margin-right: .5rem;
    padding: .5em;
    border: 1px solid #ddb476;
		border-radius: 10px;
		font-weight: bold;
		line-height: 1.4;
    text-align: center;
}
.process dd {
    flex: 1;
    padding: .5em 1.8em .8em;
    background: #f1eee9;
		border-radius: 10px;
}
/*.process dd li {
    position: relative;
    padding-left: 1em;
}
.process dd li:before {
    content: "";
    display: block;
    position: absolute;
    top: .4em;
    left: 0;
    width: .75em;
    height: .75em;
    background: #a17f59;
}*/
.process_last {
    display: block!important;
    padding: .5em;
    background: #a17f59;
    color: #fff;
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
}
@media screen and (max-width:767px) {
    .process {
        font-size: .85em;
    }
    .process > li {
        margin-bottom: 4vw;
    }
    .process_step {
        width: 12vw;
        margin-right: 1vw;
        font-size: 3.5vw;
    }
    .process_step::after {
        border-width: 6vw;
        border-top-width: 3vw;
    }
    .process dt {
        -webkit-flex: 1 0 29vw;
        flex: 1 0 29vw;
        max-width: 29vw;
    }
}

/* 有識者からのメッセージ */
.message {
    margin-bottom: 1em;
}
.message .img-box {
    padding-right: 2rem;
		width: 28%;
}
.message .text-box{
		width: calc((100% - 28% - 2rem));
}
@media screen and (max-width:767px) {
	.message {display: block!important;}
	.message .text-box{
		width: 100%;
		padding: 0;
	}
	.message .img-box{
		width: 100%;
		padding: 0;
		margin-bottom: 20px;
	}
	.message .img-box img{width: 60%;}
}

/* 共通 */
.list li {
    position: relative;
    /*padding-left: 1em;*/
}
/*.list li::before {
    content: "\030FB";
    position: absolute;
    left: 0;
}*/
.list li .text{
	display: block;
	padding-left: 1.4em;
}
.list li .text2{padding-left: 2.6em;}
.num1,
.num2,
.num3,
.num4,
.num5,
.num6,
.num7,
.num8 {
		position: absolute;
		left:0;
		top:.2em;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    margin-right: .1em;
    background: #aaa;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    border-radius: 50%;
}
.num-icon2{
		left:1.7em;
}
.num1 {background: #D0006E;}
.num2 {background: #D0006E;}
.num3 {background: #B74400;}
.num4 {background: #B74400;}
.num5 {background: #147D3B;}
.num6 {background: #147D3B;}
.num7 {background: #0073C6;}
.num8 {background: #0073C6;}

.bg1 { background: #fbe6ed!important; }
.bg2 { background: #fcead4!important; }
.bg3 { background: #e9f3d6!important; }
.bg4 { background: #dbf0fa!important; }
/*.bg5 { background: #e9f3d6!important; }
.bg6 { background: #e9f3d6!important; }
.bg7 { background: #dbf0fa!important; }
.bg8 { background: #dbf0fa!important; }*/

.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -webkit-text-orientation: mixed;
    text-orientation: mixed;
		white-space:nowrap;
}

/* マテリアリティマップ */
.map-upper {
    position: relative;
	color: #222;
}
.map-upper::before {
    content: "";
    position: absolute;
    right: 10px;
    top: 10px;
    bottom: 2.5em;
    left: 2em;
    z-index: -1;
    border-left: 2px solid #666;
    border-bottom: 2px solid #666;
    pointer-events: none;
}
.map-upper .arrow::before {
    content: "";
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    margin-left: -4px;
    border: 5px solid transparent;
    border-bottom: 8px solid #666;
    pointer-events: none;
}
.map-upper .arrow::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: calc(2.5em - 4px);
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left: 8px solid #666;
    pointer-events: none;
}
.map-upper table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 2px;
}
.map-upper thead {
    display: table-footer-group;
}
.map-upper th,
.map-upper td {
  padding: .5em;
  vertical-align: middle;
}
.map-upper tbody th {
    width: 2.5em;
    padding: 0 .75em 0 0;
    text-align: center;
}
.map-upper tbody th:before {
    content: "大";
    position: absolute;
    top: 0;
    left: .5em;
}
.map-upper thead th {
    position: relative;
    padding: 1em .5em .4em .5em;
}
.map-upper thead th:before {
    content: "大";
    position: absolute;
    bottom: .5em;
    right: 0;
}
.map-upper tr td:nth-of-type(1) {
    width: calc(30% - 7em);
}
.map-upper tr td:nth-of-type(2) {
    width: 35%;
}
.map-upper tr td:nth-of-type(3) {
    width: 35%;
}
.map-upper tr:nth-of-type(3) td:nth-of-type(1) {
    background: #fff2cc;
}
.map-upper tr:nth-of-type(2) td:nth-of-type(1),
.map-upper tr:nth-of-type(3) td:nth-of-type(2) {
    background: #fce4d6;
}
.map-upper tr:nth-of-type(1) td:nth-of-type(1),
.map-upper tr:nth-of-type(2) td:nth-of-type(2),
.map-upper tr:nth-of-type(3) td:nth-of-type(3) {
    background: #f8cbad;
}
.map-upper tr:nth-of-type(1) td:nth-of-type(2),
.map-upper tr:nth-of-type(2) td:nth-of-type(3) {
    background: #f4b084;
}
.map-upper tr:nth-of-type(1) td:nth-of-type(3) {
    background: #eb6c15;
}
.map-lower::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 20px auto;
    border: 100px solid transparent;
    border-top: 30px solid #ddb476;
    border-bottom: none;
}
.map-upper .list-circle li::before{background: #222;}

/* materiality-box
-------------------------------------------------------------*/
.materiality-box-ttl{
	font-size: 2.0rem;
	font-weight: bold;
	margin: 2.6rem 0 .8rem;
}
.materiality-box{
	border-top:1px solid #ccc;
	display: flex;
	flex-wrap: wrap;
}
.materiality-box>dt{
	font-size: 2.2rem;
	line-height: 1.4;
	width: 38%;
	display: flex;
	border-bottom: 1px solid #ccc;
	padding: 1.5rem 0;
	box-sizing: border-box;
	align-items: center;
	flex-wrap: wrap;
	align-content: center;
}
.materiality-box>dt>div{
	margin-right: 2rem;
	font-weight: bold;
}
.materiality-box>dt strong{
	display: inline;
	color: #ff0000;
	font-weight: bold;
}
.materiality-box>dd{
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	width: calc(99.999% - 40%);
	border-bottom: 1px solid #ccc;
	padding: 1.5rem 0;
	box-sizing: border-box;
}
.materiality-box>dd li +li{margin-top: 1.0rem;}
.materiality-box>dd a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.0rem;
	line-height: 1.3;
	text-decoration: none!important;
	font-weight: bold;
	padding: 0rem;
	min-height: 7.0rem;
	box-sizing: border-box;
	background-color: #fbe6ed;
	border-radius: 50px;
	box-shadow: 0px 0px 8px -1px rgb(0 0 0 / 30%);
}
.materiality-box>dd a:hover {
	box-shadow: 0px 0px 10px -6px rgb(0 0 0 / 60%);
	color: #ff0000;
}
.materiality-box>dd:nth-child(4) a{background-color: #fcead4;}
.materiality-box>dd:nth-child(6) a{background-color: #e9f3d6;}
.materiality-box>dd:nth-child(10) a,
.materiality-box>dd:nth-child(8) a{background-color: #dbf0fa;}

/*.map-lower table {
    width: 100%;
    font-weight: bold;
		text-align: center;
		border-bottom: 1px solid #cccccc;
}
.map-lower caption {
    padding-bottom: .5em;
    text-align: left;
}
.map-lower td{border-top: 1px solid #cccccc;}
.map-lower td + td{}
.map-lower td {
    padding: 1.5rem;
    vertical-align: middle;
}
.map-lower ul li a{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.0rem;
	line-height: 1.3;
	text-decoration: none!important;
	font-weight: bold;
	padding: 0rem;
	min-height: 7.0rem;
	box-sizing: border-box;
	background-color: #ccc;
	border-radius: 50px;
	box-shadow: 0px 0px 8px -1px rgb(0 0 0 / 30%);
}
.map-lower ul li + li{margin-top: 1rem;}
.map-lower td:first-of-type {
		font-size:2.0rem;
    width: 30%;
}
.map-lower a:hover {
    box-shadow: 0px 0px 10px -6px rgb(0 0 0 / 60%);
    color: #ff0000;
}*/
@media screen and (max-width:767px) {
    .map-upper  {
        display: block;
        overflow-x: scroll;
        font-size: 1.4rem;
    }
    .map-upper table {
        min-width: 150vw;
    }
    .map-caption {
        margin-top: 1rem;
        text-align: left;
    }
    .map-lower::before {
        margin: 2rem auto;
        border: 20vw solid transparent;
        border-top: 8vw solid #e8a63a;
        border-bottom: none;
    }
		.map-upper::before {
			right: -230px;
			/*right: 10px;*/
		}
		.map-upper .arrow::after{
    right: -240px;
		}
		/*.map-lower ul li a{
				font-size: 1.4rem;
				padding: 0rem 1rem;
				min-height: 5.0rem;
		}
		.map-lower td:first-of-type{
				font-size: 1.4rem;
				width: 24%;
		}*/
		/* materiality-box
		-------------------------------------------------------------*/
		.materiality-box-ttl{font-size: 1.6rem;}
		.materiality-box{display: block;}
		.materiality-box>dt{
			font-size: 1.8rem;
			width: 100%;
			display: block;
			border-bottom: none;
			padding: 2rem 0 0;
		}
		.materiality-box>dt>div{margin-right: 0;}
		.materiality-box>dd{
			font-size: 1.8rem;
			width: 100%;
			padding: 2rem 0;
		}
		.materiality-box>dd a{
			font-size: 1.6rem;
			padding: 0rem 1rem;
			min-height: 6.0rem;
		}	
}

/* 推進体制 */
.system_box {
    margin-top: 1.0rem;
    padding: .75em;
    background: #f1eee9;
		border-radius: 10px;
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
}
.system_box:first-child{margin-top: 3.0rem;}
.arrow-Box{
	margin-top: 1.0rem;
	padding: .5em 1em;
	position: relative;
	display: flex;
	width: 100%;
	font-weight: bold;
	text-align: center;
	height: 7.0rem;
	font-size: 2.0rem;
	line-height: 1.4;
	color: #9F5600;
}
.flex-col2-normal{margin: 1.0rem 0;}
.flex-col2-normal>.arrow-Box{width: calc((99.9999% - 3.0rem) / 2);}
.arrow-Box .arrow-inner{
	position: absolute;
	left:50%;
	height: 100%;
	margin-left: -10px;
}
.flex-col2-normal .arrow-Box:first-child .arrow-inner{right:20%;left: inherit;}
.flex-col2-normal .arrow-Box:last-child .arrow-inner{left:20%;}
.arrow-Box .left{
	position: absolute;
	top:50%;
	left:50%;
	transform: translateX(-50%) translateY(-50%);
	margin-top: 5px;
	margin-left: 40px;
}
.flex-col2-normal .arrow-Box .left{
	transform: translateY(-50%);
	left: 0;
	margin-left: 26%;
}
.flex-col2-normal .arrow-Box .right{
	position: absolute;
	float: none;
	top:50%;
	transform: translateY(-50%);
	right: 0;
	left: inherit;
	margin-right: 26%;
}

.arrow-Box .arrow{position: relative;height: 100%;}
.arrow-Box .arrow::before{
		content: '';
		position: absolute;
		left: 10px;
		width: 4px;
		height: 60px;
		background: #9F5600;
}
.arrow-Box .arrow::after{
		content: '';
		position: absolute;
		left: 0;
		width: 20px;
		height: 20px;
		border-top: 4px solid #9F5600;
		border-right: 4px solid #9F5600;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
}
.arrow-Box .arrow.down::after{
		top:inherit;
		bottom:10px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}


@media screen and (max-width:767px) {
    .system_box {
        font-size: 1.5rem;
    }
		.arrow-Box{
				font-size: 1.4rem;
				height: 68px;
		}
		.arrow-Box .arrow-inner{height: 68px;}
		.flex-col2-normal{display: flex;justify-content: space-between;}
		.flex-col2-normal .arrow-Box:first-child .arrow-inner{right:20%;left: inherit;}
		.flex-col2-normal .arrow-Box:last-child .arrow-inner{left:20%;}
		.arrow-Box .left{margin-left: 30px;}
		.flex-col2-normal .arrow-Box .left{margin-left: 30%;text-align: left;}
		.flex-col2-normal .arrow-Box .right{margin-right: 26%;}
}

/* 特定したマテリアリティ */
.materiality th [class^="num"]{
	position: static;
}
.materiality th,
.materiality td {
    padding: .5em;
}
.materiality td {
    vertical-align: top;
}
.materiality thead th {
    background: #ddb476;
    color: #333;
    text-align: center;
    vertical-align: middle;
}
.materiality thead th:nth-of-type(1) {
    width: 3.5em;
}
.materiality thead th:nth-of-type(2) {
    width: calc(73% - 3.5em);
}
.materiality thead th:nth-of-type(3) {
    width: 22%;
}
.materiality thead th:nth-of-type(4) {
    width: 22%;
}
.materiality thead th:nth-of-type(5) {
    width: 17%;
}
.materiality thead th:nth-of-type(6) {
    width: 12%;
}
.materiality tbody th {
    background: none;
    text-align: left;
}
.materiality .th {
    background: #f1eee9;
    color: #000;
    text-align: center;
    vertical-align: middle;
}
.materiality a:hover {
    text-decoration: underline;
}
.materiality em {
    color: #a17f59;
    font-weight: bold;
    font-style: normal;
}
.materiality img {
    width: 50px;
}
@media screen and (min-width:768px) and (max-width:1060px) {
    .materiality thead th:nth-of-type(4) {
        width: auto;
    }
    .materiality thead th:nth-of-type(5) {
        width: 13vw;
    }
    .materiality img {
        width: 5vw;
    }
}
@media screen and (max-width:767px) {
    .materiality thead th {
        padding: .6rem .5rem;
    }
    .materiality thead th:nth-of-type(4) {
        width: auto;
    }
    .materiality thead th:nth-of-type(5) {
        width: 26vw;
    }
    .materiality img {
        width: 10vw;
    }
}

.materiality-map a{position: relative;}
.materiality-map a::after{
	content: '';
	position: absolute;
	bottom: 30px;
	right: 20px;
	background: url("/sustainability/materiality/img/icon.png") center center no-repeat;
	background-size: 50px 50px;
	width: 50px;
	height: 50px;
}
