body {
	padding-top: 0px;
	background: #f9f9fB;
}

/* 印刷設定 */
div.box {
	page-break-inside: avoid;
}
@media print{
	div.form {
		display: none;
	}
}

/* 共通装飾 */
p {
	text-indent: 1em;
	margin-bottom: 9px;
}
a {
	transition: 1s ease-in-out;
}
::selection {
	background: #cdf;
}
.cmt {
	color: #777;
}
.smaller {
	font-size: 0.9em;
}
ul.list li:hover, p:hover, h3:hover, h4:hover, tr:hover {
	background: #f2f2f2;
	box-shadow: inset 0 0 5px #fff;
	transition: 0.8s ease-in-out;
}

/* 見出し */
h3 {
	color: #47D;
	padding: 3px 10px;
	border-left: 9px #47D solid;
}
h4 {
	margin-top: 12px;
}
h4:first-letter {
	color: #47D;
}

/* リストの装飾 */
ul {
	list-style-type: none;
}
ul.list li {
	position: relative;
	padding: 1px 0 2px 10px;
}
ul.list li:before, ul.list li:after {
	content: '';
	position: absolute;
	background: #47D;
	border-radius: 10px;
	width: 4px;
}
ul.list li:before {
	transform: rotate(45deg);
	top: 6px;
	left: -7px;
	height: 18px;
}
ul.list li:after {
	transform: rotate(-45deg);
	top: 13px;
	left: -15px;
	height: 10px;
}
/* 小さめリスト */
ul.s > li {
	font-size: 0.9em;
}
ul.list.s li {
	padding: 1px 0 1px 4px;
}
ul.list.s li:before ,ul.list.s li:after {
	width: 3px;
}
ul.list.s li:before {
	top: 5px;
	left: -10px;
	height: 12px;
}
ul.list.s li:after {
	top: 10px;
	left: -16px;
	height: 7px;
}

/* リストのマウスオーバー時アニメーション */
@keyframes list-icon-color {
	  0% { background-color: #5AE; }
	 50% { background-color: #159; }
	100% { background-color: #5AE; }
}
ul.list li:hover:before, ul.list li:hover:after {
	animation: list-icon-color ease-in-out 2s infinite;
}
@keyframes rotate-before-A {
	  0% { transform: rotate(45deg); }
	100% { transform: rotate(-315deg); }
}
@keyframes rotate-after-A {
	  0% { transform: rotate(-45deg); }
	100% { transform: rotate(315deg); }
}
ul.list li:nth-of-type(3n):hover:before {
	animation: rotate-before-A ease-in-out 0.5s 1;
}
ul.list li:nth-of-type(3n):hover:after {
	animation: rotate-after-A ease-in-out 0.5s 0.3s 1;
}
ul.list li:nth-of-type(3n+1):hover:before {
	animation: rotate-before-A ease-in-out 0.5s 1;
}
ul.list li:nth-of-type(3n+1):hover:after {
	animation: rotate-after-A ease-in-out 0.5s 1;
}

@keyframes rotate-before-B {
	  0% { transform: rotate(45deg); }
	100% { transform: rotate(405deg); }
}
@keyframes rotate-after-B {
	  0% { transform: rotate(-45deg); }
	100% { transform: rotate(315deg); }
}
ul.list li:nth-of-type(3n+2):hover:before {
	animation: rotate-before-B ease-in-out 0.6s 1;
}
ul.list li:nth-of-type(3n+2):hover:after {
	animation: rotate-after-B ease-in-out 0.6s 1;
}


/* レイアウト関連 */
table {
	border-spacing: 0px;
	width: 100%;
}
th, td {
	padding: 3px 4px;
	border-top: 1px solid #bbb;
}
tr:last-of-type th, tr:last-of-type td {
	border-bottom: 1px solid #bbb;
}

/* ヘッダ部分 */
nav.navbar {
	border-bottom: 1px solid #999;
	padding: 2px 6px;
	opacity: 0.93;
}
div#top-logo {
	margin-right: 6px;
	cursor: pointer;
}
div#top-logo img {
	height: 55px;
}

nav #naviMenu a {
	border-bottom: 2px solid transparent;
}
nav #naviMenu a:hover {
	border-color: #47D;
}
.nav-link {
	padding: 3px 6px !important;
}
.image-header {
	margin-top: 60px;
	padding: 0 10px 10px 10px;
	background-image: url(./img/main_visual-a.jpg);
	background-size: cover;
	background-position: center center;
}
.image-header img {
	max-width: 100%;
}
@media (max-width:576px) {
	nav.navbar {
		padding: 2px 4px;
	}
	div#top-logo {
		margin-right: 4px;
	}
	div#top-logo img {
		height: 40px;
	}
	.image-header {
		margin-top: 45px;
	}
}
@media (max-width:350px) {
	a[href="#contact"] {
		display: none;
	}
}
/* フッタ部分 */
html {
	position: relative;
	min-height: 100%;
}
body {
	/* Margin bottom by footer height */
	margin-bottom: 80px;
}
div#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	/* Set the fixed height of the footer here */
	height: 60px;
	background-image: url(./img/lattice-dark.png);
}
div#footer > div {
	padding-top: 20px;
	margin-left: 25px;
}
div#footer > div > span {
	color: #fff;
}

/* お問い合わせフォーム部分 */
div.form div.row {
	margin-bottom: 9px;
}
div.form input[type=text], div.form input[type=email], div.form textarea {
	width: 100%;
	border-radius: 2px;
	padding: 5px 6px;
}
div.form input[type=text], div.form input[type=email] {
	height: 36px;
}
div.form textarea[name=message] {
	height: 100px;
}
div.form div#send {
	text-align: center;
}
div.form .normal {
	width: auto;
	display: inline;
}
div.form .small {
	width: 70px !important;
	display: inline;
}
div.form .smallish {
	width: 100px !important;
	display: inline;
}

span.required:after, span.optional:after {
	color: #FFF;
	border-radius: 3px;
	padding: 2px 6px;
	margin-left: 4px;
	white-space: nowrap;
}
span.required:after {
	content: "必須";
	font-size: 15px;
	font-weight: bold;
	color: #FFF;
	background: #F45;
}
span.optional:after {
	content: "任意";
	font-size: 14px;
	color: #FFF;
	background: #79E;
}
.btn-primary {
	background-color: #47D;
	border-color: #47D;
}
/* Ajax読込み待ち表示用 */ 
#sending {
	vertical-align: middle;
	width: 32px;
	height: 32px;
	display: inline-block;
	background-size: contain;
}
.sending {
	background-image: url("./img/sending_mail.gif");
}
