@charset "utf-8";

html {
	overflow-y: scroll;
}

body {
	color: #333333;
	font-size: 14px;
	font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, sans-serif;
	line-height: 1.5em;
	text-align: center;
	padding: 0;
	margin: 0;
	background-image: url(image/back.gif);
	background-repeat: repeat;
}

img {
  image-rendering: -webkit-optimize-contrast;
} 

#container {
	width: 960px;
	height: auto;
	margin: auto;
	padding: 0;
	text-align: center;
	background-image: url(image/containerback.gif);
	background-repeat: repeat-y;
	overflow: hidden;
}


/* ヘッダー・グローバルナビゲーション */

#header {
	width: 196px;
	height: 107px;
	margin: 0 auto 25px;
	padding: 0;
}

#frame {
	width: 218px;
	padding: 0;
	margin: 0;
	float: left;
	clear: left;
	background-image: url(image/navback.gif);
	background-repeat: repeat-x;
}

#nav {
	width: 169px;
	padding: 13px 13px 1px;
	margin: 0 auto;
	border: 1px solid #6E40A0;
}

#nav ul {
	padding: 0;
	margin: 0 auto;
}

#nav li {
	list-style: none;
	padding: 0px;
	margin: 0 0 11px;
	line-height: 0;
	font-size: 0px;
	vertical-align: bottom;
	background-image: none;
}

#banner {
	margin: 20px auto;
  width: 166px;
}

#banner ul {
	margin: 0;
  padding: 0;
}

#banner ul li {
	width: 166px;
  margin: 0 0 10px;
  padding: 0;
}

#banner ul li.sample {
	background: #a9a9a9;
  color: #fff;
  padding: 10px;
  width: 146px;
  height: 20px;
}

#banner ul li.sample2 {
	background: #a9a9a9;
  color: #fff;
  padding: 30px 10px;
  width: 146px;
  height: 20px;
}

#banner2 {
	margin: 20px auto 0;
  width: 90%;
}

#banner2 ul {
	margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

#banner2 ul li {
	width: 166px;
  height: 40px;
  margin: 0 5px 15px;
  padding: 0;
  text-align: center;
}

#banner2 ul li.sample {
	background: #a9a9a9;
  color: #fff;
  padding: 10px;
  width: 146px;
  height: 20px;
}

#banner2 ul li.sample2 {
	background: #a9a9a9;
  color: #fff;
  padding: 20px 10px;
  width: 300px;
  height: 20px;
}

#banner2 ul li.small {
  width: 210px;
}

#banner2 ul li img {
	width: 100%;
  border: 1px solid #000;
}

#banner3 {
	margin: 0 auto 20px;
  width: 166px;
}

#banner3 ul {
	margin: 0;
  padding: 0;
}

#banner3 ul li {
	width: 166px;
  height: 40px;
  margin: 0 0 15px;
  padding: 0;
}

#banner3 ul li.sample {
	background: #a9a9a9;
  color: #fff;
  padding: 10px;
  width: 146px;
  height: 20px;
}

#banner3 ul li.sample2 {
	background: #a9a9a9;
  color: #fff;
  padding: 30px 10px;
  width: 146px;
  height: 20px;
}

#banner4 {
	margin: 0 auto 20px;
  width: 166px;
}

#banner4 ul {
	margin: 0;
  padding: 0;
}

#banner4 ul li {
	width: 166px;
  margin: 0 0 15px;
  padding: 0;
}

#banner4 ul li img {
	width: 100%;
}

/* フッター */

#footer {
	width: 727px;
	height: auto;
	margin: 0;
	padding: 6px 15px 6px 0;
	background-color: #48248e;
	color: #FFF;
	font-size: 12px;
	text-align: right;
	float: right;
	clear: right;
}


/* トップページコンテンツ */

#toptitle {
	width: 742px;
	text-align: left;
	margin: 0;
	padding: 0;
	float: right;
	clear: right;
}

#top {
	width: 741px;
	text-align: left;
	margin: 0 0 20px;
	padding: 0;
	float: right;
	clear: right;
}

#about {
	width: 720px;
	padding: 11px 0;
	height: auto;
	margin: 0 auto 20px;
	line-height: 1.8em;
	background-image: url(image/about_back.gif);
	background-repeat: repeat-y;
	overflow: hidden;
}

.img_about {
	width: auto;
	float: right;
	margin: 12px 15px 8px 20px;
	padding: 0;
}

p.about {
	margin: 20px 20px 10px 30px;
	padding: 0;
	text-indent: 0;
}

#bigbanner {
	width: 720px;
	margin: 0 auto 10px;
}

#bigbanner img {
	width: 100%;
}

#news {
	width: 720px;
	height: auto;
	padding: 0;
	margin: 0 auto 15px;
	background-color: #FFF;
	text-align: left;
	clear: both;
}

#news ul {
	height: 320px;
	margin: 0 0 5px;
	padding: 18px 10px 5px 25px;
	list-style: none;
	overflow: auto;
}

#news ul li {
	list-style: none;
	padding: 2px 0 8px 18px;
	background-position: 0 8px;
	background-image: url(image/li.gif);
	background-repeat: no-repeat;
}

a.red:link, a.red:visited {
	color: #f00;
}

#contact {
	margin: 15px auto 5px;
	width: 650px;
	padding: 25px 10px 15px;
	overflow: hidden;
	background-color: #ecdfff;
}

#contact p.left {
	margin: 0 5% 10px;
	text-indent: -0.8em;
	float: left;
	width: 40%;
}

#contact p.right {
	margin: 0 5% 10px;
	text-indent: -0.8em;
	float: right;
	width: 40%;
}


/* 全ページ共通コンテンツ */

#main {
	width: 741px;
	text-align: left;
	margin: 0;
	padding: 0 0 10px;
	float: right;
	clear: right;
	background-color: #FFF;
	min-height: 797px;
}

img {
	border-style: none;
}

img.ic {
	vertical-align: bottom;
}

.img_right {
	float: right;
	margin: 3px 35px 5px 15px;
}

.img_left1 {
	float: left;
	margin: 8px 20px 5px 35px;
	text-align: center;
}

.img_left2 {
	float: left;
	margin: 10px 20px 25px 44px;
	text-align: center;
}

img.rightmargin {
	margin-right: 5px;
}

hr {
	border: 1px dotted #999999;
	margin: 30px 20px;
	clear: both;
}

.clear {
	clear: both;
}

a:link {
	color: #2D4197;
}

a:visited {
	color: #2D4197;
}

a:active {
	color: #581388;
}

a:hover {
	color: #581388;
}

h1 {
	margin:0px;
	padding: 0px;
}

h2 {
	height: 20px;
	width: 716px;
	margin: 20px auto 11px;
	padding: 27px 0 27px 25px;
	background-image: url(image/h2.gif);
	background-repeat: repeat-x;
	font-size: 20px;
	font-weight: normal;
	color: #343235;
	line-height: 20px;
}

h3 {
	width: 702px;
	height: 17px;
	color: #404040;
	font-size: 17px;
	font-weight: normal;
	margin: 25px auto 15px;
	padding: 9px 0 6px 18px;
	line-height: 17px;
	background-image: url(image/h3.gif);
	background-repeat: no-repeat;
}

h3.about {
	width: 720px;
	height: 38px;
	font-weight: normal;
	margin: 0 auto;
	padding: 0;
	background-image: none;
}

h3.news {
	margin: 0 auto;
}

h3.first {
	margin-top: 11px;
}

h4 {
	margin: 15px 15px 5px 25px;
	padding: 0;
	font-size: 15px;
	font-weight: bold;
	color: #2D4197;
}

h4.first {
	margin-top: 12px;
}

h5 {
	margin: 5px 15px 0 30px;
	padding: 0;
	font-size: 14px;
	font-weight: bold;
}

h5.about {
	margin: 2px 10px 15px 15px;
	font-size: 15px;
	font-weight: bold;
}

sup, sub {
	font-size: 0.5em;
	line-height: 0.5em;
}

p {
	margin: 5px 25px 5px 35px;
	padding: 0;
	text-indent: 0.7em;
}

p.noindent { /* 字下げしない */
	text-indent: 0;
}

p.allindent {
	text-indent: 0;
	margin-left:44px;
}

.first { /* 冒頭段落：上マージン多めに取りたいとき */
	margin-top: 20px;
}

.last { /* 最終段落：下マージン多め */
	margin-bottom: 30px;
}

.both { /* 上下マージン多め */
	margin-top: 20px;
	margin-bottom: 30px;
}

.margin_bottom_none {
	margin-bottom: 0;
}

.margin_bottom_more {
	margin-bottom: 15px;
}

.margin_img {
	margin-left: 0;
	margin-right: 0;
}

blockquote {
  margin: 0;
}

blockquote p {
  margin-left: 45px;
}

/* リスト */

ol {
	margin: 5px 30px 10px 34px;
	padding: 0 0 0 35px;
}

ol li {
	margin: 0;
	padding: 2px 0;
}

ul {
	margin: 5px 30px 5px 22px;
	padding: 0 0 0 25px;
}

ul li {
	list-style: none;
	padding: 2px 0 2px 20px;
	background-position: 0 7px;
	background-image: url(image/li.gif);
	background-repeat: no-repeat;
}

ul li ul {
	margin: 0;
	padding: 0;
}

.list_first { /* 目次やリンクページ用：行間広め */
	margin-top: 20px;
}

ol.index { /* 目次やリンクページ用：行間広め */
	margin: 20px 30px 20px 34px;
	padding: 0 0 0 35px;
}

ol.index li { /* 目次やリンクページ用：行間広め */
	margin: 0;
	padding: 8px 0;
}

ul.index { /* 目次やリンクページ用：行間広め */
	margin: 20px 30px 20px 22px;
	padding: 0 0 0 25px;
}

ul.index li { /* 目次やリンクページ用：行間広め */
	margin: 0;
	padding: 8px 0 8px 18px;
	background-position: 0 14px;
}

ol.idea {
	font-size: 15px;
}


/* テーブル */

table {
	padding: 0;
	margin: 5px 10px 10px 44px;
}

table.center {
	margin: 5px auto 10px;
	padding: 0;
}

table.border {
	border-collapse: collapse;
	border-top: 1px dotted #9495B1;
}

table.border td {
	border-bottom: 1px dotted #9495B1;
	padding: 6px;
}

.attention {
	margin: 25px;
	padding: 10px 0;
	border: solid thin #999999;
}

.attention1 {
	margin: 25px auto;
	padding: 10px;
	border: solid thin #999999;
  overflow: hidden;
  width: 85%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

table.chart {
	margin: 0 auto 10px;
	padding: 0;
}

table.chart td {
	border-bottom: 1px dotted #9495B1;
	padding: 20px 10px 20px;
}

table.chart tr.top td {
	border-bottom: 1px dotted #9495B1;
	padding: 10px 10px 20px;
}

table.chart h4 {
	margin: 5px 5px 5px 0;
}

table.chart p {
	margin: 5px 2px 2px 5px;
	text-indent: 0;
	font-size: 13px;
	line-height: 1;
}


/* 事務局員募集 */

table.recruit {
	margin-top: 30px;
}

table.recruit td {
	vertical-align: top;
}


/* メールフォーム */

div#mailform {
	margin: 10px auto 0;
}

div#mailform form {
	margin: 0;
}

div#mailform table {
	margin: 0 auto 20px;
	width: 650px;
	border-collapse: collapse;
	background-color: #FFF;
}

div#mailform table th {
	background-color: #F4F4F4;
	width: 150px;
	padding: 10px;
	text-align: left;
	font-weight: normal;
	border: 1px solid #999;
}

div#mailform table td {
	padding: 10px;
	text-align: left;
	border: 1px solid #999;
}

td.radio {
	line-height: 1.2em;
}

.radiobtn {
	vertical-align: bottom; 
}

div#mailform form textarea {
	margin: 0;
	padding: 1px;
	line-height: 1.2;
	width: 450px;
}

div#mailform form fieldset {
	border: none;
}

div#mailform form legend {
	display: none;
}

div#mailform form input {
	margin: 1px 1px 1px 0;
	padding: 1px;
	font-size: 90%;
	height: 1.2em;
}

div#mailform form select {
	margin-right: 1px;
	margin-top: 3px;
	padding: 1px;
	font-size: 90%;
	height: 21px;
}

div#mailform form select {
	margin-top: 1px;
}

div#mailform form input#button {
	width: 130px;
	height: 30px;
}

.notice {
	color: #F00;
}

table.noborder {
	border: none;
}

table.noborder td {
	border: none;
	padding: 0px;
}

.small {
  font-size: 0.8em;
}

.right {
  text-align: right;
}

/* figure */
figure {
  margin: 20px 45px;
}
figure.center {
  margin: 20px auto;
}
figure.fr {
  float: right;
  margin: 0 45px 15px 15px;
}
figure.fl {
  float: left;
  margin: 0 15px 15px 45px;
}
figure img, video {
  margin: 3px 0;
  width: 100%;
}
figcaption {
  line-height: 1.4;
  padding: 5px;
  text-align: left;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb05 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb25 {
  margin-bottom: 25px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mt05 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt25 {
  margin-top: 25px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.w05 {
  width: 5%;
}
.w10 {
  width: 10%;
}
.w15 {
  width: 15%;
}
.w20 {
  width: 20%;
}
.w25 {
  width: 25%;
}
.w30 {
  width: 30%;
}
.w35 {
  width: 35%;
}
.w40 {
  width: 40%;
}
.w45 {
  width: 45%;
}
.w50 {
  width: 50%;
}
.w55 {
  width: 55%;
}
.w60 {
  width: 60%;
}
.w65 {
  width: 65%;
}
.w70 {
  width: 70%;
}
.w75 {
  width: 75%;
}
.w80 {
  width: 80%;
}
.w85 {
  width: 85%;
}
.w90 {
  width: 90%;
}
.w95 {
  width: 95%;
}
.w98 {
  width: 98%;
}
.w100 {
  width: 100%;
}
.clear {
  clear: both;
}
.center {
  text-align: center;
  text-indent: 0;
}
.right {
  text-align: right;
}
.left {
  text-align: left;
}
.small {
  font-size: 0.85em;
}
.large {
  font-size: 1.2em;
}
blockquote {
  margin: 5px 0 5px 15px;
}