@charset "utf-8";
/* *******************************************************************

	CSS Information
		File Name: style.css

******************************************************************* */

/* [] message
-----------------------*/
#message {
	display: table;
	table-layout: fixed;
}
	@media screen and (max-width: 767px) {
		#message {
			display: block;
		}
	}

#message figure {
	display: table-cell;
	width: 244px;
	text-align: center;
}
	@media screen and (max-width: 767px) {
		#message figure {
			display: block;
			width: auto;
			margin-bottom: 8.4%;
		}
	}

#message figure img {
	width: 100%;
	height: auto;
	margin-bottom: 8px;
}
	@media screen and (max-width: 767px) {
		#message figure img {
			width: 122px;
		}
	}

#message figure figcaption {
	font-weight: 500;
}
#message .txt {
	display: table-cell;
	vertical-align: middle;
	padding-left: 30px;
}
	@media screen and (max-width: 767px) {
		#message .txt {
			display: block;
			margin: 0;
			padding: 0;
			text-align: justify;
			text-justify: inter-ideograph;
		}
	}

#message .txt h2 {
	width: 530px;
	height: 27px;
	margin-bottom: 24px;
	background-image: url(/img/top-message.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 530px auto;
	text-indent: -9999px;
}
	@media screen and (max-width: 767px) {
		#message .txt h2 {
			width: 265px;
			height: 36px;
			margin: 0 auto 24px auto;
			background-image: url(/img/top-message-sp.png);
			background-repeat: no-repeat;
			background-position: left top;
			background-size: 252px auto;
			text-indent: -9999px;
		}
	}



/* [] bnr
-----------------------*/
.bnr {
	padding-bottom: 20px;
}
.bnr.cta {
	margin: 0 0 8% 0;
	padding: 4%;
	background-color: #fff;
	overflow: hidden;
}
	@media screen and (max-width: 767px) {
		.bnr.cta {
			margin: 0 0 16% 0;
		}
	}

.bnr.cta .thumbs {
	width: 72px;
	height: auto;
	float: left;
}
	@media screen and (max-width: 767px) {
		.bnr.cta .thumbs {
			display: none;
		}
	}

.bnr.cta .txt {
	margin-left: 80px;
	text-align: center;
	font-weight: 400;
}
	@media screen and (max-width: 767px) {
		.bnr.cta .txt {
			margin: 0;
		}
	}

.bnr.cta .txt strong {
	display: block;
}
	@media screen and (max-width: 767px) {
		.bnr.cta .txt strong {
			color: #d70c18;
			font-size: 110%;
			font-weight: 500;
		}
	}

.bnr.cta .txt .fa-phone-square {
	color: #00346a;
	font-size: 24px;
	margin-right: 1%;
}
	@media screen and (max-width: 767px) {
		.bnr.cta .txt .fa-phone-square {
			font-size: 32px;
		}
	}

.bnr.cta .txt .tel {
	font-size: 24px;
	font-weight: 700;
	color: #00346a;
}
	@media all and (-ms-high-contrast:none){ /* IE10~ */
		.bnr.cta .txt .tel {
			letter-spacing: -2px;
		}
	}

	@media screen and (max-width: 767px) {
		.bnr.cta .txt .tel {
			font-size: 30px;
		}
	}

.bnr.cta .txt .time {
	display: block;
	font-size: 12px;
	color: #4b4b4b;
	letter-spacing: 0.04em;
}
.bnr.cta small {
	display: inline-block;
	padding: 2%;
	color: #5B5B5B;
}



/* [] list type
-----------------------*/
/** common **/
.list {
	overflow: hidden;
}
.list li {
	overflow: hidden;
	position: relative;
	transition: all ease-in-out 0.2s;
	-moz-transition: all ease-in-out 0.2s;
	-webkit-transition: all ease-in-out 0.2s;
	-o-transition: all ease-in-out 0.5s;
	-ms-transition: all ease-in-out 0.2s;
}
/*.list li a {
	color: #;
}*/


/** cols **/
/* 3cols */
.col3 li {
	width: 32%;
	float: left;
	margin: 0 2% 2% 0;
}
.col3 li:nth-child(3n) {
	margin-right: 0;
}
	@media screen and (max-width: 767px) {
		.col3 li { /* 一列になります */
			width: auto;
			float: none;
			margin: 0 0 3% 0;
		}
	}

/* 1cols */
.col1 li {
	width: auto;
	margin: 0 0 2% 0;
}


/** service **/
#service {
	background: #f8f7f0;
}
.list.service li {
	background-color: #fff;
	border-bottom: 5px solid #f1efe4;
}
	@media screen and (max-width: 767px) {
		.list.service li {
			display: table;
			table-layout: fixed;
			width: 100%;
			border-bottom: none;
			border-left: 5px solid #00346a;
		}
	}

.list.service li:hover {
	border-bottom: 5px solid #00346a;
}
	@media screen and (max-width: 767px) {
		.list.service li:hover {
			border-bottom: none;
		}
	}

.list.service li a {
	color: #212121;
}
.list.service li a:hover {
	text-decoration: none;
}

.list.service li .thumbs {
	display: block;
	width: 100%;
	height: auto;
	background: #00346a;
	overflow: hidden;
	position: relative;
}
	@media screen and (max-width: 767px) {
		.list.service li .thumbs {
			display: table-cell;
			width: 42%;
		}
	}

.list.service li .thumbs .more {
	opacity: 0;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	color: #fff;
	text-indent: -99999px;
	background-image: url(/img/ico-more.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 86px auto;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

.list.service li .thumbs img {
	width: 100%;
	height: auto;
	opacity: 1;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

.list.service li:hover .thumbs .more {
	opacity: 1;
}
.list.service li:hover .thumbs img {
	opacity: .4;
	transform: scale(1.03,1.03);
	-moz-transform: scale(1.03,1.03);
	-ms-transform: scale(1.03,1.03);
	-webkit-transform: scale(1.03,1.03);
}

.list.service li .txt {
	padding: 3.5%;
	text-align: center;
}
	@media screen and (max-width: 767px) {
		.list.service li .txt {
			/*margin-left: 110px;*/
			display: table-cell;
			width: auto;
			vertical-align: middle;
			padding: 0 3%;
			text-align: left;
		}
	}
	@media screen and (max-width: 767px) and (orientation: landscape) {
		.list.service li .txt {
			text-align: left;
		}
	}

.list.service li .txt h3 {
	font-size: 16px;
	font-weight: 400;
}
	@media screen and (max-width: 767px) {
		.list.service li .txt h3 {
			font-size: 13px;
		}
	}

.list.service li .txt .libre {
	font-size: 12px;
	color: #7E7E7E;
}
	@media screen and (max-width: 767px) {
		.list.service li .txt .libre {
			display: inline-block;
			font-size: 9px;
			line-height: 1;
		}
	}

/* detail */
.list.service.detail li {
	margin-bottom: 8%;
	border-top: 16px solid #00346a;
	border-bottom: none;
}
	@media screen and (max-width: 767px) {
		.list.service.detail li {
			width: 100%;
			border-top: 5px solid #00346a;
			border-left: none;
			/*border-bottom: none;*/
		}
	}

.list.service.detail li .thumbs {
	display: block;
	width: 100%;
	height: auto;
	background: #00346a;
	overflow: hidden;
	position: relative;
}
	@media screen and (max-width: 767px) {
		.list.service.detail li .thumbs {
			display: block;
			width: 100%;
			height: auto;
		}
	}

.list.service.detail li:hover .thumbs .more {
	opacity: 1;
}
.list.service.detail li:hover .thumbs img {
	opacity: 1;
	transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
}

.list.service.detail li .txt {
	display: block;
	width: 100%;
	padding: 2.4% 3.5%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fff;
	text-align: left;
}
	@media screen and (max-width: 767px) {
		.list.service.detail li .txt {
			/*display: block;
			width: auto;*/
			vertical-align: middle;
			/*padding: 0 3%;*/
			position: relative;
		}
	}

.list.service.detail li .txt h3 {
	display: inline-block;
	font-size: 30px;
	font-weight: 400;
}
	@media screen and (max-width: 767px) {
		.list.service.detail li .txt h3 {
			font-size: 18px;
		}
	}

.list.service.detail li .txt p {
	padding: 1.6% 0 0 0;
	font-size: 16px;
}
	@media screen and (max-width: 767px) {
		.list.service.detail li .txt p {
			padding: 5% 0 0 0;
			font-size: 15px;
		}
	}

.list.service.detail li .s-top {
	display: inline-block;
	float: right;
	padding: 8px;
	background: #fff;
	border: 1px solid #001B53;
	color: #001B53;
	/*position: absolute;
	bottom: 16px;
	right: 16px;*/
	margin-top: 2%;
	font-weight: 500;
}
.list.service.detail li .s-top:hover {
	background: #001B53;
	color: #fff;
}


/** latest **/
aside.latest {
	padding: 40px;
}
	@media screen and (max-width: 767px) {
		aside.latest {
			padding: 12% 6.5%;
			background: #edf2f7;
		}
	}

.list.latest li {
	margin-bottom: 4.5%;
}
.list.latest li .date {
	color: #696969;
	font-size: 12px;
	font-weight: 500;
}
	@media screen and (max-width: 767px) {
		.list.latest li .date {
			color: #696969;
		}
	}

.list.latest li a {
	color: #00346a;
}
	@media screen and (max-width: 767px) {
		.list.latest li a {
			color: #00346a;
		}
	}

.list.latest li a .txt {
	font-size: 85%;
	text-align: justify;
	text-justify: inter-ideograph;
}

/* archive */
aside.archive {
	padding: 40px;
}
	@media screen and (max-width: 767px) {
		aside.archive {
			padding: 12% 6.5%;
			background: #f8f7f0;
		}
	}

.list-archive {
	background-image: url(/img/bg-dot-normal.png);
	background-repeat: repeat-x;
	background-position: left bottom;
}
.list-archive dt {
	font-weight: bold;
	color: #00346a;
	line-height: 2.4;
	background-image: url(/img/bg-dot-normal.png);
	background-repeat: repeat-x;
	background-position: left top;
	cursor: pointer;
}
.list-archive dt span {
	display: block;
	padding: 1% 1% 1% 7%;
	background-image: url(/img/fa-caret-right.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 4px auto;
}
.list-archive dt span:hover {
	color: #fff;
	background-image: url(/img/fa-caret-right-gray.png);
	background-color: #00346a;
}
.list-archive dd > ul {
	padding-bottom: 3%;
}
.list-archive dd > ul li a {
	display: block;
	padding: 1.5% 3% 1.5% 12%;
}
	@media screen and (max-width: 767px) {
		.list-archive dd > ul li a {
			padding: 3% 3% 3% 12%;
		}
	}

.list-archive dd > ul li:hover {
	text-decoration: underline;
}
.list-archive a {
	display: block;
	color: #00346a;
}
.list-archive a:hover {
	text-decoration: none;
}



/* article */
.list.article li {
	padding: 2% 0;
	background-image: url(/img/bg-dot-normal.png);
	background-repeat: repeat-x;
	background-position: left bottom;
}
	@media screen and (max-width: 767px) {
		.list.article li {
			padding: 6% 0;
		}
	}

.list.article li .date {
	color: #00346a;
	line-height: 18px;
	font-weight: 500;
}
.list.article li .label {
	margin: 0 1%;
}
	@media screen and (max-width: 767px) {
		.list.article li .label {
			margin: 0 2.4%;
			font-size: 12px;
		}
	}

.list.article li a {
	color: #4a4a4a;
}
.list.article li a .txt {
	padding: 1% 0;
	display: table-cell;
	text-align: justify;
	text-justify: inter-ideograph;
}

.list.article li a .txt h3 {
	color: #212121;
}
	@media screen and (max-width: 767px) {
		.list.article li a .txt h3 {
			/*font-size: 12px;*/
			padding-top: 3%;
			overflow : hidden;
			text-overflow: ellipsis;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 3;
		}
	}




/* [] single
-----------------------*/
.single {
	background: #fff;
}

.post-head {
	padding: 0 0 3.2% 0;
	margin-bottom: 4.6%;
	border-bottom: 5px solid #00346a;
}
	@media screen and (max-width: 767px) {
		.post-head {
			padding: 0 0 8% 0;
		}
	}

.post-head h1 {
	margin-bottom: 3%;
	font-size: 240%;
	font-weight: 500;
	line-height: 1.2;
}
	@media screen and (max-width: 767px) {
		.post-head h1 {
			margin-bottom: 8%;
			font-size: 140%;
		}
	}

.post-head .date {
	display: block;
	margin-bottom: 3%;
	color: #00346a;
	line-height: 1;
}
	@media screen and (max-width: 767px) {
		.post-head .date {
			color: #a6a6a6;
			font-weight: 300;
			font-size: 100%;
		}
	}

.post-head .sns {
	overflow: hidden;
}
.post-head .sns li {
	margin-right: 5px;
	display: inline-block;
	float: left;
}

.single .thumb-1 {
	margin-bottom: 3%;
	position: relative;
}
	@media screen and (max-width: 767px) {
		.single .thumb-1 {
			margin-bottom: 8%;
		}
	}

.single .thumb-1.nm {
	margin-bottom: 0;
}
.single .thumb-1 img {
	max-width: 100%;
}
.single .thumb-1 img.forbidden {
	  width: 100%;
	  height: 90%;
	  position:absolute;
	  top: 0;
	  left: 0;
	  z-index: 1;
}
.single .thumb-1 figcaption {
	padding: 1%;
	color: #a6a6a6;
	font-size: 80%;
}

.post-body {
	margin-bottom: 5%;
	padding-bottom: 5%;
	line-height: 1.6;
	text-align: justify;
	text-justify: inter-word;
	background-image: url(/img/bg-dot-normal.png);
	background-repeat: repeat-x;
	background-position: left bottom;
}
	@media screen and (max-width: 767px) {
		.post-body {
			margin-bottom: 12%;
			padding-bottom: 12%;
		}
	}

.post-body > section .inner {
	padding: 16px;
}
	@media screen and (max-width: 767px) {
		.post-body > section .inner {
			padding: 3%;
		}
	}

.post-body p {
	margin: 0 0 1.55% 0;
}

.post-relate {
	margin: 0 0 40px 0;
	overflow: hidden;
	*zoom: 1;
}
	@media screen and (max-width: 767px) {
		.post-relate {
			margin: 0;
		}
	}

.post-relate .relate-cnt {
	float: left;
	width: 48.9%;
	margin-right: 16px;
}
	@media screen and (max-width: 767px) {
		.post-relate .relate-cnt {
			float: none;
			width: auto;
			margin: 0;
		}
	}

.post-relate .relate-cnt:last-child {
	margin: 0;
}


/* [] pager
-----------------------*/
.pageView {
	margin: 5% 0;
	text-align: center;
	overflow: hidden;
}
.pageView li {
	display: inline-block;
	color: #fff;
	font-size: 14px;
	line-height:14px;
	padding: 5px 7px;
	margin: 0 2px;
}

li.pgg_first a,
li.pgg_last a {
	color: #717171;
}
	@media screen and (max-width: 767px) {
		li.pgg_first,
		li.pgg_last {
			display: none;
		}
	}

li.pgg_first .fa-backward {
	margin: 0 5px 0 0;
}
li.pgg_last .fa-forward {
	margin: 0 0 0 5px;
}


li.pgg_previous {
	padding:5px 0 5px 30px;
}
li.pgg_next {
	padding:5px 30px 5px 0;
}
	@media screen and (max-width: 767px) {
		li.pgg_previous,
		li.pgg_next{
			margin: 0;
			padding: 3%;
			width: 30%;
			border: 1px solid #ccc;
			font-size: 120%;
		}
		li.pgg_previous:hover,
		li.pgg_next:hover{
			background: #F1F1F1;
		}
		li.pgg_previous {
			float: left;
			text-align: left;
		}
		li.pgg_next {
			float: right;
			text-align: right;
		}
	}

li.pgg_previous a,
li.pgg_next a {
	display: block;
	color: #717171;
}
/*@media screen and (max-width: 767px) {
	li.pgg_previous a,
li.pgg_next a {
	color: #717171;
}
}*/

li.pgg_first:hover a,
li.pgg_last:hover a,
li.pgg_previous:hover a,
li.pgg_next:hover a {
	color: #00346a;
	text-decoration: none;
}

li.pgg_previous .fa-angle-left,
li.pgg_next .fa-angle-right {
	color: #00346a;
	font-size: 130%;
}
	@media screen and (max-width: 767px) {
		li.pgg_previous .fa-angle-left,
		li.pgg_next .fa-angle-right {
			margin: 0 4%;
		}
	}

li.pgg_on {
	background: #00346a;
}
	@media screen and (max-width: 767px) {
		li.pgg_on {
			display: none;
		}
	}

li.pgg_on a {
	color:#aaa;
}
li.pgg {
	background: #d4d4d4;
	color: #2f2f2f;
}
	@media screen and (max-width: 767px) {
		li.pgg {
			display: none;
		}
	}

/*li.pgg span,
li.pgg_on span {
	font-family: 'Oswald', sans-serif;
}*/
li.pgg a {
	color: #2f2f2f;
	display: block;
}
li.pgg a:hover {
	text-decoration: none;
}



/* [] ボックス
-----------------------*/
.box-attent {
	margin: 2% 0;
	padding: 24px;
	line-height: 1.3;
	font-size: 85%;
	background: #f3f3f3;
}
	@media screen and (max-width: 767px) {
		.box-attent {
			padding: 5%;
		}
	}

.box-attent .ttl {
	margin: 0 0 1% 0;
}
	@media screen and (max-width: 767px) {
		.box-attent .ttl {
			text-align: center;
		}
	}

.box-attent ul {
	margin-left: 3%;
}
	@media screen and (max-width: 767px) {
		.box-attent ul {
			margin-left: 5%;
		}
	}

.box-attent ul li {
	list-style-type: disc;
}



/* [] google map
-----------------------*/
#map {
	width: 100%;
	height: 450px;
}
	@media screen and (max-width: 767px) {
		#map {
			height: 200px;
		}
	}



/* [] エラーメッセージ
-----------------------*/
.error {
	margin: 2% 0;
	padding: 24px;
	background: #fff5f1;

}
	@media screen and (max-width: 767px) {
		.error {
			padding: 4%;

		}
	}

.error ul {
	overflow: hidden;
}
.error ul li {
	margin-bottom: 3px;
	color: #AA0002;
}
.error ul li .fa {
	margin: 0 0.5em 0 0;
}

