/*-------------------------------------------------
  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();

	font-size: 16px;
	line-height: 1.8em;
	font-weight: 300;
	color: #383838; /*要変更　基本の文字色　デザイン提案書のカラーに合わせる*/

	padding: 0px 0;
	margin: 0;
	-webkit-text-size-adjust: 100%;


	/*Noto Sans Japanese*/
		font-family: "Noto Sans Japanese";
		font-weight: 400;
}


@font-face {
	font-family: 'Josefin Sans';
	font-style: normal;
	font-weight: 400;
	src: url('https://niwaniwa.co.jp/skins/gartenblog/2022/fonts/JosefinSans-VariableFont_wght.ttf') format('truetype');
}

.josefin{

	font-family: 'Josefin Sans', sans-serif;
	font-weight: 400;
	letter-spacing: 0.1em;
}

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

.display_smp{

	display: none;
}

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

	.display_pc{

		display: none;
	}

	.display_smp{

		display: block;
	}
}


/*-------------------------------------------------
人気記事とかタグ記事表示とか
-------------------------------------------------*/
.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: #009E95; /* リンク文字の色 */
	text-decoration: none;
}
a:hover, a:active
{
	color: #009E95; /* リンク文字の色　ホバー時 */
	text-decoration: underline;
}

/*-------------------------------------------------
  ヘッダー header
-------------------------------------------------*/

:root{

	/* PCのヘッダーの高さを指定 */
	--header_height_pc:min(120px, 120vw/1180*100);

	/* スマホのヘッダーの高さを指定 */
	--header_height_smp:calc(150vw / 750 * 100);

}


#header
{
	position: fixed;
	top: 0;
	z-index: 999999;

	width: 100%;
	height: var(--header_height_pc);

	background: #fff url(images/) no-repeat;
	background: rgba(256,256,256,0.95);

	border-width: 0px 0px 0px 0px;
	border-style: solid;
	border-color: #E0E0E0;

	margin-top: 0;
}

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

	#header
	{
		height: var(--header_height_smp);

		margin: 0;
	}

	}


.logoandmenu /*ロゴ+メニュー帯*/
{
	width: 100%;
	max-width: 1180px;
	height: 100%;

	margin: auto;

	display: flex;
	align-items: center;
}

.logo /*ロゴエリア*/
{
	width: 37.5%;
	height: 100%;
	/* float: left; */
	z-index: 9999;
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;
}

.logo img
{
	width: min(370px,370vw/1180*100);
}

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

	.logoandmenu /*ロゴ+メニュー帯*/
	{
		display: block;
	}

	.logo /*ロゴエリア*/
	{
		width: 60%;
		float: left;
	}

	.logo img
	{
		width: calc(375vw / 750 * 100);
	}
	}



/*-------------------------------------------------
  ヒーローイメージ
-------------------------------------------------*/

.bg_heroimage /*ヒーローイメージの背景*/
{
	width: 100%;

	margin: var(--header_height_pc) auto 0 auto;
}

.heroimage /*ヒーローイメージの枠*/
{
	width: 100%;
	height: min(800px,800vw/1180*100);

	display: flex;
}

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

	.heroimage /*ヒーローイメージの枠*/
	{
		height: calc(800vw / 2000 * 100);
	}
}

.hi_l{

	width: calc(550% / 2000 * 100);
	height: 100%;

	background:url(images/bg_blue.jpg);

	position: relative;
	z-index: 12;
}

.hil_contents{

	position: absolute;
	top: 50%;
	left: calc(100vw / 2000 * 100);
	transform: translate(0%,-50%);

	color: #ffffff;

}

.hit1{

	display: block;
	width: min(910px,910vw/1180*100);

	margin-bottom: min(60px,60vw/1180*100);
}

.hit2{

	margin-bottom: min(50px,50vw/1180*100);

	font-size: min(33px,33vw/1180*100);
	line-height: 1em;
	font-weight: bold;
	letter-spacing: 0.05em;
}

.hil_contents h1{

	font-size: min(20px,20vw/1180*100);
	line-height: 1.8em;
	font-weight: 300;

	margin-block-start: 0;
    margin-block-end: 0;
}

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

	.bg_heroimage /*ヒーローイメージの背景*/
	{
		width: 100%;

		margin: var(--header_height_smp) auto 0 auto;
	}

	.heroimage /*ヒーローイメージの枠*/
	{
		width: 100%;
		height: auto;

		display: flex;
		flex-wrap: wrap;
	}

	.hi_l{

		order: 2;

		width: 100%;
		height: calc(415vw / 750 * 100);

		background:url(images/bg_blue.jpg);

		position: relative;
		z-index: 12;
	}

	.hil_contents{

		position: absolute;
		top: calc(-40vw / 750 * 100);
		left: calc(20vw / 750 * 100);
		transform: translate(0%,0);

		color: #ffffff;
		text-align: center;
	}

	.hit1{

		display: block;
		width: calc(712vw / 750 * 100);

		margin-bottom: calc(50vw / 750 * 100);
	}

	.hit2{

		width: 100%;

		margin-bottom: calc(50vw / 750 * 100);

		font-size:calc(34vw / 750 * 100);
		line-height: 1em;
		font-weight: bold;
	}

	.hil_contents h1{

		font-size: calc(26vw / 750 * 100);
		line-height: 1.8em;
		font-weight: 300;

		margin-block-start: 0;
		margin-block-end: 0;
	}
}

/*-------------------------------------------------
  フェードとズーム
https://www.esz.co.jp/blog/185.html
-------------------------------------------------*/

.main_imgBox {

	width: calc(1450% / 2000 * 100);
	height: 100%;

    overflow: hidden;
	position: relative;
 }


  .main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 24s 0s infinite;
    animation: anime 24s 0s infinite; }

	/* スライドの枚数に応じて増減する */
    .main_img:nth-of-type(2) {
      -webkit-animation-delay: 6s;
      animation-delay: 6s; }

    .main_img:nth-of-type(3) {
      -webkit-animation-delay: 12s;
	  animation-delay: 12s; }

	.main_img:nth-of-type(4) {
		-webkit-animation-delay: 18s;
		animation-delay: 18s; }

@keyframes anime {
    0% {
        opacity: 0;
	}

	/* 3÷スライド全体の秒数×100 */
    12.5% {
        opacity: 1;
	}

	/* 6÷スライド全体の秒数×100 */
    25% {
        opacity: 1;
	}

	/* 9÷スライド全体の秒数×100 */
    37.5% {
        opacity: 0;
         transform: scale(1.0);
                    z-index:9;
    }
    100% { opacity: 0 }
}


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

	.main_imgBox {

		order: 1;

		width:100%;
		height: calc(413vw / 750 * 100);

		overflow: hidden;
		position: relative;
	 }
}


/*-------------------------------------------------
  キャッチコピーエリア
-------------------------------------------------*/


.sub_catch /*サブページのキャッチ*/
{
	width:100%;

	padding: 75px 0;
	box-sizing: border-box;
	background:url(images/sub_header.jpg) center no-repeat;
	background-size:cover;

	margin: var(--header_height_pc) auto 0 auto;

}

.sub_catch h1{

	width: min(1180px,100%);

	padding: 0 30px;
	box-sizing: border-box;

	margin: auto;

	font-size: 16px;
	line-height: 1.8em;
	font-weight: 400;
	color: #ffffff;
	text-shadow: 1px 1px 5px black;

	margin-block-start: 0;
	margin-block-end: 0;
}

.sc_title{

	margin-bottom: 15px;

	font-size: 25px;
	line-height: 1em;
}

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

	.sub_catch /*サブページのキャッチ*/
	{

		width:100%;

		padding: calc(40vw / 750 * 100) 0;
		box-sizing: border-box;
		background:url(images/sub_header.jpg) center no-repeat;
		background-size:cover;

		margin: var(--header_height_smp) auto 0 auto;
	}

	.sub_catch h1{

		width: 100%;

		padding: 0 calc(40vw / 750 * 100);
		box-sizing: border-box;

		margin: auto;

		font-size: 13px;
		line-height: 1.8em;
		font-weight: 400;
		color: #ffffff;

		margin-block-start: 0;
		margin-block-end: 0;
	}

	.sc_title{

		margin-bottom: 15px;

		font-size: 20px;
		line-height: 1em;
	}
}

/*-------------------------------------------------
  Aboutus
-------------------------------------------------*/

.bg_aboutus{

	width: 100%;

	padding: min(200px,200vw/2000*100) 0 min(225px,225vw/2000*100) 0;
	box-sizing: border-box;

	position: relative;
}

.au1{

	display: block;
	width:min(950px,950vw/2000*100);

	position: absolute;
	top: min(75px,75vw/2000*100);
	left: 0;
}

.aboutus{

	width: min(1180px,100%);

	margin: auto;
}

.au_contents{

	width: min(590px,590vw/1180*100);

	margin:0 0 0 auto;

	position: relative;
}



.auc_title1{

	width: 100%;

	padding-left: min(30px,30vw/1180*100);
	box-sizing: border-box;

	margin-bottom: min(30px,30vw/1180*100);

	font-size: min(36px,36vw/1180*100);
	line-height: 1em;
	color: #009E95;
}

.auc_title2{

	width: 100%;

	padding-left: min(30px,30vw/1180*100);
	box-sizing: border-box;

	font-size: min(39px,39vw/1180*100);
	line-height: min(81px,81vw/1180*100);
	font-weight:500;
	letter-spacing: 0.1em;

}

.auc_title2 span{

	color: #009E95;
}

.auc_bot{

	width: 100%;

	padding:min(40px,40vw/1180*100) min(75px,75vw/1180*100) min(110px,110vw/1180*100) min(30px,30vw/1180*100);
	box-sizing: border-box;
	border-style: solid;
	border-color: #333333;
	border-width:0 1px 1px 0;
}

.auc_text{

	margin-bottom: min(50px,50vw/1180*100);

	font-size: min(20px,20vw/1180*100);
	line-height:1.8em;
}

.auc_link a{

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: min(50px,50vw/1180*100);

	border: solid 1px #333333;
	box-sizing: border-box;

	font-size: min(16px,16vw/1180*100);
	color: #333333;
}

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

	.bg_aboutus{

		width: 100%;

		padding: calc(50vw / 750 * 100) 0 0 0;
		box-sizing: border-box;

		position: relative;
	}

	.au1{

		display: block;
		width:100%;

		position: static;
		top: auto;
		left: auto;
	}

	.aboutus{

		width: 100%;

		padding:0 calc(20vw / 750 * 100);
		box-sizing: border-box;

		margin: auto;
	}

	.au_contents{

		width: 100%;

		margin:0;

		position: relative;
	}



	.auc_title1{

		width: 100%;

		padding-left: calc(40vw / 750 * 100);
		box-sizing: border-box;

		margin-bottom: calc(30vw / 750 * 100);

		font-size: calc(43vw / 750 * 100);
		line-height: 1em;
		color: #009E95;
	}

	.auc_title2{

		width: 100%;

		padding-left: calc(40vw / 750 * 100);
		box-sizing: border-box;

		font-size:calc(47vw / 750 * 100);
		line-height: 1.8em;
		font-weight:500;

	}

	.auc_title2 span{

		color: #009E95;
	}

	.auc_bot{

		width: 100%;

		padding:calc(50vw / 750 * 100) calc(90vw / 750 * 100) calc(135vw / 750 * 100) calc(35vw / 750 * 100);
		box-sizing: border-box;
		border-style: solid;
		border-color: #333333;
		border-width:0 1px 1px 0;
	}

	.auc_text{

		margin-bottom: calc(50vw / 750 * 100);

		font-size: calc(24vw / 750 * 100);
		line-height:1.8em;
	}

	.auc_link a{

		display: flex;
		align-items: center;
		justify-content: center;

		width: calc(565vw / 750 * 100);
		height: calc(60vw / 750 * 100);

		border: solid 1px #333333;
		box-sizing: border-box;

		margin: 0 auto 0 0;

		font-size: calc(19vw / 750 * 100);
		color: #333333;
	}
}

/*-------------------------------------------------
  タイトル
-------------------------------------------------*/

.bg_title{

	width: 100%;

	text-align: center;
}

.title_title1{

	width: 100%;

	margin-bottom: min(30px,30vw/1180*100);

	font-size: min(58px,58vw/1180*100);
	line-height: 1em;
}

.title_title2{

	width: 100%;

	font-size: min(18px,18vw/1180*100);
	line-height: 1em;
}

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

	.bg_title{

		width: 100%;

		text-align: center;
	}

	.title_title1{

		width: 100%;

		margin-bottom: calc(45vw / 750 * 100);

		font-size: calc(70vw / 750 * 100);
		line-height: 1em;
	}

	.title_title2{

		width: 100%;

		font-size: calc(26vw / 750 * 100);
		line-height: 1em;
	}
}
/*-------------------------------------------------
  Works
-------------------------------------------------*/

.bg_sekoujirei{

	width: 100%;

	padding-bottom: min(120px,120vw/1180*100);
	box-sizing: border-box;
}

.sekoujirei{

	width: min(1180px,100%);

	padding:0 min(60px,60vw/1180*100);
	box-sizing: border-box;

	margin: auto;
}

.sekoujirei_contents{

	width: 100%;

	margin-top: min(50px,50vw/1180*100);

	display: flex;
	gap: min(19.5px,19.5vw/1180*100);
}

.works_thum{

	width: min(250px,250vw/1180*100);
}

.bg_works_page{

	width: 100%;

	display: flex;
	flex-wrap: wrap;
	gap: 0 4%;
}

.wt_sub{

	width: 30%;

	margin-bottom: min(30px,30vw/1180*100);
}

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

	.bg_works_page{

		width: 100%;

		padding: 0 calc(25vw / 750 * 100);
		box-sizing: border-box;

		display: flex;
		flex-wrap: wrap;
		gap: 0 3.5%;
	}

	.wt_sub{

		width: 48%!important;

		margin-bottom:calc(40vw / 750 * 100)!important;
	}
}


.bg_wt{

}

.wt_date{

	display: none;
}

.wt_title{

	width: 100%;
	height: min(60px,60vw/1180*100);

	padding: min(15px,15vw/1180*100);
	padding-bottom: 0;
	box-sizing: border-box;

	font-size: min(14px,14vw/1180*100);
	line-height: 1.8em;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sekoujirei_link a{

	display: flex;
	align-items: center;
	justify-content: center;

	width: min(375px,375vw/1180*100);
	height: min(50px,50vw/1180*100);

	border: solid 1px #333333;
	box-sizing: border-box;

	margin: min(120px,120vw/1180*100) auto 0 auto;

	font-size: min(16px,16vw/1180*100);
	color: #333333;
}

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

	.bg_sekoujirei{

		width: 100%;

		padding: calc(130vw / 750 * 100) 0 calc(110vw / 750 * 100) 0;
		box-sizing: border-box;
	}

	.sekoujirei{

		width: 100%;

		padding:0 calc(35vw / 750 * 100);
		box-sizing: border-box;

		margin: auto;
	}

	.sekoujirei_contents{

		width: 100%;

		margin-top: calc(65vw / 750 * 100);

		display: flex;
		flex-wrap: wrap;
		gap:calc(17.5vw / 750 * 100) calc(39.5vw / 750 * 100);
	}

	.works_thum{

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

	.wt_date{

		display: block;
		width: 100%;

		padding: calc(15vw / 750 * 100);
		box-sizing: border-box;
		/*background: #C7C7C7;*/

		font-size: calc(24vw / 750 * 100);
		line-height: 1em;
	}

	.wt_date br{

		display:none;
	}

	.wt_title{

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

		padding: calc(5vw / 750 * 100) calc(15vw / 750 * 100) calc(25vw / 750 * 100) calc(15vw / 750 * 100);
		box-sizing: border-box;
		/*background: #dddddd;*/

		font-size: calc(24vw / 750 * 100);
		line-height: 1.8em;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.sekoujirei_link a{

		display: flex;
		align-items: center;
		justify-content: center;

		width: 100%;
		height: calc(80vw / 750 * 100);

		border: solid 1px #333333;
		box-sizing: border-box;

		margin: calc(75vw / 750 * 100) auto 0 auto;

		font-size: calc(26vw / 750 * 100);
		color: #333333;
	}
}

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

.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;
	display: block;
    width: 100%;
    height: auto;
}

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

/* トップページの表示 */
.bg_works_blogs{

	width: 100%;

	display: flex;
	flex-wrap: wrap;

	font-size: min(16px, 16vw/1180*100);
}

/* 施工例ページの表示 */
.bg_works_blogs_sub{

	width: 100%;

	display: flex;
	flex-wrap: wrap;

	font-size: min(16px, 16vw/1180*100);
}


.works_blogs
{
	width: 25%;

	padding: 0.5%;
	box-sizing: border-box;
}

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

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

		/* トップページの表示 */
		.bg_works_blogs{

			font-size: calc(26vw / 750 * 100);
		}

		/* 施工例ページの表示 */
		.bg_works_blogs_sub{

			font-size: calc(26vw / 750 * 100);
		}

		.works_blogs
		{
			width: 50%;

			padding: 0.5%;
			box-sizing: border-box;
		}

	}

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

.bg_date_title{

	display: flex;
	flex-wrap: wrap;
}


.date
{
	width: 25%;
	height: 100px;

	padding: 3%;
	box-sizing: border-box;
	background: #ededed;/* ベースデザイン1・5 */
	/* background: #F4E6D4;ベースデザイン2 */
	/* background: #F4EFDC;ベースデザイン3 */
	/* background: #FCEAD9;ベースデザイン4 */
	text-align: center;
}

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

	padding: 5% 8% 10% 8%;
	box-sizing: border-box;
	overflow: hidden;
	font-size: 0.8em;
	background: #f4f4f4;/* ベースデザイン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;
		}

	}

/*-------------------------------------------------
  お知らせ
-------------------------------------------------*/

.bg_oshirase{

	width: min(1180px,100%);

	margin: auto;
}

/*お知らせ*/
.oshirase
{
	width: 100%;
	height: 100%;
	display: block;
	background: #F2F2F2;
	padding: 2% 7%;
	box-sizing: border-box;
	border-bottom: 2px solid #fff;
	font-size: 1.05em;
	clear: both;
}

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

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

.oshirase_marker_r
{
	width: 2%;
	float: left;
	background: #C3AC6F;
	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_os{

	width: 100%;

	padding: min(75px,75vw/1180*100) 0;
	box-sizing: border-box;
	background: url(images/bg_blue.jpg);

	margin-top: min(200px,200vw/1180*100);

	position: relative;
}

.os1{

	width: min(765px,765vw/2000*100);
	height: min(1400px,1400vw/1180*100);

	background:url(images/os1.jpg) left top no-repeat;
	background-size: cover;

	position: absolute;
	top: -80px;
	right: 0;
}

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

	.os1{

		width: calc(550vw / 1600 * 100);
	}
}

.os_os{

	width: min(1180px,100%);

	margin: auto;

	position: relative;
	z-index: 99;
}

.bg_os_title{


}

.os_title1{

	width: min(590px,590vw/1180*100);

	padding: min(20px,30vw/1180*100) min(20px,30vw/1180*100) min(10px,30vw/1180*100) min(20px,30vw/1180*100);
	box-sizing: border-box;
	background: #ffffff;

	margin:0 min(60px,60vw/1180*100) min(25px,25vw/1180*100) auto;

	font-size: min(58px,58vw/1180*100);
	line-height: 1em;
}

.os_title1 span{

	color: #009E95;
}

.os_title2{

	width: min(335px,335vw/1180*100);

	padding:min(30px,10vw/1180*100) min(35px,35vw/1180*100);
	box-sizing: border-box;
	background: #ffffff;

	margin:0 min(60px,60vw/1180*100) min(25px,25vw/1180*100) auto;

	font-size: min(27px,27vw/1180*100);
	line-height: 1em;
	font-weight: 500;
}

.os_contents{

	width: min(765px,765vw/1180*100);

	padding: min(75px,75vw/1180*100) 0 min(75px,75vw/1180*100) min(25px,25vw/1180*100);
	box-sizing: border-box;
	border-bottom: dotted 3px #ffffff;

	margin: 0 auto 0 0;

	color: #ffffff;
}

.osc_title{

	width: 100%;

	margin-bottom: min(45px,45vw/1180*100);

	display: flex;

	font-size: min(30px,30vw/1180*100);
	line-height: 1.8em;
	font-weight: bold;
}

.osct_l{

	width: min(60px,60vw/1180*100);
}

.osc_text{

	padding-left: min(60px,60vw/1180*100);
	box-sizing: border-box;

	font-size: min(20px,20vw/1180*100);
	line-height: 1.8em;
}

.osc1{

	padding-top: 0;
}

.osc3{

	border-bottom: none;
}

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

	.bg_os{

		width: 100%;

		padding:0;
		box-sizing: border-box;
		background: url(images/bg_blue.jpg);

		margin-top:calc(135vw / 750 * 100);

		position: relative;
	}

	.os1{

		display: none;
	}

	.os_os{

		width: 100%;

		margin: auto;

		position: relative;
		z-index: 99;
	}

	.bg_os_title{

		width: 100%;

		padding: calc(288vw / 750 * 100) 0 calc(120vw / 750 * 100) 0;
		box-sizing: border-box;
		background: url(images/os1.jpg) no-repeat;
		background-size: cover;
		background-position-y: 8%;
	}

	.os_title1{

		width:calc(675vw / 750 * 100);

		padding: calc(30vw / 750 * 100) calc(30vw / 750 * 100) calc(20vw / 750 * 100) calc(30vw / 750 * 100);
		box-sizing: border-box;
		background: #ffffff;

		margin:0 0 calc(30vw / 750 * 100) auto;

		font-size:calc(66vw / 750 * 100);
		line-height: 1em;
	}

	.os_title1 span{

		color: #009E95;
	}

	.os_title2{

		width: calc(380vw / 750 * 100);

		padding:calc(20vw / 750 * 100) calc(40vw / 750 * 100);
		box-sizing: border-box;
		background: #ffffff;

		margin:0 0 0 auto;

		font-size: calc(31vw / 750 * 100);
		line-height: 1em;
	}

	.os_contents{

		width: 100%;

		padding: calc(75vw / 750 * 100) calc(35vw / 750 * 100);
		box-sizing: border-box;
		border-bottom: dotted calc(3vw / 750 * 100) #ffffff;

		margin: 0 auto 0 0;

		color: #ffffff;
	}

	.osc_title{

		width: 100%;

		margin-bottom:calc(35vw / 750 * 100);

		display: flex;

		font-size: calc(33vw / 750 * 100);
		line-height: 1.8em;
		font-weight: bold;
	}

	.osct_l{

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

	.osc_text{

		padding-left: calc(60vw / 750 * 100);
		box-sizing: border-box;

		font-size: calc(26vw / 750 * 100);
		line-height: 1.8em;
	}

	.osc1{

		padding-top: calc(110vw / 750 * 100);
	}

	.osc3{

		border-bottom: none;
	}
}

/*-------------------------------------------------
  受賞歴
-------------------------------------------------*/
.bg_awards{

	width: 100%;

	padding-bottom: min(60px,60vw/1180*100);
	box-sizing: border-box;
}

.awards_top{

	width: 100%;
	height: min(400px,400vw/1180*100);

	padding: min(120px,120vw/1180*100) 0;
	box-sizing: border-box;
	background:url(images/bg_aw.jpg) center no-repeat;
	background-size: cover;

	color: #ffffff;
	text-align: center;
}

.awt1{

	display: block;
	width: min(45px,45vw/1180*100);

	margin: 0 auto min(35px,35vw/1180*100) auto;
}

.awt2{

	width: 100%;

	margin-bottom: min(30px,30vw/1180*100);

	font-size: min(58px,58vw/1180*100);
	line-height: 1em;
}

.awt3{

	width: 100%;

	font-size: min(18px,18vw/1180*100);
	line-height: 1em;
}

.awards_contents{

	width: min(1180px,100%);

	padding: min(90px,90vw/1180*100);
	padding-bottom: 0;
	box-sizing: border-box;

	margin: auto;
}

.awc_text{

	width: 100%;
  display: block;
	margin: auto;
	margin-bottom: min(40px,40vw/1180*100);

	font-size: min(20px,20vw/1180*100);
	line-height: 1.8em;
	text-align: center;
}

.kazari{

	display: block;
	width: min(372px,372vw/1180*100);

	margin: 0 auto min(60px,60vw/1180*100) auto;
}

.bg_awards_thum{

	width: 100%;

	display: flex;
	flex-wrap: wrap;
	gap:min(60px,60vw/1180*100) min(119.5px,119.5vw/1180*100);
}

.awards_thum{

	width:min(440px,440vw/1180*100);
}

.awt_image{

	display: block;
	width: 100%;
}

.awt_text{

	width: 100%;
	height: min(80px,80vw/1180*100);

	font-size: min(17.5px,17.5vw/1180*100);
	line-height: 1.8em;
	text-align: center;

	display: flex;
	align-items: center;
	justify-content: center;

	position: relative;
}

.kakko_l{

	display: block;
	width: min(22px,22vw/1180*100);

	position: absolute;
	top: 50%;
	left: 0%;
	transform: translate(0,-50%);
}

.kakko_r{

	display: block;
	width: min(22px,22vw/1180*100);

	position: absolute;
	top: 50%;
	right: 0%;
	transform: translate(0,-50%);
}

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

	.bg_awards{

		width: 100%;

		padding-bottom:calc(80vw / 750 * 100);
		box-sizing: border-box;
	}

	.awards_top{

		width: 100%;
		height:auto;

		padding: calc(90vw / 750 * 100) 0;
		box-sizing: border-box;
		background:url(images/bg_aw_smp.jpg) center no-repeat;
		background-size: cover;

		color: #ffffff;
		text-align: center;
	}

	.awt1{

		display: block;
		width: calc(60vw / 750 * 100);

		margin: 0 auto calc(45vw / 750 * 100) auto;
	}

	.awt2{

		width: 100%;

		margin-bottom: calc(30vw / 750 * 100);

		font-size: calc(70vw / 750 * 100);
		line-height: 1em;
	}

	.awt3{

		width: 100%;

		font-size: calc(26vw / 750 * 100);
		line-height: 1em;
	}

	.awards_contents{

		width: 100%;

		padding: calc(85vw / 750 * 100) calc(15vw / 750 * 100) 0 calc(15vw / 750 * 100);
		padding-bottom: 0;
		box-sizing: border-box;

		margin: auto;
	}

	.awc_text{

		width: calc(635vw / 750 * 100);

		margin:0 auto calc(40vw / 750 * 100) auto;

		font-size: calc(26vw / 750 * 100);
		line-height: 1.8em;
		text-align: left;
	}


	.kazari{

		display: block;
		width: calc(372vw / 750 * 100);

		margin: 0 auto calc(45vw / 750 * 100) auto;
	}

	.bg_awards_thum{

		width: 100%;

		display: flex;
		flex-wrap: wrap;
		gap:calc(39.5vw / 750 * 100);
	}

	.awards_thum{

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

	.awt_image{

		display: block;
		width: 100%;
	}

	.awt_text{

		width: 100%;
		height: calc(60vw / 750 * 100);

		font-size: calc(14vw / 750 * 100);
		line-height: 1.8em;
		text-align: center;

		display: flex;
		align-items: center;
		justify-content: center;

		position: relative;
	}

	.kakko_l{

		display: block;
		width:calc(17vw / 750 * 100);

		position: absolute;
		top: 50%;
		left: 0%;
		transform: translate(0,-50%);
	}

	.kakko_r{

		display: block;
		width: calc(17vw / 750 * 100);

		position: absolute;
		top: 50%;
		right: 0%;
		transform: translate(0,-50%);
	}
}


/*-------------------------------------------------
  スタッフブログ
-------------------------------------------------*/

.bg_blog{

	width: 100%;

	padding: min(80px,80vw/2000*100) ;
	box-sizing: border-box;
	background: url(images/bg_blue.jpg);
}

.bg_blog2{

	width: 100%;

	background: #F2F2F2;
}

.blog_blog{

	width: min(1060px,1060vw/1180*100);

	padding: min(100px,100vw/2000*100) 0;
	box-sizing: border-box;

	margin: auto;
}

.bb_title{

	width: 100%;

	margin-bottom: min(50px,50vw/1180*100);

	text-align: center;
}

.bbt1{

	margin-bottom: min(30px,30vw/1180*100);

	font-size: min(58px,58vw/1180*100);
	line-height: 1em;
}

.bbt2{

	font-size: min(18px,18vw/1180*100);
	line-height: 1em;
}

.bb_thum{

	width: 100%;

	display: flex;
	justify-content: space-between;
}

.blogs_thum{

	width: min(250px,250vw/1180*100);
}

.bbt_date_title{

	width: 100%;
	height: min(80px,80vw/1180*100);

	display: flex;
}

.bbt_date{

	width: min(70px,70vw/1180*100);
	height: 100%;

	padding-top: min(15px,15vw/1180*100);
	box-sizing: border-box;

	font-size:min(14px,14vw/1180*100);
	line-height: 1.8em;
	color: #27456E;
	font-weight: 500;

	display: flex;
	justify-content: center;
}

.bbt_title{

	width: min(180px,180vw/1180*100);
	height: 100%;

	padding: min(15px,15vw/1180*100) min(10px,10vw/1180*100) 0 min(10px,10vw/1180*100);
	box-sizing: border-box;

	font-size: 13px;
	line-height: 1.8;

	display: -webkit-box;

    /* 省略の行数指定 */
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
	overflow: hidden;

}

.bbt_title > a{

	color: #333333;
}

.bb_link a{

	display: flex;
	align-items: center;
	justify-content: center;

	width: min(380px,380vw/1180*100);
	height: min(50px,50vw/1180*100);

	box-sizing: border-box;
	border: solid 1px #333333;

	margin: min(110px,110vw/1180*100) auto 0 auto;

	font-size: min(16px,16vw/1180*100);
	color: #333333;
}

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

	.bg_blog{

		width: 100%;

		padding:calc(70vw / 750 * 100) calc(35vw / 750 * 100);
		box-sizing: border-box;
		background: url(images/bg_blue.jpg);
	}

	.bg_blog2{

		width: 100%;

		background: #F2F2F2;
	}

	.blog_blog{

		width: 100%;

		padding:calc(70vw / 750 * 100) calc(12vw / 750 * 100) calc(135vw / 750 * 100) calc(12vw / 750 * 100);
		box-sizing: border-box;

	}

	.bb_title{

		width: 100%;

		margin-bottom: calc(80vw / 750 * 100);

		text-align: center;
	}

	.bbt1{

		margin-bottom: calc(40vw / 750 * 100);

		font-size: calc(65vw / 750 * 100);
		line-height: 1em;
	}

	.bbt2{

		font-size: calc(26vw / 750 * 100);
		line-height: 1em;
	}

	.bb_thum{

		width: 100%;

		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap:calc(17vw / 750 * 100) 0;
	}

	.blogs_thum{

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

	.bbt_date_title{

		width: 100%;
		height:auto;

		display: block;
	}

	.bbt_date{

		display: block;
		width: 100%;

		padding: calc(15vw / 750 * 100);
		box-sizing: border-box;
		/*background: #C7C7C7;*/

		font-size: calc(24vw / 750 * 100);
		line-height: 1em;
		color: #27456E;

	}

	.bbt_date br{

		display: none;
	}

	.bbt_title{

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

		padding: calc(5vw / 750 * 100) calc(15vw / 750 * 100) calc(25vw / 750 * 100) calc(15vw / 750 * 100);
		box-sizing: border-box;
		/*background: #dddddd;*/

		font-size: calc(24vw / 750 * 100);
		line-height: 1.8em;

		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;

	}

	.bbt_title > a{

		color: #333333;
	}

	.bb_link a{

		display: flex;
		align-items: center;
		justify-content: center;

		width: calc(560vw / 750 * 100);
		height: calc(75vw / 750 * 100);

		box-sizing: border-box;
		border: solid 1px #333333;

		margin: calc(50vw / 750 * 100) auto 0 auto;

		font-size: calc(24vw / 750 * 100);
		color: #333333;
	}
}




/*ボックス全体*/
.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;
}

/*クリックで中身表示*/
.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;
}

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

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

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

.bg_contents{

	width: 100%;

	padding: min(60px, 60vw/1180*100) 0 min(120px, 120vw/1180*100) 0;
	box-sizing: border-box;
}



/*-------------------------------------------------
  ボディー　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: #f4f4f4; */
	font-size: 1.3em;
	padding: 1.5%;
	box-sizing: border-box;
	border-bottom: solid 1px #333333;
	margin: 0;
	font-weight: normal;
}

.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; */
}

.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;
}

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

.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;
}

/*-------------------------------------------------
  施工例カテゴリ　背景
-------------------------------------------------*/
.bg_works_catpage{

	display: flex;
	flex-wrap: wrap;
}

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

.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;
}

	@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%;
	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%;
}

.sidebar
{

}

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


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

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
-------------------------------------------------*/
.bg_footer
{
	width: 100%;

	padding: min(60px,60vw/1180*100) 0 120px 0;
	box-sizing: border-box;
	background:url(images/bg_footer.jpg) center no-repeat;
	background-size: cover;

	color: #ffffff;
}

.footer
{
	width: min(1180px,100%);

	padding: 0 min(145px,145vw/1180*100);
	box-sizing: border-box;

	margin: auto;
}

	.footermenu{

		display: block;
		width: min(750px,750vw/1180*100);

		margin: auto;
	}

	.footermenu a{

		color: #ffffff;
	}

	.footer #menubutton{
		display: block;
		width: 20%;
		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;

		margin: 1% 0 0 0;
		font-size: 0.95em;
		overflow: hidden;
		white-space: nowrap;
	}

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

		.footermenu{

			display: none;
		}
	}

.sekou_area{

	width: min(885px,885vw/1180*100);

	padding: min(45px,45vw/1180*100) min(35px,35vw/1180*100);
	box-sizing: border-box;
	border: solid 1px #ffffff;

	margin:min(40px,40vw/1180*100) auto min(70px,70vw/1180*100) auto ;

	font-size: min(16px,16vw/1180*100);
	line-height: 1.8em;
	text-align: center;
}

.sa_title{

	width: 100%;

	margin-bottom: min(50px,50vw/1180*100);

	font-size: min(20px,20vw/1180*100);
	line-height: 1em;
}

.kaishajoho{

	width: 100%;

	font-size: min(16px,16vw/1180*100);
	line-height: 1.8em;
	text-align: center;
}


.kaishajoho a{

	color: #ffffff;
}

.kaishamei{

	font-size: min(20px,20vw/1180*100);
	line-height: 1em;

	margin-bottom: min(45px,45vw/1180*100);
}

.copyright{

	font-size: min(16px,16vw/1180*100);
	line-height: 1em;

	margin-top: min(30px,30vw/1180*100);
}

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

	.bg_footer
	{
		width: 100%;

		padding: calc(75vw / 750 * 100) 0 calc(150vw / 1180 * 100) 0;
		box-sizing: border-box;
		background:url(images/bg_footer.jpg) center no-repeat;
		background-size: cover;

		color: #ffffff;
	}

	.footer
	{
		width: 100%;

		padding: 0 calc(35vw / 750 * 100);
		box-sizing: border-box;

		margin: auto;
	}

	.sekou_area{

		width:100%;

		padding: calc(35vw / 750 * 100);
		box-sizing: border-box;
		border: solid 1px #ffffff;

		margin:0 auto calc(50vw / 750 * 100) auto ;

		font-size: calc(26vw / 750 * 100);
		line-height: 1.8em;
		text-align: center;
	}

	.sa_title{

		width: 100%;

		margin-bottom:calc(35vw / 750 * 100);

		font-size: calc(36vw / 750 * 100);
		line-height: 1em;
	}

	.kaishajoho{

		width: 100%;

		font-size: calc(26vw / 750 * 100);
		line-height: 1.8em;
		text-align: center;
	}

	.kaishamei{

		font-size:calc(36vw / 750 * 100);
		line-height: 1em;

		margin-bottom: calc(35vw / 750 * 100);
	}

	.copyright{

		font-size:calc(26vw / 750 * 100);
		line-height: 1em;

		margin-top: calc(35vw / 750 * 100);
	}
}

.bg_footer_contact
{
	width: 100%;
	height: 45px;

	display: flex;
	flex-wrap: nowrap;

	position: fixed;
	bottom: 0;
	z-index: 9000;


	/* box-shadow */
	box-shadow:0px 2px 13px -3px #000000;
	padding: 1px 0 0 0;
	background: #fff;
}

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

	.bg_footer_contact
	{
		font-size: calc(16vw / 400 * 100);
	}
}

.footer_tel
{
	display: flex;
	align-items: center;
	justify-content: center;

	width: 50%;
	height: 100%;

	background: #27456E;

	font-size: 1.3em;
}

.footer_mail
{
	display: flex;
	align-items: center;
	justify-content: center;

	width: 33%;
	height: 100%;

	background: #ffffff;
}

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

	.footer_mail span
	{
		display: none;
	}
}



.footer_gototop
{
	display: flex;
	align-items: center;
	justify-content: center;

	width: 17%;
	height: 100%;

	background: #ffffff;
}

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


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

.pagetop {
	width: 100%;
	height: 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: 100%;

	display: flex;
	align-items: center;
	justify-content: center;

	background: #B3B3B3; /*「このページのトップへ」ボタンの背景色*/

	font-size: 1.3em;
	color: #ffffff;
	font-weight: normal;
	text-decoration: none;


}

.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;

	position: relative;
}

/* 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;
}
