.mt10{
	margin-top: 10px;
}
.mt20{
	margin-top: 20px;
}
.mt30{
	margin-top: 30px;
}
.mt40{
	margin-top: 40px;
}
.mt50{
	margin-top: 50px;
}
.mt60{
	margin-top: 60px;
}
.mt70{
	margin-top: 70px;
}
.mt80{
	margin-top: 80px;
}
.fz14{
	font-size: 14px;
}
.fz16{
	font-size: 16px;
}
.fz17{
	font-size: 17px;
}
.fz19{
	font-size: 19px;
}
.fz22{
	font-size: 22px;
}
.fz23{
	font-size: 23px;
}

.check_border{
	width: 100%;
	height: 32px;
	background-image: url(../img/tezukuri/tz_check.png);
	background-size: cover;
}
.tezukuri_inner{
	padding: 0 20px;
	background: url(../img/tezukuri/boto_bg.gif) repeat-x bottom left;
}
#content .tz_h1{
	position: relative;
	margin-top: 30px;
}
.tz_img01{
	position: absolute;
	top: -88px;
	right: -80px;
}
.tz_img03{
	position: absolute;
	bottom: 30px;
	left: -20px;
}
.tz_img04{
	position: absolute;
	top: 20px;
	right: 10px;
}
.tz_img06{
	position: absolute;
	top: 5px;
	right: -10px;
}
.tz_img07{
	position: absolute;
	top: 25px;
	right: -45px;
}
.tz_img08{
	position: absolute;
	top: 25px;
	right: -45px;
}
.tz_img09{
	position: absolute;
	top: 10px;
	right: -45px;
}
.tz_img10{
	position: absolute;
	top: 16px;
	right: -45px;
}
#content .tz_h2{
	color: #6a3906;
	border-left: solid 8px #6a3906;
	border-bottom: solid 3px #6a3906;
	padding: 3px 3px 3px 10px;
}
.tz_inner{
	padding: 0 20px;
}
.tz_p{
	line-height: 2;
}
.dot_border{
	border-bottom: dotted 3px #b28247;
}
.tz_time{
	gap: 10px 20px;
	align-items: center;
	justify-content: start;
}
.tz_time01{
	background: #6a3906;
    color: #fff;
    font-size: 18px;
    border-radius: 50%;
    width: 46px;
    height: 46px;
}
.tz_time03{
	font-size: 12px;
}
.tz_info_wrap{
	gap: 20px;
}
.tz_week_time {
	padding-left: 50px;
}
.tz_price{
	border: solid 3px #6a3906;
	padding: 15px 20px;
	border-radius: 15px;
}
.tz_price_ttl{
	margin-top: -34px;
}
.tz_price_inner{
	display: inline-block;
	padding: 0 30px;
	background: #FEF9EF;
}
.tz_info_img{
	width: 216px;
}
.tz_yoyaku_ttl {
	font-size: min(30px, 6.5vw);
	color: #e60012;
}

.tz_theme{
	border-radius: 15px;
	padding: 20px;
	color: #fff;
	position: relative;
}
.tz_purple{
	background: #bb8dbe;
}
.tz_pink{
	background: #ea9ea6;
}
.tz_orange{
	background: #f39800;
}
.tz_green{
	background: #8fc31f;
}
.tz_sky{
	background: #5eb7e8;
}
.tz_dpink{
	background: #eb6d8e;
}
#content .tz_h3{
	border-bottom: dotted 3px #fff;
	padding: 0 20px 10px;
	color: #fff;
}
.tz_theme_wrap{
	flex-wrap: wrap;
	gap: 20px;
}
.tz_theme_box{
	width: calc((100% - 40px) / 3);
}
.tz_serif01{
	position: absolute;
	top: -30px;
	right: -58px;
}
.tz_serif02{
	position: absolute;
	top: 95px;
	left: -4px;
}
.tz_serif03{
	position: absolute;
	bottom: 71px;
	right: -71px;
}
.tz_serif04{
	position: absolute;
	top: -60px;
	right: -63px;
}

.tz_insta{
	margin-top: -30px;
	text-align: right;
}
.tz04_p {
	position: relative;
}
#tezukuri04{
	padding-bottom: 80px;
}

@media screen and (max-width: 960px) {
    #tezukuri_con {
		background: #FEF9EF;
	}
	.tezukuri_inner{
		padding: 0 10px;
	}
	#content .tz_h1{
		text-align: center;
	}
	.tz_inner{
		padding: 0 10px;
	}
	.tz_time{
		flex-wrap: wrap;
		justify-content: center;
	}
	.tz_img01{
		position: static;
	}
	.tz_info_wrap {
		flex-wrap: wrap;
		justify-content: center;
	}
	.tz_week_time{
		padding-left: 10px;
	}
	.tz_price{
		padding: 15px;
	}

	#content .tz_h3{
		padding: 0 5px 5px;
	}
	.tz_img03{
		bottom: -25px;
	}
	.tz_img04{
		max-width: 20vw;
		top: -6vw;
	}
	.tz_img06{
		margin-top: -70px;
	}
	.tz_img07{
		position: static;
		display: block;
		margin: auto;
	}
	.tz_img08{
		position: static;
		display: block;
		margin: auto;
	}
	.tz_img09{
		position: static;
		display: block;
		margin: auto;
	}
	.tz_img10{
		position: static;
		display: block;
		margin: auto;
	}
	.tz_serif01{
		max-width: 28vw;
		right: -5px;
		top: -6vw;
	}
	.tz_serif02 {
		max-width: 45vw;
	}
	.tz_serif03{
		bottom: -13vw;
    	right: -10px;
		max-width: 32vw;
	}
	.tz_serif04{
		right: -5px;
		top: -6vw;
		max-width: 28vw;
	}

	.tz_insta{
		margin-top: 0;
	}
	.tz04_cont {
		margin-top: 10px;
	}
}
@media screen and (max-width: 480px) {
	.tz_theme_box {
		width: calc((100% - 20px) / 2);
	}
	.sp_order06{
		order: 6;
	}
	.tz_serif03{
		bottom: -4vw;
	}
}