/*
	Theme Name: オリジナルテーマ
*/

@charset "UTF-8";

@font-face {
	font-family: 'YasashisaGothic';
	src: url(fonts/YasashisaGothic.otf),
	url("fonts/YasashisaGothic.woff") format('woff');
}

* {
	margin: 0;
	padding: 0;
}

html {
	font-size: 100%;
	color: #404040;
	font-family: 'Saira','YasashisaGothic', sans-serif;	/*font-family: "游ゴシック体", "Yu Gothic", YuGothic, Meiryo, メイリオ, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;*/
}

body {
	overflow-y: scroll;
	font-size: 14px;
	line-height: 1.5;
	text-align: justify;
	-webkit-text-size-adjust: 100％;
	background-color: #ffa200;
}

html, body {
	height: 100%;
}

#wrap {
	position: relative;
	min-height: 100%;
}

a {
	color: #404040;
	text-decoration: none;
	outline: none;
}

img {
	width: 100%;
	height: auto;
	border: none;
}

h2 {
	font-size: 200%;
	font-weight: normal;
	margin: 0 0 15px;
	text-align: left;
	letter-spacing: 1.5px;
	position: relative;
}

h2 span {
	font-size: 60%;
}

h2 span::before {
	content: '/';
	margin: 0 5px;
}

h3 {
	font-size: 150%;
	font-weight: normal;
	text-align: left;
	padding: 0 0 5px;
	border-bottom: 1px solid #444444;
}

 h4 {
	font-size: 120%;
	font-weight: normal;
	text-align: left;
	color: #444444;
	margin: -7px 0 15px;
	padding: 10px;
	border-bottom: 1px solid #444444;
}

h4 span {
	font-size: 60%;
}

h4 span::before {
	content: '/';
	margin: 0 5px;
}


@media screen and (max-width: 600px) {

	h2 {
		font-size: 160%;
	}

	h3 {
		font-size: 130%;
	}

}


@media screen and (max-width: 480px) {

	h2 {
		font-size: 140%;
	}

	h3 {
		font-size: 120%;
	}

}


.textL {
	text-align: left !important;
}

.textC {
	text-align: center !important;
}

.textR {
	text-align: right !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;
}

.mt55 {
	margin-top: 55px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt65 {
	margin-top: 65px !important;
}

.mt70 {
	margin-top: 70px !important;
}


/****** margin-bottom *****/
.mb0 {
	margin-bottom: 0 !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !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;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}


ul {
	overflow: hidden;
}

ul li {
	list-style: none;
}

ul li a {
	display: block;
	text-decoration: none;
}

table {
	width: 100%;
	border-collapse: collapse;
}

table th {
	padding: 15px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
	background-color: #f5f5f5;
}

table td {
	padding: 15px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}

.inner {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}


@media screen and (max-width: 1200px) {

	.inner {
		width: 96%;
		margin: 0 2%;
		overflow: hidden;
		position: relative;
	}

}


/*---------------------------------
	header
---------------------------------*/
header {
	width: 100%;
	height: 100px; /* 80px */
	position: fixed;
	z-index: 2;
	overflow: visible;
	background-color: #ffa200;
}

header .inner {
	overflow: visible;
	position: relative;
}

header h1 {
	width: 350px; /* 300px */
	margin: 0; /* 10px 0 0 */
	line-height: 0;
	position: absolute;
	top: 22px;
}

header h1 a {
	display: block;
}

header .tel {
	font-size: 230%;
	font-weight: bold;
	position: absolute;
	top: 2px; /* -7px */
	right: 216px; /* 228px */
}

header .tel:before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 25px;
	margin: 0 5px;
	background: url(images/tel.png) center 0 no-repeat;
	background-size: cover;
}

header .time {
	position: absolute;
	top: 4px; /* -3px */
	right: 8px; /* 18px */
}

header .time span {
	display: block;
}


@media screen and (max-width: 900px) {

	header .tel, header .time {
		display: none;
	}

	header h1 {
		width: 340px;
	}

}


@media screen and (max-width: 360px) {

	header h1 {
		width: 160px !important;
	}

	header h1 img {
		margin: 10px 0 0;
	}

}


/*---------------------------------
	nav
---------------------------------*/
header nav {
	max-width: 60%;
	/*width: 100%;*/
	text-align: center;
	text-transform: uppercase;
	font-weight: 500;
	overflow: hidden;
	position: absolute;
	top: 50px; /* 30px */
	right: 0;
}

header nav ul {
	overflow: hidden;
	height: 35px;
}

header nav ul li{
	float: left;
	margin-right: 5px;
}

header nav ul li a {
	position: relative;
	text-align: center;
	overflow: hidden;
	display: block;
	padding: 5px 10px;
	font-size: 90%;
}

header nav ul li:nth-child(1) a span i {
	font-size: 18px !important;
	margin: 2px 0 0;
}

/***** ボタン風メニュー *****/
header nav ul li:nth-child(1) .btn-push {
	display: inline-block;
	max-width: 180px;
	text-align: left;
	background-color: #13853b;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
	padding: 4px 15px; /* 10px 24px */
	border-radius: 4px;
	border-bottom: 4px solid #15400e;
}

.btn-push {
	display: inline-block;
	max-width: 180px;
	text-align: left;
	background-color: #13853b;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
	padding: 6px 9px; /* 6px 15px */
	border-radius: 4px;
	border-bottom: 4px solid #15400e;
}

.btn-push:hover,
.btn-push:active {
	transform: translateY(4px);
	border-bottom: none;
}


@media screen and (max-width: 900px) {

	header {
		height: 60px;
		border-bottom: 1px solid #dddddd;
	}

	header h1 {
		width: 300px; /* 240px */
		margin: -12px 0 0 0; /* -10px 0 0 0 */
	}

	header nav {
		display: none;
	}

	header .contact p.tel {
		display: none;
	}

}


@media screen and (max-width: 480px) {

	header h1 {
		width: 240px; /* 260px */
		margin: -6px 0 0 0; /* 8px 0 0 0 */
	}

}


@media screen and (max-width: 360px) {

	header h1 {
		width: 200px !important;
		margin: -15px 0 0;
	}

}


/*---------------------------------
	メイン画像
---------------------------------*/
#mainimg {
	background-image: url(images/main02.jpg); /* main.jpg */
	background-size: cover; /* auto auto */
	background-repeat: no-repeat;
	background-position: center center; /* bottom center */
	height: 770px; /* 580 */
	/*margin: 0 0 100px;*/
	position: relative;
	z-index: 0;
}

#mainimg .inner {
	position: absolute;
	top: 50px; /* 50% */
	left: 0;
	right: 0;
	text-align: center;
	/*transform: translateY(-50%);*/
}

#animated1 {
	color: #ffffff;
	font-size: 350%;
	font-weight: bold;
	letter-spacing: 2px;
	margin: 0px 0 280px;
}
#animated1 span {
	font-size: 150%;
	color: #000000;
}
.blur {
	/*color: transparent;*/
	/*text-shadow: 0px 0px 10px #ffffff;*/
}

#animated2 {
	color: #ffffff;
	font-size: 200%;
	letter-spacing: 2px;
	font-weight: bold;
	margin: 5px 0 0px;
}

#animated2 span {
	font-size: 150%;
	color: #d21e1e;
}
#animated3 {
	color: #000000;
	font-size: 200%;
	letter-spacing: 2px;
	font-weight: bold;
	margin: 15px 0 0px;
}

#animated3 span {
	font-size: 150%;
	color: #d21e1e;
}


.header-animation1 {
	-webkit-animation-duration: 5s;
	animation-duration: 5s;
	-webkit-animation-duration: 1s;
	animation-delay: 1s;
}

.header-animation2 {
	-webkit-animation-duration: 8s;
	animation-duration: 8s;
	-webkit-animation-duration: 5s;
	animation-delay: 5s;
}
.header-animation3 {
	-webkit-animation-duration: 8s;
	animation-duration: 8s;
	-webkit-animation-duration: 5s;
	animation-delay: 5s;
}


@media screen and (max-width: 800px) {

	#mainimg {
		height: 480px;
	}

	#mainimg .inner {
		position: absolute;
		top: 50px; /* 50% */
	}

	#animated1 {
		font-size: 150%;
		margin: 15px 0 0;
	}
	#animated1 span {
		font-size: 180%;
	}
	
	#animated2 {
		font-size: 150%;
		margin: 15px 0 0;
	}

	#animated2 span {
		font-size: 180%;
	}
#animated3 {
		font-size: 150%;
		margin: 15px 0 0;
	}

	#animated3 span {
		font-size: 180%;
	}
}


@media screen and (max-width: 600px) {

	#animated1 {
		font-size: 140%;
	}

	#animated1 span {
		display: block;
	}

	#animated2 {
		font-size: 140%;
	}
#animated2 span {
		display: block;
	}
#animated3 {
		font-size: 140%;
	}
#animated3 span {
		display: block;
	}

}


@media screen and (max-width: 480px) {

	#mainimg {
		height: 380px;
	}

	#mainimg .inner {
		position: absolute;
		top: 30px; /* 50% */
	}

	#animated1 {
		font-size: 140%;
		margin: 0px 0 100px;
	}
#animated1 span {
		font-size: 160%;
	}
	#animated2 {
		font-size: 100%;
		margin: 5px 0 0;
	}

	#animated2 span {
		font-size: 120%;
		margin: 0px 0 0;
	}
	#animated3 {
		font-size: 100%;
		margin: 12px 0 0;
	}

	#animated3 span {
		font-size: 120%;
	}
}


@media screen and (max-width: 479px) {

	#mainimg {
		height: 340px;
	}

	#animated1 span {
		display: inline-block;
	}
#animated2 span {
		display: inline-block;
	}

#animated3 span {
		display: inline-block;
	}

}


body.home main {
	height: 100%;
	padding: 80px 0 0;
}


/* IE10以降 */
@media all and (-ms-high-contrast: none) {

	body.home main {
		padding: 80px 0 0;
	}

}


main {
	padding: 0 0 80px;
}


@media screen and (max-width: 900px) {

	body.home main {
		padding: 60px 0 0;
	}

	main {
		/*height: auto;*/
	}

}


body.home .clm {
	margin: -180px auto 80px;
}

body.home .clm .inner {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}


/***** ループ *****/
.loop {
	max-width: 1000px;
	width: 100%;
	margin: 30px auto 30px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.loop ul {
	overflow: hidden;
}

.loop ul li {
	width: calc(25.0% - 1%);
	margin: 0 0.5%;
	list-style: none;
	float: left;
	text-align: center;
}

.loop ul li img {
	width: 100%;
	height: auto;
	padding: 3px 3px 100px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}


@media screen and (max-width: 1000px) {

	.loop ul {
		max-width: 100%;
		width: 98%;
		margin: 0 1%;
		padding: 0;
	}

}


@media screen and (max-width: 768px) {

	.loop {
		margin: -30px auto 70px;
	}

}


@media screen and (max-width: 480px) {

	.loop {
		display: none;
	}


}


/*---------------------------------
	レイアウト
---------------------------------*/
body.home #contents {
	width: 100%;
	font-size: 100%;
	margin: 0 0 80px;
}

#contents {
	width: 100%;
	/*height: 100%;*/
	/*font-size: 110%;*/
	margin: 0 0 80px;
}

#contents p {
	font-size: 95%;
}


@media screen and (max-width: 900px) {

	#contents {
		margin: 20px 0 80px;
	}

}


/*---------------------------------
	【トップ】新着情報・ブログ
---------------------------------*/
body.home #post {
	width: 100%;
	margin: 0;
	overflow: hidden;
}

/***** 一覧 *****/
body.home #post .boxL .btn,
body.home #post .boxR .btn {
	position: absolute;
	top: 3px;
	right: 0
}

body.home #post .boxL .btn a,
body.home #post .boxR .btn a {
	display: block;
	text-decoration: none;
	padding: 5px 15px;
	font-size: 90%;
}

/*
body.home #post .boxL .btn a,
body.home #post .boxR .btn a {
	display: block;
	text-decoration: none;
	padding: 7px 10px;
	background-color: #dcdcdc;
	border-radius: 3px;
}

body.home #post .boxL .btn a.anime,
body.home #post .boxR .btn a.anime {
	display: block;
	text-decoration: none;
	color: #444444;
	text-align: center;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgb(0, 128, 0) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: all .3s ease 0s;
}

body.home #post .boxL .btn a.anime:hover,
body.home #post .boxR .btn a.anime:hover {
	cursor: pointer;
	color: #ffffff;
	background-position: -100% 0;
	box-sizing: border-box;
}
*/


/***** 新着情報 *****/
body.home #post .boxL {
	width: 49%;
	margin: 0 0.5%;
	float: left;
	overflow: hidden;
	position: relative;
}

body.home #post .boxL .in {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

body.home #post .boxL .box a {
	width: 100%;
	padding: 10px 0;
	display: block;
	text-decoration: none;
}

body.home #post .boxL .box a:hover {
	color: #00b300;
}

body.home #post .boxL .box:nth-child(2) {
	width: 100%;
	display: block;
	text-decoration: none;
	border-top: 1px dashed #444444;
	border-bottom: 1px dashed #444444;
}

body.home #post .boxL .box a .date {
	font-size: 110%;
}

body.home #post .boxL .box a .title {
	font-size: 110%;
	margin: 5px 0 0;
}


/***** ブログ *****/
body.home #post .boxR {
	width: 49%;
	margin: 0 0.5%;
	float: left;
	overflow: hidden;
	position: relative;
}

body.home #post .boxR .in {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

body.home #post .boxR .box a {
	width: 100%;
	padding: 10px 0;
	display: block;
	text-decoration: none;
}

body.home #post .boxR .box a:hover {
	color: #00b300;
}

body.home #post .boxR .box:nth-child(2) {
	width: 100%;
	display: block;
	text-decoration: none;
	border-top: 1px dashed #444444;
	border-bottom: 1px dashed #444444;
}

body.home #post .boxR .box a .date {
	font-size: 110%;
}

body.home #post .boxR .box a .title {
	font-size: 110%;
	margin: 5px 0 0;
}



@media screen and (max-width: 800px) {

	body.home #post .boxL {
		width: 100%;
		margin: 0 0 30px;
		float: none;
		overflow: hidden;
	}

	body.home #post .boxR {
		width: 100%;
		margin: 0;
		float: none;
		overflow: hidden;
	}

}


/*---------------------------------
	予約相談
---------------------------------*/
#booking {
	width: 100%;
	padding: 50px 0 0;
	overflow: hidden;
	position: relative;
}

#booking .boxL {
	width: 40%;
	float: left;
}

#booking .boxL img {
	width: 100%;
	height: auto;
}

#booking .boxR {
	width: 60%;
	float: right;
	background-color: #fffafa;
}

#booking .boxR .in {
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	width: auto;
	padding: 30px;
	box-sizing: border-box;
}

#booking .boxR p {
	font-size: 110%;
}

#booking .boxR p span {
	color: #ff0000;
}

#booking .boxR .contact {
	width: 100%;
	margin: 30px 0 0;
	overflow: hidden;
}

#booking .boxR .box {
	width: calc(50% - 1%);
	float: left;
	margin: 0 0.5%;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
}

#booking .boxR .box:nth-child(1) {
	font-size: 230%;
	font-weight: bold;
	margin: 5px 0;
	padding: 7px 0;
	line-height: 0;
	text-align: left;
}

#booking .boxR .box:nth-child(1):before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 25px;
	margin: -5px 5px 0 0;
	background: url(images/tel.png) no-repeat;
	background-size: auto;
	background-size: 100% auto;
	vertical-align: middle;
}

#booking .boxR .box:nth-child(1) span {
	display: block;
	margin: 10px 0 0 24px;
	font-size: 40%;
}

#booking .boxR .box:nth-child(1) p {
	font-size: 40%;
	margin: 16px 0 0 30px;
	color: #ff0000;
}

#booking .boxR .box:nth-child(2) .btn-push {
	display: inline-block;
	/*max-width: 180px;*/
	text-align: left;
	background-color: #e95532;
	color: #FFF;
	text-decoration: none;
	font-weight: bold;
	padding: 15px 45px; /* 6px 15px */
	border-radius: 4px;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 4px solid #d21e1e;
}

#booking .boxR .box:nth-child(2) .btn-push:active {
	transform: translateY(4px);
	border-bottom: none;
}

/*
#booking .boxR .box:nth-child(2) a {
	background-color: #e95532;
	border-radius: 3px;
	display: block;
	padding: 15px;
	text-align: center;
	text-decoration: none;
}

#booking .boxR .box:nth-child(2) a.anime {
	display: block;
	text-decoration: none;
	color: #ffffff;
	text-align: center;
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, rgb(210, 30, 30) 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: all .3s ease 0s;
}

#booking .boxR .box:nth-child(2) a.anime:hover {
	cursor: pointer;
	color: #ffffff;
	background-position: -100% 0;
	box-sizing: border-box;
}
*/

@media screen and (max-width: 1000px) {

	#booking .boxL {
		display: none;
	}

	#booking .boxR {
		width: 100%;
		float: none;
	}

	#booking .boxR .in {
		position: static;
		top: 0;
		transform: translateY(0);
		padding: 20px;
	}

}


@media screen and (max-width: 800px) {

	#booking {
		padding: 0;
	}

}


@media screen and (max-width: 600px) {

	#booking .boxR .box {
		width: 100%;
		float: none;
		margin: 0 0 15px;
	}

	#booking .boxR .box:last-child {
		margin: 15px 0;
	}

}


@media screen and (max-width: 480px) {

	#booking .boxR .box:nth-child(1) {
		font-size: 210%;
	}

}


/*---------------------------------
	営業時間・定休日
---------------------------------*/
#hours_closed {
	width: 100%;
	padding: 50px 0;
	overflow: hidden;
}

#hours_closed dl {
	overflow: hidden;
	font-size: 110%;
}

#hours_closed dl dt {
	clear: both;
	float: left;
	width: 100px;
	color: #ffffff;
	padding: 3px 5px;
	text-align: center;
	border-radius: 3px;
	background-color: #d21e1e;
}

#hours_closed dl dd {
	padding: 3px 0;
	margin: 0 0 5px 120px;
}


@media screen and (max-width: 800px) {

	#hours_closed {
		padding: 0 0 50px;
	}

}


@media screen and (max-width: 600px) {

	#hours_closed dl dt {
		float: none;
	}

	#hours_closed dl dd {
		margin: 5px 0 15px;
	}

	#hours_closed dl dd:last-child {
		margin: 5px 0 0;
	}

}


/*---------------------------------
	取扱保険商品
---------------------------------*/
#product {
	width: 100%;
	padding: 50px 0;
	overflow: hidden;
	background: url(images/stripe.png) repeat;
}

#product ul {
	margin: 15px 0;
	overflow: hidden;
}

#product ul li {
	width: calc(25% - 6px);
	list-style: none;
	float: left;
	margin: 0 3px;
	background-color: #ffffff;
	box-sizing: border-box;
	position: relative;
}

#product ul li a {
	display: block;
	padding: 2px;
	border: 2px solid #dddddd;
}

#product ul li a::after {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: -5px 5px 0 0;
	background: url(images/link.png) no-repeat;
	background-size: 100% auto;
	vertical-align: middle;
	position: absolute;
	right: 0;
	bottom: 0;
}

#product ul li a:hover {
	border: 2px solid #13853b;
}

#product ul li a img {
	width: 100%; /* 80% */
	height: auto;
	margin: 0; /* 0 10% */
}

#product p.notice {
	color: #ff0000;
}


@media screen and (max-width: 800px) {

	#product {
		padding: 0 0 30px;
	}

}


@media screen and (max-width: 600px) {

	#product ul li {
		width: calc(50% - 6px);
		list-style: none;
		float: left;
		margin: 0 3px 15px;
		background-color: #ffffff;
		box-sizing: border-box;
	}

}

/*---------------------------------
	園の特徴
---------------------------------*/
.features {
	width: 100%;
	margin: 30px 0 30px;
	overflow: hidden;
}

.features .in {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

.features .box {
	width: calc(24% - 1%);
	margin: 0 0.5% 15px;
	float: left;
	text-align: center;
}

.features .box img {
	width: 100%;
	height: auto;
}

.features .box .title {
	font-size: 160%;
	font-weight: bold;
	padding: 5px;
	position: relative;
	bottom: 30px; /* 20px */
	display: inline-block;
	background-color: #ff0000;
	color:#ffffff;
}

.features .box .txt {
	padding: 5px;
	text-align: left;
	letter-spacing: 1.5px;
	line-height: 1.5;
}


@media screen and (max-width: 800px) {

	.features .in {
		width: 96%;
		margin: 0 2%;
	}

}


@media screen and (max-width: 480px) {

	.features .box {
		width: 100%;
		margin: 0 0 15px;
		float: none;
		text-align: center;
	}

}



/*---------------------------------
	ブログ
---------------------------------*/
#blog {
	width: 100%;
	overflow: hidden;
}

#blog .in {
	width: 100%;
	margin: 0 0 30px;
	clear: both;
	overflow: hidden;
}

#blog .box {
	width: 25%;
	float: left;
	padding: 0 5px;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
}

#blog .box a {
	display: block;
	text-decoration: none;
}

#blog .box a img {
	display: block;
	height: 100%;
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}

#blog .box a img:hover {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}

#blog .box a .imgbox {
	padding: 3px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
	overflow: hidden;
}

#blog .box a .imgbox.no {
	position: relative;
	height: auto;
	margin: 0;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}

#blog .box a .imgbox .noimg {
	position: absolute;
	top: 46%;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	text-align: center;
	vertical-align: middle;
}

#blog .box a p.date {
	margin: 5px 0 0;
	text-align: left;
	font-size: 120% !important;
	font-family: 'Economica', sans-serif;
}

#blog .box a p.title {
	text-align: left;
	font-size: 120% !important;
}

#blog .view {
	overflow: hidden;
	margin: 30px auto 0;
	max-width: 440px;
	width: 100%;
	clear: both;
}

#blog .view * {
	box-sizing: border-box;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}

#blog .view a {
	display: block;
	text-align: center;
	background-color: #dcdcdc;
	text-decoration: none;
	padding: 15px 10px;
	position: relative;
}

#blog .view a:before,
#blog .view a:after {
	position: absolute;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}

#blog .view a:after {
	padding: 15px 10px;
	position: absolute;
	top: 100%;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: attr(data-hover);
	color: #ffffff;
	white-space: nowrap;
	text-transform: uppercase;
	font-weight: bold;
}

#blog .view:hover a {
	transform: translateY(-100%);
}

#blog .view:hover {
	width: 100%;
	background-color: #13853b;
}


@media screen and (max-width: 768px) {

	#blog .box {
		width: 33.333%;
	}

}


@media screen and (max-width: 600px) {

	#blog .box {
		display: block;
		margin: 0 0 15px;
		padding: 0 5px;
		overflow: hidden;
		width: 50%;
		box-sizing: border-box;
		float: left;
	}

}


@media screen and (max-width: 480px) {

	#blog .box {
		display: block;
		margin: 0 0 15px;
		padding: 0 5px;
		overflow: hidden;
		width: 100%;
		box-sizing: border-box;
		float: none;
	}

}


/*---------------------------------
	事故時の連絡先
---------------------------------*/
#emergency {
	width: 100%;
	padding: 50px 0;
	background-color: #fffafa;
	overflow: hidden;
}

#emergency h2 {
	color: #d21e1e;
}

#emergency p.notice {
	color: #ff0000;
}

#emergency dl {
	overflow: hidden;
	font-size: 110%;
}

#emergency dl dt {
	clear: both;
	float: left;
	width: 310px;
	color: #404040;
	padding: 3px 0;
	text-align: left;
}

#emergency dl dd {
	padding: 3px 0;
	margin: 0 0 5px 320px;
}


@media screen and (max-width: 800px) {

	#emergency {
		padding: 30px 0;
	}

}


@media screen and (max-width: 600px) {

	#emergency dl dt {
		float: none;
	}

	#emergency dl dd {
		margin: 5px 0 15px;
	}

	#emergency dl dd:last-child {
		margin: 5px 0 0;
	}

}


/*---------------------------------
	アクセス
---------------------------------*/
#access {
	width: 100%;
	overflow: hidden;
	padding: 0 0 0px;
}



/*---------------------------------
	pagetop
---------------------------------*/
footer #page-top {
    position: fixed;
    bottom: -8px;
    right: 15px;
    font-size: 2.5em;
    z-index: 2;
}

footer #page-top a {
	color: #13853b;
	font-size: 140% !important;
	display: block;
}

footer #page-top a:hover {
	opacity: 0.7;
}


@media screen and (max-width: 360px) {

	footer #page-top {
	    bottom: 50px !important;
	}

}


/*---------------------------------
	footer
---------------------------------*/
footer {
	width: 100%;
	margin: 0px auto 55px;
	padding: 0 0 20px;
	box-sizing: border-box;
	background-color: #ffa200;
	/*
	position: absolute;
	bottom: -100px;
	*/
}


/* IE10以降 */
@media all and (-ms-high-contrast: none) {

	body.home footer {
		width: 100%;
		margin: 80px auto 55px;
		padding: 0 0 40px;
		box-sizing: border-box;
		background-color: #ffa200;
	}

}


/* Edge */
@supports (-ms-ime-align: auto) {

	footer {
		width: 100%;
		margin: 0px auto 55px;
		padding: 0 0 20px;
		box-sizing: border-box;
		background-color: #ffa200;
	}

}

footer nav {
	padding: 15px 0;
	background-color: #ffa200;
}

footer nav ul {
	width: 100%;
	font-size: 0;
	text-align: center;
}

footer nav ul li {
	/*width: 15%;*/
	display: inline-block;
	font-size: 14px;
	padding: 0 10px;
	border-right: 1px solid #dcdcdc;
	box-sizing: border-box;
}

footer nav ul li:first-child {
	border-left: 1px solid #dcdcdc;
}

footer nav ul li a {
	color: #ffffff;
}


/***** 日新火災バナー *****/
.bnr {
	width: 100%;
	padding: 10px 0 18px; /* 10px 0 */
	overflow: hidden;
	position: fixed;
	bottom: -10px;
	z-index: 1;
	border-top: 1px solid #ff6000;
	background-color: #ff8400;
}

.bnr ul {
	width: 100%;
	font-size: 0;
	text-align: center;
}

.bnr ul li {
	display: inline-block;
	padding: 0 5px 0 0;
}

.bnr ul li a {
	text-decoration: none;
	display: block;
}

.bnr ul li a img {
	width: 200px;
	height: auto;
}

.bnr ul li a img:hover {
	opacity: 0.8;
}


@media screen and (max-width: 480px) {

	.bnr ul li {
		display: inline-block;
		margin: 0 3px;
		padding: 0;
	}

	.bnr ul li a img {
		width: 140px;
	}

}


@media screen and (max-width: 479px) {

	.bnr ul li a img {
		width: 94px;
	}

}


@media screen and (max-width: 375px) {

	.bnr {
		bottom: -2px;
	}

}


/*
@media screen and (max-width: 360px) {

	.bnr ul li {
		margin: 0 4px;
	}

	.bnr ul li a img {
		width: 145px;
	}

}
*/


footer .flogo {
	width: 200px;
	float: left;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

footer .flogo a {
	display: block;
}

footer .flogo img {
	width: 100%;
	height: auto;
}

footer .contact_info {
	margin: 0 0 40px 220px;
	color: #ffffff;
}

footer .contact_info ul {
	width: 540px;
}

footer .contact_info ul li {
	float: left;
	margin: 0 15px 0 0;
}

footer .contact_info ul li:nth-child(4) {
	clear: both;
	margin: 0 15px 0 0;
}

address {
	font-style: normal;
	color: #ffffff;
	margin: 15px 0 0;
	text-align: center;
}


@media screen and (max-width: 1000px) {

	footer .inner {
		width: 100%;
		margin: 0;
		overflow: hidden;
	}

	footer nav ul li {
		/*width: 20%;*/
	}

	footer nav ul li a {
		font-size: 90%;
	}

}


@media screen and (max-width: 800px) {

	footer nav,
	footer .contact_info {
		display: none;
	}

	footer {
		width: 100%;
		padding: 0 0 80px;
	}

	footer .flogo {
		position: static;
		float: none;
		margin: 0 auto;
		text-align: center;
		top: 0;
		transform: translateY(0);
		padding: 0;
	}

	address {
		margin: 0;
		padding: 0;
	}

}