@charset "utf-8";
/*=================================
1: header
2: footer
3: common-content
4: other
=================================*/

/* ウィンドウ幅が0～768pxの場合に適用するCSS */
@media only screen and (max-width: 768px) {
	html,
	body {
		width: 100%;
		min-width: 100%;
	}
	body {
		position: relative;
		font-size: 15px;
		font-size: 1.5rem;
	}
	
	img {
		max-width:100%;
	}
	
	.pc {display:none;}
	.sp {display:block;}
	
	.fixbody {
		overflow: hidden;
		width: 100%;
		height: 100%;
	}
	.scroll {
    	overflow: auto;
	}

	/* 1: header
	================================== */
	#header {
		min-width: 100%;
		height:80px;
		position:fixed;
		top:0;
		left:0;
	}
	.header_inr {
		max-width: 100%;
		min-height: 65px;
	}
	.logo a {
		font-size:1.8rem;
	}
	.logo img {
		max-width: 100%;
		height: auto;
	}
	
	.right_menu {
		top:7px;
		right:55px;
	}

	.right_menu img {
		width:30px;
	}
	
	/* === gnav === */
	.megaNavClose,
	.MegaDrop > h2,
	.nav_third,
	.navGlobal > li > a::after {
		display: none;
	}
	.navGlobal {
		display: none;
		position: fixed;
		top: 70px;
		left: 0;
		right: 0;
		background: #4c6cb3;
		width:auto;
		margin-left:0;
		z-index:999;
		height:100%;
		overflow-y:auto;
	}
	.navGlobal > li {
		width: 100%;
		display: block;
		position: relative;
	}
	.navGlobal > li > a {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: flex;
		-webkit-align-items: center; /* Safari */
		align-items: center;
		width: 100%;
		min-height: 55px;
		margin: 0;
		padding: 0 20px;
		color: #fff;
		font-size: 1.6rem;
		border-top: 1px solid #FFF;
	}
	.navGlobal > li.current > a {
		color: #00192d;
	}
	.navGlobal > li:first-child > .MegaDrop {
		border-top: 1px solid #FFF;
	}
	.MegaDrop {
		position: static;
		display: none;
		padding: 0;
		box-shadow : none;
	}
	.nav_second {
		background: #e4e4e4;
		display:block!important;
	}
	
	.navGlobal > li:first-child > a {
		margin:0;
		max-width:100%;
	}

	.nav_second > li,
	.navGlobal > li:nth-child(3) .nav_second > li {
		width: 100%;
		margin:0;
		border-top: 1px solid #FFF;
	}
	
	.nav_second li a {
		border-bottom:1px solid #ccc;
		box-shadow:none;
	}
	
	.navGlobal > li:last-child {
		margin-bottom:70px;
	}
	
	.nav_second > li:first-child {
		border-top: none;
	}
	.nav_imgttl {
		background: none;
	}
	.nav_imgttl a {
		display: block;
		margin-bottom: 0;
		text-align: left;
		line-height: 1.7;
		color: #323232;
		text-shadow: none;
	}
	.nav_imgttl span,
	.nav_recimg span {
		display: block;
		padding: 15px 30px;
		background-size: 8px;
		font-size: 1.4rem;
		font-weight: normal;
	}
	.nav_noimg li a {
		display: block;
		padding: 15px 30px;
		box-shadow: none;
		border: none;
		border-radius: 0;
		color: #323232;
		background-size: 8px;
		font-size: 1.4rem;
		font-weight: normal;
	}
	.nav_noimg li a:hover {
		border: none;
		box-shadow: none;
		color: #323232;
	}
	.nav_noimg li a:after {
		display: none;
	}
	.nav_recimg {
		display: block;
		margin-bottom: 0;
		text-align: left;
		line-height: 1.7;
		background-size: 8px;
		text-shadow: none;
		font-size: 1.4rem;
		font-weight: normal;
	}
	li.nav_recimg a {
		color: #323232;
	}
	/*smartphone menu-button*/
	.dl-trigger {
		overflow: hidden;
		position: absolute;
		top:20px;
		right:20px;
		display: block;
		float: right;
		width: 40px;
		height: 40px;
		padding: 0;
		text-indent: -900em;
		cursor: pointer;
		outline: none;
		background: none;
		border: none;
		z-index: 44;
		margin-top:10px;
	}
	.dl-trigger img {
		width: 30px;
		height: auto;
		margin: 0 auto;
	}
	.dl-trigger span {
		position: absolute;
		left: 5px;
		display: inline-block;
		width: 30px;
		height: 2px;
		background-color: #fff;
		transition: all .4s;
	}
	.dl-trigger span:nth-of-type(1) {
		top: 0;
	}
	.dl-trigger span:nth-of-type(2) {
		top: 9px;
	}
	.dl-trigger span:nth-of-type(3) {
		bottom: 20px;
	}
	.dl-trigger.active span {
		background-color: #fff;
	}
	.dl-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}
	.dl-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.dl-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}
	.open_icn {
		display: block;
		position: absolute;
		top: 0;
		right: 0px;
		width: 55px;
		height: 55px;
		background: #FFF;
		border-top: 1px solid #F1F1F2;
		z-index: 9;
	}
	.open_icn:before,
	.open_icn:after {
		display: block;
		content: '';
		width: 1px;
		height: 15px;
		background: #303030;
		position: absolute;
		top: 19px;
		left: 26px;
	}
	.open_icn:before{
		width: 15px;
		height: 1px;
		top: 26px;
		left: 19px;
	}
	.open_icn.active {
		transition: all .4s;
	}
	.open_icn.active:after {
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
	}
	.open_icn.active:before {
		opacity: 0;
	}
	.arw_icn {
		position: relative;
	}
	.arw_icn::before{
		position: absolute;
		top: 24px;
		right: 26px;
		content: "";
		vertical-align: middle;
		width: 10px;
		height: 10px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	.logo {
		padding:5px;
		position:absolute;
		top:10px;
		left:0;
	}
	
	.about_banner li {
		width:45%;
	}
	.about_banner.catalyzer li {
		width:40%;
	}
	

	/* 2: footer
	================================== */
	#accordion {
		padding:1em;
	}
	
	.ft_top_inr {
		width: 100%;
		padding: 0;
	}
	.gotop a {
		top: -50px;
	}
	
	.footer_nav > li {
		width:100%;
	}
	
	.footer_nav > li > a:before{
		content:"";
		position:absolute;
		top:16px;
		left: 3px;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	#accordion li {
		width:100%;
	}

	#accordion dd {
		display:none;
	}

	#accordion dt {
		position:relative;
		display:block;
	}

	#accordion .open_icn {
		background: #4c6cb3;
		width:30px;
		height:30px;
	}

	#accordion .open_icn::before {
		top: 14px;
		left: 7px;
		background: #fff;
	}
	
	#accordion .open_icn::after {
		top: 7px;
		left: 14px;
		background: #fff;
	}
	
	#accordion dd {
		padding:5px;
	}
	
	#footer .tC {
		padding-bottom:1em;
	}
	
	.copy {
		font-size: 1.3rem;
	}

	/* 5: common-content
	================================== */
	/* breadcrumb-list */
	.pankuzu_inr {
		max-width: 100%;
		min-width: 100%;
	}
	.pankuzu li {
		font-size: 1.2rem;
	}
	

	/* 4: other
	================================== */
	/* === top-page === */
	.day_main {
		max-width: 400px;
		bottom: 120px;
	}
	
	#main {
		padding-top:80px;
	}
	
	#main-image {
		height:auto;
	}
	
	#mainimg {
		background-size:contain;
		min-height:500px;
		margin-top: 20px;
	}
	.mainimg_inr {
		max-width: 100%;
	}
	
	.mainimg_inr .fL {
		max-height:250px;
		width:auto;
		margin:0 auto;
		transform: rotate(-90deg);
		position:absolute;
		left:0;
		right:0;
		top:300px;
	}
	
	
	.sp_none{
		display: none;
	}
	
	.topics_box {
		min-width: 100%;
	}
	
	.title2 img {
		max-width:90%;
	}
	
	.message .flexbox_sbwap li,
	.about .flexbox_sbwap li {
		width:100%;
		margin-bottom:10px;
	}
	
		.message .flexbox_sbwap li img,
		.about .flexbox_sbwap li img {
			max-width:95%;
			margin:0 auto;
		}
	
	.sponsor .inr {
		padding:50px 30px 100px 30px;
	}
	
	
.page_sponsors #main .flexbox_sbwap li,
.page_sponsors #main .flexbox_wap li {
	width : calc(100% /3) ;
	line-height:1.2;
	margin-right:0;
}

	
.page_sponsors #main .flexbox_sbwap li img,
.page_sponsors #main .flexbox_wap li img {
	width : 97%;
	height:auto;
	margin:0 auto 10px auto;
	max-width:200px;
}
	
	.sec .title {
		/*margin-top:70px;*/
	}
	
	#main section:last-child {
		padding-bottom:20px;
	}
	
	
/*２カラム解除*/
	.two_column {
		display:block;
	}
	
	.left_contents {
		width:100%;
	}
	
	.rightcol {
		display:none;
	}
	

/*table*/
	.icho_table tr:first-child {
		display:none;
	}
	
	.icho_table td {
		display:block;
		width:100%;
		border-bottom:0;
		position:relative;
	}
	
		.icho_table td:first-child:before {
			content:"IChO : ";
			font-weight:bold;
		}
	
		.icho_table td:nth-child(2):before {
			content:"City : ";
			font-weight:bold;
		}
	
		.icho_table td:nth-child(3):before {
			content:"Country : ";
			font-weight:bold;
		}
	
		.icho_table td:nth-child(4):before {
			content:"Date : ";
			font-weight:bold;
		}
	
		.icho_table.ja td:first-child:before {
			content:"";
		}
	
		.icho_table.ja td:nth-child(2):before {
			content:"開催都市 : ";
		}
	
		.icho_table.ja td:nth-child(3):before {
			content:"開催国 : ";
		}
	
		.icho_table.ja td:nth-child(4):before {
			content:"開催日 : ";
		}
		
		
	
	.icho_table tr {
		display: block;
		margin-bottom: 1em;
		border: 1px solid #999;
		border-radius: 3px;
		box-shadow: 0px 1px 2px rgba(25, 25, 25, 0.2);
	}
	
/*message*/
.mes li {
	width:100%;
	overflow:hidden;
}
.mes_illust {
	margin-top:0;
}

.mes li img {
	max-width:100%;
	margin:0 auto;
}

/*member*/
	table.list th,
	table.list td,
	table.list td:first-child {
		display:block;
		width:100%;
		border-bottom:0;
	}

.page_news .fR.ml1em {
	float:none!important;
	margin-left:0;
	text-align:center;
}

	.page_news img {
		max-width:100%;
		height:auto;
		margin:0 auto;
	}


	/* ↓ 
	================================== */
}

/* ウィンドウ幅が0～450pxの場合に適用するCSS */
@media only screen and (max-width: 450px) {

	.mainimg_inr .fL {
		max-height:250px;
		top:200px;
	}
	
	#mainimg {
		background-size:contain;
		min-height:400px;
	}
	
	.about_banner li {
		width:100%;
	}
	
.page_sponsors #main .flexbox_sbwap li,
.page_sponsors #main .flexbox_wap li {
	width : 100% ;
	text-align:center;
}
	.about_banner.catalyzer li {
		width:80%;
	}
	
	.page_icho2021 .title h2 {
		font-size:2.3rem;
	}

}