@charset "utf-8";
/* ================================================ CSS Information
 File Name:      layout.css
 Last updated:   2015/10/15
 Style Info:    レイアウト定義
 Notes:          
================================================================ */
h1, h2, h3, h4, h5, h6
	        { line-height: 1.6; margin-top:0; margin-bottom: 1em; font-size:1.6rem;}
p	        { margin-top:0; margin-bottom: 1em; }
/*ul, ol	    { margin-top:0; margin-bottom: 1em; }*/
dl	        { margin-top:0; margin-bottom: 1em; }
dt	        { font-weight: bold; }
dd	        { margin-bottom: .5em; margin-left:0;}
strong	    { font-weight: bold; }
cite,
em          { font-style:normal; font-weight:bold; }
i	        { font-style: italic; }
address	    { margin-top:0; margin-bottom:1.8em; }
ins	        { background: #fff9c0; text-decoration: none; }
a { outline:none;}
a:link,
a:visited   {
	color: #000;
	text-decoration: underline;
}
.pc-only {
 display: block;
}
.sm-only {
 display: none;
}
.slicknav_menu {
 display: none;
}
@media screen and (max-width: 800px) {
.pc-only {
 display: none;
}
.sm-only {
 display: block;
}
.slicknav_menu {
 display: block;
}
}
.smt-menu {
    display: none;
}
img { -webkit-backface-visibility: hidden }
/*a:hover,
a:active 	{
	opacity: .8;
	color: #666;
	text-decoration: none;
	transition: 0.5s;
}
*/
.footer a:link,
.footer a:visited   {
	color: #FFF;
	text-decoration: underline;
}
.footer a:hover,
.footer a:active 	{
	opacity: .8;
	color: #AAA;
	text-decoration: none;
	transition: 0.5s;
}
/*a:hover img {
 opacity: 0.7;
}
a img {
 transition: opacity 0.3s ease-out;
}*/
.zoom {
	overflow: hidden;
}
.zoom img {
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
}
.zoom:hover img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.clearfix {clear: both;}
table {
	width: 100%;
	margin: 0 0 1.5em;
}
	table th,
	table td {
		padding: 5px;
		border: 1px dotted #666;
		border-width: 0 0 1px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		font-weight: normal;
		text-align: left;
	}
tbody th { vertical-align: top; }
html { font-size: 62.5%; }
body {
    margin: 0;
    background: #fff;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    -webkit-text-size-adjust: 100%;
}
#base {
	position: relative;
}
				/* icon font */
				.hd-subnav a:before {
					display: block;
					position: absolute;
					top: 0;
					left: 0;
					width: 1em;
					height: 1em;
					line-height: 37px;
					overflow: hidden;
					border-radius: 50%;
					box-sizing: border-box;
					background: #3d210b;
					color: #e0f2e7;
					font-size: 36px;
					text-align: center;
				}
/* End / #siteHeader */
/* サイトボディ
   ------------------------------------------------ */
#siteBody {
	line-height: 2.125;
	margin: 0 0 40px;
	}
	/* メイン＋サイドバー構成 */
	.grid2columns {
		min-height: 300px;
		}
		.grid2columns .main {
			float: right;
			width: 730px;
		}
		.grid2columns .sidebar {
			float: left;
			width: 225px;
		}
/* End / #siteBody */
/* フッター
   ------------------------------------------------ */
#siteFooter {
	line-height: 1.75;
	background: #fff;
	}
	.ft-pagetop {
		width: 100%;
		background: #fff url(../img/shared/box-under_img02.png) no-repeat 50% 100%;
	}
	.ft-pagetop .btn-pagetop {
		width: 1020px;
		margin: 0  auto;
	}
	.ft-wrap {
		width: 1020px;
		overflow: hidden;
		margin: 0 auto;
		padding: 20px 0 0;
		}
		/* 連絡先 */
		.ft-info {
			float: left;
			width: 380px;
			padding-left: 5px;
			line-height: 1.5;
			font-size: 12px;
			font-size: 1.2rem;
			}
			.ft-info > img {
				width: 264px;
				height: auto;
				margin: 0 0 10px;
			}
			.ft-info dd {
				margin: -1.5em 0 0;
				font-size: 1.6rem;
			}
		
		/* サイトマップ */
		.ft-sitemap {
			float: right;
			width: 520px;
			}
			
			.ft-sitemap ul {
				display: table;
				list-style: none;
				width: 100%;
				margin: 0 0 22px;
				padding: 0;
				table-layout: fixed;
			}
			.ft-sitemap li:nth-child(2n-1) { width: 30%; }
			.ft-sitemap li:nth-child(3n-1),
			.ft-sitemap li:nth-child(3n)   { width: 35%;}
			.ft-sitemap li {
				display: table-cell;
				position: relative;
				padding: 0 0 0 3em;
				box-sizing: border-box;
				vertical-align: top;
			}
			.ft-sitemap a {
				display: inline-block;
				position: relative;
				line-height: 37px;
				color: #3d210b;
				text-decoration: none;
				}
				/* icon font */
				.ft-sitemap a:before {
					display: block;
					position: absolute;
					top: 0;
					left: -1.3em;
					width: 1em;
					height: 1em;
					line-height: 37px;
					overflow: hidden;
					border-radius: 50%;
					box-sizing: border-box;
					background: #3d210b;
					color: #fff;
					font-size: 36px;
					text-align: center;
				}
				.ft-sitemap .icon-home:before,
				.ft-sitemap .icon-new:before { font-weight: bold; }
			
	
	#copyright {
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
	line-height: 3.1em;
	display: block;
	clear: both;
		}
		#copyright:before {
			display: block;
			clear: both;
			width: 100%;
			overflow: hidden;
			border-bottom: 1px solid #3d210b;
			content: '';
		}


/* End / #siteFooter */



/* ページの先頭へ */
#back-top {
    position: fixed;
				width: 8%;
    max-width: 105px;
    right: 35px;
    bottom: 30px;
    cursor: pointer;
 z-index: 5000;
}
#back-top img {
    width: 100%;
}


/* ---------------------------------------------------

 コンテンツ内の固定要素、サイドバー内の要素定義

--------------------------------------------------- */

/* メインコンテンツ
 ------------------------------------*/

/* パンくずナビ */
.topicspath-wrap {
	position: relative;
	width: 1024px;
	margin: 0 auto;
	}
	.topicspath {
		position: absolute;
		list-style: none;
		clear: both;
		top: 10px;
		left: 50%;
		z-index: 10;
		width: 1020px;
		margin: 0 0 0 -510px;
		padding: 0;
		font-size: 14px;
		font-size: 1.4rem;
		letter-spacing: -.40em;
	}
	.topicspath li {
		display: inline-block;
		line-height: 24px;
		margin: 0 0 0 10px;
		padding: 0 0 0 16px;
		letter-spacing: normal;
		}
		.topicspath .home {
			margin-left: 0;
			padding-left: 0;
			background: none;
		}
	

/* メインタイトル */
.page-title {
	position: relative;
	width: 100%;
	height: 240px;
	padding: 45px 0 0;
	box-sizing: border-box;
	text-align: center;
	}
	.page-title:not([class*=mb]) { margin-bottom: 80px; }
	.page-title:after {
		display: block;
		position: absolute;
		bottom: -4px;
		width: 100%;
		height: 44px;
		content: '';
	}

/* wpページナビ */
.wp-pagenavi {
	position:relative;
	clear: both;
	width: 100%;
	margin: 70px auto 100px;
	text-align: center;
	letter-spacing: -.40em;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		display: inline-block;
		min-width: 21px;
		height: 28px;
		line-height: 30px;
		overflow: hidden;
		margin: 0 12px;
		padding: 0;
		box-sizing: border-box;
		font-size: 15px;
		font-size: 1.5rem;
		text-align: center;
		letter-spacing: normal;
	}
	
	.wp-pagenavi .page,
	.wp-pagenavi .current {
		background: #CDAE5F;
		text-decoration: none;
	}
	
	.wp-pagenavi .first,
	.wp-pagenavi .last,
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {}
	
	.wp-pagenavi a:hover,
	.wp-pagenavi span.current {
		background: #4C785E;
	}



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

/* ウィジェット、カスタムメニュー */
.side-menu-box .box-title {
	min-height: 31px;
	line-height: 1.8;
	padding-left: 5px;
	color: #0D4925;
 border-left: 5px solid #0D4925;
	font-weight: bold;
}
.side-menu-box .box-content { margin: 0 0 30px; }
/* child */
.side-menu-box .child {}

.box-title span {
	display: inline-block;
	margin-left: .8em;
	font-size: 15px;
	font-size: 1.5rem;
}
.side-menu-box ul,
.side-menu-box ol {
	list-style: none;
	width: 100%;
	margin: 0 0 0 5px;
	padding: 0;
	}
	.side-menu-box li {}
	.side-menu-box li .count {}
	.side-menu-box li a {}

/* カレンダー */
.tbl-calendar {
	margin: -10px 0 0;
	}
	
	.tbl-calendar caption,
	.tbl-calendar thead {
		display: none;
	}
	.tbl-calendar th,
	.tbl-calendar td {
		line-height: 1.4;
		padding: 2px;
		border: none;
		font-size: 14px;
		font-size: 1.4rem;
		text-align: center;
	}
.tbl-calendar .day {
		display: inline-block;
		width: 100%;
		line-height: 30px;
	}
.tbl-calendar a {
		background: #CDAE5F;
	}
.tbl-calendar .prev {
		text-align: left;
		}
.tbl-calendar .prev a { background: #fff; }
.tbl-calendar .next {
		text-align: right;
		}
.tbl-calendar .next a { background: #fff; }
/* footer */
.footer {
	color: #FFFFFF;
	padding: 3% 0 0;
	background-color: #000000;
}
.footer .box-wrap {
	margin: 0 auto;
	width: 90%;
	padding-bottom: 4%;
	border-bottom: 1px none #FFFFFF;
}
.footer .box-wrap .box01 {
	float: left;
	width: 50%;
}
.footer  .box-wrap .box01 .office-name {
	font-size: 18px;
	font-weight: bold;
	line-height: 35px;
}
.footer  .box-wrap .box01 .txt {
	font-size: 14px;
}
.box-wrap .box01 .foot-logo {
 margin: 5% 0 0;
 width: 55%;
}
.box-wrap .box01 .foot-logo img {
 width: 100%;
}
.footer .box-wrap .box02 {
	float: right;
	width: 50%;
}
.footer .box-wrap .box02 .link-box01 {
	width: 33%;
	float: left;
}
.footer .box-wrap .box02 .link-box02 {
	float: left;
	width: 33%;
}
.footer .box-wrap .box02 .link-box03 {
	float: left;
	width: 33%;
}
.footer .box02 .link01 {
	font-size: 15px;
	font-weight: bold;
	background-image: url(../img/top/pin.png);
	background-size: 7%;
	background-repeat: no-repeat;
	background-position: 0% 20%;
	padding: 0 0 10px 20px;
}
.footer .box02 .link02 {
	font-size: 13px;
	background-image: url(../img/top/pin02.png);
	background-size: 7%;
	background-repeat: no-repeat;
	background-position: 0% 20%;
	padding: 0 0 10px 20px;
}
.footer .copyright {
	padding: 2% 0;
	margin: 0 auto;
	width: 90%;
	font-size: 11px;
	text-align: center;
	border-top: 1px dotted #FFFFFF;
}
.cb-footer {
  display: none;
}
/* 施設紹介サイドバー */
.content .sidebar {
 float: left;
 width: 300px;
}
.content .sidebar02 {
 float: left;
 width: 20%;
 max-width: 300px;
}
.content .sidebar03 {
 float: left;
 width: 20%;
 margin-top: 7%;
 max-width: 300px;
}
@media screen and (max-width: 1600px) {
.content .sidebar {
 max-width: 288px;
 }
}
@media screen and (max-width: 1500px) {
.content .sidebar {
 max-width: 270px;
 }
}
@media screen and (max-width: 1400px) {
.content .sidebar {
 max-width: 252px;
 }
}
@media screen and (max-width: 1300px) {
.content .sidebar {
 max-width: 234px;
 }
}
@media screen and (max-width: 1200px) {
.content .sidebar {
 max-width: 216px;
 }
}
@media screen and (max-width: 1100px) {
.content .sidebar {
 max-width: 198px;
 }
}
@media screen and (max-width: 1000px) {
.content .sidebar {
 max-width: 180px;
 }
}
@media screen and (max-width: 900px) {
.content .sidebar {
 max-width: 162px;
 }
}
@media screen and (max-width: 800px) {
.content .sidebar {
 max-width: 144px;
 }
}
@media screen and (max-width: 700px) {
.content .sidebar {
 max-width: 126px;
 }
}
/* 404 */
 .hl-main {
  font-size: 23px;
  margin: 10% 0;
  text-align: center;
 }
 .leading-txt {
  font-size: 15px;
  line-height: 30px;
 }
 .ul-marker {
  padding: 0;
 }
  .ul-marker li {
  list-style-type: none;
   margin-bottom: 5%;
   font-size: 15px;
 }
.main .prev-area {
    margin: 0 auto;
    width: 300px;
}
.main .prev-area .before-kiji {
    text-align: left;
    float: left;
}
.main .prev-area .kiji-list {
    margin: 0 38px;
    float: left;
}
.main .prev-area .after-kiji {
    text-align: right;
    float: right;
}
@media screen and (max-width: 800px) {
.footer .box-wrap .box01 {
				width: 100%;
    float: none;
				margin-bottom: 10%;
}
.box-wrap .box01 .foot-logo {
    margin: 5% 0 0;
    width: 80%;
}
.footer .box-wrap .box02 {
    display: none;
}
#back-top {
display: none !important;
}
.sm-logo {
  width: 210px;
		position: fixed;
		z-index: 6000;
		top: 7px;
  right: 20px;
}
.sm-logo img {
  width: 100%;
}
.footer {
  padding: 3% 0 6em;
}
/* スマホフッターバー */
.cb-footer {
  display: flex;
  justify-content: space-around;
  align-items: center;
  position: fixed;
  bottom: -11%;
  left: 0;
  z-index: 90;
  background-color:#0D4925;
  padding: 2% 0 3%;
  height: auto;
  width: 100%;
}
.cb-footer .foot-icon-box {
  width: 27%;
  text-align: center;
  color: #CFAE5A;
}
.cb-footer .foot-icon-box .icon {
  margin: 0 auto 2%;
  width: 60%;
}
.cb-footer .foot-icon-box .icon img {
  width: 50%;
}
.cb-footer .foot-icon-box .intro {
  font-size:  3vw;
  text-align: center;
}
}