@charset "utf-8";
/* CSS Document */
.pcno { display:none;}
img { max-width:100%;}
#navArea{ display:none;}
/*▼ 初期化 ▼*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px; margin:0px; font-size:16px; line-height:1.5em; color:#454545;-webkit-text-size-adjust:100%;font-family: "Century Gothic","Hiragino Kaku Gothic ProN",YuGothic,"Yu Gothic",Meiryo,sans-serif;}
table { border-collapse:collapse; }
ul, li { list-style:none; }
h1, h2, h3, h4, h5, h6{ padding:0px; margin:0px; font-size:100%; }
a { overflow:hidden; outline:none; }
img { border:none; vertical-align:bottom; }
table td { border:none; vertical-align:top; }
.text99 { text-indent:-9999px; }
a{-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
a:hover { text-decoration:none; }
a:hover {-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
.kadomaru{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
/*▲ 初期化 ▲*/
.mb30{ margin-bottom:30px;}
.mb50{ margin-bottom:50px;}


/*▼エリア・背景設定▼*/
body{ min-width:1200px;}
#body-top{}
#main{}


/*▼ヘッダー▼*/
#header{ border-bottom:#999 solid 1px; min-height:113px;}
#header .left{ display:inline-block; margin-left:25px; margin-top:25px; width:200px;}
#header .right{ display:inline-block; margin-right:22px; padding-top:18px;float:right; text-align:right;}



ul.gnav-sub__menu > li > a { text-decoration: none;padding:5px 14px 5px; margin-left:8px; border-radius: 15px; font-size: 0.8rem; font-weight: bold; letter-spacing:normal;}
.gnav-sub__menu { display:inline-block;padding:0px 0px 10px 0px;}
.gnav-sub__menu li{ display:inline-block; font-weight:bold;}
.gnav-sub__item-support > a { color: #518400; border: 2px solid #518400; transition: 0.15s; }
.gnav-sub__item-support > a:hover { color: #fff; background-color: #518400; transition: 0.15s; }
.gnav-sub__item-store > a { color: #357b24; border: 2px solid #357b24; transition: 0.15s; }
.gnav-sub__item-store > a:hover { color: #fff; background-color: #357b24; transition: 0.15s; }
.gnav-sub__item-contact > a { color: #ce7015; border: 2px solid #ce7015; transition: 0.15s; }
.gnav-sub__item-contact > a:hover { color: #fff; background-color: #ce7015; transition: 0.15s; }
.gnav-sub__item-login > a { color: #88715e; border: 2px solid #88715e; transition: 0.15s; }
.gnav-sub__item-login > a:hover { color: #fff; background-color: #88715e; transition: 0.15s; }
/* ヘッダー 下部メニュー----------------------*/
.gnav__container { }
.gnav__container ul::after { display: block; clear: both; content: ''; }
.gnav__menu {padding-right:0px; }
.gnav__menu > li { position: relative; float: left; }
.gnav__menu > li > a { display: block; height: 64px; padding: 10px 14px; margin: 0px; text-align: center; font-size: 15px; font-weight: bold; color: #333; text-decoration: none; box-sizing: border-box; }
.gnav__menu > li > a:hover { transition: 0.1s; color: #357b24; border-bottom: 4px solid #357b24; }
/*.gnav__item-news {  width: 5.4em;}.gnav__item-about {  width: 8.4em;}.gnav__item-moriyou {  width: 10.4em;}.gnav__item-place {  width: 11.4em;}.gnav__item-event {  width: 8.4em;}.gnav__item-seminer {  width: 10.4em;}.gnav__item-member {  width: 5.4em;}*/


.fa-caret-down {
    color: rgb(124, 124, 124);
    display: block;
    position: relative;
    top: 0px;}

.gnav__menu > li > ul { position: absolute; top: 102%; left: -3.6em; z-index:999;}
.gnav__menu > li > ul > li { }
.gnav__menu > li > ul > li > a { float: none; width: 17em; display: none; transition: 0.25s; padding: 1em 2em; text-align: left; font-size: 0.95rem; font-weight: bold; color: #333; border-bottom: 1px solid #ccc; text-decoration: none; position: relative; z-index: 99; }
.gnav__menu > li:hover > ul > li > a { display: block; transition: 0.025s; background-color: #fff; position: relative; top: -2px; z-index: 99; }
.gnav__menu > li:hover > ul > li:last-child > a { border-bottom: none; }
.gnav__menu > li:hover > ul > li > a:hover { transition: 0.1s; background-color: #357b24; color: #fff; }

/* PC_header_menu_レスポンシブ */
@media screen and (max-width: 1255px) {
/* PC用レイアウト 1024-1255pxの範囲 */ ul.gnav-sub__menu > li > a { font-size: 0.75rem; }
.gnav__menu > li > ul > li > a { font-size: 0.75rem; }
.gnav__menu > li > a { padding: 15px 6px 5px; font-size: 13px; letter-spacing: -0.025em; }
/*  .gnav__item-news {      width: 3.6em;  }  .gnav__item-about {    width: 6.3em;}  .gnav__item-moriyou {      width: 8.1em;  }  .gnav__item-place {      width: 9em;  }  .gnav__item-event {      width: 6.3em;  }  .gnav__item-seminer {      width: 8.1em;  }  .gnav__item-member {      width: 3.6em;  }  */
.gnav__menu > li > ul > li > a { font-size: 0.835rem; }
}


/* mb メニュー----------------------*/
 @media screen and (max-width: 1023px) {
/* PC用レイアウト 1024-1255pxの範囲 */ .hamburger-menu { display: block; }
}
.menu-btn { position: fixed; top: 0px; right: 0px; display: flex; height: 55px; width: 45px; justify-content: center; padding-top: 20px; z-index: 90; background-color: #659e57; border-radius: 0 0 0 4px; box-sizing: border-box; }
.menu-btn span:before, .menu-btn span:after { content: ''; display: block; height: 3px; width: 21px; border-radius: 3px; background-color: #ffffff; position: absolute; transition: 0.3s; }
.menu-btn span { content: ''; display: block; height: 3px; width: 21px; border-radius: 3px; background-color: #ffffff; position: absolute; transition: 0.05s; }
.menu-btn span:before { bottom: 8px; }
.menu-btn span:after { top: 8px; }
.menu-btn p { display: block; position: relative; top: 14px; font-size: 0.5rem; color: #fff; font-weight: bold; }
.hamburger-menu{ display:none;}



/* フッター全体 */
/* フッター全体 */
#footer { background: #337547; color: #fff;font-family: sans-serif; }
#footer .area-01{ padding: 60px 0 0px 0;  width:1180px; margin:auto; overflow:hidden;}
/* 見出し装飾 */
/* 見出し装飾 */
#footer .p-01 {
  position: relative;
  padding-bottom: 8px;   /* 下線との間隔 */
  font-size: 14px;
  color: #fff;
}

/* 下線：左半分黄色・右半分グレー */
#footer .p-01::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #e0ac27 50%, #8aa78a 50%);
}




/* メニューラッパー */
#footer-nav { width: 572px; float:left;}
/* メニューリスト */
#footer-nav ul.menu { list-style: none; margin: 0; padding: 0; }
#footer-nav ul.menu > li { position: relative; font-size: 12px; }
/* 親メニューリンク */
#footer-nav ul.menu > li > a { display: block; padding: 10px 0 10px; color: #fff; text-decoration: none; transition: color 0.3s, margin-left 0.3s;border-bottom: 1px dotted #2e5c3c; }
#footer-nav ul.menu > li > a:hover { color: #e0ac27; margin-left: 2px; }
/* サブメニュー */
#footer-nav ul.sub-menu { max-height: 0; opacity: 0; overflow: hidden; transform: translateY(-5px); transition: max-height 0.5s ease, opacity 0.4s ease, transform 0.4s ease; margin-left: 5px; }
#footer-nav ul.sub-menu li a { display: block; padding: 5px 10px; font-size: 12px; color: #fff; text-decoration: none; transition: color 0.3s, margin-left 0.3s; border-bottom: 1px dotted #2e5c3c; }
#footer-nav ul.sub-menu li a:hover { color: #e0ac27; margin-left: 2px; }
/* 開いている時 */
#footer-nav li.open > ul.sub-menu { max-height: 600px; /* サブメニュー数に応じて余裕を持たせる */ opacity: 1; transform: translateY(0); }
/* 開閉アイコン */
.submenu-toggle { position: absolute; right:0px; top: 0; cursor: pointer; }
.submenu-toggle::after { content: "▾"; font-size: 24px; display: inline-block; padding: 10px 10px; color: #fff; transition: transform 0.3s ease; background:#327045;}
li.open > .submenu-toggle::after { transform: rotate(-180deg); }

#footer-nav ul.sub-menu li a::before{font-family: "Font Awesome 6 Free"; /* ここがポイント */
  font-weight: 900; /* solid系なら必須 */
  content: "\f105"; /* UnicodeはCheatsheetで確認 */
  display: inline-block;
  margin-right: 6px;
  font-size: 14px;
  color: #fff;}



#footer-links{ width: 435px; float:right;}
#footer-links img{ margin-bottom:30px;}
#footer-bottom { clear:both; font-size:12px; text-align:center; color:#FFF; border-top:#5c916c solid 1px; padding-top:20px; padding-bottom:20px;}
#footer-bottom a{color:#FFF; text-decoration:none;}


#mp{ background:#56a647; text-align:center;padding:18px 0px 17px 0px;margin-top:0px;}
#mp p{color:#FFF;}


.h2-01{ font-size:24px; text-align:center; margin-bottom:40px; background:url(../images2/contact/h2-contact.jpg) center bottom repeat-x; display:block; padding-bottom:20px; font-weight: bold;}

#contact #box-01 {width:800px; margin:auto; margin-top:100px; margin-bottom:100px;}
#contact #box-01 .h2-contact{ font-size:24px; text-align:center; margin-bottom:40px; background:url(../images2/contact/h2-contact.jpg) center bottom no-repeat; display:block; padding-bottom:20px; font-weight:normal;}
#contact #box-01 .area-01{margin:0 auto 70px;}
#contact #box-01 .area-01 ul{}
#contact #box-01 .area-01 li{ line-height:2em; letter-spacing:normal; text-indent:-1em; padding-left:1em;}

#contact #box-01 .area-01{ overflow:hidden; margin:auto; text-align:center;}
#contact #box-01 .area-01 p{ font-size:18px; font-weight:bold; margin-bottom:20px;}
#contact #box-01 .area-01 ul{ display:inline-block; margin-bottom:40px;}
#contact #box-01 .area-01 li{ text-align:left; text-indent:-1em; padding-left:1em;}

#contact #box-01 .area-02 .area-mailform{}
#contact #box-01 .area-02 .area-mailform table{margin-bottom:50px; width:100%;}
#contact #box-01 .area-02 .area-mailform table tr{}
#contact #box-01 .area-02 .area-mailform table td{ padding:20px 8px; vertical-align:middle; border:#CCC solid 1px;}
#contact #box-01 .area-02 .area-mailform table td.td-01{font-weight:bold; padding-left:20px; vertical-align:top; background:#ebf4e6;white-space:nowrap; width:250px;}
#contact #box-01 .area-02 .area-mailform table ul li{ margin-bottom:7px;}
#contact #box-01 .area-02 .area-mailform table ul li:last-of-type{ margin-bottom:0px;}
#contact #box-01 .area-02 .area-mailform table ul.ul-01 li{ margin-bottom:0px;}
#contact #box-01 .area-02 .area-mailform table select{ padding:3px; font-size:15px;}
#contact #box-01 .area-02 .area-mailform table input{ padding:3px; font-size:15px;}
#contact #box-01 .area-02 .area-mailform .chui{ font-weight:bold; color: #fff; background:#69b434; font-size:11px; padding:0px 7px; margin-right:7px; position:relative; bottom:3px; float:right;position:relative; top:0px;}
#contact #box-01 .area-02 .area-mailform .w01{width:99%;}
#contact #box-01 .area-02 .area-mailform .w02{width:40%;}

#contact #box-01 .area-02 .area-mailform .btn{ background:#69b434; color:#fff; padding:20px 0; text-decoration:none; display:block; -webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px; border:none; margin:auto; width:300px; font-size:18px; font-weight:500; font-family: "Noto Serif JP", serif;}
#contact #box-01 .area-02 .area-mailform .btn:hover{opacity: 0.5; filter: alpha(opacity=50);-webkit-transition: 0.5s; -moz-transition: 0.5s; -ms-transition: 0.5s; transition: 0.5s;cursor: pointer;}




#main{ width:1180px; overflow:hidden; margin:auto;}
#mleft{ width:822px; float:left; margin-top:65px;}

#mright{ width:300px; float:right; margin-top:65px;}

#mright img{ margin-bottom:15px;}

#category #box-01{ padding-bottom:100px;}
#category .posts-item { display: flex; margin-bottom: 1rem; width: 100%; border-bottom: dotted 1px #555; padding-bottom: 0.8rem; }
#category .posts-thumb { object-fit: cover; display: flex; align-items: center; width: 150px; min-width: 150px; height: 100px; min-height: 100px; overflow: hidden; margin-right: 1rem; }
#category .posts-text {  width: calc(100% - (150px + 2rem));
}
#category .posts-sub { margin-bottom: 0.2rem; }
#category .posts-item__date { font-weight: bold; color: #555; font-size: 0.95rem; letter-spacing: 0.015rem; }
#category .posts-item__category-btn { background-color: #53a738; color: #fff; font-size: 0.72rem; padding: 2px 6px; font-weight: bold; border-radius: 4px; position: relative; top: -1px; }
#category .posts-item__category-btn:hover { opacity: 0.6; transition: 0.25s; }
#category .posts-item__tag-btn a { background-color: #8e8278; color: #fff; font-size: 0.72rem; padding: 2px 6px; font-weight: bold; border-radius: 4px; position: relative; top: -1px; word-break: keep-all; }
#category .posts-item__tag-btn a:hover { opacity: 0.6; transition: 0.25s; color: #fff; }
#category .posts-item__ttl a { font-weight: bold; color: #216c1e; font-size: 0.95rem; line-height: 130% !important; }
#category .posts-item__ttl a:hover { text-decoration: underline; transition: 0.25s; }
#category .posts-item__ttl a:visited { color: #777; }


nav.navigation { display: block; clear: both; width: 100%; margin: 40px auto }
nav.navigation a { line-height: 2; text-decoration:none;}
nav.navigation .nav-arrow span { display: none }
nav.navigation .nav-arrow::before { display: block; line-height: 38px; width: 100%; margin: 0; vertical-align: middle }
a.page-numbers { display: inline-block; border: solid 2px #337547; color: #337547; font-weight: bold; padding: 1px 10px; border-radius: 4px; margin-right: 6px; vertical-align:middle;}
a.page-numbers:hover { background-color: #337547; color: #fff; transition: 0.25s; }
.page-numbers.current { display: inline-block; background-color: #337547; color: #fff; font-weight: bold; padding: 7px 12px; border-radius: 4px; margin-right: 6px; vertical-align: middle;}
.prev.page-numbers { font-weight: bold; border: none; background-color: #ccc; color: #555; padding: 3px 9px 5px 6px; border-radius: 30px; line-height: 0; margin-right: 0.9rem; }
.next.page-numbers { font-weight: bold; border: none; background-color: #ccc; color: #555; padding: 5px 7px 7px 8px; border-radius: 30px; line-height: 0; margin-left: 0.5rem; }
nav.navigation.pagination { text-align: center; }
.dp-container, .container-widget-area.pos-top, #dp_breadcrumb_nav { color: #202020; background-color: #ffffff; }
#dp_breadcrumb_nav a { color: #202020; }
.dp-container select { border-color: rgba(32, 32,32, 0.14); }
.dp-pagenavi a { color: #202020; }
#dp_breadcrumb_nav { position: relative; margin: 0 auto; padding: 15px 20px 30px; width: 1180px }
#dp_breadcrumb_nav ul { list-style-type: none; margin: 0 }
#dp_breadcrumb_nav ul li { display: inline; position: relative; padding: 0; font-size: 11px }
#dp_breadcrumb_nav ul li::after { font-size: 10px; padding: 0 10px }
#dp_breadcrumb_nav ul li:last-child:after { content: '' }


nav.navigation .navialignleft a:hover, nav.navigation .navialignright a:hover { color: #337547; }


.icon-home::before { font-family: "Font Awesome 6 Free"; /* Solid/Regular 共通 */ font-weight: 900; /* Solid を使う場合は必須 */ content: "\f015"; /* Home アイコン */ display: inline-block; }
.icon-cw::before { font-family: "Font Awesome 6 Free"; /* Solid/Regular 共通 */ font-weight: 900; /* Solid を使う場合は必須 */ content: "\f054" }
#hd-slideshow .button-next::before, .dp_breadcrumb ul li:after, .icon-right-open::before { font-family: "Font Awesome 6 Free"; /* Solid/Regular 共通 */ font-weight: 900; /* Solid を使う場合は必須 */ content: "\f054" }
.icon-starburst::before { font-family: "Font Awesome 6 Free"; /* Solid/Regular 共通 */ font-weight: 900; /* Solid を使う場合は必須 */ content: "\f054" }




#single #box-01 {width:800px; margin:auto;margin-bottom:100px;}
#single #box-01 .h2-single{ font-size:24px; text-align:center; margin-bottom:40px; background:url(../images2/contact/h2-contact.jpg) center bottom repeat-x; display:block; padding-bottom:20px; font-weight: bold;}
#single #box-01 .area-01{margin:0 auto 70px;}
#single #box-01 .area-01 .tb-01{ overflow:hidden; margin-bottom:10px;}
#single #box-01 .area-01 .tb-01 span.date i{ margin-right:5px;}
#single #box-01 .area-01 .tb-02{ margin-bottom:50px;word-break: break-all;}







#about #box-01 .entry { position: relative; line-height: 2.14 }
#about #box-01 .entry p { padding: 0 0 2.14em 0 }
#about #box-01 .entry h1,
#about #box-01 .entry h2,
#about #box-01 .entry h3,
#about #box-01 .entry h4,
#about #box-01 .entry h5,
#about #box-01 .entry h6 { line-height: 1.6; margin: 30px 0 20px 0 }

#about #box-01 .entry h1,
#about #box-01 .entry h2,
#about #box-01 .entry h3,
#about #box-01 .entry h4 { padding: 10px 0 10px 16px; border-left-style: solid; border-left-width: 2px }

#about #box-01 .entry h3,
#about #box-01 .entry h4 { padding: 6px 0 6px 12px; border-left-width: 1px }

#about #box-01 .entry .wp-caption { max-width: 100%; margin: 12px auto; padding: 5px; font-size: 12px; text-align: center; border: 1px solid }
#about #box-01 .entry .wp-caption img { height: auto; margin: 0 auto 5px }
#about #box-01 .entry .wp-caption p { padding: 0; margin: 0 }

#about #box-01 .entry img { margin: 20px auto 20px 0; max-width: 100%; height: auto }
#about #box-01 .entry img.fl-l,
#about #box-01 .entry img.alignleft,
#about #box-01 .entry .wp-caption.alignleft { margin: 10px 32px 32px 0 }
#about #box-01 .entry img.fl-r,
#about #box-01 .entry img.alignright,
#about #box-01 .entry .wp-caption.alignright { margin: 10px 0 32px 32px }

#about #box-01 .entry ul,
#about #box-01 .entry ol { margin: 0 0 0 5px; padding: 0 0 30px 0 }
#about #box-01 .entry ul li,
#about #box-01 .entry ol li { line-height: 2; padding: 2px 0 }
#about #box-01 .entry ul { list-style: none; margin-left: 24px }
#about #box-01 .entry ul li { position: relative; }
#about #box-01 .entry ol { list-style-type: decimal }

#about #box-01 .entry input[type="submit"] { position: relative; font-size: 13px; padding: 0 16px; line-height: 2; cursor: pointer; border: 0 }

#about #box-01 .entry>p>a.more-link { display: inline-block; border: 2px solid; line-height: 18px; margin-top: 20px; margin-right: 2px; padding: 4px 10px; text-align: center; text-decoration: none; font-size: 11px; float: right }
#about #box-01 .entry>p>a.more-link:hover { text-decoration: none }

#about #box-01 .entry .dp-pagenavi a { text-decoration: none }
#about #box-01 .entry .dp-pagenavi a:hover { text-decoration: none }

#about #box-01 .entry ul.recent_entries .widget-post-thumb { margin: 0 10px 0 0; padding: 0 }
#about #box-01 .entry .excerpt_title_wid { display: inline; line-height: 15px; margin: 0 6px 0 0; font-size: 12.5px; border: none !important }
#about #box-01 .entry .excerpt_title_wid a:hover { text-decoration: none }

#about #box-01 .entry ul li:before { border-color: #ffffff; background-color: #337547; box-shadow: 0 0 0 1px #337547; color: #ffffff;position: absolute; top: 1em; left: -17px; content: ""; width: 6px; height: 6px; border: 1px solid}
#about #box-01 .entry ul li::before { border-radius: 50%; }


#about #box-01 { margin-bottom: 100px;}
#about #box-01 .entry { }
#about #box-01 .entry h2 { font-weight: bold; color: #202020; border-left: solid 6px #337547; border-bottom: solid 2px #92c1a1; line-height: 1.6; margin: 30px 0 20px 0; padding: 10px 0 10px 16px; font-size: 140%; }
#about #box-01 .entry > h2 > span { color: #202020 !important; }
#about #box-01 .entry img { width: 100%; height: auto; display: block; }
#about #box-01 .entry h3 { font-size: 110%; font-weight: bold; border-left-width: 0px; background: linear-gradient(transparent 70%, #d8e59e 70%); padding: 6px 0 0px 12px; line-height: 1.6; margin: 30px 0 30px 0; }
#about #box-01 .entry h4 { font-size: 100%; font-weight: bold; border-left-width: 6px;line-height: 1.6; margin: 30px 0 20px 0;border-left: solid 6px #337547; font-size: 110%; font-weight: bold; border-left-width: 6px; padding: 0px 0 0px 12px; }
#about #box-01 .entry p { margin-bottom: 20px; line-height:2em; font-size:14px;}
#about #box-01 .entry table { margin-bottom: 30px; }
#about #box-01 .entry dt, #about #box-01 .entry th, #about #box-01 .entry td { padding: 6px 8px 6px 8px; border: 1px solid; font-size: 14px; }
#about #box-01 .entry a { color: #337547; text-decoration: none; font-weight: bold; }
#about #box-01 .entry a:hover{ color:#94ce92;}
#about #box-01 .entry .message { font-weight: bold; font-size: 110%; line-height: 2.5em; }
#about #box-01 .entry hr { margin: 0px 0 40px 0;border-color: rgba(32, 32, 32, 0.4);    height: 0; padding: 0;border: 0; border-top: 1px dotted;}



#about #box-01 .entry .reserch > li > h2 { border-left: 5px solid #337547; border-bottom: 0px; font-size: 1.1rem; padding: 0rem 0rem 0rem 0.5rem; margin: 0rem 0rem 0.5rem; }
.reserch > li { display: block; padding: 1.4rem 0rem 1.2rem !important; border-bottom: dotted 2px #ccc; }
#about #box-01 .entry .reserch li:before { border-color: #FFF; background-color: #FFF; box-shadow: none; color: #FFF; position: absolute; top: 0; left: 0; content: ""; width: 0px; height: 0px; border: none; }
#about #box-01 .entry ul.reserch { list-style: none; margin-left: 0px; }
#about #box-01 .entry .reserch__cap { margin-left: 24px; }
