/*-------------------------------------------------
  Nucleus CMS Stylesheet - bundled with version 3.2
  Based on the Stanch skin by Ivan Fong
  Mods by hcgtv and moraes
-------------------------------------------------*/

/*-------------------------------------------------
  General layout
-------------------------------------------------*/



body
{
	background: url();
	color: #333333; /*要変更　基本の文字色　デザイン提案書のカラーに合わせる*/
	font-family:"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";
	font-size: 16px;
	padding: 0px 0;
	margin: 0;
	-webkit-text-size-adjust: 100%;

	/*Noto Sans Japanese*/
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
}

.wf-hannari { font-family: "Hannari"; }

/*-------------------------------------------------
  追加CSSは以下へ
-------------------------------------------------*/
/* 問合せフォーム　エラーメッセージ */
.formError {
    z-index: 111111111 !important;
}

/*タグリストの仕切り「|」の表示非表示はここでコントロール*/
.tag_divider{
	display: ;
}

h1,h2,h3,h4,h5,h6,p {
	margin: 0;
}


.is-sp {
	display: none !important;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.is-pc {
		display: none !important;
	}

	.is-sp {
		display: block !important;
	}
}

.lcp-img {
    position: absolute;
    width: 100%;
    max-width: 2000px;
    /* height: calc(90vh - 95px); */
	height: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
}

@media screen and (max-width: 750px) {
	.lcp-img {
		/* height: auto; */
		height: calc(100vh - 75px);
		z-index: -1;
	}
}

/* aboutとworksの背景画像 */
.bg_about-works {
	position: relative;
	background: url(images/bg_about-works.jpg) no-repeat center top / cover;
}

.bg_about-works::before {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 27%;
	background: #fff;
}

/* about */
.about {
	padding: min(110px, calc(110/1180*100vw)) 0 min(80px, calc(80/1180*100vw));
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about {
		padding: calc(90/750*100vw) 0 calc(45/750*100vw);
	}
}

.about_inner {
	display: flex;
	justify-content: space-between;
	max-width: 2000px;
	margin-inline: auto;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about_inner {
		display: block;
	}
}

.about_img01 {
	width: 39.5%;
	padding-left: 0.6%;
	box-sizing: border-box;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about_img01 {
		width: 100%;
		padding-left: 0;
		padding-bottom: calc(90/750*100vw);
	}
}

.about_img01 img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.about_text {
	flex: 1;
	padding: 0 1% 0 3.8%;
	box-sizing: border-box;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about_text {
		padding: 0 4%;
	}
}

.about_sub-title {
	margin-top: min(50px, calc(50/1180*100vw));
	font-size: 20px;
	font-weight: 500;
	color: #968526;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about_sub-title {
		margin-top: calc(30/750*100vw);
		font-size: max(18px, calc(20/750*100vw));
	}
}

.about_title {
	margin-top: min(30px, calc(30/1180*100vw));
	line-height: 1.75;
	letter-spacing: 0.05em;
	font-weight: 500;
	font-size: clamp(18px, calc(32/2000*100vw), 32px);
	color: #055633;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about_title {
		margin-top: calc(30/750*100vw);
		font-size: calc(32/750*100vw);
	}
}

.about_desc {
	margin-top: min(60px, calc(60/1180*100vw));
	line-height: 1.75;
	font-size: 18px;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.about_desc {
		margin-top: calc(70/750*100vw);
		font-size: max(14px, calc(18/750*100vw));
	}
}

.about_img02 {
	width: 22%;
}

.about_img02 img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

@media screen and (max-width:1300px){ /*スマホサイズ*/
	.about_img02 {
		display: none;
	}
}

/* works */
.works {
	padding: 0 0 min(110px, calc(110/1180*100vw));
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.works {
		padding: 0 4% calc(90/750*100vw);
	}
}

/* news */
@media screen and (max-width:750px){ /*スマホサイズ*/
	.news {
		padding-inline: 4%;
	}
}

/* strength */
.strength {
	margin-top: min(120px, calc(120/1180*100vw));
	padding: 35px min(30px, calc(30/1180*100vw)) min(150px, calc(150/1180*100vw));
	background: url(images/bg_strength.jpg) no-repeat center center / cover;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength {
		padding: calc(74/750*100vw) 4% calc(82/750*100vw);
		background: url(images/bg_strength_sp.jpg) no-repeat center center / cover;
	}
}

.strength_item01 {
	display: flex;
	flex-direction: row-reverse;
	margin-top: min(80px, calc(80/1180*100vw));
	box-shadow: 0 0 10px 0px rgb(0 0 0 / 30%);
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item01 {
		flex-direction: column;
		margin-top: calc(90/750*100vw);
	}
}

.strength_item01 + .strength_item01 {
	margin-top: 24px;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item01 + .strength_item01 {
		margin-top: 30px;
	}
}

.strength_item_img {
	width: 32%;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item_img {
		width: 100%;
		aspect-ratio: 4/3;
		overflow: hidden;
	}
}

.strength_item_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.strength_item_text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	padding: 20px min(80px, calc(80/1180*100vw)) 20px min(60px, calc(60/1180*100vw));
	box-sizing: border-box;
	background: #fff;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item_text {
		padding: calc(90/750*100vw) 5% calc(60/750*100vw);
		box-sizing: border-box;
		background: #fff;
	}
	.strength_item_text.is-sp {
		padding: calc(30/750*100vw) 5% calc(90/750*100vw);
	}
}

.strength_item_desc {
	margin-top: min(20px, calc(20/1180*100vw));
	line-height: 1.75;
	font-size: clamp(14px, calc(18/1180*100vw), 18px);
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item_desc {
		font-size: clamp(12px, calc(24/750*100vw), 24px);
	}

	.strength_item_desc.is-sp {
		margin-top: 0;
	}
}

.strength_item_title {
	line-height: 1.66;
	font-size: min(30px, calc(30/1180*100vw));
	font-weight: 500;
	color: #055633;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item_title {
		line-height: 1.75;
		font-size: clamp(14px, calc(32/750*100vw), 32px);
	}
}

.strength_item02 {
	margin-top: 24px;
	padding: min(95px, calc(95/1180*100vw)) 0;
	text-align: center;
	background: #fff;
	box-shadow: 0 0 10px 0px rgb(0 0 0 / 30%);
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02 {
		margin-top: 30px;
		padding: calc(90/750*100vw) 0 calc(80/750*100vw);
	}
}

.strength_item02_icon {
	width: min(50px, calc(50/1180*100vw));
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02_icon {
		width: calc(100/750*100vw);
	}
}

.strength_item02_icon img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02 .strength_item_desc {
		padding-inline: 5%;
		text-align: left;
	}
}

.strength_item02_list {
	display: flex;
	justify-content: space-between;
	margin-top: min(30px, calc(30/1180*100vw));
	padding-inline: min(30px, calc(30/1180*100vw));
	box-sizing: border-box;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02_list {
		display: block;
		margin-top: 0;
		padding-inline: 0;
	}
}

.strength_item02_list li {
	width: 31%;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02_list li {
		width: 100%;
		margin-top: calc(60/750*100vw);
	}
}

.strength_item02_list li a:link,
.strength_item02_list li a:visited {
	color: #3e3a39;
	transition: opacity .3s ease;
}

.strength_item02_list li a:hover {
	text-decoration: none;
	opacity: .8;
}

.strength_item02_img img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.strength_item02_list-title {
	color: #bd9400;
	margin-top: 20px;
	padding-inline: 10px;
	line-height: 1.75;
	letter-spacing: -0.15em;
	font-size: clamp(13px, calc(18/1180*100vw), 18px);
	font-weight: 500;
	background: url(images/strength06.png) no-repeat center center / contain;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02_list-title {
		/* margin-top: calc(30/750*100vw); */
		margin: 2%;
		padding-inline: 0;
		letter-spacing: -0.1em;
		font-size: max(12px, calc(24/750*100vw));
	}
}

.strength_item02_list-title span {
	font-size: clamp(10px, calc(14/1180*100vw), 14px);
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_item02_list-title span {
		font-size: max(12px, calc(24/750*100vw));
	}
}

.strength_award_img img {
    width: 100%;
    margin: 3% auto 0;
    max-width: 600px;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.strength_award_img img {
		width: 100%;
		max-width: none;
	}
}

/* voice */
.voice {
	padding-block: min(115px, calc(115/1180*100vw));
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.voice {
		padding-block: 0;
	}
}

.voice_inner {
	display: flex;
	width: 94%;
	margin-inline: auto;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.voice_inner {
		width: 100%;
		flex-direction: column-reverse;
	}
}

.voice_item-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 50%;
	padding-block: min(56px, calc(56/1180*100vw));
	background: url(images/bg_voice01.jpg) no-repeat center center / cover;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.voice_item-text {
		aspect-ratio: 750/400;
		width: 100%;
	}
}

.voice_item-bg {
	width: 50%;
	background: url(images/bg_voice02.jpg) no-repeat center center / cover;
}

@media screen and (max-width:750px){ /*スマホサイズ*/
	.voice_item-bg {
		aspect-ratio: 750/400;
		width: 100%;
	}
}

/*-------------------------------------------------
人気記事とかタグ記事表示とか
-------------------------------------------------*/
.pvr{
	display: flex;
	-ms-display:flex;
	-webkit-display:flex;
	flex-wrap: wrap;
}
.popular{
	width: 24%;
	margin: 0.5%;
	padding-bottom: 1%;
	background: #f3f3f3;
	font-size: 15px;
}
.popuimg{
	display: inline-block;
	height: 180px;
}
.popuimg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width:960px){ /*スマホサイズ*/
	.popular{
		width: 49%;
		margin: 0.5%;
	}
	.popuimg{
		height: 200px;
	}
	}
	@media screen and (max-width:560px){ /*スマホサイズ*/
	.popuimg{
		height: 150px;
	}
}
/*-------------------------------------------------
  リンク
-------------------------------------------------*/

a:link, a:visited
{
	color: #055633; /* リンク文字の色 */
	text-decoration: none;
}
a:hover, a:active
{
	color: #055633; /* リンク文字の色　ホバー時 */
	text-decoration: underline;
}

/*-------------------------------------------------
  ホームのメイン画像スライダー 画面幅に対して画像サイズがストレッチするタイプ
-------------------------------------------------*/

	.slideshow
	{
		max-width: 2000px;
		/* aspect-ratio: 1180/600; */
		margin: auto;
		overflow: hidden; /*.viewerのmargin突き抜け問題対策*/
		/*display: none;*/

		position: relative;
	}
	@media screen and (max-width: 750px){ /**/
		.slideshow
		{
			/* aspect-ratio: 1180/800; */
		}
	}

	.viewer
	{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 120px auto 0 auto; /*メニュー帯に隠れないためのpadding*/

		display: flex !important;
		aspect-ratio: 2000/800;
		height: 100% !important;
	}


		@media screen and (max-width: 750px){ /*スマホサイズ*/
		.viewer
		{
			margin: 75px auto 0 auto; /*メニュー帯に隠れないためのpadding*/

			flex-direction: column;
			aspect-ratio: 750/460;
		}
		}

	.mv_right {
		width: 27.5%;
		background: url(images/bg_mv-right.jpg) no-repeat center center / cover;
	}

		@media screen and (max-width: 750px){ /*スマホサイズ*/
			.mv_right {
				display: none;
			}
		}


	.viewer ul
	{
		width: 100%;
		overflow: hidden;
		position: relative;
		/* margin: auto; */

		flex: 1;
		height: 100% !important;
	}
	.viewer ul li
	{
		top: 0;
		left: 0;
		width: 100%;
		position: absolute;

		height: 100% !important;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.viewer ul li
		{
			height: 100% !important;
		}
	}

	.viewer ul li img
	{
		width: 100%;
		height: 100% !important;
		object-fit: cover;
	}

	.mv_catch {
		position: absolute;
		top: calc(50% + 60px);
		left: 9.5%;
		transform: translateY(-50%);
		margin: 0;
		font-weight: 400;
		color: #fff;
		z-index: 100;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.mv_catch {
			position: static;
			padding: calc(60/750*100vw) 5% calc(80/750*100vw);
			transform: unset;
			background: url(images/bg_mv-right.jpg) no-repeat center center / cover;
		}
	}

	.mv_catch-en {
		display: block;
		line-height: 1.75;
		letter-spacing: 0.05em;
		font-size: clamp(18px, calc(25/1600*100vw), 25px);
		text-shadow: 0 0 10px black;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.mv_catch-en {
			font-size: calc(20/750*100vw);
		}
	}

	.mv_catch_img {
		margin-top: min(50px, calc(50/1600*100vw));
		padding-right: 9%;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.mv_catch_img {
			margin-top: calc(35/750*100vw);
			padding-right: 0;
		}
	}

	.mv_catch_img img {
		width: clamp(210px, 800vw/1180*100, 1000px);
		height: auto;
		object-fit: contain;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.mv_catch_img img {
			width: calc(690vw/750*100);
		}
	}

	.mv_catch-sub {
		display: block;
		margin-top: min(50px, calc(50/1600*100vw));
		line-height: 1.75;
		font-size: clamp(16px, calc(20/1600*100vw), 20px);
		font-weight: 300;
	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.mv_catch-sub {
			margin-top: calc(40/750*100vw);
			font-size: calc(24/750*100vw);
		}
	}

	/* sideNavi
	------------------------- */
	.viewer .btnPrev,
	.viewer .btnNext
	{
		margin-top: -25px;
		top: 50%;
		width: 50px;
		height: 50px;
		position: absolute;
		z-index: 101;
	}
	.viewer .btnPrev
	{
		left: 10px;
		background: #ccc url(../img/btnPrev.jpg) no-repeat center center;
	}
	.viewer .btnNext
	{
		right: 10px;
		background: #ccc url(../img/btnNext.jpg) no-repeat center center;
	}


/* =======================================
    ClearFixElements
======================================= */
.viewer ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}

.viewer ul {
    display: inline-block;
    overflow: hidden;
}

/*-------------------------------------------------
  横スライドショー 画面幅に対して画像サイズがストレッチするタイプ
-------------------------------------------------*/

	.wideslider {
		width: 100%;
		text-align: left;
		position: relative;
		overflow: hidden;
	}

	.wideslider ul,
	.wideslider ul li {
		float: left;
		display: inline;
		overflow: hidden;
	}

	.wideslider ul li img {
		width: 100%;
		display: none;
	}

	.wideslider_base {
		top: 0;
		position: absolute;
	}
	.wideslider_wrap {
		top: 0;
		position: absolute;
		overflow: hidden;

	}
	.slider_prev,
	.slider_next {
		top: 0;
		overflow: hidden;
		position: absolute;
		z-index: 100;
		cursor: pointer;
	}
	.slider_prev {background: #fff url(homeimg/prev.jpg) no-repeat right center;}
	.slider_next {background: #fff url(homeimg/next.jpg) no-repeat left center;}

	.pagination {
		bottom: 10px;
		left: 0;
		width: 100%;
		height: 15px;
		text-align: center;
		position: absolute;
		z-index: 200;
	}

	.pagination a {
		margin: 0 5px;
		width: 15px;
		height: 15px;
		display: inline-block;
		overflow: hidden;
		background: #333;
	}
	.pagination a.active {
		filter:alpha(opacity=100)!important;
		-moz-opacity: 1!important;
		opacity: 1!important;
	}


	/* =======================================
		ClearFixElements
	======================================= */
	.wideslider ul:after {
		content: ".";
		height: 0;
		clear: both;
		display: block;
		visibility: hidden;
	}

	.wideslider ul {
		display: inline-block;
		overflow: hidden;
	}


/*-------------------------------------------------
  トップページコンテンツ
-------------------------------------------------*/

.home_title {
	text-align: center;
}

.home_title span {
	position: relative;
	display: inline-block;
	padding: 0 5px 5px;
	letter-spacing: 0.2em;
	font-family: "Oswald", sans-serif;
	font-size: min(55px, calc(55/1180*100vw));
	font-weight: 400;
	color: #055633;
	z-index: 0;
}

.voice .home_title span {
	padding: 0;
	font-size: min(50px, calc(50/1180*100vw));
	font-weight: 400;
	color: #fff;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.home_title span {
		font-size: calc(55/750*100vw);
	}

	.voice .home_title span {
		font-size: calc(62/750*100vw);
	}
}

.strength .home_title span {
	font-size: min(56px, calc(56/1180*100vw));
}

@media screen and (max-width: 750px){ /*スマホサイズ*/
	.strength .home_title span {
		font-size: calc(56/750*100vw);
	}
}

.home_title small {
	font-size: 18px;
	font-weight: 400;
}

.strength_smalltitle {
    font-size: min(27px, calc(27/1180*100vw));
    font-weight: 500;
    padding: 20px 0 0;
}

.voice .home_title small {
	font-size: min(24px, calc(24/1180*100vw));
	color: #fff;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/

	.strength_smalltitle {
		font-size: calc(30/750*100vw);
		padding: 3% 0 0;
	}

	.voice .home_title small {
		font-size: calc(40/750*100vw);
	}
}

/* .strength .home_title small {
	font-size: min(27px, calc(27/1180*100vw));
} */

/* @media screen and (max-width: 750px){ スマホサイズ */
	/* .strength .home_title small {
		font-size: max(14px, calc(20/750*100vw));
	}
} */

.home_title.home_title-sm {
	text-align: left;
	font-size: 36px;
}

.home_title.home_title-left {
	padding-left: 27px;
	box-sizing: border-box;
	text-align: left;
}

.home_title span::after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: url(images/bg_home-title.png) no-repeat center center / cover;
	z-index: -1;
}

.voice .home_title span::after {
	display: none;
}


.title_word
{
	width: 25%;
	display: table-cell;
	text-align: center;
	font-size: 4vw;
	color: #1F993E;
	/* color: #684928;ベースデザイン2 */
	/* color: #31772A;ベースデザイン3 */
	/* color: #755F5D;ベースデザイン4 */
	/* color: #241E35;ベースデザイン5 */
	vertical-align: middle;
	border-width: 0px 0px 2px 0px;
	border-style: solid;
	border-color: #1F993E;
	/* border-color: #684928;ベースデザイン2 */
	/* border-color: #31772A;ベースデザイン3 */
	/* border-color: #E89B7C;ベースデザイン4 */
	/* border-color: #241E35;ベースデザイン5 */
}

	@media screen and (min-width: 1180px){ /*PCサイズ1180以上*/

		.title_word
		{
			font-size: 3em;
		}

	}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.title_word
		{
			width: 50%;
			font-size: 7vw;
		}

	}

.desc_word
{
	width: 75%;
	display: table-cell;
	padding: 3.75% 0 2% 0;
	box-sizing: border-box;
	border-width: 0px 0px 2px 0px;
	border-style: solid;
	border-color: #9ADBA5;
	/* border-color: #B28F5D;ベースデザイン2 */
	/* border-color: #C0DDBC;ベースデザイン3 */
	/* border-color: #F2D1C7;ベースデザイン4 */
	/* border-color: #9691A8;ベースデザイン5 */
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.desc_word
		{
			width: 50%;
			padding: 0% 0 2% 0;
		}
	}


/*施工例＆ブログサムネイル*/

.thumbnail
{
	width: 100%;
	height: ;
	overflow: hidden;
	background: #f4f4f4 url(images/noimg.png) center no-repeat;
	background-size: 50%;
}

.thumbnail img
{
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.thumbnail:hover img
{
	-webkit-transform: scale(1.03);
	transform: scale(1.03);
}

.works_blogs
{
	width: 25%;
	float: left;
	padding: 0.5%;
	box-sizing: border-box;
	z-index: 1;
}

.works_blogs_sub /*施工例ページでは3列*/
{
	width: 33%;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.works_blogs
		{
			width: 50%;
			float: left;
			padding: 0.5%;
			box-sizing: border-box;
		}

	}

.works_blogs img
{
	width: 100%;
	height: auto;
	display: block;
}

.date
{
	width: 25%;
	height: 100px;
	float: left;
	padding: 3%;
	box-sizing: border-box;
	background: #ededed;/* ベースデザイン1・5 */
	/* background: #F4E6D4;ベースデザイン2 */
	/* background: #F4EFDC;ベースデザイン3 */
	/* background: #FCEAD9;ベースデザイン4 */
	text-align: center;

	display: none;
}

.title
{
	width: 100%;
	height: 100px;
	float: left;
	padding: 5% 8% 10% 8%;
	box-sizing: border-box;
	overflow: hidden;
	font-size: 0.8em;
	background: #fff;/* ベースデザイン1・5 */
	/* background: #F4EEE6;ベースデザイン2 */
	/* background: #FCF8EB;ベースデザイン3 */
	/* background: #FFF6EE;ベースデザイン4 */
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.date
		{
			width: 100%;
			height: 100%;
			text-align: left;
		}

		.date br
		{
			display: none;
		}

		.title
		{
			width: 100%;
			height: 100px;
		}

	}

/*　↑施工例＆ブログサムネイル↑　*/

/*すべての施工例・ブログを見るボタン*/

a:link#viewall,
a:visited#viewall {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 450px;
	height: 60px;
	margin-top: min(60px, calc(60/1180*100vw));
	background: #055633;
	border: 1px solid #055633;
	color: #fff;
	transition: all .3s ease;
}

.voice a:link#viewall,
.voice a:visited#viewall {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80%;
	max-width: 300px;
	height: 38px;
	margin-top: min(32px, calc(32/1180*100vw));
	background: #fff;
	border: none;
	color: #3e3a39;
}

#viewall.viewall-center {
	margin-inline: auto;
}

#viewall i {
	margin-left: min(30px, calc(30/1180*100vw));
}

a#viewall:hover {
	text-decoration: none;
	background: #fff;
	color: #055633;
}

.voice a#viewall:hover {
	background: #3e3a39;
	color: #fff;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		a:link#viewall,
		a:visited#viewall 
		{
			width: 99%;
			max-width: unset;
			margin-top: calc(70/750*100vw);
		}

		.voice a:link#viewall,
		.voice a:visited#viewall {
			width: 98%;
			height: max(40px, calc(70/750*100vw));
			max-width: unset;
			margin-top: calc(45/750*100vw);
			font-size: max(14px, calc(22/750*100vw));
		}
	}


/*　↑すべての施工例・ブログを見るボタン↑　*/


/*-------------------------------------------------
  施工例スライドショー
-------------------------------------------------*/


.homecontents
{
	width: 100%;
	height: 40%;

}

.homecontents_inner
{
	width: 80%;
	margin: auto;
	position: relative;
    z-index: 999;
}

.works_trim2
{
	width: 33.3%;
	height: 100%; /*高さはjquery.heightLine.jsで自動で揃います*/
	float: left;
	margin: 20px 6px 20px 7px;
	padding: 0px;
	display: inline;
	background: #efefef url(images/) bottom;
}

.works_trim2_img
{
	width: 100%;
	height: auto;
}

@media screen and (max-width: 750px){ /*スマホサイズ*/

	.homecontents_inner
	{
		width: 90%;
	}
}

.works_blogs2
{
	width: 33.3%;
	float: left;
	/* padding: 0.5%; */
	/* box-sizing: border-box; */
}

@media screen and (max-width: 750px){ /*スマホサイズ*/

	.works_blogs2
	{
		width: 50%;
		float: left;
		padding: 0.5%;
		box-sizing: border-box;
	}

}

.works_blogs2 img
{
width: 100%;
height: auto;
display: block;
transform: scale(1.1);
-webkit-transform: scale(1.1);
}

/*お知らせ*/
.oshirase
{
	width: 100%;
	height: 100%;
	display: block;
	background: #f7f7f7;/* ベースデザイン1・4・5 */
	/* background: #F4EEE6;ベースデザイン2 */
	/* background: #F4EFDC;ベースデザイン3 */
	padding: 2% 7%;
	box-sizing: border-box;
	border-bottom: 2px solid #fff;
	font-size: 15px;
	clear: both;
}

.oshirase_title
{
	width: 77%;
	float: left;
}

.oshirase_marker_l
{
	width: 13%;
	float: left;
	background: #808000;
	padding: 0.3%;
	box-sizing: border-box;
	font-size: 0.8em;
	color: #fff;
	text-align: center;
}

.oshirase_marker_r
{
	width: 2%;
	float: left;
	background: #808000;
	padding: 0.3%;
	box-sizing: border-box;
	margin-right: 7%;
	font-size: 0.8em;
	color: #fff;
	text-align: center;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
		.oshirase
		{
			padding: 2% 4%;
		}

		.oshirase_title
		{
			width: 70%;
			float: left;
		}

		.oshirase_marker_l
		{
			width: 20%;
		}

		.oshirase_marker_r
		{
			width: 5%;
			margin-right: 3%;
		}

	}

/*-------------------------------------------------
  お知らせ カテゴリ付き
-------------------------------------------------*/
.bg_news{

	width: 100%;
	background: #DBDBDB;
}

.news_news{

	width: 80%;
	max-width: 1600px;
	padding: 4.25% 0 7.5% 0;
	margin: auto;
}

.news_title{

	width: 100%;
	margin: 2.8% 0 4.2% 0;
	text-align: center;
}

.nt_b{

	padding: 1.6% 0;
	font-size: 3.6vw;
	line-height: 3.6vw;
	font-family: 'Kozuka Mincho Pro',serif;
	font-weight: 400;
}

.subject{

	display: flex;
	width: 100%;
	margin: auto;
	padding: 0.35% 0;
	border-bottom: 1px solid #FFFFFF;
	font-size: 1.2vw;
}

.news_date{

	width:25%;
	text-align: center;
}

.news_text{

	/* width: 65%; */

}

.news_cat{

	width: 105px;
    margin: 6px 0 6px auto;
    font-size: 12px;
    text-align: center;
    color: #FFFFFF;
    background: #7E962C;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 2000px){ /*PCサイズ*/

	.subject{

		font-size: 24px;
	}

	.news_cat{

		font-size: 12px;
	}
}

@media screen and (max-width: 1450px){ /*PCサイズ*/

	.subject{

		font-size: 16px;
	}

	.news_cat{

		width: 85px;
		min-width: 85px;
		max-height: 15px;
		margin: 6px 0 6px auto;
		font-size: 10px;
	}
}


@media screen and (max-width: 750px){ /*スマホサイズ*/

	.news_news{

		padding: 12% 0 12.6% 0;

	}

	.subject{

		display: flex;
		flex-wrap: wrap;
		padding: 0.35% 0;
		font-size: 18px;
		margin-bottom: 15px;
	}

	.news_date{

		width:50%;
		font-size: 18px;
		text-align: left;
		order: 1;
	}

	.news_title{

		width: 100%;
		margin: 0;
		padding-bottom: 12%;
		text-align: center;
	}

	.news_text{

		width: 100%;
		order: 3;
	}

	.news_cat{

		/* width: auto; */
		width: 100px;
		min-width:none;
		height: 24px;
		max-height: none;
		/* padding: 0 8px; */
		padding: 0;
		margin: 0px 0 0px auto;
		font-size: 12px;
		text-align: center;
		color: #FFFFFF;
		background: #7E962C;
		border-radius: 4px;
		display: flex;
		justify-content: center;
		align-items: center;
		order: 2;
	}

	.nt_b{

		padding: 0;
		font-size: 8vw;
		line-height: 8vw;
	}

}

/*ボックス全体*/
.accbox {
	margin: 0 0;
	padding: 0;
	max-width: 1152px;/*最大幅*/
}

/*ラベル*/
.accbox label {
	display:block;
	width:100%;
	cursor :pointer;
}

/*ラベルホバー時*/
.accbox label:hover {
	background :#;
}

/*チェックは隠す*/
.accbox input {
	display: none;
	transition: 0;
}

/*中身を非表示にしておく*/
.accbox .accshow {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
}

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

/*クリックで中身表示*/
.cssacc:checked + .accshow {
	position: absolute;
	width: 100%;
	top: 40px;
	left: 0;
	height: auto;
	padding: 5%;
	box-sizing: border-box;
	background: #fff;
	opacity: 1;
	transition: 0.2s;
	z-index: 8888;
	text-align: left;
	/* box-shadow */
	box-shadow:0px 0px 5px 1px #dbdbdb;
}







/*About us*/
.aboutus
{
	padding: 7% 14%;
	border-width: 0px 2px 2px 2px;
	border-style: solid;
	border-color: #EEEEEE;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		.aboutus
		{
			padding: 7% 2.5% 14% 2.5%;
		}

	}

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

/*-------------------------------------------------
  ボディー　body部の囲い
-------------------------------------------------*/

#mainwrapper
{
	width: 100%;
	background: #fff url(images/) repeat-y;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;
	padding: 0px 0px 0px 0px;
	margin: auto;
}
#wrapper
{
	/* max-width: 1180px; */
	padding: 0px 0px 0px 0px;
	margin: auto;
}
#sub_wrapper{
	max-width: 1180px;
	margin: auto;
}
.box1180{
	max-width: 1180px;
	margin: auto;
}
.back{
	width: 100%;
	background: #fff;
}

/*-------------------------------------------------
  サブページ　ボディー　body内部
-------------------------------------------------*/
#container /*にわ・なび表示用*/
{
	width: 944px;
	height: 1%;
	overflow: visible;
/*にわ・なびの記事幅表示と合わせるために以下はすべて0にすること。paddingは.contentで入力*/
	padding: 0;
	box-sizing: border-box;
}

#container_site /*実サイト表示用*/
{
	width: 80%;
	max-width: 944px;
	height: 1%;
	overflow: visible;
	float: left;
	padding: 0;
	box-sizing: border-box;
}

.content
{
	padding: 4%;
	margin: 0;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		#container_site /*実サイト表示用*/
		{
			width: 100%;
			height: 1%;
			overflow: visible;
			float: left;
			padding: 0;
			box-sizing: border-box;
		}

		.content
		{
			padding: 0;
		}

	}


/*-------------------------------------------------
  サブページ　記事の表示
-------------------------------------------------*/

.contenttitle h2
{
	height: 100%;
	clear: both;
	/* background: #e3ebea; */
	font-size: 1.3em;
	padding: 1.5%;
	box-sizing: border-box;
	margin: 0;
	font-weight: normal;
	border-bottom: solid 1px #333;
	/* border-radius: 5px; */
	position: relative;
}


.contentbody
{
	/*↓にわ・なびでレイアウトを崩さないためにはwidthを指定しておく必要がある*/
	width: 100%;
	/*----------------------*/
	background: #ffffff url(images/);
	text-align: justify;
	padding: 3.5%;
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color: #E0E0E0;
	/*↓Indexテンプレートのコメントが消えないためのcss*/
	line-height: 20px;
	font-size: 15px;
}
.contentbody table tr td
{
	font-size: 15px;
	text-align: justify;
	line-height: 23px;

}

.contentbody img
{
	max-width: 100%;
	margin: 0px;

}

.contentbody2 /*記事の囲い*/
{
	background: #ffffff url(images/);
	text-align: justify;
	padding: 4%;
	border-width: 0;
	border-style: solid;
	border-color: #E0E0E0;
	text-align: justify;
	margin: 0px 0px 60px 0px;
	font-size:15px;
	line-height: 1.6;
}

.contentbody2 p
{
	margin: revert;
}

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

.contentbody2 table.style
{
	border-collapse: collapse;

}

.contentbody2 a:link, .contentbody2 a:visited
{
	/*color: #12ae05;*/
	text-decoration: none;
}

.contentbody2 a:hover, .contentbody2 a:active
{
	/*color: #a0c148;*/
	text-decoration: underline;
}

.contentbody2 h2, .contentbody h2 {
    font-size: 1.3em;
    padding: 1% 2%;
    box-sizing: border-box;
    margin: 3% 0;
    font-weight: normal;
    border-left: 4px solid #055633;
    line-height: normal;
}

/*-------------------------------------------------
  パンくずリスト
-------------------------------------------------*/

.catdesc /*パンくずリストの囲い*/
{
	font-size: 16px;
	width:;
	height:;
	background: url(images/);
	padding: 20px 0px 20px 0px;
}

.pankuzu
{
	padding-left:0;
	margin-left:0;
}

.pankuzu li{
	display:inline;/*横に並ぶように*/
	list-style: none;
}

.pankuzu li:after{/* >を表示*/
	content: '>';
	padding: 0 1.8%;
	color: #aaa;
}

.pankuzu li:last-child:after{
	content: '';
}

.pankuzu li a {
	text-decoration: none;
}

.pankuzu li a:hover {
	text-decoration: underline;
}


/*-------------------------------------------------
  施工例カテゴリ分けボタン表示枠
-------------------------------------------------*/

.works_index
{
	background: #ffffff url(images/);
	padding: 0;
	margin: 0px 0px 30px 0px;
	filter:alpha(opacity=95);
	-moz-opacity: 0.95;
	opacity: 0.95;
}

.works_index a
{
	width: 32%;
	float: left;
	background: #efefef;
	padding: 1%;
	box-sizing: border-box;
	margin: 0.5% 0.5%;
	text-align: center;
	color: #4f4f4f;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

	.works_index a
	{
		width: 49%;
	}

	}

/*-------------------------------------------------
  施工例目次表示　1施工例分の囲い
-------------------------------------------------*/

.works_trim
{
	width: 200px;
	height: 100%; /*高さはjquery.heightLine.jsで自動で揃います*/
	float: left;
	margin: 20px 6px 20px 7px;
	padding: 0px;
	display: inline;
	background: #efefef url(images/) bottom;
}

.works_trim_img
{
	width: 100%;
	height: auto;
}

.works_trim_title
{
	width: 100%;
	float: left;
	margin: auto;
	padding: 10px 10px 10px 10px;
	font-size: 16px;
	line-height: 130%;
	box-sizing: border-box;
}

.works_trim_desc
{
	width: 100%;
	float: left;
	margin: auto;
	padding: 10px 10px 10px 10px;
	font-size: 14px;
	line-height: 130%;
	box-sizing: border-box;
}

/*-------------------------------------------------
  施工例画像hoverでタイトルが出る
-------------------------------------------------*/

.rect
{
	width: 49%;
	float: left;
	overflow: hidden;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #f6f6ea;
	box-sizing: border-box;
	margin: 1px;
}

.works_content
{
	position:relative;
	margin:0px auto;
	width:100%;
	height:100%;
	margin-top: min(45px, calc(45/1180*100vw));
	overflow:hidden;
}
.inner
{
	padding:0px;
}
.caption1
{
	position:absolute;
	left:0;
	top:0px;
	background-color: rgba(0, 0, 0, 0.6);
	color:#efefef;
	padding:10px;
	width:100%;
	height:100%;
	font-size: 12px;
}
.caption2
{
	position:absolute;
	left:0;
	bottom:0;
	display:none;
	background-color: rgba(0, 0, 0, 0.6);
	color:#efefef;
	padding:10px;
	width:100%;
	height:40%;
	text-align:left;
	box-sizing: border-box;
	font-size: 12px;
}


/*-------------------------------------------------
  次の記事へ　前の記事へ　ボタン
-------------------------------------------------*/

.nextlink
{
	width: 49%;
	height: 100%;
	float: left;
	padding: 0px 0px 0px 0px;
	background: url(images/prevs.png) left no-repeat;
	display: box;
	font-size: 13px;
	text-align: right;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;
}

.prevlink
{
	width: 50%;
	height: 100%;
	float: right;
	padding: 0px 0px 0px 0px;
	background: url(images/nexts.png) right no-repeat;
	display: box;
	font-size: 13px;
	text-align: left;
	border-width: 0px 0px 0px 1px;
	border-style: solid;
	border-color: #E0E0E0;
}

/*-------------------------------------------------
  Q&Aの表示
-------------------------------------------------*/

.QA-Abox01
{
	background: #ffffff;
	font-family:"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro";
	font-size: 16px; /*Aのフォントサイズ*/
	padding: 10px 10px 10px 10px;
	margin: 0px 0px 0px 60px;
	: #000000;
	text-indent: 1em;
	line-height: 2em;
	border-width: 0px 1px 1px 1px;
	border-style: dotted;
	border-color: #2b6d0e;
}

.QA-textcolor
{
	color: #704d2a;
}

/*-------------------------------------------------
  お問合せフォーム関連
-------------------------------------------------*/

.inq
{
	width: 100%;
	border: 1px solid #aaaaaa;
	border-collapse: collapse;
	border-spacing: 0;
}
.inq td, th
{
	padding: 15px;
	width: 30px;
	height: 25px;
	font-size: 18px;
}

.inq th
{
	width: 22%;
	background: #efefef;
	text-align: center;
	font-size: 18px;
}

.inq td
{
	width: 78%;
	background: #ffffff;
	font-size: 18px;
}

.formtext
{
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
	height: 2.3em;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 18px;
}

/*-------------------------------------------------
  サイドバー sidebar
-------------------------------------------------*/

#sidebarcontainer
{
	float: right;
	width: 20%;
	padding: 5% 0px 0px 0px;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		#sidebarcontainer
		{
			display: none;
		}
	}

#sidebarcontainer img
{
	max-width: 100%;
	height: auto;
}

.sidebar
{

}

/* NP_List 今いるページのメニュー項目文字色*/
.current
{
	color: #055633; /*要変更　カレント文字の色*/
	/*background: #ffffff;*/
	/*font-weight: bold;*/
	padding: 0px;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #888888;
	text-decoration: none;
}

#footer #menubutton .current{
	color: #eca916;
}

#footer #menubutton .span{
	color: #fff;
}


/*-------------------------------------------------
  ブログカレンダー
-------------------------------------------------*/

table.calendar {width: 100%; background-color:#fff;border-collapse: collapse;font-family:sans-serif;border:1px solid #ddd; font-size: 0.85em;}
table.calendar caption {color:#aaa;letter-spacing:2px;padding:4px;}
table.calendar th,table.calendar td {border:1px solid #ddd;padding:2px 4px; font-weight: normal;}
table.calendar th {text-align:center;}
table.calendar td {text-align:right;color:#999;letter-spacing:1px;}
tr.calendardateheaders {background-color:#ccc;color:#fff;}
td.blank {background-color:#f5f5f5;}
td.saturday {background-color:#f7f9fd;}
td.sunday {background-color:#fff3ee;}
td.holiday {background-color:#fff3ee;}
td.today {background-color:#ffffcc;}

/*以下、defaultスキン用 */
table.calendar a:link,table.calendar a:visited
{
	background:none;padding:0;
}
table.calendar
{
	margin:0 auto;
}

/*-------------------------------------------------
  フッター　Footer
-------------------------------------------------*/
#footer
{
	width: 100%;
	height: 100%;
	background: url(images/bg_footer.jpg) no-repeat center center/ cover;
	padding-block: min(100px, calc(100/1180*100vw)) min(150px, calc(150/1180*100vw));
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #DDDDDD;
	margin: 0 auto;
}

#copyrights
{
	max-width: 1180px;
	margin: auto;
	padding: 0px 0px 0px 0px;
}

.footermenu{
	width: 90%;
	margin: auto;
	display: block;
	font-size: 0.8em;
}

#footer #menubutton{
	display: block;
	width: 12%;
	height: ;
	background: url(images/) no-repeat;
	height: ;
	line-height: ;
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
	float: left;
	padding: 0.2% 0 0.2% 0;
	box-sizing: border-box;
	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;
	margin: 1% 0 0 0;
	font-size: 0.95em;
	overflow: hidden;
	white-space: nowrap;
	color: #fff;
}

#footer #menubutton i{
	color: #fff !important;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/

		#footer
		{
			padding-block: calc(90/750*100vw) calc(160/750*100vw);

		}

		.footermenu{
			width: 100%;
			margin: auto;
			display: block;
			font-size: 1em;
		}

		#footer #menubutton{
			display: block;
			width: 33.3%;
			height: ;
			background: url(images/) no-repeat;
			height: ;
			line-height: ;
			vertical-align: middle;
			text-decoration: none;
			text-align: center;
			float: left;
			padding: 0.2% 0 0.2% 0;
			/* box-sizing: border-box; */
			/* border-width: 0px 1px 0px 0px; */
			/* border-style: solid; */
			/* border-color: #E0E0E0; */
			margin: 3% 0 0 0;
			font-size: 14px;
			overflow: hidden;
			white-space: nowrap;
		}

		#footer .menutextcolor
		{
			color: #fff;
		}
	}


.copyrights_l
{
	width: 100%;
}

.copyrights_r
{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 80%;
	margin: min(80px, calc(80/1180*100vw)) auto min(95px, calc(95/1180*100vw));
	color: #fff;
}

.copyrights_logo {
	width: 35%;
	max-width: 290px;
}

.copyrights_logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.copyrights_address br {
	display: none;
}

	@media screen and (max-width: 750px){ /*スマホサイズ*/
	#copyrights
	{
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 1fr;
		-ms-grid-columns: 1fr; /*ie*/
		-ms-grid-rows: 1fr 1fr; /*ie*/
	}

	.copyrights_r
	{
		display: block;
		margin-block: calc(100/750*100vw) calc(54/750*100vw);
		/* grid-column: 1/1; */
		/* grid-row: 2/2; */
		/* -ms-grid-column: 1; ie */
		/* -ms-grid-row: 2; ie */
		/* width: 100%; */
	}

	.copyrights_l
	{
		/* grid-column: 1/1; */
		/* grid-row: 1/1; */
		/* -ms-grid-column: 1; ie */
		/* -ms-grid-row: 1; ie */
		/* width: 100%; */
	}

	.copyrights_logo {
		width: 50%;
		margin-inline: auto;
	}

	.copyrights_address {
		margin-top: 45px;
		line-height: 1.75;
	}

	.copyrights_address br {
		display: block;
	}

	}

#copyrights a:link, #copyrights a:visited
{
	color: #383838; /* フッター内のリンク文字の色 */
}
#copyrights a:hover, #copyrights a:active
{
	color: #383838; /* フッター内のリンク文字の色 ホバー時*/
}

#bg_footer_contact
{
	display: grid;
	display: -ms-grid; /*ie*/
	grid-gap: 0px;
	grid-template-columns: 3fr 2fr 1fr;
	-ms-grid-columns: 3fr 2fr 1fr; /*ie*/
	width: 100%;
	position: fixed;
	bottom: 0;
	z-index: 9000;
	background: #fff;
	/* box-shadow */
	box-shadow:0px 2px 13px -3px #000000;
	padding: 1px 0 0 0;
}

#bg_footer_contact a{
	/* color: #383838; */
}

a:link.footer_tel,
a:visited.footer_tel
{
	display: block;
	grid-column: 1/2;
	-ms-grid-column: 1; /*ie*/
	width: 100%;
	background: #055633;
	text-align: center;
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
	font-size: 1.3em;
	color: #fff;
}

a:link.footer_mail,
a:visited.footer_mail
{
	display: block;
	grid-column: 2/3;
	-ms-grid-column: 2; /*ie*/
	width: 100%;
	background: #fff;
	text-align: center;
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
	color: #055633;
}

.footer_gototop
{
	grid-column: 3/4;
	-ms-grid-column: 3; /*ie*/
	width: 100%;
	background: #e1e1e1;
	text-align: center;
}

/*-------------------------------------------------
 end of @media only screen and (max-width: 1180px)
-------------------------------------------------*/


/*-------------------------------------------------
  このページのトップへボタン
-------------------------------------------------*/

.pagetop {
	width: 100%;
	position: relative;
	right: 0;
	bottom: 0;
	z-index: 9999;
	display: none;
	filter:alpha(opacity=95);
	-moz-opacity: 0.95;
	opacity: 0.95;
}

.pagetop a {
	height: 45px;
	line-height: 45px;
	vertical-align: middle;
	display: block;
	color: #ffffff;
	padding: ;
	margin: 0;
	background: #adadad url(images/); /*「このページのトップへ」ボタンの背景色*/
	text-decoration: none;
	font-weight: normal;
	font-size: 1.3em;
}

.pagetop a:hover {
	background: #888 url(images/bg_gototop.png); /*「このページのトップへ」ボタンの背景色*/
	color: #FFFFFF;
}

/*-------------------------------------------------
  スマートフォンサイト切替えボタン
-------------------------------------------------*/
.viewchange_button
{
	width: 100%;
	height: 100px;
	background: #000000;
	text-align: center;
	font-size: 50px;
	padding-top: 20px;
	/*position: fixed;*/
	z-index: 1000;
	color: #ffffff;
}

/*-------------------------------------------------
  ついてくるお問合せ
-------------------------------------------------*/

#rightbox
{
	position: absolute;
	right: 0px;
	top: 0px;
	width: 220px;
	height: 150px;
	padding: 0px 0px 0px 0px;
	z-index: 1000;
}

.contactbox
{
	position: relative;
	right: 0px;
	top: 0px;
	width: 220px;
	height: 80px;
	background: #cfcfcf;
	margin: 0px 0px 0px 0px;
	z-index: 1000;
}

/*-------------------------------------------------
 　基本（編集する必要はほぼなし）
-------------------------------------------------*/

img
{
	border: 0;
	vertical-align: bottom;
}
form
{
	margin: 0;
}

/* Lists */
ul
{
	list-style: none;
	padding: 0;
	margin: 0;
}
li
{
	background: url(images/arrow.gif) left 5px no-repeat;
	padding: 0px;
	margin: 0px;
}

.hidden
{
	display: none;
}
.centerize
{
	text-align: center;
}
.clearing
{
	height: 0px;
	width: 100px;
	clear: both;
	line-height: 0px;
	zoom: 1;
	display: hidden;
	font-size: 0px;
}

/*-------------------------------------------------
  改行
-------------------------------------------------*/

.c_line
{
	clear: both;
	height: 0px;
}
.c_line5
{
	clear: both;
	height: 5px;
}
.c_line10
{
	clear: both;
	height: 10px;
}
.c_line15
{
	clear: both;
	height: 15px;
}
.c_line20
{
	clear: both;
	height: 20px;
}
.c_line25
{
	clear: both;
	height: 25px;
}
.c_line30
{
	clear: both;
	height: 30px;
}
.c_line35
{
	clear: both;
	height: 35px;
}
.c_line40
{
	clear: both;
	height: 40px;
}
.c_line45
{
	clear: both;
	height: 45px;
}
.c_line50
{
	clear: both;
	height: 50px;
}
.c_line55
{
	clear: both;
	height: 55px;
}
.c_line60
{
	clear: both;
	height: 60px;
}
.c_line65
{
	clear: both;
	height: 65px;
}
.c_line70
{
	clear: both;
	height: 70px;
}
.c_line75
{
	clear: both;
	height: 75px;
}
.c_line80
{
	clear: both;
	height: 80px;
}
.c_line85
{
	clear: both;
	height: 85px;
}
.c_line90
{
	clear: both;
	height: 90px;
}

/*-------------------------------------------------
  Forms
-------------------------------------------------*/
.loginform, .searchform
{
	margin: 5px 0;
}
.commentform, .mailform
{
	margin-top: 0px;
    margin-left: 0px;

    padding: 0px;
    background: #EEEEEE;
    /* Rounded borders, for Mozilla browsers */
    /* -moz-border-radius: 10px; */
}
.commentform img{
    margin: 5px 0 0 0;
}
.formfield
{
	font-size: 11px;
	background: white;
	color: #494949;
	border-top: 1px solid #868686;
	border-left: 1px solid #868686;
	border-bottom: 1px solid #D4D2CF;
	border-right: 1px solid #D4D2CF;
	margin: 1px 0 0 0;
}
.formbutton
{
	font-size: 11px;
	background: white;
	color: #494949;
	border-top: 1px solid #D4D2CF;
	border-left: 1px solid #D4D2CF;
	border-bottom: 1px solid #868686;
	border-right: 1px solid #868686;
	margin: 1px 0 0 0;
}
.searchform .formfield
{
	width: 168px;
    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 0;
	margin: 0 2px 2px 0;
}
.searchform .formbutton
{
	width: 60px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 2px;
}
.loginform .formfield
{
	width: 130px;
    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 0;
	margin: 0 2px 2px 0;
}
.loginform .formbutton
{
	width: 60px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 2px;
}
.mainform .formfield
{
	width: 280px;
    font-family: Arial, Tahoma, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 0;
	margin: 0 2px 2px 0;
}
.mailform .formbutton
{
	width: 100px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
	padding: 2px 2px;
}
#nucleus_cf_name, #nucleus_cf_mail
{
    width: 540px;
    margin-right: 0px;
    font-family: Arial, Trebuchet MS, Verdana, sans-serif;
}
.commentform textarea, .commentform .formfield, .mailform textarea, .mailform .formfield
{
    width: 545px;
	margin-left: 0px;
}
.commentform .formbutton
{
	width: 100px;
	height: 22px;
    font-family: Tahoma, Arial, Trebuchet MS, Verdana, sans-serif;
}
.error
{
	color: red;
	font-weight: bold;
}


/*-------------------------------------------------
  Miscelaneous
-------------------------------------------------*/
/* VBlog image onion skin shadow - From AListApart.com*/
.wrap1, .wrap2, .wrap3
{
	display:inline-table;
	/* \*/display:block;/**/
}
.wrap1
{
	float:left;
	background:url(images/shadow.gif) right bottom no-repeat;
	margin: 0 5px 3px 0;
}
.wrap2
{
	background:url(images/corner_br.gif) left bottom no-repeat;
}
.wrap3
{
	background:url(images/corner_tr.gif) right top no-repeat;
	padding:0 5px 5px 0;
}
.wrap3 img
{
	display:block;
	border: 3px solid white;
}

/* Search highlight color */
.highlight
{
	background: #DEFFA9;
}

/* Leftbox and Rightbox toolbar buttons */
.leftbox, .rightbox {
	margin: 3px;
	padding: 10px; /*3px;*/
	#: larger;
}
.leftbox {
	float: left;
	width: 50%; /*45%;*/
	border-right: 1px dashed #ddd;
}
.rightbox {
	float: right;
	width: 50%; /*45%;*/
/*	border-left: 1px dashed #ddd;*/
}

/*
div.leftbox10 {
	float: left;
	width: 10%;
}
div.leftbox20 {
	float: left;
	width: 20%;
}
div.leftbox30 {
	float: left;
	width: 160px;
}
div.leftbox40 {
	float: left;
	width: 40%;
}
div.leftbox45 {
	float: left;
	width: 45%;
}
div.leftbox55 {
	float: left;
	width: 55%;
}
div.leftbox60 {
	float: left;
	width: 60%;
}
div.leftbox65 {
	float: left;
	width: 65%;
}
div.leftbox70 {
	float: left;
	width: 70%;
}
div.leftbox75 {
	float: left;
	width: 75%;
}
div.leftbox80 {
	float: left;
	width: 80%;
}

div.leftbox100px {
	float: left;
	width: 105px;
}

div.leftbox150px {
	float: left;
	width: 155px;
}

div.leftbox200px {
	float: left;
	width: 205px;
}

div.leftbox250px {
	float: left;
	width: 255px;
}

div.leftbox300px {
	float: left;
	width: 305px;
}

div.leftbox350px {
	float: left;
	width: 355px;
}
div.leftbox400px {
	float: left;
	width: 405px;
}

div.leftbox450px {
	float: left;
	width: 455px;
}
div.leftbox500px {
	float: left;
	width: 505px;
}

div.leftbox550px {
	float: left;
	width: 555px;
}
div.leftbox600px {
	float: left;
	width: 605px;
}

div.leftbox650px {
	float: left;
	width: 655px;
}
div.leftbox700px {
	float: left;
	width: 705px;
}

div.leftbox750px {
	float: left;
	width: 755px;
}

div.leftbox800px {
	float: left;
	width: 805px;
}
*/

.leftbox10 {
	float: left;
	width: 10%;
}
.leftbox20 {
	float: left;
	width: 20%;
}
.leftbox30 {
	float: left;
	width: 160px;
}
.leftbox40 {
	float: left;
	width: 40%;
}
.leftbox45 {
	float: left;
	width: 45%;
}
.leftbox55 {
	float: left;
	width: 55%;
}
.leftbox60 {
	float: left;
	width: 60%;
}
.leftbox65 {
	float: left;
	width: 65%;
}
.leftbox70 {
	float: left;
	width: 70%;
}
.leftbox75 {
	float: left;
	width: 75%;
}
.leftbox80 {
	float: left;
	width: 80%;
}

.leftbox100px {
	float: left;
	width: 105px;
}

.leftbox150px {
	float: left;
	width: 155px;
}

.leftbox200px {
	float: left;
	width: 205px;
}

.leftbox250px {
	float: left;
	width: 255px;
}

.leftbox300px {
	float: left;
	width: 305px;
}

.leftbox350px {
	float: left;
	width: 355px;
}
.leftbox400px {
	float: left;
	width: 405px;
}

.leftbox450px {
	float: left;
	width: 455px;
}
.leftbox500px {
	float: left;
	width: 505px;
}

.leftbox550px {
	float: left;
	width: 555px;
}
.leftbox600px {
	float: left;
	width: 605px;
}

.leftbox650px {
	float: left;
	width: 655px;
}
.leftbox700px {
	float: left;
	width: 705px;
}

.leftbox750px {
	float: left;
	width: 755px;
}

.leftbox800px {
	float: left;
	width: 805px;
}

/*-------------------------------------------------
  Item info
-------------------------------------------------*/
.contentitemcategory
{
	background: url(images/bgcategory.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 14px;
}
.contentitempostedby
{
	background: url(images/bgpostedby.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 12px;
}
.contentitemcomments
{
	background: url(images/bgcomment.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 13px;
}
.contentitemedit
{
	background: url(images/bgedit.gif) center left no-repeat;
	font-size: 10px;
	line-height: 12px;
	padding: 0 10px 0 11px;
}
.contentitem
{
	padding: 3px 0 0 0;
	margin: 0 0 16px 0;
	text-align: right;
}
.contentitem1
{
	display: inline;
}
.contentitem2
{
	display: inline;
	background: url(images/dotv.gif) left repeat-y;
	padding: 0 0 0 10px;
}
.contentitem3
{
	display: inline;
	background: url(images/dotv.gif) left repeat-y;
	padding: 0 0 0 10px;
}
.contentitem4
{
	display: inline;
	padding: 0 0 0 10px;
	background: url(images/dotv.gif) left repeat-y;
}

/*-------------------------------------------------
  Comments
-------------------------------------------------*/
.itemcomment
{
	background: url(images/commentquote01.gif) no-repeat;
	background-position: 6px 9px;
	padding: 6px 42px;
	border: 1px solid white;
	margin: 10px 0 0 0;
}
.itemcomment:hover
{
	background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
	background-position: 6px 9px;
	border: 1px solid #CCCCCC;
}
.id1 /*This is to give the admin a special comment style, to distinguish him/her from the rest of the commentors*/
{
	background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
	background-position: 6px 9px;
	border: 1px solid #B3C492;
}
.id1:hover
{
	background: #F9F9F9 url(images/commentquote02.gif) no-repeat;
	background-position: 6px 9px;
	border: 1px solid #B3C492;
}
.itemcomment h3
{
	font-size: 12px;
}

/*-------------------------------------------------
  table
-------------------------------------------------*/

table#table-01 {
	background: #f5f5f5;
    width: 620px;
    border: 0px #E3E3E3 solid;
    /*border-collapse: collapse;*/
  /*  border-collapse: 5px;*/
    border-spacing: 4px;
}

table#table-01 th {
	width: 110px;
	color: #ffffff;
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    background: #72ad06;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    white-space: nowrap;
}
table#table-01 td {
	/*width: 500px;*/
	background: #ffffff;
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    text-align: left;
    white-space: nowrap;

}
table#table-02 {
	background: #f5f5f5;
    /*width: 625px;*/
    border: 0px #E3E3E3 solid;
    /*border-collapse: collapse;*/
  /*  border-collapse: 5px;*/
    border-spacing: 4px;
}

table#table-02 th {
	width: 300px;
	color: #e5f4bb;
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    background: #72ad06;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    white-space: nowrap;
}
table#table-02 td {
	width: 340px;
	background: #ffffff;
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 1px 1px 0px;
    text-align: left;
    white-space: nowrap;

}

/*-------------------------------------------------
instagram api
-------------------------------------------------*/

.instagram-container{
	display: flex;
	flex-wrap: wrap;
	/* margin: 0 -1px; */
  }

  .instagram-item{
	width: 50%;
	/* padding: 1px; */
  }

  @media screen and (min-width: 768px){
	.instagram-item {
		width: 25%;
	}
  }

  a.instagram-card{
	display: block;
	position: relative;
	/* margin-bottom: 16px; */
	/* background-color:#000; */
	color: #000;
  }

  .instagram-card__img{

	width:calc(500vw / 2000 * 100);
	height:calc(500vw / 2000 * 100);
  }

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

	.instagram-card__img{

		width:calc(375vw / 750 * 100);
		height:calc(375vw / 750 * 100);
	  }
  }

 /* いいね数、コメント数 */
  .instagram-card__badge{
	position: absolute;
	top: 8px;
	left: 8px;
	display: flex;
	align-items: center;
	line-height: 1;
	font-size: 14px;
	color: #ffffff;
  }

  /* /いいねアイコン、コメントアイコン */
  .instagram-icon{
	display: block;
	width: 20px;
	height: 20px;
  }

  /* コメント */
  .instagram-card__comment{
	padding-left: 8px;
	padding-right: 8px;
	font-size: 1.2rem;
	overflow: hidden;
	text-overflow: ellipsis;
	/* white-space: nowrap; *//* 文章1行 */
  }

  .instagram-item:hover img{
	opacity: 0.6;
	transition-duration: 0.3s;
  }


   .instagram-item .caption {

	font-size:400%;
	text-align:center;
	color:#fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

	.instagram-item .mask {
	/* width:			100%; */
	/* height:			100%; */
	font-size:50%;
	text-align:center;
	color:#fff;
	background-color:rgba(0,0,0,0.4);
	position: absolute;
	top: 90%;
	left: 90%;
	transform: translate(-50%,-50%);
	-webkit-transition:	all 0.4s ease-out;
	transition:	all 0.4s ease-out;
}

.instagram-item:hover .mask {

	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform:scale(4);	/* 4倍に拡大 */
	transform:scale(4);
}

/*-------------------------------------------------
youtube レスポンシブ化
-------------------------------------------------*/
.youtube {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}


.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.youtube_play {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}


.youtube_play img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube_play:hover {
   cursor:pointer;
}

.youtube .youtube_btn {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 cursor: pointer;

}

.youtube .youtube_btn:after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
 width: 100%;
 height: 100%;
 background: url("images/y_icon.png") center center no-repeat;
 background-size: 96px 96px;
 -webkit-transition: 0.5s;
 transition: 0.5s;
}

.youtube .youtube_btn:hover:after {
 -webkit-transform: scale(1.1);
 transform: scale(1.1);
 background: url("images/y_icon.png") center center no-repeat;
 background-size: 96px 96px;
}


.youthumbnail {
	position: relative;
	padding-bottom: 49.8%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youthumbnail-s {
	position: relative;
	padding-bottom: 100%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youthumbnail {
	position: relative;
	padding-bottom: 49.8%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}

.youthumbnail-s {
	position: relative;
	padding-bottom: 100%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
