@charset "UTF-8";

.cmn-title {
	margin-bottom: 40px;
}
.cmn-title .txt {
	margin-bottom: 15px;
	font-size: 350%;
}
.cmn-title:after {
	top:110px;
}

.cmn-title .txt-sub {
	font-size: 180%;
	color: var(--color-black);
	font-weight: bold;
}
.cmn-title .txt-sub:before,
.cmn-title .txt-sub:after {
	display:none;
	margin-bottom: 0;
	padding-bottom:0;
}

@media screen and (max-width: 1023px) {
	.cmn-title {
		margin-bottom: 6vw;
	}

	.cmn-title .txt {
    padding-bottom:10px;
		font-size: 190%;
	}
	.cmn-title:after {
    top: 56px;
		height:3px;
	}
	.cmn-title .txt-sub {
		font-size: 100%;
	}
}



	.mv {
		height:790px;
		background:url(../img/mv-top.jpg) right center no-repeat;
		background-size:cover;
	}
		.mv .inner {
			position:relative;
			height:790px;
		}
		.mv .txt {
			position:absolute;
			left:0;
			top:20%;
			transform: translate(0,-0);
		}
			.mv .txt1 {
    		display: inline-block;
				margin-bottom:10px;
				padding:8px 20px;
				font-size:150%;
				color:var(--color-base);
				font-weight:bold;
				background:var(--color-white);
				border:3px solid var(--color-base);
			}
			.mv .txt2,
			.mv .ttl {
				font-size:300%;
				color:var(--color-black);
				font-weight:bold;
			}
			.mv .ttl {
				color:var(--color-base);
			}
			.mv .cta-btn {
				position:absolute;
				left:0;
				top:58%;
				transform: translate(0,0);
			}
				.mv .contact-btn {
					max-width:398px;
					max-height:103px;
					width:398px;
					height:103px;
				}
					.mv .contact-btn a {
						font-size:29px;
						font-weight:bold;
					}
					.mv .contact-btn a span {
						font-size:17px;
					}
					.mv .contact-btn a:before {
						width:58px;
						height:58px;
					}
		.mv .label {
			position:absolute;
			right:0;
			bottom:55px;
			/*width:562px;*/
		}
			.mv .label li {
				display:flex;
				align-items:center;
				justify-content: center;
				width:268px;
				height:247px;
				color:#CBA812;
				font-weight:bold;
			}
			.mv .label li:first-child {
				font-size:60px;
				text-indent: -13px;
				background:url(../img/mv-label1.svg) center center no-repeat;
				background-size:100% auto;
			}
			.mv .label li:last-child {
				font-size:78px;
				text-indent: -7px;
				background:url(../img/mv-label2.svg) center center no-repeat;
				background-size:100% auto;
			}
@media screen and (max-width: 1023px) {
	.mv {
		height:90vw;
	}
		.mv .inner {
			height:90vw;
		}
		.mv .txt {
			position:absolute;
			left:0;
			top:7%;
			transform: translate(0,-0);
		}
			.mv .txt1 {
    		display: inline-block;
				margin-bottom:10px;
				padding:2vw 4vw;
				font-size:3.4vw;
				color:var(--color-base);
				font-weight:bold;
				background:var(--color-white);
				border:3px solid var(--color-base);
			}
			.mv .txt2,
			.mv .ttl {
				font-size: 6.9vw;
				color:var(--color-black);
				font-weight:bold;
			}
			.mv .ttl {
				color:var(--color-base);
			}
			.mv .cta-btn {
				display:none;
			}
		.mv .label {
      display: flex;
			bottom:6vw;
			width:60vw;
		}
			.mv .label li {
				width:30vw;
				height:28vw;
			}
			.mv .label li:first-child {
				font-size:7vw;
				text-indent: -1vw;
			}
			.mv .label li:last-child {
				font-size:9vw;
				text-indent: -1vw;
			}
}



	.topheat {
		padding:100px 0;
		background:url(../img/topheat-bg.jpg) right center no-repeat;
		background-size:cover;
	}
		.topheat .cmn-title {
			text-align:center;
		}
		.topheat .flex {
			align-items: flex-start;
			flex-direction:row-reverse;
		}
		.topheat .flex img {
			width:45%;
		}
		.topheat .flex div {
			width:53%;
		}
		.topheat .flex div .ttl {
			margin-bottom:30px;
			font-size:140%;
			font-weight:bold;
		}
			.topheat .flex div .ttl span {
				font-size:200%;
				color:var(--color-base);
			}
		.topheat .flex div ul {
			display:flex;
			align-items: center;
			margin-top:30px;
		}
		.topheat .flex div li {
			display:flex;
			align-items: center;
			margin-right:20px;
			line-height:1;
		}
		.topheat .flex div li:before {
			display:inline-block;
			margin-right:5px;
			width:25px;
			height:27px;
			background:url(../img/ico-arrow2.svg) center center no-repeat;
			background-size:100% auto;
			content:'';
		}
		.topheat .flex div li a {
			color:var(--color-black);
		}

@media screen and (min-width: 1024px) and (max-width: 1385px) {
		.topheat .flex div .ttl {
			margin-bottom:30px;
			width:100%;
			font-size:125%;
		}
			.topheat .flex div .ttl span {
				font-size:155%;
			}
		.topheat .flex div ul {
			margin-top:20px;
			display:block;
		}
		.topheat .flex div li {
			margin-right:0;
			margin-bottom:5px;
		}
}

@media screen and (max-width: 1023px) {
	.topheat {
		padding:80px 0;
	}
		.topheat .flex {
			position:relative;
			padding-top:60px;
			width:100%;
		}
		.topheat .flex img {
			margin-bottom:20px;
			width:100%;
		}
		.topheat .flex div {
			width:100%;
		}
		.topheat .flex div .ttl {
			position:absolute;
			top:0;
			margin-bottom:30px;
			width:100%;
			font-size:145%;
			text-align:center;
		}
			.topheat .flex div .ttl span {
				font-size:175%;
			}
		.topheat .flex div ul {
			margin-top:20px;
			display:block;
		}
		.topheat .flex div li {
			margin-right:0;
			margin-bottom:5px;
		}
		.topheat .flex div li:before {
			display:inline-block;
			margin-right:5px;
			width:25px;
			height:27px;
			background:url(../img/ico-arrow2.svg) center center no-repeat;
			background-size:100% auto;
			content:'';
		}
}
@media screen and (max-width: 767px) {
		.topheat .flex {
			position:relative;
			padding-top:40px;
			width:100%;
		}
		.topheat .flex div .ttl {
			position:absolute;
			top:0;
			margin-bottom:30px;
			width:100%;
			font-size:105%;
			text-align:center;
		}
			.topheat .flex div .ttl span {
				font-size:125%;
			}
}




	.teqhniques,
	.teqhniques .bgWhite {
		margin-bottom:100px;
	}
		.teqhniques .entry-list > ul {
			width:100%;
			align-items:stretch;
		}
			.teqhniques .entry-list > ul > li {
				width:32%;
				background:var(--color-white);
				filter: drop-shadow(3px 3px 10px rgba(0, 0, 0, 0.16));
			}
			.teqhniques .entry-list li img {margin-bottom:15px;width:100%;}
			.teqhniques .entry-list li div {padding:15px 30px 30px;width:100%;}
			.teqhniques .entry-list li .ttl {
				margin:0 auto 10px;
				padding:10px;
				color:var(--color-white);
				text-align:center;
				background:var(--color-base);
			}

@media screen and (max-width: 1023px) {
	.teqhniques {
		margin-bottom:80px;
	}
		.teqhniques .bgWhite {
			margin-bottom:60px;
		}
		.teqhniques .entry-list > ul {
			display:flex;
			width:100%;
			align-items: flex-start;
		}
			.teqhniques .entry-list > ul > li {
				width:32%;
			}
			.teqhniques .entry-list li div {width:100%;}
}
@media screen and (max-width: 767px) {
		.teqhniques .entry-list > ul {
			display:block;
			width:100%;
		}
			.teqhniques .bgWhite {
				margin-bottom:40px;
			}
			.teqhniques .entry-list > ul > li {
				width:100%;
			}
		.teqhniques .entry-list > ul {
			width:100%;
			align-items:stretch;
		}
			.teqhniques .entry-list > ul > li {
				width:100%;
				background:var(--color-white);
				filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, 0.16));
			}
			.teqhniques .entry-list > ul > li:not(:last-child) {
				margin-bottom:20px;
			}
			.teqhniques .entry-list li img {margin-bottom:10px;width:100%;}
			.teqhniques .entry-list li div {padding:10px 15px 15px;width:100%;}
			.teqhniques .entry-list li .ttl {
				margin:0 auto 10px;
				padding:10px;
			}
}





	.product .bgWhite {
		margin-bottom:100px;
	}
		.product .entry-list > ul {
			width:100%;
			align-items:stretch;
		}
			.product .entry-list > ul > li {
				margin-bottom:25px;
				width:48%;
			}
			.product .entry-list li img {margin-bottom:15px;width:100%;}
			.product .entry-list li div {position:relative;width:100%;}
			.product .entry-list li .ttl {
				position:absolute;
				left:0;
				top:0;
				padding:10px;
				color:var(--color-base);
				text-align:center;
				background:rgba(255,255,255,0.9);
			}

@media screen and (max-width: 1023px) {
		.product .bgWhite {
			margin-bottom:60px;
		}
		.product .entry-list > ul {
			display:flex;
			width:100%;
			align-items: flex-start;
		}
			.product .entry-list > ul > li {
				width:48%;
			}
			.product .entry-list li div {width:100%;}
}

@media screen and (max-width: 767px) {
			.product .bgWhite {
				margin-bottom:40px;
			}
			.product .entry-list > ul > li {
				width:100%;
			}
			.product .entry-list li .ttl {
				padding:5px 10px;
				font-size:90%;
			}
}




.construction {
	margin-bottom:120px;
}
	.construction .cat-list-case {
			margin-bottom: 80px;
			padding: 0;
			background: #fff;
			filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.16));
	}
	.construction .entry-list {
		margin-bottom:100px;
	}
		.construction .entry-list > ul {
			align-items: flex-start;
		}
			.construction .entry-list > ul > li {
				width:32%;
			}
			.construction .entry-list > ul > li:first-child {
				margin-bottom:25px;
				width:100%;
			}
			.construction .entry-list > ul > li:first-child img {margin-bottom:0;width:42%;}
			.construction .entry-list > ul > li:first-child div {width:54%;}
			.construction .entry-list li img {margin-bottom:25px;width:100%;}
			.construction .entry-list li div {width:100%;}
			.construction .entry-list li div div {justify-content: flex-start;}
			.construction .cat-list li * {padding: 8px 10px;}
			.construction .entry-list li .ttl {margin-top:10px;}


@media screen and (max-width: 1023px) {
	.construction {
		margin-bottom:80px;
	}
	.construction .cat-list-case {
			margin-bottom: 40px;
	}
	.construction .entry-list {
		overflow-x: scroll;
	}
	.construction .entry-list > ul {
        display: flex;
        flex-wrap: nowrap;
        width: 320%;
	}
		.construction .entry-list > ul > li {
			margin-bottom:20px;
			margin-right:20px;
			width:100%;
		}
		.construction .entry-list > ul > li:first-child {
			margin-bottom:20px;
		}
		.construction .entry-list > ul > li:first-child img {margin-bottom:10px;width:100%;}
		.construction .entry-list > ul > li:first-child div {width:100%;}
		.construction .entry-list li img {margin-bottom:10px;width:100%;}
		.construction .entry-list li div {width:100%;}
		.construction .entry-list li div div {width:100%;}
		.construction .cat-list li * {padding: 5px 10px;font-size:70%;}
		.construction .entry-list li .ttl {margin-top:10px;font-size:80%;}
		.construction .entry-list li .txt {font-size:80%;}
}
@media screen and (max-width: 767px) {
	.construction .entry-list {margin-bottom:40px;width:100%;}
}





	.sale .bgWhite {
		margin-bottom:100px;
	}
		.sale .entry-list > ul {
			width:100%;
			align-items:stretch;
		}
			.sale .entry-list > ul > li {
				margin-bottom:25px;
				width:24%;
			}
			.sale .entry-list li img {margin-bottom:15px;width:100%; height: 200px; object-fit: cover; border-radius: 3px;}
			.sale .entry-list li div {position:relative;width:100%;text-align:center;font-weight:bold;}
			.sale .entry-list li .ttl {margin-bottom:10px;}
			.sale .entry-list li .txt {color:var(--color-base);}

@media screen and (max-width: 1023px) {
		.sale .bgWhite {
			margin-bottom:60px;
		}
		.sale .entry-list > ul {
			display:flex;
			width:100%;
			align-items: flex-start;
		}
			.sale .entry-list > ul > li {
				width:48%;
			}
			.sale .entry-list li div {width:100%;}
}

@media screen and (max-width: 767px) {
			.sale .bgWhite {
				margin-bottom:40px;
			}
	.sale .entry-list li img {height: 100px;}
}


.column {
	margin-bottom:120px;
}
	.column .entry-list {
		margin-bottom:100px;
	}
		.column .entry-list > ul {
			align-items: flex-start;
		}
			.column .entry-list > ul > li {
				width:32%;
			}
			.column .entry-list li img {margin-bottom:20px;width:100%; height: 250px; object-fit: cover; border-radius: 3px;}
			.column .entry-list li div {width:100%;}
			.column .entry-list li div div {justify-content: flex-start;}
			.column .cat-list li * {padding: 8px 10px;}
			.column .entry-list li .ttl {margin-top:10px;}


@media screen and (max-width: 1023px) {
	.column {
		margin-bottom:80px;
	}
		.column .entry-list > ul > li {
			margin-bottom:20px;
			width:100%;
		}
		.column .entry-list li img {margin-bottom:0;width:32%;  height: 100px;}
		.column .entry-list li div {width:64%;}
		.column .entry-list li div div {width:100%;}
		.column .cat-list li * {padding: 5px 10px;}
		.column .entry-list li .ttl {margin-top:10px;font-size:80%;}
		.column .entry-list li .txt {font-size:80%;}
}
@media screen and (max-width: 767px) {
	.column .entry-list {margin-bottom:40px;width:100%;}
}



.news {
	margin-bottom:120px;
}

@media screen and (max-width: 1023px) {
	.news {
		margin-bottom:80px;
	}
}



.video {
	margin-bottom:130px;
}
.video .flex {
	align-items: flex-start;
}
.video li {
	width:32%;
	text-align:left;
}
.video li iframe {
	width:100%;
}
.video li p:not(:last-child) {
	margin-bottom:10px;
}

@media screen and (max-width: 1023px) {
	.video {
		margin-bottom:60px;
	}
	.video li {
		display:flex;
		justify-content: space-between;
		align-items:center;
		margin-bottom:20px;
		width:100%;
	}
		.video li iframe {
			height:21vw;
		}
		.video li p:first-child {
			margin-bottom:0;
			width:42%;
			line-height:1;
		}
		.video li p:last-child {
			width:55%;
		}
}

@media screen and (max-width: 767px) {
		.video li p:last-child {
			font-size:80%;
		}
}


.qa .bgWhite {
	margin-bottom:100px;
}
@media screen and (max-width: 1023px) {
		.qa .bgWhite {
			margin-bottom:60px;
		}
}
@media screen and (max-width: 767px) {
			.qa .bgWhite {
				margin-bottom:40px;
			}
}




.media {
	margin-bottom:120px;
}
	.media .news-list {margin-bottom:100px;}

@media screen and (max-width: 1023px) {
	.media {
		margin-bottom:80px;
	}
}
@media screen and (max-width: 767px) {
	.news-list {margin-bottom:40px;width:100%;}
}

