@charset "utf-8";

/*
theme Name: kiyohukukaigi
Author: accomplish
Description: original theme
*/
/*cssのリセット*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, abbr, address, cite, code, del, dfn, em, img,
ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd,
ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav, section,
summary, time, mark, audio, video {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
}

body {
	line-height: 1;
	background-image: url(images/bg.gif);
	background-size: cover;
	background-attachment: fixed;
	background-position: center center;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

a {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

a:focus, *:focus { outline:none; }

ins {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}

mark {
  font-weight: bold;
  font-style: italic;
  color: #000;
  background-color: #ff9;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

hr {
  display: block;
  height: 1px;
  margin: 0.5em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

.clear {
content: " ";  
display: block; 
visibility: hidden; 
clear: both; 
height: 0.1px; 
font-size: 0.1em; 
line-height: 0;	
}

.inside {
	width:1000px;
	margin:0 auto;
	box-sizing: border-box; 
}

/*サイト全体の基準となるCSSを記述*/
html {
  font-size: 18px;
}

body {
  /*フォントの指定*/
  
font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

  /*行間の指定*/
  line-height: 1.4;
  margin: 0;
  padding: 0;
  /*サイトのデフォルトとなる文字の色を指定*/
  color: #333;

}

/*見出しを全て太字で表示 + 文字色を黒に*/
h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #000;
}

img {
  max-width: 100%;
  height: auto;
}

/* フォント -*/

.f15 {font-size:15px;}
.fSSS { font-size: 70%;}
.fSS  { font-size: 78%;} /* base 12px =  8px */
.fS   { font-size: 85%;} /* base 12px = 10px */
.fM   { font-size: 100%;}
.fL   { font-size: 115%;}/* base 12px = 14px */
.fLL  { font-size: 130%;}/* base 12px = 16px */
.fLLL { font-size: 143%;}/* base 12px = 18px */
.ff-m {
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.orange {
	color: #E78518;	
}

.enji {
	color: #BB0000;
}
.green {
	color:#49A527;
}

/* 字下げ -*/

.indent1 {
	text-indent: -1.3em;
	margin-left: 1.3em;
	display: block;
}

.indent2 {
	text-indent: -2em;
	margin-left: 2em;
	display: block;
}

.indent4 {
	text-indent: -3.9em;
	margin-left: 3.9em;
	display: block;
}

.indent5 {
	text-indent: -5.0em;
	margin-left: 5.0em;
	display: block;
}
/* 余白 -*/
.mt00 { margin-top:  0   !important;}
.mt05 { margin-top:  5px !important;}
.mt10 { margin-top: 10px !important;}
.mt12 { margin-top: 12px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}

.mr00 { margin-right:  0   !important;}
.mr05 { margin-right:  5px !important;}
.mr10 { margin-right: 10px !important;}
.mr12 { margin-right: 12px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr25 { margin-right: 25px !important;}
.mr30 { margin-right: 30px !important;}
.mr35 { margin-right: 35px !important;}
.mr40 { margin-right: 40px !important;}
.mr45 { margin-right: 45px !important;}
.mr50 { margin-right: 50px !important;}
.mr100 { margin-right: 100px !important;}

.mb00 { margin-bottom:  0   !important;}
.mb05 { margin-bottom:  5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb12 { margin-bottom: 12px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb45 { margin-bottom: 45px !important;}
.mb50 { margin-bottom: 50px !important;}

.ml00 { margin-left:  0   !important;}
.ml05 { margin-left:  5px !important;}
.ml10 { margin-left: 10px !important;}
.ml12 { margin-left: 12px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml25 { margin-left: 25px !important;}
.ml30 { margin-left: 30px !important;}
.ml30 { margin-left: 35px !important;}
.ml40 { margin-left: 40px !important;}
.ml45 { margin-left: 45px !important;}
.ml50 { margin-left: 50px !important;}
.ml100 { margin-left: 100px !important;}

.pt00 { padding-top:  0   !important;}
.pt05 { padding-top:  5px !important;}
.pt10 { padding-top: 10px !important;}
.pt12 { padding-top: 12px !important;}
.pt15 { padding-top: 15px !important;}
.pt20 { padding-top: 20px !important;}
.pt25 { padding-top: 25px !important;}
.pt30 { padding-top: 30px !important;}
.pt35 { padding-top: 35px !important;}
.pt40 { padding-top: 40px !important;}
.pt45 { padding-top: 45px !important;}
.pt50 { padding-top: 50px !important;}

.pr00 { padding-right:  0   !important;}
.pr05 { padding-right:  5px !important;}
.pr10 { padding-right: 10px !important;}
.pr12 { padding-right: 12px !important;}
.pr15 { padding-right: 15px !important;}
.pr20 { padding-right: 20px !important;}
.pr25 { padding-right: 25px !important;}
.pr30 { padding-right: 30px !important;}
.pr35 { padding-right: 35px !important;}
.pr40 { padding-right: 40px !important;}
.pr45 { padding-right: 45px !important;}
.pr50 { padding-right: 50px !important;}

.pb00 { padding-bottom:  0   !important;}
.pb05 { padding-bottom:  5px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb12 { padding-bottom: 12px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb25 { padding-bottom: 25px !important;}
.pb30 { padding-bottom: 30px !important;}
.pb35 { padding-bottom: 35px !important;}
.pb40 { padding-bottom: 40px !important;}
.pb45 { padding-bottom: 45px !important;}
.pb50 { padding-bottom: 50px !important;}

.pl00 { padding-left:  0   !important;}
.pl05 { padding-left:  5px !important;}
.pl10 { padding-left: 10px !important;}
.pl12 { padding-left: 12px !important;}
.pl15 { padding-left: 15px !important;}
.pl20 { padding-left: 20px !important;}
.pl25 { padding-left: 25px !important;}
.pl30 { padding-left: 30px !important;}
.pl30 { padding-left: 35px !important;}
.pl40 { padding-left: 40px !important;}
.pl45 { padding-left: 45px !important;}
.pl50 { padding-left: 50px !important;}


/* リンク */

a:link {
	color: #0066CC;
} 
a:visited {color:#0066CC;} /*訪問済みのリンクの色*/
a:hover {
	color: #EC7046;
} /*カーソルが乗っているリンクの色*/
a:active {color:#0066CC;} /*クリック中のリンクの色*/

/* ボタン */
.btn-badge {
	display: inline-block;
	padding: 0.25em 0.4em;
	font-size: 75%;
	font-weight: bold;
	line-height: 1;
	color: #808080;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: 0.25rem;
	background-color: #FAF2ED;
}
.btn-green {
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  background-color:#5C9E2C;
  margin:0 auto;
}

.btn-green a:visited {
  color: #fff;
}

/* BOX */
.beige-box {
	width:90%;
	margin:0 auto;
	border:solid #8F842E 1px;
	background-color:#FAF5ED;
	border-radius:10px;
	padding:1rem 1rem; 
}

/* フェード */
.box {
  width: 100%;        /* 横幅いっぱい */
  height: 300px;      /* 高さを300pxに指定 */
  margin: 0 0 50px;   /* 下方向に適度な余白 */
  opacity: 0;         /* 初期値は透明にしておく */
  transition: 1.0s;    /* 動くスピードを0.5秒に指定 */
  position: relative; /* 相対位置の設定 */
  top: 50px;          /* 事前に下に50pxずらしておく */
}
.box2 {
  width: 100%;        /* 横幅いっぱい */
  height: 250px;      /* 高さを指定 */
  margin: 0 0 50px;   /* 下方向に適度な余白 */
  opacity: 0;         /* 初期値は透明にしておく */
  transition: 1.0s;    /* 動くスピードを0.5秒に指定 */
  position: relative; /* 相対位置の設定 */
  top: 50px;          /* 事前に下に50pxずらしておく */
}
.active {
  opacity: 1;         /* 透明度を元に戻す */
  top: 0;             /* ずらしていた位置を戻すことで上に上がっているようにみえる */
}

/* クラス定義 */

.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left;
}

.alignright {
	float: right;
	padding-bottom: 15px;
	padding-left: 15px;
}

.alignleft {
	float: left;
	padding-right: 15px;
	padding-bottom: 15px;
}

.aligncenter {
	text-align: center;
}

img.alignright{
	display: block;
	margin: 0 0 0 auto;
}
 
img.alignleft{
	display: block;
	margin: 0 auto 0 0;
}
 
img.aligncenter{
	display: block;
	margin: 0 auto;
}

.f-left {
	float: left;	
}

.f-right {
	float: right;	
}

/*コンテンツのサイズ指定*/
.header-inner,
.footer-inner {
  box-sizing: border-box;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  padding: 0.5rem 0;
}

.container {
  box-sizing: border-box;
  padding: 0rem 0rem 2rem 0;
  position:relative;
  width:100%;
  margin-top:50px;
}

.container:after {
  display: block;
  clear: both;
  content: '';
}

.contents {
  width:100%;
}

.contents p {
  margin-bottom: 2rem;
}

/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/
header {
	height:200px;
	background-image:url(images/topheader-bg.png);
	background-position:center top;
	background-repeat:no-repeat;
	background-attachment:fixed;
}

.back_r {
	background-image: url(images/headermenu_bg.png);
	background-position:right top;
	background-repeat:no-repeat;
	height:100%;
	width: auto;
}

.site-title-wrap {
  text-align: center;
  margin-top:100px;
}

/*タイトルを画像にする場合*/
.site-title a {
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
}

.site-title a img {
  display: inline-block;
  width: auto;
  height: auto;
}

.is-fixed .site-title-wrap {
	text-align: left;
	margin-top: 5px;
}
.is-fixed .site-title a {
  height:100px;
}
.is-fixed .site-title a img {
  display: inline-block;
  width: auto;
  height: 100%;
}

/*タイトルを文字列にする場合*/
/* .site-title a {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  color: #000;
} */


.header-inner {
  position: relative;
}

.navbutton {
  display: none;
}

.header-nav-wrap {
	position: fixed;
	padding-top: 0px;
	margin-right: 70px;
	height: 75px;
	display: inline-block;
	right:0px;
	z-index: 9998;
}

.header-nav {
  font-size: 0;
}


.header-nav li {
  font-size: 0.8rem;
  display: inline-block;
  margin-right: 1rem;

}

.header-nav li a {
	font-weight: 500;
	display: block;
	text-decoration: none;
	color: #000;
}

.header-nav li a:hover {
  opacity: .6;
}

.header-nav li.current_page_item a {
	color: #327D1C;
}

.header-nav li i {
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 50%;
  background: #aa0142;
  line-height: 30px;
  text-align: center;
  color:#FFF;
  margin-right:5px;
}
.header-nav li i:before { padding: 0 0px 0px 0px; line-height: 30px; }
.header-nav li a:hover i { background: #aa798c; }


.is-fixed .header-nav{
	margin:0 auto;
}

.is-fixed .header-nav li {
  font-size: 1rem;
  display: inline-block;
  height:100px;
  margin-right:0;
}

.is-fixed .header-nav li a {
	font-weight: 500;
	display: block;
	text-decoration: none;
	color: #000;
	border-bottom:none;

}

.is-fixed .header-nav li i {
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 50%;
  background: #aa0142;
  line-height: 30px;
  text-align: center;
  color:#FFF;
  margin-right:5px;
}
.is-fixed .header-nav li i:before { padding: 0 0px 0px 0px; line-height: 30px; }


#nav-drawer {
  position: relative;
  margin-left: 18px;
  margin-top: -60px;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 55px;
  height: 70px;
  vertical-align: middle;
  position: fixed;
  z-index: 999;
  background-color: transparent;
  top: 30px;
  right: 0;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 35px;/*長さ*/
  border-radius: 3px;
  background: #000;/*線の色*/
  display: block;
  content: '';
  cursor: pointer;
}

#nav-open span:before {
  bottom: -8px;
}

#nav-open span:after {
  bottom: -16px;
}
#nav-open .open-text {
  position: absolute;
  height:20px;
  font-size:0.8rem;
  background:none;
  display: block;
  content: '';
  cursor: pointer;
  top:25px;
  font-weight:bold; 
}
#nav-open .open-text:before, #nav-open .open-text:after {
	display:none;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 400px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(105%);
  transform: translateX(105%);/*右に隠しておく*/
}


/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked~#nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
  z-index: 9998;
}

/*ハンバーガーメニューの中身もろもろ*/
.hamburger-top {
	position: relative;
	background-color: #327D1C;
	text-align: center;
	padding: 15px 15px;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 5px;
	color: #fff;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

.humburger-top .cancel{
    display: inline-block;
    padding: 10px 3px;
}

.cancel {
  display: inline-block;
  position: absolute;
  cursor: pointer;
  top: 15px;
  right: 20px;
  width: 5px;
  height: 30px;
  background: #fff;
  transform: rotate(45deg);
  z-index: 99;
}

.cancel:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: -13px;
  width: 31px;
  height: 5px;
  margin-top: -3px;
  background: #fff;
}

/*中身次第で工夫　ここから*/
.top-info{
  padding: 10px 15px;
}
/*中身次第で工夫　ここまで*/


.drawer-nav {
	padding: 10px 15px;
}
.menu-container{
  padding: 5px 10px;
}
.drawer-nav ul li {
  float: none;
  font-size: 15px;
  padding: 10px 15px 10px 15px;
  list-style: none;
  text-align: left;
  border-bottom: dashed 1px #999;
}

.drawer-nav ul li:last-child {
  border: none;
}

.drawer-nav ul li a {
  text-decoration: none;
  color: #000;
}

.contactbox {
	padding: 10px 15px;
}
.contactbox .tel {
	display: inline-block;
    background-color:#327D1C;
    color:#FFF;
    padding:10px 30px;
    border-radius:20px;
    margin:30px 0px 0px 0;
	font-weight:800;
	text-align:center;
	width:80%;
}
.contactbox .mail {
	display: inline-block;
    background-color:#327D1C;
    color:#FFF;
    padding:10px 30px;
    border-radius:20px;
    margin:30px 0px 30px 0;
	font-weight:800;
	text-align:center;
	width:80%;
}

.contactbox .tel a {
	text-decoration: none;
	color: #FFF;
	pointer-events: none;
}

.contactbox .mail a {
	text-decoration: none;
	color: #FFF;
}

/* スマホ以外のグローバルメニュー下に表示 */
@media (min-width: 800px) {
body {
	min-width:800px;
}
.header-nav li {
	font-size: 1rem;
	display: inline-block;
	margin-right: 0px;
	font-weight: 300;
	color: #000;
	text-align: center;
}

.header-nav li a {
  font-weight: bold;
  display: block;
  text-decoration: none;
  font-weight:300;
  color:#333;
  padding-top:10px;
  padding-bottom:10px;
  padding-right:15px;
  padding-left:15px;
  line-height:85px;
 
}
.header-nav li.contact a {
	background-color:#49A527;
	color:#FFF;
}
.header-nav li a:hover {
  opacity: .6;
  padding-top:10px;
  padding-bottom:8px;
}
.is-fixed .header-nav li a:hover {
	border-bottom:none;
}


}


/*---------------------------------------------------------
	ナビの固定用
---------------------------------------------------------*/

/*header  {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  transition: .3s;
  background-color: rgba(255,255,255,0.9);
  height: 100px;
  box-sizing: border-box;
}
*/



.is-fixed  {
	position: fixed !important;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100% !important;
	padding-top: 0px;
	background-color: rgba(216,239,252,0.9);
	-webkit-transition: all .4s ease 0s,background .6s ease .2s;
	transition: all .4s ease 0s,background .6s ease .2s;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	height: 105px;
	color: #000;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);  
}


.n2-section-smartslider {
	margin-top:100px;
}


/*---------------------------------------------------------
フッター
---------------------------------------------------------*/
.footer {
	margin-top: 0px;
}

.footer01 {
	width: 100%;
	color: #333;
	padding-top: 30px;
	padding-bottom: 30px;
	text-align: center;
	font-weight: 500;
}

.footer01 h2 {
	color: #333 !important;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	margin-bottom: 50px;
	margin-top: 15px;
	font-size: 2em;
	text-align: center;
}


.flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0 0;
  justify-content:space-between;

}
.flex > *{
  min-width: 8%;
  font-size: 16px;
  text-align: center;
  margin-right:50px;
  margin-bottom:50px;
}

.flex > .fca:nth-child( 5n ) { margin-right: 0; }

.fca {
	display:inline;	
}

.footer-box {
	display: grid;
    gap: 50px;
    justify-items: center;
}
.footer-qr {
	gap:24px;
	font-size:1rem;
	place-items:center;
}
.footer-tel {
	justify-content:center;
}


.footer-nav,
.copyright {
  text-align: center;
}

.copyright a {
	color: #333;
}

.copyright p {
	font-size: 0.8rem;
	color: #333;
}

.footer-nav {
  font-size: 0;
  margin-bottom: 3rem;
  margin-top:0rem;
}
.footer-nav li:before {
	font-family: "Font Awesome 5 Free";
	content: '\f249';
	padding-top: 0.7em;
	padding-right: 0.5em;
	color: #FFF;
	font-weight: 600;
}
.footer-nav li {
  font-size: 0.8rem;
  display: inline-block;
  margin-right: 1.5rem;
}

.footer-nav li a {
	text-decoration: none;
	color: #FFF;
}

.footer-nav li a:hover {
  opacity: .6;
}



/*---------------------------------------------------------
サイドバー
---------------------------------------------------------*/
.sidebar-wrapper {
	margin-bottom: 1rem;
	background-color: #FFF;
	padding-top:10px;
	padding-left:10px;
	padding-right:10px;
	padding-bottom:10px;
}

.sidebar-title {
  font-size: 1.1rem;
  box-sizing: border-box;
  margin: 0px 0 1.2rem;
  padding: .5rem;
  color: #000;
  border-bottom: 4px solid #03162f;
}

/*デフォルトウィジェット*/
.widget_recent_entries ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_pages ul,
.widget_meta ul,
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.calendar_wrap,
.tagcloud {
  list-style: none;
}

.widget_recent_entries li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_archive li,
.widget_nav_menu li {
  position: relative;
  margin-bottom: .5rem;
}

.widget_recent_entries a,
.widget_meta a,
.widget_recent_comments a,
.widget_pages a,
.widget_meta a,
.widget_categories a,
.widget_archive a,
.widget_nav_menu a {
  text-decoration: none;
  color: #333;
}

.sidebar-wrapper a:hover {
  opacity: .6;
}

/*カテゴリウィジェット*/
.widget_categories li {
  display: block;
  margin-bottom: .5rem;
}

.widget_categories li a {
  font-size: .95rem;
  position: relative;
  display: block;
  padding: .9rem .6rem .9rem 2rem;
  color: #fff;
  background-color: #03162f;
}

.widget_categories li a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: .6rem;
  content: '\f02b';
  transform: translateY(-50%);
  color: #fff;
}

.widget_categories .children {
  margin-bottom: .5rem;
  padding: 0;
  padding-left: 1rem;
  background-color: #415671;
}

.widget_categories .children li {
  margin-bottom: 0;
}

.widget_categories .children li a {
  font-size: .9rem;
  background-color: transparent;
}

.widget_categories .children li a::before {
  position: absolute;
  top: 50%;
  left: .6rem;
  content: '∟';
  transform: translateY(-50%);
  color: #fff;
}

/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {
  display: none;
}

.widget_archive .screen-reader-text {
  position: relative;
  display: block;
  height: 0;
  text-indent: -9999999px;
}

.widget_categories form {
  position: relative;
}

.widget_categories form::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: '▼';
  transform: translateY(-50%);
  pointer-events: none;
}

.widget_categories .postform,
.widget_archive select {
  font-size: .95rem;
  width: 100%;
  padding: 4px 10px;
  cursor: pointer;
  border: 1px solid #e0e3ef;
  border-radius: 0;
  background-color: #f4f5f9;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.widget_archive label::after {
  position: absolute;
  top: .5rem;
  right: 1rem;
  content: '▼';
  text-indent: 0;
  pointer-events: none;
}

/*タグウィジェット*/
.tagcloud a {
  font-size: .9rem !important;
  line-height: 1;
  position: relative;
  display: inline-block;
  margin-bottom: .5rem;
  padding: .2rem .5rem;
  text-decoration: none;
  color: #03162f;
  border: 1px solid #000;
  background-color: #fff;
}

/*メニューウィジェット*/
.widget_nav_menu li a {
  font-size: 1rem;
  font-weight: bold;
  position: relative;
  padding-left: 1.3rem;
  color: #333;
}

.widget_nav_menu li a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 0;
  content: '\f105';
  transform: translateY(-50%);
  color: #03162f;
}

/*最近の投稿*/
.widget_recent_entries li {
  padding-bottom: .5rem;
  border-bottom: 1px solid #ddd;
}

.widget_recent_entries li a:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  font-weight: 900;
  position: absolute;
  left: 5px;
  content: '\f303';
  color: #000;
}

.widget_recent_entries li a {
  display: block;
  margin-bottom: .3rem;
  padding-left: 1.6rem;
}

.widget_recent_entries .post-date {
  font-size: .8rem;
  display: block;
}

/*カレンダーウィジェット*/
.calendar_wrap {
  padding: 1rem;
  border: 1px solid #ddd;
}

.calendar_wrap table {
  width: 100%;
}

.calendar_wrap tbody {
  text-align: center;
}

.calendar_wrap caption {
  font-weight: bold;
  margin-bottom: 1rem;
}

.calendar_wrap td {
  padding: .3rem 0;
}

.calendar_wrap tfoot td {
  padding-top: .7rem;
}

.calendar_wrap tfoot td:last-child {
  text-align: right;
}

.side-shisetsutitle a {
pointer-events: none;
opacity: 1;
}

/*---------------------------------------------------------
記事一覧
---------------------------------------------------------*/
.archive-top h1 {
font-size: 1.6rem;
margin-bottom: 1.5rem;
}

.archive-top p {
font-size: .875rem;
line-height: 1.7;
margin-bottom: 1.5rem;
}

.article-list {
  margin-bottom: 1rem;
  padding: 0rem;
  background-color:rgba(255,255,255,0.5);
}

.article-list:hover {
  background-color: #eee;
}

.article-list a {
  display: block;
  text-decoration: none;
  color: #333;
  height:95px;
}

.article-list a:after {
  display: block;
  clear: both;
  content: '';
}

.article-list .img-wrap {
  position: relative;
  float: left;
  line-height: 1;
}

.article-list .img-wrap img {
  width: 142px;
  height: 95px;
  object-fit: cover;
}

.article-list .img-wrap .cat-data {
  font-size: .75rem;
	position: absolute;
	top: 0;
	right: 0;
  padding: .3rem .5rem;
	color: #fff;
	background-color: #336600;
}

.article-list .text {
  margin-left: 170px;
  font-size: 1rem;
  padding-top:5px;
}

.article-list .text h3 {
  font-size: 1.05rem;
  margin-bottom: .2rem;
  text-align:left;
}

.article-list .text .article-date,
.article-list .text .article-author {
  font-size: .75rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: .2rem;
  color: #888;
}

.article-list .text .article-date {
  margin-right: .5rem;
  display:block;
}

.article-list .text .article-author i {
  margin-right: .3rem;
}

.article-list .text p {
  font-size: .8125rem;
  line-height: 1.7;
}

/*ページネーション*/
.pagination {
  margin: 2rem 0;
  text-align: center;
}

.pagination ul {
  font-size: 0;
}

.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: .5rem;
}

.pagination ul li:last-child {
  border: 0;
}

.pagination ul li a,
.pagination .current {
	display: block;
  padding: .5rem .8rem;
	background-color: #FAF4E4;
}

.pagination ul li .prev,
.pagination ul li .next {
  border: 0;
}

.pagination ul li a {
  text-decoration: none;
  color: #333;
}

.pagination ul li a:hover {
  opacity: .6;
}

.pagination .current {
  color: #fff;
  background-color: #03162f;
}

/*---------------------------------------------------------
投稿・固定ページ
---------------------------------------------------------*/
.article-content {
  margin-bottom: 2rem;
  position:relative;
  background-color: rgba(255,255,255,0.8);
  padding:10px;
}

.article-content .article-info {
  margin-bottom: .5rem;
}

.article-content .cat-data a {
  font-size: .75rem;
  padding: .2rem .4rem;
	color: #327D1C;
}

.article-content .article-info .article-date,
.article-content .article-info .article-author {
  font-size: .8rem;
  display: inline-block;
  margin-right: .5rem;
  color: #888;
}

.article-content .article-info .article-author i {
  margin-right: .3rem;
}
.article-content p
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
  font-size: 0.95rem;
  line-height: 1.7;
  letter-spacing: 1px;
}

.article-content p {
	margin-bottom: 1.5rem;
	line-height:2;
    letter-spacing: 1px;
}
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
  margin-bottom: 2rem;
}

.mental {
    width: 100%;
    margin: auto;
	font-size: 0.95rem;
}

.mental th {
	color: #FFF;
	background-color: #063;
}

.article-content p {
	float:none;
	display:block;
}

.second {
  margin: 0 auto;
  height:250px;
  background-image:url(images/s_h1_bg.jpg);
  background-position:center;
}

.contents h1 {
	font-size: 2.3rem;
	font-weight: 700;
	letter-spacing: 1px;
	color: #333;
	height: 70px;
	text-align: center;
}


.article-content h2 {
	font-size: 1.2em;
	text-align: left;
	color: #333333;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin-top: 0;
	margin-bottom: 1.5rem;
	padding-left: 10px;
	padding-right: 10px;
	border-bottom: #327D1C 2px solid;
}

.article-content h3 {
	font-size: 1.3rem;
	margin: 3rem 0 1rem;
	padding: 0 0rem;
	letter-spacing: 1px;
	background: transparent;
	color: #5C9E2C;
	text-align: left;
	font-weight: 500;
}

.article-content h4 {
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
  letter-spacing: 1px;
}

.article-content h5 {
  font-size: 1.1rem;
  margin: 0 0 .3rem;
  letter-spacing: 1px;
}

.article-content .article-img {
  margin-bottom: 2rem;
}

.article-content .article-img img {
  display: block;
  margin: 0 auto;
}

.article-content ul {
  margin-left: 2rem;
  list-style: disc;
}

.article-content ol {
  margin-left: 2rem;
  list-style: decimal;
}

.article-content table {
  border-collapse: collapse;
}

.article-content th,
.article-content td {
  padding: .6rem;
  vertical-align: middle;
  border: 1px solid #ddd;
}

.article-content figure {
  max-width: 100%;
}

.article-tag {
  text-align: right;
}

.article-tag ul {
  font-size: 0;
  margin-bottom: 0;
}

.article-tag ul li {
  font-size: .9rem;
  display: inline-block;
  margin-right: .5rem;
  vertical-align: middle;
}

.article-tag ul li:last-child {
  margin-right: 0;
}

.article-tag ul li a {
  padding: .2rem .5rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
}

.article-tag ul li a:hover {
  opacity: .6;
}

.privacy li {
	margin-bottom:25px;
}

/*---------------------------------------------------------
ぱんくずリスト
---------------------------------------------------------*/
.pan {
	margin-bottom:20px;
}

#breadcrumbs {
	font-size:14px;
	border-bottom:none !important; 
}

#breadcrumbs a {
	border-bottom:none !important; 
}

.pan .fas {
	display: inline !important;
	color: #9F9F9F;
	float: left;
	margin-right: 5px;
	line-height: 20px;
}

/*---------------------------------------------------------
お問い合わせフォーム　モバイル設定含む
---------------------------------------------------------*/

/* フォーム全体のスタイル */
.wpcf7-form {
padding: 30px;
border-radius: 10px;
}

/* 入力フィールドのスタイル */
.wpcf7-form .form-group label {
display: block;
margin-bottom: 8px;
font-weight: bold;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea,
.wpcf7-form input[type="file"] {
width: 96%;
padding: 14px;
border: 1px solid #bfa888;
border-radius: 6px;
margin-bottom: 15px;
font-size: 15px;
}

/* フォーカス時のスタイル */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form input[type="file"]:focus {
border-color: #a07b5c;
box-shadow: 0 0 5px rgba(160,123,92,0.2);
}

/* 送信ボタンのスタイル */
.wpcf7-form input[type="submit"] {
background-color: #8B5E3C;
color: #FFFFFF;
font-size: 17px;
padding: 14px 40px;
border-radius: 30px;
border: 2px solid #70533A;
transition: background-color 0.3s ease;
font-weight:bold;
}

.wpcf7-form input[type="submit"]:hover {
background-color: #70533A;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.9em;
	padding: 0 5px 2px;
	border-radius: 5px
}

/*---------------------------------------------------------
TOPページ
---------------------------------------------------------*/
.home_bg  {

}

.top-sidebar .sidebar {
	position: relative;
	width: 27%;
	float:right;
	margin-top:50px;
	font-size: 0.95rem;
}

#slider-shadow {
    width: 100%;
    height: 0;
    padding-top: 30px;
    overflow: hidden;
    background: url(images/shadow.png) repeat-x left top;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9999;
}


.home h2 {
	font-size: 2em;
	text-align: center;
	color: #333333;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin-top: 0px;
	margin-bottom: 1.5rem;
	padding-left: 10px;
	padding-right: 10px;
	border-bottom: #327D1C 2px solid;
}

.top_col01 {
	background-image:url(images/top_colbg01.png);
	background-repeat: no-repeat;
	margin-left: 138px;
	margin-top:100px;
	padding-right:50px;
	min-height:278px;	
}

.top_col01 h2 {
	font-size: 1.7em;
	text-align: center;
	padding-top: 30px;
	margin-bottom: 1.0rem;
	padding-left: 10px;
	padding-right: 300px;
	border-bottom: none;
}

.top_col01 p {
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom:1rem;
  margin-left:50px;
  margin-right:280px;
  width: 500px;
  color:#333 !important;
} 


.top_col02 {
	background-image: url(images/top_colbg02.png);
	background-repeat: no-repeat;
	margin-right: 138px;
	margin-top: 60px;
	padding-left: 50px;
	min-height: 278px;
}
.top_col02 h2 {
	font-size: 1.7em;
	text-align: left;
	padding-top: 30px;
	margin-bottom: 1.0rem;
	padding-left: 300px;
	padding-right: 10px;
	border-bottom: none;
}

.top_col02 p {
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom:1rem;
  margin-right:70px;
  margin-left:230px;
  width: 500px;
    color:#333 !important;
}
.top_col03 {
	margin-right: 0px;
	margin-top: 60px;
	padding-left: 0px;
	min-height: 150px;
}
.top_col04 {
	background-image:url(images/top_colbg03.png);
	background-repeat: no-repeat;
	margin-left: 138px;
	margin-top:60px;
	padding-right:50px;
	min-height:278px;
}
.top_col04 h2 {
	font-size: 1.7em;
	text-align: center;
	padding-top: 30px;
	margin-bottom: 1.0rem;
	padding-left: 10px;
	padding-right: 300px;
	border-bottom: none;
}

.top_col04 p {
  font-size: 0.9rem;
  line-height: 1.5;
  margin-bottom:1rem;
  margin-left:50px;
  margin-right:280px;
  width: 500px;
    color:#333 !important;
}

.grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.topbanner {
  border-radius: 10px;
  background: #004b18;
  padding: 15px;
  text-align: center;
  color:#FFF;
}

.t-Blocks {
	display: flex;
	flex-wrap: wrap;
	margin-top:50px;
	margin-bottom:50px;
}
.t-box {
	width: 25%;
	padding: 0 12.5px 32px;
	box-sizing: border-box;
	border:none;
}

    /*---------------------------------------------------------
  ナビゲーション
  ---------------------------------------------------------*/

.topnav-bg {
	height: 54.8px;
	border-bottom:solid 3px #1D8322;
	background-color: #1D8322;
	position:relative;
}

.top-nav .navbutton {
  display: none;
}

.top-nav .header-nav-wrap {
	position: relative;
	width:1000px;
	height:57.8px;
	margin:0;
	transform:none;
	padding-top:0px;
}

.top-nav .is-fixed .header-nav{
	margin:0 auto;
	width:1000px;
}

.top-nav .header-nav {
  font-size: 0;
}

.top-nav .header-nav li {
  font-size: 1rem;
  display: inline-block;
  width:200px;
  height:57.8px;
  margin-right:0;
}

.top-nav .header-nav li a {
	font-weight: 500;
	display: block;
	text-decoration: none;
	color: #333;
	border-bottom: none;
	opacity: 1;
}

.top-nav .header-nav li a:hover {
	border-bottom:#E8711A 3px solid;
}

.top-nav .header-nav li i {
  width: 30px;
  height: 30px;
  margin: 0;
  border-radius: 50%;
  background: #aa0142;
  line-height: 30px;
  text-align: center;
  color:#FFF;
  margin-right:5px;
}
.top-nav .header-nav li i:before { padding: 0 0px 0px 0px; line-height: 30px; }
.top-nav .header-nav li a:hover i { background: #aa798c; }

	/*---------------------------------------------------------
	ナビの固定用 最後に修正する
	---------------------------------------------------------*/

/*header  {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  transition: .3s;
  background-color: rgba(255,255,255,0.9);
  height: 100px;
  box-sizing: border-box;
}


.top-nav .is-fixed  {
  position: fixed !important;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100% !important;
  padding-top:0px;
  background-color: rgba(255,255,255,1.0);
  -webkit-transition: all .4s ease 0s,background .6s ease .2s;
  transition: all .4s ease 0s,background .6s ease .2s;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  height: 50px;
  color:#000;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
  
}
*/


    /*---------------------------------------------------------
  バナー
  ---------------------------------------------------------*/


.tcBlocks {
	display: block;
	width: 900px;
	height: auto;
	margin: 0 auto;
	box-sizing:border-box;
	text-align:center;
}


.tcBlocks .box {
	width: 350px;
	height: 334px;
	margin: 0 50px 30px 50px;
	float: left;
	text-align: left;
}

.tcBlocks .box img {
	display: block;
	width: 350px;
	height: 234px;
	margin: 0;
}


.tcBlocks h2 {
	font-weight: 400;
	color: #000;
	font-size:20px;
	text-align:center;
	width:100%;
	letter-spacing: 1px;
	margin:-15px 0 15px 0 !important;
	padding:0;
	border-bottom:none;
	}

/*
.home .article-top .text {
  margin-left: 0px;
}

.home .article-top .new-post {
  font-weight:500;
  margin-bottom: .25rem;
  margin-top: .25rem;
  color: #f00;
  display:inline;
  float:left;
  margin-right:10px;
}

.home .article-top .text h2 {
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
  margin-top: 0.25rem;
  float:left;
  font-weight:500;
  text-align:left;
}

.home .article-content h3 {
	font-size: 1rem;
	margin: 0rem 0 1rem;
	padding: 0 0rem;
	letter-spacing: 1px;
	background: transparent;
	color: #5C9E2C;
	text-align: center;
	font-weight: 500;
}
.home .article-top .text .cat-data {
	margin-bottom: 0.25rem;
	margin-top: 0.25rem;
	float: left;
	font-size: 0.7rem;
	margin-right: 2rem;
	font-weight: 700;
	background-color: #30910F;
	border-radius: 3px;
	color: #FFF;
	width: 120px;
	text-align: center;
	padding-top: 3px;
	padding-bottom: 2px;
}

.home .article-top .text .article-date {
	font-size: 0.95rem;
	padding: 0rem;
	color: #333;
	font-weight:500;
	margin-bottom: 0.25rem;
    margin-top: 0.25rem;
	float:left;
	margin-right:2rem;
}
*/

.topenforcement{

	}
.topenforcement::before {

}
.topnews{

}
.topnews::before {

}
.news_box1 {
	float:left;
	margin-bottom:0rem;
	width:200px;
	margin-top:2.5rem;
}

.news_box2 {
	float: right;
	margin-bottom: 0rem;
	width:800px;
	margin-top:2.5rem;
}

h2.news {
	margin-top: 110px;
	text-align: left;
	color: #333333;
}

.news_list {
	

}
.news_list a {
	color:#FFF;
	line-height:50px;
	text-decoration:none;
	background-color:#327D1C;
	background-position-x: 0%;
	background-position-y: 0%;
	background-repeat: repeat;
	background-attachment: scroll;
	background-image: none;
	background-size: auto;
	background-origin: padding-box;
	background-clip: border-box;
	padding: 5px 5px;
	transition-property: all;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	transition-delay: 0s;
	border-radius:5px;
	padding-left:15px;
	padding-right:15px;
}
 
.news_list a:hover {
	text-decoration: underline;
	background-color: #A3DA81;
	-webkit-transition: all .3s;
	transition: all .3s;
	color: #333;
	height: 50px;
	line-height: 50px;
	text-decoration: none;
	border-radius:5px;
	padding-left:15px;
	padding-right:15px;
} 

.topjirei {
	
}

    /*---------------------------------------------------------
  事例スライダー
  ---------------------------------------------------------*/
  
  .slider {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
}
.slider .slick-list {
    overflow: visible;
}
.slider .slick-track {}
.slider .slick-slide {
    padding: 0 10px;
    opacity: .5;
    transition-duration: 0.3s;
}
.slider .slick-slide.slick-current {
    opacity: 1;
}
.slider .slick-slide a {
    display: block;
}
.slider .slick-slide a:hover {
    display: block;
    opacity: .7;
}
.slider img {
    height: auto;
    width: 1000px;
	max-height:600px;
}
.slick-prev, .slick-next {
    z-index: 1;
}
.slick-dots {
    bottom: -33px;
}



.topprice {
	background-image:url(images/top_pricebg.jpg);
	background-position: top left;
	background-repeat:no-repeat;
	max-height:600px;
	padding-top:50px;
	padding-bottom:50px;
	margin-top:100px;
	position: relative;
    margin-bottom: 100px;
}

.topprice .inside{
	margin:0 auto;
	width:1040px;
	padding:50px 20px;
	background-color:rgba(255,255,255,0.8);
}

.topestimate {
	margin-bottom:0px; 
	position: relative;
    margin-bottom: calc(10vw + 0px);
}
.topestimate :after {
  content: "";
  position: absolute;
  top: 101%;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-width: 0vw 48vw 10vw 48vw;
  border-style: solid;
  border-color: transparent transparent #fdf0c8 transparent;
}

.topcompany {
	margin-bottom:50px;
	background: #fdf0c8;
}

.toprecruit {
	margin-bottom:0px;
	padding-top:50px;
	padding-bottom:0px;
}

.contact_footer {
	position: sticky;
	bottom: 0;
}
.contact_footer .inside{
	box-sizing:border-box;
}
.contact_footerbg {
	width:740px;
	height:117px;
	margin:0 auto;
}

.contact_footer .telbox {
	text-align: center;
	font-size: 1.2rem;
	color: #333;
	display:flex;
	flex-direction:row;
	height:50px;
}
.contact_footer .tel {
  display: inline-block;
  color:#333333;
  padding:0px 10px;
  margin:0px 0px 0px 0;
  }
                
.contact_footer .tel a {
	color: #333333;
	font-size:1.5rem;
	line-height:47px;
}
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.contact_footerbg p {
	font-size:0.8rem;
	text-align:center;
}
.contact_footer .mail {
  color:#333333;
  padding:10px 30px 10px 10px;
  margin:0px 0px 0px 50px;
  background-image:url(images/contact01.png);
  background-repeat:no-repeat;
  align-content:center;
  display: inline-block;

}
.contact_footer .mail a {
	text-decoration: none;
	display:block;
	color: #333333;
	width:301px;
	height:47px;
}

.contact_footer h2 {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	color: #136028;
	margin-bottom: 0;
	font-size: 1.2rem;
	border-bottom: none;
	padding-top: 10px;
	text-align: center;
	margin-bottom:5px;
	}

.contents-top2 {
	background-color: #F2F2EA;
	width: 100%;
	height: auto;
	padding-top: 80px;
	padding-bottom: 80px;
}

.contents-top3 {
	height: auto;
	padding-top: 80px;
	padding-bottom: 80px;
}

.contents-top3 .inside {
	text-align: left;
}
.topbox_btn a {
	color:#FFF;
	line-height:50px;
	text-decoration:none;
	background-color:#327D1C;
	background-position-x: 0%;
	background-position-y: 0%;
	background-repeat: repeat;
	background-attachment: scroll;
	background-image: none;
	background-size: auto;
	background-origin: padding-box;
	background-clip: border-box;
	padding: 0px 15px;
	transition-property: all;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	transition-delay: 0s;
	border-radius:10px;
	float:right;
}
 
.topbox_btn a:hover {
	text-decoration: underline;
	background-color: #A3DA81;
	-webkit-transition: all .3s;
	transition: all .3s;
	color: #333;
	height: 50px;
	line-height: 50px;
	text-decoration: none;
	border-radius:10px;
	padding: 0px 15px;
} 


/*---画像とテキスト--*/
.imgtext {
	padding: clamp(50px, 9vw, 50px) 0;
}
.imgtext + .imgtext {
	padding-top: 0;
}
.imgtext-container {
	display: flex;
	flex-direction: row;
	align-items: center;
}
.imgtext-container.reverse {
	flex-direction: row-reverse;
}
.imgtext-container > .text {
	flex: 1;
	min-width:17em;
}
.imgtext-container > .img {
	flex: 1;
}

@media(max-width: 800px){
.imgtext-container {
	display: flex;
	flex-direction: column;
	gap: clamp(45px, 6vw, 80px);
}
.imgtext-container.reverse {
    flex-direction: column;
}
/*---画像とテキストend--*/

.child-box {
	box-sizing:border-box;
}

.child-box01 {
	display: inline-block;
	margin-right: 50px;
}
.child-box02 {
	display: inline-block;
}

.child-box03 {
	float: left;
	line-height: 2rem;
	width: 450px;
	margin-top: 50px;
}

/*---------------------------------------------------------
トップページ
---------------------------------------------------------*/

.box {
  height: 150px;      /* 高さを300pxに指定 */
  margin: 0 0 50px;   /* 下方向に適度な余白 */
  position: relative; /* 相対位置の設定 */
  top: 50px;          /* 事前に下に50pxずらしておく */
}
.top_col01 {
	background-image:none;
	margin-left: 0px;
	margin-top: 100px;
	padding-right: 0px;
	background-color: rgba(255,255,255,0.8);
	min-height:100px;
}
.top_col01 h2 {
	text-align: left;
	padding-top: 30px;
	margin-bottom: 1.0rem;
	padding-left: 10px;
	padding-right: 0px;
	border-bottom: none;
}
.top_col01 p {
  margin-left: 20px;
  margin-right: 20px;
  width: 95%;
}
.top_col02 {
  background-image: none;
  margin-right: 0px;
  margin-top: 60px;
  padding-left: 0px;
  background-color: rgba(255,255,255,0.8);
  min-height: 100px;
}
.top_col02 h2 {
  text-align: left;
  padding-top: 30px;
  margin-bottom: 1.0rem;
  padding-left: 10px;
  padding-right: 10px;
  border-bottom: none;
}
.top_col02 p {
  margin-right: 20px;
  margin-left: 20px;
  width: 95%;
}
.top_col04 {
  background-image: none;
  margin-left: 0px;
  margin-top: 60px;
  margin-bottom: 50px;
  padding-right: 0px;
  background-color: rgba(255,255,255,0.8);
  min-height: 100px;
}
.top_col04 h2 {
  text-align: left;
  padding-top: 30px;
  margin-bottom: 1.0rem;
  padding-left: 10px;
  padding-right: 10px;
  border-bottom: none;
}
.top_col04 p {
  margin-right: 20px;
  margin-left: 20px;
  width: 95%;
}

.top_col03 {
  margin-top: 100px;
}

/*---------------------------------------------------------
モバイル設定
---------------------------------------------------------*/
@media(max-width: 1362px) {
	.is-fixed .header-nav {
	  display:none;
  }

}
@media(max-width: 1024px) {
	.site-title-wrap {
	text-align: left;
	width: 100%;
  }
  .home-top .article-top .img-wrap img {
    width: 420px;
    height: 280px;
  }

  .home-top .article-top .text {
    margin-left: 440px;
  }
  .header-nav {
	  display:none;
  }
  
  .inside{
	  width:100%;
	  padding:0 10px;
  }
  .topprice .inside{
	  width:100%;
	  padding:50px 10px;
  }
  .news_box2 {
	float: left;
	margin-bottom: 0rem;
	width: 100%;
	margin-top: 2.5rem;
  }
  

    /*---------------------------------------------------------
  サイドバー
  ---------------------------------------------------------*/
.top-sidebar .sidebar {
	position: relative;
	width: 27%;
	float:right;
}

  .side-shisetsutitle a {
pointer-events: initial;

}

    /*---------------------------------------------------------
  フッター
  ---------------------------------------------------------*/
  .flex{
  flex-wrap: wrap;
  padding: 0 0;
  justify-content:center;

}
.flex > *{
  margin-right:30px;
  margin-bottom:30px;
}

.flex > .fca:nth-child( 5n ) {
	margin-right: 30px;
}

.flex > .fca:nth-child( 2n ) {
	margin-right: 30px;
}

}

@media(max-width: 800px) {
  .contents,
  .sidebar {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  .contents {
    margin-bottom: 1.5rem;
	box-sizing:border-box;
  }
    .inside{
	  width:100%;
  }
    .topprice .inside{
	  width:100%;
  }
  
  .article-content th,
  .article-content td {
	  display:block;
	  width:100%;
	  padding: .6rem 0;
	  font-size:1.2rem;
}

  /*---------------------------------------------------------
  ヘッダー
  ---------------------------------------------------------*/
 .site-title-wrap {
	text-align: center;
	width: 100%;
}

/*タイトルを画像にする場合*/
.site-title a {
	font-weight: bold;
	line-height: 1;
	display: block;
	text-decoration: none;
}

.site-title a img {
	display: block;
	width: 188px;
	height: 100px;
	margin:0 auto;
}

  .navbutton {
    font-size: 2rem;
    position: absolute;
    z-index: 999;
    top: 150%;
    right: 1.25rem;
    display: block;
    cursor: pointer;
    transform: translateY(-50%);
    border: 0;
    background-color: transparent;
  }
  
    .top-nav .navbutton {
	font-size: 2rem;
	position: relative;
	z-index: 999;
	text-align: right;
	display: block;
	cursor: pointer;
	border: 0;
	width: 100%;
	height: auto;
	top: 30px;
	right: 0rem;
  }
  
  .navbutton i {
	  color:#FFF;
  }


  .navbutton:focus {
    outline: 0;
  }

  .header-nav-wrap {
    z-index: 999;
    /*ヘッダーの高さと合わせる*/
    right: auto;
    left: 0;
    width: 100%;
    margin-left: 0;
    transform: none;
  }
  .header-nav {
	  display:none;
  }
  
#nav-open .open-text {
  font-size: 0.8rem;
  top:20px;

}
  
    .top-nav .header-nav-wrap {
    z-index: 999;
    top: 20px;
    /*ヘッダーの高さと合わせる*/
    right: auto;
    left: 0;
    display: none;
    width: 100%;
    margin-left: 0;
    transform: none;
    background-color: #03162f;
	height:auto;
  }


  /*---------------------------------------------------------
  フッター
  ---------------------------------------------------------*/
.contact_footerbg {
	width: 100%;
	height: auto;
	background-color: #F3D59A;
	border: #804000 solid 2px;
	background-image: none;
}
.contact_footerbg h2 {
	font-size:1rem;
	font-weight:400;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.contact_footer .telbox {
	text-align: center;
	font-size: 1.2rem;
	color: #333;
	display:flex;
}
.contact_footer .tel {
  color:#333333;
  padding:0px 0px;
  margin:0px 30px 7px 0;
  background-color:#FFF;
  font-size:1rem;
  width:45%;
  display: inline-block;
	line-height: 1;
	white-space: nowrap;
	border-radius: 0.5rem;
  }
                
.contact_footer .tel a {
	text-decoration: none;
	color: #333333;
	font-size:1.2rem;
}
.contact_footer .tel p {
	font-size:0.8rem;
}
.contact_footer .mail {
  color:#333333;
  padding:15px 10px;
  margin:0px 10px 7px 10px;
  background-image:none;
  align-content:center;
  background-color:#FFF;
  font-size:1rem;
  width:45%;
    display: inline-block;
	line-height: 1;
	white-space: nowrap;
	border-radius: 0.5rem;
}
.contact_footer .mail a {
	text-decoration: none;
	display:block;
	color: #333333;
	width:auto;
	height:auto;
}



  .footer-nav {
    margin-bottom: 1.5rem;
  }

  .footer-nav ul {
	text-align: left;
	list-style-type: square !important;
	list-style-position: inside;
  }

  .footer-nav li {
	width: 40%;
	margin-left: 10%;
	margin-right: 0;
	margin-bottom: 1rem;
	text-decoration: none;
  }

  .footer-nav li:nth-of-type(2n) {
    margin-right: 0;
  }
  .footer01 {  
	 box-sizing:border-box;
	 padding-left:10px;
	 padding-right:10px;
  }
  .footer01 h2 {
    font-size: 2em;
    text-align: center;
    color: #004080;
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
  
  .flex{
  flex-wrap: wrap;
  padding: 0 0;
  justify-content:center;

}
.flex > *{
  margin-right:10px;
  margin-bottom:30px;
}

.flex > .fca:nth-child( 2n ) {
	margin-right: 10px;
}

.flex > .fca:nth-child( 5n ) {
	margin-right: 10px;
}

.tel-no {
	display:block;
	margin-bottom:15px;
}
.footer-box {
	display:grid;
	gap:50px;
	justify-items:center;
}


  
   /*---------------------------------------------------------
  投稿・固定ページ
  ---------------------------------------------------------*/ 
  
.second {
	height: auto;
	width: 100%;
	box-sizing: border-box;
	padding: 20px 20px;
}

.second h1 {
	text-align: left;
	line-height:50px;
	width:100%;
	white-space:normal !important;
	display: table-cell;
	vertical-align: middle;
}
.article-content h2 {
	text-align:left;
}



  /*---------------------------------------------------------
  TOPページ
  ---------------------------------------------------------*/

   .news_list {
	   display:none;
   }
   h2.news {
   margin-top: 0px;
   }
   .child-box01 {
	float: none;
	margin-top: 50px;
	line-height: 2rem;
	width: 450px;
	margin:50px auto 0 auto;
  }
   .child-box02 {
	float: none;
	margin-top: 50px;
	line-height: 2rem;
	width: 450px;
	margin:50px auto 0 auto;
  }
   .child-box03 {
	float: none;
	margin-top: 50px;
	line-height: 2rem;
	width: 450px;
	margin:50px auto 0 auto;
  }
   .child-box04 {
	float: none;
	margin-top: 50px;
	line-height: 2rem;
	width: 450px;
	margin:50px auto 0 auto;
  } 
  
  .home-top .article-top .img-wrap {
    float: none;
  }

  .home-top .article-top .img-wrap img {
    width: 100%;
    height: 60vw;
  }

  .home-top .article-top .text {
    margin-left: 0px;
  }

  .home-top .article-top .new-post,
  .home-top .article-top .text h2,
  .home-top .article-top .text .article-date,
  .home-top .article-top .text .cat-data {
    margin-bottom: 0;
  }
  
  /*---------------------------------------------------------
  個人向けページ他
  ---------------------------------------------------------*/

  table.nagare th {
   border: none;
   width: 100%;
   background-color: #D6F0C8;
   border-radius: 15px;
   margin-bottom:20px;
}

  table.about01 th {
  width: 100%;
  text-align:left;
  color:#327D1C;
  border:none;
  padding: .6rem 0 0 0;
}

  table.about01 td {
  width: 100%;
  border:none;
}


  /*---------------------------------------------------------
  投稿ページ
  ---------------------------------------------------------*/

  .article-list .text {
  margin-left: 0px;
}

  
  /*---------------------------------------------------------
  サイドバー
  ---------------------------------------------------------*/
   .top-sidebar .sidebar {
    float: none;
    width: 100%;
    margin-right: 0;
	position:relative;
	top:0;
	right:0;
  }
  
  
}

@media(max-width: 600px) {
  html {
    font-size: 15px;
  }

  .footer-inner {
    padding: .8rem;
  }
  .header-inner {
    padding: .8rem 0;
  }
   .container {
    padding: 0rem 0rem 2rem 0rem;
  }


  .contents {
    margin-bottom: 1rem;
  }
  .contents h1 {
	  margin-bottom:20px;
  }
  .article-content h2 {
  margin: 2rem 0 1.5rem;
  padding: 0rem 0;
  }

  /*---------------------------------------------------------
  ヘッダー
  ---------------------------------------------------------*/
   .site-title-wrap {
	text-align: left;
	width: 100%;
}
  .site-title a {
    font-size: 2rem;
  }

  .site-title a img {
    height: 100px;
	width:auto;
  }
  #nav-open {
   top:30px;
}
  .header-nav-wrap {
	padding-top:0;
  }

  .header-nav li a {
    padding: .8rem;
  }

  .header-nav li a:after {
    right: .8rem;
  }


  /*---------------------------------------------------------
  フッター
  ---------------------------------------------------------*/
/*.contact_footerbg {
	width:740px;
	height:117px;
	background-image:url(images/contactboxbg.jpg);
	background-repeat:no-repeat;
	margin:0 auto;
}

.contact_footer .telbox {
	text-align: center;
	font-size: 1.2rem;
	color: #333;
	display:flex;
	align-items:center;
	flex-direction:row;
}
.contact_footer .tel {
  color:#333333;
  padding:0px 30px;
  margin:0px 30px 10px 0;
  }
*/                
.contact_footer .tel a {
	font-size:1rem;
}
/*
.contact_footer .tel p {
	font-size:0.8rem;
}
.contact_footer .mail {
  color:#333333;
  padding:10px 30px 10px 10px;
  margin:10px 0px 10px 50px;
  background-image:url(images/contact01.png);
  background-repeat:no-repeat;
  align-content:center;
}
*/
.contact_footer .mail a {
	font-size:0.9rem;
}




.tel {
  margin:30px 0px 0px 0;
  }
  .flex{
  flex-wrap: wrap;
  padding: 0 0;
  justify-content:center;
}

  .flex img {
	  max-width: 130px;  
  }

.flex > *{
  margin-right:10px;
  margin-bottom:20px;
}

.flex > .fca:nth-child( 2n ) {
	margin-right: 0px;
}

.flex > .fca:nth-child( 5n ) {
	margin-right: 10px;
}

.flex > .fca:nth-child( 10n ) {
	margin-right: 0px;
}


  /*---------------------------------------------------------
  記事一覧
  ---------------------------------------------------------*/
  .archive-top h1 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }

  .archive-top p {
    font-size: .8125rem;
    margin-bottom: 1rem;
  }
  
  .article-list {
    padding: .5rem;
  }

  .article-list .img-wrap img {
    width: 132px;
    height: 88px;
  }

  .article-list .img-wrap .cat-data {
    font-size: .6rem;
  }

  .article-list .text {
    margin-left: 140px;
    padding: 0;
  }

  .article-list .text h2 {
    font-size: 1rem;
    margin-bottom: 0;
  }

  .article-list .text p {
    display: none;
  }

  .article-list .text .article-date,
  .article-list .text .article-author {
    font-size: .625rem;
    margin-bottom: 0;
  }

  .article-list .text .article-date {
    margin-right: .2rem;
  }

  /*---------------------------------------------------------
  投稿・固定ページ
  ---------------------------------------------------------*/
  .article-content h1 {
    font-size: 1.6rem;
  }

  .article-content h2 {
    font-size: 1.4rem;
	text-align:left;
  }

  .article-content h3 {
    font-size: 1.3rem;
	text-align:left;
  }

  .article-content h4 {
    font-size: 1.2rem;
  }
  
  .single-post h1 {
	 font-size: 1.4rem; 
	 line-height: 2rem;
  }
  /*---------------------------------------------------------
  サイドバー
  ---------------------------------------------------------*/
    .slide .sider {
    float: none;
    width: 100%;
    margin-right: 0;
	position:relative;
	top:0;
	right:0;
  }
  
  .side-shisetsutitle a {
pointer-events: initial;

}
    /*---------------------------------------------------------
  TOPページ
  ---------------------------------------------------------*/
   ul .slider {
	display:none;
   }
   
/*   .top-image {
	   display:none !important;
   }
   
   .top-s-image {
	position: relative;
	width:100% !important;
	margin:0 auto;
	display: block;
   }
*/
  .t-box {
	width: 50%;
  }
  .news_box1 {
  width: 200px;
  margin-top: 0rem;
  }
  .news_box2 {
  margin-top: 0rem;
  }
  .child-box01 {
  float: none;
  line-height: 2rem;
  display: block;
  width: 100%;
  margin: 50px auto 0 auto;
  display:block;
  }

  .child-box02 {
	display:block;
	width: 100%;
	margin-bottom:30px;
  }
  .child-box03 {
	display:block;
	width: 100%;
  }
    .child-box04 {
	display:block;
	width: 100%;
  }
  .home h2 {
	  text-align:left;
  }
  .home .article-content h3 {
   text-align:left;
  }
.home .article-top .text .article-date,
.home .article-top .text .cat-data {
	float: none;
	display:block;
  }
.top_col03 {
	min-height: 400px;
}
	
  /*---------------------------------------------------------
  セカンドページ
  ---------------------------------------------------------*/

  table.nagare td {
  padding-left: 0px;
  font-size:1.2rem;
  }
  table.nagare td.space {
	  display:none;
  }
  

	
    /*---------------------------------------------------------
  img
  ---------------------------------------------------------*/	
	
	img.alignright {
	padding: 0 0 10px 0;
	margin: 0 auto;
	display: block;
	}
 
   img.alignleft {
	padding: 0 0 10px 0;
	margin: 0 auto;
	display: block;
	}

   .alignright {
	float: none;
	}
 
   .alignleft {
	float: none;
	}
  
  
  
}
