@charset "utf-8";

h2.page-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0.1rem;
    margin: 0 auto 20px;
    border-bottom: solid 2px #000;
}
h3.sidebar-title {
    font-size: 16px;
    border-bottom: solid 2px #333;
    /* border-left: solid 4px #9e9e9e; */
    /* background-color: #f2f2f2; */
    padding: 0 0 10px 0;
    /* line-height: 100%; */
    font-weight: 600;
    margin: 0 0 20px 0;
}
h3.sidebar-title:first-child{ margin-top:0px;}

.sidebar-cont{ margin:0 auto 24px;}
.sidebar-cont ul{}
.sidebar-cont ul li{ margin-bottom: 10px;}
.sidebar-cont ul li a{ text-decoration:none; color:#000;}

.sidebar-cont ul li a.cat-item-midashi {
    font-weight: 700;
    display: block;
    margin-bottom: 16px;
    border: solid 1px #000;
    padding: 14px 10px 10px;
    line-height: 1;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}

.sidebar-cont ul ul.children{ /*margin: 6px 0 0 6px;*/ margin:0; }
.sidebar-cont ul ul.children li{  display: table-row;}
.sidebar-cont ul ul.children li:before {
    content: "•";
    display: table-cell;
    padding-right: 0.4em;
}
.sidebar-cont ul ul.children li:after {
    content: "";
    display: block;
    margin-bottom: 0.5em;
}

ul.st-tag-cloud li{
	display: table-row;
}

ul.st-tag-cloud li:before {
    content: "•";
    display: table-cell;
    padding-right: 0.4em;
}
ul.st-tag-cloud li:after {
    content: "";
    display: block;
    margin-bottom: 0.5em;
}

/*-----制作事例／お知らせ-----*/

.boxNews{ margin:0 auto 60px; }
.boxNews ul{ overflow:hidden; margin:0 -3.3333% -3.3333% 0; }
@media only screen and (max-width: 600px){ .boxNews ul{ margin:0 -5% -5% 0; }}
.boxNews ul li{ width:30%; margin:0 3.3333% 3.3333% 0; float:left;}
@media only screen and (max-width: 600px){ .boxNews ul li{ width:45%; margin:0 5% 5% 0; }}

.works-photo{ margin-bottom:20px; }
.works-photo img{ height: 220px; object-fit: cover; object-position: 50% 50%; border: solid 6px #ccc;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important; }
@media only screen and (max-width: 600px){ .works-photo img{ height:150px; border: solid 4px #ccc;} }
.works-name{ margin-bottom:10px;}
.works-name:last-child{ margin-bottom:16px;}
.works-name span{
    display: block;
    margin-bottom: 10px;
}
.works-name span em {
    font-size: 12px;
    padding: 6px 14px 3px;
    font-weight: 600;
    display: inline-block;
    background-color: #eee;
    border-radius: 16px;
    /* color: #fff; */
	}
@media only screen and (max-width: 600px){ .works-name span em{ font-size: 11px;}}
.works-name p{
	font-size:15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	}
.works-name a{ display:inline-block; text-decoration:none; color:#333; pointer-events: none; font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;}
.works-btn{}
.works-btn a {
	display:inline-block;
	background: rgb(76,200,174);
    background: linear-gradient(90deg, rgba(76,200,174,1) 0%, rgba(127,206,221,1) 100%);
    color: #fff;
    border-radius: 16px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    padding: 6px 16px 4px;
}
@media only screen and (max-width: 600px){ .works-btn a{ font-size:13px; }}

.works-lnk{ margin:0 auto; text-align:center;}
.works-lnk ul {
    display: flex;
    justify-content: space-between;
    width: 400px;
    margin: 0 auto;
}
@media only screen and (max-width: 600px){ .works-lnk ul{ width:90%;}}
.works-lnk ul li{
	display: flex;
    width: 46%;
    flex-direction: column;
    justify-content: center;
    vertical-align: middle;
    border: 5px solid #91cbcd;
    border-image: linear-gradient(to right, #7fc7ad 0%, #8ccad9 100%);
    border-image-slice: 1;}
.works-lnk ul li a {
    position: relative;
    font-size: 18px;
    font-weight: 600;
    padding: 10px 0 10px 70px;
    text-align: left;
    display: block;
}
@media only screen and (max-width: 600px){ .works-lnk ul li a { font-size:14px; padding: 10px 0 10px 52px;}}
.works-lnk ul li a:before {
    position: absolute;
    content: '';
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
    width: 51px;
    height: 42px;
    top: 50%;
    transform: translate(-60px, -50%);
    z-index: 10;
}
@media only screen and (max-width: 600px){
	.works-lnk ul li a:before{
		width: 40px;
    	height: 33px;
		transform: translate(-44px, -50%);
		}
	}
.works-lnk ul li:first-child a:before{  background-image: url(../img/works/works-lnk1.png); }
.works-lnk ul li:last-child a:before{  background-image: url(../img/works/works-lnk2.png); }
.works-lnk ul li a:hover {
    /*background-color: #feffef;
    transition: all 0.3s ease 0s;
	color:#333;*/
}
.works-lnk ul li a span {
    /*padding: 0 80px 0 0;*/
}

/*-----新着記事一覧-----*/

.new-list li{ display: block; margin: 0; border-bottom: 1px solid #f2f2f2;}
.new-list li:first-child{ margin:0 0 0 0 !important; }
.new-list li:last-child{ border:none !important; }
.new-list li img{ width:100%; height:100px; object-fit: cover; }

.new-list-cont{ overflow:hidden; margin:16px auto;}
.new-list-cont-l{ float:left; width:35%; font-size:0;}
.new-list-cont-r{ float:right; width:60%;}
.new-list-cont-r p{ display:block; margin:0 0 6px 0;}
.new-list-cont-r p:last-child{ margin:0 0 0 0 !important;}

.new-data{ font-size: 11px; margin: 0 0 4px 0; color: #ccc; font-weight: 600;}
.new-title{ color:#333; font-size: 1.4rem; line-height:100%; font-weight: 600;}

.new-category {
   display: block;
   text-align: right;
   font-size: 12px;
   font-weight: 600;
   background-color: #DD4453;
   color: #fff;
   margin: 5px 10px 10px 0;
   padding: 2px 15px;
   float: right;
}
.new-category a,
.new-category a:hover {
   color: #fff !important;
}
.new_excerpt { font-size: 1.2rem; line-height: 1.8rem;}

/*-----一覧ページ-----*/


.box-list{
	overflow: hidden;
    /*border-bottom: solid 1px #d8d8d8;
    margin: 0 auto 30px;
    padding: 0 0 30px 0;*/
	}
a.box-list-lnk {
    color: #333;
	display: block;
    border-bottom: solid 1px #ccc;
    padding: 0 0 30px 0;
    margin: 0 0 30px 0;
}
a:last-child.box-list-lnk{ border:none;}
.list-l-thum{ float:left; width:30%; margin:0 5% 0 0;}
.list-l-thum-photo{ overflow:hidden; position: relative;}
.list-l-thum-photo img {
    height: 140px;
    object-fit: cover;
	object-position: 50% 50%;
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.list-r-txt{ float:right; width:65%;}
.list-r-txt-title{ font-size:18px; font-weight:bold; line-height:140%; }
.list-r-txt-diary{ font-size:14px; /*font-weight:bold; color:#999;*/ }
.list-r-txt-cont{
	font-size:14px;
	position: relative;
	height: 100px;
	overflow: hidden;
	line-height:180%;
	letter-spacing: 1px;
}

.list-r-txt-cont:before, .list-r-txt-cont:after { position: absolute; background: #fff;}
.list-r-txt-cont:before { content: "･･･"; bottom: 0; right: 0; color:#333;}
.list-r-txt-cont:after { content: ""; width: 100%; height: 100%;}
.list-r-txt-btn{ text-align:right;}
.list-r-txt-btn a {
    font-weight: bold;
    font-size: 12px;
    border: solid 1px #cccccc;
    padding: 4px 24px 2px;
    display: inline-block;
    background-color: #fff;
    color: #191919;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    position: relative;
}
.list-r-txt-btn a:before {
    font-weight: normal;
    position: absolute;
    font-size: 15px !important;
    line-height: normal;
    top: 6px;
    right: 3px;
    font-family: 'Material Icons';
    content: 'keyboard_arrow_right';
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    color: #000;
}
.list-r-txt-btn a:hover { background-color: #191919; color: #fff;}
.list-r-txt-btn a:hover:before{ color:#fff;}
.list-r-txt div{ margin:0 auto 12px;}

/*-----投稿ページ-----*/

#basic-cont{ width:1024px; margin: 42px auto 42px; overflow:hidden;}
#basic-cont .basic-l-cont{ width:760px; float:left;}
#basic-cont .basic-r-cont{ width:230px; float:right;}

h2.list-title {
    font-size: 20px;
    /* border: solid 2px #000; */
    background-color: #efefef;
    /* display: inline-block; */
    padding: 12px 16px 12px 16px;
    border-radius: 6px;
    margin-bottom: 30px;
    /* margin: 0 0 6px 0; */
    /* color: #ccc; */
    font-weight: 600;
    /* background: #ccc; */
}

h2.page-title {
    font-size: 26px;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0.1rem;
    padding: 0 0 16px 0;
    margin: 0 auto 30px;
}

.page-cont{
    font-size: 17px;
    line-height: 1.8;
    /*letter-spacing: 0.1em;*/
    text-align: justify;
    text-justify: auto;
}
.page-cont p{ margin:0 0 24px 0;}
.page-cont p a{ text-decoration:underline; color:#000;}
.page-cont p a:hover{ text-decoration:none;}
.page-data {
    font-size: 14px;
    /* border: solid 2px #000; */
    background-color: #efefef;
    display: inline-block;
    padding: 7px 15px 5px;
    border-radius: 6px;
    margin-bottom: 20px;
    /* margin: 0 0 6px 0; */
    /* color: #ccc; */
    font-weight: 600;
}
.page-photo-thumnail{ width:100%; margin:0 auto 24px; text-align: center;}
.page-photo-thumnail img{
	width:auto;
	height:auto;
	max-width:100%;
	max-height:100%;
	}
.page-navigation{ overflow:hidden; margin: 36px auto 0;}
.page-navigation div a {
	font-weight: 600;
    text-decoration: none;
    font-size: 14px;
    border: solid 1px #cccccc;
    padding: 8px 24px 6px;
    display: inline-block;
    background-color: #fff;
    color: #191919;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	position:relative;
	line-height: 100%;
}
.page-navigation div a:hover{ background-color:#191919; color:#fff;}
.page-navigation-l{ float:left;}
.page-navigation div.page-navigation-l a:before {
    font-weight: normal;
    position: absolute;
    font-size: 15px !important;
    line-height: normal;
    top: 6px;
    left: 3px;
    font-family: 'Material Icons';
    content: 'keyboard_arrow_left';
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    color: #000;
}
.page-navigation div.page-navigation-l a:hover:before{ color:#fff;}
.page-navigation-r{ float:right;}
.page-navigation div.page-navigation-r a:before {
    font-weight: normal;
    position: absolute;
    font-size: 15px !important;
    line-height: normal;
    top: 6px;
    right: 3px;
    font-family: 'Material Icons';
    content: 'keyboard_arrow_right';
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    color: #000;
}
.page-navigation div.page-navigation-r a:hover:before{ color:#fff;}

hr.page-line{
	border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    margin: 60px auto;
    text-align: center;
    width: 100%;}

.box-categorytag{ overflow:hidden; text-align:right; }
.box-categorytag p{ /*float:left; margin:0 6px 0 0;*/}
.box-categorytag p:last-child{ margin:0;}
.ic-basic{ font-size:18px !important; /*vertical-align: middle !important;*/ color: #cccccc !important; margin:0 6px 0 0 !important; }

.ic-category{ font-size: 14px;/*margin: 0 auto; font-size:12px;*/}
.ic-category a {
    font-size: 14px;
    text-decoration: none;
    color: #333;
	font-weight:600;
    /*background-color: #4cc8ae;
     font-weight: bold; */
    display: inline-block;
    /*padding: 3px 10px 2px;
    margin: 0 6px 0 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;*/
}
.ic-category a:hover{ color:#ccc;}
.ic-tag a {
    font-size: 14px;
    text-decoration: none;
    color: #333;
    border: solid 1px #cccccc;
    font-weight: bold;
    display: inline-block;
    padding: 2px 10px 1px;
    margin: 0 6px 0 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.ic-tag a:hover{ background-color: #e4e4e4;}

/*-----関連記事-----*/

.box-relation{ width:100%; margin:0 auto 36px; padding:0;}
.box-relation ul{ overflow:hidden; margin:0 -3.3333% 0 0;}
.box-relation ul li{ float:left; width:30%; margin:0 3.3333% 3.3333% 0;}
.box-relation ul li div{ margin:0 auto 12px;}
.box-relation ul li div:last-child{ margin:0 auto 0;}
.box-relation ul li div.relation-title{
     max-width: 100%;
	 text-overflow: ellipsis;
     white-space: nowrap;
     overflow: hidden;
     display: inline-block;
     vertical-align: middle;}
.box-relation ul li a{ font-size:13px; color: #000;}
.box-relation ul li div.relation-photo img{
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
	object-fit: cover;
	height:140px;}

/*-----ページネーション-----*/

.pager{ text-align:center;}
@media only screen and (max-width: 600px){ .pager{ margin-bottom:40px;}}
.pager a{ text-decoration:none; }
a.page-numbers, .pager .current {
    color: #000;
	border:solid 1px #000;
    /*border: solid 1px rgb(230, 230, 230);*/
	/*border-radius: 24px;*/
    padding: 8px 10px;
    line-height: 1;
    margin: 0 2px;
    display: inline-block;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
.pager .current{
	/*border-radius: 24px;*/
	background:rgba(0,0,0,1);
	border:solid 1px #000;
	/*border:solid 1px rgba(0,0,0,1);*/
	color:rgba(255,255,255,1);
	display:inline-block;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
a.page-numbers:hover{ background-color:#eee; }

/*-----引用符-----*/

blockquote {
    position: relative;
    padding: 30px 25px 25px 50px;
	margin: 0 auto 24px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
blockquote:before{ display: inline-block; position: absolute; top: 10px; left: -3px; content: "“"; font-family: sans-serif; color: #cfcfcf; font-size: 90px; line-height: 1;}
blockquote p:last-child{ margin:0 auto 0;}
blockquote cite { display: block; text-align: right; color: #888888; font-size: 0.9em; margin:10px 0 0 0;}

/*-----SNSボタン設置-----*/

.fa-hatena:before { font-family: Verdana; font-weight: bold; content: 'B!'; }
 
.share {
  /*margin-top: 40px;
  margin-bottom: 40px;*/
  margin:24px auto;
}
 
.share ul{ margin: 0 -1% 0 0; padding: 0; list-style: none;}
.share ul:after { display: block; clear: both; content: '';}
.share li{ float: left; margin: 0 1% 0 0;}
.share li a{
	font-size: 14px;
	display: inline-block;
	padding: 5px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}
.share li a img{ width:25px; }
.share li a:hover{ opacity: .8; }
.share li a:visited { color: #fff; }
.tweet a{ background-color: #55acee; }
.facebook a{ background-color: #315096; }
.googleplus a{ background-color: #dd4b39; }
.line a{ background-color: #00b900;}
.hatena a{ background-color: #008fde;}

/*-----ウィジェット＿カレンダー-----*/

#sidebar .widget_calendar { margin-bottom: 40px; }
table#wp-calendar {
        table-layout: fixed;
        width: 100%;
        margin: 0 auto 30px;
        padding: 0;
        border-collapse: collapse;
        border-spacing: 0;
        font-size: 12px;
	}
table#wp-calendar caption {
    padding: 8px 0 5px;
    width: auto;
    text-align: center;
    font-weight: bold;
    background-color: #fff;
    border-bottom: solid 1px #ccc;
    border-top: solid 1px #ccc;
    -moz-border-radius: 3px 3px 0 0;
}

table#wp-calendar #today { display: block; font-weight: bold; color: #ddb628; z-index: 1;}
table#wp-calendar .pad { font-weight: bold; }
table#wp-calendar th,
table#wp-calendar td { padding: 2px auto; vertical-align: middle; text-align: center;}
table#wp-calendar td{ line-height: 1.8; background-color: #fff; padding: 5px;}
table#wp-calendar th{ font-style: normal; font-weight: 600; color: #2e3233; padding: 8px 5px 5px 5px;}
table#wp-calendar a{ font-size: 12px; color: #2e3233; padding: 0; display: block; padding: 4px 0 1px 0; background-color: #ddb628;}

/*-----グーグルマップ-----*/

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*-----プラグイン書き換え-----*/

#npcatch img { padding: 0 10px 0 0 !important; }
#npcatch li { border-bottom: solid 1px #e5e5e5; margin: 0 0 16px 0 !important; }
#npcatch li:last-child{ border-bottom:none;}
#npcatch li a { color: #333; padding:0 !important; margin: 0 0 16px 0 !important;}
#npcatch li a span.title{ font-size: 14px; line-height:120%; }
#npcatch li a span.title:hover{ text-decoration:underline;}
#npcatch li a span.title span.date{ display:block; font-size: 11px; margin: 4px 0 0 0;}

span.wpcf7-not-valid-tip { font-weight: bold !important; }
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
    border: 2px solid #ffafbf !important;
    color: #f00;
    font-size: 16px;
    line-height: 160%;
    font-weight: bold;
    background-color: #fff1f1;
    display: inline-block;
    margin: 0 auto !important;
    padding: 14px 16px 10px !important;
    width: 100%;
    text-align: center;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
select.wpcf7c-conf, input.wpcf7c-conf, textarea.wpcf7c-conf { background-color: #e4e4e4 !important; color: #333 !important; border: 1px solid #d6c897 !important;}
.wpcf7c-conf{ background-color: #e8f0fe !important; }
.wpcf7c-btn-back{
	font-size: 16px;
    background-color: #fff;
    border: none;
    text-decoration: underline;
    margin: 16px auto 30px;
	cursor: pointer;}
.wpcf7c-btn-back:hover{ text-decoration:none;}
.form-kakunin-title {
    font-size: 20px;
    font-weight: bold;
    color: #191919 !important;
    padding: 16px;
    background-color: #e6e6e6;
	position:relative;
}
.form-kakunin-title:after {
    position: absolute;
    content: '▼';
    left: 50%;
    bottom: -20px;
    line-height: normal;
    color: #e6e6e6;
    z-index: 10;
    display: inline-block;
    transform: translate(-50%, 0);
    font-style: normal;
    font-size: 16px;
}
div.wpcf7-mail-sent-ok {
    text-align: center;
    border: 2px solid #f7e700 !important;
    color: #675206;
    font-size: 16px;
    line-height: 160%;
    font-weight: bold;
    background-color: #fff9e5;
    display: inline-block;
    margin: 16px auto !important;
    padding: 14px 16px 10px !important;
    width: 100%;
    text-align: center;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
div.wpcf7-response-output {
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}

/*-----ウィジェットメニュー関連-----*/

.menu-navimenu-container{}
.menu-navimenu-container ul#menu-navimenu{ border: solid 1px #e5e5e5; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}
.menu-navimenu-container ul#menu-navimenu li{ border-bottom: solid 1px #e5e5e5; }
.menu-navimenu-container ul#menu-navimenu li:last-child{ border-bottom:none;}
.menu-navimenu-container ul#menu-navimenu li a{ color:#333; padding:16px 12px 12px 12px; font-size: 14px; line-height:160%; display:block;}
.menu-navimenu-container ul#menu-navimenu li a:hover{ background-color:#333; color:#fff;}

@media only screen and (max-width: 1024px) {
	
#basic-cont {width: 90%;}
#basic-cont .basic-l-cont { width: 65%; }
#basic-cont .basic-r-cont { width: 30%;}

}

@media only screen and (max-width: 768px) {
	
#basic-cont .basic-l-cont { width: 100%; display: block; }
#basic-cont .basic-r-cont { width: 100%; display: block; }

}

@media only screen and (max-width: 480px) {
	
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing{ font-size:12px; }
.form-kakunin-title { font-size: 12px;}

/*-----投稿ページ-----*/

.page-cont p br{ display:none;}

/*-----関連記事-----*/

.box-relation ul li div.relation-photo img { height:auto;}

}
