@charset "utf-8";

/******************************************************************************************
	tablet size
******************************************************************************************/

@media screen and (max-width: 959px) {

.pc{ display:none; }
.sp{ display:block; }

.break{ word-break: break-all; }

/*--------------------------------------------------------------------*/
/*ヘッダー*/
/*--------------------------------------------------------------------*/
#header_wrap{padding-top:64px;}
#header_wrap::before{
	display:none;
}

header{
	padding:0;
	position:fixed;
	top:0;
	left:0;
	background:#FFFFFF;
}
header::before{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:2px;
	background: #041b48;
	background: -moz-linear-gradient(left,  #041b48 0%, #33cccc 50%, #041b48 100%);
	background: -webkit-linear-gradient(left,  #041b48 0%,#33cccc 50%,#041b48 100%);
	background: linear-gradient(to right,  #041b48 0%,#33cccc 50%,#041b48 100%);
}
header::after{
	content:"";
	position:absolute;
	left:0;
	bottom:-8px;
	width:100%;
	height:8px;
	pointer-events:none;
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.1) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0.1) 0%,rgba(0,0,0,0) 100%);
}

header #header_identity{
	float:none;
	width:100%;
	padding:7px 15px 5px 15px;
	height:64px;
}
header #header_identity p{
	display:inline-block;
	width:150px; /*width:150px height:52px*/
}

header #header_utility{
	display:none;
}

#toggle{
	display:block;
	position:absolute;
	width:38px;
	height:35px;
	right:15px;
	top:15px;
	cursor:pointer;
}
#toggle span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#toggle span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background: #1F3E81;
}
#toggle span:nth-of-type(1) {
	top: 3px;
}
#toggle span:nth-of-type(2) {
	top: 16px;
}
#toggle span:nth-of-type(3) {
	bottom: 3px;
}
#toggle span:nth-of-type(1) {
  -webkit-animation: menu-bar01 .75s forwards;
  animation: menu-bar01 .75s forwards;
}
#toggle span:nth-of-type(2) {
	transition: all .25s .25s;
	opacity: 1;
}
#toggle span:nth-of-type(3) {
	-webkit-animation: menu-bar02 .75s forwards;
	animation: menu-bar02 .75s forwards;
}
#toggle.active span:nth-of-type(1) {
  -webkit-animation: active-menu-bar01 .75s forwards;
  animation: active-menu-bar01 .75s forwards;
}
#toggle.active span:nth-of-type(2) {
  opacity: 0;
}
#toggle.active span:nth-of-type(3) {
  -webkit-animation: active-menu-bar03 .75s forwards;
  animation: active-menu-bar03 .75s forwards;
}


/*第二階層*/
#header_wrap .header_image{
	height:80px;
}

#pankuzu{
	padding:20px 15px;
}
#pankuzu li:first-child{
	padding-left:0;
}


/*--------------------------------------------------------------------*/
/*グローバルナビゲーション*/
/*--------------------------------------------------------------------*/
#nav_wrap{
	height:calc(100vh - 64px);
	width:100%;
	overflow-y:auto;
	position:fixed;
	left:0;
	top:64px;
	z-index:8000;
	transform: translateX(100%);
	transition: transform 0.5s;
	background:#F7F7F7;
	margin:0;
}
#nav_wrap::before{ display:none; }
#nav_wrap.open{
	transform: translateX(0);
}

.gnav{
    display: block;
}
.gnav li{
	text-align: left;
	padding:0;
	border:0;
}
.gnav li a{
	padding:8px 30px 8px 15px;
	border-bottom:1px solid #C6C6C6;
	vertical-align:middle;
	height:auto;
	font-size:14px;
	position:relative;
}
.gnav li a.gnav_accordion::before{
	content:"";
	position:absolute;
	right:15px;
	bottom:50%;
	margin-top:5px;
	width: 5px;
	height: 5px;
	border: 2px solid;
	border-color: transparent transparent #565656 #565656;
	transform: rotate(-45deg);
}
.gnav li a span.icon{
	display:inline-block;
	vertical-align:middle;
	margin:0;
	margin-right:10px;
}
.gnav li a span.icon img{
	width:30px;
}

.gnav li .subnavi{
	position: static;
	border-top:none;
	border-bottom:1px solid #C6C6C6;
	background:#EEEEEE;
	padding:20px 35px 10px 55px;
}
.gnav li .subnavi .subnavi_title{
	display:none;
}
.gnav li .subnavi .subnavi_menu{
	width:100%;
	float:none;
	padding:0;
}

.gnav li .subnavi .subnavi_menu .subnavi_meeting{
	border-bottom:1px dotted #CCCCCC;
	padding-bottom:10px;
	margin-bottom:15px;
}
.gnav li .subnavi .subnavi_menu .subnavi_meeting .logo{
	display:none;
}
.gnav li .subnavi .subnavi_menu .subnavi_meeting .text{
	float:none;
	width:100%;
}

.gnav li .subnavi .subnavi_menu .headtext{
	font-size:16px;
	padding:0;
}
.gnav li .subnavi .subnavi_menu .line3 li{
	width:100%;
}

#gnav_animation .subnavi {
	visibility: visible;
	transform: rotateX(0);
	display:none;
}

nav .sp{ display:block; }
nav .sp{
	text-align:center;
	margin-top:20px;
}
nav .sp li{
	display:inline-block;
	font-size:14px;
	margin-left:10px;
}
nav .sp li a{
	display:inline-block;
	height:32px;
	min-width:32px;
	line-height:32px;
	padding:0 20px 0 25px;
	background:rgba(0, 0, 0, 0.4);
	border-radius:32px;
	color:#FFFFFF;
	text-decoration:none;
	text-align:center;
	position:relative;
	transition:background .3s;
}
nav .sp li a::before{
    content: "";
    display:inline-block;
    width: 0;
    height: 0;
    border-top: solid 3px transparent;
    border-right: solid 3px transparent;
    border-bottom: solid 3px transparent;
    border-left: solid 3px #FFFFFF;
    position: absolute;
    top: 50%;
    left:12px;
    margin-top:-3px;
}
nav .sp li.icon a{
	width:32px;
	padding:0;
}
nav .sp li.icon a::before{
	display:none;
}
nav .sp li a img{
	width:20px;
	vertical-align:middle;
}
nav .sp li a:hover{
	background:rgba(0, 0, 0, 0.6);
}


/*--------------------------------------------------------------------*/
/*見出し*/
/*--------------------------------------------------------------------*/
h1{
	font-size:14px;
	padding:8px;
}
h2{
	font-size:24px;
}
h3{
	font-size:18px;
	padding-left:15px;
	margin-bottom:15px;
}
h3::before{
	width:5px;
}

h5{
	font-size:16px;
	padding:5px 15px;
	margin-bottom:15px;
	background: #072c7a;
	background: -moz-linear-gradient(left,  #072c7a 0%, #072c7a 80%, #33cccc 100%);
	background: -webkit-linear-gradient(left,  #072c7a 0%,#072c7a 80%,#33cccc 100%);
	background: linear-gradient(to right,  #072c7a 0%,#072c7a 80%,#33cccc 100%);
}


/*--------------------------------------------------------------------*/
/*TOPメインコンテンツ*/
/*--------------------------------------------------------------------*/
#top_contents_wrap{
	padding-top:40px;
}

/*新着情報*/
#top_news{
	padding:0 15px;
}
#top_news .top_news_list{
	height:280px;
}
#top_news .top_news_list li{
	padding:12px 12px 12px 30px;
	background:url(../img/common/news_icon.png) no-repeat 10px 17px;
}
#top_news .top_news_list li p.newsTitle{
	width:100%;
}


/*Working Groups、Initiatives*/
#top_wg,
#top_initiatives{}
#top_wg .top_wg_inner,
#top_initiatives .top_wg_inner{
	padding:20px 15px 20px 15px;
}

.top_box04_list .image{
	margin-bottom:10px;
}
.top_box04_list .title{
	background:none;
	padding:0;
	font-size:16px;
	font-weight:bold;
}
.top_box04_list .title span{
	font-size:12px;
	margin-top:3px;
}


/*News Mail*/
#top_newsmail{
	padding:15px 0;
}
#top_newsmail .w1100{
	padding:15px 15px 20px 15px;
}
.top_newsmail_box .box{
	min-height:0;
}
.top_newsmail_box .title{
	font-size:18px;
	background:url(../img/common/topmail_icon.png) no-repeat 15px center;
	background-size:15px 15px;
	padding:5px 10px 5px 40px;
}
.top_newsmail_box .text{
	padding:15px;
	font-size:14px;
}
#top_contents_wrap .top_newsmail_box .text a.btn{ color:#222222; }
.top_letter_wrap .top_letter_link{
	font-size:16px;
}
.top_letter_wrap .top_letter_link span{
	font-size:14px;
}


/*パララックス解除*/
.parallax-mirror{ display:none; }
#top_wg{
	background:url(../img/top/bg_wg.jpg) no-repeat center;
	background-size:cover;
}
#top_initiatives{
	background:url(../img/top/bg_initiatives.jpg) no-repeat center;
	background-size:cover;
}
#top_newsmail{
	background:url(../img/top/bg_newsmail.jpg) no-repeat center;
	background-size:cover;
}


/*--------------------------------------------------------------------*/
/*フッター*/
/*--------------------------------------------------------------------*/
footer .footer_logo{
	padding:15px;
	margin-bottom:0;
	border-bottom:none;
}
footer .footer_logo img{
	max-width:180px;
}
footer .footer_menu_wrap{
	display:none;
}
.footer_menu2{
	text-align:center;
}

/*--------------------------------------------------------------------*/
/*ページトップ*/
/*--------------------------------------------------------------------*/
#pageTop{
	display:none;
}

/*--------------------------------------------------------------------*/
/*第二階層*/
/*--------------------------------------------------------------------*/
#main_wrap{
	padding-bottom:0;
	padding:0;
}
.side_nav{
	float:none;
	width:100%;
	box-shadow:none;
	margin-top:40px;
	margin-bottom:0;
}
.main_contents{
	float:none;
	width:calc(100% - 20px);
	margin:0 10px;
	padding:30px 15px;
}
.main_contents_wrap{
	float:none;
	width:calc(100% - 20px);
	margin:0 10px;
}
.main_contents_box{
	padding:30px 15px;
}

/*サブナビ*/
.side_nav ul{
	display:flex;
	width:100%;
    flex-flow:wrap;
}
.side_nav ul li{
	width:50%;
}
.side_nav ul li:nth-child(even){
	border-left:1px solid #CCCCCC;
}
.side_nav ul li a,
.side_nav ul li.sub a{
	padding:10px 10px 10px 20px;
	position:relative;
	font-size:13px;
}
.side_nav ul li a::before,
.side_nav ul li.sub a:before{
    top: 15px;
    left:10px;
	margin-top:0;
}
.side_nav ul li.sub a:before{
	border-left-color:#666666;
}
.side_nav ul li.title{
	background:#E6ECF3;
}


#sp_menu{
	display:block;
	padding:0 10px;
	margin-bottom:15px;
}
#sp_menu h1{
	display:none;
}
#sp_menu_btn{
	background:#FFFFFF;
	cursor:pointer;
	padding:15px 30px 15px 15px;
	font-size:14px;
	position:relative;
	box-shadow:1px 1px 3px rgba(0, 0, 0, 0.2);
}
#sp_menu_btn::before{
	content:"";
	position:absolute;
	right:15px;
	bottom:50%;
	margin-top:5px;
	width: 5px;
	height: 5px;
	border: 2px solid;
	border-color: transparent transparent #565656 #565656;
	transform: rotate(-45deg);
}
#sp_menu ul{
	display:none;
	background:#FFFFFF;
	margin:0 10px;
	width:calc(100% - 20px);
	box-shadow:1px 1px 3px rgba(0, 0, 0, 0.2);
}
#sp_menu ul li{
	font-size:13px;
}
#sp_menu ul li a{
	display:block;
	padding:15px 30px 15px 15px;
	text-decoration:none;
	color:#222222;
}
#sp_menu ul li.sub a{
	padding:15px 30px 15px 25px;
}
#sp_menu ul li.sub a:before{
	content:"- ";
	color:#666666;
}
#sp_menu ul li.active a{
	background:#E6ECF3;
}
#sp_menu ul li + li{
	border-top:1px solid #CCCCCC;
}


}



/******************************************************************************************
	sp size
******************************************************************************************/

@media screen and (max-width: 519px) {


/*--------------------------------------------------------------------*/
/*ヘッダー*/
/*--------------------------------------------------------------------*/
#header_wrap .sp-mask, #header_wrap .sp-slide{ height:400px; }


/*--------------------------------------------------------------------*/
/*ボックス*/
/*--------------------------------------------------------------------*/
/*写真右*/
.photoarea_r .photo,
.photoarea_l .photo,
.photoarea_small_r .photo,
.photoarea_small_l .photo{
	float:none;
	width:100%;
	text-align:center;
}
.photoarea_r .text,
.photoarea_l .text,
.photoarea_small_r .text,
.photoarea_small_l .text{
	float:none;
	width:100%;
}
.photo + .text,
.text + .photo{
	margin-top:20px;
}

/*2列*/
.box02:not(.nowrap){
	margin-top:-15px;
	margin-right:0;
}
.box02:not(.nowrap) .box{
	width: 100%;
	margin: 15px 0 0 0;
}

/*4列*/
.box03:not(.nowrap){
	margin-top:-15px;
	margin-right:-5%;
}
.box03:not(.nowrap) .box{
	width: 45%;
	margin: 15px 5% 0 0;
}

/*4列*/
.box04{
	margin-top:-15px;
	margin-right:-5%;
}
.box04 .box{
	width: 45%;
	margin: 15px 5% 0 0;
}

/*テーブル*/
/*ラベル追加＆分離*/
.sp_list{
	border:none;
	margin-top:-15px;
}
.sp_list thead {
	display:none;
}
.sp_list tbody th {
	display:block;
	width:100%;
	padding-left:60px;
	position:relative;
	border-top:none;
	border-left:1px solid #CCC;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
.sp_list tbody td {
	display:block;
	width:100%;
	padding-left:60px;
	position:relative;
	border-top:none;
	border-left:1px solid #CCC;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
}
.sp_list tbody th::before,
.sp_list tbody td::before {
	content: attr(label);
	width:50px;
	font-weight:bold;
	color:#006699;
	position: absolute;
	left:8px;
	font-size:13px;
}
.sp_list tbody th:first-child,
.sp_list tbody td:first-child{
	margin-top:15px;
	border-top:1px solid #CCC;
}

/*横幅個別設定*/
.espi tbody th,
.espi tbody td{
	padding-left:100px;
}
.espi tbody th::before,
.espi tbody td::before {
	width:90px;
}


/*--------------------------------------------------------------------*/
/*About APRSAF*/
/*--------------------------------------------------------------------*/
.tbl_history {
	width: 100%;
}
.tbl_history td {
	display:block;
	width:100%;
	border-top:none;
	border-left:none;
	border-right:none;
}
.tbl_history colgroup{
	display:block;
}
.tbl_history colgroup.itemNumber  { width: 100%; }
.tbl_history colgroup.itemVenue  {	width: 100%; }
.tbl_history colgroup.itemFlag  { width: 100%; }
.tbl_history colgroup.itemInfo  { width: 100%; }

.tbl_history th+td{
	font-weight:bold;
	text-align:center;
	background:#006699;
	color:#FFFFFF;
}

.tbl_history tbody th.timeLine {
	display:block;
	width: 100%;
	padding: 5px;
}



/*--------------------------------------------------------------------*/
/*Annual Meetings*/
/*--------------------------------------------------------------------*/
.meeting_list li{
	padding:10px;
}
.meeting_list li a{
	display:block;
}
.meeting_list li .logo{
	width:100%;
	text-align:center;
}
.meeting_list li .text{
	width:100%;
	margin-left:0;
	padding:5px 10px;
	border-left:none;
}
.meeting_list li .text .date{
	height:20px;
	line-height:20px;
	padding-left:25px;
	background-size:auto 18px;
	font-size:13px;
	margin-bottom:3px;
}
.meeting_list li .text .place{
	height:20px;
	line-height:20px;
	padding-left:25px;
	background:url(../annual_meetings/img/icon_place.png) no-repeat left center;
	background-size:auto 20px;
	font-size:13px;
}
.meeting_list li .text .place img{
	width:20px;
}

/*タイトル*/
.main_contents_box.meeting_title{
	padding:5px;
}
.meeting_title .logo{
	width:30%;
}
.meeting_title .text{
	width:calc(70% - 5px);
	margin-left:5px;
	padding:5px 0 5px 10px;
}
.meeting_title .text .name{
	font-size:20px;
	margin-bottom:0;
}
.meeting_title .text .date{
	height:18px;
	line-height:18px;
	padding-left:22px;
	background:url(../annual_meetings/img/icon_date.png) no-repeat 1px center;
	background-size:auto 14px;
	font-size:13px;
	margin-bottom:0;
	margin-right:0;
}
.meeting_title .text .place{
	display:block;
	height:18px;
	line-height:18px;
	padding-left:22px;
	background:url(../annual_meetings/img/icon_place.png) no-repeat left center;
	background-size:auto 16px;
	font-size:13px;
}
.meeting_title .text .place img{
	width:20px;
}


/*APRSAF Online 2020*/
.ap2020_mimg{
	padding:20px 10px 10px 10px;
	font-size:14px;
}
.ap2020_mimg .logo img{
	max-width:120px;
}
.timezone_selectarea{ margin-top:20px; }


/*スポンサー(AP26)*/
.exhibitors_silver li,
.exhibitors_bronze li{
	width:100%;
	float:none;
}

.exhibitors_gold li div {
    width: 50%;
	padding-right:10px;
}
.exhibitors_gold li p{
	width:calc(50% - 12px);
}
.exhibitors_silver li div {
    width: 45%;
}
.exhibitors_silver li p{
	width:calc(55% - 12px);
}


/*スポンサー(AP2020～)*/
.sponsor_s li{
	width:calc(50% - 15px);
	margin:0 5px;
	padding:5px;
}
.sponsor_s li div{
	padding:0;
}

.sponsor_l li{
	width:calc(50% - 15px);
	margin:5px;
	padding:5px;
}
.sponsor_l li div{
	padding:0;
	margin-bottom:5px;
}
.sponsor_l li p.video_l{
	padding:0 5px;
}

/*プログラム*/
.tb_program{ width:100%; }
.tb_program th{
	display:block;
	width:100%;
	text-align:left;
	padding:0;
	font-weight:bold;
	color:#666666;
	margin-top:15px;
}
.tb_program tr.firstChild th{
	margin-top:0;
}
.tb_program td{
	display:block;
	width:calc(100% - 15px);
	margin-left:15px;
}
.tb_program th.sp_n,
.tb_program td.sp_n{
	display:none;
}
.tb_program .title{
	width:100%;
}
.tb_program .title_link{
 	position:static;
	margin-top:5px;
}

.tb_program .speaker_box{
	width:100%;
	padding: 8px 0 8px 10px;
	margin:0;
}
.tb_program .speaker_box.country_box .photo{ width:100px; }
.tb_program .speaker_box .name{
	width:calc(100% - 70px);
	font-size:12px;
}
.tb_program .speaker_box .name .name_t{
	font-size:14px;
}
.tb_program .speaker_box.longbox .name{	width:calc(100% - 70px); }
.tb_program .speaker_box.country_box .name{
	width:calc(100% - 110px);
	padding:0;
}


/*タブ*/
.tab_program li a{
	font-size:14px;
	font-weight:bold;
	text-decoration:none;
	color:#1D89CA;
	padding:8px 2px;
}


/*--------------------------------------------------------------------*/
/*News Mails*/
/*--------------------------------------------------------------------*/
/*ボタン*/
a.btn_newsmails{
	padding:10px 15px 10px 45px;
	font-size:20px;
}
a.btn_newsmails::after{
    left:25px;
}
a.btn_newsmails span{
	font-size:13px;
}


/*--------------------------------------------------------
	 ポスターコンテスト投票
--------------------------------------------------------*/
#poster_contest_vote #vote_wrap{
	padding:15px;
}
#poster_contest_vote #vote_wrap .question{
    margin-bottom: 5px;
}
#poster_contest_vote #vote_wrap .field{
	padding-left:0;
	font-size:13px;
}
#poster_contest_vote #vote_wrap input[type="text"]{
	font-size: 16px;
}
#poster_contest_vote #vote_wrap .entry_list{
	width:102%;
}
#poster_contest_vote #vote_wrap .entry_list li{
	width:48%;
	margin:0 2% 15px 0;
}
#poster_contest_vote #vote_wrap .entry_list li .image{
	height:100px;
}
#poster_contest_vote #vote_wrap .send input{
	margin:0 10px 10px 10px;
}


}
