/*
原則として、許可なしの再配布は禁止させていただきます。
また、無料でお使いの方は、【ＰＲ枠】のリンクは全て削除禁止です。
加工後の削除も禁止させていただいております。
絶対に削除しないでお使いください。
ご不明な点は、http://www.s-hoshino.com/info.html、または、
http://www.megapx.com/info.htmlのフォームよりお問い合わせください。
*/
/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap');


* {
	color:#333333;
	padding:0;
	font-size: 12px;
	line-height: 140%;
	margin: 0;
	/*font-family: Arial, Helvetica, sans-serif; */
	font-family: MS PGothic, "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	/*font-family: "M PLUS 1", "Hiragino Maru Gothic Pro", Meiryo, Osaka, "MS PGothic", sans-serif;*/
	background-image: none;
}

body {
	/*background-color: #454500;*/
	/*background-image: url(img/bg.gif);*/
	/*background-repeat: repeat-x;*/
	/*background-attachment: fixed;*/
	background-image: url(./img/body_bg.jpg);
	background-repeat: repeat-x;
	/*width:1240px;*/
}

a {
	color:#6A802B;
}

a:hover {
	text-decoration: none;
}

a img {
	border:none;
}

hr {
	clear: both;
	height: 1px;
}

strong {
	color: #546A51;
}


.chui {
	font-size: 10px;
	color: #FF0000;
}


/*
ベース
-------------------------------------------------------------------*/
#base {
	width:1240px;
	margin-right: auto;
	margin-left: auto;
	/*background-image: url(img/base_bg.jpg); */
	/*background-color: #FFFFFF;*/
	margin-top: 0px;
	/*border: 1px solid #000000;*/
	margin:  0 auto;          /* 中央寄せ */
}

#wrap {
	/*float: left;*/
	padding: 0px;
	margin-top: 0px;
	width: 1056px;
	margin:  0 auto;  
}
#contents {
	width: 1142px;
	margin:  0 auto;
	display: block;  
}
.contents {
	width: 1142px;
	margin:  0 auto;
	display: block;  
}

#contents2 {
	width: 1142px;
	margin:  0 auto;
	display: block;  
}
.contents2 {
	width: 1142px;
	margin:  0 auto;
	display: block;  
}

.max_img{
	width: 696px;
	margin:  1px auto;  
}

#mid {
	padding: 0px;
	margin-top: 1px;
	width: 900px;
	margin:  0 auto;  
}

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

#header {
	width:900px;
	height:110px;
	/*background-image: url(img/header.jpg);
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #222222;*/
	margin:  0 auto;  
}

h1 {
    display: block;
    /*font-size: 2em;*/
    /*margin-block-start: 0.67em;*/
    /*margin-block-end: 0.67em;*/
    /*margin-inline-start: 0px;*/
    /*margin-inline-end: 0px;*/
    font-weight: 400;
    /*unicode-bidi: isolate;*/
}

h1 a {
	/*display: block;*/
	text-decoration: none;
	/*width: 390px;*/
	margin-left: 0px;
	padding-top: 15px;
	font-size: 23px;
	line-height: 34px;
	color: #000;
}

h1 img {
	/*display: block;*/
	text-decoration: none;
	/*width: 390px;*/
	margin-left: 40px;
	padding-top: 15px;
	font-size: 23px;
	line-height: 33px;
	color: #000;
}


#header #sub {
	font-size: 12px;
	color: #FFFFCC;
	margin-left: 35px;
}


/*ナビゲーション
----------------------------------------------- */
#nav {
	padding: 0px 0px 0px 0px;
	margin:  0 auto 78px;
	background-image: url(./images/menu_img.jpg);
	background-repeat: repeat-x;
	height: 36px;
	width: 1027px;
}

#nav ul {
	/*list-style-type:none;*/
	display: block;
	/*margin-left: 10px;*/
  }
  

#nav li {
	display: inline-block;
	position: relative;
	text-align: center;
	width: 167px;
	/*padding-left: 22px;
	padding-right: 20px;*/
	/*background-image: url(img/c_li.gif);*/
	background-repeat: no-repeat;
	background-position: 10px center;
	/*border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #FFFFFF;*/
  }
  
#nav a {
	color: #FFFFFF;
	font-size: 17px;
	line-height: 37px;
	/*letter-spacing: 0.1em;*/
	text-decoration: none;
}

#nav a:hover {
	color: #000;
	text-decoration: underline;
}
#nav a.current {
	color: #000;
	text-decoration: none;
}

/*mainブロック
---------------------------------------------------------------------------*/
#main {
	width: 844px;
	float: right;
}
.main {
	width: 844px;
	float: right;
}

/*h2見出し*/
h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: -1.5rem 0 2rem;		/*h2の外側にとるスペース。上、左右、下への順番。*/
	font-size: 25.5px;;		/*文字サイズ*/
	position: relative;		/*ulineを配置する為に必要な指定*/
	font-weight: normal;	/*デフォルトの太字を標準に*/
	border-bottom: 3px solid #ddd;	/*薄い色の線の幅、線種、色*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
	line-height: 2;
}

/*h2のアクセントラインの設定*/
h2 .uline {
	display: inline-block;position: relative;
	padding: 0.5rem 0;	/*h2内の余白。上下、左右への順番。*/
	bottom: 7px;		/*濃い線を薄い線に重ねる為の指定。枠線の幅と合わせます。*/
	border-bottom: 3px solid var(--primary-color);	/*濃い色の線の幅、線種、varは色の事でcss冒頭で指定しているprimary-colorを読み込みます*/
	font-size: 25.5px;;		/*文字サイズ*/
}

/*右側の装飾文字の設定*/
h2 .small {
	display: block;
	font-size: 0.6em;	/*文字サイズを親要素の60%に*/
	opacity: 0.5;		/*透明度。色が50%出た状態。*/
}

/*h2のテキストをセンタリングする場合*/
#main h2.c {
	display: block;
	border: none;		/*下線を非表示に*/
	text-align: center;	/*テキストをセンタリング*/
	font-size: 2rem;	/*文字サイズを２倍に*/
}

#main2 {
	width: 844px;
	float: right;
}
.main2 {
	width: 844px;
	float: right;
}
/*h2見出し*/
#main2 h2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: -1.5rem 0 2rem;		/*h2の外側にとるスペース。上、左右、下への順番。*/
	font-size: 25.5px;;		/*文字サイズ*/
	position: relative;		/*ulineを配置する為に必要な指定*/
	font-weight: normal;	/*デフォルトの太字を標準に*/
	border-bottom: 3px solid #ddd;	/*薄い色の線の幅、線種、色*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
}

/*h2のアクセントラインの設定*/
#main2 h2 .uline {
	display: inline-block;position: relative;
	padding: 0.5rem 0;	/*h2内の余白。上下、左右への順番。*/
	bottom: -3px;		/*濃い線を薄い線に重ねる為の指定。枠線の幅と合わせます。*/
	border-bottom: 3px solid var(--primary-color);	/*濃い色の線の幅、線種、varは色の事でcss冒頭で指定しているprimary-colorを読み込みます*/
	font-size: 25.5px;;		/*文字サイズ*/
}

/*右側の装飾文字の設定*/
#main2 h2 .small {
	display: block;
	font-size: 0.6em;	/*文字サイズを親要素の60%に*/
	opacity: 0.5;		/*透明度。色が50%出た状態。*/
}

/*h2のテキストをセンタリングする場合*/
#main2 h2.c {
	display: block;
	border: none;		/*下線を非表示に*/
	text-align: center;	/*テキストをセンタリング*/
	font-size: 2rem;	/*文字サイズを２倍に*/
}

/*h3見出し*/
#main2 h3 {
	font-size: 1.3rem;		/*文字サイズ*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする*/
	font-weight: normal;	/*デフォルトの太字を標準に*/
}

/*駐車場h3見出し*/
.h3pa {
	font-size: 16px;		/*文字サイズ*/
	font-weight: bold;
}
.parking {
	font-size: 16px;		/*文字サイズ*/
}

/*
コンテンツ
-------------------------------------------------------------------*/
 .main_img {
    width: 840px;
  }


/*#contents h2 {
	font-size: 14px;
	padding-left: 10px;
	color: #3F3F3F;
	margin-top: 10px;
	margin-bottom: 5px;
	margin-right: 10px;
	margin-left: 5px;
	/*font-weight: bold;*/
	border-left-width: 7px;
	border-left-style: solid;
	border-left-color: #A7A354;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EAEAEA;
	padding-top: 2px;
	padding-bottom: 2px;
}
*/







/*
テーブル
-------------------------------------------------------------------*/

#contents #c_pad table {
	width: 555px;
	margin-top: 5px;
	margin-right: auto;
	margin-bottom: 5px;
	margin-left: auto;
}
#contents #c_pad table td {
	padding: 5px;
	border: 1px solid #EAE8DF;
}
#contents #c_pad table th {
	background-color: #EFEDE7;
	padding: 7px;
}
#contents #c_pad form table th {
	width: 127px;
}

/*
パンくずリスト
-------------------------------------------------------------------*/
#contents #pan {
	padding: 5px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EAEAEA;
}
#contents #pan a {
	margin-right: 7px;
	margin-left: 7px;
}
#contents #pan strong {
	margin-left: 7px;
}

/*
サイド・メニュー
-------------------------------------------------------------------*/
#side {
	float: left;
	width: 260px;
}

#side li {
	list-style-type: none;
}

.side_box {
	padding-top: 2px;
	margin-bottom: 5px;
	width: 160px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 5px;
	border: 1px solid #F8F8F5;
	background-color: #D2D1B0;
}

.side_box h3 {
	display: block;
	width: 150px;
	line-height: 20px;
	color: #FFFFFF;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
	margin-top: 3px;
	font-size: 12px;
	padding-top: 4px;
	text-align: center;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #000000;
	background-color: #333333;
}

.side_box ul {
	margin-bottom: 5px;
}

.side_box li a {
	display: block;
	width:120px;
	font-size: 12px;
	text-decoration:underline;
	color:#FFFFFF;
	line-height: 17px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 5px;
	background-image:url(img/li.gif);
	background-repeat: no-repeat;
	background-color: #6C7720;
	padding-top: 5px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #5F681C;
	background-position: 7px center;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #869427;
}


.side_box li a:hover {
	background-color: #FCF9E4;
	color: #000000;
	text-decoration: none;
	background-position: 8px;
}


#side img {
	border:none;
       	width: 260px;
}

#side p {
	padding: 10px;
}

#side p a {
	font-size:10px;
	background-color: #E2DECF;
	display: block;
	padding: 10px;
	line-height: 15px;
	border: 2px solid #C6BCB0;
}


/*
フッタメニュー
-------------------------------------------------------------------*/

#f_menu {
	clear: both;
	text-align: center;
	background-image: url(img/foot.jpg);
	height: 50px;
	background-repeat: repeat-x;
	border: 1px solid #E2E2DE;
	padding: 20px;
	background-color: #FAFAF8;
}
#f_menu li {
	list-style-type: none;
	display: inline;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #333333;
	padding-right: 5px;
	padding-left: 5px;
	font-size: 10px;
}
#f_menu ul {
	margin-top: 5px;
	margin-bottom: 5px;
}
#f_menu li a {
	font-size: 12px;
}

#f_menu p {
	font-size: 10px;
	color: #333333;
}

#f_menu #design {
	font-size: 10px;
	color: #93A0B0;
}
#f_menu #design a {
	font-size: 10px;
	color: #93A0B0;
}
/*
コピーライト
-------------------------------------------------------------------*/
address {
  float: right;
  font-style: normal;
  line-height: 1.2;
  text-align: center;
  padding: 0 0 20px 0;
  margin: 22px 20px 0 0;
}
address .tel {
  font-size: 24px;
  color:  #000;
}
address.margin-top-reset {margin-top: 0;}
	.small {font-size: 1.05em;}

/*address {
	font-style: normal;
	color: #FFFFFF;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	display: block;
	background-color: #333333;
	font-size: 10px;
}*/
#tmplby a {
	font-size: 9px;
	color: #888888;
}
#tmplby {
	font-size: 10px;
	color: #666;
}
/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-check, .color-check a {color: #ff0000 !important;}
.l {text-align: left !important;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb0 {margin-bottom: 0px !important;}
.mb30 {margin-bottom: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #eee;color: #333;border: 1px solid #ccc; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.large {font-size: 2em; letter-spacing: 0.1em;}
.pc {display: none;}
.dn {display: none !important;}
.rp {float: right; margin-left: 30px;}
.rp2 {float: right; margin-top: 50px;}
.mail01 {margin: 10px 0 0 0;
	font-size: 16px;		/*文字サイズ*/
}
.se1 {  margin: 0 auto 20px;
	line-height: 160%;}
.se12 {  margin: 0 auto 20px;
	line-height: 160%;
	font-size: 16px;}
.sub02 {
	width: 1100px;
	height: 400px;
	margin: 0 auto;
	display: block;
}
.sub02b {
	width: 1100px;
	/*height: 400px;*/
	margin: 100px auto 0;
	display: block;
}
.sub03 {
  float: left;
	width: 22%;
 /* width: 255px;*/
  /*height: 130px;*/
  margin: 10px 10px 0 0;
  padding: 0;
  text-align: left;
}
.sub04 {
  float: right;
	width: 73%;
/* 	width: 844px; ;*/
  height: 365px;
  margin: 10px 0 0 0;
  padding: 0;
  text-align: left;
}
.sub04 p {
	line-height: 1.7;
	font-size: 13px;
}
.sub04b {
  float: right;
	width: 73%;
/* 	width: 844px; ;*/
  height: 770px;
  margin: 10px 0 0 0;
  padding: 0;
  text-align: left;
}

.sub04-sv {
	float: right;
	width: 73%;
	/*height: 330px;;*/
	margin: 10px 0 0 0;
	padding: 0;
	text-align: left;
}
.sub04_service p {
	line-height: 1.7;
	font-size: 13px;
}

.sub042 {
  float: right;
	width: 73%;
  height: 365px;
  margin: 10px 0 0 0;
  padding: 0;
  text-align: left;
}

.sub042 p {
	line-height: 1.7;
	font-size: 14px;
}

.sub043 {
  float: right;
	width: 73%;
  height: 365px;
  margin: 10px 0 0 0;
  padding: 0;
  text-align: left;
}

.sub043 p {
	line-height: 1.7;
	font-size: 15px;
}

.sub044 {
  float: right;
	width: 73%;
  height: 365px;
  margin: 10px 0 0 0;
  padding: 0;
  text-align: left;
}

.sub044 p {
	line-height: 1.7;
	font-size: 16px;
}

.sub05 {
  margin: 0;
  padding: 0;
  text-align: center;
}


img.ex1 {
	width: 260px;
}

img.ex2 {
	width: 86%;
	margin: 25px 0 0 0;
}
img.ex3 {
	margin: 25px 40px  40px 0;
}
img.ex31 {
	margin: 25px 0 40px 0;
}
img.ex32 {
	margin: 0 40px  40px 0;
}
img.ex33 {
	margin: 0 0 40px 0;
}
img.ex35 {
	margin: 0;
}

#footer {
  position: relative;
  /*background: url("img/foot2.jpg") repeat-x scroll 0 0 transparent;*/
  clear: both;
  height: 40px;
  margin: 10px 0 0;
  width: 100%;
  text-align: center;
  	padding: 60px 0 0 0;
}
#footer-sub {
    height: 100px;
    margin: 30px auto 0;
    padding: 0px;
    text-align: center;
    width: 950px;
}
.sub01 {
	float: left;
	width: 950px;
	margin:  10px auto 0;
	padding: 0;
	text-align: left;
}
.sub_foot {
	float: right;
	margin:  0 0 10px 0;
	padding: 0;
	text-align: right;
}
small {
	font-size: 100%;
}
#footer a {
  color: inherit;
  text-decoration: none;
}

.info01 {
	margin:  0 auto 20px;
	padding: 0 0 3px 12px;/*文字の上下 左右の余白*/
	font-size: 1.4em;
	font-weight: bold;
	color: #494949;/*文字色*/
	background: #fff;/*背景色*/
	/*border-left: dashed 5px #9E7D52;左線*/
	border-bottom: solid 3px #9E7D52;/*下線*/
	background: url(img/h3_back01.gif) no-repeat left top;
}	
/*略歴*/
.history {
	padding-bottom: 30px;
	font-size: 1.2em;
	line-height: normal;	
	margin:  0px auto 0;
}
.history16 {
	padding-bottom: 30px;
	font-size: 16px;
	line-height: normal;	
	margin:  0px auto 0;
}

.history dt {
	padding-left: 6px;
	float: left;
}
.history16 dt {
	padding-left: 6px;
	float: left;
	font-size: 16px;
}

.history dd {
	padding: 0 0 4px 10em;
	margin-bottom: 15px;
	background: url(/img/greeting/line01.png) repeat-x bottom;
	border-bottom: dashed 1px #a2a2a2;	
}
.history16 dd {
	padding: 0 0 4px 9em;
	margin-bottom: 15px;
	background: url(/img/greeting/line01.png) repeat-x bottom;
	border-bottom: dashed 1px #a2a2a2;	
	font-size: 16px;
}
/*カレンダー仮略歴*/
.your-element {
  height: 600px;
  font-size: 25.5px;
}
input[type="submit"] {
  width: 80px; /* 幅を200pxに指定 */
}
input[type="reset"] {
  width: 80px; /* 幅を200pxに指定 */
}


@media screen and (max-width: 767px) {
  /* 既存のスマホ用スタイル */
  /* ... */

  html, body {
    width: 100%;
    overflow-x: hidden;
  }

  img {
    max-width: 100%;
    height: auto;
  }
}
