/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */


/* =============================================================================
   HTML5 display definitions
   ========================================================================== */

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }


/* =============================================================================
   Base
   ========================================================================== */

/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */

html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

html, button, input, select, textarea { font-family: sans-serif; color: #222; }

body { margin: 0; font-size: 1em; line-height: 1.4; }

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: hot pink! (or customize the background color to match your design)
 */

::-moz-selection { background: #fe57a1; color: #fff; text-shadow: none; }
::selection { background: #fe57a1; color: #fff; text-shadow: none; }


/* =============================================================================
   Links
   ========================================================================== */

a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }

/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
a:hover, a:active { outline: 0; }


/* =============================================================================
   Typography
   ========================================================================== */

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: bold; }

blockquote { margin: 1em 40px; }

dfn { font-style: italic; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }

ins { background: #ff9; color: #000; text-decoration: none; }

mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }

/* Redeclare monospace font family: h5bp.com/j */
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }

/* Improve readability of pre-formatted text in all browsers */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }

q { quotes: none; }
q:before, q:after { content: ""; content: none; }

small { font-size: 85%; }

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }


/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }


/* =============================================================================
   Embedded content
   ========================================================================== */

/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/i/440
 */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }

/*
 * Correct overflow not hidden in IE9
 */

svg:not(:root) { overflow: hidden; }


/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }


/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }

/* Indicate that 'label' will shift focus to the associated form element */
label { cursor: pointer; }

/*
 * 1. Correct color not inheriting in IE6/7/8/9
 * 2. Correct alignment displayed oddly in IE6/7
 */

legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */

button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */

button, input { line-height: normal; }

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */

button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }

/*
 * Re-set default cursor for disabled elements
 */

button[disabled], input[disabled] { cursor: default; }

/*
 * Consistent box sizing and appearance
 */

input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */

textarea { overflow: auto; vertical-align: top; resize: vertical; }

/* Colors for form validity */
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }


/* =============================================================================
   Tables
   ========================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* =============================================================================
   Chrome Frame Prompt
   ========================================================================== */

.chromeframe { margin: 0.2em 0; background: #ccc; color: black; padding: 0.2em 0; }


/* ==|== primary styles =====================================================
   Author:
   ========================================================================== */

html{
	font-size:62.5%;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#000;
}
body{
	background:url(../img/back.jpg) repeat-x 0 0;
}
.square:before{
	content:"■";
}
.lt-ie8 .square{
	zoom: expression( new Function('square','this.runtimeStyle.zoom="1", this.insertBefore( document.createElement("span"), this.firstChild ).innerHTML = "■"' )(this) );
}
.dot:before{
	content:"・";
}
.lt-ie8 .dot{
	zoom: expression( this.runtimeStyle.zoom="1", this.insertBefore( document.createElement("span"), this.firstChild ).innerHTML = "・" );
}
.kome:before{
	content:"※";
}
.lt-ie8 .kome{
	zoom: expression( this.runtimeStyle.zoom="1", this.insertBefore( document.createElement("span"), this.firstChild ).innerHTML = "※" );
}

#wrapper{
	width:960px;
	margin:0 auto;
	position:relative;
	font-size:12px; font-size:1.2rem;
	line-height:1.35;
}

#header{
	padding:16px 0 0 0;
	height:167px;
}
	header#header h1{
		margin:0;
		float:left;
	}
	header#header p{
		margin:0 -7px 0 0;
		padding:0;
		float:right;
	}
	nav#globalNav{
		width:1000px;
		position:absolute;
		left:0;
		top:131px;
	}
	/* nav#grobalNav ul{
	} */
		nav#globalNav ul li{
			float:left;
			text-align:center;
		}
			nav#globalNav ul li a{
				display:block;
				width:159px;
				padding:14px 0 0 0;
				height:31px;
				border:solid #666;
				border-width:0 1px;
				margin:0 0 0 -1px;
				transition:height .2s linear, background .2s linear;
				-webkit-transition:height .2s linear, background .2s linear;
				-moz-transition:height .2s linear, background .2s linear;
				-o-transition:height .2s linear, background .2s linear;
			}
			nav#globalNav ul li:first-child a{
				margin:0;
				width:158px;
			}
			nav#globalNav ul li.this a,
			nav#globalNav ul li a:hover{
				background:#333 url(../img/header/nav/hilite.jpg) repeat-x 0 0;
				width:161px;
				height:38px;
				border:0;
				position:relative;
				z-index:100;
			}
			#index nav#globalNav ul li.this a,
			nav#globalNav ul li:first-child a:hover{
				width:160px;
			}

#contents{
	clear:both;
	margin:11px 0 27px 0;
}
	#side{
		width:235px;
		border:1px solid #CCC;
		background:#FFF;
		padding:9px;
		float:left;
	}
		#side h1,
		#main_footer h1{
			font-size:12px; font-size:1.2rem;
			font-weight:normal;
			background:url(../img/h_blue.jpg) repeat-x 0 0;
			height:20px;
			margin:0 auto;
			color:#FFF;
			padding:7px 0 0 3px;
		}
		#side ol{
			margin:7px 0 15px 0;
			padding:0;
			list-style-type:none;
		}
			#side ol li{
				margin:5px 0 15px 0;
			}
			#side ol li:first-line{
				color:#E54C8D;
			}
		#side p{
			margin:8px 0;
		}
			#side p em{
				color:#E54C8D;
				font-style:normal;
			}
		#side a.collapsible{
			cursor:pointer;
		}
		/* #index #side table{
		} */
			#index #side td{
				text-align:right;
			}
			#index #side tr:last-child td:last-child{
				text-align:center;
			}
		#side dl{
			margin:7px 0 10px 0;
		}
			#side dl dt{
				font-weight:bold;
			}
			#side dl dd{
				margin:0 0 20px 0;
			}
			#side dl dd:last-child{
				margin-bottom:0;
			}
		#side ul{
			padding:0;
			list-style-type:none;
			margin:9px 0 14px 0;
		}
		section#salesOffice ul{
			width:244px;
		}
		.lt-ie7 section#salesOffice ul{
			width:235px;
		}
			#side ul li{
				margin:0 0 8px 0;
			}
				#side ul li h2{
					font-size:12px; font-size:1.2rem;
					margin:0;
					color:#E54C8D;
				}
					#side ul li ul{
						margin:0;
					}
						#side ul li ul li{
							margin:0 0 20px 0;
						}
						#side ul li:last-child ul li:last-child{
							margin:0;
						}
						#side ul li ul li:before{
							content:"・";
						}
	#main{
		width:695px;
		float:right;
	}
		#main section{
			overflow:hidden;
		}
		.lt-ie8 #main section{
			zoom:1;
		}
			#main h1{
				margin:0 0 9px 0;
			}
			#main h1 img{
				margin:0 0 5px 0;
			}
			section#program ol{
				list-style-type:none;
				margin:0 0 10px 0;
				padding:0;
			}
				section#program ol li{
					margin:0 0 32px 0;
					display:block;
					/*height:160px;*/
					width:100%;
					clear:both;
				}
				section#program ol li:last-child{
					margin:0;
				}
			#main div.right{
				width:456px;
				float:right;
			}
				section#program div.right h1{
					margin:0 10px 15px 0;
					float:left;
				}
				section#special div.right h1{
					margin:0 0 3px 0;
				}
				div.right p{
					line-height:1.5;
					margin:0 0 11px 0;
				}
				div.right p:last-child{
					margin:0;
				}
				section#program div.right p{
					clear:both;
					font-size:12px; font-size:1.2rem;
				}
			p.img{
				margin:0;
			}
			p.img2{
				margin:0 0 0 15px;
			}
		#main_footer{
			margin:21px 0 0 0;
		}
			#main_footer div.r1{
				margin:0 0 30px 0;
				overflow:hidden;
			}
			.lt-ie8 #main_footer div.r1{
				zoom:1;
			}
			#main_footer section{
				width:338px;
			}
			/*#main_footer section.r1{
				height:273px;
			}*/
			#main_footer section:nth-child(2n-1){
				float:left;
			}
			#main_footer section:nth-child(2n){
				float:right;
			}
				#main_footer h1{
					text-align:center;
				}
				section#socialGathering h1{
					text-align:left;
				}
				#main_footer p{
					margin:7px 0;
				}
				section#socialGathering p:last-child{
					margin:-7px 0 0 0;
				}
					#main_footer p em{
						color:#F10D79;
						display:block;
						margin:0 0 18px 0;
						font-style:normal;
					}
				#main_footer dl{
					margin:7px 0
				}
					#main_footer dl dt{
						margin:17px 0 0 0;
					}
					#main_footer dl dt:first-child{
						margin:0;
					}
					section#socialGathering dl dt{
						font-weight:bold;
					}
					#main_footer dl dd{
						margin:0;
					}
					#main_footer ul,
					#main_footer ol{
						list-style-type:none;
						padding:0;
					}
					#main_footer ul{
						margin:-10px 0 27px 0;
					}
						#main_footer ul li{
							margin:10px 0;
						}
					#main_footer ol{
						line-height:2;
						margin:2px 0 0 6px;
					}
					#main_footer ol li{
						display:block;
						float:left;
						width:160px;
					}
footer#footer{
	margin:0 0 43px 0;
}

/* other */
#other{
	line-height:1.5;
	margin:21px 0 19px 0;
	overflow:hidden;
}
.lt-ie7 #other{
	zoom:1;
}
	#other section h1{
		margin:0 0 20px 0;
	}
	#other article section h1,
	#other section article h1,
	#other section section h1{
		background:url(../img/h_pink.jpg) repeat-x 0 0;
		font-size:15px; font-size:1.5rem;
		color:#FFF;
		height:27px;
		margin:0 0 12px 0;
		padding:8px 0 0 8px;
	}

	
	/* mission */
	#mission #other p{
		margin-top:0;
	}
	#mission #other p#jp{
		width:469px;
		float:left;
	}
	#mission #other div{
		float:right;
		width:456px;
		height:301px;
		padding:0 0 0 24px;
		border-left:1px solid #929292;
	}
	
	/* program */
	#program #other table{
		width:700px;
		margin:0 auto 17px auto;
	}
	#program #other article section{
		margin:0 0 20px 0;
		overflow:hidden;
	}
	.lt-ie8 #program #other article section{
		zoom:1;
	}
		#program #other div.left{
			float:left;
			width:200px;
			text-align:center;
			margin:0 0 0 10px;
		}
		#program #other div:nth-child(2){
			margin:0 0 0 15px;
			width:524px;
			text-align:left;
		}
		.lt-ie7 #program #other div:nth-child(2){
			margin:0 0 0 7px;
		}
		#program #other small{
			font-family:Arial, Helvetica, sans-serif;
		}
		#program #other ul{
			list-style-type:none;
			margin:0;
			padding:0;
		}
			#program #other ul li{
				display:inline;
				margin:0 5px 0 0;
			}
			#program #other ul li.block{
				display:list-item;
			}
		/* #program #other p.img{
		} */
			#program #other p.img img{
				margin:0 0 0 10px;
			}
			.lt-ie7 #program #other p.img img{
				margin:0 0 0 9px;
			}
			.left p.img img{
				margin:0 !important;
			}
	
	/* special */
	#special #other div.left{
		width:740px;
		float:left;
	}
	#special #other table{
		width:720px;
		margin:0;
	}
		#special #other table tr th{
			text-align:left;
		}
	#special #other p.img{
		float:right;
		margin:0;
		text-align:center;
	}
		#special #other p.img img{
			margin:0 0 10px 0;
		}
			
	/* messages */
	#messages #other article section{
		overflow:hidden;
	}
	.lt-ie8 #messages #other article section{
		zoom:1;
	}
	#messages section{
		margin:0 0 24px 0;
	}
		#messages #other div.left{
			width:710px;
			float:left;
		}
		#messages #other p{
			margin-top:0;
		}
		#messages #other p:last-child{
			margin-bottom:0;
		}
		#messages #other p.img{
			float:left;
			width:auto;
			margin:0 20px 0 0;
		}
		
	/* contact */
	#contact section{
		overflow:hidden;
	}
		#contact p.left{
			float:left;
			width:550px;
			margin-top:0;
			padding:0 20px 0 0;
			border-right:1px solid #CCC;
		}
		#contact p.right{
			float:right;
			margin-top:0;
			width:370px;
		}
		#button{
			text-align:center;
		}
	
	/* thanks */
	#thanks p{
		text-align:center;
	}
		
	

/* table */
table:not(.mailform){
	margin:5px 0 10px 0;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	background:#fff;
	border-collapse:separate;
	border-spacing:1px;
	width:100%;
}
table.mailform{
	border:1px solid #ccc;
}
	caption{
		text-align:center;
		font-weight:bold;
		margin:0 0 10px 0;
	}
	table:not(.mailform) th,
	#program td:nth-child(2){
		margin:0;
		padding:5px;
		border-right:1px solid #cccccc;
		border-bottom:1px solid #cccccc;
		background-color: #EBEBEB;
		vertical-align:middle;
		font-weight:normal;
	}
	thead th{
		text-align:center;
	}
	tbody th{
		text-align:right;
	}
	table:not(.mailform) td{
		border-bottom:1px solid #ccc;
		border-right:1px solid #ccc;
		margin:0;
		padding:5px;
		line-height:1.5em;
	}



/* ==|== media queries ======================================================
   EXAMPLE Media Query for Responsive Design.
   This example overrides the primary ('mobile first') styles
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}



/* ==|== non-semantic helper classes ========================================
   Please define your styles before this section.
   ========================================================================== */

/* For image replacement */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden { display: none !important; visibility: hidden; }

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }

/* Hide visually and from screenreaders, but maintain layout */
.invisible { visibility: hidden; }

/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }



/* ==|== print styles =======================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}

/*フォント追加*/
.f-black-12em{
	font-size:1.2em;
}

#side ol date{color:#E54C8D;}