@charset "utf-8";
/*==================================================
	【サブ】ページ固有のスタイル
==================================================*/
#service .price {
	position: relative;
}
#service .price h3.sub {
	color: #754c24;
	font-size: 54px;
	background: url("../img/service/bg-h3-01.png") no-repeat center bottom;
}
#service .price .waku {
	width: 580px;
	margin: 0 auto;
	padding: 20px 50px 50px;
	border: 4px solid #f5f5f2;
	border-radius: 50px;
	font-size: 110%;
	z-index: 1;
	background: #fff;
}
#service .price .waku::before, #service .price .waku::after {
	content: "";
	background: url("../img/service/bg-maru.png") no-repeat center / 100% auto;
	width: 176px;
	height: 176px;
	position: absolute;
	z-index: -1;
	right: 180px;
	top: 70px;
}
#service .price .waku::after {
	background-image: url("../img/service/bg-maru02.png");
	right: auto;
	top: auto;
	left: 150px;
	bottom: 50px;
}
#service .price .waku table {
	width: 100%;
}
#service .price .waku table tr {
	border-bottom: 2px solid #f5f5f2;
}
#service .price .waku table tr th, #service .price .waku table tr td {
	width: 50%;
	padding-top: 30px;
	padding-bottom: 20px;
}
#service .price .waku table tr td {
	text-align: right;
}
#service .price .waku table tr td .green, #service .price .waku table tr td .pink {
	font-weight: 500;
}
#service .price .waku .in {
	margin: 0 0 20px;
	background: #f5f5f2;
	padding: 30px;
}
#service .price .waku .in table tr {
	border-bottom: 2px solid #fff;
}
#service .price .waku .in table tr:first-of-type th, #service .price .waku .in table tr:first-of-type td {
	padding-top: 0;
}
#service .price .waku table tr.total {
	border-bottom: none;
}
#service .price .waku table tr.total th, #service .price .waku table tr.total td {
	padding-bottom: 0;
}
#service .target {
	position: relative;
}
#service .target::before {
	background: #f5f5f2 url("../img/service/bg.png") no-repeat right -50px top 40px;
}
#service .target .bg::before {
	background: url("../img/service/bg-top.png") repeat-x top;
}
#service .target .bg::after {
	background: url("../img/service/bg-bottom.png") repeat-x bottom;
}
#service .target .img {
	position: absolute;
	left: calc(50% - 50vw);
	width: calc( (100vw - 1100px) / 2 + (1100px - 550px) );
}
@media only screen and (max-width: 1150px) {
	#service .target .img {
		left: -30px;
		width: 400px;
	}
}
#service .target .img img {
	width: 100%;
	height: 417px;
	object-fit: cover;
	border-radius: 0 100px 100px 0;
	border: 4px solid #fff;
}
#service .target .info {
	position: relative;
	z-index: 1;
	padding: 50px;
	width: 645px;
	margin-left: auto;
	background: #fff;
	border-radius: 30px;
	margin-top: 40px;
}
#service .target .info h3.sub {
	background: none;
	text-align: left;
	font-size: 44px;
	padding-bottom: 0;
	margin-bottom: 30px;
}
#service .target .info .txt {
	font-size: 114%;
	line-height: 2;
}
#service .flow h3.sub {
	color: #754c24;
	font-size: 54px;
	background: url("../img/service/bg-h3-02.png") no-repeat center bottom;
}
#service .flow .txt {
	margin-bottom: 80px;
}
#service .flow .box {
	position: relative;
	margin-bottom: 100px;
}
#service .flow .box .ttl {
	background: #f5f5f2 url("../img/service/bg-midashi.png") no-repeat right center;
	font-size : 44px;
	letter-spacing : 4.4px;
	font-weight: 500;
	border-radius: 30px;
	padding: 31px 50px;
	margin-bottom: 50px;
}
#service .flow .box dl {
	border-bottom: 2px solid #F5F5F2;
	padding-bottom: 40px;
	margin-bottom: 50px;
}
#service .flow .box dl dt {
	font-size : 34px;
	letter-spacing : 3.4px;
	color : #754C24;
	font-weight: 500;
	margin-bottom: 10px;
}
#service .flow .box dl dt span {
	margin-right: 30px;
}
#service .flow .box dl dd {
	padding-left: 82px;
	font-size: 110%;
	font-family: var(--font-mp2);
}
#service .flow .box dl.dd_none dd {
	display: none;
}
#service .flow .box dl dd a {
	color: var(--color-green);
	text-decoration: underline;
}
#service .flow .box .img {
	position: absolute;
	right: 0;
	top: 550px;
}
@media print, screen and (min-width: 769px){ /* PCのみ */
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
}
@media only screen and (max-width: 768px) and (min-width: 641px){ /* タブレットのみ */
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#service .price h3.sub {
		font-size: 30px;
	}
	#service .target .img img {
		height: 300px;
	}
	#service .target .info {
		width: 70%;
		padding: 20px;
	}
	#service .target .info {
		margin-top: 200px;
	}
	#service .target .info h3.sub {
		font-size: 30px;
		margin-bottom: 10px;
	}
	#service .target .info .txt {
		font-size: 110%;
		line-height: 1.8;
	}
	#service .flow h3.sub {
		font-size: 30px;
		background-size: 350px auto;
	}
	#service .flow .txt {
		margin-bottom: 30px;
	}
	#service .flow .box {
		margin-bottom: 50px;
	}
	#service .flow .box .ttl {
		padding: 15px 20px 18px;
		font-size: 25px;
		letter-spacing: 3px;
		margin-bottom: 30px;
	}
	#service .flow .box dl {
		padding-bottom: 20px;
		margin-bottom: 25px;
	}
	#service .flow .box dl dt {
		font-size: 25px;
		letter-spacing: 2px;
	}
	#service .flow .box dl dt span {
		margin-right: 20px;
	}
	#service .flow .box dl dd {
		padding-left: 55px;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#service .price h3.sub {
		font-size: 25px;
	}
	#service .price .waku {
		width: 100%;
		padding: 0 20px 20px;
		border-radius: 20px;
	}
	#service .price .waku table tr th, #service .price .waku table tr td {
		padding-top: 15px;
		padding-bottom: 10px;
	}
	#service .price .waku .in {
		padding: 15px;
		margin-bottom: 0;
	}
	#service .price .waku .in table tr th {
		width: 50px;
	}
	#service .price .waku .in table tr td {
		width: calc(100% - 50px);
	}
	#service .target .img {
		width: 90%;
		left: -25px;
	}
	#service .target .info {
		width: 90%;
	}
	#service .target .info h3.sub {
		font-size: 23px;
	}
	#service .target .info .txt {
		font-size: 105%;
	}
	#service .flow h3.sub {
		font-size: 25px;
		background-size: 280px auto;
	}
	#service .flow .txt {
		font-size: 105%;
	}
	#service .flow .box .ttl {
		padding: 10px 15px 12px;
		font-size: 20px;
		border-radius: 20px;
	}
	#service .flow .box dl dt {
		font-size: 20px;
	}
	#service .flow .box dl dd {
		padding-left: 50px;
		font-size: 105%;
	}
	#service .flow .box .attention {
		font-size: 105%;
	}
}
@media only screen and (max-width: 320px){ /* スマホ */
	#service .price .waku table {
		font-size: 90%;
	}
	#service .flow h3.sub {
		font-size: 24px;
	}
	#service .flow .box dl dt {
		font-size: 19px;
	}
	#service .flow .box .ttl {
		letter-spacing: 0;
	}
	#service .flow .box dl dt {
		font-size: 18px;
	}
	#service .flow .box dl dt span {
		margin-right: 10px;
	}
	#service .flow .box dl dd {
		padding-left: 35px;
	}
}