@charset "UTF-8";

/* Sticky footer styles
-------------------------------------------------- */
html {
  position: relative;
  min-height: 100%;
}
body {
  /* Margin bottom by footer height */
  margin-bottom: 200px;
	/*font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;*/
	font-family: "Noto Sans Japanese";
}
.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 200px;
  background-color: #f5f5f5;
}


/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
body > .container {
  padding: 200px 0 0;
}
.container .text-muted {
  margin: 20px 0;
}

.footer > .container {
}

code {
  font-size: 80%;
}

p {
	font-size: 1.2em;
}
a {
	transition: 1.0s
}

.mincho {
	font-family: "Sawarabi Mincho";
}

@media (min-width: 768px) {
  .container {
    max-width: 980px;
  }
}

@media (max-width: 767px) {
	body {
		margin-bottom: auto;
	}
	body > .container {
		padding: auto;
	}
  .container {
		padding: 0;
		margin: 0;
  }
	.footer {
		position: static;
		height: auto;	
	}
}


/* --------------------------------------------------
 グリッド
-------------------------------------------------- */
.row10 {
    margin-left: -5px;
    margin-right: -5px;
}
.row10 > div{
	padding-right: 5px;
	padding-left: 5px;
}
.row20 {
    margin-left: -10px;
    margin-right: -10px;
}
.row20 > div{
	padding-right: 10px;
	padding-left: 10px;
}

/*.form-group {
	padding: 0;
	margin: 0;
}*/

/* --------------------------------------------------
 入力フォーム
-------------------------------------------------- */
label.subLabel {
	display: block;
	text-align: left;
}
.help-block {
	text-align: justify;
}

.inputS { width: 33%; }
.inputM { width: 66%; }

/* キャプチャ画像 */
#captchaArea {
	display: inline-block;
	border: 1px solid #333;
	padding: 5px;
}
#captchaArea #captchaImg {
	margin-bottom: 3px;
}

.confirmParam {
	padding-top: 7px;
	text-align: left;
}

.formAlert {
	padding: 15px;
	margin-bottom: 20px;
	color: #FFF;
	background-color: #F03;
	border: 1px solid #C00;
	border-radius: 5px;
}
.validErr {
	color: #F00;
	line-height: 1.4;
	text-align: left;
}

tr.has-error,
tr.has-error th,
tr.has-error td {
	background-color: #FF9DB8 !important;
}


/* --------------------------------------------------
 ヘッダー
-------------------------------------------------- */
#headerWrapper {
	margin-top: 30px;
	border-top: 1px solid #EBEBEB;
	/*border-top: 1px solid #253D73;
	border-bottom: 1px solid #253D73;
	background-color: #FFC;*/
	text-align: center;
	min-height: 150px;
}
#header {
	position: relative;
	z-index: 100;
	width: 100%;
	top: -30px;
	left: 0;
	margin: 0 auto;
}
#header h1 {
	position: absolute;
	display: block;
	top: 0px;
	left: 220px;
	margin: 0;
	padding: 0;
	line-height: 30px;
	font-size: 1.2em;
	font-weight: normal;
}
#header #logo {
	position: absolute;
	justify-content: center;
  align-items: center;
	top: 0;
	left: 5px;
	width: 200px;
	height: 200px;
	display: flex;
	background-color: #253D73;
	border-left: 1px solid #FFF;
	border-right: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	color: #FFF;
	text-align: center;
}

#menuToggle {
	display: none;
}
nav#mainMenu {
	position: absolute;
	top: 45px;
	right: 0px;
}
nav#mainMenu ul {
}
nav#mainMenu ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
nav#mainMenu ul li {
	float: left;
	margin-left: 2px;
}
nav#mainMenu ul li a {
	display: block;
	padding: 20px 5px;
	width: 140px;
	background-color: #5B9BD5;
	text-align: center;
	color: #FFF;
	border: 1px solid #FFF;
}
nav#mainMenu ul li a img {
	margin-bottom: 10px;
}
nav#mainMenu ul li a span {
	display: block;
}
nav#mainMenu ul li a:hover {
	background-color: #F90;
	text-decoration: none;
}


@media (max-width: 767px) {
	#headerWrapper {
		position: relative;
		margin: 0;
		background-color: #253D73;
		border: none;
		min-height: auto;
	}
	#header {
		position: static;
		padding: 10px 0 0;
	}
	#header h1 {
		position: static;
		margin: 0;
		padding: 0;
		line-height: auto;
		font-size: 1.2em;
		color: #FFF;
	}
	#header #logo {
		position: static;
		/*justify-content: flex-start;
		align-items: flex-start;*/
		width: auto;
		height: auto;
		display: inline-block;
		border: none;
		margin-bottom: 20px;
	}
	
	#menuToggle {
		position: absolute;
  	display: inline-block;
		top: 10px;
		right: 10px;
	}
	#menuToggle a {
		 display: block;
		 width: 50px;
		 line-height: 50px;
		 border: 1px solid #FFF;
		 color: #FFF;
		 text-decoration: none;
	}
	#menuToggle a:hover {
		background-color: #FFF;
		color: #253D73;
	}
	nav {
		padding: 0;
		margin: 0;
	}
	nav#mainMenu {
		position: static;
		display: block;
		width: 100%;
	}
	nav#mainMenu ul li {
		float: none;
		margin-left: auto;
		border-bottom: 1px solid #253D73;
	}
	nav#mainMenu ul li a {
		display: block;
		padding: 10px 0 0;
		width: 100%;
		line-height: 30px;
		border: none;
	}
	nav#mainMenu ul li a img {
		height: 30px;
		margin-right: 5px;
	}
	nav#mainMenu ul li a span {
		display: inline-block;
	}
	nav#mainMenu ul li a:hover {}
}


/* --------------------------------------------------
 フッター
-------------------------------------------------- */
.footer {
	background-color: #253D73;
	color: #FFF;
	padding-top: 30px;
}
#copyright {
	position: absolute;
	display: block;
	width: 100%;
	bottom: 0;
	left: 0;
	padding-bottom: 10px;
	text-align: center;
}
.footer a {
	color: #FFF;
}
.footer a:hover {
	color: #FF6;
}
#footerLogo {
	text-align: center;
}
#footerLogo img {
	margin-top: 10px;
}

@media (max-width: 767px) {
	#footerNavi {
		display: block;
		text-align: center;
	}
	#footerLogo,
	address {
		margin: 20px 0;
	}
	#copyright {
		position: static;
	}
}


/* --------------------------------------------------
 コンテンツ部
-------------------------------------------------- */
.longHeader {
	display: block;
	background-color: #253D73;
	color: #fff;
	text-align: center;
	margin: 0 auto 100px;
	padding: 10px;
	border-bottom: 2px solid #5B9BD5;
}
.shortHeader {
	display: inline-block;
	width: auto;
	color: #253D73;
	text-align: center;
	margin: 0 auto 50px;
	padding: 0 20px 10px;
	border-bottom: 2px solid #253D73;
}

.sectionBox {
	padding: 100px 0;
	text-align: center;
	border-top: 2px solid #253D73;
}
.sectionBox .sectionBoxBody {
	padding-left: 10px;
	padding-right: 10px;
	text-align: left;
}

.posCenter {
	display: inline-block;
	/*margin-left: auto !important;
	margin-right: auto !important;*/
}

.bgYP {
	background-color: #FEFDFF;
}

@media (max-width: 767px) {
	.longHeader {
		margin: 0 auto 50px;
	}
	.shortHeader {
		margin: 0 auto 30px;
	}
	.sectionBox {
		padding: 50px 0;
	}
}

/* --------------------------------------------------
 トップページ
-------------------------------------------------- */
#mainVisual {
	border-bottom: 2px solid #253D73;
}
#mainVisual .container {
	position: relative;
}
#mainVisual img {
	width: 100%;
	min-height: 450px;
}
#mainVisual p {
	position: absolute;
	bottom: 40px;
	left: 0px;
	color: #FFF;
	text-align: left;
	font-size: 4.0em;
	text-shadow: 2px 2px 3px #36C; 
}

#introduction {
	padding-top: 100px;
	padding-bottom: 100px;
}

@media (max-width: 767px) {
	#mainVisual {
		height: auto;
		overflow: hidden;
	}
	#mainVisual img {
		width: auto;
		height: 300px;
	}
	#mainVisual p {
		font-size: 3.0em;
		left: 10px;
	}
}


/* --------------------------------------------------
 協会について
-------------------------------------------------- */
table#outline {
	width: 600px;
	margin-left: auto;
	margin-right: auto;
}
table#outline th,
table#outline td {
	border: 1px solid #5B9BD5;
}
table#outline th {
	text-align: center;
}
table#outline td {
	text-align: left;
}

@media (max-width: 767px) {
	table#outline {
		width: auto;
	}
}


/* --------------------------------------------------
 お知らせ
-------------------------------------------------- */
.informationList {
	width: 700px;
	min-height: 200px;
	margin: 0 auto;
	text-align: left;
}
.informationList dl {
	font-size: 1.1em;
}
.informationList dl dt,
.informationList dl dd {
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.informationList dl dt {
	float: left;
	padding-left: 10px;
}
.informationList dl dd {
	padding-left: 150px;
	border-bottom: 1px dotted #CCC;
}

.informationBox {
	margin-bottom: 20px;
}
.informationBox .informationTitle {
	margin-bottom: 20px;
	border-bottom: 4px double #ddd;
}
.informationBox .informationBody {
	width: 50%;
	margin: 0 auto 20px;
	text-align: left;
}


@media (max-width: 767px) {
	.informationList {
		width: 100% !important;
	}

	.informationBox .informationBody {
		width: auto;
		padding: 0 10px;
	}
}


/* --------------------------------------------------
 ログイン
-------------------------------------------------- */
.form-signin {
  max-width: 330px;
  padding: 15px;
  margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
  margin-bottom: 10px;
}
.form-signin .checkbox {
  font-weight: normal;
}
.form-signin .form-control {
  position: relative;
  height: auto;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  font-size: 16px;
}
.form-signin .form-control:focus {
  z-index: 2;
}
.form-signin input[name="login_id"] {
  margin-bottom: -1px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.form-signin input[name="password"] {
  margin-bottom: 10px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}



