@charset "shift_jis"; 

/************************************************************
BASE
************************************************************/
body {
	font-size: 1em;
	color: #333333;
	line-height: 1.8em;
	font-family: "メイリオ","Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic","sans-serif";
	-webkit-text-size-adjust: 100%;/*iPhone文字自動拡大なくす*/
}
body#index{background:none;}
.wrapper{
	position:relative;
	display:block;
	width:100%;
	height: 100vh;
	margin:0;
	clear:both;
	float:none;
}
.inner{
	position:relative;
	width:1140px;/*サイトの幅に調整*/
	margin-left:auto;
	margin-right:auto;
	clear:both;
	float:none;
}
.innerFull{
	position:relative;
	width:96%;
	max-width:1800px;
	min-width:1400px;
	margin-left:auto;
	margin-right:auto;
	clear:both;
	float:none;
}

/*h1{}ヘッダーロゴ*/
h2{
	color:#be1d12;
	font-family: Tahoma, Verdana,Arial, Helvetica, "メイリオ","Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic",sans-serif;
	text-align:center;
	font-size:2.4em;
	line-height:1.6em;
	margin-bottom:40px;
}
#index h2{
	font-size:2.8em;
}
h2 span{
	display:block;
	font-size:0.6em;
	line-height:1.5em;
}

h2.titleIco,
#index h2.titleIco{
	display:table;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	font-size:1em;
}
h2.titleIco span{
	display:table-cell;
	vertical-align:middle;
	color:#be1d12;
	font-family: Tahoma, Verdana,Arial, Helvetica, "メイリオ","Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic",sans-serif;
	text-align:center;
	font-size:2.4em;
	line-height:1.6em;
	padding-left:3px;
	padding-right:3px;

}
h2.titleIco span span{
	font-size:0.6em;
	line-height:1.5em;
	padding-bottom:15px;
}
h2.titleIco span.titleImg{
	padding-left:4px;
	padding-right:4px;
}



h3{
		color:#be1d12;
		border-bottom:#be1d12 solid 2px;
		margin-bottom:20px;
		font-size:1.7em;
		line-height:1.3em;
}
h3 span.historyBack{
	float:right;
	min-width:180px;
	font-size:0.6em;
	line-height:1em;
	font-weight:bold;
	text-align:center;
	background:#eeeeee;
	padding:5px 10px;
}
.historyBack a{
	text-decoration:none;
}
h3 span.h3-s{
	color:#333333;
	font-size:0.6em;
	line-height:1.2em;
	font-weight:bold;
	display:block;
}
h3:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
h4{
		color:#be1d12;
		font-size:1.6em;
		line-height:1.2em;
		padding:10px 0;
}
h5{
	background:#be1d12;
	border:#be1d12 solid 1px;
	padding:10px;
	font-size:1.2em;
	/*font-weight:bold;*/
	color:#ffffff;
	margin-bottom:20px;
}
/************************************************************
ヘッダー・フッター
************************************************************/
#header{
	position:relative;
	padding:10px;
	z-index:1;
	background: rgba(255,255,255,0.8);
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-o-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	}
#header h1{ margin-right:auto;}
#header h1 img{
	display:block;
	vertical-align:baseline;
	}

.h-tel{
	font-family: Tahoma, Verdana,Arial, Helvetica,sans-serif;
	font-weight:bold;
	font-size:1.4em;
	line-height:1em;
	color:#be1d12;
	white-space:nowrap;
	text-align:right;
	}
.h-tel span{
	display: inline-block;
  vertical-align: middle;
	font-size:0.6em;
	line-height:1em;
	color:#222;
	margin-right:5px;
	margin-bottom:4px;
	text-align:right;
	}
.h-sns{
	display:flex;
	gap:5px;
	padding-top:10px;
	}
#header .sns,
header .sns{
	display:block;
	width:30px;
	}
#header .sns img,
header .sns img{
	max-width:100%;
	height:auto;
	}
#header a,
header a{
	text-decoration:none;
}

/*エリア*/
.area li{display:inline-block; padding:0 5px;}

/*footer*/
#footer{
	display:block;
	position:relative;
	clear:both;
	float:none;
	background:rgba(255,255,255,0.8);	/*白*/
	padding:15px 0 10px;
	width:100%;
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-o-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
  z-index: 300;
  overflow: none;
}

#footer.show {
  bottom:0px;
  -moz-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
}
#index #footer{
	bottom:0;
}
#footer a{
	text-decoration:none;
}
.f-address{
	font-size:0.82em;
	line-height:1.3em;
}
.f-tel{
	font-family: Tahoma, Verdana,Arial, Helvetica,sans-serif;
	font-weight:bold;
	font-size:1.6em;
	line-height:1em;
	color:#be1d12;
}
.f-tel a{
	color:#be1d12;
}
.f-table td{
	padding-right:20px;
	font-weight:bold;
}
.f-table td:last-child{
	padding-right:0;
}
.f-table a{
	color:#222;
}
.f-table a:hover{
	color:#be1d12;
}
.f-sitemap td{
	font-size:0.8em;
	line-height:1.3em;
	padding-right:30px;
	text-align:center;
}
.f-sitemap td:last-child{
	padding-right:0;
}
.f-sitemap td a{
	color:#222;
	display:block;
	padding-bottom:2px;
}
.f-sitemap td a:hover{
	color:#be1d12;
	padding-bottom:0;
	border-bottom:#be1d12 solid 2px;
}
.f-sitemap td.pagetop a{
	display:block;
	padding:5px;
	text-align:center;
	font-size:0.9em;
	border:#be1d12 solid 1px;
	        border-radius:5px;
	   -moz-border-radius:5px;
	-webkit-border-radius:5px;
behavior: url(../css%20-%20Copy/border-radius.htc); /* IE */
}
.pagetop a:hover{
	background:#be1d12;
	color:#ffffff;
}
.fixed_orderBtn{
	position:fixed;
	right:0;
	top:100px;
	z-index:99;
	}
.fixed_orderBtn p{ margin-bottom:10px;}
.fixed_orderBtn .fx-btn1 a{
	background-color:#0066CC;
	display:block;
	height:100%;
	border-radius: 10px 0 0  10px/ 10px 0 0 10px;
	-moz-border-radius: 10px 0 0  10px/ 10px 0 0 10px;
	-webkit-border-radius: 10px 0 0  10px/ 10px 0 0 10px;
	}
.fixed_orderBtn .fx-btn1 a:hover,
.fixed_orderBtn .fx-btn1 a:active{
	background-color:#00478E;
	}
.fixed_orderBtn .fx-btn2 a{
	background-color:#be1d12;
	display:block;
	height:100%;
	border-radius: 10px 0 0  10px/ 10px 0 0 10px;
	-moz-border-radius: 10px 0 0  10px/ 10px 0 0 10px;
	-webkit-border-radius: 10px 0 0  10px/ 10px 0 0 10px;
	}
.fixed_orderBtn .fx-btn2 a:hover,
.fixed_orderBtn .fx-btn2 a:active{
	background-color:#850f07;
	}
.fixed_orderBtn img{
	width:60px;
	}
.fixed_orderBtn a:hover img,
.fixed_orderBtn a:active img{
	opacity:1;
	}

/************************************************************
共通（ナビ・contents・他）
************************************************************/
/*#navはactive.cssに記載*/
#nav{}
#secondImg{
	height:230px;
	}
#contents{
	display:block;
	position:relative;
	clear:both;
	/*background:#ffffff;*/
	padding:50px 0;
	}
#contents.bamboo{
	background:#ffffff url(../images/common/bamboo.jpg) right top no-repeat fixed;
	}
	
/*四季*/
.swiperSeasonFixed{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	height:100vh;
	z-index:-1;
	}
.swiperSeasonBg{
	min-width:100%;
	min-height:100%;
	}
.swiperSeasonBg img{
	min-width:100%;
	min-height:100%;
	vertical-align:bottom;
	}

.swiperSeasonBg .swiper-slide{
	min-width:100%;
	height:100vh;
	vertical-align:bottom;
	}
.swiperSeasonBg .sw-season1{
	background:url(../images/index/season1.jpg) center center no-repeat;
	background-size:cover;
	}
.swiperSeasonBg .sw-season2{
	background:url(../images/index/season2.jpg) center center no-repeat;
	background-size:cover;
	}
.swiperSeasonBg .sw-season3{
	background:url(../images/index/season3.jpg) center center no-repeat;
	background-size:cover;
	}
.swiperSeasonBg .sw-season4{
	background:url(../images/index/season4.jpg) center center no-repeat;
	background-size:cover;
	}
/*ビンテージ風？*/
.swiperSeasonBg .sw-season1b{
	background:url(../images/index/season1b.jpg) center center no-repeat;
	background-size:cover;
	}
.swiperSeasonBg .sw-season2b{
	background:url(../images/index/season2b.jpg) center center no-repeat;
	background-size:cover;
	}
.swiperSeasonBg .sw-season3b{
	background:url(../images/index/season3b.jpg) center center no-repeat;
	background-size:cover;
	}
.swiperSeasonBg .sw-season4b{
	background:url(../images/index/season4b.jpg) center center no-repeat;
	background-size:cover;
	}



.titleLL{
	background:#be1d12;
	color:#ffffff;
	padding:40px 10px;
	text-align:center;
	font-size:1.8em;
	line-height:1.4em;
	margin-bottom:40px;
}

.inview_fadeInUp{
	opacity: 0;
	}
/************************************************************
トップページ
************************************************************/

#mainImg2025{
	display:block;
	position:relative;
	color:#ffffff;
	background:#dbe2e2 url(../images/index/mainImg2025b.jpg) center center no-repeat;
	/*background-size:cover;*/
	/*min-width:1560px;*/
	height:700px;
	overflow:hidden;
}

.mainBg{
	position:relative;
	}

.swiperMain img{ width:100%; height:auto; vertical-align:bottom;}

#mainImg2025 a{text-decoration:none;}
.mainTxtWrap{
	position:absolute;
	bottom: 52%;
	right:50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	min-width:1140px;
	text-align:center;
	z-index:1;
	}
.mainTxtWrap h1{
	text-shadow: 2px 2px 0px #000000;
	opacity: 0;
	}

.mainTxt{
	font-size:1.9em;
	line-height:1em;
	text-align:center;
	padding-top:10px;
	margin-bottom:40px;
	font-weight:100;
	text-shadow: 2px 2px 0px #000000;
	opacity: 0;
}
.mainTxt2{
	margin-top:10px;
	font-size:2.4em;
	line-height:1.3em;
	text-align:center;
	font-weight:bold;
	text-shadow: 2px 2px 0px #000000;
	opacity: 0;
}
.mainTxt3{
	display:inline-block;
	margin-top:10px;
	font-size:1.3em;
	line-height:1.3em;
	font-weight:bold;
	/*background:rgba(0,0,0,0.7);*/
	background:rgba(190,29,18,.9);
	padding:15px;
	opacity: 0;
}


.txtSdw_black{
	text-shadow: 1px 1px 1px #000000;
}
/**/
.mainBtn2{
	border:#ffffff solid 4px;
	background:url(../images/index/mainBtn2bg.jpg);
	padding:16px;
	/*順序 横・下・ぼかし・広がり・色*/
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-o-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
}
.mainBtn2 li{
	float:left;
	/*4つ
	width:260px;
	margin-right:20px;
	*/
	width:208px;
	margin-right:15px;
	text-align:center;
	}
	/*.mainBtn2 li:nth-child(4n){ margin-right:0;}*/
	.mainBtn2 li:nth-child(5n){ margin-right:0;}

.mainBtn2 li a{
	display:block;
	color:#ffffff;
	font-weight:bold;
	text-shadow: 1px 1px 1px #000000;
	line-height:1.5em;
}


/**/
.mainBtn2025{
	display:flex;
	justify-content:space-between;
	width:1400px;
	margin-left:auto;
	margin-right:auto;
	}
.mainBtn2025 li{
	background:rgba(255,255,255,0.75);
	border-radius:10px;
	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	overflow:hidden;
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0 0 3px 0px rgba(0,0,0,0.5);
	-o-box-shadow: 0 0 3px 0px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 0 3px 0px rgba(0,0,0,0.5);
	}
.mainBtn2025 li a{
	display:block;
	position:relative;
	height:100%;
	color:#222;
	font-weight:bold;
	line-height:1.3em;
}
.mainBtn2025 li a:hover,
.mainBtn2025 li a:active{
	color:#be1d12;
	}
.mainBtn2025 .mainBtnImg{
	position:relative;
	width:208px;
	height:100px;
	}
.mainBtn2025 .mainBtnImg img{
	position:absolute;
	bottom: 50%;
	right:50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	}
.mainBtnTxt{
	padding:10px 0;
	text-shadow: 1px 1px 1px #ffffff;
	}


.mainBtn2025b{
	position:absolute;
	bottom:-10px;
	right: 50%;
	-webkit-transform: translateX(50%);
	-ms-transform: translateX(50%);
	transform: translateX(50%);
	width:1140px;
	display:flex;
	justify-content:space-between;
	margin-left:auto;
	margin-right:auto;
	gap:20px;
}
.mainBtn2025b li{
	}
.mainBtn2025b li a{
	display:block;
	position:relative;
	color:#222;
	font-weight:bold;
	line-height:1.3em;
	background:#fff;
	border-radius:50%;
	-moz-border-radius:50%;
	-webkit-border-radius:50%;
	overflow:hidden;
	box-shadow: 0 0 14px 0px rgba(255,255,255,1);
	-moz-box-shadow: 0 0 14px 0px rgba(255,255,255,1);
	-o-box-shadow: 0 0 14px 0px rgba(255,255,255,1);
	-webkit-box-shadow: 0 0 14px 0px rgba(255,255,255,1);
}
.mainBtn2025b li a:hover,
.mainBtn2025b li a:active{
	color:#be1d12;
	}
.mainBtn2025b .mainBtnImg img{
	max-width:100%;
	height:auto;
	}
.mainBtn2025b .mainBtnTxt{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:40%;
	padding:10px 0;
	text-align:center;
	}






/**/
.ani_delay05{/* 0.5秒待ってからアニメーションする */
  -webkit-animation-delay:0.5s;
  animation-delay:0.5s;
  }
.ani_delay10{/* 1秒待ってからアニメーションする */
  -webkit-animation-delay:1s;
  animation-delay:1s;
  }
.ani_delay15{/* 1.5秒待ってからアニメーションする */
  -webkit-animation-delay:1.5s;
  animation-delay:1.5s;
  }




/*scrollボタン***************************************/

.scroll{
	position:absolute;
	bottom:120px;
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index:99;
}

.scroll a {
	color:#ffffff;
	text-align:center;
	position:relative;
	padding-top:24px;
	font-size:0.8em;
	line-height:1;
}
.scroll a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    -webkit-transform: rotate(-45deg) translate(-5px, 5px);
  }
  40% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    transform: rotate(-45deg) translate(-5px, 5px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}
@media only screen and (max-height: 740px){
	.scroll{display:none; opacity:0;}
}

/************************************************************
実績紹介
************************************************************/
.results{
	overflow:hidden;
}
.results li{
	margin-bottom:40px;
}
.results li > *{
	opacity: 0;
}
.results .resultsPhoto{
	position:relative;
	background:#f7f7f7;
	padding-top:75%;
	overflow:hidden;
	margin-bottom:10px;
	}
.resultsPhoto img{
	position:absolute;
	bottom: 50%;
	right:50%;
	-webkit-transform: translate(50%,50%);
	-ms-transform: translate(50%,50%);
	transform: translate(50%,50%);
	display:block;
	max-width:100%;
	max-height:100%;
	width:auto;
	height:auto;
}
.resultsDate{
	font-size:0.7em;
	line-height:1;
	margin-bottom:3px;
}
.resultsWord{
	font-weight:bold;
	margin-right:140px;
}
.resultsWord span{
	display:inline-block;
	margin-right:10px;
}
.resultsTitle{
	font-size:0.9em;
	line-height:1.5em;
	height: 4.2em;/*高さは必須*/
	overflow-wrap: break-word;/*強制折返*/
	overflow : hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;/*行数*/
}
.resultsMore{
	width:130px;
	float:right;
}
.resultsMore a{
	display:block;
	background:#be1d12;
	color:#ffffff;
	text-align:center;
	font-size:0.9em;
	line-height:1;
	padding:10px;
	text-decoration:none;
}
.resultsMore a:hover{
	background:#98170e;
}

/************************************************************
共通
************************************************************/
.photoList img{
	width:100%;
	height:auto;
}
/************************************************************
事例紹介
************************************************************/
.resultsCategory{
}
.resultsCategory li{
	border:#be1d12 solid 1px;
	margin-bottom:10px;
}
.resultsCategory a{
	display:block;
	position:relative;
	border:#ffffff solid 1px;
	height:52px;
	overflow:hidden;
	font-size:0.9em;
	line-height:1.3em;
	color:#333333;
	text-decoration:none;
}
.resultsCategory a:hover{
	background:#f7f7f7;
	color:#be1d12;
}
.resultsCategory img{
	float:left;
	display:block;
	max-height:100%;
	width:auto;
	vertical-align:middle;
}
.resultsCategory p{
	position:absolute;
	top: 50%;
	left:55px;
	font-size:0.9em;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.resultsArea{
	font-size:0.9em;
	line-height:1.5em;
	overflow-y:scroll;
	height:182px;
	border-bottom:#cccccc solid 1px;
	background:#ffffff;
	padding:5px;
}
.resultsArea span{
	display:inline-block;
	font-size:0.9em;
	line-height:1.3em;
}
.resultsAreaBtn{
	padding-bottom:5px;
	border-bottom:#cccccc solid 1px;
}
.resultsAreaBtn p{
	display:inline;
	margin:2px;
	width:15%;
}
.resultsAreaBtn p a{
	display:inline-block;
	background:#be1d12;
	color:#ffffff;
	text-align:center;
	text-decoration:none;
	font-weight:bold;
	font-size:0.9em;
	line-height:1em;
	padding:5px;
	        border-radius:5px;
	   -moz-border-radius:5px;
	-webkit-border-radius:5px;
	behavior: url("border-radius.htc");
}
/************************************************************
会社案内
************************************************************/
.greeting{
	margin-top:-50px;
	padding:80px 40px ;
	min-height:580px;
	background:url(../images/profile/greetingImg.png) center center no-repeat;
	font-family:"HGS行書体", "HGP行書体" , cursive;
	font-size: 1.2em; line-height:1.5em;
	margin-bottom:20px;
	text-align:center;
}

.historyTxt{
	width:400px;
	padding-top:20px;
}

.historyPhoto{
	width:710px;
	min-height:350px;
}
.history01{	position:relative;}
.history01 .historyPhoto1{ position: absolute; left:0; top:0;}
.history01 .historyPhoto1txt{ position:absolute;left:-25px; bottom:0; font-size:0.8em; line-height:1.3em;}
.history01 .historyPhoto2{ position: absolute; left:360px; top:0;}
.history01 .historyPhoto3{ position: absolute; right:0; bottom:0;}

.history02{	position:relative;}
.history02 .historyPhoto1{ position:absolute; left:0; top: 0;}
.history02 .historyPhoto2{ position: absolute; left:150px;  bottom:0;;}
.history02 .historyPhoto3{ position: absolute; right:0; top:0;}

.history03{ min-height:110px;}
.history03 p{
	float:left;
	width:170px;
	margin-right:10px;
}
.history03 p:nth-child(4n){margin-right:0;}
.history03 p:nth-child(odd){padding-top:75px;}

.history03-2{ float:none; clear:both; width:1070px; margin-left:70px;}
.history03-2 p{
	float:left;
	width:170px;
	margin-right:10px;
	margin-top:-65px;
}
.history03-2 p:nth-child(odd){padding-top:75px;}
.history03-2 p:nth-child(6n){margin-right:0;}


.history04{	position:relative;}
.history04 .historyPhoto1{ float:left;}
.history04 .historyPhoto2{ float:right;}
.history04 .historyPhoto2txt {position:absolute; bottom:0; right:-130px; font-size:0.8em; line-height:1.3em;}



/*******************************************
地鎮祭について
*******************************************/

dl.jichinsai2{}
	.jichinsai2 dt{ float:left; width:15%; color:#be1d12; font-size:1.2em;}
	.jichinsai2 dd{ float:left; width:85%;}

.jichinsai3wrap{}
	.jichinsai3L{float:left; width:52%;}
	.jichinsai3R{float:right; width:46%; border:#cccccc solid 1px; padding:10px; margin-left:2%; font-size:0.9em;}
		.jichinsai3R ol{float:left; width:50%;}


.jichinsai4{}
	.jichinsai4ttl{ background:#be1d12; color:#ffffff; font-weight:bold; padding:10px; text-align:center;}

	.btn a{
		display:block;
		background:#be1d12;
		text-decoration:none;
		color:#ffffff;
		font-weight:bold;
		text-align:center;
		padding:5px;
		border-radius:20px;
		-moz-border-radius:20px;
		-webkit-border-radius:20px;
		behavior: url(border-radius.htc); /* IE */
		}
	.btn a:hover,
	.btn a:active{ background:#820000;}
