@charset "utf-8";
/* CSS Document */

/*font*/
@import url("font.css");

/*chrome*/
*:focus {
outline: none;
}

body{ font-family: 'Noto Sans JP','Noto Sans Japanese','Meiryo', sans-serif;
-webkit-text-size-adjust: none;
position: relative;
min-width: 1080px;
margin: 0 auto;
padding: 0;
width: 100%;
height: 100%;
overflow: visible;
transition: none;
font-weight: 400;
}

header,#contWrap{ display: none; }

#contWrap{ display: flex;
	max-width: 1080px;
	width: 100%;
	margin: 0 auto; }


/*==============================================================================*/
/*hover */
/*==============================================================================*/
.mailBtn a,nav li a,#btnPagetop a, #submitBtn input:hover,#breadcrumb li a,
.externalIcon a,#entryBtn a,.btn a,.dlbtn a,#programBn a, #qrBox a,#loginBtn a,
.watchBtn a,.watchBtn2 a,#abstract .entryNotice .btn a{	
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;}


/*==============================================================================*/
/*header */
/*==============================================================================*/
header{ z-index: 3; position: relative; }
#topmain{ max-width: 1741px;
	background-position: right 0;
	background-repeat: no-repeat; width: 96%;
	 background-size: 100%;
	float: right; position: relative; border-radius: 0 0 0 20px;
}

nav{ width:240px;  box-sizing: border-box;
	margin-right: -190px;
	position: relative;
	z-index: 3;
}

/*logo*/
#logo a{ display: block;width: 100%; box-sizing: border-box; padding:12px 40px 8px; transition: 1.0s ;}
#logo a:hover,#bannerCont li a:hover,.externalIcon a:hover,nav li a:hover,.dlbtn a:hover,
#programBn a:hover, #qrBox a:hover,#loginBtn a:hover,
.watchBtn a:hover,.watchBtn2 a:hover { opacity: 0.6 ;}


/*==============================================================================*/
/* nav*/

nav::before,nav li a,
#mainNav{ position: relative; }

nav{ letter-spacing: 0;  }
nav::before,
#mainNav::after{ position: absolute;  content: ""; width: 250px;}

#mainNav{  font-weight: 400;  border-radius: 20px; background: #174a7c}

nav li a:hover{ background: #11355f; }
nav li a{ padding:20px 10px 20px 30px;  display: block;  color:#fff;  width: 240px; font-weight: 500;} 


nav li:not(:last-child) a{ border-bottom: 1px dotted #aaa; }

.navName{  position: relative; }


nav li a.active{ color:#fff; background: #5b9be7;}
nav li:first-child a,
nav li:first-child a.active,nav li:first-child a:hover{border-radius: 20px 20px 0 0;}
nav li:last-child a,
nav li:last-child a.active,nav li:last-child a:hover{border-radius: 0 0 20px 20px;}


nav li a:hover .navName{ color:#fff; }

/**/
nav li a::after,#entry .entryNoticeBox a:after{
 border-top: 2px solid #a6eaff;
 border-right: 2px solid #a6eaff; 
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	right: 20px;
}

nav li.nolink a::after{ border-color: #ccc; }
nav li a.active::after{ border-color:#a6eaff }


/* > */
nav li a::after,#entry .entryNoticeBox a:after,.btn a:after, .dlbtn a:after,#loginBtn a:after,
.watchBtn a:after,.watchBtn2 a:after{ 
	content: '';
	position: absolute;
	top: 50%;
	display: block;
	width: 6px;
	height: 6px;
	margin-top: -2px;
}


/* > */
/*font awesome共通設定*/
#btnPagetop a::before{ font-family: "Font Awesome 5 Free";font-weight: 900;font-size: 0.7em; }


/*linkない*/
.nolink a{ pointer-events: none; color:#aaa; } 

.txtbr span span{ font-size:0.9em; }
.navName span br{ display:none; }

#subNav{ font-size: 0.8666666666666667em; position:relative; }

/*外部リンクアイコン*/
.externalIcon a i,.external2 a i {
    position: relative;
	font-style: normal;
}

.externalIcon a i::after,.external2 a i::after {
	background-position: 0 0;
    background-repeat: no-repeat;
    position: absolute;
    content: "";
    margin-left: 8px;
}

.externalIcon a i::after { 	background-image: url(../img/externallinkIcon.svg); width: 10px;
    height: 10px;}
#speaker #undCont .externalIcon a i::after{margin-left:inherit;top: 0;}

.external{ position: absolute; content:""; background: url(../img/externalIcon.png) 6px 0 no-repeat;
	width: 16px; height: 10px; padding-left: 5px; }
.external2 a i::after{ 	background-image: url(../img/externalIcon.png); width: 10px;
    height: 10px; }

#programBn{ margin-top: 15px; }
#programBn a img{ border:#eee 1px solid }

#programBn.nolink a{ opacity: 0.5; }

/*==============================================================================*/
/*content */
/*==============================================================================*/
main{ 
	position:relative; z-index: 1; width: 100%;
	/*display: flex;
	flex-wrap: wrap;*/
}

#wrapper{ background: url(../img/contentBg.png) 0 0 repeat-y; margin-top: -3vw; background-size: 100%; }

#redTxt,.redTxt{ color: #a52e2a; }


.innerBox{margin: 0 auto; box-sizing: border-box; }
/*title*/
.maintitle{ font-size:1.5625em;  color:#003c89; font-weight: 400;  line-height: 1.4em; position: relative;
	padding-bottom: 10px;
}

#officeWrap{ background: #fefefe; position: relative;}
#officeWrap::before{ position: absolute; left:0; bottom: 0; background: url(../img/footerImg.jpg) 0 0 no-repeat; 
content: ""; max-width: 671px; max-height: 258px; width: 100%; height: 100%;
}
#footeroffice{ width: 1000px;  margin: 0 auto;}
#officeBox { width: 750px; 
	position: relative; z-index: 2;}


/*事務局*/
#officeBox dl:first-child{ margin-bottom: 40px; }
.managementBox{ margin-left: 2%; }
#secretariatBox,.managementBox{ box-sizing: border-box; width: 47%; font-weight: 400;}
#officeBox{	display: flex; padding: 60px 0 30px; }



.secretariatTitle{font-weight: 400;
 padding:0 0 6px; margin-bottom:14px;  border-radius:4px ; background:#fff;
color:#225281; position:relative;}


.secretariatTitle:before,
.maintitle:after{ content: ""; position: absolute; 
	background:#19458e; height:2px; width: 12px;
	bottom: -10px;
	margin-bottom: 10px;
	left: 0;
	}

.secretariatBox{ font-weight: 400; }	
.secretariatBox dt{ font-size: 1.05em;}
.secretariatBox dt span{ font-size: 0.9em;}



/*運営事務局*/
#managementTitle{background:#698dcd;}
address{ padding-top: 8px; line-height: 1.6em; margin-bottom:20px; }
address p{ margin-bottom: 18px; }
.addtel{ color:#001c7a;padding-right:5px; }
.telnum, .faxnum{ display:inline-block; }
.telnum{margin-right:20px;}
.telnum span, .faxnum span{ color:#001c7a; font-size: 0.9em; }
.telnum br{ display:none; }

/*mail*/
.mailBtn { letter-spacing: 2px; }

.icon-mail{ position: relative; margin-left: 20px;}
.icon-mail::before{background: url(../img/mailHover.svg) center 0 no-repeat; position: absolute; content: "";  
    width: 18px; height: 12px; left: -23px; top: 25%; }



.mailBtn, .mailBtn2,#entryBtn li,.entryBtn2 li,.dlbtn { position:relative; }
.mailBtn a{  color:#fff;background: #f46b74; font-weight: 500; }
.mailBtn a,.mailBtn2 a,.btn a{ max-width:310px; padding: 14px 0; text-align: center;}
.mailBtn a,.mailBtn2 a,#entryBtn a,.entryBtn2 a,.dlbtn a,.programList li a,#programList li a {border-radius:10px;display: block; 
  box-sizing:border-box;}
.mailBtn a:hover{ background-color:#f35963; color:#fff; }

.btn a{ color:#fff; background: #1f4f87; position: relative; width: 300px; border-radius: 4px; display: block;}
.btn a:hover{ background: #3194cb }
.btn a:after{ border-top: 2px solid #fff;
	border-right: 2px solid #fff; 
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	right: 20px; }

/*pdf*/
.pdfIcon{ background: url(../img/pdfIcon.png) 0 0 no-repeat; background-size: 18%; 
	content: "";  width: 130px;  height: 50px;   left: 38px;}


/*==============================================================================*/
/* footer
============================================================================== */
/*pagetop btn*/
#btnPagetop{position: fixed;bottom: 55px;right: 10px;font-size: 21px; z-index: 10;}
#btnPagetop a { width: 50px;  height: 50px;  padding: 17px 0;
	background:rgb(0, 56, 104,0.8); text-decoration: none;color: #fff;box-sizing: border-box;
text-align: center;display: block;border-radius: 100%;
}
#btnPagetop a:hover{ background: rgba(18,47,123,0.8) }



#btnPagetop a span {display: none;}
/* arrow */
#btnPagetop a::before { display: block; content: "\f077";}

footer{ background:#174a7c; color:#fff; padding:20px 0; text-align: center; 
	width: 100%; bottom: 0; z-index: 2; position: relative; }


/*=========================================================*/
/*sp-----------------------------------------------------*/

@media screen and (max-width: 1270px) {
body{ width: 100%; }
nav{ position:absolute;left: 90px; }

/*nav*/
nav li:last-child a{ border-bottom:none; }
nav li:last-child a::after{ line-height: 2em; }


#subNav li a:after{color:#ccc; }
/*外部リンクアイコン*/
#mainNav .externalIcon a span { background-position:135px 4px; }
#subNav .externalIcon a span { background-position:100px 4px; }
.externalIcon a:after{ margin-top:-9px; line-height: 0; }
.externalIcon3 a{ background-position:168px 14px; }

main{ width: 100%; box-sizing: border-box; }
#wrapper{ width: 100%; }
#contWrap{ min-height: 625px; }
#officeBox { margin-left: 290px;}
}




/*pc-----------------------------------------------------*/
@media screen and (min-width: 1271px) {
/*main{ width:calc(100% - 250px); }*/


/*nav*/
nav li a{ padding-right:10px; }
.externalIcon a span{ border-bottom:#fff 1px solid; }
nav li:nth-child(11).externalIcon a span,
nav li:nth-child(6).externalIcon a span{ border-bottom: none; }


/*外部リンクアイコン*/
#mainNav .externalIcon a span{ width:133px;  }

.externalIcon a span{ width: 108px; margin-bottom:-1px; padding-bottom:1px ; }

/*IE*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.externalIcon a span{ background-position: 96px 0; }
 }

 #mainNav .externalIcon a span,
 #subNav .externalIcon a span{ background-position:right 4px; }

 /*
.innerBox{ width:1270px;max-width: 90%;}*/

#bannerCont{ padding: 4% 2%; }	

/*footer*/
#officeBox { margin-left: 250px;}
#officeWrap{ margin-top: -1.6vw;}
}

@media screen and (max-width: 1690px) {
#officeWrap::before{ width: 32vw;
	background-size: 100%;
	height: 12.3vw;}
}
@media screen and (max-width: 1190px) {
	#logo a{padding-left: 6vw;}
}