@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border: 0;
font-family: inherit;
font-size: 100%;
font-style: inherit;
font-weight: inherit;
margin: 0;
outline: 0;
padding: 0;
vertical-align: baseline;
}

:focus { outline: 0; }

ol, ul { list-style: none; }

table {
border-collapse: separate;
border-spacing: 0;
}

caption, th, td {
font-weight: normal;
text-align: left;
}

blockquote:before, blockquote:after, q:before, q:after { content: ""; }

blockquote, q { quotes: "" ""; }

a img { border: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

body {
font: 15px/1.7 "Lucida Sans Unicode", "Lucida Grande", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
color:#595e67;
background:#ffffff;
-webkit-text-size-adjust:100%;
}

/* リンク設定
------------------------------------------------------------*/
a {
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#595e67;
}

a:hover, a:active {
outline: none;
color:#444;
}

a img:hover { opacity:.8; }

/**** Clearfix ****/
#mainNav ul:after, #mainNav .inner:after, .newsTitle:after, .post:after, .inner:after, ul.news:after {
content:"";
display: table;
clear:both;
}

#mainNav ul, .newsTitle, .post, #mainNav .inner, ul.news { zoom: 1; }

/* フォーム
------------------------------------------------------------*/
input[type="text"], input[type="email"], textarea {
vertical-align:middle;
max-width:100%;
width: 100%;
line-height:38px;
height:38px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea {
height:auto;
line-height:1.5;
font-family: "Lucida Sans Unicode", "Lucida Grande", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

input[type="submit"], input[type="reset"], input[type="button"], p.readon a {
margin-top:2em;
vertical-align:top;
padding:0 10px;
background: #222;
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:28px;
height:28px;
font-size:100%;
color:#ffffff;
font-family:"Lucida Sans Unicode", "Lucida Grande", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, p.readon a:hover {
color:#666;
background:#f2f2e6;
cursor:pointer;
}

*:first-child+html input[type="submit"] { padding:3px; }

/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner {
margin:0 auto;
max-width:1080px;
width: 100%;
}

#header { border-bottom: 1px solid #333333; }

#content {
float:right;
width: 70%;
padding:20px 0 50px;
}

#toppage #content { width:100%; }

#sidebar {
float:left;
max-width:280px;
width: 28%;
padding:20px 0 50px;
}

#footer {
clear:both;
background:#333333 url(images/border2.png) repeat-x 0 0;
}

/* ヘッダー
*****************************************************/
.bg {
display:inline-block;
width: 90%;
padding:20px 0;
}

/* logo
----------------------------------*/
#header h1 {
padding:0;
font-size:200%;
}

#header h1 a { color:#000000; }

#header h1 a:hover { color:#666666; }

/* 説明
----------------------------------*/
#header h2 {
margin-top:-1%;
padding:0;
font-size:80%;
font-weight:normal;
}

/* SNS
----------------------------------*/
.sns {
display:inline-block;
text-align:right !important;
padding:20px 0;
}

.sns img { margin-left:5px; }

.post {
margin:0 0 20px 0;
padding:30px 30px 10px;
background:#f6f6f6;
border:2px solid #fff;
border-radius:5px;
box-shadow:0 0 1px #bbbbbb;
position:relative;
}

.toppage h4 {
margin:0 0 10px;
font-size:16px;
font-weight:normal;
color:#333;
}

/* 記事ループ
*****************************************************/
.list {
padding:10px 0;
border-bottom:1px dashed #e4e4e4;
}

.list:last-child { border:0; }

.post .list p { padding:0; }

.list span { padding-left:10px; }

/* タイポグラフィ
*****************************************************/
h2.title {
clear:both;
margin:0;
padding:7px 0 2%;
font-size:150%;
line-height:1.2;
}

h2.title span {
padding-left:20px;
background:url(images/headingBg.png) no-repeat 3px 50%;
}

.post p { padding-bottom:15px; }

.post ul { margin: 0 0 10px 10px; }

.post ul li {
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol { margin: 0 0 10px 30px; }

.post ol li { list-style:decimal; }

.post h1 {
margin:20px 0;
padding:5px 0 5px 15px;
font-size:150%;
border-bottom:2px solid #660014;
background:url(images/headingBg.png) no-repeat 0 50%;
}

.post h2 {
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
border-bottom:2px solid #333333;
}

.post h3 {
margin:10px 0 1.5em;
font-size:110%;
font-weight:normal;
color:#000000;
border-bottom:1px solid #333333;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}

.post blockquote p { padding:5px 0; }

.post table {
border: 1px #737069 solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th {
padding:10px;
border:1px #737069 solid;
border-width: 0 0 1px 1px;
color:#666;
background:#f2f2e6;
}

.post table td {
padding:10px;
border: 1px #737069 solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt { font-weight:bold; }

.post dd { padding-bottom:10px; }

.post span.imgbox {
display:block;
width: 300px;
height: 200px;
overflow:hidden;
}

.post span.imgbox_top {
display:block;
width: 300px;
height: auto;
}

.post img {
max-width:100%;
height:auto;
}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft {
margin: 0 10px 15px 15px;
display:inline;
}

img.alignleft { margin:10px 15px 15px 10px; }

.alignright {
float:right;
margin: 0 10px 15px 15px;
}

.alignleft {
float:left;
margin:10px 15px 15px 10px;
}

/* ブログ
*****************************************************/
.blog { margin-top:1em; }

.archive { max-height:180px; }

.archive div.contents {
max-height: 6.5em;
min-height:80px;
margin-bottom:1em;
overflow:hidden;
position:relative;
}

.archive div.contents:before, .archive div.contents:after {
position: absolute;
background:#f6f6f6;
}

.archive div.contents:before {
content: "...";
bottom: 0;
right:0;
}

.archive div.contents:after {
content: "";
width: 100%;
height: 100%;
}

.archive div.contents p {
margin:0;
padding:0;
}

.archive div.contents br { display:none; }

.archive span.imgbox {
display:block;
width: 180px;
height: 135px;
overflow:hidden;
}

.archive img {
max-width: 100%;
height: auto;
}

.blogent img, .blogent img.alignleft { margin:0 .5em; }

.blogent h2, .blogent h3, .blogent h4 { clear:both; }

.archive h3 {
border-bottom:0;
padding:0;
margin:5px 0 5px 0;
font-size:130%;
line-height: 1.2;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.archive h3 a { color:#000000; }

.archive h3 a:hover { color:#666666; }

.tim_cat {
font-size:90%;
margin:-10px 0 10px;
text-align:left;
white-space:nowrap;
}

.morelink a:hover img { opacity: 0.3; }

.archi_top {
margin-top:0;
width: auto;
}

.tim_cat span { margin-right:2%; }

.tim_cat span.label {
background: #333333;
padding:2px 10px;
border-radius: 3px;
font-size:80%;
color:#ffffff;
}

.tim_cat a span.label { color:#ffffff; }

.tim_cat a:hover span.label { background:#666666; }

.dateLabel {
text-align:right;
font-family:Georgia, "Times New Roman", Times, serif;
}

/* comment
----------------------------------*/
.comm {
width:95%;
margin: 3em auto 0;
}

.post_info { font-size:160%;margin-top:2em; }

.datename {
display:block;
margin:1em 0 .5em;
font-weight: bold;
}

.comment_form { margin-top:1em; }

table.form td { padding:0 0 1.5em; }

hr.dod{border:none;border-bottom:1px solid #999999;}

/* ウィジェット
*****************************************************/
.widgetWrap {
margin:10px 0 20px 0;
padding:15px 30px 10px;
border:2px solid #fff;
border-radius:5px;
box-shadow:0 0 1px #bbbbbb;
background:#f6f6f6;
}

/* サイドバー
*****************************************************/

.widget ul ul {
border:0;
margin:0;
padding:0 0 0 10px;
box-shadow:none;
}

.widget h3 {
clear:both;
margin:20px 0 5px;
font-size:110%;
padding:5px 5px 5px 17px;
font-size:110%;
color:#ffffff;
border:2px solid #fff;
border-radius:5px;
box-shadow:0 0 1px #999999;
background:#353535;
}

.widget li a {
color:#595e67;
display:block;
line-height:1.2;
padding:10px 0 10px 12px;
background:url(images/arrow2.png) no-repeat 0 48%;
border-bottom:1px dashed #dddddd !important;
}

.widget li a:hover { background-position:2px 48%; }

.widget li:last-child a { border:0; }

/* カレンダー */
#calendar_wrap table {
margin:0 auto;
width:90%;
}

#calendar_wrap table caption {
padding:10px 0;
text-align:center;
font-weight:bold;
}

#calendar_wrap table th, #calendar_wrap table td {
padding:3px;
text-align:center;
}

#calendar_wrap table th:nth-child(6) { color:#932c34; }

#calendar_wrap table th:nth-child(7) { color:#950000; }

#calendar_wrap a {
color:#8c703a;
font-weight:bold;
font-weight:bold;
border-bottom:1px solid #fff;
}

#calendar_wrap table td#prev { text-align:left; }

#calendar_wrap table td#next { text-align:right; }

#calendar_wrap table td#prev a {
text-align:left;
border:0;
}

#calendar_wrap table td#next a {
text-align:right;
border:0;
}

/* お知らせ　
-------------*/
.newsTitle {
clear:both;
margin:0 0 -10px;
padding:7px 10px 7px 17px;
font-size:110%;
background:url(images/headingBg.png) no-repeat 0 50%;
}

.newsTitle h3 {
float:left;
font-weight:normal;
}

.newsTitle p {
float:right;
padding:0 0 0 25px;
font-size:80%;
background:url(images/arrow.png) no-repeat 0 2px;
}

.news p {
clear:both;
padding-bottom:2px;
border-bottom:1px dashed #e4e4e4;
color:#595e67;
}

.news p:last-child { border:0; }

.news p a {
display:block;
padding:5px 0;
font-style:italic;
font:italic 110% "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.news a span { font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif; }

#sidebar .news a { color:#595e67; }

.news span { padding-left:10px; }

.news a:hover span { color:#3f4e41; }

/* トップページ */
#content .newsTitle h3 { font-size:120%; }

.toppage { color:#000; }

/* フッター
*****************************************************/
#footer { margin-top:2em; }

#footer, #footer a { color:#ffffff; }

#copyright {
clear:both;
padding:35px 0 30px;
text-align:center;
font-size:90%;
color:#fff;
background:#000 url(images/border2.png) repeat-x 0 0;
}

/* page navigation
------------------------------------------------------------*/

.pager, .navi {
text-align:center !important;
margin-top:3em;
}

.pager span a, .pager a span, .navi a {
padding: 3px 10px;
margin: 0 1px;
border:1px solid #cccccc;
border-radius: 5px;
text-decoration: none;
}

.pager a span { cursor:pointer; }

.pager span a:hover, .navi a:hover { background: #f8f8f8; }

/* トップページ 最新記事4件
------------------------------------------------------------*/
ul#banners, ul.post {
width:960px;
margin-right:-20px;
padding-bottom:20px;
}

ul#banners li, ul.post li {
float:left;
width:220px;
margin-right:20px;
}

ul.post {
padding:0;
background:transparent;
border:0;
box-shadow:none;
}

ul.post img {
max-width:220px;
height:auto;
}

ul.post h3 {
margin:10px 0;
padding-bottom:5px;
font-weight:normal;
color:#595e67;
border:0;
background:url(images/border.png) repeat-x 0 100%;
}

p.readon a {
padding:3px 10px;
font-size:95%;
color:#fff;
}

ul#banners:after {
content:"";
display: table;
clear:both;
}

ul#banners { zoom: 1; }


/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px) {

div.panel { display:block !important; }

a#menu { display:none; }

#mainNav ul {
clear:both;
position:relative;
z-index:200;
width:940px;
margin:0 auto;
border:1px solid #e8e8e8;
border-radius:5px;
box-shadow:0 0 5px #eee;
background:url(images/mainNavBg.png) repeat-x 0 0;
}

#mainNav li {
float: left;
position: relative;
background:url(images/mainNavSep.png) repeat-y 100% 0;
}

#mainNav li a {
display: block;
text-align:center;
float:left;
height:48px;
line-height:48px;
font-size:100%;
margin-right:2px;
padding:0 30px;
color:#4b4b4b;
background:url(images/mainnavBg.png) repeat-x 0 0;
}

nav#mainNav ul li:first-child a { border-radius:5px 0 0 5px; }

nav#mainNav ul li:first-child li a, nav#mainNav ul li li:first-child a { border-radius:0; }

#mainNav li.current-menu-item a, #mainNav li a:hover, #mainNav li.current-menu-parent a {
color:#fff;
text-shadow:0 -1px 1px #4b4b4b;
background:url(images/mainnavBg.png) repeat-x 0 -48px;
}

#mainNav ul ul { width:160px; }

#mainNav li ul { display:none; }

#mainNav li:hover ul {
display: block;
position: absolute;
top:48px;
left:0;
z-index:500;
}

#mainNav li li {
margin:0;
float: none;
height:35px;
line-height:35px;
width:160px;
background:none;
}

#mainNav li li a, #mainNav li.current-menu-parent li a, #mainNav li.current-menu-item li a {
width:90%;
height:35px;
padding:0 0 0 10%;
line-height:35px;
font-size:95%;
text-align:left;
background:url(images/mainnavBg.png) repeat-x 0 -2px;
}

#mainNav li.current-menu-item li a, #mainNav li.current-menu-parent li a {
color:#4b4b4b;
text-shadow:1px 1px 1px #fbfbfb;
}

#mainNav li li.current-menu-item a, #mainNav li li a:hover {
color:#595e67;
text-shadow:0 -1px 1px #4b4b4b;
background-position:0 100%;
}
}


/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px) {

#mainNav {
clear:both;
width:100%;
margin:0 auto 10px;
}

#mainNav a.menu {
width:100%;
display:block;
height:37px;
line-height:37px;
font-weight: bold;
text-align:left;
border-top:1px solid #d5d5d5;
border-bottom:1px solid #d5d5d5;
background: url(images/menuOpen.png) no-repeat 5px 8px;
}

#mainNav a#menu span { padding-left:35px; }

#mainNav a.menuOpen {
border-bottom:0;
background: url(images/menuOpen.png) no-repeat 5px -34px;
}

#mainNav a#menu:hover { cursor:pointer; }

nav .panel {
display: none;
width:100%;
position: relative;
right: 0;
top:0;
z-index: 1;
}

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

#mainNav ul li {
float: none;
clear:both;
width:100%;
height:auto;
line-height:1.2;
}

#mainNav ul li:first-child { border-top:1px solid #d5d5d5; }

#mainNav ul li li:first-child { border-top:0; }

#mainNav ul li a, #mainNav ul li.current-menu-item li a {
display: block;
padding:15px 10px;
text-align:left;
border-bottom:1px dashed #ccc;
background:#fff;
}

#mainNav ul li:last-child a { border:0; }

#mainNav ul li li:last-child a { border:0; }

#mainNav ul li li:last-child a { border-bottom:1px dashed #ccc; }

#mainNav ul li a span { display:none; }

#mainNav ul li.current-menu-item a, #mainNav ul li a:hover, #mainNav ul li.current-menu-item a, #mainNav ul li a:active, #mainNav ul li li.current-menu-item a, #mainNav ul li.current-menu-item li a:hover, #mainNav ul li.current-menu-item li a:active { background:#f6f6f6; }

#mainNav ul li li {
float:left;
border:0;
}

#mainNav ul li li a, #mainNav ul li.current-menu-item li a, #mainNav ul li li.current-menu-item a {
padding-left:40px;
background:#fff url(images/sub1.png) no-repeat 20px 18px;
}

#mainNav ul li li.current-menu-item a, #mainNav ul li li a:hover, #mainNav ul li.current-menu-item li a:hover { background:#f6f6f6 url(images/sub1.png) no-repeat 20px -62px; }

#mainNav ul li li:last-child a { background:#fff url(images/subLast.png) no-repeat 20px 20px; }

#mainNav ul li li:last-child.current-menu-item a, #mainNav ul li li:last-child a:hover, #mainNav ul li.current-menu-item li:last-child a:hover { background:#f6f6f6 url(images/subLast.png) no-repeat 20px -65px; }

nav div.panel { float:none; }
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px) {

#header { width:100% }

.bg { width: 85%; }

.inner, #footer .boxWrap, #wrapper { width:96%; }

#content, #sidebar {
clear:both;
width:95%;
float:none;
margin:0 auto;
padding:10px 0;
}

#sidebar {
background:url(images/border.png) repeat-x;
margin-top:20px;
padding-top:20px;
max-width: 100%;
}

.post h2, .post h3 {
line-height:1.2 !important;
padding-bottom:2%;
}

.archive h3 { padding-bottom:0; }

ul.post, ul#banners, #sidebar ul#banners {
width:100%;
display:table-row;
margin:0;
}

ul.post li, ul#banners li, #sidebar ul#banners li {
float:left;
width:23%;
margin:0 1%;
padding:0 0 20px;
}

ul.post img, ul#banners li img, #sidebar ul#banners img {
max-width:98%;
height:auto;
}

#calendar_wrap table {
width:260px;
margin:0;
}

#footer .boxWrap {
margin:0;
padding:0;
}

#footer .box {
float:none;
width:100%;
margin:0;
padding:10px 0 0;
}
}


/* 幅620px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 644px) {

.bg, .sns {
display:block;
text-align:center !important;
width: 100%;
}

ul.post li {
width:42%;
margin:0 0 0 6%;
}

ul.post li:nth-child(2n+1) { clear:left; }

.post span.imgbox, .post span.imgbox_top, .archive span.imgbox {
width: 100%;
height: auto;
}

.post img {
width:100%;
height:auto;
}

img.alignright, img.alignleft {
display:block;
margin:5px auto 1em;
width:100%;
height:auto;
}

.alignright, .alignleft {
float:none;
margin:0 0 1em 0;
}

.blogent img, .blogent img.alignleft {
display:block;
margin:5px auto 1em;
width:100%;
height:auto;
}

input[type="text"], input[type="email"], textarea {
max-width:100%;
width: 100%;
}

/* ブログ
*****************************************************/

.archive { max-height:100%; }

.tim_cat { display:block; }

.morelink {
display:block;
width: auto;
text-align:right;
margin-bottom:.5em;
}

.morelink img {
width: 54px;
height: auto;
}
}
