@charset "utf-8";
/*
Theme Name: responsive_090
Theme URI: http://c-tpl.com/
Description: responsive_090
Version: 1.0
Author: Cloud template
Author URI: http://c-tpl.com/
Tags: simple

	Cloud template v1.0
	 http://c-tpl.com/

	This theme was designed and built by Cloud template,
	whose blog you will find at http://c-tpl.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
font:80%/1.5 "Lucida Sans Unicode", "Lucida Grande", Arial, YuGothic, 'Yu Gothic', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
color:#252525;
-webkit-text-size-adjust: none;
/*background:url(images/bg.png);*/
}

section{
margin-top: 1em;
overflow: hidden;
}


/* リンク設定
------------------------------------------------------------*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#777;
}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline: none;
color:#999;
}


/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], input[type="email"], input[type="tel"], input[type="text"], textarea{
vertical-align:middle;
width:90%;
line-height:30px;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:100%;
color:#555;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
padding:3px 10px;
background: #2a588b;
background: -webkit-gradient(linear, left top, left bottom, from(#2a588b),to(#214a78));
background: linear-gradient(to bottom, #2a588b 0%,#214a78 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2a588b', endColorstr='#214a78',GradientType=0 );
border:0;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
line-height:1.5;
font-size:100%;
color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #2a588b;
background: -webkit-gradient(linear, left top, left bottom, from(#214a78),to(#2a588b));
background: linear-gradient(to bottom, #214a78 0%,#2a588b 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#214a78', endColorstr='#2a588b',GradientType=0 );
}

*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
margin:0 auto;
width:960px;
font-size: 14px;
}

#header{
overflow:hidden;
background:#fff;
}

#content{
float:left;
width:710px;
padding:30px 0;
}

#sidebar{
float:right;
width:225px;
padding:30px 0;
}

#footer{
clear:both;
padding-top:20px;
background:#efefef;
} 


/* ヘッダー
*****************************************************/
#header .bg{background:#eeeeee;}


/* サイト説明文 + 住所
----------------------------------*/
#header h1,#header p{
float:left;
padding:3px 0;
color: #000;
font-size:80%;
font-weight:normal;
}

#header p{
float:right;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
clear:both;
float:left;
padding:30px 0;
color: #515151;
font-size:160%;
font-weight:bold;
}

/* サブナビゲーション
----------------------------------*/


#header #head_right{
padding-top:20px;
float:right;
}

#header #head_right p{
font-size: 13px;
font-weight: 600;
}

#header #head_right p strong{
font-size: 20px;
font-weight:100;
}

#header ul{
clear: both;	
}

#header ul li{
display:inline;
margin-left:10px;
font-size:90%;
}

#header ul li a{
padding-left:10px;
color:#252525;
background:url(images/arrowSub.png) no-repeat 0 50%;
}

#header ul li a:hover{background-position:3px 50%;}


/* トップページ　メイン画像
----------------------------------*/
#mainImg{
clear:both;
margin-top:25px;
line-height:0;
text-align:center;
z-index:0;
}

.post{
margin:0 0 20px 0;
padding:10px;
border:1px solid #dadada;
background: #fff;
}


/* タイポグラフィ
*****************************************************/
h2.title{
clear:both;
margin:30px 0 0;
padding:7px 10px;
font-size:120%;
font-weight:600;
border:1px solid #dadada;
border-bottom:0;
background:#fff url(images/border.png) repeat-x 0 100%;
}

h2.first{margin-top:0;}

.dateLabel{
margin:0 0 10px;
text-align:right;
font:italic 1em "Palatino Linotype", "Book Antiqua", Palatino, serif;
}


.post article{
padding-top:15px;
border-bottom:1px solid #dadada;
}

.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:100%;
color: #252525;
border-bottom:3px solid #ccc;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
color: #333;
border-bottom:2px solid #515151;
}

.post h3{
margin:10px 0;
font-size:120%;
font-weight:normal;
color:#214a78;
border-bottom:1px solid #515151;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
width: 100%;
border: 1px #ccc solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:7px 10px 7px 5px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
font-weight:bold;
background:#EBF0F5;
}

.post table td{
padding:7px 5px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
padding:4px;
margin:0 0 2px 7px;
display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}



/* サイドバー　ウィジェット
*****************************************************/
section.widget, .widgetInfo{
margin: 0 0 20px;
padding: 10px 7px;
border:1px solid #dadada;
background: #fff;
}

#banners img{
max-width:225px;
height:auto;
padding-bottom:10px;
}

section.widget h3{
clear:both;
margin:0 0 10px;
padding:5px 0;
font-size:110%;
font-weight:bold !important;
color: #333;

border-bottom:1px dotted #ccc;
}

section.widget a{

display:block;
padding:3px 0 3px 13px;
text-decoration:underline;
background:url(images/arrow.png) no-repeat 0 50%;
}

section.widget a:hover{
text-decoration:none;
background-position: 3px 50%;
}

#searchform input[type="text"]{
line-height:1.7;
height:24px;
width:100px;
vertical-align:bottom;
}


/* お知らせ　
-------------*/
.newsTitle{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:100%;
color: #333;
border-bottom:1px dotted #ccc;
}

.newsTitle h3{
float:left;
font-weight:bold;
}

.newsTitle p{
float:right;
padding:0 0 0 10px;
font-size:.8em;
background:url(images/arrow.png) no-repeat 0 50%;
}

.news p{
clear:both;
padding-bottom:2px;
border-bottom: 1px dotted #ccc;
}

.news p:last-child{border:0;}

.news p a{
display:block;
padding:5px 0;
color:#333;
font-style:italic;
font:italic 110% "Palatino Linotype", "Book Antiqua", Palatino, serif;
}

.news a span{
color:#515151;
font:normal 90% Arial, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
    text-decoration: underline;
}

.news a:hover span{
text-decoration: none;	
}

.news span{padding-left:10px;}

.news a:hover span{color:#777;}



/* フッター
*****************************************************/
#footer .inner div{
	text-align: center;
	margin-bottom: 15px;	
}

#footer ul{
padding-bottom:30px;
font-size:85%;
text-align: center;
}

#footer ul li{
display:inline-block;
vertical-align:text-top;
text-align:left;
padding:5px 0;
margin-right:60px;
background:url(images/arrow.png) no-repeat 0 12px;
}

#footer ul li	a{
display:block;
padding:0 0 0 12px;
overflow:hidden;
}

#footer ul li	a:hover{text-decoration:underline;}

#footer ul li li{
display:block;
padding:0;
margin:0 0 0 10px;
background-position:0 5px;
}


*:first-child+html #footer ul li{display:inline;}
*:first-child+html #footer ul ul,*:first-child+html #footer ul li li a,*:first-child+html #footer ul li li{display:none;}

#copyright{
clear:both;
padding:10px;
text-align:center;
font-size:75%;
zoom:1;
color:#fff;
background:#2b2b2b;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
height: 30px;
margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
color:#2a588b;
text-align:center;
}


/* トップページ 最新記事3件
------------------------------------------------------------*/
.thumbWrap{
width:735px;
margin:20px -25px 20px 0;
}

.thumbWrap li{
float:left;
width: 220px;
margin:0 25px 0 0;
padding:2px 0 40px;
background:none;
}

/* 最新記事リンク */
ul.thumb h3{
margin-top:10px;
padding:1px;
font-weight:normal;
font-size:100%;
text-align:center;
background:#fff;
border:1px solid #dadada;
}

ul.thumb h3 span{
display:block;
padding:2px 3px;
background:#fff;
}

ul.thumb h3 a{color:#252525;}

ul.thumb h3:hover span{background:#f3f3f3;}



/* サブページ用CSS
------------------------------------------------------------*/

/*  免許テーブル  */

.license td{
text-align: center;
}

/*　Googleマップ　*/

#gmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
#gmap iframe,
#gmap object,
#gmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/*　お問い合わせ　*/

#form table{
width: 100%;	
}

#form table th span{
float:right;
padding: 3px 5px;	
background-color: #f00;
border-radius: 3px;
font-size: 12px;
color: #fff;
}

#form dl dd span.wpcf7-list-item{
	margin-top:5px;
}

.privacy{
	margin-bottom:15px;
	padding: 15px;
	background-color: #f5f5f5;
	border: 3px solid #ccc;
	text-align: center;
}

.privacy h4{
	font-size: 20px;
	font-weight: bold;
	margin-bottom:15px;	
}

.privacy p{
	padding-bottom: 5px;	
}

.btn{
	text-align: center;	
}

.t_center{
	text-align: center;	
}

/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1025px){
nav#mainNav{
clear:both;
position:relative;

z-index:200;
background:#199ad6;
}

nav#mainNav ul li{
float: left;
position: relative;
border-right:1px solid #68bbe2;
width: 158px;
}

nav#mainNav ul li:first-child{border-left:1px solid #68bbe2;}

nav#mainNav ul li a{
display: block;
text-align: center;
_float:left;
color:#fff;
height:40px;
line-height:40px;
padding:15px 0 5px;
}

nav#mainNav ul li a span,nav#mainNav ul li a strong{
display:block;
font-size: 100%;
font-weight: 600;
line-height:1.4;
}

nav#mainNav ul li a span{
font-size:70%;
font-weight: 100;
color:#116890;
}

nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a{
background:#178cc2;
}

nav#mainNav ul ul{width:160px;}

nav#mainNav ul li ul{display: none;}

nav#mainNav ul li:hover ul{
display: block;
position: absolute;
top:60px;
left:-2px;
z-index:500;
}

nav#mainNav ul li li{
padding:0 0 0 10px;
margin:0;
float: none;
height:40px;
line-height:40px;
width:160px;
background:#178cc2;
border:0;
border-bottom:1px solid #68bbe2;
}

nav#mainNav ul li li:first-child{border-left:0;}

nav#mainNav ul li li a{
width:100%;
height:40px;
padding:0;
line-height:40px;
font-size:95%;
text-align:left;
}

nav#mainNav ul li li a span{padding:0 10px;}

nav#mainNav ul li li a:hover,nav#mainNav ul li li.current-menu-item a{color:#dbf4ff;}

nav#mainNav ul li:hover ul li:last-child{border:0;}

nav div.panel{
display:block !important;
float:left;
}
  
a#menu{display:none;}

}

/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
	nav#mainNav{
	clear:both;
	width:98%;
	margin:10px auto;
	border:1px solid #d5d5d5;
	}
	
	nav#mainNav a.menu{
	width:100%;
	display:block;
	height:37px;
	line-height:37px;
	font-weight: bold;
	text-align:left;
  background:#fff url(images/menuOpen.png) no-repeat 5px 8px;
	}
	
	nav#mainNav a#menu span{padding-left:35px;}
	
	nav#mainNav a.menuOpen{
	background:#fff url(images/menuOpen.png) no-repeat 5px -34px;
	}
	
	nav#mainNav a#menu:hover{cursor:pointer;}
	
	nav .panel{
	display: none;
	width:100%;
	position: relative;
	right: 0;
	top:0;
	z-index: 1;
	}

	nav#mainNav ul{margin:0;padding:0;}

	nav#mainNav ul li{
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1.2;
	}

	nav#mainNav ul li:first-child{border-top:1px solid #d5d5d5;}
	nav#mainNav ul li li:first-child{border-top:0;}

	nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
	display: block;
	padding:15px 10px;
	text-align:left;
	border-bottom:1px dashed #ccc;
	background:#fff;
	}
	
	nav#mainNav ul li:last-child a{border:0;}
	nav#mainNav ul li li:last-child a{border:0;}
	nav#mainNav ul li li:last-child a{border-bottom:1px dashed #ccc;}

 	nav#mainNav ul li a span{display:none;}
 
	nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:hover,nav#mainNav ul li.current-menu-item a,nav#mainNav ul li a:active, nav#mainNav ul li li.current-menu-item a, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li.current-menu-item li a:active{
	background:#f6f6f6;
	}

	nav#mainNav ul li li{
	float:left;
	border:0;
	}

	nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a, nav#mainNav ul li li.current-menu-item a{
  padding-left:40px;
	background:#fff url(images/sub1.png) no-repeat 20px 18px;}

	nav#mainNav ul li li.current-menu-item a,nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover{
		background:#f6f6f6 url(images/sub1.png) no-repeat 20px -62px;}
	
	nav#mainNav ul li li:last-child a{background:#fff url(images/subLast.png) no-repeat 20px 20px;}
	nav#mainNav ul li li:last-child.current-menu-item a,nav#mainNav ul li li:last-child a:hover,nav#mainNav ul li.current-menu-item li:last-child a:hover{background:#f6f6f6 url(images/subLast.png) no-repeat 20px -65px;}
	
	nav div.panel{float:none;}
	
	#mainImg{margin-bottom:20px;}
}


/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
  #wrapper, #header, .inner{width:100%;}

	#header h1, #header p{padding:5px 10px;}
	#header h2{padding:20px 10px 0;}
	#header ul{padding:20px 10px 10px;}


	nav#mainNav ul, .thumbWrap{margin:0 auto;}
	nav#mainNav ul ul{padding:0;}

	nav div.panel{float:none;}
	
	#mainImg img{width:98%;height:auto;}

	#content, #sidebar{
	clear:both;
	width:95%;
	float:none;
	margin:0 auto;
	padding:10px 0;
	}
	
	#banners{width:100%;margin:0 auto;text-align:center;}
	#banners p{/*display:inline;*/margin:0 10px;}
  #banners p img{width:100%;height:auto;}
	
	section.widget_search{text-align:center;}

	#footer{margin:0;border:0;text-align:center;}
	
	#footer ul{	text-align:center;	}
	#footer ul li{margin-right:20px;}
	
	.thumbWrap{
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	width:100%;
	margin:0 auto;
	padding-top:20px;
	overflow:auto;
  border:1px solid #dadada;
	}
	.thumbWrap ul.thumb li{width:30%; float:left;margin:0 1% 0 2%;}
  .thumbWrap img{width:100%;height:auto;}
}


/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px){
	#header{text-align:center;}
	#header h1,#header p{float:none;}
	#header h2,#header ul{float:none;}
	#headerInfo{width:250px;margin:0 auto;}
	img.alignright, img.alignleft{display: block;	margin:5px auto;}
	.alignright,.alignleft{float:none;}
	#footer ul{text-align:left;padding:15px;}
	#footer ul ul{padding:0;}
	#head_right{
		display: none;	
	}
	.spn_br{
		display: none;	
	}
}


/*----------------------------------------------------------*/

/************************************************
    フォント
*************************************************/

/*  源ノ明朝
------------------------------------------------*/
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 100;
    src: url(font/NotoSerifCJKjp-ExtraLight.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 200;
    src: url(font/NotoSerifCJKjp-Light.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 400;
    src: url(font/NotoSerifCJKjp-Regular.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 500;
    src: url(font/NotoSerifCJKjp-Medium.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 600;
    src: url(font/NotoSerifCJKjp-SemiBold.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 700;
    src: url(font/NotoSerifCJKjp-Bold.otf) format('opentype');
}
@font-face {
    font-family: 'Noto Serif Japanese';
    font-style: normal;
    font-weight: 900;
    src: url(font/NotoSerifCJKjp-Black.otf) format('opentype');
}

/************************************************
    Reset
*************************************************/
img {
    max-width: 100%;
    height: auto;
}

/************************************************
    br
*************************************************/
br {
    opacity: 0; /* IE・Edge対策 */
}
.br-sp {
    display: inline;
}
.br-pc {
    display: none;
}

/************************************************
    サイドバー
*************************************************/
.side-access {
    font-family: YuGothic, 'Yu Gothic';
    font-weight: bold;
    letter-spacing: 0;
    max-width: 175px;
    background-color: #dbeaf9;
    padding: 0 25px 20px;
    border-radius: 5px;
    margin: 1em auto 20px;
}

.side-access__title {
    text-align: center;
    background-color: #5999d3;
    padding: 9.5px 0;
    margin: 0 -25px 15px;
}

.side-access__title img {
    vertical-align: middle;
}

.side-access h4 {
    line-height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 2px 0 3px;
}

.side-access h4::before {
    content: '';
    display: block;
    width: 35px;
    height: 35px;
    background: #fff no-repeat center;
    border-radius: 50%;
    margin-right: 12px;
}

.side-access h4.side-access__tel__title::before {
    background-image: url(images/icon_access_tel.png);
    background-size: 20px auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .side-access h4.side-access__tel__title::before {
        background-image: url(images/icon_access_tel@2x.png);
    }
}

.side-access h4.side-access__mail__title::before {
    background-image: url(images/icon_access_mail.png);
    background-size: 18px auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .side-access h4.side-access__mail__title::before {
        background-image: url(images/icon_access_mail@2x.png);
    }
}

.side-access p {
    text-align: center;
}

.side-access a {
    color: #5999d3;
    display: block;
    width: 100%;
    height: 100%;
}

.side-access__tel__content {
    font-size: 24px;
}

.side-access__mail__content {
    line-height: 30px;
    width: 150px;
    height: 30px;
    margin: 10px auto 0;
}

/* IE */
_:-ms-lang(x)::-ms-backdrop,
.side-access__mail__content {
    line-height: 36px;
}

.side-access__mail__content a {
    background-color: #fff;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.side-access__mail__content a:hover {
    color: #fff;
    background-color: #5999d3;
}

.side-access__mail__content a::before {
    content: '';
    display: inline-block;
    border-top: 6.5px solid transparent;
    border-bottom: 6.5px solid transparent;
    border-left: 12px solid #5999d3;
    margin-right: 2px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.side-access__mail__content a:hover::before {
    border-left-color: #fff;
}

.side-access__mail__content span {
    vertical-align: top
}

/************************************************
    キービジュアル
*************************************************/
.keyVisual--page {
    color: #fff;
    font-weight: bold;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 90vw;
    max-height: 300px;
    background: no-repeat center / cover;
    padding: 0 2%;
}

.keyVisual--newlybuilt {
    background-image: url(images/bg_keyVisual_newlybuilt.jpg);
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .keyVisual--newlybuilt {
        background-image: url(images/bg_keyVisual_newlybuilt@2x.jpg);
    }
}

.keyVisual--reform {
    background-image: url(images/bg_keyVisual_reform.jpg);
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .keyVisual--reform {
        background-image: url(images/bg_keyVisual_reform@2x.jpg);
    }
}

.keyVisual--barrierfree {
    background-image: url(images/bg_keyVisual_barrierfree.jpg);
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .keyVisual--barrierfree {
        background-image: url(images/bg_keyVisual_barrierfree@2x.jpg);
    }
}

.keyVisual--watersupply {
    background-image: url(images/bg_keyVisual_watersupply.jpg);
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .keyVisual--watersupply {
        background-image: url(images/bg_keyVisual_watersupply@2x.jpg);
    }
}

.keyVisual--page__title {
    font-size: 13px;
    font-size: calc(7px + 1.9vw);
    letter-spacing: 0.2em;
    line-height: calc(44 / 26);
    display: inline-block;
    padding-left: 0.2em;
    margin-bottom: 14px;
}

.keyVisual--page__title span {
    line-height: 1.4;
    display: inline-block;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(45%, #366289));
    background: linear-gradient(transparent 45%, #366289 45%);
    padding-left: 0.2em;
}

.keyVisual--page__content {
    font-size: 12px;
    font-size: calc(11px + 0.3vw);
    letter-spacing: 0.05em;
    line-height: 2.14285;
    line-height: calc(30 / 14);
    text-align: left;
}

/************************************************
    home-intro
*************************************************/
.home-intro {
    font-weight: bold;
    text-align: center;
    background: url(images/bg_home_intro.png) no-repeat left bottom / cover;
    padding: 0 2% 20%;
    margin: 15px 0 30px;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .home-intro {
        background-image: url(images/bg_home_intro@2x.png);
    }
}

.home-intro__title {
    font-size: 20px;
    font-size: calc(18px + 0.8vw);
    letter-spacing: 0.2em;
    line-height: 1.3;
    display: inline-block;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(45%, #89bae7));
    background: linear-gradient(transparent 45%, #89bae7 45%);
    padding-left: 0.2em;
    margin-bottom: 20px;
}

.home-intro__content {
    letter-spacing: 0.05em;
    line-height: 2.14285;
    line-height: calc(30 / 14);
    text-align: left;
}

/************************************************
    info
*************************************************/
.info {
    overflow: hidden;
    margin-bottom: 30px;
}

.info a {
    color: #fff;
    display: block;
}

.info img {
    vertical-align: bottom;
}

.info__tel {
    text-align: center;
    background: url(images/bg_info_tel.png) no-repeat right center / auto 100%;
    border: 6px solid #5a99d3;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .info__tel {
        background-image: url(images/bg_info_tel@2x.png);
    }      
}

.info__tel a {
    margin: -6px;
}

.info__tel img {
    width: 85%;
    max-width: 365px;
    padding: 26px 0 27px;
}

.info__address,
.info__mail {
    color: #fff;
    font-family: YuGothic, 'Yu Gothic';
    font-size: 3vw;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
    width: 50%;
    float: left;
}

@media screen and (min-width: 667px) {
    .info__address,
    .info__mail {
        font-size: 20px;
    }
}

.info__address div,
.info__mail div {
    background: no-repeat center 21px / 50px auto;
    padding: 81px 0 27px;
}

/* IE */
@media all and (-ms-high-contrast: none) {
    .info__address div,
    .info__mail div {
        padding: 84px 0 24px;
    }
}

.info__address div {
    background-color: #3e658a;
    background-image: url(images/icon_address.png);
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .info__address div {
        background-image: url(images/icon_address@2x.png);
    }
}

.info__mail div {
    background-color: #384a5c;
    background-image: url(images/icon_mail.png);
    -webkit-transition: all .3s;
    transition: all .3s;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .info__mail div {
        background-image: url(images/icon_mail@2x.png);
    }
}

.info__mail a:hover div {
    color: #fff;
    opacity: 0.9;
}

/************************************************
    home-service
*************************************************/
.home-service {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", 'Noto Serif Japanese', serif;
    overflow: hidden;
    margin-bottom: 10px;
}

.home-service__item {
    width: 100%;
    height: 250px;
    background: no-repeat center / cover;
}

@media screen and (min-width: 768px) {
    .home-service__item {
        width: 50%;
        float: left;
    }
}

.home-service a {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
}

.home-service a::before {
    content: '';
    width: 100%;
    height: 100%;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: absolute;
    left: 0;
    top: 0;
}

.home-service a:hover::before {
    background-color: rgba(0,0,0,.3);
}

.home_service__newlybuilt { background-image: url(images/home_service_newlybuilt.jpg); }
.home_service__reform { background-image: url(images/home_service_reform.jpg); }
.home_service__barrierfree { background-image: url(images/home_service_barrierfree.jpg); }
.home_service__wwconst { background-image: url(images/home_service_wwconst.jpg); }

.home-service__item__title {
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-bottom: 30px;
    position: relative;
}

.home-service__item__more {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 38px;
    text-align: center;
    width: 184px;
    height: 38px;
    border: 1px solid #fff;
    border-radius: 20px;
    -webkit-transition: all .3s;
    transition: all .3s;
    position: relative;
}

/* IE */
_:-ms-lang(x)::-ms-backdrop,
.home-service__item__more {
    line-height: 42px;
}

.home-service__item a:hover .home-service__item__more {
    color: #000;
    background-color: #fff;
}

/************************************************
    serviceMenu
*************************************************/
.serviceMenu {
    padding-top: 30px;
    margin-bottom: 30px;
}

.serviceMenu__title {
    font-size: 15px;
    font-size: calc(14px + 0.4vw);
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    max-width: 400px;
    padding: 6px 0;
    border-top: 1px solid #5999d3;
    border-bottom: 1px solid #5999d3;
    margin: 0 auto 50px;
    position: relative;
}

.newlybuilt .serviceMenu__title {
    max-width: 460px;
}

.watersupply .serviceMenu__title {
    max-width: 530px;
}

.serviceMenu__title span {
    display: inline-block;
}

.serviceMenu__title::after {
    content: '';
    display: block;
    position: absolute;
    bottom: -21px;
    left: 0;
    right: 0;
    margin: auto;
}

.newlybuilt .serviceMenu__title::after {
    width: 150px;
    height: 10px;
    background: url(images/servicemenu_title_newlybuilt.png) no-repeat center / cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .newlybuilt .serviceMenu__title::after {
        background-image: url(images/servicemenu_title_newlybuilt@2x.png);
    }
}

.reform .serviceMenu__title::after {
    width: 154px;
    height: 10px;
    background: url(images/servicemenu_title_reform.png) no-repeat center / cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .reform .serviceMenu__title::after {
        background-image: url(images/servicemenu_title_reform@2x.png);
    }
}

.barrierfree .serviceMenu__title::after {
    width: 151px;
    height: 10px;
    background: url(images/servicemenu_title_barrierfree.png) no-repeat center / cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .barrierfree .serviceMenu__title::after {
        background-image: url(images/servicemenu_title_barrierfree@2x.png);
    }
}

.watersupply .serviceMenu__title::after {
    width: 150px;
    height: 10px;
    background: url(images/servicemenu_title_watersupply.png) no-repeat center / cover;
}
@media screen and (-webkit-min-device-pixel-ratio: 2),
       screen and (min-resolution: 2dppx) {
    .watersupply .serviceMenu__title::after {
        background-image: url(images/servicemenu_title_watersupply@2x.png);
    }
}

.serviceMenu__list {
    counter-reset: number 0;
    overflow: hidden;
}

.serviceMenu__item {
    display: block;
    background: no-repeat top / contain;
    padding-top: 45.0704%;
    padding-top: calc(100% * 160 / 355);
    position: relative;
    -webkit-transition: all .3s;
    transition: all .3s;
}

@media screen and (min-width: 640px) {
    .serviceMenu__item {
        width: 50%;
        padding-top: 22.5352%;
        padding-top: calc(100% * 160 / 355 / 2);
        float: left;
    }
}

/*.serviceMenu__item a {
    display: block;
    padding-top: 45.0704%;
    padding-top: calc(100% * 160 / 355);
    margin-top: -45.0704%;
    margin-top: calc(100% * 160 / 355 * -1);
}*/

a.serviceMenu__item:hover {
    opacity: 0.5;
}

.serviceMenu__item::before {
    content: '';
    display: block;
    border-top: 70px solid #5999d3;
    border-right: 70px solid transparent;
    position: absolute;
    left: 0;
    top: 0;
}

.serviceMenu__item::after {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero);
    color: #fff;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", 'Noto Serif Japanese', serif;
    font-size: 20px;
    position: absolute;
    left: 11px;
    top: 5px;
}

.newlybuilt--onestory { background-image: url(images/newlybuilt_onestory.jpg); }
.newlybuilt--twostory { background-image: url(images/newlybuilt_twostory.jpg); }

.reform--kitchen { background-image: url(images/reform_kitchen.jpg); }
.reform--bath { background-image: url(images/reform_bath.jpg); }
.reform--toilet { background-image: url(images/reform_toilet.jpg); }
.reform--roof { background-image: url(images/reform_roof.jpg); }
.reform--twofamily { background-image: url(images/reform_twofamily.jpg); }
.reform--renovation { background-image: url(images/reform_renovation.jpg); }

.barrierfree--entrance { background-image: url(images/barrierfree_entrance.jpg); }
.barrierfree--bath { background-image: url(images/barrierfree_bath.jpg); }
.barrierfree--toilet { background-image: url(images/barrierfree_toilet.jpg); }
.barrierfree--stairs { background-image: url(images/barrierfree_stairs.jpg); }

.watersupply--WaterworksAndSewagesystem { background-image: url(images/watersupply_WaterworksAndSewagesystem.jpg); }
.watersupply--septictank { background-image: url(images/watersupply_septictank.jpg); }

.serviceMenu__name {
    color: #000;
    letter-spacing: 0.1em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 50px;
    background-color: #ececec;
    -webkit-transition: all .3s;
    transition: all .3s;
}

/*a.serviceMenu__item:hover .serviceMenu__name {
    color: #000;
}*/

.barrierfree .serviceMenu__name {
    height: 70px;
}

.serviceMenu__item:nth-child(odd) .serviceMenu__name {
    background-color: #d7d6d6;
}

@media screen and (min-width: 640px) {
    .serviceMenu__item:nth-child(odd) .serviceMenu__name {
        background-color: #ececec;
    }

    .serviceMenu__item:nth-child(4n) .serviceMenu__name,
    .serviceMenu__item:nth-child(4n+1) .serviceMenu__name {
        background-color: #d7d6d6;
    }
}

.serviceMenu__name__main {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", 'Noto Serif Japanese', serif;
    font-size: 17px;
    font-size: calc(16px + 0.2vw);
    margin-bottom: 3px;
}

.serviceMenu__name__sub {
    font-size: 9px;
    font-size: calc(9px + 0.3vw);
    font-weight: 500;
}

/************************************************
    serviceNote
*************************************************/
.serviceNote {
    text-align: center;
    -webkit-box-shadow: 0 0 10px rgba(7,1,2,.24);
    box-shadow: 0 0 10px rgba(7,1,2,.24);
    padding: 1.5em 1em;
    margin-bottom: 30px;
}

.serviceNote__title {
    margin-bottom: 10px;
}

.serviceNote__title img {
    width: 100%;
}

.newlybuilt .serviceNote__title img { max-width: 461px; }
.reform .serviceNote__title img { max-width: 597px; }
.barrierfree .serviceNote__title img { max-width: 567px; }
.watersupply .serviceNote__title img { max-width: 461px; }

.serviceNote__content {
    font-weight: 500;
    line-height: 1.85714;
    line-height: calc(26 / 14);
    text-align: left;
}

/************************************************
    事業案内
*************************************************/
#post-2.content a section {
    -webkit-transition: all .3s;
    transition: all .3s;
}

#post-2.content a:hover section {
    opacity: 0.7;
}



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

/************************************************
    br
*************************************************/
.br-sp {
    display: none;
}
.br-pc {
    display: inline;
}

/************************************************
    キービジュアル
*************************************************/
.keyVisual--page__content {
    text-align: center;
}

/************************************************
    home-intro
*************************************************/
.home-intro__content {
    text-align: center;
}

/************************************************
    serviceNote
*************************************************/
.serviceNote__content {
    text-align: center;
}

} /* 768px以上 */





@media screen and (min-width: 960px) {



/************************************************
    キービジュアル
*************************************************/
.keyVisual--page__title {
    font-size: 26px;
    margin-bottom: 14px;
}

.keyVisual--page__content {
    font-size: 14px;
}

/************************************************
    home-intro
*************************************************/
.home-intro {
    background-size: contain;
    padding-bottom: 130px;
}

.home-intro__title {
    font-size: 26px;
    margin-bottom: 10px;
}

/************************************************
    info
*************************************************/
.info__address,
.info__mail {
    font-size: 20px;
}

/************************************************
    serviceMenu
*************************************************/
.serviceMenu__title {
    font-size: 18px;
}

.serviceMenu__name__main {
    font-size: 18px;
}

.serviceMenu__name__sub {
    font-size: 12px;
}



} /* 960px以上 */