@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; }*/
dt	        { font-weight: bold; }
dl {margin-top:0; margin-bottom: 0;
    display: block;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
}
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;
}
a:hover,
a:active 	{
	opacity: .8;
	color: #666;
	text-decoration: none;
	transition: 0.5s;
  cursor:pointer;
  cursor:hand;
}
.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 }
.footer a:link,
.footer a:visited   {
	 color: #000;
	 text-decoration: underline;
}
.footer a:hover,
.footer a:active 	{
 	opacity: .8;
 	color: #888;
  text-decoration: none;
 	transition: 0.5s;
}
.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;
}
/* サイトボディ
--------------------------------------------------- */
.wrapper {
   width: 90%;
   max-width: 1500px;
   margin: 0 auto;
}
.content {
  margin-left: 370px;
}
	/* メイン＋サイドバー構成 */
.grid2columns {
  min-height: 300px;
}
.grid2columns .main {
	float: right;
	width: 730px;
}
.grid2columns .sidebar {
	float: left;
	width: 225px;
}
/* End / #siteBody */
/* ---------------------------------------------------

　ヘッダー

---------------------------------------------------- */
.top-menu {
  width: 300px;
  margin-top: -8%;
  position: relative;
  z-index: 200;
  float: left;
}
.top-menu img {
  width: 100%;
}
#nav-wrap {
  background: #FFF;
  padding: 20px 3% 0;
  width: 94%;
  margin: 0 auto 30%;
}
#nav-wrap ul  {
	text-align: center;
  padding: 0;
  margin: 0;
}
#nav li  {
	margin-bottom: 3px;
  list-style-type: none;
  line-height: 0;
}
#nav li:last-child  {
	margin-bottom: 0;
}
#nav li a {
	 /*width: 108px;
	 height: 40px;*/
}
#nav li a:hover {
	 /*color: #fff;
	 background: #afc6e2;*/
}
#nav li ul {
  display: none;
  position: relative;
  padding: 3px 0 0;
  top: 0;
 	margin: 0;
}
.top-menu #nav-wrap .sns {
	 padding-top: 12px;
}
#nav-wrap .sns .facebook {
  margin-bottom: 10px
}

.sdgs{
padding-top: 12px;
}
.sdgs img{
width: 100%;
}

/* 連絡先 */
.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: 80px;
  right: 35px;
  bottom: 30px;
  cursor: pointer;
  z-index: 5000;
}
#back-top img {
  width: 100%;
}
/* ---------------------------------------------------

 コンテンツ内の固定要素、サイドバー内の要素定義

--------------------------------------------------- */

/* メインコンテンツ
 ------------------------------------*/

/* パンくずナビ */
.topicspath-wrap {
  display: table;
  position: relative;
  width: 100%;
  max-width: 1130px;
  margin: 0 auto 10%;
}
	.topicspath {
		list-style: none;
		clear: both;
		top: 10px;
		left: 50%;
		z-index: 10;
		padding: 0;
		font-size: 12px;
		font-size: 1.2rem;
		letter-spacing: -.40em;
	}
	.topicspath li {
		display: inline-block;
		line-height: 24px;
		margin: 0 0 0 10px;
		padding: 0 0 0 16px;
		background: url(../img/shared/topicPaht-divider.png) no-repeat 0 50%;
		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 {
  width: 100%;
  padding-bottom: 4%;
  border-bottom: 1px solid #29B6E8;
}
.side-menu-box .box-title img {
  width: 100%;
  height: auto !important;
}
.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 {
  margin-bottom: 5%;
  line-height: 20px;
}
.side-menu-box li .count {}
.side-menu-box li a {
  text-decoration: none;
}
/* カレンダー */
.tbl-calendar {
	margin: -10px 0 0;
}
.post-date {
  color: #29B6E8;
  font-weight: bold;
}
.post-date {
  text-decoration: none;
}
.post-date:hover {
  color: #7DD2F1;
}
.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 {
  padding: 3% 0 0;
  background-color: #EEE;
}
.footer .box-wrap {
  margin: 0 auto;
  width: 90%;
  padding-bottom: 4%;
  border-bottom: 1px none #000;
}
.footer .box-wrap .box01 {
  float: left;
  width: 35%;
}
.footer  .box-wrap .box01 .office-name {
  width: 90%;
  max-width: 440px;
  margin-bottom: 3%;
}
.footer  .box-wrap .box01 .office-name img {
	 width: 100%;
}
.footer  .box-wrap .box01 .txt {
  font-size: 13px;
}
.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: 62%;
}
.footer .box-wrap .box02 .link-box01 {
  float: left;
  width: 25%;
}
.footer .box-wrap .box02 .link-box02 {
  float: left;
  width: 25%;
}
.footer .box-wrap .box02 .link-box03 {
  float: left;
  width: 25%;
  margin-top: 29px;
}
.footer .box-wrap .box02 .link-box04 {
  float: left;
  width: 25%;
}
.footer .box02 .link01 {
	 font-size: 13px;
 	 font-weight: bold;
	 background-image: url(../img/shared/pin01.png);
	 background-size: 8%;
	 background-repeat: no-repeat;
 	 background-position: 0% 30%;
	 padding: 0 0 3px 20px;
}
.footer .box02 .link02 {
	 font-size: 12px;
	 background-image: url(../img/shared/pin02.png);
	 background-size: 8%;
 	 background-repeat: no-repeat;
	 background-position: 0% 30%;
	 padding: 0 0 3px 20px;
}
.footer .copyright {
	 padding: 1% 0;
	 margin: 0 auto;
	 width: 100%;
	 font-size: 11px;
	 text-align: center;
   color: #FFF;
   background-color: #000;
}
/* モーダルウィンドウ */
.modal-overlay {
    z-index:500;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;/*for old Safari*/
    height:100vh;
    background-color:rgba(0,0,0,0)}
.modal-overlay (:target) {height:100%\9} /* IE9,10 */
a.modal-open:hover {cursor:pointer}
.modal-content {
    position:fixed;
    display:none;
    z-index:600;
    margin:10px;
    padding:15px;
    border: 1px solid #DDD;
    background:#fff}
.modal-content img {width:auto;max-height:70vh}
.modal-content h1 {font-size:120%; margin-bottom:0.5em}
.modal-content p {max-width:565px; text-align:left}
a.modal-close {
	position:absolute;
	top:0;
	right:10px;
	color:#b29c33;
	font-size:35px;
	line-height:1;
	font-weight:bold;
	text-decoration:none}
a.modal-close:hover {
	cursor:pointer;
	opacity:.6}
@media screen and (max-height: 640px) {
	.modal-content {padding:10px}
	.modal-content h1 {font-size:100%; margin-bottom:3px}
	.modal-content p {font-size:75%;width:70%; margin:auto}
	a.modal-close:hover {opacity:1}
}
@media screen and (max-width: 640px) {
	.modal-content {padding:10px}
	.modal-content img {max-height:inherit; width:100%; height:auto}
	.modal-content p {font-size:75%; width:100%;}
	a.modal-close:hover {opacity:1}
}
@media screen and (max-width: 900px) {
.wrapper {
  width: 100%;
}
.pc-only {
  display: none;
} 
.sm-only {
  display: block;
}
.content {
  margin-left: 0;
}
.sm-logo {
  width: 210px;
  position: fixed;
  z-index: 6000;
  top: 8px;
  right: 12px;
}
.sm-logo img {
  width: 100%;
}
.sm-logo02 {
  width: 210px;
  position: fixed;
  z-index: 6000;
  top: 13px;
  right: 12px;
}
.sm-logo02 img {
  width: 100%;
}
.footer .box-wrap .box01 .office-name {
  width: 80%;
}
.footer .box-wrap .box01 {
  float: none;
  width: 100%;
}
.footer .box-wrap .box02 {
  display: none;
}
.btn-pagetop-js {
  display: none;
}
.footer .copyright {
  padding: 1% 5%;
  width: 90%;
}
/* パンくずナビ */
.topicspath-wrap {
  display: block;
  position: relative;
  width: 95%;
  max-width: none;
  margin: 3% auto 0;
}
.topicspath {
  position: relative;
  list-style: none;
  clear: both;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-size: 1.4rem;
}
/* アンカーポイント */
#point01 {
  margin-top:-60px;
  padding-top:60px;
}
#point02 {
  margin-top:-60px;
  padding-top:60px;
}
#point03 {
  margin-top:-60px;
  padding-top:60px;
}
#point04 {
  margin-top:-60px;
  padding-top:60px;
}
#point05 {
  margin-top:-60px;
  padding-top:60px;
}
#point06 {
  margin-top:-60px;
  padding-top:60px;
}
#point07 {
  margin-top:-60px;
  padding-top:60px;
}
#point08 {
  margin-top:-60px;
  padding-top:60px;
}
#point09 {
  margin-top:-60px;
  padding-top:60px;
}


}