@charset "utf-8";
/*
Theme Name: keiwa-hoshinoko
Description: Compass Group Theme
Theme URI: http://www.e-compass.ne.jp/
Version: 1.0
Author: Compass Group
Author URI: https://www.e-compass.ne.jp/
*/

/* =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, 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-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{
	color:#333;
	-webkit-text-size-adjust: none;
	background: white;
	line-height: 1.85;
	font-size: 97%;
}
body,
.widgetWrap h3 a,
input[type="text"], input[type="email"], textarea, select, input[type="checkbox"],
input[type="submit"],input[type="reset"],input[type="button"]{
	font-family: Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3";
}
h2.title, h3,
.str2, .str3,
.contact .tel span{
	font-family: "Rounded Mplus 1c", Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3";
	font-weight: 500;
}
img{ max-width: 100%; height: auto; border: none; vertical-align: bottom;}
.img_l{ margin: 0 3% 20px 0; float: left; max-width: 45%;}
.img_r{ margin: 0 0 20px 3%; float: right; max-width: 45%;}

.str1{ font-size: 105%; font-weight: bold; line-height: 1.7;}
.str2{ font-size: 120%; font-weight: bold; line-height: 1.6;}
.str3{ font-size: 150%; font-weight: bold; line-height: 1.5;}
.sml1{ line-height: 170%; font-size: 93%;}
.sml2{ line-height: 160%; font-size: 87%;}

.red, .red a{ color: #cf1d54;}
.pink, .pink a{ color: #ef4f4f;}
.blue, .blue a{ color: #3aa9ca;}
.skyblue, .skyblue a{ color: #7bd7f2;}
.green, .green a{ color: #259b58;}

.c{ text-align: center;}
.l{ text-align: left;}
.r{ text-align: right;}
.clr{ clear: both;}
.clr_l{ clear: left;}
.clr_r{ clear: right;}
.clr_n{ clear: none !important;}

.mg0{ margin: 0 !important;}
.mgAuto, .mgAuto > div{ margin: auto;}
.mg0t{ margin-top: 0 !important;}
.mg0b{ margin-bottom: 0 !important;}
.mg05t{ margin-top: 5px !important;}.mg05l{ margin-left: 5px;}.mg05r{ margin-right: 5px;}.mg05b{ margin-bottom: 5px;}.mg05tb{ margin: 5px 0;}.mg05lr{ margin: 0 5px;}.mg10t{ margin-top: 10px;}.mg10l{ margin-left: 10px;}.mg10r{ margin-right: 10px;}
.mg10b{ margin-bottom: 10px !important;}
.mg10tb{ margin: 10px 0;}.mg10lr{ margin: 0 10px;}.mg15t{ margin-top: 15px;}.mg15tb{ margin: 15px 0;}.mg20t{ margin-top: 20px;}.mg20l{ margin-left: 20px;}.mg20r{ margin-right: 20px;}.mg20b{ margin-bottom: 20px;}.mg20tb{ margin: 20px 0;}.mg25r{ margin-right: 25px;}.mg30t{ margin-top: 30px;}.mg30l{ margin-left: 30px;}.mg30r{ margin-right: 30px;}.mg30b{ margin-bottom: 30px;}.mg30tb{ margin: 30px 0;}
.mg_table_c{ margin: 0 auto; display: table;}
.mghEMt{ margin-top: .5em;}.mghEMb{ margin-bottom: .5em;}.mghEMtb{ margin: .5em 0;}
.mg1EMt{ margin-top: 1em;}.mg1EMb{ margin-bottom: 1em;}.mg1EMtb{ margin: 1em 0;}
.mg1hEMtb{ margin: 1.5em 0;}
.mg-3emt, .mg-5emt, .mg-7emt{ position: relative; z-index: 2;}
.mg-3emt{ margin-top: -3em !important;}
.mg-5emt{ margin-top: -5em !important;}
.mg-7emt{ margin-top: -7em !important;}
.pd0{ padding: 0 !important;}
.pd0b{ padding-bottom: 0 !important;}
.pd0hEM{ padding: .5em;}.pd0hEMt{ padding-top: .5em;}.pd0hEMb{ padding-bottom: .5em;}.pd0hEMlr{ padding: 0 .5em;}
.pd1EM{ padding: 1em;}.pd1EMt{ padding-top: 1em;}.pd1EMb{ padding-bottom: 1em;}.pd1EMlr{ padding: 0 1em;}
.pd1hEM{ padding: 1.5em;}.pd2EM{ padding: 2em;}

.f_l{ float: left;}
.f_r{ float: right;}

.w30p{ width: 30%;}
.w31p{ width: 31%;}
.w35p{ width: 35%;}
.w40p{ width: 40%;}
.w50p{ width: 48%;}
.w60p{ width: 58%;}
.w65p{ width: 61%;}
.w70p{ width: 68%;}

.col_2{ margin: 0 4% 0 0; width: 48%; float: left;}
.col_3{ margin: 0 3.5% 0 0; width: 31%; float: left;}
.col_2:nth-of-type(even), .col_3:nth-of-type(3n){ margin: 0;}

i{ font-style: normal; font-family: FontAwesome;}

.idt1{ margin: 0 0 0 1em; text-indent: -1em;}
p.idt1{ margin: 0 0 1em 1em;}
.idt1h{ margin: 0 0 0 1.25em; text-indent: -1.25em;}
.idt2{ margin: 0 0 0 2em; text-indent: -2em;}
.idt2h{ margin: 0 0 0 2.5em; text-indent: -2.5em;}
.idt3{ margin: 0 0 0 3em; text-indent: -3em;}
ul.idt3, ol.idt3{ margin: 0 0 1em 2em;}
ul.idt2h, ol.idt2h{ margin: 0 0 1em 1.5em;}
ul.idt2, ol.idt2{ margin: 0 0 1em 1em;}
ul.idt1h, ol.idt1h{ margin-left:.25em;}
ul.idt1, ol.idt1{ margin: 0 0 1em; padding-left: 1em;}
ul.idt3 li, ol.idt3 li,ul.idt2h li, ol.idt2h li,ul.idt2 li, ol.idt2 li,ul.idt1h li, ol.idt1h li,ul.idt1 li, ol.idt1 li{ list-style: none;}
li ol.idt1h{ margin: 0;}
.idt0, p.idt0{ text-indent: 0;}

/* リンク設定 ------------------------------------------------------------*/

a{
	margin:0;
	padding:0;
	color:#1088ab;
	background:transparent;
	outline:0;
	vertical-align:baseline;
	text-decoration:none;
}
a:hover{
	-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
	outline: none;
}
a:hover img{ opacity: .7;}
#block-2 a::before{
  display:none;
}

/* レイアウト ------------------------------------------------------------*/

#wrapper, .inner{
	margin:0 auto;
	width:960px;
}
#wrapper{
	padding-bottom: 125px;
	background: url(/cms/img/illust_01.png) no-repeat 0 100%;
}
#header{
	overflow:hidden;
}
#content{
	padding: 30px 0 0;
	width: 660px;
	float: left;
	background: rgba(255,255,255,.8);
}
#sidebar{
	padding: 30px 0;
	float: right;
	width: 245px;
	line-height: 1.7;
	font-size: 95%;
}
#footer{
	clear:both;
	padding: 20px 0;
}

/* ヘッダー *****************************************************/

#header .bg{
	background: url(/img/bg_green.jpg) no-repeat 35px -75px;
	background-size: 300px;
}

/* サイト説明文 + 住所 ----------------------------------*/

#header h1,#header p{
	padding: .2em 0 0;
	float: left;
}
#header h1{ font-size: 80%;}
#header p{
	margin: 0;
	float:right;
	line-height: 1.4;
	text-align: right;
	font-size: 80%;
}
#header p strong{
	color: #333;
	font-size: 165%;
	font-weight: bold;
}
#header p strong a{ color: #333;}

/* ロゴ (サイトタイトル) ----------------------------------*/

#header h2{
	padding: 15px 0;
	clear:both;
	float: left;
	font-size:100%;
	font-weight:bold;
}

/* コンタクト ----------------------------------*/

#header .contact{
	padding: 0 0 10px;
	float:right;
	color:#333;
	line-height: 1.55;
	font-size:90%;
}
.contact .tel{
margin-bottom:-3px;
	font-size:125%;
}
.contact .tel span{ font-size:120%;}
.contact .tel a,
.contact .tel span{ color:#333;}

/* サブナビゲーション ----------------------------------*/

#header ul{
	font-size:85%;
	float:right;
}
#header ul li{
	display:inline;
	margin:0 .7em;
}
#header ul li a{
	color: #252525;
}
#header ul li a:hover{color: #888;}

#header ul li a:before{
	margin: 0 .3em 0 0;
	color: #666;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 110%;
}

/* メインメニュー ------------------------------------------------------------*/

nav#mainNav{
	padding: 12px 0;
	clear:both;
	background: #3aa9ca;
	position:relative;
	z-index:200;
}
nav#mainNav ul li{
	float: left;
	position: relative;
	/*min-width: 16%;*/
	border-right: solid 1px white;
}
nav#mainNav ul li:first-child{ border-left: solid 1px white;}
nav#mainNav ul li a{
	margin: 0 .5em;
	padding: .5em 1em;
	color: white;
	display: block;
	border-radius: .5em;
	_float:left;
	line-height: 1.4;
	text-align: center;
}
nav#mainNav ul li a span,nav#mainNav ul li a strong{
	display:block;
	font-size:90%;
	font-weight: normal;
}
nav#mainNav ul li a span{
	color: #253507;
	font-size:70%;
}
nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-parent{
	color: #222;
	background: white;
}
nav#mainNav ul ul{
	width: 100%;
	border-bottom:1px solid white;
}
nav#mainNav ul li ul{display: none;}
nav#mainNav ul li:hover ul{
	display: block;
	position: absolute;
	background: #3aa9ca;
	top: 3.35em;
	left:0;
	z-index:500;
}
nav#mainNav ul li li{
	margin:0;
	padding:0;
	float: none;
	width: 100%;
}
nav#mainNav ul li li:first-child{border-left:0;}
nav#mainNav ul li li a{
	padding: .8em;
	width:auto;
	border: none;
	border-top:1px solid white;
	border-bottom:1px solid white;
	font-size:95%;
}
nav#mainNav ul li:hover ul li:last-child{border:0;}
nav#mainNav ul li li:last-child a{ border-bottom: none;}

/* トップページ　メイン画像 ----------------------------------*/

#mainImg{
	padding-bottom: 10px;
	clear:both;
	line-height:1;
	text-align:center;
	z-index:0;
}
#mainImg a:hover img{opacity:.9;}

/* トップページ 最新記事4件 ------------------------------------------------------------*/

ul.post{ padding:0;}
ul.post li{
	margin:0 20px;
	padding:20px 0 15px;
	border-bottom:1px dashed #dcdcdc;
	line-height: 1.65;
	font-size: 92%;
}
ul.post li:last-child{ border:0;}
ul.post img{
	float: right;
	margin:0 0 5px 15px;
}
ul.post h3{
	margin:0 0 0.25em;
	padding: 0;
	clear: none;
	font-size: 110%;
	font-weight:normal;
	color:#333;
	border:0;
}

/* タイポグラフィ *****************************************************/

.postWrap{
}
.post{
	margin: 0 0 20px;
	/*padding: 25px 25px 10px;
	border: 1px solid #ddd;
	background: #fff;*/
}
article.archive span{padding-left:10px;}
.post-content{
	padding: 0 0 1em;
}
.meta{
	margin: 0 0 .5em;
	text-align: right;
	font-size: 90%;
}
h2.title{
	margin: 0 0 .5em;
	padding: 0 0 .5em;
	clear:both;
	/*border: 1px solid #ddd;*/
	border-bottom: 3px solid #222;
	background: #fff;
	font-size: 150%;
}
h2.first{margin-top:0;}
.dateLabel{
	margin:0 0 10px;
	text-align:right;
}
p{
	margin-bottom: 1.5em;
	word-wrap : break-word;
	overflow-wrap : break-word;
	text-align: justify;
	text-justify: inter-ideograph;
}
p.c{ text-align: center;}
p.r{ text-align: right;}

.post a:hover{ text-decoration: underline;}
.post strong{ font-weight: bold;}
.post ul:not[class*="idt"],
#tinymce ul{
	margin: 0 0 1em;
	padding: 0;
}

/*.post ul[class*="idt"]{ margin-left: inherit;}*/
.post ul[class*="idt"] li::before{ display: none;}


.post ul li,
#tinymce ul li{
	padding: 0 0 0 1em;
	position: relative;
}
.post ul li:before,
#tinymce ul li:before{
	position: absolute;
	left: .3em;
	top: -.15em;
    color: #3aa9ca;
    content: "\f0da";
    font-family: FontAwesome;
}
#post-26 .post ul li,
#post-28 .post ul li,
#post-43 .post ul li{
	margin: 0 3% 0 0;
	padding: 0 0 0 3%;
	float: left;
	width: 44%;
}
#post-43 .post ul li{ margin-bottom: .3em;}
.post ol{margin: 0 0 1.5em 1em; padding: 0 0 0 .5em;}
.post ol li{list-style:decimal;}

.post .list50{ margin: 0;}
.post .list50 li{
	margin: 0 3% .8em 0;
	padding: 0 0 0 2%;
	float: left;
	width: 44.5%;
	border-left: dotted 1px #c6b69c;
	background: none;
}
.post .list50 li:nth-child(2n){ clear: both;}
.post .list50 li h4{
	margin: 0;
	padding: 0;
	border: none;
	font-size: 100%;
	font-weight: normal;
}
.post .list50 li p{ margin: 0;}

.post h1, .post h2, .post h3{clear:both;}

.post h1{
	margin:20px 0;
	padding:5px 10px;
	color: #fff;
	border-radius:4px;
	background:#b89719;
	box-shadow:0 0 3px rgba(0,0,0,0.2); 
	font-size:150%;
}
.post h2{
	margin:10px 0;
	padding:3px 5px;
	border-left:5px solid #ccc;
	font-size:150%;
	font-weight:normal;
}
h3{
	margin: 0 0 1em;
	padding: 0 0 .25em;
	color: #222;
	border-bottom:1px solid #ddd;
	font-size:135%;
	font-weight:normal;
}
.post h3 a{ color: #222;}
h3.f_l{
	margin: 0 .2em .2em 0;
	padding: 0;
	border: none;
	line-height: 1;
	font-size: 200%;
}
h4{
	margin: 0 0 0.5em;
	padding: 0 0 0 0.5em;
	border-left: 3px dotted #3aa9ca;
	line-height: 1.6;
	font-size:105%;
	font-weight: bold;
}
h5{
	margin: 0 0 .15em;
	font-size:100%;
	font-weight: bold;
}

blockquote {
	margin:10px 0 25px 30px;
	padding:10px 0 10px 15px;
	clear:both;
	border-left:5px solid #eee;
}
blockquote p{padding:5px 0;}
table{
	margin:10px 0 30px;
	width: 100%;
	max-width: 100% !important;
	border: 1px #ccc solid;
	border-collapse: collapse;
	border-spacing: 0;
}

table th,
table td{
	padding: 0.4em 0.7em;
	border: 1px #ccc solid;
	border-width: 0 0 1px 1px;
	vertical-align: middle;
	line-height: 1.6;
	font-size: 95%;
}
table.c td{ text-align: center;}
table th{
	background:#dff5fb;
	white-space: nowrap;
	text-align: center;
	font-weight: normal;
}
/*table td:first-child{ white-space: nowrap;}*/
hr{
	margin: 1em 30% 2.5em;
	border: none;
	background: none;
	clear: both;
	height: 1px;
}
hr.bd_1{
	margin: 0 0 1.5em;
	border-bottom: dotted 1px #ccc;
}

.alignright{
	margin: 0 0 15px 2%;
	display:inline;
	float:right;
}
.alignleft{
	margin:0 2% 15px 0;
	display:inline;
	float:left;
}
.alignnone,
.alignright,
.alignleft{ width: auto !important;}

img.alignright,
img.alignleft,
.alignright img,
.alignleft img{
	border: solid 1px #fff;
	box-shadow: 5px 5px 5px -2px rgba(0,0,0,0.25);
}

.alignright,
.alignleft{ max-width: 48%;}

.post .wp-caption-text{
	margin: 0;
	padding: 0.6em 0 0;
	line-height: 1.6;
	font-size: 85%;
}
.gallery{ padding-bottom: 1em;}
.gallery br{ display: none;}
.gallery-item{
	margin: 0 .5% 15px;
	padding: 0;
	width: 24% !important;
	border: none !important;
}
.gallery-item a{　display: block;}
.gallery-item a:hover img{ opacity: 0.85;}
.gallery-item img{
	border: none !important;
	max-width: 100% !important;
}
.gallery-item .wp-caption-text{ text-align: left !important;}

.nivo-lightbox-theme-default .nivo-lightbox-title {
	font: inherit !important;
    background: #fff !important;
    color: #222 !important;
    border-radius: 5px !important;
}

.fukidashi {
	margin: 0 auto;
	padding: .5em 0;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	position: relative;
	align-items: center;
	font-size: .95em;
}
.fukidashi .text {
	position: relative;
	display: flex;
	flex-flow: wrap;
	justify-content: flex-end;
	width: calc(100% - 135px);
}
.fukidashi .text p {
	margin-bottom: 0;
	background: #ffe7e6;
	padding: 0.8em 1em;
	border-radius: 11px;
	display: inline-block;
}
.fukidashi .icon {
	text-align: center;
	position: relative;
}
.fukidashi .icon img{
	width: 115px;
	height: 115px;
	border-radius: 115px;
	position: relative;
	z-index: 0;
}
.fukidashi .icon .label{
	margin-bottom: 0.25em;
	font-size: .9em;
}
.fukidashi .text::after {
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-left-color: #ffe7e6;
	border-width: 10px 5px 10px 15px;
	top: calc(50% - 10px);
	right: -20px;
}
/* reverce*/
.fukidashi.type2 { flex-direction: row-reverse;}
.fukidashi.type2 .text { justify-content: flex-start;}
.fukidashi.type2 .text p { background: #fcf2cc;}
.fukidashi.type2 .text::after {
	border-left-color: #fcf2cc;
	right: auto;
	left: -20px;
	transform: rotate(180deg);
}
.fukidashi.type3 .text p { background: #dffde2;}
.fukidashi.type3 .text::after { border-left-color: #dffde2;}


/* フォーム ------------------------------------------------------------*/

input[type="text"], input[type="email"], textarea, select, input[type="checkbox"]{
	margin: .2em 0;
	padding: .1em  .3em;
	vertical-align:middle;
	max-width:90%;
	border:1px solid #ccc;
	border-radius:3px;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	background:#fcfcfc;
	box-sizing: border-box;
	line-height: 1.8;
	font-size: 1em;
}
input[type="password"]{padding: .5em;}
textarea{
	padding: .1em  1%;
	height:auto;
	width: 100%;
	max-width: 100%;
}
input[type="checkbox"]{ margin: 0 .3em 0 0;}
label{ margin: 0 .5em 0 0; display: inline-block;}
input[type="submit"],input[type="reset"],input[type="button"]{
	margin: .2em 0;
	padding: .35em 3em;
	color:#fff;
	border:0;
	border-radius:.25em;
	background: #3aa9ca;
	line-height: 1.8;
    font-size: 1em;
    font-weight: bold;
}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{ cursor:pointer; opacity: .85;}

.wpcf7 dl span.red{ vertical-align: middle; font-size: 1.2em; font-weight: bold;}
.wpcf7 dl dd .wpcf7-list-item{ margin: 0;}
.wpcf7 dl dd.input_dsp .wpcf7-list-item{ display: block;}
.wpcf7 form .wpcf7-response-output{ padding: 1em; font-weight: bold; text-align: center;}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{ color: #e50012; border: 2px solid #e50012;}
.wpcf7 form.sent .wpcf7-response-output{ padding: 0; border: none; display: none; height: 0; overflow: hidden;}


/* フッター　ウィジェット *****************************************************/

.widgetWrap{
	margin: 0 0 2em;
	/*border:1px solid #ddd;*/
	background: rgba(255,255,255,.8);
	font-size: 95%;
}
section.widget, .widgetInfo,#calendar_wrap{
}
#banners p{ margin: 0; text-align: center;}
#banners img{ margin-bottom: 10px;}
#banners .banner:nth-of-type(4) a:hover img{ cursor: default; opacity: 1;}

.widgetWrap h3{
	margin: 0 0 .5em;
	padding: 0 0 .3em;
	clear:both;
	color: #333;
	border-bottom: 3px solid #222;;
	font-size:130%;
	font-weight:normal;
}
.widgetWrap h3 a{ font-size: 80%;}
.widgetWrap li a{
	padding: .4em 0;
	display:block;
	border-bottom: 1px dotted #ccc;
}
.widgetWrapt ul.sub-menu{margin-left:10px;}
.widgetWrap a:hover{ background-position: 3px 50%; text-decoration: underline;}
.widgetWrap p{ text-align: justify;}

.widgetWrap iframe{ height: 250px;}

#searchform input[type="text"]{
	width:100px;
	height:24px;
	vertical-align:bottom;
	line-height:1.7;
}
/* カレンダー */
#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),#calendar_wrap table td:nth-child(6){color:#0034af;}
#calendar_wrap table th:nth-child(7),#calendar_wrap table td:nth-child(7){color:#950000;}
#calendar_wrap table td#prev{text-align:left;}
#calendar_wrap table td#next{text-align:right;}
#calendar_wrap a{font-weight:bold;background:none;padding:0;text-decoration:underline;}
#calendar_wrap table td#prev a, #calendar_wrap table td#next a{text-decoration:none;}


/* お知らせ -------------*/

/*.newsTitle{ border-bottom: solid 1px #ddd;}*/
.newsTitle a{ display: inherit;}
.widgetWrap p{ margin: 0 0 .5em;}
.newsTitle p{
	margin: 0;
	float:right;
	font-size: 95%;
}
.widgetWrap a:before,
.newsTitle a:before{
    color: #999;
    content: "\f101";
	letter-spacing: .3em;
    font-family: FontAwesome;
}
.widgetWrap .textwidget a:before{ display: none;}
/*.widgetWrap .news,
.widgetWrap .textwidget{ padding: 15px; border-top: 1px solid #ddd;}*/
.widgetWrap .news p{
	margin: 0 0 5px;
	padding-bottom: 5px;
	clear:both;
	border-bottom: 1px solid #ccc;
	line-height: 1.6;
	font-size: 95%;
}
.widgetWrap .news p:last-child{
	margin: 0;
	padding: 0;
	border:0;
}

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

#sidebar{}
#sidebar aside{ margin: 0 0 20px;}
.banner .telno:hover{ cursor: default;}
.banner .telno:hover img{ opacity: 1;}

/* フッター *****************************************************/

#footer ul{
	padding:15px 0;
	text-align:center;
}
#footer li{
	display:inline-block;
	border-left:1px solid #ddd;
}
*:first-child+html #footer li{display:inline;}
#footer li:first-child{border:0;}
#footer li a{
	padding: .2em 1.5em;
	color:#000;
	font-size: 85%;
}
#footer li a:hover{ background: #eee; text-decoration: none;}
#footer ul ul{display:none;}

#copyright{
	margin: 0;
	padding: 0 .5em 1em;
	clear:both;
	line-height: 1.6;
	text-align:center;
	font-size: 90%;
}
#copyright img{
	margin: 0 auto .6em;
	max-width: 270px;
}
#copyright p{
	margin: .8em 0 0;
	text-align: center;
	font-size: 90%;
}
.grecaptcha-badge{
	box-shadow: none !important;
	border: solid 1px #ddd;
	box-sizing: border-box;
}
.grecaptcha-badge iframe{ border: none;}

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

.pagenav{
	margin: 5px 0 20px;
	clear:both;
	width: 100%;
	height: 30px;
}
.prev{float:left}
.next{float:right;}
#pageLinks{}

/* トップページ 最新記事3件 ------------------------------------------------------------*/

.thumbWrap{
	margin: 0 0 2em;
}
.thumbWrap li{
	margin: 0 0 15px;
	padding: 0;
	float: left;
	width: 33.3333333%;
	display: block;
}
.thumbWrap li p{
	margin: .5em 0;
	line-height: 1.6;
	text-align: left;
	font-size: 85%;
}

/* 最新記事リンク */
ul.thumb h3{
	margin-top: .5em;
	padding:2px;
	border:1px solid #ccc;
	text-align:center;
	font-weight:normal;
	font-size: 95%;
}
ul.thumb h3 span{
	padding: .2em .5em;
	display:block;
	background:#f2f2f2;
}
ul.thumb h3 a{color:#fff;}
ul.thumb h3 a:hover span{ background:#eee;}

/* --- Dlist --- */

.Dlist{ margin: 0 0 2em;}
.Dlist dl{ padding: 0.35em 2px; border-bottom: 1px dotted #bbb;}
.Dlist dt{ margin: 0; float: left; width: 20%;}
.Dlist dd{ margin: 0; float: right; width: 79%;}
#toppage .Dlist dt{ width: 20%;}
#toppage .Dlist dd{ width: 79%;}

.Dlist div{
	margin: 1em 0;
	line-height: 1.7;
	font-size: 95%;
}
.Dlist ol, .Dlist ul{ margin-bottom: 0;}
.toppage .Dlist{ margin: 0 0 10px;}

.Dlist.nobd dl{ padding: 0; border: 0;}
#post-16 .Dlist.nobd dt{ text-align: center;}

/* column */

.column1, .column2{ margin: 0 0 20px; padding: 0.7em 1.5em 0;}
.column1{ border: solid 1px #ddd;}
.column2{ border: dashed 1px #ccc;}/*Green*/
.column2 p{ padding: 0;}
.alignleft .column1,
.alignleft .column2,
.alignright .column1,
.alignright .column2{ padding: .7em 1em .2em;}

iframe,
#map_canvas{
	width: 100%;
	border: solid 1px #ddd;
	height: 400px;
}

/* BTN ****************/

a.btn,
.prev a,
.next a{
	padding: 0 1.5em 0.1em;
	display: block;
	color: #fff;
	border-radius: 3px;
	background: #837955;
	line-height: 1.65;
	font-size: 85%;
}
a.btn:after,
.next a:after{
	margin: 0 0 0 0.5em;
	color: #b9b39d ;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 120%;
}
.prev a:before{
	margin: 0 0.5em 0 0;
	color: #222;
	content: "\f104";
	font-family: FontAwesome;
	font-size: 120%;
}
a.btn:hover,
.prev a:hover,
.next a:hover{
	background: #a49a76;
	text-decoration: none;
}
a.l{ float: left;}
a.r{ float: right;}
.c a.btn{
	margin: 0 auto;
	display: inline-block;
}
.str1 a.btn{ border-radius: 4px;}
.str2 a.btn{
	padding: 0.15em 2em 0.25em;
	border-radius: 5px;
}
.str3 a.btn{
	padding: 0.2em 2em 0.3em;
	border-radius: 6px;
}
#sidebar a.btn{ font-size: 90%;}

/* PAGES ****************/

/* Flow */

.post .flow{ margin: 0;list-style: none; counter-reset: li;}
.post .flow li{
	margin: 0;
	padding: 0;
	background: none;
	clear: both;
}
.post .flow li:before{
	margin: -.1em .3em 0 0;
    counter-increment: li;
    content: counter(li) ". ";
	float: left;
	line-height: 1;
	font-size: 2.5em;
}
.post .flow li:after{
	padding: .2em 0 0;
	clear: both;
	display: block;
	color: #999;
	border-top: dashed 1px #ddd;
	text-align: center;
	line-height: 0.8;
    content: "\f103\f103";
	letter-spacing: 3em;
	font-family: FontAwesome;
	font-size: 300%;
}
.post .flow li:last-child:after{ display: none;}
.post .flow li h3{
	margin: 0;
	padding: 0 0 .5em;
	border: none;
	display: inline-block;
}
.post .flow li p{ margin: 0 0 .7em;}
.post .flow li img{
	margin: 0 0 1em 20px;
	float: right;
}

/* Flow 1 */

.post .flow1 ul {
	margin: 0 auto 1em;
	display: table;
	width: 100%;
	border-radius: 3px;
	overflow: hidden;
	position: relative;
	background-color: #005e91;
	background: -webkit-gradient(linear, left top, right bottom, from(#0f2b58), to(#00a4ea));
	background: -moz-linear-gradient(left, #0f2b58, #00a4ea);
	background: -ms-linear-gradient(left, #0f2b58 0%, #00a4ea 100%);
	background: linear-gradient(left, #0f2b58, #00a4ea);
}
.post .flow1 ul li {
	display: table-cell;
	width: 11.5%;
	height: 90px;
	vertical-align: middle;
	color: #fff;
	line-height: 1.6;
	text-align: center;
	font-size: .8em;
}
.post .flow1 ul li:last-child { width: 8%;}
.post .flow1 ul li:not(:last-child) {
	position: relative;
	z-index: 2;
}
.post .flow1 ul li:before{ content: "";}
.post .flow1 ul li:not(:last-child):after,
.post .flow1 ul li:not(:last-child):before {
	position: absolute;
	display: block;
	border-right: 1px #fff solid;
	height: 90px;
	content: "";
	z-index: -1;
}
.post .flow1 ul li:not(:last-child):before {
	top: -30px;
	right: 0;
	-webkit-transform: rotate(-20deg);
	-ms-transform: rotate(-20deg);
	-moz-transform: rotate(-20deg);
	transform: rotate(-20deg);
}
.post .flow1 ul li:not(:last-child):after {
	top: 42px;
	right: 2px;
	-webkit-transform: rotate(20deg);
	-ms-transform: rotate(20deg);
	-moz-transform: rotate(20deg);
	transform: rotate(20deg);
}
/* for SPH ------------------------------------------------------------*/

@media only screen and (max-width: 767px){
	html{ background: none;}
	body{
		padding: 0;
		width: 100%;
		-webkit-text-size-adjust: none;
		line-height: 1.65;
		font-size: 85%;
	}
	.f_l, .f_r{ clear: both; float: none;}
	.w30p,.w31p,.w35p,.w40p,.w50p,.w60p,.w65p,.w70p{ width: 100%;}
	.nobr br{ display: none;}
	.col_2,
	.col_3{ margin: 0 0 1.5em; width: auto; float: none;}

	#wrapper, .inner{
		margin:0 auto;
		width: auto;
	}
	#wrapper{ padding-bottom: 100px; background-position: 50% 100%; background-size: 200px;}
	#header{ margin: 0;}
	#content{
		padding: 15px 0;
		float:none;
		width:100%;
		min-height: none;
	}
	#sidebar{
		padding: 0 10px;
		float:none;
		width:auto;
	}
	#header .bg{
		padding: 5px 10px;
		background-position: 50% 20px;
		background-size: 230px;
	}

	#header h1,#header p{
		padding: 0;
		float: none;
		font-size: 70%;
	}
	#header h2 {
		margin: 0 auto;
		padding: 5px 0;
		float: none;
		text-align: center;
	}
	#header h2 img{ max-width: 95%;}
	#header p{
		padding: 0;
		line-height: 1.5;
	}
	#header p strong{
		margin: 0;
		display: block;
		font-size: 180%;
	}
	#header .contact { padding: 0 10px 10px; float: none;}
	
	/* トップページ 最新記事4件 --------------------------------*/
	ul.post li { margin: 0 10px;}
	ul.post img{
		margin:0 0 5px 10px;
		max-width: 45%;
	}

	/* サブナビゲーション ----------------------------------*/
	#header ul{
		padding: 0 10px .8em;
		float:none;
		text-align: center;
	}
	#header ul li{ margin: 0 .5em;}
	#header ul li a{ font-size: 120%;}
	
	/* メインメニュー *****************************************************/
	nav#mainNav{
		margin: 0 0 10px;
		padding: 0;
	}
	nav#mainNav ul li{
		padding:0;
		border: none !important;
		width: 50%;
		min-width: none;
		height: auto;
	}
	/*nav#mainNav ul li:first-child{ display: none;}*/
	nav#mainNav ul li a{
		margin: 0;
		padding: .7em 0;
		border-bottom: 1px solid rgba(255,255,255,.35);
		border-radius: 0;
		width: auto;
		height: auto;
	}
	nav#mainNav ul li:nth-child(odd) a{
		border-right: 1px solid rgba(255,255,255,.35);
	}
	nav#mainNav ul li a span{ font-size:75%;}
	nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-parent{
		background: rgba(255,255,255,.5);
	}
	nav#mainNav ul ul{
		width: 100%;
	}
	nav#mainNav ul li:hover ul{
		left: 0;
	}
	nav#mainNav ul li li{
		padding:0;
		width:100%;
		border-bottom: none;
		height: auto;
		line-height:2;
	}
	nav#mainNav ul li li:first-child{ display: block;}
	nav#mainNav ul li li a{
		padding: 0.85em 0;
		width:100%;
		height: auto;
		line-height:1.5;
		border-right: none;
	}
	nav#mainNav ul li li a{ font-size: 90%;}
	
	.thumbWrap{ margin: 0;}
	
	h2.title{
		margin: 0 0 .5em;
		padding: .3em 10px;
		font-size: 135%;
	}
	.postWrap{}
	.post{
		margin: 0 10px 20px;
		/*padding: 10px;*/
	}
	#post-26 .post ul li,
	#post-28 .post ul li,
	#post-43 .post ul li{
		margin: 0;
		padding: 0 0 0 1.2em;
		float: none;
		width: auto;
	}
	.post .list50 li{
		margin: 0 0 .8em;
		float: none;
		width: auto;
	}
	.alignleft,
	.alignright,
	.img_l,
	.img_r{
		margin: 0 0 15px;
		float: none;
		display: block;
		max-width: 100%;
	}
	
	.post table{ width: 100%;}
	.post table th,
	.post table td{
		padding: 0.2em 0.4em;
		width: auto !important;
		font-size: 85%;
	}
	.post table td{ word-break: break-all;}
	
	.wp-caption-text{ font-size: 85%;}
	
	.gallery-item{
		margin: 0 2% 10px;
		padding: 0;
		width: 46% !important;
		border: none !important;
		max-width: 180px;
	}
	
	.Dlist{ margin: 0 0 10px;}
	.Dlist dt, #toppage .Dlist dt{ float: none; width: 100%;}
	.Dlist dd, #toppage .Dlist dd{ float: none; width: 100%;}
	.Dlist div{ margin: 1em 0 0;}
	#post-16 .Dlist.nobd dt{ text-align: left;}
	
	.pagenav{ margin: 0 10px;}
	
	.column1, .column2,
	.alignleft .column1,
	.alignleft .column2
	.alignright .column1,
	.alignright .column2{ padding: 0.3em 0.5em 0;}

	
	iframe{ height: 250px;}
	
	/* PAGES ****************/
	
	/* Flow */
	
	.post .flow li img{
		margin: 0 0 .5em;
		float: none;
	}
	
	/* Flow 1 */
	.post .flow1 ul{ height: 110px;}
	.post .flow1 ul li{
	  -webkit-writing-mode: vertical-rl;
		  -ms-writing-mode: tb-rl;
			  writing-mode: vertical-rl;
	}
	.post .flow1 ul li:first-child{ padding: 0 0 0 .7em;}
	.post .flow1 ul li:not(:last-child):before {
		top: -30px;
		right: 0;
		-webkit-transform: rotate(-15deg);
		-ms-transform: rotate(-15deg);
		-moz-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}
	.post .flow1 ul li:not(:last-child):after {
		top: 53px;
		right: 0;
		-webkit-transform: rotate(15deg);
		-ms-transform: rotate(15deg);
		-moz-transform: rotate(15deg);
		transform: rotate(15deg);
	}
	.post .flow1 ul li br{ display: none;}
	
	/* サイドバー　ウィジェット *****************************************************/
	
	.news p{ font-size: 100%;}
	.news p a{ font-weight: bold;}
	
	/* サイドバー *****************************************************/
	
	#sidebar aside,
	#sidebar aside:last-child{
		margin: 0 0 10px;
		float:none;
		width:auto;
	}
	#banners{ text-align: center;}
	#banners img{ max-width: 100%;}
	
	/* フッター *****************************************************/
	
	#footer { padding: 0;}
	#footer ul{ padding: 0;}
	#footer li{
		border: none;
		display:  block;
	}
	#footer li a{
		padding: .5em 1.5em;
		display:  block;
		border-bottom:1px solid #ddd;
		text-align: left;
	}
	#footer li:first-child a{ border-top:1px solid #ddd;}
	#copyright{ font-size: 80%;}
	#copyright br{ display: inherit;}
}
@media only screen and (min-width: 401px) and (max-width: 600px){
	.post .flow1 ul li:not(:last-child):before { top: -27px;}
}
@media only screen and (min-width: 601px) and (max-width: 767px){
	.post .flow1 ul li:not(:last-child):before { top: -25px;}
}


/* for TBT ------------------------------------------------------------*/

@media only screen and (min-width: 768px) and (max-width: 1069px){
	body{ font-size: 90%;}
	#wrapper, .inner{ max-width: 100%;}
	#header h1{ margin: 0 0 0 10px;}
	#header p,
	#header ul{ margin: 0 10px 0 0;}
	nav#mainNav ul li a{ width: auto; padding: 5px .4em;}
	nav#mainNav ul li:hover ul{ top:41px;}
	#content{ margin: 0 1.5% 0 0; width: 70%;}
	#sidebar{ margin: 0 0 0 1.5%; width: 23%; line-height: 1.6; font-size: 85%;}
	.alignright,
	.alignleft{ max-width: 47%;}
	#footer{ padding: 30px 10px 0;}
	#footer aside { margin: 0 2% 10px 0; width: 32%;}
	#banners img{ max-width: 100%;}
}

/* --- GET HIGHT --- */
#wrapper:after,
.inner:after,
nav .panel:after,
nav#mainNav:after,
.newsTitle:after,
.bg:after,
.post:after,
#footer:after,
.clrfx:after,
.Dlist dl:after,
.post-content:after,
.post .flow li:after,
.post ul:after,
.thumb:after,
.list50:after,
ul.post li:after,
.gallery:after{ content:""; display: table;clear: both;}

#wrapper,
.inner,
nav .panel,
nav#mainNav,
.newsTitle,
.bg,
.post,
#footer,
.clrfx,
.Dlist dl,
.post-content,
.post .flow li,
.post ul,
.thumb,
.list50,
ul.post li,
.gallery{zoom: 1;}
