@charset "utf-8";


/*----------------------------------------------------------------------------
							すべて共通
--------------------------------------------------------------------------- */

html, body{
		font-size				: 	1.1rem										;
    	font-family				: 	sans-serif									;
	  	color 					: 	#333333										;
	  	margin 					: 	0											;
		padding					: 	0											;
	  	background-color 		: 	#ffffff										;
		
		}
	
body, div, p, h1, h2, h3, h4, ul, figure{
		margin					: 	0											;
		padding					: 	0											;
		}
p, td, th, li{
		line-height				: 	2											;
		}
img{
		width					: 	100%										;
		height					: 	auto										;
		}

.wrap{
		width					: 	100%										;/*footerをページ下部に固定*/
     	position				: 	relative									;
     	min-height				: 	100vh										;
     	}
		

.container{
    	margin                  :   0 auto                             			;
   	 	padding                 :   0 10px										;
    	max-width               :   1200px                                      ;
		padding-bottom			: 	40px										;/*footerの高さ*/
    	}

main{
		padding-top				: 	0px											;
		padding-bottom			: 	50px										;
	 	width 					: 	100%										;
		}

.main-content{
    	margin              	:   50px  0 50px 0                           	;
		}
		
		

@media screen and (min-width: 767px) {
	.main-content{
    	margin              	:   50px  0  50px  0                    		;
		}
		}

.main-section
    margin						:	40px 0 										;
	}
	
@media ( min-width : 768px ){
	.main-section
		{
    	margin					:	50px 0 	50px 0								;
		}
		}


/*----------------------------------------------------------------------------
								ヘッダー
--------------------------------------------------------------------------- */


header{
		height 					: 	40px										;
		padding 				: 	10px 0	5px 0								;
		margin 					: 	0											;
		
		}

.header-inner{
		display					: 	flex										;
		justify-content			: 	space-between								;
		align-items				: 	center										;
		margin					: 	5px 0 5px 5px								;
		}

@media screen and (min-width: 768px) {
	.header-inner{
		max-width				: 	1200px										;
		margin					: 	5px 0 5px 5px								;
  		height 					: 	40px										;
  		padding 				: 	0px											;
    	line-height 			: 	40px										;
  		}
		}

.keyvisual{
    	padding					: 	0 											;
		margin					: 	0 											;
		}
		


/*----------------------------------------------------------------------------
								ナビゲーション
--------------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
.nav{
    	position				: 	fixed										;
    	right					: 	-320px										; /* 右から出てくる */
    	top						:	0											;
    	width					: 	300px										; /* スマホサイズ */
    	height					: 	100vh										;
    	padding-top				: 	60px										;
   	 	background-color		: 	#fff										;
    	transition				: 	all .6s										;
    	z-index					: 	200											;
    	overflow-y				: 	auto										; /* メニューが多くなったらスクロールできるように */
  		}
  	
.hamburger{
    	position				: 	absolute									;
    	right					: 	20px										;
    	width					: 	40px										;
    	height					: 	40px										;
   	 	cursor					: 	pointer										;
    	z-index					: 	300											;
		}

.nav_list{
   	 	margin					: 	0											;
    	padding					: 	0											;
    	list-style				: 	none										;
		}
  
.nav_item{
    	text-align				: 	center										;
    	padding					: 	0 											;
		}

.nav_item a{
    	display					: 	block										;
    	padding					: 	8px 0										;
    	border-bottom			: 	1px solid #eee								;
    	text-decoration			: 	none										;
    	color					: 	#333										;
		font-size 				: 	1.1em										;

		}

.nav_item a:hover{
    	background-color		: 	#eee										;
		}

.hamburger_border{
    	position				: 	absolute									;
		border					: 	1px solid #333								;
    	left					: 	11px										;
    	width					: 	35px										;
    	height					: 	1.5px										;
    	background-color		: 	#333										;
    	transition				: 	all .6s										;
		}

.hamburger_border_top{
    	top						: 	12px										;
		}
	
.hamburger_border_center{
    	top						: 	20px										;
  		}

.hamburger_border_bottom{
    	top						: 	28px										;
 		}
 	
.black_bg{
    	position				: 	fixed										;
    	left					: 	0											;
    	top						: 	0											;
    	width					: 	100vw										;
    	height					: 	100vh										;
    	z-index					: 	100											;
    	background-color		: 	#333										;
    	opacity					: 	0											;
    	visibility				: 	hidden										;
    	transition				: 	all .6s										;
    	cursor					: 	pointer										;
		}

  /* 表示された時用のCSS */
.nav-open .nav{
    	right					: 	0											;
  		}
  		
.nav-open .black_bg{
    	opacity					: 	.8											;
    	visibility				: 	visible										;
  		}
  		
.nav-open .hamburger_border_top{
    	border					: 	1px solid #333								;
    	background-color		: 	#333										;
    	transform				: 	rotate(45deg)								;
    	top						: 	20px										;
  		}
  		
.nav-open .hamburger_border_center{
    	border					: 	1px solid #333								;
    	background-color		: 	#333										;
    	width					: 	0											;
    	left					: 	50%											;
  		}
  		
.nav-open .hamburger_border_bottom{
    	border					: 	1px solid #333								;
    	background-color		: 	#333										;
    	transform				: 	rotate(-45deg)								;
    	top						: 	20px										;
  		}
  		}

@media screen and (min-width: 767px) {
	.nav{
    	padding					: 	0 											;
		margin-top				: 	10px 										;
		width 					: 	100%										;										
		background-color 		: 	#fff										;
		}
	
	.nav_list{
		margin					: 	0 auto 										;
		display					: 	flex !important								;
		list-style-type			: 	none										;
		background-color 		: 	#fff										;
		max-width 				: 	800px										;
		}

	.nav_list li{
		flex					: 	1 1 auto									;
    	padding					: 	0 											;
		height 					: 	25px										;
		line-height 			: 	25px										;
		}

	.nav_list li a{
		display					: 	block										;
		text-decoration			: 	none										;
		text-align				: 	center										;
		border-right			: 	1px solid #000								;
		color 					: 	#333										;
		transition				:	0.5s										;
		}

	.nav_list li:first-child{
		border-left				: 	1px solid #000							;
		}

	.nav_list li a:hover{
		color					: 	#b22222										;
		}

	 .hamburger{
		display					: 	none										;
		}
		}


@media screen and (min-width:768px) {
	.sp{
		display					: 	none										;
		}
		}

@media screen and (max-width:767px) {
	.pc{
		display					: 	none										;
		}
		}




/*----------------------------------------------------------------------------
							見出し
--------------------------------------------------------------------------- */
h1{
		color 					: 	#333										;
		font-size 				: 	1em										;
		font-weight				:  	normal										;
		}

h2{
    position                    :   relative                                	;
    padding                     :   0.25em 0                                	;
    color						:	#333										;
	font-weight					:	normal										;
    }

h2::after{
    content                     :   ""                                      	;
    display                     :   block                                   	;
    height                      :   4px                                     	;
    background                  :   -webkit-linear-gradient(to right, #165e83, transparent)   ;
    background                  :   linear-gradient(to right, #165e83, transparent)           ;
    }


h3{
    margin-bottom				:	2rem										;
	padding-bottom				:	0.5rem										;
	font-size					:	1.3rem										;
	color						:	#223a70										;
    border-bottom               :   1px solid #223a70                  			;
	font-weight					:	normal										;

	}

h4{
    margin-bottom				:	2rem										;
	padding-bottom				:	0.5rem										;
	font-size					:	1.3rem										;
	color						:	maroon										;
    border-bottom               :   1px solid gray                  			;
	}

.small{
	font-size					:	1.5rem										;
	}


/*-----------------------------------------------------------------------------*/
/*   	境界線(hr)  設定				                         	 			*/
/*-----------------------------------------------------------------------------*/


hr{
	height						: 	0										;/* 境界線のリセットcss */
  	margin						: 	0										;
  	padding						: 	0										;
  	border						: 	0										;
	}

hr{
  	height						: 	1.5px									;
  	background-image			: 	-webkit-gradient(linear, left top, right top, from(transparent), color-stop(#262E6D), to(transparent))	;/*境界線 色 濃い青 */
  	background-image			: 	linear-gradient(to right, transparent, #262E6D, transparent)											;
	}

.green{
  	background-image			: 	-webkit-gradient(linear, left top, right top, from(transparent), color-stop(#3a5b52), to(transparent))	;/*境界線 色 深緑 */
  	background-image			: 	linear-gradient(to right, transparent, #3a5b52, transparent)											;
}

/* ---------------------------------------------------------------------------- */
/*      Galleryインデックス                       */
/* ---------------------------------------------------------------------------- */

.item-menu4{
    font-size                   :   1rem                                        ;
    float                       :   left                                        ;
    margin                      :   0 0 12px 10px                               ;
    border                      :   1px solid #640125                    		;
    width                       :   200px                                       ;
    text-align                  :   center                                      ;
    background-color            :   #fff                                 		;
    }

.item-menu4 a{
    display                     :   block                                       ;
    padding                     :   5px                                         ;
    text-decoration             :   none                                        ;
    color                       :   maroon                                     ;
    }

.item-menu4 a:visited{
    color                       :   maroon                                     ;
    }

.item-menu4 a:hover{
    color                       :   #fff                                       	;
    background-color            :   #800000                                 	;
	transition					: 	all .3s	ease-in								;
    }
  
.clearfix{
	zoom						:	100%										;
	}
    
.clearfix::after{
	content						:	" "											;
	clear						:	both										;
	height						:	0											;
	display						:	block										;
	visibility					:	hidden										;
	}

/* ---------------------------------------------------------------------------- */
/*        開催報告とへのリンク設定                                   				*/
/* ---------------------------------------------------------------------------- */

.news-information{
	width 						: 	280px									;
	height 						: 	50px									;
  	line-height 				: 	50px									;
  	text-align                  :   center                                  ;
	margin						:	50px auto								;
	}

@media ( min-width : 768px ){
	.news-information{
	  	margin					:	80px 0									;
		}
		}

.news-information a{
	display 					: 	block									;
	color						:	#fff									;
	text-decoration 			: 	none									;
  	background-color			: 	#779eaf									;
  	border-radius				: 	3px										;
  	border 						: 	1px solid #779eaf						;
	}

.news-information a:visited{
	color						:	#fff									;
	}

.news-information a:hover{
	background-color			: 	#fff									;
	color						: 	#779eaf									;
	transition					: 	all .4s									;
	}


/* ---------------------------------------------------------------------------- */
/*      箇条書き設定                                                        	*/
/* ---------------------------------------------------------------------------- */

dl{
	margin-left					:	5px 										;
	}

dt{
	float						:	left										;
	padding-top					:	15px										;
	line-height					:	1.5rem										;
	}

dd{
	padding-top					:	15px										;
	padding-left 				: 	5rem										;
	line-height					:	1.5rem										;
	}



/* ---------------------------------------------------------------------------- */
/*      幹事　箇条書き設定                                                       */
/* ---------------------------------------------------------------------------- */

.intro dl{
	margin-left					:	5px 										;
	}

.intro dt{
	float						:	left										;
	padding-top					:	15px										;
	line-height					:	1.5rem										;
	}

.intro dd{
	padding-top					:	15px										;
	padding-left 				: 	3rem										;
	line-height					:	1.5rem										;
	}


@media ( min-width : 768px ){
	.intro{
		width 					: 	1000px;
      	margin 					: 	20px	auto 50px auto						;
    	}

	.intro p{
      	margin-top 				: 	20px										;
      	padding-left 			: 	20px										;
		}
		}




/* ---------------------------------------------------------------------------- */
/*      report＆集合写真                                                        */
/* ---------------------------------------------------------------------------- */

@media ( min-width : 768px ){

.report{
		width 					: 	1000px										;
      	margin 					: 	20px	auto 50px auto						;
    	}


.syugo-photo{
    	max-width 					: 	100%									;
    	height 						: 	inherit									;
    	text-align                  :   center                                  ;
    	}

.syugo-photo p{
		font-size                   :   1.1rem                                  ;
    	padding						:	5px 0									;
		}

}
/*----------------------------------------------------------------------------
							ギャラリー  集合写真                          		
--------------------------------------------------------------------------- */
.gallery-photo{
		display					:	block										;
		background				: 	#fff										;
		text-align 				: 	center										;
   	 	margin					: 	0											;
		height 					: 	auto										;
		padding					: 	40px 0 60px 0								;
		}

.gallery-photo-img{
   	 	margin					: 	30px auto									;
    	box-shadow				: 	4px 4px 4px #cccccc							;
		background				: 	#fff										;
		}

.gallery-photo img{
		max-width 				: 	100%										;
		}
.text{
   	 	margin-top				: 	5px 										;
		}

.gallery-photo-t{
		font-size				:	1em											;
		color					:	#2c4f54										;
		}

.gallery-photo-p{
		font-size				:	0.9em										;
		line-height 			: 	1.1rem										;
		}

@media screen and (min-width: 767px) {
  .gallery-photo{
    	display					: 	flex										; 
    	flex-wrap				:	wrap										;
    	margin					: 	0 											;
  		}
		}


/*----------------------------------------------------------------------------
							フッター
--------------------------------------------------------------------------- */

footer{
		width					: 	100%										;
		height 					: 	35px										;
		background				:	#ECEDE8										;
		font-size				:	0.8em										;
		color					:	#000										;
		text-align				: 	center										;
		padding-top				: 	8px											;
		position				: 	absolute									;/*←絶対位置　フッターを下部に固定*/
    	bottom					: 	0											;/*←絶対位置　フッターを下部に固定*/
		}



/*  ----------------------------------------------------------------------------------------------------------------------------  */
/*      ページトップ(ページの先頭)へ戻るの設定                                                                                    */
/*  ----------------------------------------------------------------------------------------------------------------------------  */

#page-top{
    	position                 :   fixed                                      ;
    	right                    :   10px                                       ;
    	bottom                   :   10px                                       ;
    	font-size                :   1.2rem                                     ;
    	line-height              :   1.2rem                                     ;
    	text-align               :   center                                     ;
    	background               :   #fff                                       ;
    	color                    :   #737373                                    ;
    	padding                  :   10px                                       ;
    	border                   :   solid 1px                                  ;
    	border-radius            :   50%                                        ;
    	box-shadow               :   0 2px 10px -6px rgba(0,0,0,.5), 0 3px 10px -4px rgba(0,0,0,.2)  ;
    	text-decoration          :   none                                       ;
    	}



