/*=========================================================
■ スマートナビCSS
■ Copyright(c) スカヘルネット
■ https://isp.sukaheru.net/
=========================================================*/
/* Base
------------------------------------------------------------------------------*/
* {
	box-sizing: border-box;
}
body	{
	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%;
	display: flex;
	flex-direction: column;
	position: relative;
}
h1,h2,h3,h4,h5,
div,p,dl,dt,dd,
ul,ol,li,
figure,form {
	margin: 0;
	padding: 0;
	font-size: 1em;
}
iframe {
	width: 100%;
}
/* link --------------------*/
a {
	color: #06f;
	text-decoration: none;
	transition: 0.5s;
	outline: none;
}
a:hover	{
	color: #f60;
	text-decoration: underline;
}
.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #555;
	background: linear-gradient(#555, #333);
	border: 1px solid #222;
	border-radius: .8em;
	box-shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px rgba(255,255,255,0.4) inset;
	max-width: 600px;
	width: 90%;
	min-height: 34px;
	margin: 20px auto;
	color: #fff;
	font-weight: bold;
	text-shadow: 0 -1px 2px rgba(0,0,0,0.3);
}
.btn:hover {
	background: #333;
	background: linear-gradient(#333, #555);
	color: #fff;
	text-decoration: none;
}

/* text --------------------*/
.com	{ padding: 0 10px;	overflow: hidden; }
*+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: #ff8080; }
.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	{
	max-width: 100%;
	width: auto;
	height: auto;
	border: 0;
	vertical-align: bottom;
}
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: 1px solid #acacac;
	border-collapse: collapse;
	margin: 0 auto;
}
table th,
table td {
	border: 1px solid #acacac;
	padding: 5px;
}
table th {
	background: #9ae292;
}

/* tabselect --------------------*/
.tabselect {
	width: 100%;
	margin: 0 auto;
}
.tabselect .tablist {
	display: flex;
	justify-content: center;
	background: #d1d1d1;
	background: linear-gradient(#d1d1d1, #fff);
	border-bottom: 1px solid #C8C8C8;
}
.tabselect .tablist>* {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #eee;
	background: linear-gradient(#d1d1d1, #fff);
	border: 1px solid #acacac;
	border-radius: 6px 6px 0 0;
	width: 100px;
	margin-bottom: -1px;
	padding: 6px 10px;
	cursor: pointer;
}
.tabselect .tablist>*.active {
	background: #fff;
	border-bottom: 0;
	border-radius: 5px 5px 0 0;
	width: 100px;
	margin-bottom: -1px;
	padding: 6px 10px;
	font-size: 0.9em;
	cursor: pointer;
}
.tabselect .tabgroup .tabbox {
	display: none;
	width: 97%;
	margin: 20px auto;
}
.tabselect .tabgroup .tabbox.show {
	display: block;
}
.tabselect .tabgroup .tabbox .tab-ttl {
	border-left: 3px solid orange;
	margin-bottom: 10px;
	padding: 3px 6px;
	font-size: 0.9em;
	color: #333;
}


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

/* flexbox ---------*/
[class*="column"] {
	display: flex;
	flex-wrap: wrap;
}
[class*="column"]>* {
	margin: 0;
	padding: 3px;
}
.column6>*	{ width: calc((100% - 0.01px) / 6);	max-width: calc((100% - 0.01px) / 6); }
.column5>*	{ width: calc(100% / 5);		max-width: calc(100% / 5); }
.column4>*	{ width: calc(100% / 4);		max-width: calc(100% / 4); }
.column3>*	{ width: calc((100% - 0.01px) / 3);	max-width: calc((100% - 0.01px) / 3); }
.column2>*	{ width: calc(100% / 2);		max-width: calc(100% / 2); }

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

/* nodisplay ----------------------------------------*/
.nodisp {
	display: none !important;
}

/* wrapper / レイアウト
------------------------------------------------------------------------------*/
#wrapper {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	width: 100%;
	min-height: 100vh;
	height: 100%;
	position: relative;
	overflow: hidden;
	padding: 0;
	margin: 0 auto;
}
header {
	position: relative;
	width: 100%;
}
.contents {
	position: relative;
	width: 100%;
	flex: 1 1 auto;
}
footer {
	margin-top: auto;
}


/* header
----------------------------------------------------*/
header:not(.top) {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 48px;
	background: #555;
	background: linear-gradient(#555, #333);
	border: 1px solid #333;
	padding: 5px;
	text-align: center;
	font-size: 1.05em;
	color: #fff;
	line-height: 1.3;
	text-shadow: 0 -1px 1px #222;
}
header:not(.top) h1 {
	font-weight: bold;
}
header:not(.top) h1 span {
	display: block;
	margin-top: -4px;
	font-size: 0.65rem;
	font-weight: normal;
}
header .back {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 10px;
	right: auto;
	margin: auto;
	height: 34px;
	width: 64px;
	background: #555;
	background: linear-gradient(#555, #333);
	border: 1px solid #222;
	border-radius: .8em;
	box-shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px rgba(255,255,255,0.4) inset;
}
header .back:hover {
	background: #333;
	background: linear-gradient(#333, #555);
}
header .back a {
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 100%;
	margin-top: 0.1em;
	padding-right: 8px;
	font-size: 0.85em;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
}
header .back a::before {
	position: absolute;
	left: 5px;
	content: "";
	width: 18px;
	height: 18px;
	background: rgba(0,0,0,0.4);
	border-radius: 50%;
	box-shadow: 0 1px rgba(255,255,255,0.3);
	margin: -0.275em 4px 0 0;
}
header .back a::after {
	position: absolute;
	left: 11px;
	content: "";
	width: 5px;
	height: 5px;
	border-bottom: 3px solid #fff;
	border-left: 3px solid #fff;
	transform: rotate(45deg);
	margin: -0.2em 4px 0 0;
}

/* トップページ ----------------------------*/
header.top {
	text-align: center;
	padding: 15px 0;
}


/* contents
----------------------------------------------------*/
.page-image {
	max-width: 600px;
	width: 95%;
	margin: 10px auto;
	text-align: center;
}
.page-image img {
	width: 100%;
	height: auto;
}

.main-com {
	width: 98%;
	margin: 10px auto;
	border: 2px solid #f60;
	border-radius: 6px;
	padding: 10px;
}
.contents .back {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #acacac;
	border-radius: 20px;
	max-width: 500px;
	width: 90%;
	min-height: 30px;
	margin: 30px auto;
	color: #333;
	font-weight: bold;
	text-decoration: none;
	line-height: 1;
}
/* トップページ ----------------------------*/
.flexslider {
	margin: 20px auto 80px;
	border: 0;
}
.top-navi {
	width: 80%;
	margin: 30px auto;
}
.top-navi ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.top-navi ul li {
	width: 80px;
	margin-bottom: 22px;
	text-align: center;
	font-size: 0.9em;
}
.top-navi ul li img {
	display: block;
	margin: 0 auto 5px;
}
.top-navi ul li a {
	color: #808080;
	text-decoration: none;
}
/* リスト表示 ----------------------------*/
.listview {
	width: 100%;
	margin: 0;
}
.listview li {
	position: relative;
	min-height: 82px;
	background: linear-gradient(#fefefe, #eee);
	border-top: 1px solid #ccc;
	padding: 1px 30px 1px 1px;
}
.listview+.listview li:first-child {
	border-top: 0;
}
.listview li.ttl {
	min-height: auto;
	background: linear-gradient(#ececec, #dadada);
	padding: 12px 10px;
	line-height: 1;
	font-weight: bold;
	text-shadow: 0 1px 0 #fff;
}
.listview li:not(.ttl)::before {
	position: absolute;
	top: 0;
	right: 15px;
	bottom: 0;
	content: "";
	width: 18px;
	height: 18px;
	background: #888;
	border-radius: 50%;
	margin: auto;
}
.listview li:not(.ttl)::after {
	position: absolute;
	top: 0;
	right: 21px;
	bottom: 0;
	content: "";
	width: 5px;
	height: 5px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg);
	margin: auto;
}
.listview li:last-child {
	border-bottom: 1px solid #ccc;
}
.listview li:not(.ttl):hover {
	background: linear-gradient(#fefefe, #ececec 1px, #dadada);
}
.listview li.nolink {
	display: flex;
	align-items: center;
}
.listview li a {
	display: flex;
	align-items: center;
	min-height: 80px;
	color: #333;
	text-decoration: none;
}
.listview li a:hover {
	text-shadow: 0 1px 1px #eee;
}
.listview li figure {
	margin-right: 10px;
}
.listview li figure img {
	max-width: 80px;
	min-height: 80px;
	height: auto;
}
.listview li figure.noimage {
	width: 80px;
	height: 80px;
	padding-top: 0;
}
.listview li figure.noimage::before {
	font-size: 13px;
}
.listview li .com h3 {
	margin-bottom: 3px;
}
.listview li .com p+h3 {
	margin-top: 3px;
}
.listview li .com h3+p {
	margin-top: 3px;
}
.listview li .com p {
	font-size: 0.8em;
}


/* footer
----------------------------------------------------*/
footer {
	background: #333;
	background: linear-gradient(#555, #333);
	border: 1px solid #222;
	padding: 5px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	line-height: 1;
	text-shadow: 0 -1px 1px #222;
}



/* ヘッダ/フッター　カラー
----------------------------------------------------*/
/* グリーン ----------*/
header.green {
	background: #2d6d09;
	background: linear-gradient(#4d8f14, #2d6d09);
	border: 1px solid #1d5304;
	text-shadow: 0 -1px 1px #1d5304;
}
header.green .back {
	background: #4d8f14;
	background: linear-gradient(#4d8f14, #2d6d09);
	border: 1px solid #005000;
}
header.green .back:hover {
	background: #2d6d09;
	background: linear-gradient(#2d6d09, #4d8f14);
}
footer.green {
	background: #2d6d09;
	background: linear-gradient(#4c8e13, #2d6d09);
	border: 1px solid #1d5304;
	text-shadow: 0 -1px 1px #2d6d09;
}
.btn.green  {
	background: #4d8f14;
	background: linear-gradient(#4d8f14, #2d6d09);
	border: 1px solid #005000;
}
.btn.green:hover {
	background: #2d6d09;
	background: linear-gradient(#2d6d09, #4d8f14);
}

/* ライトグリーン ----------*/
header.lightgreen {
	background: #67c57e;
	background: linear-gradient(#8fd7a2, #67c57e);
	border: 1px solid #5DB171;
	text-shadow: 0 -1px 1px #5DB171;
}
header.lightgreen .back {
	background: #8fd7a2;
	background: linear-gradient(#8fd7a2, #67c57e);
	border: 1px solid #48975C;
}
header.lightgreen .back:hover {
	background: #67c57e;
	background: linear-gradient(#67c57e, #8fd7a2);
}
footer.lightgreen {
	background: #67c57e;
	background: linear-gradient(#8fd7a2, #67c57e);
	border: 1px solid #5DB171;
	text-shadow: 0 -1px 1px #5DB171;
}
.btn.lightgreen  {
	background: #8fd7a2;
	background: linear-gradient(#8fd7a2, #67c57e);
	border: 1px solid #48975C;
}
.btn.lightgreen:hover {
	background: #67c57e;
	background: linear-gradient(#67c57e, #8fd7a2);
}

/* ブルー ----------*/
header.blue {
	background: #1e78c8;
	background: linear-gradient(#44a1dc, #1e78c8);
	border: 1px solid #17518f;
	text-shadow: 0 -1px 1px #17518f;
}
header.blue .back {
	background: #45a2dd;
	background: linear-gradient(#45a2dd, #207ac9);
	border: 1px solid #17518f;
}
header.blue .back:hover {
	background: #207ac9;
	background: linear-gradient(#207ac9, #45a2dd);
}
footer.blue {
	background: #1e78c8;
	background: linear-gradient(#44a1dc, #1e78c8);
	border: 1px solid #17518f;
	text-shadow: 0 -1px 1px #17518f;
}
.btn.blue  {
	background: #45a2dd;
	background: linear-gradient(#45a2dd, #207ac9);
	border: 1px solid #17518f;
}
.btn.blue:hover {
	background: #207ac9;
	background: linear-gradient(#207ac9, #45a2dd);
}

/* スカイブルー ----------*/
header.skyblue {
	background: #5af;
	background: linear-gradient(#9bcdff, #5af);
	border: 1px solid #0061c1;
	text-shadow: 0 -1px 1px #0061c1;
}
header.skyblue .back {
	background: #9bcdff;
	background: linear-gradient(#9bcdff, #5af);
	border: 1px solid #0061c1;
}
header.skyblue .back:hover {
	background: #5af;
	background: linear-gradient(#5af, #9bcdff);
}
footer.skyblue {
	background: #5af;
	background: linear-gradient(#99ccff, #5af);
	border: 1px solid #5af;
	text-shadow: 0 -1px 1px #5af;
}
.btn.skyblue  {
	background: #9bcdff;
	background: linear-gradient(#9bcdff, #5af);
	border: 1px solid #0061c1;
}
.btn.skyblue:hover {
	background: #5af;
	background: linear-gradient(#5af, #9bcdff);
}

/* ピンク ----------*/
header.pink {
	background: #F86991;
	background: linear-gradient(#FA89A8, #F86991);
	border: 1px solid #df4162;
	text-shadow: 0 -1px 1px #df4162;
}
header.pink .back {
	background: #FA89A8;
	background: linear-gradient(#FA89A8, #F86991);
	border: 1px solid #df4162;
}
header.pink .back:hover {
	background: #F86991;
	background: linear-gradient(#F86991, #FA89A8);
}
footer.pink {
	background: #F86991;
	background: linear-gradient(#FA89A8, #F86991);
	border: 1px solid #df4162;
	text-shadow: 0 -1px 1px #df4162;
}
.btn.pink  {
	background: #FA89A8;
	background: linear-gradient(#FA89A8, #F86991);
	border: 1px solid #df4162;
}
.btn.pink:hover {
	background: #F86991;
	background: linear-gradient(#F86991, #FA89A8);
}

/* パープル ----------*/
header.purple {
	background: #7f54b0;
	background: linear-gradient(#8c61b9, #7f54b0);
	border: 1px solid #5a3986;
	text-shadow: 0 -1px 1px #5a3986;
}
header.purple .back {
	background: #8c61b9;
	background: linear-gradient(#8c61b9, #8055b1);
	border: 1px solid #5a3986;
}
header.purple .back:hover {
	background: #8055b1;
	background: linear-gradient(#8055b1, #8c61b9);
}
footer.purple {
	background: #7f54b0;
	background: linear-gradient(#8c61b9, #7f54b0);
	border: 1px solid #5a3986;
	text-shadow: 0 -1px 1px #5a3986;
}
.btn.purple  {
	background: #8c61b9;
	background: linear-gradient(#8c61b9, #8055b1);
	border: 1px solid #5a3986;
}
.btn.purple:hover {
	background: #8055b1;
	background: linear-gradient(#8055b1, #8c61b9);
}

/* オレンジレッド ----------*/
header.orangered {
	background: #ff4500;
	background: linear-gradient(#FF6F37, #ff4500);
	border: 1px solid #D53A00;
	text-shadow: 0 -1px 1px #D53A00;
}
header.orangered .back {
	background: #FF6F37;
	background: linear-gradient(#FF6F37, #ff4500);
	border: 1px solid #D53A00;
}
header.orangered .back:hover {
	background: #ff4500;
	background: linear-gradient(#ff4500, #FF6F37);
}
footer.orangered {
	background: #ff4500;
	background: linear-gradient(#FF6F37, #ff4500);
	border: 1px solid #D53A00;
	text-shadow: 0 -1px 1px #D53A00;
}
.btn.orangered  {
	background: #FF6F37;
	background: linear-gradient(#FF6F37, #ff4500);
	border: 1px solid #D53A00;
}
.btn.orangered:hover {
	background: #ff4500;
	background: linear-gradient(#ff4500, #FF6F37);
}

/* ホワイト ----------*/
header.white {
	background: #fff;
	background: linear-gradient(#fff, #ddd);
	border: 1px solid #ddd;
	color: #333;
	text-shadow: 0 -1px 1px #ddd;
}
header.white .back {
	background: #ddd;
	background: linear-gradient(#fff, #ddd);
	border: 1px solid #ddd;
}
header.white .back:hover {
	background: #fff;
	background: linear-gradient(#ddd, #fff);
}
header.white .back a {
	color: #333;
	text-shadow: 0 -1px 1px #ddd;
}
footer.white {
	background: #ddd;
	background: linear-gradient(#fff, #ddd);
	border: 1px solid #acacac;
	color: #333;
	text-shadow: 0 -1px 1px #ddd;
}
.btn.white  {
	background: #ddd;
	background: linear-gradient(#fff, #ddd);
	border: 1px solid #acacac;
	color: #333;
	text-shadow: 0 -1px 1px #ddd;
}
.btn.white:hover {
	background: #fff;
	background: linear-gradient(#ddd, #fff);
}
