
/************************************************************************

	★共通

************************************************************************/

/* ------------------------------------------------------------------------
	基本スタイル
------------------------------------------------------------------------ */
body { background:#ffffff; text-align:center; color:#333333; font-family:meiryo, "メイリオ", sans-serif; positon:relative; }
#page { margin:0 auto; padding:0; text-align:left;  }
#contents { margin:0 auto; padding:0; }


/* 高さの設定 ▼ */
html, body { height:100%; }
#page { min-height:100%; }

body > #contents { height: auto; }

/* Win IE 用 \*/
* html #page { height:100%; }
/* */

/* Mac IE 用 \*//*/
html, body { height:auto; }
#page { height:auto; }
/*  */

/* 非表示 */
span { display:none; }
hr { display:none; clear:both; }


/* ------------------------------------------------------------------------
	リンク
------------------------------------------------------------------------ */
a { text-decoration:none; color:#000000; }
a:hover { color:#999999; }

/* ------------------------------------------------------------------------
	トップにもどる
------------------------------------------------------------------------ */
.pagetop { display: none; position: fixed; bottom: 30px; right: 55px; }
.pagetop a { width: 50px; height: 50px; background-color: #999999; border-radius: 50px; color: #fff; text-align: center; text-decoration: none; line-height: 50px; font-size: 24px; display: block;}
.pagetop a:hover { background:#333333; }

/* ------------------------------------------------------------------------
	テキスト周り
------------------------------------------------------------------------ */
.caution { color:red; }
span.caution { display:inline; }
span.attention { color:crimson; display:inline; }

/* ------------------------------------------------------------------------
	header
------------------------------------------------------------------------ */
header {  }
h1 { padding:20px 0 0; width:36.40%; max-width:415px; float:left; }
h1 img { width:100%; max-width:415px; }
header h2 { padding:25px 0 0 10px; line-height:1.2; white-space:pre; float:left; }
header h2 a:hover { color:#000000; }

@media (max-width:640px){
h1 { margin:0 2%; padding:10px 0 0; width:100%; max-width:415px; float:none; }
h1 img {  }
header h2 { padding:0 2% 10px 2%; border-bottom:1px solid #cccccc; line-height:1.2; white-space:normal; float:none; font-size:16px; font-size:1.6rem; }
}


/* ------------------------------------------------------------------------
	nav
------------------------------------------------------------------------ */
header a.menu-button { display:none; }
header nav { padding:40px 0 0; float:right; }
header nav ul { list-style:none; }
header nav ul li { float:left; position:relative; }
header nav ul li a { padding:0 20px; height:60px; border-bottom:4px solid #ffffff; display:block; }
header nav ul li a:hover { border-bottom:4px solid #cccccc; }

header nav ul ul { margin:0; padding:0; position:absolute; top:63px; left:0px; border-top:1px solid #cccccc; display:none; z-index:999; }
header nav ul ul li { margin:0; padding:0; height:auto; line-height:26px; text-align:left; float:none; }
header nav ul ul a { margin:0 0 -1px 0; padding:10px 20px 8px; width:150px; height:auto; background:#ffffff; border:1px solid #cccccc; line-height:180%; text-align:left; position:relative; }
header nav ul ul a:hover { background:#e2e2e2; border:1px solid #cccccc; }

@media (max-width:1240px){
header nav ul li a { padding:0 10px; }
}

/* スマホ */
@media (max-width:640px){

header { position:relative; }

header a.menu-button { margin:0; padding:0 10px; color:#333333; text-decoration:none; line-height:3; font-size:12px; font-size:1.2rem; display:inline-block; position:absolute; top:15px; right:15px; border:1px solid #cccccc; -moz-border-radius:4px; -khtml-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; }
header a.menu-button:hover { background:#999999; color:#ffffff; }
header a.menu-button.active { background:#999999; color:#ffffff; }

header nav { padding:0; display:none; float:none; clear:both; }
header nav a.active { background:#aaaaaa; color:#ffffff; box-shadow:1px 1px 2px rgba(0,0,0,0.2) inset; }

header nav ul {  }
header nav ul li { border-bottom:1px solid #cccccc; float:none; }
header nav ul li a { padding:10px; border:0; height:auto; }
header nav ul li a:hover { background:#cccccc; color:#ffffff; border:0; }

header nav ul ul { position:relative; top:0; left:0; border-top:0; display:block; }
header nav ul ul li { border-bottom:0; border-top:1px solid #cccccc; float:none; }
header nav ul ul li a { margin:0; padding:10px; padding-left:40px; width:auto; line-height:1; }

}


/* ------------------------------------------------------------------------
	共通
------------------------------------------------------------------------ */
.contents { margin:0 auto; width:84.46%; max-width:1140px; }

#main { background:url(../images/bg_main.jpg) center top no-repeat; }
#main h2 { margin:0 auto 1em; padding:0 0 6px; border-bottom:1px solid #dddddd; font-size:18px; font-size:1.8rem; line-height:1.5; text-align:left; }
#main h2 span { padding:0 0 2px; border-bottom:4px solid #cccccc; display:inline; }

h3 { margin:0 auto 0.5em; font-size:18px; font-size:1.8rem; line-height:1.5; text-align:left; }

#main .left { width:67.98%; max-width:775px; float:left; }

.bg { padding:50px 0; background:url(../images/bg_main_contents.png) repeat-x; }

h4 { margin:0 0 0.5em; font-size:16px; font-size:1.6rem; text-align:left; }
h5 { margin:0 0 0.5em; text-decoration:underline; font-weight:normal; font-size:16px; font-size:1.6rem; text-align:left; }

.note span { display:inline; }
.note p { margin-bottom:1.5em; }

.returnTop { margin:5em auto 0; text-align:center; }

/* スマホ */
@media (max-width:640px){
.contents { margin:0 2%; width:auto; max-width:none; }
header .contents { margin:0; }
#main .left { margin:0 0 20px; width:100%; max-width:none; float:none; }
}

/* ------------------------------------------------------------------------
	トップページ
------------------------------------------------------------------------ */
#main-image { margin:0; padding:10px 0 20px; background:#f2f2f2; }
#main-image img { margin:0; width:100%; max-width:1140px; background:#666666; }

#slider { margin-bottom:10px; }
.flexslider { margin-bottom:0; background:transparent; border:0; }
.flex-direction-nav a:before { font-size:30px; }
.flex-pauseplay a:before { font-size:15px; }

/* 活動実績 */
#archives h2 { clear:both; }
#archives h2 a { font-weight:normal; font-size:12px; font-size:1.2rem; float:right; }

#archives li { padding:10px 0; border-bottom:1px dotted #aaaaaa; }
#archives .floatR { width:87.5%; max-width:700px; list-style:none; float:right; }
#archives a.floatL { width:11.25%; max-width:90px; display:block; overflow:hidden; }
#archives .floatL img { width:100%; max-width:90px; background:#666666; }
#archives h3 small { margin:0 0 0 auto; font-weight:normal; font-size:12px; font-size:1.2rem; float:right; }

/* サブメニュー */
nav.sub-menu  { padding:10px 0 20px; background:#f2f2f2; }
nav.sub-menu ul { list-style:none; }
nav.sub-menu ul li { margin:0 1.92% 0 0; width:32.01%; max-width:365px; float:left; }
nav.sub-menu ul li:last-child { margin:0; }
nav.sub-menu ul li img { width:100%; max-width:365px; background:#666666; }

/* スマホ */
@media (max-width:640px){
nav.sub-menu ul li { margin:0 0 10px; width:100%; max-width:none; float:none; }
nav.sub-menu ul li img { width:100%; max-width:none; background:#666666; }
#carousel { display:none; }
}

/* ------------------------------------------------------------------------
	サイドバー
------------------------------------------------------------------------ */
#sidebar { width:28.50%; max-width:325px; float:right; }
#sidebar h2 { margin:0 auto 0.5em; }

/* NEWS */
#news {  }
#news dl {  }
#news dl dt { padding:10px 0 0; }
#news dl dd { padding:0 0 10px; border-bottom:1px dotted #aaaaaa; }
#news dl dd:last-child { border-bottom:0; }

/* バナー */
#banner { margin:0 0 20px; }
#banner ul { list-style:none; }
#banner ul li {  }
#banner ul li img { width:100%; max-width:325px; }

/* 検索 */
#search { margin:0 0 20px; }
#search label { display:none; }
#search input[type="text"] { padding:0 2%; width:70%; height:30px; }
#search input[type="submit"] { padding:0; width:20%; height:30px; background:#333333; color:#ffffff; border:0; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
#search input[type="submit"]:hover { background:#0089ba; }

@media (max-width:640px){
#sidebar { width:100%; max-width:none; float:none; }

#banner { margin:0 auto 20px; text-align:center; }

}


/* ------------------------------------------------------------------------
	footer
------------------------------------------------------------------------ */
footer { padding:20px 0; background:#999999; color:#ffffff; font-size:10px; font-size:1rem; }
footer nav ul li a { padding:0 10px; border-right:1px solid #cccccc; color:#ffffff; }
footer nav a:hover { color:#ffffff; text-decoration:underline; }
footer nav a:lasr-child { border-right:0; }
footer nav { float:left; }
footer nav ul { list-style:none; }
footer nav ul li { float:left; }

footer p.copy { float:right; }

@media (max-width:640px){
footer { padding:0; font-size:14px; font-size:1.4rem; }
footer .contents { margin:0; width:100%; max-width:none; }

footer nav { float:none; }
footer nav ul li { border-bottom:1px dotted #ffffff; float:none; }
footer nav ul li a { padding:10px 20px; display:block; border-right:0; }
footer nav ul li a:hover { background:#cccccc; }
footer p.copy { padding:10px 20px; float:none; }

}

/* ------------------------------------------------------------------------
	協会概要
------------------------------------------------------------------------ */
/* 協会概要 */
.association { margin:0 0 5em; }

/* 社団法人概況 */
.corporation { margin:0 0 5em; }

.corporation table { width:100%; border-top:1px solid #dddddd; }
.corporation table th { padding:1em; width:8em; font-weight:normal; border-bottom:1px solid #dddddd; }
.corporation table td { padding:1em; background:#f9f9f9; border-bottom:1px solid #dddddd; }

.corporation dl { margin:0; }
.corporation dl dt { padding:0.5em 0; width:5em; text-align:left; }
.corporation dl dd { margin:-2.5em 0 0; padding:0.5em 0 0.5em 5.5em; }

/* アクセスマップ */
.map {  }
.map .box {  }
.map iframe { width:100%; height:450px; border:0; }

/* ------------------------------------------------------------------------
	事業内容
------------------------------------------------------------------------ */
/**/
.business { margin:0 0 5em; }
.business h3 { margin-bottom:0.5em; border-bottom:1px solid #dddddd; }


.column { margin:0 0 3em; padding:0 3.75% 2em; border-bottom:1px solid #dddddd; text-align:center; }
.column p { margin:0 0 1.5em; text-align:left; }
.column .floatL { width:48%; }
.column .floatL img { margin:0 4% 0 0; width:44%; background:#999999; }
.column img.floatR { width:48%; max-width:325px; background:#999999; }

.column img.floatL { width:48%; max-width:325px; background:#999999; }
.column .floatR { width:48%; }
.column .floatR img { margin:0 4% 0 0; width:44%; background:#999999; }

/* スマホ */
@media (max-width:640px){
.column .floatL { margin:0 0 1em; width:100%; float:none; }
.column img.floatR { margin:0 auto; width:100%; float:none; }
.column .floatR { margin:0 0 1em; width:100%; float:none; }
.column img.floatL { margin:0 auto; width:100%; float:none; }
}

/* ------------------------------------------------------------------------
	活動実績
------------------------------------------------------------------------ */
.activity-outline { margin:0 0 5em; }
.activity-outline h3 { border:0; }
.activity-outline h3 small { font-weight:normal; font-size:12px; font-size:1.2rem; }
.activity-outline .note { margin:0 0 2em; }

.event-title { margin:0 0 0.5em; font-size:16px; font-size:1.6rem; }
.activity-outline dl { margin:0 0 1em; font-size:16px; font-size:1.6rem; }
.activity-outline dl dt { margin:0 0 0.5em; width:4em; }
.activity-outline dl dd { margin:-2em 0 0.5em; padding:0 0 0 4.5em; white-space:pre-wrap; }

.activity-outline .floatL { margin:0 0 3em; width:45%; }
.activity-outline .floatL img { width:100%; }
.activity-outline .floatR { margin:0 0 3em; width:53%; }
.activity-outline .note { clear:both; }

.activity-outline .topic { margin:0 0 1em; }
.activity-outline .activity-summary { margin:0 0 1em; }

a.btn-dl { margin-top:0.5em; padding:5px 0 10px; width:50%; height:1em; background-color:#6699cc; color:#ffffff; display:block; text-align:center; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
a.btn-dl:hover { background-color:#6699cc; color:#333333; }


/* 活動実績 */
.activity-record { margin:0 0 5em; }

/* 活動実績一覧 */
.activity-info {  }
.activity-info .floatL { margin-right:3.125%; width:11.25%; max-width:110px; }
.activity-info .floatL img { width:100%; max-width:110px; }
.activity-info .floatR { margin-right:3.125%; width:81.25%; }

.archives { margin:0 0 1em; padding:1em 0; border-bottom:1px dotted #666666; }
.archives h3 {  }
.archives h3 small { margin:0 0 0 auto; font-weight:normal; font-size:12px; font-size:1.2rem; float:right; }

@media (max-width:640px){
.activity-outline .floatL { width:auto; float:none; }
.activity-outline .floatR { width:auto; float:none; }

.btn-dl { width:100%; }
}

/* ------------------------------------------------------------------------
	入会案内
------------------------------------------------------------------------ */
.membership { text-align:center; }
.membership p a { padding:1em; display:block; background:#999999; color:#ffffff; }
.membership p a:hover { background:#666666; }
.membership img { width:100%; max-width:250px; background:#666666; }

/* 個人会員のご案内 */
.membership .floatL { margin:0 2%; width:45%; max-width:250px; display:inline-block; float:none; }

/* 法人会員のご案内 */
.membership .floatR { margin:0 2%; width:45%; max-width:250px; display:inline-block; float:none; }

/* ------------------------------------------------------------------------
	入会案内（個人）
------------------------------------------------------------------------ */
#person {  }
#person h3 { padding-bottom:0.2em; border-bottom:2px solid #cccccc; }
.notice { margin:0 auto 3em; padding:1em; background:#eeeeee; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
#person .center p { margin-bottom:1.5em; }

.lead { margin:0 auto 3em; }

/* ご入会の資格 */
.qualification { margin:0 auto 3em;  }

/* 会員特典 */
.benefits { margin:0 auto 3em; }
.benefits ol { margin-left:1.5em; }
.benefits ol li { margin:0 auto 0.5em; }

/* 入会金／年会費 */
.fee { margin:0 auto 3em; }
.fee dl {  }
.fee dt { margin:0 auto 0.5em; }
.fee dd { margin:-2em 0 0.5em 5em; }

/* ------------------------------------------------------------------------
	入会案内（法人）
------------------------------------------------------------------------ */
#corporation {  }
#corporation h3 { padding-bottom:0.2em; border-bottom:2px solid #cccccc; }
#corporation .center p { margin-bottom:1.5em; }

#corporation .fee dt { margin:0 auto 0.5em; }
#corporation .fee dd { margin:-2em 0 0.5em 8em; }


/* ------------------------------------------------------------------------
	入会案内フォーム
------------------------------------------------------------------------ */
.notice { margin:0 auto 3em; padding:1em; background:#eeeeee; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }

.form input { padding:0.2em; border:1px solid #cccccc; font-size:14px; font-size:1.4rem; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
.form textarea { width:80%; border:1px solid #cccccc; font-size:14px; font-size:1.4rem; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }

.form span { display:inline; }
.form dl dt { margin:0 0 0.5em; padding:0.2em 0.5em; font-size:18px; font-size:1.8rem; background:#eeeeee; border:0; position:relative; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }
.form dl dd { margin:0 0 1.5em; padding:0.5em 0; }
.form dl dt p { font-size:14px; font-size:1.4rem; }

.form dl dl dt { border-top:1px solid #cccccc; border-bottom:1px solid #cccccc; position:relative; -moz-border-radius:0; -khtml-border-radius:0; -webkit-border-radius:0; border-radius:0; }
.form dl dl dd:last-child { margin-bottom:0; }

.form input[type="submit"]{ padding:0.2em 1em; background-color:#6699cc; color:#ffffff; border:0; cursor:pointer; }
.form input[type="submit"][disabled] { background-color:#cccccc; cursor:default; }


.wpcf7-list-item-label { margin-right:1em; }

#zip { width:14em; }
#kiyaku { margin:0 auto 3em; padding:10px; width:100%; height:200px; white-space:pre-wrap;  overflow:auto; border:1px solid #cccccc; }

.form dl dt.zip { margin:0 0 0.5em; padding:0; background:transparent; }
.form dl dt.zip div { margin:0 0 0.5em; padding:0.2em 0.5em; background:#eeeeee; border:0; position:relative; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }


@media (max-width:640px){
}

/* ------------------------------------------------------------------------
	お問合せ
------------------------------------------------------------------------ */
#contact {  }
#contact h3 { padding-bottom:0.2em; border-bottom:2px solid #cccccc; }
#contact p { margin-bottom:1.5em; }

/* ------------------------------------------------------------------------
	検索結果
------------------------------------------------------------------------ */
#search {  }
#search ul { list-style:none; }
#search ul li { padding:1.5em 0 0; border-bottom:1px dotted #666666; }
#search ul li h3 { line-height:1; }

/* ------------------------------------------------------------------------
	プライバシーポリシー
------------------------------------------------------------------------ */
#privacy {  }
#privacy p { margin:0 auto 3em; }

/* ------------------------------------------------------------------------
	その他
------------------------------------------------------------------------ */
@media (max-width:640px){
.sp { display:block; }
}













