@charset "UTF-8";

body{
	font-family:"Meiryo", "Lucida Sans Unicode", "arial", "ＭＳ Ｐゴシック", "Osaka", san-serif;
	font-size:95%;
	line-height:1.3em;
	margin:0;
	padding:0;
	width:100%;
	color:#333;
}
form{
	margin:0;
}
input, textarea, select, button{
	font-family:"Meiryo", "Lucida Sans Unicode", "arial", "ＭＳ Ｐゴシック", "Osaka", san-serif;
	font-size:100%;
	margin:3px 0;
}
select{
	padding:1px;
	font-size:95%;
}
label{
	margin-right:1em;
}
img{
	border:0;
	vertical-align:middle;
}
ul, ol{
	margin:15px 10px;
	padding:0;
}
ul ul, ol ol, ol ul, ul ol{
	margin:8px 0;
}
li{
	padding:0;
	line-height:1.3em;
}
ul li{
	margin:5px 0 5px 25px;
}
ol li{
	margin:5px 0 5px 25px;
}

dl{
	margin:0;
}
dt{
	margin:0;
	font-weight:bold;
	padding:5px 0 1px;
}
dd{
	margin:0;
	padding:1px 5px 5px 1.5em;
}

address{
	font-style:normal;
}
hr{
	height:1px;
	border:0;
	border-top:1px solid #ddd;
	margin:.5em 0;
	_margin:0;
	padding:0;
}
caption{
	text-align:left;
	padding:2px 0;
	font-weight:bold;
}
a{
	text-decoration:none;
}
a:link{
	color:#007de7;
}
a:visited{
	color:#007de7;
}
a:hover, a:active{
	color:#007de7;
	text-decoration:underline;
}
#mainContent a{}
blockquote{
	margin:5px 0;
	padding:8px;
	border:2px dotted #ccc;
}
rp, rt{
	font-weight:normal;
}
p{
	margin:15px 10px;
}

h1, h2, h3, h4, h5, h6{
	line-height:1.2em;
	margin:0;
	padding:0;
}
h1{
	font-size:183%;
	font-weight:normal;
}
h2{
	font-size:130%;
	font-weight:normal;
}
h3{
	font-size:105%;
}
h4{
	font-size:100%;
}
h5{
	font-size:100%;
}



/* 汎用 */
.x{
	overflow:hidden;
	position:absolute;
	width:0px;
	height:0px;
	top:-1000px;
	left:-1000px;
}
.normal{
	font-weight:normal;
	font-size:small;
	line-height:1.2em;
}
.medium{
	font-size:1.1em;
	line-height:1.2em;
}
.strong{
	font-weight:bold;
}
.underline{
	text-decoration:underline;
}
.notice, .red{
	color:#e00;
}
.number{
	font-size:110%;
}
.noindent{
	text-indent:0;
}
.wauto{
	width:auto;
}
.whalf{
	width:50%;
}
.walmost{
	width:98%;
}
.wmost{
	width:90%;
}
.wfull{
	width:100%;
}
.sp-only{
	display:none;
}
.pc-only{
	display:inline;
}
.nomargin{
	margin:0;
}
.nopadding{
	padding:0;
}
.nowrap{
	white-space:nowrap;
}
.clear{
	clear:both;
}
.center{
	text-align:center;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}
.float-center{
	margin-left:auto;
	margin-right:auto;
}
.float-left{
	float:left;
	margin-right:5px;
}
.float-right{
	float:right;
	margin-left:5px;
}
.half-left{
	float:left;
	width:48%;
}
.half-right{
	float:right;
	width:48%;
}
.va-top{
	vertical-align:top;
}
.va-middle{
	vertical-align:middle;
}
.va-bottom{
	vertical-align:bottom;
}
.omit{
	width:100%;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	-moz-text-overflow:ellipsis;
	-o-text-overflow:ellipsis;
}



/* リンク集 */
a.arrow{
	display:inline-block;
	padding-left:20px;
	background:url(../img/bullet_ul.png) no-repeat left center;
}



/* 汎用ボタン */
input.btn,
button.btn,
a.btn{
	background:#f7f6ec;
	background:-moz-linear-gradient(top, #f7f6ec 0%, #e8e2cc 100%);
	background:-webkit-linear-gradient(top, #f7f6ec 0%,#e8e2cc 100%);
	background:linear-gradient(to bottom, #f7f6ec 0%,#e8e2cc 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f6ec', endColorstr='#e8e2cc',GradientType=0 );
	text-decoration:none !important;
	border:1px solid #c9ba96;
	display:inline-block;
	padding:5px 12px 3px;
	border-radius:2px;
	cursor:pointer;
	color:#4d2a05;
}
input.btn:hover,
button.btn:hover,
a.btn:hover{
	background:#fff;
}
input.btn.strong,
button.btn.strong,
a.btn.strong{
	background: #7bbc47; /* Old browsers */
	background: -moz-linear-gradient(top, #7bbc47 1%, #447d24 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #7bbc47 1%,#447d24 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #7bbc47 1%,#447d24 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7bbc47', endColorstr='#447d24',GradientType=0 ); /* IE6-9 */
	border: 1px solid #5c9934;
	color:#fff;
}
input.btn.strong:hover,
button.btn.strong:hover,
a.btn.strong:hover{
	background:#78b945;
}



/* 汎用フィールド */
input.txt{
	padding:5px 3px 3px;
	border:1px solid #5c9934;
	border-radius:2px;
	position:relative;
}
input.txt:focus{
	background:#f3fae0;
}



/* 汎用リスト */
ul.plain li{
	border:0 !important;
	padding:0 !important;
}
ul.arrow,
ul.down,
ul.dl{
	background:none;
	padding:0;
}
li.arrow,
ul.arrow li,
li.down,
ul.down li,
li.dl,
ul.dl li{
	list-style:none;
	margin:5px 0;
	padding-left:24px;
	background:url(../img/arrowC.png) no-repeat 5px 2px;
}
li.down, 
ul.down li{
	background:url(../img/downC.png) no-repeat 5px 2px;
}
li.dl,
ul.dl li{
	background:url(../img/downG.png) no-repeat 5px 2px;
}
ul.inline,
.inline li{
	margin:0;
	padding:0;
}
.box .inline{
	margin:0 -5px;
}
ul.double li{
	width:45%;
	display:inline-block;
}
ul.inline, .inline ul li{
	list-style:none;
}
ol.inline li{
	margin:0 10px 0 35px;
	padding:0;
}
ol.inline li a{
	margin:0 0 0 -8px;
}
.inline li{
	display:inline-block;
}
.inline li a{
	display:block;
	font-size:small;
	padding:3px 8px;
	margin:3px;
	border-radius:3px;
	position:relative;
	text-decoration:none !important;
}
.inline li span{
	padding:3px 8px;
	margin:3px;
}
.inline li a.cur{
	background:#fff !important;
	color:#333 !important;
}
.inline li a:hover{
	background:#c2ddfd;
	text-decoration:none;
}
.inline li a:active{
	background:#fff;
}
.inline li.terminator{
	margin-right:2em;
}



/* 汎用角丸ボックス */
.box{
	margin:0 0 10px;
	background:#fff;
	border:2px solid #ded4b2;
	overflow:hidden;
}
.box .inner{
	padding:0 10px;
	overflow:hidden;
}
.box-gray, .box-color{
	margin:5px 0;
	padding:5px 13px;
	background:#eee;
	border-radius:2px;
	position:relative;
}
.box-color{
	background:#f5faeb;
}
.comment{
	background:#f0f7e3;
	margin:15px 0;
	padding:7px 12px;
	border-radius:4px;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	position:relative;
}



/* 表 */
.caption{
}
table.form, .form table,
table.list, .list table{
	width:100%;
	border-collapse:collapse;
	margin:5px 0;
}
.list th,
.list td{
	border:2px solid #fff;
	padding:4px 4px 3px;
	line-height:1.4em;
	background:#f1f1f1;
	font-weight:normal;
}
.list thead th{
	background:#d1e7af;
}
.list tbody th{
	background:#e6e6e6;
	text-align:left;
}

.form th{
	background:#f6f6f6;
}
.form th, .form td{
	border:solid #ddd;
	border-width:1px 0;
	padding:5px;
}
.stripe tr:nth-child(even){
  background-color: #fff;
}
.stripe tr:nth-child(odd){
  background-color: #f9f9f9;
}
.stripe tr:nth-child(odd) th{
  background-color: #ecf5dd;
}
.blocks th{
	background:#f0f7ff;
}



/* マーカー */
.marker-lavendar{
	background:#edf;
	padding:3px 5px;
}
.marker-cyan{
	background:#def;
	padding:3px 5px;
}
.marker-green{
	background:#dfd;
	padding:3px 5px;
}
.marker-pink{
	background:#fed;
	padding:3px 5px;
}



/* レイアウト */
body{
	background:#0a7b99;
	background:#3cafb2;
}
#wrap{
	background:#f8f7ed;
	width:100%;
}
#contents{
	width:1000px;
	margin:0 auto;
	overflow:hidden;
	position:relative;
	z-index:2;
}
#head{
	background:#0a7b99;
	background:#3cafb2;
	overflow:hidden;
	height:140px;
}
#head-inner{
	background:url(../img/bg_bearhead.png) no-repeat right bottom;
	width:1000px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
#head a{
	color:#fff;
}
#foot{
	background:#0a7b99;
	background:#3cafb2;
	color:#e4fafb;
	font-size:90%;
	padding:5px 0;
}
#foot-inner{
	width:1000px;
	margin:0 auto;
	overflow:hidden;
}

#mainContent{
	margin-left:-100%;
	margin-right:0;
	float:right;
	width:100%;
	overflow:hidden;
}
#mainInner{
	padding:20px 15px 30px 0;
	margin:0 0 0 360px;
}
#subContent{
	padding:20px 0 80px;
	width:360px;
	float:left;
}

/* 1カラム */
.layout-1column #mainContent{
	margin:0;
}
.layout-1column #mainInner{
	margin:0;
}
.layout-1column #subContent{
	display:none;
}

.article-head{
	text-align:right;
	padding:0;
	margin-top:-8px;
}
.entry-categories li a,
.entry-date{
	padding:4px 6px 2px;
	display:inline-block;
}
.entry-categories li a{
	margin:0 5px;
	border-radius:2px;
	background:#ded4b2;
	text-decoration:none !important;
}
.entry-categories{
	list-style:none;
	margin:0;
	display:inline-block;
}
.entry-categories li{
	list-style:none;
	display:inline-block;
}


/* 共通エリア */
/* ヘッダ */
#logo{
	float:left;
	width:340px;
	height:140px;
	position:relative;
}
#logo a .gohome{
	background:url(../img/gohome_close.png) no-repeat center center;
	position:absolute;
	width:124px;
	height:36px;
	right:0;
	bottom:0;
}
#logo a:hover .gohome{
	background-image:url(../img/gohome_open.png);
}
#gogeneral{
	background:url(../img/arrow.png) no-repeat left center;
	padding:5px 3px 3px 25px;
	display:inline-block;
	position:absolute;
	right:150px;
	top:15px;
}
a#gogeneral:hover{
	background-position:3px center;
}



/* サイドメニュー */
.menu,
.menu li{
	overflow:visible;
	list-style:none;
	margin:0;
}
.menu li{
	margin:-10px 0 -23px 0;
}
.menu li a{
	display:block;
}
.menu li a:hover,
.menu li a:active{
	margin-left:15px;
}
.menu li.cur a{
	margin-left:10px;
}


/* フッタ */
.goTop{
	pointer-events:none;
	position:fixed;
	display:none;
	bottom:50px;
	right:50px;
	z-index:5;
}
.goTop a{
	background:rgba(60, 175, 178, 0.7) url("../../img/i_pageTop.png") no-repeat center center;
	border:1px solid rgba(255, 255, 255, 0.5);
	pointer-events:auto;
	border-radius:50%;
	text-align:center;
	cursor:pointer;
	display:block;
	height:70px;
	width:70px;
}
.goTop a:hover{
	background-color:rgba(60, 175, 178, 1);
	-webkit-transition:all 0.3s;
	-moz-transition:all 0.3s;
	transition:all 0.3s;
	text-decoration:none;
}

#scene{
	clear:both;
	background:url(../img/bg_grass.png) repeat-x left bottom;
	position:relative;
	height:60px;
	margin-top:-60px;
}
#scene .inner{
	width:1000px;
	margin:0 auto;
}

.contact{
	float:left;
}
.contact h3{
	font-weight:normal;
	font-size:120%;
	line-height:1.4em;
	margin:7px 0 0;
}
.contact p{
	margin:7px;
	font-size:90%;
}
#copyright{
	font-size:85%;
	clear:both;
	text-align:center;
	letter-spacing:0.1em;
	border-top:1px solid rgba(255, 255, 255, 0.2);
	padding-top:7px;
}



/* パンくずリスト */
#panks{
	width:1000px;
	margin:0 auto;
	font-size:small;
}
#panks span,
#panks a{
	display:inline-block;
	white-space:nowrap;
	line-height:30px;
	padding:5px 5px 3px 20px;
}
#panks .backhome{
	background:url(../img/home.png) no-repeat left center;
}



/* 個別ページ */
.cambus{
	box-shadow:3px 3px 10px 5px rgba(0, 0, 0, 0.1);
	overflow:hidden;
	border-radius:8px;
	background:#fff;
	padding:30px;
	font-size:120%;
	line-height:1.3em;
}
.cambus h1{
	background:#a1d8da;
/*
	background:-moz-linear-gradient(top, #a1d8da 0%, #a1d8da 86%, #8dcdcf 100%);
	background:-webkit-linear-gradient(top, #a1d8da 0%,#a1d8da 86%,#8dcdcf 100%);
	background:linear-gradient(to bottom, #a1d8da 0%,#a1d8da 86%,#8dcdcf 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a1d8da', endColorstr='#8dcdcf',GradientType=0 );
*/
	margin:-25px -25px 30px;
	border-radius:5px 5px 0 0;
	font-size:160%;
}
.cambus h1 span{
	padding:15px;
	margin-left:15px;
	padding-left:60px;
	display:block;
	background:url(../img/h1_icons.png) no-repeat left top;
}
.toppage .cambus h1 span,
.news .cambus h1 span{
	background:url(../img/h1_news.png) no-repeat left center;
}
.guide	.cambus h1{	background:#90cde9;}
.letter	.cambus h1{	background:#c3c1e3;}
.recom	.cambus h1{	background:#f6bfc5;}
.note	.cambus h1{	background:#f4d487;}
.pathf	.cambus h1{	background:#eaedf7;}
.quiz	.cambus h1{	background:#ecec83;}

.guide	.cambus h1 span{	background-position:left -200px;}
.letter	.cambus h1 span{	background-position:left -300px;}
.recom	.cambus h1 span{	background-position:left -400px;}
.note	.cambus h1 span{	background-position:left -500px;}
.pathf	.cambus h1 span{	background-position:left -100px;}
.quiz	.cambus h1 span{	background-position:left -600px;}

.quiz .cambus h2{
	background:#ecec83;
}

.cambus h2{
	padding:8px 10px 4px 20px;
	background:#ddd;
	line-height:1.2em;
	margin:30px 0 5px;
	position:relative;
	font-weight:bold;
	font-size:120%;
}
.guide	.cambus h2{	background:#c9e8f8;}
.letter	.cambus h2{	background:#d7d5f0;}
.recom	.cambus h2{	background:#f6d3ce;}
.note	.cambus h2{	background:#f4e39f;}
.pathf	.cambus h2{	background:#e8ecef;}
.quiz	.cambus h2{	background:#f5f3ae;}

.cambus h3{
	border-left:6px solid #ddd;
	line-height:1em;
	margin:30px 0 5px;
	padding:2px 8px 0;
}
.guide	.cambus h3{	border-color:#90cde9;}
.letter	.cambus h3{	border-color:#b8b6db;}
.recom	.cambus h3{	border-color:#f6bfc5;}
.note	.cambus h3{	border-color:#f4d487;}
.pathf	.cambus h3{	border-color:#426579;}
.quiz	.cambus h3{	border-color:#ecec83;}

.cambus a{
	text-decoration:underline;
}
.cambus .newslist a{
	text-decoration:none;
}


/* トップページのみ */
/* 左右カラム見出し */



/* お知らせ一覧 */
.new{
	font-family:"Lucida Sans Unicode";
	display:inline-block;
	vertical-align:middle;
	background:#c60;
	line-height:1.1em;
	border:1px solid #fff;
	border-radius:2px;
	padding:2px 5px 2px;
	margin:0 1em 3px;
	font-size:70%;
	display:none;
	color:#fff;
	margin:0;
}

.newslist{
	list-style:none;
	margin:0;
}
.newslist a{
	color:#000;
}
.newslist li{
	margin:0;
	margin-bottom:20px;
	overflow:hidden;
	background:#e4fafb url(../img/stamp_bear.png) no-repeat right bottom;
	border-radius:4px;
}
.newslist li:last-child{
	margin:0;
}
.newslist li > span{
	display:block;
}
.newslist .date{
	background:#3cafb2;
	padding:7px 20px 5px;
	margin:7px 0 0;
	color:#fff;
}
.newslist .post{
	padding:12px 20px;
}



/******************
 * for SMARTPHONE *
 ******************/
.skip-pc{
	display:none;
}
.logoForSp,
#sp-gsearch{
	display:none;
}
#sidr{
	display:none;
}


@media screen and (max-width:768px){
	body{
	}
	input.btn, button.btn, a.btn,
	input.txt{
		font-size:100%;
	}
	#wrap{
		background:none;
	}
	.sp-only{
		display:inline;
	}
	.pc-only{
		display:none !important;
	}
	ul.double li,
	.float-left,
	.float-right,
	.half-left,
	.half-right{
		display:block;
		float:none;
		width:auto;
	}

	/* レイアウト */
	#wrap{
		background:#f8f7ed;
	}
	#contents{
		width:100%;
		min-width:auto;
		max-width:auto;
	}
	#mainContent{
		margin-left:0;
		margin-right:0;
		margin-bottom:60px;
		float:none;
		overflow:auto;
	}
	#mainContent::-webkit-scrollbar{
        height: 10px;
    }
	#mainContent::-webkit-scrollbar-thumb{
        background: #999;
        border-radius: 5px;
    }
	#mainContent::-webkit-scrollbar-track-piece{
		background: #efefef;
        border-radius: 5px;
    }
	#mainInner{
		margin:0;
		padding:10px;
	}
	.cambus{
		padding:10px 10px 20px;
	}
	.cambus h1{
		margin:-5px -5px 10px;
	}
	#subContent,
	.layout-2columns #subContent{
		padding:10px;
		margin-bottom:30px;
		float:none;
		width:auto;
	}
	#extContent{
		padding:10px;
		width:auto;
		float:none;
	}
	.layout-2columns #mainInner,
	.layout-1columns #mainInner{
		margin:10px;
	}

	.block{
		margin:10px 1px 15px;
	}

	/* ヘッダ */
	#head{
		width:100%;
		height:auto;
	}
	#subContent,
	#extContent,
	#logo,
	#shortcuts,
	#gsearch,
	#sp-gsearch,
	#panks,
	#accesibility{
		display:none;
	}
	#shoulder{
		position:relative;
		padding:7px;
		height:auto;
		float:none;
		right:auto;
		top:auto;
	}
	#language a.arrow{
		margin:0;
	}

	/* フッタ */
	.goTop{
		bottom:10px;
		right:10px;
	}
	#scene .inner{
		width:95%;
	}
	#foot-inner{
		width:96%;
		min-width:auto;
		max-width:auto;
	}
	.contact{
		float:none;
		display:none;
	}
	#sidr .contact{
		display:block;
	}
	#copyright{
		border:0;
		padding-top:0;
	}
	#foot-menu{
		float:none;
		text-align:center;
		margin-bottom:10px;
	}

	#box-search{
		background:#fff;
		padding:10px;
	}
	#box-search form{
		width:100%;
	}
	#box-search .txt{
		width:calc(100% - 60px);
		padding:8px 3px 6px;
	}
	#box-search .btn{
		padding:6px 5px 8px;
		width:50px;
	}
	#box-search a{
		display:none;
	}
	#box-search .sform{
		display:none;
	}
	#box-search .sform.sp{
		display:block;
	}
	#box-booklist a{
		width:27%;
	}

	/* お知らせ一覧 */
	.newslist li{
		padding:10px 5px;
	}
	.newslist .date,
	.newslist .post{
		display:block;
		float:none;
		width:auto;
	}
	.newslist .date{
		padding:7px 15px 5px;
	}
	.newslist .post{
		padding:12px 15px;
}	}

	/* スマホ用ロゴ＆メニュー */
	.logoForSp{
		background:url(../img/bg_bearhead_sp.png) no-repeat right bottom;
		background-size:contain;
		display:block;
		text-align:center;
		padding:0;
		position:relative;
		overflow:hidden;
		height:auto;
	}
	#sp-logo{
		position:relative;
		display:block;
	}
	#sp-logo img{
		max-width:280px;
		width:calc(100% - 90px);
		height:auto;
	}
	#sp-logo .gohome{
		background:url(../img/gohome_close.png) no-repeat center center;
		position:absolute;
		width:124px;
		height:36px;
		right:50px;
		bottom:-10px;
	}
	#sp-logo:hover .gohome{
		background-image:url(../img/gohome_open.png);
	}
	.logoForSp .menuToggle{
		position:absolute;
		top:30px;
		left:0;
	}
	.logoForSp .searchToggle{
		position:absolute;
		top:15px;
		right:0;
	}
	.logoForSp > div a{
		display:block;
		width:40px;
		height:60px;
	}
	.logoForSp > div a,
	.logoForSp > div a.active{
		background:#10777b url(../../img/header_sidr_btns.png) no-repeat;
	}
	.logoForSp .menuToggle a{
		background-position:center 5px;
		border-radius:0 4px 4px 0;
	}
	.logoForSp .searchToggle a{
		background-position:center -50px;
		border-radius:4px 0 0 4px;
	}
	.logoForSp > div a.active{
		background-position:center -95px;
		background-color:#10777b;
	}
	
	/* サイト内検索 */
	#sp-gsearch{
		border-top:1px solid #cbd7a4;
		border-bottom:1px solid #fff;
		background:#dce6bd;
		text-align:center;
		overflow:hidden;
		margin:5px 0 0;
		padding:10px 30px;
	}
	#sp-gsearch .txt{
		border-radius:2px 0 0 2px;
		border-right:0;
		width:calc(100% - 50px);
		padding:8px 3px 6px;
		float:left;
	}
	#sp-gsearch .btn{
		border-radius:0 2px 2px 0;
		padding:6px 5px 8px;
		border-left:0;
		width:40px;
		float:left;
	}

	#mainContent .cambus img{
		width:100%;
		height:auto;
	}
	#mainContent .cambus img.no-resize{
		width:auto;
	}

	/* ドロワーメニュー */
	#sidr{
		background:#3cafb2;
	}
	#sidr .menu{
		margin:10px 0 0 -10px;
	}
	#sidr .menu li{
		margin:-5px 0 -20px 0;
	}
	.menu li a:hover,
	.menu li a:active{
		margin-left:10px;
	}
	#sidr .menu a,
	#sidr .menu img{
		width:100%;
		height:auto;
	}
	#sidr .contact{
		padding:10px;
	}
	#quiz_question {
		width:calc(100% - 28px);
		margin:10px auto;
	}
	#quiz_answer .qan_list{
		width:80%;
	}
	#dsp0, #dsp1 {
		top:140px;
	}
}