@charset "utf-8";
body {
	font: 100%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	background-color: #fff;
	margin: 0;
	padding: 0;
	color: #000;
	
	min-width:1000px;
	background:url(images/sub_bodyback.jpg) left top repeat;
	
	font-size:14px;
}

/* ~~ エレメント / タグセレクター ~~ */
ul, ol, dl { /* ブラウザー間の相違により、リストの余白とマージンをゼロにすることをお勧めします。一貫性を保つために、量をここで指定するか、リストに含まれるリスト項目 (LI、DT、DD) で指定できます。より詳細なセレクターを記述しない限り、ここで指定する内容が .nav リストにも適用されることに注意してください。 */
	padding: 0;
	margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* 上マージンを削除すると、マージンを含む div からマージンがはみ出す場合があるという問題を回避できます。残った下マージンにより、後続のエレメントからは離されます。 */
}
a img { /* このセレクターは、一部のブラウザーでイメージをリンクで囲んだ場合にイメージの周囲に表示される初期設定の青いボーダーを削除します。 */
	border: none;
}
/* ~~ サイトのリンクのスタイル付けは、ホバー効果を作成するセレクターグループも含め、この順序にする必要があります。~~ */
a:link {
	color: #42413C;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
}
a:visited {
	color: #6E6C64;
	text-decoration: underline;
}
a:hover, a:active, a:focus { /* このセレクターグループは、キーボードを使用するユーザーに対し、マウスを使用するユーザーと同じホバー効果を提供します。 */
	text-decoration: none;
}

/* ~~ この固定幅コンテナが他の div を囲みます。~~ */
.container {
	width: 100%;

	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。 */

/*	border:1px #ccc solid;*/
}

/* ~~ ヘッダーには幅は指定されません。ヘッダーはレイアウトの幅全体まで広がります。ヘッダーには、ユーザー独自のリンクされたロゴに置き換えられるイメージプレースホルダーが含まれます。~~ */
.header-wrap {
	width:100%;
	min-height:85px;

	border-bottom:#2E6E52 7px solid;
}
	
.header {
	width:1000px;
	margin:0 auto;
	
	min-height:80px;
	height:auto;
	position:relative;
	
}
.logo1{ position:absolute; left:30px; top:5px; }
.logo2{ position:absolute; left:370px; top:25px; }
.logo3{ position:absolute; right:25px; top:10px; }

/* ~~ これはレイアウト情報です。~~ 

1) 余白は、div の上部または下部にのみ配置されます。この div 内のエレメントには、それ自体に余白があるので、ボックスモデル計算を行う必要がありません。ただし、div 自体に両側の余白やボーダーを指定した場合、その値が加算されたものが合計幅になることに注意してください。div 内のエレメントの余白を削除し、さらにその div 内に、全体のデザインに必要な幅や余白を指定していない 2 つ目の div を追加することもできます。

*/

.content {
	width: 100%;
	margin: 0 auto; /* 幅に加え、両側を自動値とすることで、レイアウトが中央に揃います。 */
	
	padding-bottom:50px;
	
}

/* top page */
.top-wrap{ width:100%;	 display:block; min-width:1000px; text-align:center;
	position:relative; height:550px; background:url("images/img0608.jpg") center top no-repeat; 
	background-color:#fff;	 }
.top-wrap{		}
.s-menu1-wrap{ 	min-height:380px; }

.top-info{  width:1000px; margin: 0 auto; position:relative; text-align:center;  }
.recom-icon{ position:absolute; top:20px; left:135px; }
.recom-area{ width:550px; height:210px; background-color:rgba(255,255,255,0.7); position:absolute;
	top:20px; left:290px;  }

.recom-right{ width:260px; float:left; }
.top-recom-ttl{ width:250px; margin:5px; border-bottom:2px #333333 dotted; text-align:left;
	font-size:1.1em; }
.top-recom-ttl a:link {
	color: #000;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
	
	font-weight:bold;
}
.top-recom-ttl a:visited {
	color: #000;
	text-decoration: underline;
	font-weight:bold;
}

.top-recom-txt{ width:250px; margin:5px; font-size:0.9em; text-align:left; }

.to-r-detail{ position:absolute; bottom:10px; right:10px; }

.nyuka-area{ width:900px; height:260px; background-color:rgba(255,255,255,0.5); position:absolute;
	top:250px; left:50px; border-bottom:#2E6E52 5px solid; border-top:#2E6E52 5px solid; }
.na-1{ height:100%; text-align:left; width:155px; float:left; background-color:rgba(46,110,82,0.3); 
	position:relative; }
.na-1 div{ position:absolute; bottom:5px; left:20px; font-size:0.8em; }
.nyuka-icon{ position:absolute; top:30px; left:15px; }
.nyuka-dat{ width:185px; float:left; text-align:center; margin:5px 0 0 0; }
.nyuka-dat div{ font-size:0.9em; text-align:left; width:95%; margin:2px 0 0 5px; }
.nyuka-dat div a:link {
	color: #000;
	text-decoration: underline; /* 非常に特殊な表示方法でリンクをスタイル付けする場合を除き、一目で見分けられるように下線を指定することをお勧めします。 */
	
	font-weight:bold;
}
.nyuka-dat div a:visited {
	color: #000;
	text-decoration: underline;
	font-weight:bold;
}

.menu2-wrap{ width:100%;	 display:block; min-width:960px; text-align:center;
	min-height:150px;
	position:relative;
	background-color:#2E6E52;

}

.menu2{ width:960px; min-height:150px; 	margin: 0 auto; position:relative; text-align:left;
	padding:5px 0 0 5px; }
.menu2 img{ margin:3px 0 0 0; }

.main-area{ width:780px; margin:0 auto; margin-top:20px; position:relative;
	 min-height:300px;  }
.sub-area{ width:800px; margin:0 auto; margin-top:20px; position:relative; padding:20px 60px;
	 min-height:300px; background-color:#fff; border-radius: 20px; }

h2 {
	font-size:1.3em; margin:0 0 20px 0;	font-weight:normal; width:780px;
}

.small85{ font-size:85%; }
.large12{ font-size:1.2em; }
.strong{ font-weight:bold; }

.red{ color:#F00; }

/* program */

.n-title{ margin:10px 0 0 30px; }

h2.news{ margin:10px 0 20px 0; }
h2.news:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}
 
.news-ttl{ width:760px; margin:10px 0 10px 20px ; padding:10px 0; }
.n-title{ margin:0 0 0 0; }
.n-title:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}
.new{ vertical-align:middle; }

.next{ width:100%; text-align:center; padding:10px 0; }

.imgarea{ width:100%; text-align:center; font-size:1.0em; }
.imgarea img{ padding:5px 0; }
.kiji{ width:500px; margin:10px 0 10px 140px; text-align:left; }

.imgarea2{ width:50%; text-align:center; padding:5px 0; margin:10px 0; font-size:1.0em; float:left; }
.imgarea2 img{ padding:5px 0; }

/* 共通 */
.txt, .txt30{ width:95%; margin:0 0 10px 0; line-height:1.8em; font-size:1.0em; }
.txt30{margin:0 0 10px 30px; }

.right-txt{ width:100%; margin:0 0 10px 0; line-height:1.8em; font-size:1.0em; text-align:right; }

.navi{ width:780px; margin:0 auto; text-align:right; margin-top:10px; }

.pdfarea{ width:780px; padding:15px 10px; font-size:0.9em; text-align:left; border:1px #ccc solid; 
	margin-top:20px; }

.tolist{ width:100%; text-align:right; margin-top:10px; }
.tolist2{ width:80%; text-align:right; margin-top:10px; }

.s-tolist::after{
	font-family: FontAwesome;
	content: "\f101";

	color:#666;
	
	margin:0 0 0 10px;
	font-size: 1.8em;
	vertical-align:sub;
}

.link:after{
	font-family: FontAwesome;
	content: "\f08e";
	
	color:#F00;
	
	margin:-5px 0 0 5px;
	font-size: 1.2em;
}

.pdf:after{
	font-family: FontAwesome;
	content: "\f1c1";
	
	color:#F00;
	
	margin:-5px 0 0 5px;
	font-size: 1.2em;
}

h2.sub{ margin:10px 0 20px 0; border-bottom:1px #666 dotted;  }
h2.sub:before{
	font-family: FontAwesome;
	content: "\f0fe";
	
	color:#2a4692;
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}

h3.sub{
	margin:10px 0 0 0;
	position: relative;
	padding: 5px 0 5px 0;
	font-weight:normal;
	
	width:760px;
}
h3.sub:before{
	font-family: FontAwesome;
	content: "\f0da";
	
	color:#393;
	
	margin:0px 5px 5px 0;
	font-size: 1.5em;
}


dl.sub1{ list-style-type:none; width:740px; margin:0 0 40px 40px; list-style-position:inside; }
dl.sub1 dt{ margin:10px 0 10px 0; position:relative; width:22%; float:left;  }
dl.sub1 dt.w40{ width:40%; }
dl.sub1 dt.w15{ width:15%; }
dl.sub1 dt:after{
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #0a3bbd;
	border-radius: 100%;
}
dl.sub1 dd{ margin:10px 0 10px 0; position:relative; width:75%; float:left; }
dl.sub1 dd.w40{ width:60%; }
dl.sub1 dd.w15{ width:85%; }

table.sub1{ border:none; border-right:1px #333 solid; border-top:1px #333 solid; margin:10px 0 10px 30px; 
	width:500px; }  
table.sub1 th{ background-color:#393; padding:10px 0; text-align:center; border-left:1px #333 solid; 
	border-bottom:1px #333 solid; color:#fff;}
table.sub1 th.left{ text-align:left; padding-left: 10px; }
table.sub1 td{ padding:7px 0; text-align:center; border-left:1px #333 solid; 
	border-bottom:1px #333 solid;}
table.sub1 td.left{ text-align:left; padding-left: 10px; }

/* policy */
ul.policy{ margin:20px 0 20px 30px; list-style-type:none; width:720px; }
ul.policy li{ margin:0 0 20px 0; line-height:1.8em; font-size:0.9em; }

/* mail */
table.mail{	width:700px; margin:0 auto; margin:30px 0 30px 40px; border:none; }
table.mail th{ border:none; width:25%; text-align:center; vertical-align:top; padding:5px; font-weight:normal; 
	font-size:90%; background-color:#393; color:#fff;  }
table.mail td{ border:1px #333 solid; width:73%; padding:5px; line-height:120%; text-align:left; vertical-align:text-top; 
	 font-size:90%; }
table.mail td.confirm{ border:none; }
table.mail td.sec{ border:none; padding:5px; line-height:120%; text-align:left; vertical-align:text-top; 
	 font-size:1.5em; }

table.mail td.conf{ border:none; width:70%; padding:5px; line-height:120%; text-align:left; 
	vertical-align:text-top; border:solid #cccccc 1px; }

.kana{ ime-mode:active; }
.rome{ ime-mode:disabled; }


/********************************************/
.topbtn{ float:left; padding:0; }

.link2:after{
	font-family: FontAwesome;
	content: "\f101";
	
	color:#039;
	
	margin:-5px 0 0 5px;
	font-size: 1.4em;
}

.r-side{ text-align:right; } 
.l-side{ text-align:left; } 

.u-line{ text-decoration:underline; }

.large110{ font-size:110%; }
.large120{ font-size:120%; }

.blue_bk{ background-color:#9FF; }

.min{	font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; }

.space{ letter-spacing:0.5em; }

/* subarea */

/* 1column */
.subarea{ width:897px; margin:20px 0 0 30px; position:relative;	padding-bottom:20px; }

.subarea h2{ width:877px; padding:5px 0 5px 20px; border-bottom:3px #0074FF solid; margin:20px 0 ; }

ul.sub{ margin:10px 0 ; list-style-type:none; }
ul.sub li{ margin:0 0 10px 0; }


/* 2column */
.subarea2{ width:960px; margin:0 auto; position:relative;	 background-color:#D9eaff; 
	min-height:500px; margin-top:20px;}

.rightside{ width:160px; float:right;  }
ul.right{ margin:0; list-style-type:none; font-weight:normal;  }
ul.right li{ font-size:0.9em; margin:0; font-weight:normal; padding:0.8em 0 0.8em 0.8em;
	border-bottom:1px #ccc solid; }
ul.right li::before{
	font-family: FontAwesome;
	content: "\f0da";
	
	color:#0074ff;
	
	margin:-5px 5px 0 0;
	font-size: 1.3em;
}
ul.right-sub{ margin:5px 0 0 0; list-style-type:none; font-weight:normal;   }
ul.right-sub li{ font-size:1.0em; margin:0; font-weight:normal; padding:0.5em 0 0.5em 1.6em;  
	border-bottom:none;}
ul.right-sub li::before{
	font-family: FontAwesome;
	content: "\f111";
	
	color:#0074ff;
	
	margin:-5px 5px 0 0;
	font-size: 0.4em;
}

.leftside{ width:800px; float:left; background-color:#fff; min-height:700px;  }

.l-txt{ width:750px; margin:0 0 0 30px; line-height:1.5em; }
.l-txt2{ width:780px; margin:0; }
.l-txt2 p{
	margin-left: 1em; /* ブロック全体を 1em 右に */ }

.leftside h2{ width:780px; margin:0 10px 10px 0; padding:5px 0; border-bottom:1px #000 dotted;}
.h2-ttl{ margin:0 0 0 30px; }
.h2-ttl:before{
	font-family: FontAwesome;
	content: "\f0da";
	
	color:#ff881a;
	
	margin:-5px 5px 0 0;
	font-size: 1.5em;
}
	
.leftside h4{
	margin:0 10px 10px 0; 
	position: relative;
	padding: 5px 0 5px 30px;
	font-size:1.15em;
	color:#00C;
	font-weight:normal;
	
	width:750px;
}
	
	
dl.left-sub{ list-style-type:none; width:780px; margin:0 0 40px 40px; list-style-position:inside; }
dl.left-sub dt{ margin:10px 0 10px 0; position:relative; width:20%; float:left;  }
dl.left-sub dt.w40{ width:40%; }
dl.left-sub dt.w30{ width:30%; }
dl.left-sub dt:after{
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #0a3bbd;
	border-radius: 100%;
}
dl.left-sub dd{ margin:10px 0 10px 0; position:relative; width:75%; float:left; line-height:1.8em; }
dl.left-sub dd.w40{ width:55%; }
dl.left-sub dd.w30{ width:65%; }

dl.concept{ list-style-type:none; width:780px; margin:0 0 40px 40px; list-style-position:inside; }
dl.concept dt{ margin:10px 0 10px 0; position:relative; width:10%; float:left; font-size:110%; 
	font-weight:bold;  }
dl.concept dd{ margin:10px 0 10px 0; position:relative; width:85%; float:left; line-height:1.8em; }

dl.left-sub2{ list-style-type:none; width:780px; margin:20px 0 40px 40px; list-style-position:inside; }
dl.left-sub2 dt{ margin:10px 0 10px 0; position:relative;   }
dl.left-sub2 dt:after{
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #0a3bbd;
	border-radius: 100%;
}
dl.left-sub2 dd{ margin:10px 0 10px 60px; position:relative; width:700px;  }

ul.left-sub{ list-style-type:none; width:750px; margin:10px 0 10px 40px; list-style-position:inside; }
ul.left-sub li{ margin:10px 0 10px 0; position:relative;  }
ul.left-sub li:after{
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #0a3bbd;
	border-radius: 100%;
}

ul.left-sub2{ list-style-type:none; width:750px; margin:10px 0 10px 40px; list-style-position:inside; }
ul.left-sub2 li{ margin:10px 0 10px 0; position:relative;  }


table.sub,table.sub2{ border:none; border-right:1px #333 solid; border-top:1px #333 solid; margin:10px 0 10px 0; 
	width:780px; }  
table.sub2{ width:500px; }  
table.sub th,table.sub2 th{ background-color:#0074FF; padding:10px 0; text-align:center; border-left:1px #333 solid; 
	border-bottom:1px #333 solid; color:#fff;}
table.sub th.left,table.sub2 th.left{ text-align:left; padding-left: 10px; }
table.sub td,table.sub2 td{ padding:7px 0; text-align:center; border-left:1px #333 solid; 
	border-bottom:1px #333 solid;}
table.sub td.left,table.sub2 td.left{ text-align:left; padding-left: 10px; }


table.download{ border:none; border-right:1px #333 solid; border-top:1px #333 solid; margin:10px 0 10px 30px; 
	width:740px; }  
table.download th{ background-color:#0074FF; padding:10px 0; text-align:center; border-left:1px #333 solid; 
	border-bottom:1px #333 solid; color:#fff;}
table.download td{ padding:7px 0; text-align:center; border-left:1px #333 solid; 
	border-bottom:1px #333 solid;}
table.download td.left{ text-align:left; padding-left: 10px; }

/* y-mail */
table.y-mail{	width:680px; margin:0 auto; margin:30px 0 30px 50px; border:none; }
table.y-mail th{ border:none; width:25%; text-align:center; vertical-align:top; padding:5px; font-weight:normal; 
	font-size:90%; background-color:#0074ff; color:#fff;  }
table.y-mail td{ border:1px #0074ff solid; width:73%; padding:5px; line-height:120%; text-align:left; vertical-align:text-top; 
	 font-size:90%; }
table.y-mail td.confirm{ border:none; }

table.y-mail td.conf{ border:none; width:70%; padding:5px; line-height:120%; text-align:left; 
	vertical-align:text-top; border:solid #cccccc 1px; }

/* sub-menu */
.sub-menu{ width:770px; margin:auto; padding:auto; margin:10px 0 30px 0; text-align:left; 
	display:block; height:auto; visibility:visible; height:auto; clear:both;   }
.sub-menu ul{   margin:0; list-style-position:inside;}
.sub-menu li{ float:left; padding:0 0 10px 5px; margin:0 40px 0 0; list-style-type:none; }
.sub-menu li:before{
	font-family: FontAwesome;
	content: "\f0fe";
	
	color:#2a4692;
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}


.dl-menu{ width:90%; margin:auto; padding:auto; margin:10px 0 30px 30px; text-align:left; 
	display:block; height:auto; visibility:visible; height:auto; clear:both;   }
.dl-menu ul{   margin:0; list-style-position:inside;}
.dl-menu li{ float:left; padding:0 0 10px 20px; margin:0 40px 0 0; list-style-type:none; }

.l-pdfarea{ width:770px; padding:15px 10px; font-size:0.9em; text-align:left; border:1px #ccc solid; 
	margin-top:20px; }


/*****************************************************/
p{ margin:10px 0 0 0; }


.news-area{ width:740px; margin:20px 0 0 20px;  position:relative; }
.topimg{ float:right; padding:0 0 5px 5px; }

.top-title{ font-size:1.0em; margin:0 0 10px 0; }
.top-title:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	color:#0a3bbd;
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}

.brown{ color:#963; }

.centertxt{ width:780px; text-align:center; }

.wakutxt{ width:400px; margin:10px 0 0 0; border:3px #FF9900 double; padding:10px;
	border-radius:10px; }

ul.sub2{ list-style-type:none; width:700px; margin:20px 0 20px 40px; list-style-position:inside; }
ul.sub2 li{ margin:10px 0 10px 0; position:relative;  }
ul.sub2 li:after{
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1em;
	width: 6px;
	height: 6px;
	background-color: #0a3bbd;
	border-radius: 100%;
}

dl.sub2{ list-style-type:none; width:700px; margin:20px 0 40px 40px; list-style-position:inside; }
dl.sub2 dt{ margin:10px 0 10px 0; position:relative; width:25%; float:left;  }
dl.sub2 dd{ margin:10px 0 10px 0; position:relative; width:70%; float:left; min-height:70px; }


/******************************************************************/

.square:before{
	font-family: FontAwesome;
	content: "\f0c8";
	
	color:#333;
	
	margin:-5px 5px 0 0;
	font-size: 1.0em;
}

/* ~~ フッター ~~ */
.fmenu-wrap{ width:100%; background-color:#d6e3c4;  display:block;
	padding:20px 0; 	min-width:1000px; text-align:center; }
.fmenu {
	width:1000px; 
	margin:0 auto;
	
	padding:0 0 0 20px;
	min-height:200px;
	position:relative;
	
}
.fmenu div.fmenu1{ float:left; margin:0 0 0 5px; text-align:left; display:block;
		min-height:200px;	height:auto; padding:0 60px 0 10px; 
}
.fmenu ul{ margin:-5px 0 0 40px;}
.fmenu li{ font-size:0.85em; margin:0 0 10px 0; }

.ftitle{ font-size:1.0em; margin:0 0 10px 0; }

.fbbtn{ position:absolute; bottom:15px; right:40px; }
.googlebtn{ position:absolute; bottom:10px; right:220px; }

.footer-wrap{ width:100%; background-color:#2E6E52;  display:block; height:130px; text-align:center; }
.footer{ width:1000px; height:130px; position:relative; margin:0 auto; }
.foot-logo{ position:absolute; top:30px; left:47px; }
.foot-addr{ position:absolute; top:20px; left:270px; }
.foot-stop{ position:absolute; top:10px; right:0px; }

.fcopy{ width:100%; background-color:#fff; display:block; height:15px; text-align:center; padding:3px 0;
	font-size:0.8em; }


/* ~~ その他の float/clear クラス ~~ */
.fltrt {  /* このクラスを使用すると、ページ内でエレメントを右にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスを使用すると、ページ内でエレメントを左にフローティングさせることができます。フローティングさせるエレメントは、ページ内で横に並べて表示するエレメントの前に指定する必要があります。 */
	float: left;
	margin-right: 8px;
}
.clearfloat { /* このクラスは、#footer が #container から削除されているか取り出されている場合に、<br /> または空の div で、フローティングさせる最後の div に続く最後のエレメントとして (#container 内に) 配置できます。 */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}