@charset "UTF-8";

/* 共通 */
main {
	padding: 3.8em 0 0;
}

.mt0 {margin:0 auto}
.mt10 {margin:3% auto 0}
.mt20 {margin:3% auto 0}
.mt25 {margin:3% auto 0}
.mt30 {margin:5% auto 0}
.mt35 {margin:5% auto 0}
.mt40 {margin:5% auto 0}
.mt45 {margin:5% auto 0}
.mt50 {margin:5% auto 0}
.mt60 {margin:5% auto 0}
.mt70 {margin:10% auto 0}
.mt75 {margin:10% auto 0}
.mt80 {margin:13% auto 0}
.mt90 {margin:15% auto 0}
.mt100 {margin:15% auto 0}
.mt110 {margin:20% auto 0}
.mt120 {margin:20% auto 0}
.mt140 {margin:20% auto 0}
.mt150 {margin:20% auto 0}
.mt270 {margin:40% auto 0}

/* KV */
#sub_kv {
	height: 7em;
	margin: 0 auto;
	padding: 0 5%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	h3 {
		margin: 0;
		padding: 0;
		font-size: 4.4vw;
		font-family: "Montserrat", sans-serif;
		font-weight: var(--weight-extrabold1);
		letter-spacing: 0.05em;
		background: linear-gradient(90deg, #333333 0%, #CCCCCC 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
	h2 {
		margin: 0;
		padding: 0;
		font-size: 6.4vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		background: linear-gradient(90deg, #333333 0%, #CCCCCC 100%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		&.en {
			font-size: 8.2vw;
			font-family: "Montserrat", sans-serif;
			font-weight: var(--weight-extrabold1);
			letter-spacing: 0.05em;
		}
	}
	&.works {
		h2 {
			background: linear-gradient(180deg, #333333 0% 8%, #CCCCCC 92% 100%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
		}
	}
}

/* パンくず */
#breadcrumb {
	margin: 0 auto;
	padding: 0.5em 5%;
	font-size: 3.0vw;
	line-height: 180%;
	text-align: right;
	a {
		color: #333;
		text-decoration: none;
	}
}

/* コンテンツ */
section.contents {
	margin: 0 auto;
	padding: 18% 0;
	&.bg {
		background: #f6f6f6;
	}
	div.contents_in {
		margin: 0 auto;
		padding: 0 5%;
	}
}

/* タイトル・リード文 */
div.cont_ttl {
	margin: 0 auto;
	padding: 0;
	&.left {
		text-align: left;
	}
	h2 {
		margin: 0 auto;
		padding: 0;
		span {
			display: inline-block;
			margin: 0;
			padding: 0;
			font-size: 9.8vw;
			line-height: 160%;
			font-family: "Montserrat", sans-serif;
			font-weight: var(--weight-extrabold1);
			letter-spacing: 0.05em;
			background: linear-gradient(90deg, #333333 0%, #CCCCCC 100%);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
		}
	}
	h3 {
		margin: -0.2em auto 0;
		padding: 0;
		span {
			display: inline-block;
			margin: 0;
			padding: 3px 0 0;
			font-size: 3.4vw;
			line-height: 160%;
			font-weight: var(--weight-bold1);
			color: #999999;
			border-top: 1px solid #333;
		}
	}
	p {
		margin: 2em auto 0;
		font-size: 4.0vw;
		line-height: 200%;
	}
}


/* 共通 SERVICE */
section.service_cont {
	margin: 0 auto;
	padding: 20% 5% 20%;
	background: #F6F6F6;
	ul {
		margin: 0 auto;
		padding: 10% 0 0;
		list-style: none;
		li {
			width: 100%;
			margin: 8% 0 0;
			padding: 0;
			text-align: left;
			a {
				display: block;
				width: 100%;
				margin: 0;
				padding: 0;
				background: #fff;
				text-decoration: none;
				.txt {
					width: 100%;
					margin: 0;
					padding: 15% 5% 8%;
					h4 {
						margin: 0;
						padding: 0;
						span {
							display: inline-block;
							margin: 0;
							padding: 0 0 5px;
							font-size: 5.4vw;
							line-height: 160%;
							font-weight: var(--weight-bold1);
							border-bottom: 1px solid #EB5C02;
						}
					}
					p {
						display: inline-block;
						margin: 1em 0 0;
						padding: 0;
						font-size: 3.8vw;
						line-height: 200%;
					}
				}
			}
			.img {
				width: 100%;
				margin: 0;
				padding: 0;
				img {
					width: 100%;
					height: 14em;
					object-fit: cover;
				}
			}
		}
	}
}

/* トップのリード文 */
section.cont_top_txt {
	margin: 8% auto 0;
	padding: 0 5%;
	font-size: 3.6vw;
	line-height: 200%;
	text-align: left;
}

/* ABOUT */
section.about_top {
	margin: 3% auto 0;
	padding: 0;
	background: url(../about/images/about_top_sp.webp) center / cover no-repeat;
	position: relative;
	z-index: 2;
	div.top_in {
		height: 30em;
		margin: 0 auto;
		position: relative;
		.txt {
			position: absolute;
			width: 7.5em;
			margin: 0;
			padding: 11em 1em 2em;
			background: #fff;
			bottom: -9em;
			right: -0.5em;
			h3 {
				margin: 0;
				padding: 0;
				font-size: 5.4vw;
				line-height: 150%;
				text-indent: -6em;
				text-align: left;
				font-weight: var(--weight-bold2);
				writing-mode: vertical-rl;
			}
		}
	}
}
section.about_attempt {
	margin: 0 auto;
	padding: 0 5%;
	div.attempt_in {
		margin: 0 auto;
		padding: 35% 0 20%;
		background: #fff;
		position: relative;
		z-index: 1;
		h6 {
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
			font-weight: var(--weight-nomal);
		}
		.attempt_box {
			margin: 0 auto;
			padding: 8% 0;
			border-bottom: 2px solid #ededed;
			&:first-of-type {
				padding-top: 15%;
			}
			h5 {
				margin: 0 auto;
				padding: 0;
				font-size: 6.2vw;
				list-style: 160%;
				font-weight: var(--weight-bold2);
			}
			h4 {
				display: inline-block;
				margin: 0.2em auto 1em;
				padding: 0 1em;
				position: relative;
				z-index: 1;
				&:before {
					position: absolute;
					content: '';
					display: block;
					width: 100%;
					height: 1px;
					background: #333333;
					top: 50%;
					left: 0;
					z-index: -1;
				}
				span {
					margin: 0 auto;
					padding: 0 0.1em;
					font-size: 3.4vw;
					list-style: 160%;
					font-weight: var(--weight-nomal);
					background: #fff;
				}
			}
			p {
				font-size: 3.6vw;
				line-height: 200%;
				white-space: nowrap;
			}
		}
		h3 {
			margin: 10% auto 0;
			padding: 0;
			font-size: 4.4vw;
			line-height: 200%;
			font-weight: var(--weight-nomal);
		}
	}
}
section.about_img {
	margin: -7% auto 0;
	padding: 0;
	img {
		width: 100%;
		height: 10em;
		object-fit: cover;
	}
}
dl.about_prof {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	dt {
		width: 100%;
		margin: 8% 0 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 200%;
	}
	dd {
		width: 100%;
		margin: 0.2em 0 0;
		padding: 0 0 0 1em;
		font-size: 3.6vw;
		line-height: 200%;
		p {
			margin: 0.8em 0 0;
			padding: 0;
			&:first-of-type {
				margin-top: 0;
			}
		}
		img {
			display: inline-block;
			width: 75%;
			height: auto;
			margin: 1em 0 0;
			padding: 0;
		}
	}
}
dl.about_history {
	width: 100%;
	margin: 0 auto;
	padding: 3% 0 0;
	text-align: left;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	dt {
		width: 100%;
		margin: 5% 0 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 200%;
		letter-spacing: .1em;
		font-family: "Montserrat", sans-serif;
		font-weight: var(--weight-extrabold1);
	}
	dd {
		width: 100%;
		margin: 0.2em 0 0;
		padding: 0 0 0 1em;
		font-size: 3.6vw;
		line-height: 200%;
	}
}
div.about_access {
	width: 100%;
	margin: 0 auto;
	padding: 5% 0 0;
	text-align: left;
	p {
		margin: 1em 0 0;
		padding: 0;
		font-size: 3.6vw;
		line-height: 200%;
	}
	.gmap {
		width: 100%;
		height: 25em;
		margin: 1em 0 0;
		padding: 0;
		position: relative;
		iframe {
			position: absolute;
			display: block;
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
			top: 0;
			left: 0;
		}
	}
}


/* SERVICE */
section.service_top {
	margin: 3% auto 0;
	padding: 0;
	&.storedesign_build {
		background: url(../service/images/storedesign-build_top_sp.webp) center / cover no-repeat;
	}
	&.display {
		background: url(../service/images/display_top_sp.webp) center / cover no-repeat;
	}
	div.top_in {
		height: 16em;
		margin: 0 auto;
		position: relative;
		.txt {
			position: absolute;
			display: inline-block;
			max-width: 92%;
			margin: 0;
			padding: 3%;
			background: #fff;
			bottom: -7em;
			right: 3%;
			p {
				margin: 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
				text-align: left;
			}
		}
	}
}
section.service_common_img_txt {
	padding: 0 5%;
	.txt {
		width: 100%;
		margin: 0;
		padding: 0;
		text-align: left;
		h3 {
			margin: 0;
			padding: 0;
			font-size: 5.4vw;
			line-height: 160%;
			font-weight: var(--weight-bold2);
		}
		p {
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
		}
	}
	.img {
		display: flex;
		margin: 8% 0 0;
		padding: 0;
		img {
			width: 100%;
			height: 10em;
			object-fit: cover;
		}
	}
}
section.common_middle_img {
	width: 100%;
	padding: 0;
	&.mt_storedesign_build {
		margin: 10% auto 0;
	}
	&.mt_display {
		margin: 30% auto 0;
	}
	img {
		width: 100%;
		height: 7em;
		object-fit: cover;
	}
}
dl.service_flow {
	margin: 5% auto 0;
	padding: 0;
	text-align: left;
	dt {
		width: 100%;
		margin: 10% 0 0;
		padding: 0;
		font-size: 4.4vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
		display: flex;
		align-items: flex-start;
		position: relative;
		&:before {
			position: absolute;
			content: '';
			display: block;
			width: 1px;
			height: 8em;
			background: #333;
			top: -7.0em;
			left: 2px;
		}
		&:first-of-type:before {
			display: none;
		}
		small {
			position: absolute;
			display: inline-block;
			width: 5px;
			height: 5px;
			margin: 0;
			padding: 0;
			background: #333;
			border-radius: 50%;
			top: 1.0em;
			left: 0;
		}
		span {
			display: inline-block;
			margin: 2px 1em 0 0;
			padding: 0 0 0 5%;
			font-size: 4.4vw;
			line-height: 160%;
			font-family: "Montserrat", sans-serif;
			font-weight: var(--weight-bold2);
		}
	}
	dd {
		width: 100%;
		margin: 0;
		padding: 0 0 0 5%;
		font-size: 3.6vw;
		line-height: 200%;
		position: relative;
		&:after {
			position: absolute;
			content: '';
			display: block;
			width: 1px;
			height: calc(100% - 3em);
			background: #333;
			top: -1em;
			left: 2px;
		}
		&:last-of-type:after {
			display: none;
		}
		.btn {
			margin: 10px 0 0;
			padding: 0;
			a {
				width: 50%;
				height: 2.8em;
				margin: 0;
				padding: 0;
				text-decoration: none;
				font-size: 3.6vw;
				line-height: 160%;
				display: flex;
				justify-content: center;
				align-items: center;
				border: 1px solid #DDDDDD;
				border-radius: 1.4em;
			}
		}
		strong {
			display: block;
			margin: 20px 0 0;
			padding: 0;
			font-weight: var(--weight-bold2);
			&:first-of-type {
				margin-top: 0;
			}
		}
	}
}
ul.slick_box {
	width: 100%;
	margin: 10% auto 0;
	padding: 0;
	.slick-track {
		display: flex;
	}
	li {
		display: inline-block;
		width: 15em !important;
		margin: 0 1em;
		padding: 0;
		a {
			display: block;
			width: 100%;
			margin: 5px 0 0;
			padding: 0;
			text-align: left;
			text-decoration: none;
			.img {
				width: 100%;
                height: 15em;
				margin: 0;
				padding: 0;
				img {
					width: 100%;
					height: 100%;
                    object-fit: cover;
				}
			}
			.kind {
				margin: 2em 0 0;
				padding: 0;
				span {
					display: inline-block;
					margin: 0 0.5em 0 0;
					padding: 0.2em 1em;
					font-size: 3.2vw;
					line-height: 160%;
					font-weight: var(--weight-nomal);
					color: #333;
					border: 1px solid #ddd;
				}
			}
			h4 {
				display: inline-block;
				margin: 1em 0 0;
				padding: 0;
				font-size: 4.0vw;
				line-height: 160%;
				font-weight: var(--weight-bold1);
				border-bottom: 1px solid #EB5B01;
			}
			p {
				margin: 1.2em 0 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
			}
		}
	}
}
ul.no_slick_box {
	width: 100%;
	margin: 10% auto 0;
	padding: 0;
	.slick-track {
		display: flex;
	}
	li {
		display: inline-block;
		width: 15em !important;
		margin: 0 1em;
		padding: 0;
		em {
			display: block;
			width: 100%;
			margin: 5px 0 0;
			padding: 0;
			text-align: left;
			text-decoration: none;
			.img {
				width: 100%;
				margin: 0;
				padding: 0;
				img {
					width: 100%;
					height: 12em;
				}
			}
			p {
				margin: 1.2em 0 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
			}
		}
	}
}
div.slide_after_btn {
	margin: 8% auto 0;
	padding: 0 5%;
	display: flex;
	justify-content: flex-end;
	a {
		width: 70%;
		height: 2.8em;
		margin: 0;
		padding: 0;
		text-decoration: none;
		font-size: 3.6vw;
		font-family: "Noto Sans", sans-serif;
		line-height: 160%;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid #DDDDDD;
		border-radius: 1.4em;
	}
}
section.service_support {
	margin: 0 auto;
	padding: 20% 5%;
	&.pt0 {
		padding-top: 0;
	}
	&.bg {
		background: #f6f6f6;
	}
	h2 {
		margin: 0 auto;
		padding: 0;
		font-size: 5.4vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
	}
	ul {
		width: 100%;
		margin: 0 auto;
		padding: 5% 0 0;
		list-style: none;
		li {
			width: 100%;
			margin: 10% 0 0;
			padding: 0;
			a {
				display: block;
				width: 100%;
				margin: 0;
				padding: 0 0 5%;
				text-decoration: none;
				img {
					display: block;
					width: 100%;
					height: 10em;
					object-fit: cover;
				}
				div {
					margin: 0.5em 0 0;
					padding: 0;
					text-align: left;
					h3 {
						display: inline-block;
						margin: 0;
						font-size: 4.4vw;
						line-height: 160%;
						font-weight: var(--weight-bold2);
						border-bottom: 1px solid #EB5C02;
					}
					span {
						display: block;
						margin: 0.8em 0 0;
						font-size: 3.6vw;
						line-height: 200%;
					}
				}
			}
		}
	}
}

section.service_cont_01 {
	height: 18em;
	margin: 0 auto;
	padding: 2em 0 0;
	background: url(../service/images/services_storedesign_build_cont_bg_sp.webp) center / cover no-repeat;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	h2 {
		margin: 0 auto;
		padding: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		strong {
			margin: 0;
			padding: 0;
			font-size: 7.2vw;
			letter-spacing: 0.05em;
			line-height: 160%;
			font-family: "Montserrat", sans-serif;
			font-weight: var(--weight-extrabold1);
		}
		img {
			display: inline-block;
			width: 15%;
			height: auto;
			margin: 2% 0;
		}
	}
}
section.service_edq {
	margin: 0 auto;
	padding: 0;
	background: linear-gradient(to bottom, transparent 0 2em, #f6f6f6 2em 50%, #fff 50% 100%);
	ul.edq {
		margin: 0 auto;
		padding: 0 5%;
		list-style: none;
		li {
			width: 100%;
			margin: 5% 0 0;
			padding: 5% 6%;
			background: #fff;
			&:first-of-type {
				margin-top: -2em;
			}
			h3 {
				margin: 0 auto;
				padding: 0;
				font-size: 5.0vw;
				line-height: 180%;
				font-weight: var(--weight-bold2);
			}
			p {
				margin: 1.2em auto 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
			}
		}
	}
	ul.example {
		margin: 15% auto 0;
		padding: 0 5%;
		list-style: none;
		li {
			width: 100%;
			margin: 0;
			padding: 0;
			background: #f6f6f6;
			display: flex;
			img {
				display: block;
				width: 35%;
				object-fit: cover;
			}
			.txt {
				width: 65%;
				margin: 0;
				padding: 5% 0 5% 4%;
				text-align: left;
				border-bottom: 1px solid #ddd;
				h3 {
					margin: 0;
					padding: 0;
					font-size: 4.4vw;
					line-height: 180%;
					font-weight: var(--weight-bold2);
				}
				p {
					margin: 1em 0 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 200%;
				}
			}
			&:last-of-type {
				.txt {
					border-bottom: none;
				}
			}
		}
	}
}
ul.situations {
	margin: 15% auto 0;
	padding: 0;
	list-style: none;
	li {
		width: 100%;
		margin: 0;
		padding: 0;
		background: #f6f6f6;
		display: flex;
		img {
			display: block;
			width: 35%;
			object-fit: cover;
		}
		.txt {
			width: 65%;
			margin: 0;
			padding: 5% 0 5% 4%;
			text-align: left;
			border-bottom: 1px solid #ddd;
			h3 {
				margin: 0 auto;
				padding: 0;
				font-size: 4.4vw;
				line-height: 180%;
				font-weight: var(--weight-bold2);
			}
		}
		&:last-of-type {
			.txt {
				border-right: none;
			}
		}
	}
}
ul.features {
	margin: 15% auto 0;
	padding: 0 5%;
	list-style: none;
	li {
		width: 100%;
		margin: 5% 0 0;
		padding: 5% 6%;
		background: #f6f6f6;
		&:first-of-type {
			margin-top: -2em;
		}
		h3 {
			margin: 0 auto;
			padding: 0;
			font-size: 5.0vw;
			line-height: 180%;
			font-weight: var(--weight-bold2);
		}
		p {
			margin: 1.2em auto 0;
			padding: 0;
			font-size: 3.6vw;
			line-height: 200%;
		}
	}
	&.bgw {
		li {
			background: #fff;
		}
	}
}


/* WORKS */
section.works_list {
	margin: 0 auto;
	padding: 10% 5% 0;
	ul {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		li {
			width: 96%;
			margin: 10% 0 0 4%;
			padding: 0;
			a {
				display: block;
				width: 100%;
				margin: 0;
				padding: 0;
				text-align: left;
				text-decoration: none;
				.img {
					width: 100%;
					margin: 0;
					padding: 0;
					background: #f6f6f6;
                    position: relative;
					img {
						width: 100%;
						height: 14em;
						object-fit: cover;
					}
                    span.copy {
                        position: absolute;
                        display: inline-block;
                        margin: 0;
                        padding: 0;
                        font-size: 3.2vw;
                        line-height: 160%;
                        color: #fff;
                        bottom: 0.5em;
                        right: 0.8em;
                    }
				}
				.cat {
					margin: 1em 0 0;
					padding: 0;
					span {
						display: inline-block;
						margin: 0;
						padding: 0.2em 1.5em;
						font-size: 3.2vw;
						line-height: 150%;
						border: 1px solid #dddddd;
						&:nth-of-type(n + 2) {
							margin-left: 0.5em;
						}
					}
				}
				.name {
					margin: 1em 0 0;
					padding: 0;
					h2 {
						display: inline-block;
						margin: 0;
						padding: 0 0 5px;
						font-size: 4.0vw;
						line-height: 160%;
						font-weight: var(--weight-bold1);
						border-bottom: 1px solid #EB5B01;
					}
				}
				p {
					margin: 1.2em 0 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 200%;
				}
			}
		}
	}
}
section.works_top_ttl {
	margin: 0 auto;
	padding: 5% 5% 0;
	text-align: left;
	h3 {
		margin: 0;
		padding: 0;
		font-size: 4.0vw;
		font-weight: var(--weight-bold1);
		letter-spacing: 0.05em;
	}
	h2 {
		margin: 0;
		padding: 0;
		font-size: 5.4vw;
		line-height: 160%;
		font-weight: var(--weight-bold2);
	}
	.cat {
		margin: 0.4em 0 0;
		padding: 0;
		span {
			display: inline-block;
			margin: 0;
			padding: 0.2em 0.8em;
			font-size: 3.2vw;
			line-height: 150%;
			border: 1px solid #dddddd;
			&:nth-of-type(n + 2) {
				margin-left: 0.5em;
			}
		}
	}
}
section.works_main {
	margin: 10% auto 0;
	padding: 0 5%;
	div.main_img {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		background: #f6f6f6;
		img {
			width: 100%;
			height: 15.8em;
			object-fit: contain;
		}
	}
	ul {
		width: 100%;
		margin: 0 auto;
		padding: 3% 0 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		li {
			width: 47.9%;
			margin: 5% 0 0 4.1%;
			padding: 0;
			background: #f6f6f6;
			&:nth-of-type(odd) {
				margin-left: 0;
			}
			img {
				width: 100%;
				height: 7.5em;
				object-fit: contain;
				cursor: pointer;
			}
			img[loading="lazy"] {
				opacity: 0;
				transition: opacity 0.8s ease-in-out;
				&.fade-in {
					opacity: 1;
				}
			}
		}
        div.copy {
            width: 100%;
            margin: 3% 0 0;
            padding: 0;
            font-size: 3.6vw;
            line-height: 160%;
            text-align: right;
        }
	}
}
.lum-lightbox {
	z-index: 500;
}
.lum-close-button {
	top: 3.8em !important;
	right: 5% !important;
}
.lum-lightbox-inner img {
	max-width: 100% !important;
	height: auto !important;
}
section.works_info {
	margin: 20% auto 0;
	padding: 15% 0 15%;
	background: #f6f6f6;
	div.info_cont {
		margin: 0 auto;
		padding: 0 5%;
		h3 {
			margin: 0;
			padding: 0;
			span {
				display: inline-block;
				margin: 0;
				padding: 0;
				font-size: 5.0vw;
				line-height: 160%;
				font-family: "Montserrat", sans-serif;
				font-weight: var(--weight-extrabold1);
				letter-spacing: 0.05em;
				white-space: nowrap;
				text-align: left;
				background: linear-gradient(90deg, #333333 0%, #CCCCCC 100%);
				-webkit-background-clip: text;
				-webkit-text-fill-color: transparent;
			}
		}
		.info {
			margin: 5% 0 0;
			padding: 0;
			p {
				margin: 0;
				padding: 0;
				font-size: 3.6vw;
				line-height: 200%;
				text-align: left;
			}
			.name_address {
				margin: 8% 0 0;
				padding: 0;
				div {
					margin: 0;
					padding: 5%;
					text-align: left;
					border: 1px solid #333333;
					h4 {
						margin: 0;
						padding: 0;
						font-size: 3.2vw;
						line-height: 160%;
						font-weight: var(--weight-bold2);
						strong {
							margin: 0 0 0 1em;
							padding: 0;
							font-weight: var(--weight-bold2);
						}
					}
					h5 {
						margin: 0.5em 0 0;
						padding: 0;
						font-size: 3.2vw;
						line-height: 160%;
						font-weight: var(--weight-nomal);
					}
				}
			}
			span.area_date {
				display: block;
				margin: 0.5em 0 0;
				padding: 0;
				font-size: 3.2vw;
				line-height: 160%;
				text-align: right;
			}
			.cat {
				margin: 0.4em 0 0;
				padding: 0;
				text-align: right;
				span {
					display: inline-block;
					margin: 0;
					padding: 0.2em 0.8em;
					font-size: 3.2w;
					line-height: 150%;
					border: 1px solid #dddddd;
					background: #fff;
					&:nth-of-type(n + 2) {
						margin-left: 0.5em;
					}
				}
			}
		}
	}
}
div.works_btm_pager {
	margin: 10% 3.5% 0;
	padding: 0;
	position: relative;
	.prev, .next {
		position: absolute;
		display: block;
		width: 35%;
		margin: 0;
		padding: 0;
		top: 0;
		a {
			width: 100%;
			height: 2.8em;
			margin: 0;
			padding: 0;
			text-decoration: none;
			font-family: "Noto Sans", sans-serif; 
			font-size: 3.6vw;
			line-height: 160%;
			display: flex;
			justify-content: center;
			align-items: center;
			border: 1px solid #DDDDDD;
			border-radius: 1.4em;
			strong {
				display: none;
			}
			span {
				display: block;
			}
		}
	}
	.prev {
		left: 0;
		a:before {
			position: absolute;
			content: '';
			display: block;
			width: 0.5em;
			height: 1em;
			margin: 0;
			padding: 0;
			background: url(../images/icon/works_arrow_prev.png) center / contain no-repeat;
			top: calc(50% - 0.5em);
			left: 10%;
		}
	}
	.next {
		right: 0;
		a:after {
			position: absolute;
			content: '';
			display: block;
			width: 0.5em;
			height: 1em;
			margin: 0;
			padding: 0;
			background: url(../images/icon/works_arrow_next.png) center / contain no-repeat;
			top: calc(50% - 0.5em);
			right: 10%;
		}
	}
	.back {
		width: 80%;
		margin: 0 auto;
		padding: 20% 0 0;
		a {
			width: 100%;
			height: 2.8em;
			margin: 0;
			padding: 0;
			text-decoration: none;
			font-family: "Noto Sans", sans-serif; 
			font-size: 3.6vw;
			line-height: 160%;
			display: flex;
			justify-content: center;
			align-items: center;
			border: 1px solid #DDDDDD;
			border-radius: 1.4em;
		}
	}
}
section.works_info + div.btn {
	margin: 8% auto 0;
	padding: 0;
	display: flex;
	justify-content: center;
	a {
		width: 80%;
		height: 2.8em;
		margin: 0;
		padding: 0;
		text-decoration: none;
		font-family: "Noto Sans", sans-serif; 
		font-size: 3.6vw;
		line-height: 160%;
		display: flex;
		justify-content: center;
		align-items: center;
		border: 1px solid #DDDDDD;
		border-radius: 1.4em;
	}
}


/* Contact */
div.cont_tbl {
	width: 100%;
	margin: 10% auto 0;
	padding: 0 5%;
	&.frame {
		margin-top: 0;
	}
	p.form_top {
		margin: 0;
		padding: 0;
		font-size: 3.8vw;
		font-weight: var(--weight-bold1);
		text-align: left;
		span {
			margin: 0 0.5em 0 0;
			padding: 0;
			color: #EB5B01;
		}
	}
	div.form_cont {
		width: 100%;
		margin: 5% auto 0;
		padding: 0;
		dl {
			width: 100%;
			margin: 0;
			padding: 0;
			font-size: 3.8vw;
			line-height: 180%;
			font-weight: var(--weight-bold1);
			text-align: left;
			dt {
				width: 100%;
				margin: 0 ;
				padding: 0.8em 0 0.3em;
				font-weight: var(--weight-bold1);
				span {
					margin: 0 0 0 0.5em;
					font-size: 3.4vw;
					color: #EB5B01;
				}
			}
			dd {
				width: 100%;
				margin: 0;
				padding: 0.3em 0 0.8em;
				input[type=text],
				input[type=tel],
				input[type=email],
				select {
					width: 100%;
					height: 3.5em;
					padding: 0.5em 1em;
					font-size: 3.8vw;
					line-height: 180%;
					font-weight: var(--weight-noaml);
					font-family	: inherit;
					border: none;
					background: #f6f6f6;
				}
				textarea {
					width: 100%;
					height: 15em;
					padding: 0.5em 1em;
					font-size: 3.8vw;
					line-height: 180%;
					font-weight: var(--weight-noaml);
					font-family	: inherit;
					background: #f6f6f6;
					border: none;
				}
				input[type=checkbox],
				input[type=radio] {
					margin: 0 0.8em 0 0;
					width: 1.2em;
					height: 1.2em;
					vertical-align: -0.2em;
				}
				div.privacy_box {
					width: 100%;
					margin: 0;
					padding: 1em 3%;
					font-size: 3.4vw;
					line-height: 200%;
					background: #f6f6f6;
					.box {
						padding: 0 0.5em 0 0;
						height: 15em;
						overflow-y: auto;
						scrollbar-color: #222222 #f6f6f6;
						scrollbar-width: thin;
						strong {
							display: block;
							margin: 1.5em 0 0;
							padding: 0;
							font-size: 3.6vw;
							line-height: 200%;
							font-weight: var(--weight-bold1);
						}
						p {
							margin: 1em 0 0;
							padding: 0;
							span {
								display: block;
								margin: 0;
								padding: 0 0 0 1em;
								text-indent: -1em;
							}
							a {
								overflow-wrap: anywhere;
							}
							&.sign {
								text-align: right;
							}
						}
						ul {
							margin: 0;
							padding: 25px 0 0;
							list-style: none;
							li {
								margin: 10px 0 0;
								padding: 0 0 0 1.2em;
								text-indent: -1.2em;
							}
						}
					}
				}
				div.privacy_link {
					margin: 0.5em auto 0;
					padding: 0;
					font-size: 3.6vw;
					line-height: 180%;
					text-align: center;
				}
					div.cont_tbl div.privacy_link label {
						display: inline-block;
						margin: 0 auto;
						padding: 0;
					}
			}
		}
		#contact_btn {
			width: 100%;
			margin: 0 auto;
			padding: 10% 0 0;
			text-align: center;
			div.form_btn1,
			div.form_btn2 {
				display: inline-block;
				width: 80%;
				height: 3.5em;
				margin: 0.5em auto;
				position: relative;
				z-index: 1;
			}
			div.form_btn1 {
				button {
					display: block;
					width: 100%;
					height: 3.5em;
					font-size: 4.0vw;
					line-height: 180%;
					margin: 0 auto;
					padding: 0;
					font-family	: inherit;
					color: #fff;
					font-weight: var(--main-font-bold1);
					border: 1px solid #EB5B01;
					background: #EB5B01;
					border-radius: 1.75em;
					cursor: pointer;
				}
			}
			div.form_btn2 {
				button {
					display: block;
					width: 100%;
					height: 3.5em;
					font-size: 4.0vw;
					line-height: 180%;
					margin: 0 auto;
					padding: 0;
					font-family	: inherit;
					color: #fff;
					font-weight: var(--main-font-bold1);
					border: 1px solid #333;
					background: #333;
					border-radius: 1.75em;
					cursor: pointer;
				}
			}
		}
		div.cont_btn {
			margin: 8% auto 0;
			padding: 0;
			display: flex;
			justify-content: center;
			a {
				width: 80%;
				height: 2.8em;
				margin: 0;
				padding: 0;
				text-decoration: none;
				font-size: 3.6vw;
				line-height: 160%;
				display: flex;
				justify-content: center;
				align-items: center;
				border: 1px solid #DDDDDD;
				border-radius: 1.4em;
			}
		}
	}
}
