@charset "UTF-8";

/* .indexwrapper{
	padding-top: 185px;
} */

.indexwrapper{
	padding-top: 120px;
}

/* splash ---------------------------------------*/

.splash-cover{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-height: 100%;
	height: 100vh;
	z-index: 500;
	background: #fff;
}

.splash{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	z-index: 1000;
	background: #fff;
	display: none;
}

.splash::before{
	display:block;
	content:'';
	background: url('/shared/site_tomoni/images/index/bg_splash.png') no-repeat center center;
	background-size: cover;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100vh;
	transition: all 3s ease;
	transform: scale(1.05,1.05);
}

.splash.is-active::before{transform: scale(1,1);}

.splash-inner{
	width: 80vw;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	z-index: 5;
	color: #fff;
}

.splash-message{
	font-size:4.5vw;
	line-height: 1.8;
	transition: all 1.25s ease;
	transform: translate(0,20px);
	opacity: 0;
}

.splash.is-active .splash-message{
	transition-delay: 1000ms;
	transform: translate(0,0px);
	opacity: 1;
}

.splash-message b{font-size:120%}


/* index kv ---------------------------------------*/

.indexkv-wrapper{
	padding-top: 255px;
	position:relative;
	overflow: hidden;
	margin-bottom: 20px;
}

/* .indexkv-wrapper::before{
	content:'';
	display: block;
	position:absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 320px;
	background: #eee;
} */

.indexkv-wrapper::before{
	content:'';
	display: block;
	position:absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 466px;
	background: #eee;
}

 .indexkv{
	position: relative;
	margin:0 auto;
	max-width:1280px;
	margin: 0 auto 40px;
}

/*.indexkv{
	position: relative;
	margin:0 auto;
	max-width:1280px;
	margin: 0 auto 210px;
}*/

.indexkv img{
	width:100%;
}

.indexkv-slider-item a{
	display: inline-block;
	box-shadow:0px 0px 10px rgba(0,0,0,0.1);
}

.indexkv .swiper-pagination{margin-bottom: -40px;}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction{text-align:center;padding-top: 50px;}

.indexkv .swiper-pagination-bullet{
	background: #fff;
	margin:0 20px !important;
	max-width: 140px;
	width: 10vw;
	height: auto;
	position: relative;
	z-index: 10;
}

.indexkv .swiper-pagination-bullet:hover{
	opacity: 0.7;
	transition: all .25s ease;
}

.indexkv .swiper-button-next,
.indexkv .swiper-button-prev{
	top: 35%;
	width: 80px;
	height: 80px;
	background: #019edb;
	border-radius:50%;
	color: #fff;
	transition: all .25s ease;
}

.indexkv .swiper-button-prev{transform:rotate(180deg);}

.indexkv .swiper-button-next::after,
.indexkv .swiper-button-prev::after{
	display:block;
	content:'';
	border-right:5px solid #fff;
	border-bottom:5px solid #fff;
	width:14px;
	height:14px;
	position:absolute;
	left: 45%;
	top:50%;
	transform:translate(-50%,-50%) rotate(-45deg);
}



/* index title ---------------------------------------*/

.indexsection-title{
	font-size:44px;
	line-height: 1;
	padding-bottom: 25px;
	padding-left: 100px;
	border-bottom: 3px solid #019edb;
	position:relative;
}

.indexsection-title b{
	font-size: 50px;
}

.indexsection-title small{
	position:absolute;
	left: 80px;
	bottom: -10px;
	display: inline-block;
	background: #fff;
	color: #019edb;
	font-size:17px;
	font-weight:bold;
	letter-spacing:0.2em;
	padding: 0 20px;
}


/* index topics ---------------------------------------*/

.indextopics{padding:0 20px 120px;}

.indextopics-title{
	position:relative;
	overflow: hidden;
	margin-bottom: 45px;
	padding-bottom: 10px;
}

.indextopics-category{
	position:absolute;
	right: 0;
	top: 0;
	display:flex;
	justify-content:flex-end;
	align-items:center;
	flex-wrap:wrap;
	width: calc(100% - 200px);
	padding-top: 10px;
}

.indextopics-category-title{
	text-align: right;
	font-size:16px;
}

.indextopics-category-list{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	margin-left: 10px;
}

.indextopics-category-list li{
	border: 1px solid #aaa;
	line-height: 1;
	padding: 9px 13px;
	margin-left: 14px;
	font-size:15px;
	color: #999;
	cursor: pointer;
	transition: all .25s ease;
}

.indextopics-category-list li:hover {
	border-color: #019edb;
	background: #eee;
}

.indextopics-category-list li.is-active{
	color: #019edb;
	border-color: #019edb;
}

.indextopics-list{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}

.indextopics-list li{
	width: 48.5%;
	background: #fff;
	border-radius: 4px;
	margin-bottom: 40px;
}

.indextopics-list li:nth-child(2n){
	transition-delay: 0.3s;
}

.indextopics-list li:nth-child(n+7){
	display:none;
}

.indextopics-list li:hover{box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.16);}

.indextopics-list li a{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	border-radius: 10px;
}

.indextopics-list-image{
	width: 38%;
	overflow: hidden;
	height:226px;
	order: 2;
	position:relative;
	border-radius:0 5px 5px 0;
}

.indextopics-list-image img{
	position:absolute;
	left:50%;
	top:50%;
	transform-origin: center center;
	transform:translate(-50%,-50%);
	max-width: 160%;
	width: 160%;
	transition: all 1.25s ease;
}


a:hover .indextopics-list-image img{
	transform:translate(-50%,-50%) scale(1.1,1.1);
}

.indextopics-list-detail{
	padding: 25px 15px 18px;
	width: 60%;
	min-height: 180px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.indextopics-list-category{
	display: inline-block;
	padding: 7px 14px;
	border-radius: 10px;
	background-color: #000;
	color: #fff;
	font-size:13px;
	font-weight:500;
	margin-top: 15px;
}

.indextopics-list-title{
	font-size:18px;
	font-weight:bold;
	line-height: 1.5;
}

.indextopics-list-detail time{
	display: block;
	margin-top: 10px;
	font-size:12px;
	color: #666;
}

.indextopics-list-btn-wrapper{
	text-align: center;
	margin-top: 30px;
}

.indextopics-list-btn{
	font-size: 18px;
	font-weight: bold;
	color: #333333;
	position: relative;
	padding-bottom: 30px;
	transition: 0.3s;
}

.indextopics-list-btn::after {
	display: block;
	content: '';
	background: #019edb;
	width: 200px;
	height: 6px;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,0);
}

.indextopics-list-btn:hover{opacity: 0.7;}


/* index intro ---------------------------------------*/

.indexintro-flex{
	margin-top: 75px;
	display:flex;
	justify-content:space-between;
	flex-direction: row-reverse;
	position:relative;
	z-index: 2;
}

.indexintro-image{
	width: 45%;
}

.indexintro-detail{
	width: 49.5%;
	padding-left: 30px;
}

.indexintro-lead{
	padding: 35px 0 30px;
}

.indexintro-detail .text-lead{
	margin-bottom: 145px;
	font-size: 16px;
	text-align: center;
}
.indexintro-detail .btn{margin:0;}

.indexintro-menu{
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
}

.indexintro-menu li{
	width: 49%;
	margin-bottom: 30px;
}
.indexintro-menu li:nth-child(2n){
	transition-delay: 0.3s;
}

.indexintro-menu li .btn{width:100%;}


/* index project ---------------------------------------*/

.hintproject-wrapper{position: relative;}

.indexproject{
	padding: 90px 20px 100px;
	position:relative;
}

.indexproject .text-lead{
	font-size: 16px;
	text-align: center;
	margin: 70px 0 60px;
	line-height: 2.5;
}

#indexproject .indexproject-list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 75px;
}

#indexproject .indexproject-list li{
	width: 30%;
	margin: 0 0 100px 5%;
}
#indexproject .indexproject-list li:nth-child(2),.indexproject-list li:nth-child(5){transition-delay: 0.3s;}
#indexproject .indexproject-list li:nth-child(3),.indexproject-list li:nth-child(6){transition-delay: 0.6s;}
#indexproject .indexproject-list li:nth-child(3n + 1){margin-left: 0;}

.indexproject-list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 75px;
}

.indexproject-list li{
	width: 30%;
	margin: 0 0 100px 5%;
}
.indexproject-list li:nth-child(2),.indexproject-list li:nth-child(5){transition-delay: 0.3s;}
.indexproject-list li:nth-child(3),.indexproject-list li:nth-child(6){transition-delay: 0.6s;}
.indexproject-list li:nth-child(3n + 1){margin-left: 0;}


.future .indexproject-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 75px;
}

.future .indexproject-list li{
	width: 22%;
	margin: 0 0 50px 2%;
}
.future .indexproject-list li:nth-child(2),.indexproject-list li:nth-child(5){transition-delay: 0.3s;}
.future .indexproject-list li:nth-child(3),.indexproject-list li:nth-child(6){transition-delay: 0.6s;}
.future .indexproject-list li:nth-child(1){margin-left: 0;}

#indexhint .indexproject-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 75px;
}

#indexhint .indexproject-list li{
	width: 22%;
	margin: 0 0 50px 2%;
}
#indexhint .indexproject-list li:nth-child(2){transition-delay: 0.3s;}
#indexhint .indexproject-list li:nth-child(3){transition-delay: 0.6s;}
#indexhint .indexproject-list li:nth-child(4){transition-delay: 0.9s;}
#indexhint .indexproject-list li:nth-child(1){margin-left: 0;}



.indexproject-list-title{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background-color: #019edb;
	padding: 10px 0;
}

.indexproject-list-image{
	margin-bottom: 35px;
}

.indextopics-list-text{
	font-size: 15px;
	line-height: 2;
	margin-bottom: 37px;
	min-height: 90px;
}

.indexproject-list-btn{
	text-align: center;
}
#indexhint .indexproject-list-btn .btn,
.indexproject-list-btn .btn a,
.indexintro-detail .btn a {
	width: 100%;
	display: block;
}
#indexhint .indexproject-list-btn .btn,
#indexhint .indexproject-list-btn .btn a{
	min-width: auto;
}
#indexhint .indexproject-list-btn {
	padding: 0 5px;
}
#indexhint .indexproject-list-btn .btn {
	margin: 0;
}
.indexproject-list-btn a.btn,
.indexintro-detail a.btn {
	padding: 10px 20px;
	margin: 0;
	min-width: 250px;
}
#indexintro .indexproject-list-btn a.btn,
#indexintro .indexintro-detail a.btn,
#indexsdgs .indexproject-list-btn a.btn,
#indexsdgs .indexintro-detail a.btn {
	padding: 20px;
}
.indexquiz .btn a {
	min-width: 290px;
	margin-left: 0;
}
.indexquiz span.btn,
.indexproject-list-btn span.btn,
.indexintro-detail span.btn {
	padding: 0;
}
.indexproject-list-btn span.btn a {
	padding: 10px 20px;
}
.indexintro-detail span.btn a{
	padding: 20px;
}


/* index hint ---------------------------------------*/

.indexhint{padding: 0 20px 150px;}

.indexhint .text-lead{
	font-size: 16px;
	text-align: center;
	margin: 70px 0 60px;
	line-height: 2.5;
}

.indexhint-list-title{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	padding: 10px 0;
}

.indexhint-list-image{margin-bottom: 25px;}

.indexhint-list-text{
	font-size: 17px;
	font-weight: bold;
	line-height: 2;
	color: #333333;
	margin-bottom: 15px;
	min-height: 145px;
}

.indexhint-list-date-wrapper{
	text-align: right;
	margin-bottom: 50px;
}

.indexhint-list-date{
	font-size: 15px;
	color: #333333;
}


/* index conference ---------------------------------------*/

.indexconference .indexintro-detail{
	padding: 0 50px 0 65px;
}

.indexconference .text-lead{
	line-height: 2.5;
	text-align: left;
	margin-bottom: 155px;
}

.indexconference .btn{
	min-width: 290px;
	margin-left: 25px;
}
#indexconference .indexintro-detail .btn .icon_blank {
	display: none;
}
/* index quiz ---------------------------------------*/

.indexquiz .indexintro-detail{
	padding: 0 50px 0 65px;
}

.indexquiz .text-lead{
	line-height: 2.5;
	text-align: left;
	margin-bottom: 155px;
}

.indexquiz .btn{
	min-width: 290px;
	margin-left: 25px;
}


/* index sdgs ---------------------------------------*/

.indexsdgs{
	padding: 80px 20px 180px;
	position:relative;
}

.indexsdgs .text-lead{
	text-align: left;
	padding: 0 40px;
	line-height: 2.5;
	margin-bottom: 65px;
}


/* index opinion ---------------------------------------*/

.indexopinion{
	background: url(/shared/site_tomoni/images/index/bg_opinion.png) no-repeat center bottom 20px #ccebf7;
	background-size: 1440px;
	padding: 70px 50px;
}

.indexopinion-inner{
	max-width: 900px;
	margin: 0 auto;
}

.indexopinion-title{
	font-weight:bold;
	font-size:30px;
	line-height: 2;
	padding:30px 30px;
	position:relative;
	margin:0 auto 50px;
	letter-spacing:0.1em;
}

.indexopinion-title::before,
.indexopinion-title::after{
	display:block;
	content:'';
	background:#019edb;
	background-size:100%;
	width:100%;
	height:5px;
	position:absolute;
}

.indexopinion-title::before{
	left:0px;
	top:0px;
}

.indexopinion-title::after{
	left:0px;
	bottom:0px;
}

.indexopinion-text{margin-bottom: 80px;}
.indexopinion-text p{
	font-size: 15px;
	line-height: 2.1;
	margin-bottom: 40px;
}

.indexopinion .btn{
	min-width: 520px;
	padding: 25px 20px;
	font-size: 18px;
	border-radius: 70px;
}

.indexopinion .btn[target="_blank"]::after{
	width: 20px;
	height: 20px;
	position: absolute;
	right: 35px;
	top: 50%;
	transform: translate(0,-50%);
	margin-left: 0;
}




/* small pc */
@media screen and (min-width: 769px) and (max-width: 1200px){
#indexintro .indexintro-detail .text-lead,
#indexsdgs .indexintro-detail .text-lead {
	margin-bottom: 20px;
}
#indexintro .indexintro-menu li,
#indexintro .indexproject-list-btn a.btn,
#indexintro .indexintro-detail a.btn,
#indexsdgs .indexintro-menu li,
#indexsdgs .indexproject-list-btn a.btn,
#indexsdgs .indexintro-detail a.btn {
	width: 100%;
}
#indexhint .indexproject-list-btn,
#indexsdgs .indexproject-list-btn {
	padding: 0 5px;
}

}

/* small pc */
@media screen and (min-width: 980px) and (max-width: 1280px){
	.indextopics-category {
		position: absolute;
		right: 0;
		top: 0;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		flex-wrap: wrap;
		width: calc(100% - 21vw);
		padding-top: 10px;
	}
	.indextopics-category-list li {
		border: 1px solid #aaa;
		line-height: 1;
		padding: 9px 1vw;
		margin-left: 0.6vw;
		font-size: 1.1vw;
		color: #999;
		cursor: pointer;
		transition: all .25s ease;
	}
}
@media screen and (min-width: 769px) and (max-width: 980px){
	.indextopics-category{display: none;}
}



@media screen and (max-width: 768px){


	.indexwrapper{padding-top: 0px;}

	/* splash ---------------------------------------*/

	.splash{background: #fff}
	.splash::before{display: none}

	.splash-inner{
		width: 100%;
		text-align:center;
	}

	.splash-logo img{
		width: 200px;
		transition: all 1.25s ease;
		transform: translate(0,20px);
		opacity: 0;
	}

	.splash.is-active .splash-logo img{
		transition-delay: 1000ms;
		transform: translate(0,0px);
		opacity: 1;
	}


	/* index kv ---------------------------------------*/

	.indexkv-wrapper{
		padding-top: 82px;
		padding-bottom: 20px;
		overflow: hidden;
		margin-bottom: 0;
	}

	.indexkv-wrapper::before{
		height: 100%;
		height: 750px;
	}

	.indexkv{
		width:100%;
		padding: 0 20px;
		margin: 0 auto 0px;
	}

	.swiper-container-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-custom,
	.swiper-pagination-fraction{text-align:center;padding-top: 20px;}

	.indexkv .swiper-pagination-bullet{
		margin: 0 3px !important;
		width: 11.2vw;
		height: auto;
	}

	.indexkv .swiper-pagination-bullet:hover{opacity: 1;}

	.indexkv .swiper-button-next,
	.indexkv .swiper-button-prev{display: none}

	.indexkv-define{
		padding: 0 20px;
		margin-bottom: 0px;
	}

	.indexkv-define-fukidashi{
		width: 350px;
		max-width: 100%;
		padding: 7px 5px;
		font-size:16px;
		border-radius:12px;
		margin-bottom: 15px;
		border-width: 1px;
	}

	.indexkv-define-fukidashi::before{
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 10px solid #019edb;
		bottom: -10px;
	}

	.indexkv-define-fukidashi::after{
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 10px solid #fff;
		bottom: -8px;
	}

	.indexkv-define-lead{
		font-size:14px;
		padding: 5px 15px;
		margin-bottom: 20px;
	}

	.indexkv-define-lead::before,
	.indexkv-define-lead::after{
		width:2px;
		height:35px;
	}

	.indexkv-define-lead::before{
		left:0px;
		top:10px;
	}

	.indexkv-define-lead::after{
		right:0px;
		top:10px;
	}

	.indexkv-define .btn{
		width:300px;
		max-width:100%;
	}

	/* index title ---------------------------------------*/

	.indexsection-title{
		font-size:22px;
		line-height: 1;
		padding-bottom: 15px;
		padding-left: 0px;
		border-width: 3px;
		font-weight:600;
	}

	.indexsection-title b{font-size: 24px;}

	.indexsection-title small{
		position:relative;
		left: 0;
		bottom: 0;
		display: block;
		font-size:12px;
		padding: 10px 0 0;
		background: transparent;
	}


	/* index topics ---------------------------------------*/

	.indextopics{padding:0 20px 95px;}
	.indextopics-title{margin-bottom: 10px;}

	.indextopics-category{
		float: none;
		width: 100%;
		padding-top: 20px;
		display: none;
	}

	.indextopics-category-title{
		text-align: left;
		font-size:14px;
		margin-bottom: 15px;
		font-weight:500;
	}

	.indextopics-category-list{
		margin-left: 0px;
	}

	.indextopics-category-list li{
		width: 23.5%;
		height: 47px;
		line-height: 1.5;
		padding: 0;
		margin-left: 1%;
		font-size:10px;
		text-align:center;
		position:relative;
	}

	.indextopics-category-list li span{
		display: block;
		position:absolute;
		left:50%;
		top:50%;
		transform:translate(-50%,-50%);
		width: 100%;
		line-height: 1.5
	}

	.indextopics-list{
		display: block;
		width: 100%;
		margin-left: 0;
	}

	.indextopics-list li{
		width: 100%;
		border-radius: 5px;
		/*box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.16);*/
		box-shadow: none;
		margin-bottom: 30px;
		margin-left: 0;
	}

	.indextopics-list li:nth-child(2n) {
		transition-delay: 0s;
	}

	.indextopics-list-image{
		width:36%;
		height: 37vw;
		border-radius:0 5px 5px 0;
	}

	.indextopics-list-image img{
		max-width: 180%;
		width: 180%;
	}

	.indextopics-list-detail{
		padding: 10px 7px 10px;
		width: 64%;
		min-height: 37vw;
	}

	.indextopics-list-category{
		padding: 1px 8px;
		border-radius: 5px;
		font-size:10px;
		margin: 0;
	}

	.indextopics-list-title{
		font-size:13px;
		font-weight:500;
		line-height: 1.6;
	}

	.indextopics-list-detail time{
		display: block;
		margin-top: 20px;
		font-size:14px;
		color: #666;
	}

	.indextopics-list-btn-wrapper{margin-top: 50px;}

	.indextopics-list-btn{
		font-size: 15px;
		padding-bottom: 15px;
	}

	.indextopics-list-btn::after {
		width: 150px;
		height: 3px;
	}


	/* index intro ---------------------------------------*/

	.indexintro{
		padding: 40px 20px 50px;
		position:relative;
	}

	.indexintro .text-lead{
		margin: 30px 0 35px;
		font-size: 14px;
		text-align: left;
	}

	.indexintro-flex{
		margin-top: 30px;
		display: block;
		z-index: 2;
	}

	.indexintro-image{
		width: 100%;
		margin-bottom: 35px;
	}

	.indexintro-detail{
		width: 100%;
		padding-left: 0;
	}

	.indexintro-lead{
		padding: 0px;
	}

	.indexintro-detail span.btn a,
	#indexintro .indexintro-detail a.btn{
		margin:0;
		padding: 12px 50px;
	}

	.indexintro-menu{
		display: block;
	}

	.indexintro-menu li{
		width: 100%;
		margin-bottom: 24px;
	}
	.indexintro-menu li:nth-child(2n){
		transition-delay: 0s;
	}

	.indexintro-menu li:last-of-type{margin-bottom: 0;}

	.indexintro-menu li .btn{width:100%;}



	/* index project ---------------------------------------*/

	.indexproject{
		padding: 90px 20px 90px;
	}

	.indexproject .text-lead{
		font-size: 14px;
		text-align: left;
		margin: 25px 0 40px;
		line-height: 2.2;
	}

	.indexproject-list{
		display: block;
		margin-top: 30px;
	}
	.indexproject-list li{
		width: 100%;
		margin: 0 0 50px 0;
	}
	.indexproject-list li:nth-child(2), .indexproject-list li:nth-child(5) {transition-delay: 0s;}
	.indexproject-list li:nth-child(3), .indexproject-list li:nth-child(6) {transition-delay: 0s;}
	.indexproject-list li:nth-child(3n + 1){margin-left: 0;}
	.indexproject-list-title{font-size: 13px;}
	.indexproject-list-image{margin-bottom: 20px;}


	#indexhint .indexproject-list{
		display: block;
		margin-top: 30px;
	}
	#indexhint .indexproject-list li{
		width: 100%;
		margin: 0 0 50px 0;
	}
	#indexhint .indexproject-list li:nth-child(2), #indexhint .indexproject-list li:nth-child(5) {transition-delay: 0s;}
	#indexhint .indexproject-list li:nth-child(3), #indexhint .indexproject-list li:nth-child(6) {transition-delay: 0s;}
	#indexhint .indexproject-list li:nth-child(4), #indexhint .indexproject-list li:nth-child(7),#indexhint .indexproject-list li:nth-child(8){
		transition-delay: 0s;
	}
	#indexhint .indexproject-list li:nth-child(3n + 1){margin-left: 0;}
	#indexhint .indexproject-list-title{font-size: 13px;}
	#indexhint .indexproject-list-image{margin-bottom: 20px;}

	#indexproject .indexproject-list{
		display: block;
		margin-top: 30px;
	}
	#indexproject .indexproject-list li{
		width: 100%;
		margin: 0 0 50px 0;
	}
	#indexproject .indexproject-list li:nth-child(2), #indexproject .indexproject-list li:nth-child(5) {transition-delay: 0s;}
	#indexproject .indexproject-list li:nth-child(3), #indexproject .indexproject-list li:nth-child(6) {transition-delay: 0s;}
	#indexproject .indexproject-list li:nth-child(3n + 1){margin-left: 0;}
	#indexproject .indexproject-list-title{font-size: 13px;}
	#indexproject .indexproject-list-image{margin-bottom: 20px;}



	.indextopics-list-text{
		font-size: 13px;
		line-height: 2.1;
		margin-bottom: 28px;
		min-height: auto;
	}

	#indexproject .indexproject-list-btn a.btn,
	#indexproject .indexintro-detail a.btn,
	#indexintro .indexproject-list-btn a.btn,
	#indexintro .indexintro-detail a.btn,
	#indexsdgs .indexproject-list-btn a.btn,
	#indexsdgs .indexintro-detail a.btn {
		min-width: 100%;
		padding: 12px 0;
	}

	/* index hint ---------------------------------------*/

	.indexhint{padding: 0 20px 45px;}

	.indexhint .text-lead{
		font-size: 14px;
		text-align: left;
		margin: 30px 0 60px;
		line-height: 2.2;
	}

	.indexhint-list-title{
		font-size: 13px;
		padding: 7px 0;
	}

	.indexhint-list-image{margin-bottom: 15px;}

	.indexhint-list-text{
		margin-bottom: 10px;
		letter-spacing: 2px;
		font-size: 16px;
		min-height: auto;
	}

	.indexhint-list-date-wrapper{
		margin-bottom: 20px;
	}

	.indexhint-list-date{
		font-size: 14px;
	}

	.indexhint .indexproject-list li{margin-bottom: 45px;}


	/* index conference ---------------------------------------*/

	.indexconference{
		padding: 35px 20px 70px;}

	.indexconference .indexintro-detail{
		padding: 0;
	}

	.indexconference .text-lead{
		font-size: 14px;
		text-align: left;
		margin: 30px 0 40px;
		line-height: 2.2;
	}

	.indexconference .btn{
		min-width: 100%;
		margin-left: 0;
	}

	/* index quiz ---------------------------------------*/

	.indexquiz{
		padding: 35px 20px 70px;
		margin-bottom: 50px;
	}

	.indexquiz .indexintro-detail{
		padding: 0;
	}

	.indexquiz .text-lead{
		font-size: 14px;
		text-align: left;
		margin: 30px 0 40px;
		line-height: 2.2;
	}

	.indexquiz .btn{
		min-width: 100%;
		margin-left: 0;
	}

	.indexquiz .indexsection-title{}

	/* index sdgs ---------------------------------------*/

	.indexsdgs{
		padding: 60px 20px 100px;
	}

	.indexsdgs .text-lead{
		font-size: 14px;
		text-align: left;
		padding: 0;
		line-height: 2.2;
		margin: 30px 0 25px;
	}



	/* index opinion ---------------------------------------*/

	.indexopinion-inner{margin: 0 auto;}

	.indexopinion-title{
		font-size:16px;
		line-height: 1.7;
		padding: 20px 15px;
		margin-bottom: 30px;
	}

	.indexopinion-text{margin-bottom: 50px;}
	.indexopinion-text p{
		margin-bottom: 2em;
		font-size: 12px;
	}

	.indexopinion .btn{
		min-width: 100%;
		padding: 5px 0px;
		font-size: 14px;
		border-radius: 70px;
	}

	.indexopinion .btn[target="_blank"]::after{right: 20px;}
}