@charset "UTF-8";


@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;700&family=Questrial&display=swap');

/****************
* 全体
*****************/

*{
	margin: 0;
}
body{
}
img{
	display: inline;
}
ul{
	list-style: none;
}
h3{
	font-family: 'Questrial', sans-serif;
	font-weight: normal;
}
a {
	color: #000;
	text-decoration: none;
}

.clearfix::after{
	content: "";
	clear: both;
	display: block;
}

.fl-right{
	float: right;
}
.fl-left{
	float: left;
}
.js-fadein{
	opacity: 0;
}
.fadein{
	transition: opacity 1s;
	opacity: 1;
}

.icon-p{
	width: 1rem;
	display: inline!important;
	position: static!important;
	margin-right: 0.3rem;
	vertical-align: middle;
}

/* 1024px以上 */
@media (min-width: 1024px){
	.none_pc {
		display: none;
	}
	br.sp{
		display:none;
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	.none_tb {
		display: none;
	}
	br.sp{
		display:none;
	}
}
/* 479px以下 */
@media (max-width: 479px){
	.none_sp {
		display: none;
	}

	br.sp{
		display:inline;
	}
}

/****************
* ヘッダ
*****************/

header{
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
	background-image: -webkit-linear-gradient(top, #15140F 0%, #34312C 97%);
	background-image: linear-gradient(-180deg, #15140F 0%, #34312C 97%);

	font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
header a{
	color: #fff;
}

header h2{
	text-align: center;
	color: #fff;
	font-size: 150%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
}

header nav ul a:hover{
	color: #f6ab3b;
	text-shadow: 0 0 5px #f6ab3b,0 0 8px #f6ab3b;
}

/* 1023px以上 */
@media (min-width: 1024px){
	header{
		padding-bottom: 100px;
	}
	header nav{
		padding-top: 20px;
	}
	header nav ul{
		margin-left: 60px;
		padding-left: 15px;
		border-left: 1px solid #fff;
	}

	header nav ul li{
		padding: 4px 0;
		font-size: 14px;
	}
	header #title_image{
		text-align: center;
	}
	header #title_image img{
		display: inline;
		width: 600px;
	}
}

/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	header{
		padding-bottom: 0;
	}
	header nav{
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	header nav ul{
		margin: 0 auto;
	}

	header nav ul li{
		display: inline-block;
		width: 30%;
		text-align: center;
		font-size: 14px;
	}
	header #title_image{
		text-align: center;
	}
	header #title_image img{
		display: inline;
		width: 500px;
	}
	header #title_image_sp{
		display: none;
	}
}

/* 479px以下 */
@media (max-width: 479px){
	header{
		padding-bottom: 0;
	}
	header nav{
		position: absolute;
		top: 50px;
		right: 0;
		padding: 10px;
		transition: all 0.4s;
		opacity: 0;
	}
	header nav.active{
		opacity: 1;
	}
	header nav ul{
		background: rgba(128,128,128,0.9);
		border-radius: 10px;
	}
	header nav ul li{
		padding: 10px;
	}
	header nav ul li a{
		color: #fff;
	}

	header .menu-button{
		position: relative;
		cursor: pointer;
		width: 70px;
		height: 50px;
		top: 0;
		left: calc(100% - 70px);
	}
	header .menu-button span{
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: 14px;
		height: 2px;
		border-radius: 2px;
		background-color: #fff;
		width: 45%;
	}
	header .menu-button span:nth-of-type(1){
		top: 15px;
	}
	header .menu-button span:nth-of-type(2){
		top: 23px;
	}
	header .menu-button span:nth-of-type(3){
		top: 31px;
	}
	header .menu-button.active span:nth-of-type(1){
		top: 20px;
		transform: rotate(45deg);
	}
	header .menu-button.active span:nth-of-type(2){
		opacity: 0;
	}
	header .menu-button.active span:nth-of-type(3){
		top: 20px;
		transform: rotate(-45deg);
	}


	header #title_image{
		display: none;
	}
	header #title_image_sp{
		display: block;
		text-align: center;
		padding-top: 1rem;
	}
	header #title_image_sp img.img-00{
		width: 60%;
	}
	header #title_image_sp img.img-01{
		width: 98%;
		margin-top: 20px;
	}
	header h2{
		padding-top: 2rem;
		font-size: 2rem;
	}
}

/****************
* スライド
*****************/

@keyframes infinity-scroll-left {
	from {
		transform: translatex(0);
	}
	to {
		transform: translatex(-100%);
	}
}

/* 1024px以上 */
/*_:-ms-lang(x)::-ms-backdrop,*/
.carousel{
	display: -ms-grid;
	overflow: hidden;
	max-width: 100%;
	padding: 100px 0;
}
.carousel .carousel-wrap{
	display: flex;
	overflow: hidden;
	max-width: 100%;
}
.carousel ul{
	display: flex;
	animation :infinity-scroll-left 95s infinite linear 0.5s both;
}
.carousel ul li{
	padding: 0 40px;
}
.carousel ul li img{
	width: 280px;
	max-width: none;
}

/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	.carousel{
		padding: 50px 0;
	}
	.carousel ul li{
		padding: 0 30px;
	}
	.carousel ul li img{
		width: 150px;
		max-width: none;
	}
}

/* 479px以下 */
@media (max-width: 479px){
	.carousel{
		padding: 50px 0;
	}
	.carousel ul li{
		padding: 0 20px;
	}
	.carousel ul li img{
		width: 120px;
		max-width: none;
	}
}

/****************
* プレコ建築部
*****************/

article.pleco{
	background-color: #f7f6f4;
	background-repeat: no-repeat,no-repeat;
	background-position: top right,bottom left;
	background-image: url(../img/bg_03.jpg),url(../img/bg_02.jpg);
	padding-bottom: 0;
}
article.pleco > div{
	padding-bottom: 3rem;
}

article.pleco h3{
	font-size: 2rem;
	line-height: 150%;
	margin-bottom: 1rem;
}
.pleco-anchor{
	text-align: right;
	padding-top: 2rem;
}

/* 1024px以上 */
@media (min-width: 1024px){
	article.pleco{
		padding-top: 100px;
		padding-left: 150px;
		padding-right: 150px;
		padding-bottom: 0;
		background-size: 50%,50%;
	}
	article.pleco p{
		line-height: 3rem;
	}
	.pleco-00:after{
		content: "";
		clear: both;
		display: block;
	}
	.pleco-00 .img-00{
		width: 45%;
		float: left;
		text-align: center;
	}
	.pleco-00 .img-00 img{
		border-radius: 20px;
		width: 60%;
	}
	.pleco-00 .inner{
		margin-left: 50%;
	}
	.pleco-01{
		position: relative;
		right: 2rem;
	}
	.pleco-01:before{
		content: "";
		display: block;
		padding-top: 37rem;
	}
	.pleco-01 .inner,
	.pleco-01 img{
		position: absolute;
	}
	.pleco-01 .inner{
		top: 11rem;
		right: 2rem;
	}
	.pleco-01 .img-00{
		top: 0;
		right: 0;
		width: 10rem;
	}
	.pleco-01 .img-01{
		width: 10rem;
		top: 16rem;
		right: 24rem;
	}
	.pleco-01 .img-02{
		width: 10rem;
		bottom: 0;
		right: 0;
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	article.pleco{
		padding-top: 50px;
		padding-left: 50px;
		padding-right: 50px;
		padding-bottom: 0;
		background-size: 50%,50%;
	}
	article.pleco h3{
		font-size: 3rem;
		line-height: 150%;
		margin-bottom: 3rem;
	}
	article.pleco p{
		line-height: 3rem;
	}
	.pleco-00 .inner p{
		width: 50%;
	}
	.pleco-01{
		position: relative;
	}
	.pleco-01:before{
		content: "";
		display: block;
		padding-top: 33rem;
	}
	.pleco-01 .inner,
	.pleco-01 img{
		position: absolute;
	}
	.pleco-01 .inner{
		top: 0;
		right: 0;
		width: 25rem;
		z-index: 99;
	}
	.pleco-01 .inner p{
		width: 19rem;
	}
	.pleco-01 .img-00{
		width: 9rem;
		top: 6rem;
		right: 0;
	}
	.pleco-01 .img-01{
		width: 8rem;
		top: 19rem;
		right: 26rem;
	}
	.pleco-01 .img-02{
		width: 10rem;
		bottom: 0;
		right: 0;
	}
}
/* 479px以下 */
@media (max-width: 479px){
	article.pleco{
		padding-top: 2rem;
		padding-left: 2rem;
		padding-right: 2rem;
		padding-bottom: 0;
		background-size: 70%,80%;
		height: 570%;
	}
	article.pleco h3{
		font-size: 3rem;
		line-height: 150%;
		margin-bottom: 3rem;
	}
	article.pleco p{
		font-size: 0.8rem;
		line-height: 2.5rem;
		margin-bottom: 2rem;
	}
	.pleco-02 .img-00{
		border-radius: 20px;
	}
	.pleco-03 .upper{
		display: flex;
		align-items: flex-end;
	}
	.pleco-03 .img-00{
		width: 59%;
	}
	.pleco-03 .img-01{
		width: 39%;
	}
	.pleco-03 .lower{
		text-align: right;
	}
	.pleco-03 .img-02{
		width: 80%;
	}
}

/****************
* 施工例(共通)
*****************/

article.example{
	background-repeat: no-repeat;
	background-position: top left;
	background-size: cover;
	background-image: -webkit-radial-gradient(27% 185%, #F9F6F1 0%, #D7D0C5 100%);
	background-image: radial-gradient(27% 185%, #F9F6F1 0%, #D7D0C5 100%);
	margin: 0;
	padding: 0;
}

article.example p{
	font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
article.example .example-detail{
	background-color: #f9f0e5;
	max-width: 100%;
}
article.example .example-detail h4{
	font-weight: normal;
	border-bottom: 1px solid #000;
}

article.example .example-detail ul{
	padding-left: 1.5rem;
}
article.example .example-detail ul li{
	font-size: 0.8rem;
	line-height: 200%;
	height: 2rem;
}

/* 1024px以上 */
@media (min-width: 1024px){
	article.example > div{
		padding-bottom: 3rem;
		position: relative;
	}

	article.example .example-detail{
		padding: 2em;
		font-size: 0.8rem;
	}
	article.example .example-detail h4{
		font-size: 1rem;
		padding-left: 1.5rem;
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}

	article.example .example-detail ul{
		padding-left: 1.5rem;
	}
	article.example .example-detail ul li{
		font-size: 0.8rem;
		line-height: 200%;
	}
	article.example .example-detail ul li.total{
		padding-top: 1rem;
		text-align: right;
	}

	article.example p{
		font-size: 1rem;
		line-height: 150%;
	}
	article.example .example-title{
		position: absolute;
		top: 6rem;
		left: 6rem;
	}
	article.example h3{
		font-size: 3rem;
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	article.example > div{
		padding-bottom: 3rem;
	}
	article.example p{
		font-size: 1rem;
		line-height: 200%;
	}
	article.example .example-title{
		padding-top: 2rem;
		padding-left: 2rem;
		padding-bottom: 2rem;
	}
	article.example h3{
		font-size: 3rem;
		padding-bottom: 2rem;
	}
	article.example .example-detail{
		padding: 3em;
		font-size: 1rem;
	}
	article.example .example-detail h4{
		font-size: 1.5rem;
		padding-left: 1.5rem;
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
	}

	article.example .example-detail ul{
		padding-left: 1.5rem;
	}
	article.example .example-detail ul li{
		font-size: 1rem;
		line-height: 200%;
	}
	article.example .example-detail ul li.total{
		padding-top: 3rem;
		text-align: right;
	}
}
/* 479px以下 */
@media (max-width: 479px){
	article.example > div{
		padding-bottom: 3rem;
	}
	article.example .example-title{
		padding-top: 1rem;
		padding-bottom: 3rem;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	article.example h3{
		font-size: 3rem;
	}
	article.example .example-detail{
		padding: 2rem 1rem;
	}
	article.example .example-detail h4{
		padding-bottom: 2rem;
		margin-bottom: 2rem;
	}
	article.example .example-detail ul li.total{
		padding-top: 1rem;
	}
}

/****************
* 施工例(converted into a store)
*****************/

/* 1024px以上 */
@media (min-width: 1024px){
	article.example .example-00 .img{
		position: relative;
		top: 0;
		left: 0;
		z-index: 9;
	}
	article.example .example-00 .img:before{
		content: "";
		display: block;
		padding-top: 65%;
	}
	article.example .example-00 .img .img-00{
		position: absolute;
		width: 35%;
		bottom: 15%;
		left: 0;
		box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
	}
	article.example .example-00 .img .img-01{
		position: absolute;
		width: 30%;
		top: 0;
		right: 0;
	}
	article.example .example-00 .img .img-02{
		position: absolute;
		width: 20%;
		right: 10%;
		bottom: 0;
		border-radius: 20px;
	}

	article.example .example-00 .link-pottenry{
		text-align: right;
		padding-right: 10%;
	}
	article.example .example-00 .example-detail{
		width: 500px;
		position: absolute;
		top: 50%;
		left: 54%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	article.example .example-00 .example-img{
		display: block;
		position: absolute;
	}
	article.example .example-00 .img{
		position: relative;
	}
	article.example .example-00 .img:before{
		content: "";
		display: block;
		padding-top: 60%;
	}
	article.example .example-00 .img img{
		box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
	}
	article.example .example-00 .img .img-00{
		width: 50%;
		top: 0;
		right: 0;
	}
	article.example .example-00 .img .img-01{
		width: 30%;
		bottom: 0;
		left: 15%;
	}
	article.example .example-00 .img .img-02{
		width: 25%;
		top: 0;
		left: 0;
	}
	article.example .example-00 .example-detail{
		width: 80%;
		margin-top: -2rem;
		margin-left: auto;
		margin-right: auto;
	}
	article.example .example-00 .link-pottenry{
		font-size: 1rem;
		text-align: right;
		padding-right: 15%;
	}
}
/* 479px以下 */
@media (max-width: 479px){
	article.example .example-00 .example-img{
		box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
	}
	article.example .example-00 img.img-00{
		display: block;
		width: 92%;
		margin: 0 auto;
	}
	article.example .example-00 .img-lower{
		margin: 4%;
		text-align: center;
	}
	article.example .example-00 .img-lower:after{
		content: "";
		clear: both;
		display: block;
	}
	article.example .example-00 .img-lower img{
		width: 48%;
	}
	article.example .example-00 .example-detail{
		width: 96%;
		margin: 1rem auto;
	}
	article.example .example-00 .link-pottenry{
		text-align: right;
		padding-right: 4%;
	}
}

/****************
* 施工例(change the door)
*****************/

article.example .example-01 img.img-00{
	box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
}
article.example .example-01 .example-detail{
	width: 32rem;
}

/* 1024px以上 */
@media (min-width: 1024px){
	article.example .example-01:before{
		content: "";
		display: block;
		padding-top: calc(16rem + 40%);
	}
	article.example .example-01 img.img-00{
		position: absolute;
		width: 38%;
		top: 16rem;
		left: 6rem;
	}
	article.example .example-01 .example-detail{
		position: absolute;
		top: calc(16rem + 16%);
		left: 50%;
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	article.example .example-01 img.img-00{
		width: 70%;
		display: block;
		margin: 0 auto;
	}
	article.example .example-01 .example-detail{
		margin: 2rem auto;
	}
}
/* 479px以下 */
@media (max-width: 479px){
	article.example .example-01 img.img-00{
		width: 70%;
		display: block;
		margin: 0 auto;
	}
	article.example .example-01 .example-detail{
		margin: 2rem auto;
	}
}

/****************
* 施工例(full renovation)
*****************/

/* 1024px以上 */
@media (min-width: 1024px){
	article.example .example-02 .img{
		position: relative;
		top: 0;
		left: 0;
		z-index: 9;
	}
	article.example .example-02 .img:before{
		content: "";
		display: block;
		padding-top: 65%;
	}
	article.example .example-02 .img .img-00{
		position: absolute;
		width: 35%;
		bottom: 15%;
		left: 0;
		box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
	}
	article.example .example-02 .img .img-01{
		position: absolute;
		width: 35%;
		top: 0;
		right: 0;
	}
	article.example .example-02 .img .img-02{
		position: absolute;
		width: 20%;
		right: 8%;
		bottom: 0;
		border-radius: 20px;
	}
	article.example .example-02 .example-detail{
		width: 500px;
		position: absolute;
		top: 50%;
		left: 54%;
		transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	article.example .example-02 .example-img{
		display: block;
		position: absolute;
	}
	article.example .example-02 .img{
		position: relative;
	}
	article.example .example-02 .img:before{
		content: "";
		display: block;
		padding-top: 60%;
	}
	article.example .example-02 .img img{
		box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
	}
	article.example .example-02 .img .img-00{
		width: 50%;
		top: 0;
		right: 0;
	}
	article.example .example-02 .img .img-01{
		width: 35%;
		top: 0;
		left: 0;
	}
	article.example .example-02 .img .img-02{
		width: 30%;
		bottom: 0;
		left: 15%;
	}
	article.example .example-02 .example-detail{
		width: 80%;
		margin-top: -2rem;
		margin-left: auto;
		margin-right: auto;
	}
	article.example .example-02 .example-detail ul li.total{
		text-align: left;
		padding-top: 4rem;
	}
}
/* 479px以下 */
@media (max-width: 479px){
	article.example .example-02 .example-img{
		box-shadow: 15px 15px 15px 0 rgba(0,0,0,0.5);
	}
	article.example .example-02 img.img-00{
		display: block;
		width: 92%;
		margin: 0 auto;
	}
	article.example .example-02 .img-lower{
		margin: 4%;
		text-align: center;
	}
	article.example .example-02 .img-lower:after{
		content: "";
		clear: both;
		display: block;
	}
	article.example .example-02 .img-lower img{
		width: 48%;
	}
	article.example .example-02 .example-detail{
		width: 96%;
		margin: 1rem auto;
	}
}

/****************
* フッタ
*****************/

footer{
	background-color: #fff;
}
footer nav{
	padding-top: 20px;
	font-family: "Noto Serif JP", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
footer nav ul{
	padding: 0;
}

footer nav ul li{
	display: inline-block;
	text-align: center;
	width: 30%;
	font-size: 0.8rem;
	white-space: nowrap;
}

footer .signature{
	font-size: 0.6rem;
	text-align: center;
	padding-top: 3rem;
	padding-bottom: 3rem;
}
/* 1024px以上 */
@media (min-width: 1024px){
	footer nav ul{
		width: 50%;
		margin: 0 auto;
	}
}
/* 480px～1023px */
@media (min-width: 480px) and (max-width: 1023px){
	footer nav ul{
		width: 80%;
		margin: 0 auto;
	}
}
/* 479px以下 */
@media (max-width: 479px){
}

