@charset "utf-8";

/* Base
------------------------------------------------------------------------------*/* {
* {
	box-sizing: border-box;
}
body {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	background-image: url(../images/bg.gif);
	margin: 0;
	padding: 0;
	font: 15px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,
div,p,dl,dt,dd,
ul,ol,li,
figure,form {
	margin: 0;
	padding: 0;
	font-size: 1em;
}


/* hr --------------------*/
hr {
	width: auto;
	height: 1px;
	border-width: 1px 0 0;
	border-style: solid;
	border-color: #ccc;
	margin: 10px auto;
}

/* link ----------------------*/
a {
	color: #06f;
	transition: 0.5s;
}
a:hover {
	color: #f60;
	text-decoration: none;
}
a:focus {
	outline: none;
}


/* button ----------------------*/
button.btn {
	position: relative;
	display: block;
	background: #fff;
	background: linear-gradient(#FFF, #f4f4f4 49%, #e8e8e8 50%, #FFF 100%);
	border: 1px solid #ccc;
	border-radius: 4px;
	box-shadow: 1px 2px 5px #e2e2e2, 0 0 1px #fff inset;
	width: 150px;
	margin: auto;
	padding: 7px;
	text-align: center;
	font-size: 0.85em;
	color: #333;
	font-weight: bold;
	letter-spacing: 0.1em;
	cursor: pointer;
	transition: 0.5s;
}
button.btn:hover {
	border: 1px solid #0b5c00;
	background: #14a600;
	background: linear-gradient(#14a600, #139f00 49%, #129500 50%, #13a100 100%);
	border: 1px solid #0b5c00;
	color: #fff;
}

/* iframe ----------------------*/
iframe {
	width: 100%;
	border: none;
}
.ifrm-container {
	display: inline-block;
	width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling:touch;
	margin: auto;
}
.ifrm-container iframe {
	display: block;
	width: 100%;
	height: 100%;
}

/* text --------------------*/
.com	{ padding: 10px 20px;	overflow: hidden; }
p+p	{ margin-top: 10px; }
.c	{ text-align: center; }
.r	{ text-align: right; }
.fl	{ float: left; }
.fr	{ float: right; }
.red	{ color: red; }
.blue	{ color: blue; }
.green	{ color: green; }
.pink	{ color: pink; }
.orange	{ color: orange; }
.purple	{ color: purple; }
.grey	{ color: grey; }
.brown	{ color: brown; }
.big	{ font-size: 1.25em; }
.small	{ font-size: 0.85em; }
[data-mark]		{ position: relative;	padding-left: 20px; }
[data-mark]::before	{ content: attr(data-mark);	position: absolute;	left: 0; }
.tel::before	{ content: "TEL."; }
.fax::before	{ content: "FAX."; }
.eml::before	{ content: "E-mail:"; }

/* list --------------------*/
ul {
	list-style-type: none;
}

/* image --------------------*/
img {
	border: none;
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
	height: auto;
	user-select: none;
}
img.fl {
	margin-right: 10px;
	margin-bottom: 5px;
}
img.fr {
	margin-left: 10px;
	margin-bottom: 5px;
}
.noimage {
	position: relative;
	max-width: 600px;
	padding-top: 75%;
	border: 1px solid #ccc;
	background: #fff;
}
.noimage::before {
	content: "No Image";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2em;
	color: #ccc;
	font-weight: bold;
}


/* table --------------------*/
table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 auto;
}
table th,
table td {
	border: 1px solid #ccc;
	padding: 5px;
}
table th {
	background: #9ae292;
}
.scroll-table {
	overflow: auto;
	white-space: nowrap;
}

/* box / flexbox / grid ----------------------------------------*/
/* box ---------*/
.box {
	margin: auto;
	overflow: hidden;
}
*+.box {
	margin-top: 10px;
}

/* flexbox ---------*/
*[data-column] {
	display: flex;
	flex-wrap: wrap;
}
*[data-column="2"]>* { width: calc(100% / 2); }
*[data-column="3"]>* { width: calc(100% / 3); }
*[data-column="4"]>* { width: calc(100% / 4); }
*[data-column="5"]>* { width: calc(100% / 5); }
*[data-column="6"]>* { width: calc(100% / 6); }

/* grid ---------*/
.grid {
	display: grid;
	grid-template-columns: auto auto auto;
	grid-template-rows: auto auto auto;
}

/* ページ切替 ------------------------------*/
.pagination {
	display: flex;
	justify-content: center;
	margin: 20px auto;
}
.pagination>* {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #14a600;
	height: 30px;
	width: 40px;
	color: #333;
	font-weight: bold;
	text-decoration: none;
}
.pagination>*:not(:first-child) {
	border-left: 0;
}
.pagination>.current,
.pagination>a:hover {
	background: #14a600;
	color: #fff;
}

/* ページトップ ------------------------------*/
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 2%;
	font-size: 11px;
	line-height: 1;
}
.pagetop a {
	display: block;
	background: rgba(102,191,100,.8);
	color: #fff;
	width: 50px;
	height: 50px;
	padding-top: 22px;
	text-align: center;
	text-decoration: none;
	border-radius: 6px;
	position: relative;
}
.pagetop a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 12px auto 0;
	width: 10px;
	height: 10px;
	border: 3px solid;
	border-color: #fff #fff transparent transparent;
	transform: rotate(-45deg);
}
.pagetop a:hover {
	background: rgba(5,50,50,.8);
	text-decoration: none;
}


/* section ------------------------------*/
section+section {
	margin-top: 50px;
}

/*基本設定
==========================================================*/
/* レイアウト
------------------------------*/
#wrapper {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 98%;
	min-width: 1000px;
	min-height: 100vh;
	height: 100%;
	background: url(../imgs/topbar.gif);
	background-repeat: repeat-x;
	margin: 0 auto;
	padding-top: 6px;
}
header {
	position: relative;
	max-width: 1000px;
	width: 100%;
	margin: auto;
}
.contents {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	width: 1000px;
	margin: 0 auto 15px;
	padding: 0;
}
.main {
	order: 2;
	position: relative;
	flex: 1 1 auto;
	margin-left: 10px;
}
.side {
	order: 1;
	width: 250px;
}
footer {
	background: #006600;
	width: 1000px;
	margin-top: auto;
	margin: auto;
	padding: 5px;
	text-align: center;
	color: #fff;
	line-height: 1;
}

/* ヘッダー
------------------------------*/
header {
	display: flex;
	justify-content: space-between;
	align-items: start;
}
header h1 {
	margin-top: 3px;
}
header .head-link {
	margin-top: 45px;
	margin-right: 7px;
}

/* メニューバー
------------------------------*/
.menubar {
	background: url(../imgs/btn_bk.jpg);
	width: stretch;
	height: 58px;
	margin: 0 auto 8px;
}
.menubar ul {
	display: flex;
	justify-content: center;
	align-items: start;
	width: 1000px;
	margin: auto;
}
.menubar ul li {
	position: relative;
	margin: 0;
	padding-left: 4px;
}
.menubar ul li:last-child {
	padding-right: 4px;
}
.menubar ul li::before,
.menubar ul li:last-child::after {
	position: absolute;
	content: "";
	background: url(../imgs/btn_space.jpg) no-repeat;
	width: 4px;
	height: 100%;
}
.menubar ul li::before {
	left: 0;
	top: 0;
}
.menubar ul li::after {
	right: 0;
	top: 0;
}


/* パンくずリスト
------------------------------*/
.breadcrumb {
	max-width: 1054px;
	width: 98%;
	margin: 5px auto;
	padding: 0 5px;
}
.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	font-size: 0.8em;
}
.breadcrumb ul li {
	margin: 5px 0;
}
.breadcrumb ul li:not(:last-child)::after {
	content: "＞";
	margin: 5px;
}


/* メインイメージ
------------------------------*/
.main-image {
	width: 1000px;
	margin: 0 auto 26px;
}

/* メイン
------------------------------*/
.main {

}
h2 {
	margin-bottom: 15px;
	text-align: center;
}


/* サイドバー
------------------------------*/
.side {
	display: flex;
	flex-direction: column;
}

.side>*+* {
	margin-top: 10px;
}
.sidemenu {
	
}

.sidemenu-banner>li+li {
	margin-top: 10px;
}
.sidemenu-banner>li img {
	width: stretch;
}
.side .side-corp {
	border: 1px solid #acacac;
	border-radius: 10px;
	margin-top: auto;
	padding: 15px;
	font-size: 1.05em;
	color:#808080;
}
.side-corp .side-corp-addr .addr2 {
	display: block;
	text-align: right;
}
.side-corp .side-corp-tel {
	padding-left: 25px;
}
.side-corp .side-corp-num {
	text-align: center;
}

/* フッター
------------------------------*/
footer small {
	font-weight: bold;
	font-size: 0.8em;
}
footer small::before {
	content: "copyright";
}
footer small::after {
	content: "All Rights Reserved.";
	margin-left: 5px;
}


/*ここからタブレット用環境の設定
==========================================================*/
@media (max-width: 800px) {

}


/*ここからスマホ用環境の設定
---------------------------------------------------------------------------*/
@media (max-width: 500px) {

}
