@charset "UTF-8";

/* ==================================================
contents-parts
================================================== */
#tmp_contents h2:not([class]),
#tmp_contents h3:not([class]),
#tmp_contents h4:not([class]),
#tmp_contents h5:not([class]),
#tmp_contents h6:not([class]) {
	margin:1.5em 0 0.8em;
	line-height: 1.5;
	font-weight: bold;
	clear:both;
}
#tmp_contents h2:not([class]) {
	font-size: 28px;
	border-bottom: 5px solid #019edb;
	padding-bottom: 20px;
}
#tmp_contents h2:not([class]):first-child {
	margin-top:0;
}
#tmp_contents h3:not([class]) {
	font-size: 26px;
	color: #019EDB;
}
#tmp_contents h4:not([class]) {
	position: relative;
	font-size: 24px;
	line-height: 1.3;
	padding-bottom: 30px;
}
#tmp_contents h4:not([class])::before {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(0,-50%);
	background: #019EDB;
	width: 200px;
	height: 6px;
}
#tmp_contents h5:not([class]) {
	font-size: 22px;
}
#tmp_contents h6:not([class]) {
	font-size: 20px;
}

#tmp_contents table:not([class]) {
	word-break: break-all;
}
#tmp_contents p:not([class]) {
	margin:0 0 1.2em;
}
#tmp_contents a:not([class]) {
	text-decoration: underline;
}
#tmp_contents a:not([class]):hover {
	text-decoration: none;
}
#tmp_contents .sdgs .lowerarticle a,
#tmp_contents a.tdn_link,
#tmp_contents .lowermember-list a,
#tmp_contents .conferencedetail-member-list-item a,
#tmp_contents .lowerarticle-list-item a {
	text-decoration: none;
}
#tmp_contents a.tdn_link:hover,
#tmp_contents .lowermember-list a:hover,
#tmp_contents .conferencedetail-member-list-item a:hover,
#tmp_contents .lowerarticle-list-item a:hover {
	text-decoration: underline;
}
#tmp_contents h2.title-paragraph,
#tmp_contents h2.title-paragraph {
	color:#333333;
	border-bottom:none;
	min-height:133px;
	padding:50px 0 20px 55px;
}
#tmp_contents img {
	max-width: 100%;
	height: auto;
}
#tmp_contents strong,
#tmp_contents b {
	font-family: 'Zen Maru Gothic', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
}
body #tmp_contents p em {
	font-family: 'Zen Maru Gothic', "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 105%;
}
#tmp_contents ul:not([class]) {
	margin: 0 0 1.6em 1.5em; /* Do not edit */
	list-style-image:url(/shared/site_rn/images/icon/list_icon.gif); /* Do not edit */
}
#tmp_contents ol:not([class]) {
	margin:0 0 1.6em 3.2em; /* Do not edit */
	list-style-image:none; /* Do not edit */
	list-style-type: decimal;
}
#tmp_contents ul:not([class]) li:not([class]),
#tmp_contents ol:not([class]) li:not([class]) {
	margin:0 0 0.5em; /* Do not edit */
	line-height: 1.6;
	list-style: inherit;
}
#tmp_contents ul:not([class]) ul:not([class]),
#tmp_contents ul:not([class]) ol:not([class]),
#tmp_contents ol:not([class]) ul:not([class]),
#tmp_contents ol:not([class]) ol:not([class]) {
	margin:0.3em 0 0 1.5em; /* Do not edit */
}
#tmp_contents hr {
	height:1px; /* Do not edit */
	color:#CCCCCC; /* Do not edit */
	background-color:#CCCCCC; /* Do not edit */
	border:none; /* Do not edit */
	clear:both; /* Do not edit */
}

/* box_btn
================================================== */
#tmp_contents ul.box_btn {
	margin:0 0 1em; /* Do not edit */
	padding:0;
	list-style:none;
	list-style-image:none;
}
#tmp_contents ul.box_btn li {
	margin-bottom: 1em;
	padding: 20px;
}
#tmp_contents ul.box_btn li a {
	display: block;
	color: inherit;
	text-align: center;
	margin: -20px;
	padding: 20px;
	border: 2px solid #019edb;
	background: #019edb;
	color: #ffffff;
	border-radius: 30px;
	text-decoration: none;
}
#tmp_contents ul.box_btn li a:hover,
#tmp_contents ul.box_btn li a:focus {
	text-decoration: underline;
	background: #ffffff;
	color: #019edb;
}

/* outline
================================================== */
#tmp_contents .outline {
	line-height: 1.85em;
	border-radius: 10px;
	margin:0 0 3.3em; /* Do not edit */
	border:none;
	color:inherit;
	background-color:#e4f5fc;
	clear:both; /* Do not edit */
}
#tmp_contents table.outline {
	width:100%; /* Do not edit */
	border-collapse:collapse; /* Do not edit */
	border-spacing:0; /* Do not edit */
}
#tmp_contents table.outline td {
	padding:21px 31px 7px;
}
#tmp_contents div.outline {
	padding:21px 31px 7px;
}
#tmp_contents .outline ul {
	margin-left:24px; /* Do not edit */
}
#tmp_contents .outline ol {
	margin-left:24px; /* Do not edit */
}
#tmp_contents .outline ul ul,
#tmp_contents .outline ul ol,
#tmp_contents .outline ol ul,
#tmp_contents .outline ol ol {
	margin:0.3em 0 0 24px; /* Do not edit */
}

@media screen and (max-width: 768px){
	/* outline
	================================================== */
	#tmp_contents .outline {
		margin-bottom: 40px;
	}
	#tmp_contents div.outline,
	#tmp_contents table.outline td {
		padding: 13px 20px 9px;
	}
	#tmp_contents .outline p:last-child {
		margin-bottom: 0;
	}
	/* col2
	============================== */
	div.col2 div.col2L,
	div.col3 div.col3L,
	div.col3 div.col3M,
	div.col2 div.col2 div.col2L,
	div.fixed_col2 div.fixed_col2L {
		width:100%;
		margin-right:0;
		display: block;
		float:none;
		clear:both;
	}
	div.col2 div.col2R,
	div.col3 div.col3R,
	div.col2 div.col2 div.col2R,
	div.fixed_col2 div.fixed_col2R {
		width:100%;
		display: block;
		float:none;
		clear:both;
	}
	#tmp_contents div.col3 ul,
	#tmp_contents div.col2 ul {
		margin-bottom:0;
	}
	div.img_cap {
		width:auto !important;
	}
	#tmp_contents img {
		max-width:100%;
		height:auto;
	}
	#tmp_contents ul,
	#tmp_contents ol {
		margin-left:22px;
	}
	#tmp_contents .paraspo-comic .lowerarticle,
	#tmp_contents .paraspo-comic ul,
	#tmp_contents .paraspo-comic .lead {
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	#tmp_contents table {
		width:auto;
	}
	#tmp_contents table table {
		max-width:100%;
	}
	#tmp_contents table th,
	#tmp_contents table td {
		width:auto;
	}
	#tmp_contents table.col2,
	#tmp_contents table.col3 {
		width: 100%;
	}
	#tmp_contents table.col2 td.col2L,
	#tmp_contents table.col2 td.col2R,
	#tmp_contents table.col3 td.col3L,
	#tmp_contents table.col3 td.col3M,
	#tmp_contents table.col3 td.col3R{
		display: block;
		width: 100%;
	}
	#tmp_contents table.col2 td.col2L,
	#tmp_contents table.col3 td.col3L,
	#tmp_contents table.col3 td.col3M{
		border-right: 0;
	}

}

/* indexwrapper ---------------------------------*/

.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 ---------------------------------------*/
#tmp_news_sort .indextopics-list-title {
	font-size: 112.5%;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.06em;
}

.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;
	margin-left: 10px;
}

.indextopics-category-list li{
	border: 1px solid #aaa;
	line-height: 1;
	padding: 9px 10px;
	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: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-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;}


#tmp_contents .indexproject-list-title,
.indexproject-list-title{
	margin: 0;
	color: inherit;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background-color: #e4f5fc;
	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;
}

.indexproject-list-btn .btn{
	padding: 10px 20px;
	margin: 0;
	min-width: 250px;
}


/* index hint ---------------------------------------*/

.indexhint{padding: 0 20px 150px;}

.indexhint .text-lead{
	font-size: 16px;
	text-align: center;
	margin: 70px 0 60px;
	line-height: 2.5;
}
#tmp_contents .indexhint-list-title,
.indexhint-list-title{
	margin: 0;
	color: inherit;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	background-color: #e4f5fc;
	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;
}

/* 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){


}

/* 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 0.2vw;
		margin-left: 0.5vw;
		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){

	#tmp_contents h2.title-paragraph,
	#tmp_contents h2.title-paragraph {
		min-height:80px;
		padding:20px 0 10px 30px;
	}

	.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 ---------------------------------------*/
	#tmp_news_sort .indextopics-list-title {
		font-size: 81.3%;
	}
	.indextopics{padding:0 20px 95px;}
	#tmp_newsIdx .indextopics{padding:0 0 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 .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;
	}

	#tmp_contents .indexproject-list,
	.indexproject-list{
		display: block;
		margin: 0;
	}
	.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-list-btn .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;
	}

	/* 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;
	}

	/* common ---------------------------------------*/

	#tmp_contents .lowermember-list,
	#tmp_contents .lowertopics-list,
	#tmp_contents .conferencedetail-member-list {
		margin-left: 0 !important;
	}

}