@charset "utf-8";
/* CSS Document */
#keyVisualArea{
	background-image: url("../img/keyVisual.jpg");
}

.themeTbl{
	margin-top: 70px;
	border-collapse: collapse;
	width: 950px;
	table-layout: fixed;
}
.themeTbl th,
.themeTbl td{
	border-collapse: collapse;
}
.themeTbl thead th{
	background: #6484B4;
	color: #fff;
	font-weight: 500;
	border-right: solid 1px #fff;
}
.themeTbl thead th.th01{
	width: 33%;
}
.themeTbl thead th.th02{
	width: 53%;
}
.themeTbl thead th.th03{
	width: 145px;
}
.themeTbl thead th:last-child{
	border-right: none;
}
.themeTbl tbody{
	text-align: left;
	font-weight: 500;
}
.themeTbl tbody th,
.themeTbl tbody td{
	padding: 15px 0;
}
.themeTbl .border_b{
	border-bottom: solid 1px #707070;
}
.themeTbl td.sdgsIcon{
	text-align: right;
}
.themeTbl td.sdgsIcon img{
	margin-left: 5px;
}
.themeTbl .themeTxt{
	font-size: 2rem;
	font-weight: 500;
}
.themeTbl .themeTxt .num{
	font-size: 1.8rem;
	color: #fff;
	display: inline-block;
	padding: 0 5px;
	height: 32px;
	line-height: 32px;
	background: #014099;
	text-align: center;
	margin-right: 12px;
}
.themeTbl .line{
	background: #F8FF46;
	color: #B41C14;
}

.tblBox{
	display: flex;
}

.pageBox{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	min-height: 243px;
	margin-top: 60px;
}
.pageBox + .pageBox{
	margin-top: 40px;
}
.pageBox .btn{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 305px;
	position: relative;
	overflow: hidden;
	padding: 15px;
}
.pageBox .btn:hover{
	text-decoration: none;
}

.pageBox .btn::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.3s;
}
.pageBox .btn:hover::before{
	transform: scale(1.1);
}
.pageBox01 .btn::before{
	background-image: url("../img/btn_bg_01.jpg");
}
.pageBox02 .btn::before{
	background-image: url("../img/btn_bg_02.jpg");
}
.pageBox03 .btn::before{
	background-image: url("../img/btn_bg_03.jpg");
}
.pageBox04 .btn::before{
	background-image: url("../img/btn_bg_04.jpg");
}
.pageBox .btn p{
	position: relative;
	z-index: 1;
	color: #fff;
	font-weight: 700;
}
.pageBox .btn p.num{
	font-size: 2.2rem;
	line-height: 1;
}
.pageBox .btn p.num span{
	font-size: 5rem;
	display: inline-block;
	margin-bottom: 30px;
}
.pageBox .btn p.more-btn{
	background: #fff;
	font-size: 1.5rem;
	font-weight: 900;
	color: #4E4E4E;
	border: solid 1px #707070;
	margin-top: 35px;
	line-height: 39px;
	max-width: 251px;
	transition: 0.3s;
}
.pageBox .btn:hover p.more-btn{
	background: #4E4E4E;
	color: #fff;
}

.pageBox .pageList{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 68%;
	padding: 15px 25px;
}
.pageBox .pageList > li{
	width: calc(100% / 3);
	max-width: 180px;
	text-align: left;
	line-height: 1.5625;
}
.pageBox .pageList > li + li{
	margin-left: 24px;
}
.pageBox .pageList > li a{
	font-weight: 500;
	transition: 0.3s;
}
.pageBox .pageList > li a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.pageBox .pageList > li a img{
	margin-bottom: 5px;
}
.pageBox .pageList > li.soon{
    width: calc(100% / 3);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pageBox .pageList > li.soon a {
    width: 100%;
}
.pageBox .pageList > li.soon a:hover {
	opacity: 1;
}
.pageBox .pageList > li.soon a div{
    position: relative;
	max-width: 182px;
	width: 100%;
	height: 126px;
	background-color: #DCDCDC;
}
.pageBox .pageList > li.soon a div:after{
	content: 'coming soon';
	white-space: pre;
	font-weight: bold;
	display: block;
	position: absolute;
	width: 100%;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	text-align: center;
	z-index: 3;
}

@media screen and (max-width: 990px){
	.themeTbl{
		width: 920px;
	}
	.themeTbl thead th.th02 {
		width: 58%;
	}
	.themeTbl thead th.th01{
		width: 27%;
	}
	.themeTbl thead th.th03 {
		width: 120px;
	}
	.themeTbl .themeTxt{
		font-size: 1.6rem;
	}
	.themeTbl td.sdgsIcon img{
		width: 50px;
	}
	.themeTbl tbody th,
	.themeTbl tbody td {
		padding: 10px 0;
	}
	.pageBox .btn p.num span{
		font-size: 7vw;
	}
	.pageBox .btn p.num {
		font-size: 2.2vw;
	}
}
@media screen and (max-width: 767px){
	.themeTbl{
		margin-top: 40px;
	}
	.pageBox{
		margin-top: 40px;
		display: block;
	}
	.pageBox + .pageBox {
		margin-top: 20px;
	}
	.pageBox .btn,
	.pageBox .pageList{
		width: 100%;
	}
	.pageBox .pageList{
		padding: 15px;
	}
	.pageBox .btn p.num {
		font-size: 1.8rem;
	}
	.pageBox .btn p.num span {
		font-size: 4rem;
		margin-bottom: 10px;
	}
	.pageBox .btn p.more-btn{
		margin-top: 15px;
	}
	.pageBox .pageList{
		display: block;
	}
	.pageBox .pageList > li,
	.pageBox .pageList > li.soon{
		width: 100%;
		max-width: inherit;
	}
	.pageBox .pageList > li + li {
		margin-left: 0;
		margin-top: 10px;
	}
	.pageBox .pageList > li a{
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.pageBox .pageList > li a img{
		margin-bottom: 0;
		margin-right: 10px;
		width: 120px;
	}
	.pageBox .pageList > li a p br{
		display: none;
	}
	.pageBox .pageList > li.soon a div{
		margin-bottom: 0;
		margin-right: 10px;
		max-width: 120px;
		min-width: 120px;
		width: 120px;
		max-height: 84px;
		min-height: 84px;
		height: 84px;
	}
}
