@charset "utf-8";
/* CSS Document */

/*font*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@600&display=swap');

/*chrome*/
*:focus {
outline: none;
}

 body{ font-family: 'Noto Sans JP',"游ゴシック", 'YuGothic', "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro",'Meiryo', sans-serif;
-webkit-text-size-adjust: none;/*position: relative;*/ }

body {
animation: fadeIn 0.2s ease 0s 1 normal;
-webkit-animation: fadeIn 0.2s ease 0s 1 normal;
}

@keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
0% {opacity: 0}
100% {opacity: 1}
}

/*==============================================================================*/
/*hover */
/*==============================================================================*/
.mailBtn a,#btnPagetop a,#placeName a, #place a,#linkWrap li a,
.btn a,.btn2 a,.btn3 a, #accessBtn a, .moreBtn a,#sponsorBox li a,#breadcrumb li a,#submitBtn input{	
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;}

#placeName a:hover{  filter: alpha(opacity=85); -moz-opacity:0.85; opacity:0.85; }
/*==============================================================================*/
/*header */
/*==============================================================================*/
/*logo*/
#logo a{ display: block;
padding:20px 0; width:220px; margin:0 auto; transition: 1.0s ;}

#underLogo a:hover { opacity: 0.9 ;}
#logo a:hover,#bannerCont li a:hover,#sponsorBox li a:hover { opacity: 0.6 ;}


#accessBtn{ display: flex; }
#accessBtn a .icon-external{ position: relative; }
#accessBtn a .icon-external::before{font-size: 0.75em; top: 1px; position: absolute; padding-left: 5px;}
#accessBtn a{background: #ae0020;  display: block; text-align: center;}
#accessBtn a:hover{ background: #db5f53; }

#accessBtn a,
#accessBtn a .icon-external::before,
#accessBtn a .icon-mail::before{ color: #fff; }
#accessBtn a .icon-mail::before{ padding-left: 8px; font-size: 0.75em;}

/*==============================================================================*/
/* nav*/
nav{  letter-spacing: 0; }

nav li a{ display: block;  }

/* > */
#btnPagetop a::before{ 
	content: '';
	position: absolute;
	top: 50%;
	right: 16px;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	transform : rotate(45deg);

}


/*linkない*/
.nolink a{ pointer-events: none; color:#ccc; background: #eee; } 

.txtbr span span{ font-size:0.9em; }
.navName span br{ display:none; }


#subNav{ font-size: 0.8666666666666667em; position:relative; }
.redTxt{color: #db5f53;}

/*==============================================================================*/
/*content */
/*==============================================================================*/
main{/*width:auto; padding-left:240px; position:relative; z-index: 1;*/ transition: none;}

/**/
.innerBox{margin: 0 auto;box-sizing: border-box; }


#infoTitle,
.maintitle{ font-size:1.75em; text-align:center;}

/*external
.externalIcon i, .externalIcon2 i{  position: relative; }
.externalIcon i:before,.externalIcon i:after, .externalIcon2 i::before,.externalIcon2 i:after{ position: absolute; content:""; }
.externalIcon i:before{border-left:1px solid #db5f53; border-bottom:1px solid #db5f53;}
.externalIcon i:after{border:1px solid #db5f53;}

.externalIcon i:before, .externalIcon2 i::before{  width: 9px; height: 8px; right: -19px; }
.externalIcon i:after, .externalIcon2 i::after{  width: 7px; height: 5px; right: -20px; background:#fff; }*/

/*Information*/
#mainChairman .externalIcon i:before{ top: -4px;}
#mainChairman .externalIcon i:after{ top: -6px; }

/*
{ background:#fef9ed; }*/

#officeBox{ background:url(../img/infoBg.gif) repeat;  position: relative;
	/*margin-top:-2px; */}

/*事務局*/
#secretariatBox,#managementBox{ padding:20px 5.5%;  box-sizing: border-box; width:49%;}
#secretariatBox{ background:#fcfcfc; }

.secretariatTitle{  text-align: center; font-size:1.2em; color:#c23c3c; margin-bottom:10px;  padding-bottom: 15px; }

.maintitle,
.secretariatTitle{ position:relative; }

.maintitle::after{ border-bottom:2px solid #e24d36; width: 58px; }
.maintitle::after,
.secretariatTitle::after{ content:""; text-align: center;
	position: absolute; bottom: 0; 	left: 50%;
	 transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
.secretariatTitle::after{ border-bottom:2px solid #efc4bf; width: 30px; }


.secretariatBox dt{ font-size: 1.12em; }
.secretariatBox p{ margin-bottom:10px; line-height: 1.6em; }
.telnum span, .faxnum span{ background:#f5f6f6; padding: 2px 8px; margin-right: 8px; }

/*運営事務局*/
#managementBox{background:#fff; }
#managementTitle{background:#698dcd;}
address{ padding-top:7px;  line-height: 1.8em; margin-bottom:20px; }
.addtel{ color:#001c7a;padding-right:5px; }
.telnum, .faxnum{ display:inline-block; }
.telnum{margin-right:40px;}
.telnum br{ display:none; }

/*mail*/
.mailBtn, #linkWrap li a,.btn a,.btn2 a{ position:relative; }
.mailBtn a,.btn a{ border:1px solid #e18a81; color:#e18a81;background: #fff;
	border-radius: 4px;display: block; padding: 14px 0;	max-width: 380px; box-sizing:border-box; text-align: center;}
.mailBtn a:hover,
#linkWrap li a:hover,.btn a:hover{ background-color:#fcf1ef; border-color: #c23c3c; color:#c23c3c; }

.mailBtn a:before,.btn a:before{ color: #8e1c18; }

.mailBtn a i{ margin-right:10px; }
.mailBtn a:hover:before{ color:#ffd9e4; }

.btn2 a{  color:#fff;background: #c23c3c;
	border-radius: 4px;display: block; padding: 14px 0;	max-width: 340px; box-sizing:border-box; text-align: center;}
.btn2 a:hover{  background: #bd1111; }


/*>*/
#linkWrap li a:after, .btn a:after, .btn2 a:after{ 
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #db5f53;
	border-right: 2px solid #db5f53;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);    
}

.btn2 a:after{ border-top: 2px solid #db5f53;
	border-right: 2px solid #db5f53; }

#linkWrap .externalIcon i::before{ height:8px; }

.txtline{background: url(../img/linethrough.png) 0 5px repeat-x }
#mainNav li i{ font-size: 0.7em; margin-left: 10px;}
.txtUnd{ margin-bottom: 10px!important; display: inherit; }

#sponsorWrap{ background: #fef9ed; position: relative;}
#sponsorWrap::before,
#sponsorWrap::after{ position: absolute; top:0; content: ""; background-repeat: no-repeat;}
#sponsorWrap::before{left:0; background-image: url(../img/bamboo.png);
	background-position: 0 -50px; }

#sponsorWrap::after{ right:0; background-image: url(../img/bamboo2.png) ; background-position: right 20px; 
	width: 407px; height: 400px;   z-index: 0;}


#sponsorBox{ margin: 0 auto ;  justify-content: center; color:#c23c3c; flex-wrap: wrap;
	position: relative; z-index: 1; }
#sponsorBox, #sponsorBox li{ display: flex; align-items: center;}
#sponsorBox li{ /*width: 50%*/ position: relative; margin-bottom: 20px;}

#sponsorBox li a{ border: 1px solid #ffd7d2; }
#sponsorBox li span { width: 90px; display: block;}
#sponsorBox li img,#sponsorBox li a{ width: 100%; }

/*・*/
#sponsorBox li:before{ content:"";  position: absolute; left:0; }

/*==============================================================================*/
/* footer
============================================================================== */
/*pagetop btn*/
#btnPagetop{position: fixed;right: 20px;font-size: 21px; z-index: 3;}
#btnPagetop a { width: 44px;  height: 44px;  padding: 11px 0;
background:rgba(222, 32, 68,0.8);	text-decoration: none;color: #fff;box-sizing: border-box;
text-align: center;display: block;
}
#btnPagetop a:hover{ background: rgba(174, 0, 32, 0.8) }

#btnPagetop a span {display: none;}
/* arrow */
#btnPagetop a::before { display: block;}

footer{ background:#5e0005; color:#fff; padding:18px 3%; text-align: center; }

.mailBtn .icon-mail::before{ color:#db5f53 ; }

/*=========================================================*/
/*sp-----------------------------------------------------*/
@media screen and (min-width: 1410px) {
	#sponsorWrap::before{  width: 347px; height: 313px; background-size: 60%;}
	#sponsorWrap::after{ background-size: 100%; height: 290px; width: 280px; }
}

@media screen and (min-width: 1060px) and (max-width: 1409px) {
#sponsorWrap::before,#sponsorWrap::after{ background-size: 100%;  }
#sponsorWrap::before{  max-width: 347px; max-height: 313px; height: 290px; width:16%; }
#sponsorWrap::after{ max-width: 347px; max-height: 313px; height: 290px; width: 10%;
	background-position: 0 bottom;}
}

@media screen and (max-width: 1249px) {
.telnum {margin-right: 2%;}
}

@media screen and (min-width: 1060px) and (max-width: 1159px) {
#secretariatBox, #managementBox {padding: 3% 2%;}
.telnum span, .faxnum span{ padding: 2px 5px; }
}

@media screen and (min-width: 373px) and (max-width: 1059px) {
address{ letter-spacing:0.5px; }
}


@media screen and (min-width: 641px) and (max-width: 908px) {
.telnum{ margin-bottom:5px;}
}

@media screen and (max-width: 1059px) {
html{ width: 100%; }
#humberger{	transition-duration: 0.05s!important;	transition-timing-function: ease-in;}
.pc,.drawer #drawernav, .drawer #drawernav{ display: none; }
.drawer.drawer-opened #drawernav,.drawer.drawer-opened #drawernav{ display: block; }
body,#accessBtn,
#accessBtn li{ width: 100%; }
body{ position: relative;}
#accessBtn{ position: fixed; bottom: 0; z-index: 3;}
#accessBtn li a{ padding:12px 0 }
#accessBtn li:first-child a{ border-right: 1px solid #c34a60; }
#accessBtn li:last-child a{ border-left: 1px solid #8e0015; }


/*header*/
/*nav*/
nav li a{ position: relative; color: #db5f53; padding: 15px 20px;}
nav li a::after{ 
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #db5f53;
	border-right: 2px solid #db5f53;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);    
}
nav li:last-child a::after{ line-height: 2em; }
nav li a:hover{ background:#ffe0e6; }

#mainNav{ background:#fee; }
#mainNav li a:after{ color:#b85953; }

#subNav li a:after{color:#ccc; }

/*drawer 外部リンクアイコン*/
.drawer-opened #mainNav .externalIcon i:before{ width: 9px; height: 8px; right: -19px; }

main{ padding-left:0; }
img{ max-width: 100%; }

.innerBox{ width: 96%;}


#officeBox{ padding: 4% 0;}

#sponsorBox li {width: 46%;}
#sponsorBox li a{ width: 100%; }
#sponsorBox li:nth-child(odd){ margin-right:4%;}

#sponsorWrap::before{ background: none;}
#sponsorWrap::after{ width: 30%;
height: 450px;	background-size: 80%; background-position: right 0;}

footer{  margin-bottom: 20px; padding-bottom: 55px; }
}

@media screen and (min-width: 751px) {
#sponsorBox{  padding: 5% 0 3%;}
}

@media screen and (max-width: 750px) {
#sponsorBox{ flex-wrap: wrap; padding: 5% 0 2%;}
#sponsorBox li{ margin-bottom: 2%; }
#sponsorBox li:not(:first-child){ margin-left: 0; }
#btnPagetop{bottom: 74px!important;}

}


@media screen and (min-width: 481px) and (max-width: 750px) {
#sponsorBox li span{ width: 100px; }
}

@media screen and (max-width: 721px) {
#officeBox address p br{ display:none; }
}


@media screen and (max-width: 700px) {
#secretariatBox, #managementBox{ width:100%; }
}

@media screen and (max-width: 640px) {
#secretariatBox{margin-bottom:2%; }
#infoTitle, .maintitle{font-size: 1.52em;}
}

@media screen and (max-width: 570px) {
#bannerWrap li{ width:48%; }
.mailBtn a,.mailBtn2 a{	width:100%; }
}

@media screen and (max-width: 510px) {
nav li.txtbr a:after { margin-top:-35px; }
.navName span{ display: block; }
}


@media screen and (max-width: 498px) {
#btnPagetop { bottom: 103px!important; }
}

@media screen and (max-width: 487px) {
	#officeBox address p br{ display:block; }
}
@media screen and (max-width: 480px) {
	#sponsorBox li,
	#sponsorBox li:first-child { width: 48%;}
	#sponsorBox li{ font-size: 0.9em; }
}

@media screen and (max-width: 379px) {
.telnum{ margin-bottom: 5px; }
}
@media screen and (max-width: 373px) {
#managementBox .secretariatBox p{ letter-spacing: 0.5px; }
#officeBox	address br{ display:none; }
.telnum{ margin-bottom:5px;}
}

@media screen and (max-width: 328px) {
#officeBox address p br{ display:none; }
}


@media screen and (max-width: 320px) {
#btnPagetop { bottom: 95px; }
address{ letter-spacing: 0.2px; }
}

/*pc-----------------------------------------------------*/
@media screen and (min-width: 1060px) {
.sp{ display: none!important; }
#accessBtn{ align-items: flex-end; justify-content: flex-end;position: relative; z-index: 3;}
#accessBtn li:first-child{ margin-right: 2px; }
#accessBtn a{width: 200px; height: 52px;}
header{ position: relative; z-index: 2;}
#drawernav ul, nav{  height: 50px;}
#accessBtn a,
#drawernav ul{ display: flex; justify-content: center; align-items: center;}
#drawernav ul li a{display: block; width: 100%; height: 68px; text-align: center; line-height: 1.2em;}
nav{ width: 1000px!important; margin: -25px auto 0; z-index: 0; position: relative; }
/*nav li a{ transition: linear 0.1s!important }*/
#mainNav{ margin:-20px 0 0 }

/*nav*/
#drawernav ul,
#drawernav ul li a,
#drawerInnerMenu,nav li a{ transition: none; }
nav a,
nav li a{ color:#fff ; }

nav li a{ background:#e24d36; color: #fff; padding:13px 31px; }
nav li:first-child a,
nav li:nth-child(2) a,
nav li:nth-child(3) a,
nav li:nth-child(5) a{ padding-top:23px ; padding-bottom:23px ;}


nav li a .navName, #subNav li a span{ margin-bottom:-1px; padding-bottom:2px ;}
nav li a.active{ background:#ae0020; }

#subNav li a.active span, #subNav li a:hover span{ background:#ef9284;  color:#fff;}

nav li a:hover { background:#c23c3c ; color:#fff ;}
 
.innerBox{ width: 90%;max-width: 1000px;}
.maintitle{ margin-bottom: 35px;}

/*footer*/

#sponsorBox li:not(:nth-child(3n)){ margin-right:18px;}

/*事務局*/
#officeBox{ padding: 50px 0;}
#btnPagetop{bottom: 40px!important;}
}


@media screen and (min-width: 641px) {
#officeBox div{ display: flex; }
#managementBox{margin-left:2%; }
}

@media screen and (min-width: 392px) {
footer br{ display: none; }
}