@charset "UTF-8";
/*
 * top_layout.css
 *
 */
 
/* !main-visual
---------------------------------------------------------- */
/*#main-visual {
	width:100%;
	height:700px;
	background:url(../../img/main01.jpg) 50% 50%;
	background-size:cover;
	position:relative;
	z-index:1;
}
#main-visual h2 img {
	position:absolute;
	display:block;
	width:400px;
	height:280px;
	top:50%;
	left:50%;
	margin-top:-140px;
	margin-left:-200px;
}*/

#main-visual {
	width:100%;
	height:700px;
	position:relative;
}
#main-visual h2 img {
	position:absolute;
	display:block;
	width:400px;
	height:280px;
	top:50%;
	left:50%;
	margin-top:-140px;
	margin-left:-200px;
	z-index:2;
}
#main-visual img.bg {
	position:absolute;
	display:block;
	width:100%;
	height:700px;
	object-fit: cover;
	z-index:1;
}

@media screen and (max-width:1039px){
/*#main-visual {
	width:100%;
	height:600px;
	background:url(../../img/main01.jpg) 50% 50%;
	background-size:cover;
	position:relative;
	z-index:1;
	
}
#main-visual h2 img {
	position:absolute;
	display:block;
	width:360px;
	height:252px;
	top:50%;
	left:50%;
	margin-left:-180px;
}*/

#main-visual {
	height:600px;
}
#main-visual h2 img {
	width:360px;
	height:252px;
	margin-left:-180px;
}
#main-visual img.bg {
	height:600px;
}
}

@media screen and (max-width:767px){
/*#main-visual {
	width:100%;
	height:400px;
	background:url(../../img/main01.jpg) 50% 50%;
	background-size:cover;
	position:relative;
	z-index:1;
	
}
#main-visual h2 img {
	position:absolute;
	display:block;
	width:280px;
	height:196px;
	top:50%;
	left:50%;
	margin-top:-98px;
	margin-left:-140px;
}*/

#main-visual {
	height:400px;
}
#main-visual h2 img {
	width:280px;
	height:196px;
	margin-top:-98px;
	margin-left:-140px;
}
#main-visual img.bg {
	height:400px;
}
}
 
/* !works
---------------------------------------------------------- */
.topWorks {
	width:auto;
	padding:60px 40px 80px 40px;
}
	.topWorks p.enTit{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-style:italic;
		font-size:38px;
		transform: rotate(.03deg);
		color:#9D0D14;
		text-align:center;
		line-height:1.4;
		margin-bottom:15px;
		letter-spacing:0.1em;
	}
	.topWorks h2{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:143%;
		color:#111;
		transform: rotate(.03deg);
		text-align:center;
		line-height:1.6;
		margin-bottom:50px;
		letter-spacing:0.06em;
	}
	.topWorks ul {
		width:100%;
	}
		.topWorks ul li {
			width:33.33%;
			display:block;
			float:left;
		}
			.topWorks ul li a {
				width:100%;
				height:250px;
				display:block;
				position:relative;
				overflow: hidden;
			}
				.topWorks ul li a div.ol {
					width:100%;
					height:250px;
					background:rgba(0,0,0,0.6);
					position:absolute;
					top:0;
					left:0;
					z-index:2;
					-webkit-transition: all 0.5s ease;
					-moz-transition: all 0.5s ease;
					transition: all 0.5s ease;
				}
				.topWorks ul li a p {
					display:inline-block;
					border:2px solid #FFF;
					font-size:122%;
					font-weight:bold;
					line-height:1.6;
					text-align:center;
					color:#FFF;
					position:absolute;
					top: 0;
					left: 0;
					right: 0; 
					bottom: 0; 
					margin: auto; 
					width:190px;
					height:180px;
					padding-top:60px;
					z-index:3;
				}
				.topWorks ul li a.works01:after {
					position: absolute;
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					top: 0;
					background:url(../../img/works_img01.jpg) 50% 50% no-repeat;
					background-size:cover;
					transition: all .3s ease-out;
				}
					.topWorks ul li a.works01:hover:after {
						transform: scale(1.05);
					}
				.topWorks ul li a.works02:after {
					position: absolute;
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					top: 0;
					background:url(../../img/works_img02.jpg) 50% 50% no-repeat;
					background-size:cover;
					transition: all .3s ease-out;
				}
					.topWorks ul li a.works02:hover:after {
						transform: scale(1.05);
					}
				.topWorks ul li a.works03:after {
					position: absolute;
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					top: 0;
					background:url(../../img/works_img03.jpg) 50% 50% no-repeat;
					background-size:cover;
					transition: all .3s ease-out;
				}
					.topWorks ul li a.works03:hover:after {
						transform: scale(1.05);
					}
				.topWorks ul li a.works04:after {
					position: absolute;
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					top: 0;
					background:url(../../img/works_img04.jpg) 50% 50% no-repeat;
					background-size:cover;
					transition: all .3s ease-out;
				}
					.topWorks ul li a.works04:hover:after {
						transform: scale(1.05);
					}
				.topWorks ul li a.works05:after {
					position: absolute;
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					top: 0;
					background:url(../../img/works_img05.jpg) 50% 50% no-repeat;
					background-size:cover;
					transition: all .3s ease-out;
				}
					.topWorks ul li a.works05:hover:after {
						transform: scale(1.05);
					}
				.topWorks ul li a.works06:after {
					position: absolute;
					content: "";
					display: block;
					width: 100%;
					height: 100%;
					top: 0;
					background:url(../../img/works_img06.jpg) 50% 50% no-repeat;
					background-size:cover;
					transition: all .3s ease-out;
				}
					.topWorks ul li a.works06:hover:after {
						transform: scale(1.05);
					}
				.topWorks ul li a:hover div.ol {
					background:rgba(0,0,0,0.2);
				}
					
@media screen and (max-width:1039px){
.topWorks {
	width:auto;
	padding:50px 30px 70px 30px;
}
	.topWorks p.enTit{
		font-size:38px;
		margin-bottom:15px;
	}
	.topWorks h2{
		font-size:143%;
		margin-bottom:50px;
	}
	.topWorks ul {
		width:100%;
	}
			.topWorks ul li a {
				height:220px;
			}
				.topWorks ul li a div.ol {
					height:220px;
					background:rgba(0,0,0,0.6);
					-webkit-transition: none;
					-moz-transition: none;
					transition: none;
				}
				.topWorks ul li a p {
					font-size:114%;
					width:190px;
					height:170px;
					padding-top:58px;
				}
					.topWorks ul li a.works01:hover:after {
						transform: scale(1);
					}
					.topWorks ul li a.works02:hover:after {
						transform: scale(1);
					}
					.topWorks ul li a.works03:hover:after {
						transform: scale(1);
					}
					.topWorks ul li a.works04:hover:after {
						transform: scale(1);
					}
					.topWorks ul li a.works05:hover:after {
						transform: scale(1);
					}
					.topWorks ul li a.works06:hover:after {
						transform: scale(1);
					}
				.topWorks ul li a:hover div.ol {
					background:rgba(0,0,0,0.6);
				}
}

@media screen and (max-width:767px){
.topWorks {
	width:auto;
	padding:50px 0 0 0;
}
	.topWorks p.enTit{
		font-size:30px;
		margin-bottom:10px;
	}
	.topWorks h2{
		font-size:107%;
		margin-bottom:40px;
	}
	.topWorks ul {
		width:100%;
	}
		.topWorks ul li {
			width:50%;
			display:block;
			float:left;
		}
			.topWorks ul li a {
				height:170px;
			}
				.topWorks ul li a div.ol {
					height:170px;
				}
				.topWorks ul li a p {
					font-size:93%;
					font-weight:normal;
					width:130px;
					height:100px;
					border:1px solid #FFF;
					padding-top:28px;
				}
}

/* !merit
---------------------------------------------------------- */
.topMerit {
	width:auto;
	padding:60px 40px 80px 40px;
	background:url(../img/bg_stripe.png) 0 0 repeat;
}
	.topMerit p.enTit{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-style:italic;
		font-size:38px;
		transform: rotate(.03deg);
		color:#9D0D14;
		text-align:center;
		line-height:1.4;
		margin-bottom:12px;
		letter-spacing:0.1em;
	}
	.topMerit h2{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:143%;
		color:#111;
		transform: rotate(.03deg);
		text-align:center;
		line-height:1.6;
		margin-bottom:50px;
		letter-spacing:0.06em;
	}
		.topMerit h2 span{
			font-weight:bold;
			font-size:130%;
			color:#E20113;
		}
	.topMerit ul.group1 {
		width:100%;
		margin-bottom:50px;
	}
		.topMerit ul.group1 li {
			width:24%;
			height:300px;
			display:block;
			float:left;
			position:relative;
			margin-right:1.33%;
		}
		.topMerit ul.group1 li:last-child {
			margin-right:0;
		}
			.topMerit ul.group1 li div.merit01 {
				width:100%;
				height:300px;
				background:url(../../img/merit_img01.jpg) 50% 50% no-repeat;
				background-size:cover;
				position:absolute;
				top:0;
				left:0;
			}
			.topMerit ul.group1 li div.merit02 {
				width:100%;
				height:300px;
				background:url(../../img/merit_img02.jpg) 50% 50% no-repeat;
				background-size:cover;
				position:absolute;
				top:0;
				left:0;
			}
			.topMerit ul.group1 li div.merit03 {
				width:100%;
				height:300px;
				background:url(../../img/merit_img03.jpg) 50% 50% no-repeat;
				background-size:cover;
				position:absolute;
				top:0;
				left:0;
			}
			.topMerit ul.group1 li div.merit04 {
				width:100%;
				height:300px;
				background:url(../../img/merit_img04.jpg) 50% 50% no-repeat;
				background-size:cover;
				position:absolute;
				top:0;
				left:0;
			}
			.topMerit ul.group1 li p {
				position:absolute;
				width:auto;
				height:50px;
				font-size:115%;
				font-weight:bold;
				text-align:center;
				color:#FFF;
				z-index:2;
				top: 0;
				left: 0;
				right: 0; 
				bottom: 0; 
				margin: auto; 
			}
				.topMerit ul.group1 li p span {
					color:#FDF267;
				}
			.topMerit ul.group1 li div.ol {
				width:100%;
				height:300px;
				background:rgba(0,0,0,0.6);
				position:absolute;
				top:0;
				left:0;
				z-index:1;
			}
			
	.topMerit ul.group2 {
		width:100%;
		margin-bottom:60px;
	}
		.topMerit ul.group2 li {
			width:auto;
			height:50px;
			padding:0 10px 0 10px;
			margin-left:20px;
			color:#111;
			background:#FFF;
			position:relative;
			margin-bottom:10px;
		}
			.topMerit ul.group2 li:before {
				content: '';
				display: inline-block;
				width:20px;
				height:50px;
				background-image:url(../../img/merit_group2_bg.png);
				background-size: contain;
				vertical-align: middle;
				position:absolute;
				top:0;
				left:-20px;
			}
			.topMerit ul.group2 li p {
				font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
				font-size:115%;
				font-weight:bold;
				transform: rotate(.03deg);
				float:left;
				padding:10px 0 0 15px;
				background:url(../../img/merit_group2_icon.png) left 22px no-repeat;
				background-size:6px 6px;
			}
				.topMerit ul.group2 li p br {
					display:none;
				}
			.topMerit ul.group2 li div {
				float:right;
				margin-top:11px;
			}
				.topMerit ul.group2 li div span {
					display:inline-block;
					background:#333;
					font-size:108%;
					color:#FDF266;
					line-height:1;
					padding:0.4em;
					margin-left:5px;
					border-radius:3px;
				}
	.topMerit a.meritBtn {
		display:block;
		width:300px;
		height:50px;
		line-height:50px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:129%;
		font-weight:normal;
		text-align:center;
		color:#333;
		border:1px solid #333;
		margin:0 auto;
		position:relative;
		transition: all 0.5s;
	}
		.topMerit a.meritBtn:after {
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			right: 20px;
			margin: auto;
			vertical-align: middle;
			width: 8px;
			height: 8px;
			border-top: 1px solid #333;
			border-right: 1px solid #333;
			-moz-transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			transition: all 0.2s;
		}
			.topMerit a.meritBtn:hover {
				background:#E10013;
				border:1px solid #E10013;
				color:#FFF;
			}
			.topMerit a.meritBtn:hover:after {
				right: 15px;
				border-top: 1px solid #FFF;
				border-right: 1px solid #FFF;
			}
			
@media screen and (max-width:1039px){
.topMerit {
	width:auto;
	padding:50px 30px 70px 30px;
}
	.topMerit p.enTit{
		font-size:38px;
		margin-bottom:10px;
	}
	.topMerit h2{
		font-size:143%;
		margin-bottom:50px;
	}
		.topMerit ul.group1 li {
			height:250px;
		}
			.topMerit ul.group1 li div.merit01 {
				height:250px;
			}
			.topMerit ul.group1 li div.merit02 {
				height:250px;
			}
			.topMerit ul.group1 li div.merit03 {
				height:250px;
			}
			.topMerit ul.group1 li div.merit04 {
				height:250px;
			}
			.topMerit ul.group1 li div.ol {
				height:250px;
			}
			
			.topMerit ul.group2 li p {
				font-size:108%;
			}
	.topMerit a.meritBtn {
		transition:none;
	}
		.topMerit a.meritBtn:after {
			transition: none;
		}
			.topMerit a.meritBtn:hover {
				background:none;
				border:1px solid #111;
				color:#111;
			}
			.topMerit a.meritBtn:hover:after {
				border-top: 1px solid #111;
				border-right: 1px solid #111;
				right: 20px;
			}
}

@media screen and (max-width:767px){
.topMerit {
	width:auto;
	padding:50px 20px 50px 20px;
}
	.topMerit p.enTit{
		font-size:30px;
		margin-bottom:5px;
	}
	.topMerit h2{
		font-size:107%;
		margin-bottom:40px;
	}
	.topMerit ul.group1 {
		margin-bottom:40px;
	}
		.topMerit ul.group1 li {
			width:49%;
			height:200px;
			margin-right:2%;
			margin-bottom:8px;
		}
		.topMerit ul.group1 li:nth-child(even) {
			margin-right:0;
		}
			.topMerit ul.group1 li div.merit01 {
				height:200px;
			}
			.topMerit ul.group1 li div.merit02 {
				height:200px;
			}
			.topMerit ul.group1 li div.merit03 {
				height:200px;
			}
			.topMerit ul.group1 li div.merit04 {
				height:200px;
			}
			.topMerit ul.group1 li p {
				height:60px;
				font-size:107%;
			}
			.topMerit ul.group1 li div.ol {
				height:200px;
			}
			
	.topMerit ul.group2 {
		width:100%;
	}
		.topMerit ul.group2 li {
			display:block;
			width:auto;
			height:auto;
			padding:15px 10px 10px 10px;
			margin-left:0;
			background-color:#FFF;
			position:inherit;
			margin-bottom:10px;
		}
			.topMerit ul.group2 li:before {
				display:none;
			}
			.topMerit ul.group2 li p {
				float:none;
				line-height:1.6;
				padding:0;
				background:none;
				text-align:center;
			}
				.topMerit ul.group2 li p br {
					display:block;
				}
			.topMerit ul.group2 li div {
				float:none;
				margin-top:11px;
			}
				.topMerit ul.group2 li div span {
					display:block;
					width:210px;
					text-align:center;
					padding:0.5em;
					margin:0 auto 5px auto;
					border-radius:20px;
				}
	.topMerit a.meritBtn {
		width:280px;
		font-size:115%;
	}
}

/* !service map
---------------------------------------------------------- */
.topService {
	width:auto;
	padding:60px 40px 80px 40px;
}
	.topService h2{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-style:italic;
		font-size:38px;
		transform: rotate(.03deg);
		color:#9D0D14;
		text-align:center;
		line-height:1.4;
		margin-bottom:50px;
		letter-spacing:0.1em;
	}
	.topService ul {
		width:100%;
	}
		.topService ul li {
			width:33.3%;
			padding:0 25px;
			float:left;
			background:url(../img/dot_line01.png) top left repeat-y;
			margin-bottom:40px;
		}
			.topService ul li:nth-child(3n+3) {
				background:url(../img/dot_line01.png) top right repeat-y,url(../img/dot_line01.png) top left repeat-y;
			}
			.topService ul li:last-child {
				background:url(../img/dot_line01.png) top right repeat-y,url(../img/dot_line01.png) top left repeat-y;
				margin-bottom:0;
			}
			.topService ul li:nth-child(10) {
				margin-bottom:0;
			}
			.topService ul li img {
				display:block;
				width:140px;
				margin:0 auto 20px auto;
			}
			.topService ul li h3 {
				font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
				font-size:143%;
				font-weight:bold;
				color:#111;
				line-height:1.4;
				text-align:center;
				letter-spacing:0.1em;
				margin-bottom:15px;
			}
			.topService ul li p {
				margin-bottom:30px;
				color:#666;
			}
			.topService ul li a.worksBtn {
				display:block;
				position: relative;
				width:100%;
				height:42px;
				line-height:42px;
				text-align:center;
				color:#111;
				transition: all 0.5s;
				border:1px solid #B9B9B9;
				margin:0 auto 10px auto;
			}
				.topService ul li a.worksBtn:after {
					content: "";
					position: absolute;
					top: 0;
					bottom: 0;
					right: 15px;
					margin: auto;
					vertical-align: middle;
					width: 8px;
					height: 8px;
					border-top: 1px solid #999;
					border-right: 1px solid #999;
					-moz-transform: rotate(45deg);
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					transition: all 0.3s;
				}
				.topService ul li a.worksBtn:hover {
					border:1px solid #E20113;
					background:#E20113;
					color:#FFF;
				}
					.topService ul li a.worksBtn:hover:after {
						border-top: 1px solid #FFF;
						border-right: 1px solid #FFF;
						right: 10px;
					}
			.topService ul li a.priceBtn {
				display:block;
				position: relative;
				width:100%;
				height:42px;
				line-height:42px;
				text-align:center;
				color:#111;
				transition: all 0.5s;
				border:1px solid #B9B9B9;
				margin:0 auto 10px auto;
			}
				.topService ul li a.priceBtn:after {
					content: "";
					position: absolute;
					top: 0;
					bottom: 0;
					right: 15px;
					margin: auto;
					vertical-align: middle;
					width: 8px;
					height: 8px;
					border-top: 1px solid #999;
					border-right: 1px solid #999;
					-moz-transform: rotate(45deg);
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					transition: all 0.3s;
				}
				.topService ul li a.priceBtn:hover {
					border:1px solid #111;
					background:#111;
					color:#FFF;
				}
					.topService ul li a.priceBtn:hover:after {
						border-top: 1px solid #FFF;
						border-right: 1px solid #FFF;
						right: 10px;
					}

@media screen and (max-width:1139px){
.topService ul li {
	padding:0 20px;
}
	.topService ul li a.worksBtn:after {
		display:none;
	}
	.topService ul li a.priceBtn:after {
		display:none;
	}
}

@media screen and (max-width:1039px){
.topService {
	width:auto;
	padding:50px 30px 70px 30px;
}
	.topService ul li h3 {
		font-size:128%;
	}
		.topService ul li a.worksBtn:hover {
			border:1px solid #B9B9B9;
			background:none;
			color:#111;
		}
		.topService ul li a.priceBtn:hover {
			border:1px solid #B9B9B9;
			background:none;
			color:#111;
		}
}

@media screen and (max-width:767px){
.topService {
	width:auto;
	padding:50px 30px 30px 30px;
}
	.topService h2{
		font-size:30px;
		margin-bottom:40px;
	}
	.topService ul {
		width:100%;
		max-width:360px;
		margin-left:auto;
		margin-right:auto;
	}
		.topService ul li {
			width:100%;
			padding:0;
			float:none;
			background:url(../img/dot_line02.png) bottom repeat-x;
			padding-bottom:30px;
			margin-bottom:30px;
		}
			.topService ul li:nth-child(3n+3) {
				background:url(../img/dot_line02.png) bottom repeat-x;
			}
			.topService ul li:last-child {
				background:none;
				margin-bottom:0;
			}
			.topService ul li:nth-child(10) {
				margin-bottom:30px;
			}
			.topService ul li h3 {
				font-size:115%;
			}
			.topService ul li p {
				margin-bottom:25px;
			}
			.topService ul li a.worksBtn {
				width:100%;
				max-width:230px;
			}
				.topService ul li a.worksBtn:after {
					display:inherit;
					content: "";
					position: absolute;
					top: 0;
					bottom: 0;
					right: 15px;
					margin: auto;
					vertical-align: middle;
					width: 8px;
					height: 8px;
					border-top: 1px solid #999;
					border-right: 1px solid #999;
					-moz-transform: rotate(45deg);
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					transition: all 0.3s;
				}

					.topService ul li a.worksBtn:hover:after {
						border-top: 1px solid #999;
						border-right: 1px solid #999;
						right: 15px;
					}
			.topService ul li a.priceBtn {
				width:100%;
				max-width:230px;
			}
				.topService ul li a.priceBtn:after {
					display:inherit;
					content: "";
					position: absolute;
					top: 0;
					bottom: 0;
					right: 15px;
					margin: auto;
					vertical-align: middle;
					width: 8px;
					height: 8px;
					border-top: 1px solid #999;
					border-right: 1px solid #999;
					-moz-transform: rotate(45deg);
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					transition: all 0.3s;
				}
					.topService ul li a.priceBtn:hover:after {
						border-top: 1px solid #999;
						border-right: 1px solid #999;
						right: 15px;
					}
}

/* !flow
---------------------------------------------------------- */
.topFlow {
	width:auto;
	padding:70px 40px 80px 40px;
	background:url(../../img/top_flow_bg.jpg) 50% 50% no-repeat;
	background-size:cover;
}
	.topFlow h2{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:172%;
		color:#111;
		transform: rotate(.03deg);
		text-align:center;
		line-height:1.6;
		margin-bottom:25px;
		letter-spacing:0.1em;
	}
		.topFlow h2 br {
			display:none;
		}
	.topFlow p.txt{
		text-align:center;
		font-size:115%;
		color:#111;
		margin-bottom:40px;
	}
		.topFlow p.txt br{
			display:none;
		}
	.topFlow div.box{
		width:90%;
		padding:30px;
		background:#FFF;
		margin:0 auto 60px auto;
	}
		.topFlow div.box img {
			display:block;
			width:160px;
			float:left;
		}
		.topFlow div.box div.right {
			width:auto;
			margin-left:220px;
		}
			.topFlow div.box div.right h3 {
				font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
				font-size:143%;
				font-weight:bold;
				color:#E10013;
				margin-bottom:8px;
			}
			.topFlow div.box div.right ul {
				width:auto;
				border-top:1px dotted #999;
			}
				.topFlow div.box div.right ul li {
					font-size:115%;
					color:#111;
					line-height:1.6;
					background:url(../img/icon_check.png) 0 10px no-repeat;
					background-size:16px 16px;
					padding:5px 0 5px 24px;
					border-bottom:1px dotted #999;
				}
	.topFlow a.flowBtn {
		display:block;
		width:290px;
		height:50px;
		line-height:50px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:129%;
		font-weight:normal;
		text-align:center;
		color:#FFF;
		border:1px solid #FFF;
		margin:0 auto;
		position:relative;
		transition: all 0.5s;
	}
		.topFlow a.flowBtn:after {
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			right: 20px;
			margin: auto;
			vertical-align: middle;
			width: 8px;
			height: 8px;
			border-top: 1px solid #FFF;
			border-right: 1px solid #FFF;
			-moz-transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			transition: all 0.2s;
		}
			.topFlow a.flowBtn:hover {
				background:#E10013;
				border:1px solid #E10013;
			}
			.topFlow a.flowBtn:hover:after {
				right: 15px;
			}
			
@media screen and (max-width:1039px){
.topFlow {
	padding:60px 30px 70px 30px;
}
		.topFlow p.txt br{
			display:inherit;
		}
	.topFlow div.box{
		width:100%;
	}
		.topFlow div.box img {
			display:block;
			width:160px;
			float:left;
		}
		.topFlow div.box div.right {
			margin-left:210px;
		}
		.topFlow a.flowBtn:after {
			transition: none;
		}
			.topFlow a.flowBtn:hover {
				background:none;
				border:1px solid #FFF;
			}
			.topFlow a.flowBtn:hover:after {
				right: 20px;
			}
}

@media screen and (max-width:767px){
.topFlow {
	padding:50px 20px 50px 20px;
}
	.topFlow h2{
		font-size:129%;
		margin-bottom:25px;
	}
		.topFlow h2 br {
			display:inherit;
		}
	.topFlow p.txt{
		text-align:center;
		font-size:100%;
		margin-bottom:40px;
	}
		.topFlow p.txt br{
			display:none;
		}
	.topFlow div.box{
		padding:30px 25px;
		margin:0 auto 60px auto;
	}
		.topFlow div.box img {
			width:140px;
			float:none;
			margin:0 auto 30px auto;
		}
		.topFlow div.box div.right {
			width:auto;
			margin-left:0;
		}
			.topFlow div.box div.right h3 {
				font-size:122%;
				line-height:1.6;
				margin-bottom:20px;
			}
			.topFlow div.box div.right ul {
				width:auto;
				border-top:1px dotted #999;
			}
				.topFlow div.box div.right ul li {
					font-size:100%;
					line-height:1.6;
					background:url(../img/icon_check.png) 0 7px no-repeat;
					background-size:16px 16px;
					padding:5px 0 5px 24px;
				}
	.topFlow a.flowBtn {
		width:280px;
		font-size:115%;
	}
}

/* !6つの安心
---------------------------------------------------------- */
.topAnshin {
	width:auto;
	padding:65px 40px 80px 40px;
}
	.topAnshin h2{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:172%;
		color:#111;
		transform: rotate(.03deg);
		text-align:center;
		line-height:1.6;
		margin-bottom:60px;
		letter-spacing:0.1em;
	}
		.topAnshin h2 span{
			font-size:140%;
			font-weight:bold;
			color:#AF0E16;
		}
		.topAnshin h2 br {
			display:none;
		}
	.topAnshin ul {
		width:100%;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
		.topAnshin ul li {
			width:32.3%;
			height:auto;
			margin-right:1.5%;
			margin-bottom:15px;
		}
			.topAnshin ul li:nth-child(3n) {
				margin-right:0;
			}
			.topAnshin ul li a {
				display:block;
				width:auto;
				height:100%;
				background:#FFF;
				color:#444;
				padding:25px 25px 40px 25px;
				position:relative;
				transition: all 0.5s;
			}
				.topAnshin ul li a p.number {
					position:absolute;
					display:inline-block;
					top:25px;
					left:25px;
					font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
					font-size:172%;
					line-height:1;
					border-bottom:1px solid #111;
					padding-bottom:20px;
				}
				.topAnshin ul li a h3 {
					position:absolute;
					font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
					font-size:136%;
					line-height:1.4;
					color:#E10013;
					font-weight:bold;
					top:21px;
					left:25%;
					padding-right:25px;
				}
				.topAnshin ul li a img {
					display:block;
					width:60x;
					height:54px;
					margin:70px auto 20px auto;
				}
				.topAnshin ul li a:after {
					content: "";
					position: absolute;
					bottom: 20px;
					left: 50%;
					margin: auto;
					margin-left:-8px;
					vertical-align: middle;
					width: 16px;
					height: 16px;
					border-right: 1px solid #BEBEBE;
					border-bottom: 1px solid #BEBEBE;
					-moz-transform: rotate(45deg);
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					transition: all 0.2s;
				}
					.topAnshin ul li a:hover {
						background:#FDEFF0;
					}
					.topAnshin ul li a:hover:after {
						bottom: 15px;
						border-right: 1px solid #E10013;
						border-bottom: 1px solid #E10013;
					}
					
@media screen and (max-width:1039px){
.topAnshin {
	padding:55px 30px 70px 30px;
}
	.topAnshin h2{
		margin-bottom:50px;
	}
			.topAnshin ul li a {
				transition: none;
			}
				.topAnshin ul li a h3 {
					font-size:122%;
					left:30%;
					padding-right:15px;
				}
				.topAnshin ul li a:after {
					transition: none;
				}
					.topAnshin ul li a:hover {
						background:#FFF;
					}
					.topAnshin ul li a:hover:after {
						bottom: 20px;
						border-right: 1px solid #BEBEBE;
						border-bottom: 1px solid #BEBEBE;
					}
}

@media screen and (max-width:767px){
.topAnshin {
	width:auto;
	padding:50px 20px 50px 20px;
}
	.topAnshin h2{
		font-size:129%;
		margin-bottom:40px;
	}
		.topAnshin h2 br {
			display:inherit;
		}
		.topAnshin ul li {
			width:100%;
			margin-right:0%;
			margin-bottom:15px;
		}
				.topAnshin ul li a h3 {
					left:26%;
				}
}

/* !Price
---------------------------------------------------------- */
.topPrice {
	width:auto;
	padding:60px 40px 80px 40px;
	background:url(../../img/price_bg.jpg) 50% 50% no-repeat;
	background-size:cover;
}
	.topPrice p.enTit{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-style:italic;
		font-size:38px;
		transform: rotate(.03deg);
		color:#9D0D14;
		text-align:center;
		line-height:1.4;
		margin-bottom:15px;
		letter-spacing:0.1em;
	}
	.topPrice h2{
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:143%;
		color:#111;
		transform: rotate(.03deg);
		text-align:center;
		line-height:1.6;
		margin-bottom:50px;
		letter-spacing:0.06em;
	}
	.topPrice p.txt{
		text-align:center;
		font-size:115%;
		color:#111;
		margin-bottom:40px;
	}
	.topPrice ul {
		width:100%;
		margin:0 auto 60px auto;
	}
		.topPrice ul li {
			width:16.4%;
			float:left;
			margin:0 0.1% 2px 0.1%;
		}
			.topPrice ul li a {
				display:block;
				background:#FFF;
				border-radius:4px;
				padding:25px 0 20px 0;
				-webkit-transition: all 0.5s ease;
				-moz-transition: all 0.5s ease;
				transition: all 0.5s ease;
			}
				.topPrice ul li a:hover {
					background:#333;
				}
			.topPrice ul li img {
				display:block;
				width:60px;
				height:81px;
				margin:0 auto 10px auto;
			}
			.topPrice ul li p {
				text-align:center;
				line-height:1.5;
			}
				.topPrice ul li a:hover p {
					color:#FFF;
				}
	.topPrice a.topPriceBtn {
		display:block;
		width:300px;
		height:50px;
		line-height:50px;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-size:129%;
		font-weight:normal;
		text-align:center;
		color:#111;
		border:1px solid #111;
		margin:0 auto;
		position:relative;
		transition: all 0.5s;
	}
		.topPrice a.topPriceBtn:after {
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			right: 20px;
			margin: auto;
			vertical-align: middle;
			width: 8px;
			height: 8px;
			border-top: 1px solid #111;
			border-right: 1px solid #111;
			-moz-transform: rotate(45deg);
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			transition: all 0.2s;
		}
			.topPrice a.topPriceBtn:hover {
				background:#E10013;
				border:1px solid #E10013;
				color:#FFF;
			}
			.topPrice a.topPriceBtn:hover:after {
				border-top: 1px solid #FFF;
				border-right: 1px solid #FFF;
				right: 15px;
			}

@media screen and (max-width:1039px){
			.topPrice ul li a {
				-webkit-transition: none;
				-moz-transition: none;
				transition: none;
			}
				.topPrice ul li a:hover {
					background:#FFF;
				}
				.topPrice ul li a:hover p {
					color:#111;
				}
	.topPrice a.topPriceBtn {
		transition:none;
	}
		.topPrice a.topPriceBtn:after {
			transition: none;
		}
			.topPrice a.topPriceBtn:hover {
				background:none;
				border:1px solid #111;
				color:#111;
			}
			.topPrice a.topPriceBtn:hover:after {
				border-top: 1px solid #111;
				border-right: 1px solid #111;
				right: 20px;
			}
}

@media screen and (max-width:767px){
.topPrice {
	width:auto;
	padding:50px 20px 50px 20px;
}
	.topPrice p.enTit{
		font-size:30px;
		margin-bottom:5px;
	}
	.topPrice h2{
		font-size:107%;
		margin-bottom:40px;
	}
	.topPrice p.txt{
		font-size:100%;
	}
		.topPrice p.txt br{
			display:none;
		}
	.topPrice ul {
		margin:0 auto 50px auto;
	}
		.topPrice ul li {
			width:49.6%;
			float:left;
			margin:0 0.2% 1px 0.2%;
		}
			.topPrice ul li a {
				height:210px;
				padding:20px 0 15px 0;
			}
	.topPrice a.topPriceBtn {
		width:280px;
		font-size:115%;
	}
}

/* !様々な用途
---------------------------------------------------------- */
.topType {
	width:auto;
	background:#F4F1D7;
}
	.topType div.left {
		width:62%;
		background:#ECE5E5;
		float:left;
		padding:60px 0;
	}
		.topType div.left h2 {
			font-size:129%;
			font-weight:bold;
			color:#111;
			text-align:center;
			margin-bottom:20px;
		}
		.topType div.left ul {
			width:80%;
			margin:0 auto;
		}
			.topType div.left ul li {
				width:50%;
				float:left;
				margin-bottom:10px;
			}
				.topType div.left ul li span {
					display:inline-block;
					background-color:#FFF;
					background-image:url(../img/icon_dot01.png);
					background-position:10px 15px;
					background-repeat:no-repeat;
					padding:0.3em 0.8em 0.3em 1.6em;
				}
	.topType div.right {
		width:38%;
		background:#F4F1D7;
		float:left;
		padding:60px 0;
	}
		.topType div.right h2 {
			font-size:129%;
			font-weight:bold;
			color:#111;
			text-align:center;
			margin-bottom:20px;
		}
		.topType div.right ul {
			width:70%;
			margin:0 auto;
		}
			.topType div.right ul li {
				width:100%;
				margin-bottom:10px;
			}
				.topType div.right ul li span {
					display:inline-block;
					background-color:#FFF;
					background-image:url(../img/icon_dot01.png);
					background-position:10px 15px;
					background-repeat:no-repeat;
					padding:0.3em 0.8em 0.3em 1.6em;
				}

@media screen and (max-width:1039px){
		.topType div.left ul {
			width:85%;
		}
		.topType div.right ul {
			width:75%;
		}
}

@media screen and (max-width:767px){
.topType {
	width:auto;
}
	.topType div.left {
		width:100%;
		float:none;
		padding:40px 0;
	}
		.topType div.left h2 {
			font-size:115%;
			margin-bottom:20px;
		}
		.topType div.left ul {
			width:80%;
		}
			.topType div.left ul li {
				width:100%;
				float:none;
			}
				.topType div.left ul li:last-child {
					margin-bottom:0;
				}
	.topType div.right {
		width:100%;
		background:#F4F1D7;
		float:none;
		padding:40px 0;
	}
		.topType div.right h2 {
			font-size:115%;
			margin-bottom:20px;
		}
		.topType div.right ul {
			width:80%;
		}
			.topType div.right ul li {
				width:100%;
			}
				.topType div.right ul li:last-child {
					margin-bottom:0;
				}
}

/* !231002追加
---------------------------------------------------------- */
a.onlineBnr {
	display: block;
	width:480px;
	height: 80px;
	background-color: #FFF;
	position: relative;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:20px;
	color: #111;
	padding:20px 0 0 100px;
	transition: .6s;
	border:1px solid #111;
	margin: 0 auto 60px auto;
}
	a.onlineBnr br {
		display: none;
	}
	a.onlineBnr:before {
		position: absolute;
		content:"";
		width:44px;
		height: 53px;
		background:url("../img/icon_online.png") 0 0 no-repeat;
		background-size: 44px 53px;
		top:14px;
		left:40px;
	}
	a.onlineBnr i.fa {
		color: #E20113;
		margin-left: 0.8em;
		transition: .3s;
	}
	a.onlineBnr:hover {
		color: #9d0d14;
		border:1px solid #E20113;
	}
		a.onlineBnr:hover i.fa {
			margin-left: 1.2em;
		}

@media screen and (max-width:1039px){
a.onlineBnr {
	width:440px;
	height: 80px;
	font-size:18px;
	padding:22px 0 0 100px;
	margin: 0 auto 50px auto;
}
	a.onlineBnr:before {
		width:44px;
		height: 53px;
		background:url("../img/icon_online.png") 0 0 no-repeat;
		background-size: 44px 53px;
		top:12px;
		left:40px;
	}
	a.onlineBnr i.fa {
		margin-left: 0.8em;
	}
	a.onlineBnr:hover {
		color: #111;
		border:1px solid #111;
	}
		a.onlineBnr:hover i.fa {
			margin-left: 0.8em;
		}
}

@media screen and (max-width:767px){
a.onlineBnr {
	width:280px;
	height: 60px;
	font-size:16px;
	line-height: 1.4;
	padding:8px 0 0 90px;
	margin: 0 auto 40px auto;
}
	a.onlineBnr br {
		display: block;
	}
	a.onlineBnr:before {
		width:36px;
		height: 43px;
		background:url("../img/icon_online.png") 0 0 no-repeat;
		background-size: 36px 43px;
		top:8px;
		left:34px;
	}
a.onlineBnr i.fa {
		position: absolute;
		font-size:24px;
		margin-left: 0;
		top:18px;
		right:25px;
	}
}

/* !2026 トップページ改訂
---------------------------------------------------------- */
.topIntroduction{max-width:960px;margin:0 auto;padding:55px 40px 50px;text-align:center;box-sizing:border-box}
.topIntroduction h2,.topRelatedHeading h2{margin:0 0 25px;font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;font-size:28px;line-height:1.6}
.topIntroduction>p,.topRelatedHeading>p:last-child{max-width:820px;margin:0 auto 15px;font-size:16px;line-height:2;text-align:left}
.topIntroduction ul{display:flex;flex-wrap:wrap;justify-content:center;max-width:820px;margin:30px auto 0;padding:0;list-style:none}
.topIntroduction li{width:48%;margin:1%;padding:15px 10px;border:1px solid #ddd;box-sizing:border-box;font-weight:bold}
.spOnly{display:none}

.topWorksLead,.topMeritLead,.topServiceLead,.topAnshinLead,.topPriceLead{max-width:820px;margin:0 auto 35px;font-size:16px;line-height:1.9;text-align:left}
.topWorks h2{margin-bottom:25px}
.topWorksMainLink{clear:both;padding-top:35px;text-align:center}
.topWorksMainLink a{display:inline-block;min-width:320px;padding:16px 35px;background:#333;color:#fff;text-decoration:none;box-sizing:border-box;transition:opacity .3s}
.topWorksMainLink a:hover{opacity:.75}

.topService p.enTit,.topFlow>p.enTit,.topAnshin>p.enTit,.topRelatedHeading p.enTit{font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;font-style:italic;font-size:38px;color:#9D0D14;text-align:center;line-height:1.4;margin-bottom:15px;letter-spacing:.1em}
.topService>h2,.topFlow>h2,.topAnshin>h2{font-style:normal;font-size:143%;color:#111;text-align:center;line-height:1.6;margin-bottom:25px;letter-spacing:.06em}
.topService ul{max-width:1100px;margin:0 auto}
.topService ul li{min-height:470px;box-sizing:border-box}
.topService ul li p{min-height:78px}

.topPriceImportant{max-width:820px;margin:0 auto 35px;padding:15px 20px;background:#f5f5f5;box-sizing:border-box;font-weight:bold;text-align:center}
.topPlanList{display:flex;justify-content:space-between;max-width:1000px;margin:0 auto 45px}
.topPlan{width:32%;padding:25px;background:#fff;border:1px solid #ddd;box-sizing:border-box;text-align:left}
.topPlan .planType{margin-bottom:10px;font-size:14px;font-weight:bold;text-align:center}
.topPlan h3{margin-bottom:20px;font-size:20px;text-align:center}
.topPlan>p{line-height:1.8}
.topPrice .topPlanList .topPlan ul{width:auto;margin:20px 0 0;padding-left:1.5em;list-style:disc}
.topPrice .topPlanList .topPlan li{width:auto;float:none;margin:0 0 8px;line-height:1.6}
.topPriceExample{max-width:700px;margin:0 auto 35px;padding:30px;background:#fff;box-sizing:border-box;text-align:center}
.topPriceExample h3{margin-bottom:10px;font-size:22px}
.topPriceExample table{width:100%;margin:20px 0 10px;border-collapse:collapse}
.topPriceExample th,.topPriceExample td{padding:13px;border:1px solid #ccc}
.topPriceExample td{font-weight:bold;text-align:right}
.topPriceExample .priceNote{font-size:13px;text-align:left}
.topPriceLinks{max-width:850px;margin:0 auto 30px;text-align:center}
.topPriceLinks>p{margin-bottom:15px;font-weight:bold}
.topPrice .topPriceLinks ul{display:flex;flex-wrap:wrap;justify-content:center;width:auto;margin:0;padding:0;list-style:none}
.topPrice .topPriceLinks li{width:auto;float:none;margin:5px}
.topPrice .topPriceLinks li a{display:block;height:auto;padding:10px 18px;border:1px solid #ccc;border-radius:0;background:#fff;text-decoration:none}

.topTypeLead{width:80%;margin:0 auto 20px;font-size:15px;line-height:1.8;text-align:left}
.topType div.right .topTypeLead{width:70%}
.topRelatedHeading{max-width:900px;margin:0 auto;padding:55px 40px 30px;text-align:center;box-sizing:border-box}

.contactIntro{max-width:760px;margin:0 auto 30px;font-size:16px;line-height:1.9;text-align:left}
.contactGuide{display:flex;justify-content:space-between;max-width:900px;margin:0 auto 30px}
.contactGuide>div{width:48.5%;padding:25px;background:#fff;box-sizing:border-box}
.contactGuide h3{margin:0 0 15px;font-size:19px}
.contactGuide p{min-height:80px;margin:0 0 20px;font-size:14px;line-height:1.7;text-align:left}
.cmnContact .contactGuide a{display:block;width:auto;height:auto;padding:15px 10px;color:#fff;line-height:1.5;text-align:center;text-decoration:none;box-sizing:border-box}
.cmnContact .contactGuide a.contact{background:#9D0D14}
.cmnContact .contactGuide a.estimation{background:#333}
.cmnContact .contactGuide a:hover{opacity:.8}
.contactTel{clear:both}
.cmnBnr ul li{width:25%}
#footerR h2{margin:0 0 15px;font-size:18px}
#footerR p{margin:0 0 15px;line-height:1.8}
.footerRelated{margin:20px 0 0;padding:0;list-style:none}
.footerRelated li{margin-bottom:8px}

@media screen and (max-width:767px){
	.topIntroduction{padding:35px 20px 30px}
	.topIntroduction h2,.topRelatedHeading h2{font-size:22px;line-height:1.5}
	.topIntroduction>p,.topRelatedHeading>p:last-child,.topWorksLead,.topMeritLead,.topServiceLead,.topAnshinLead,.topPriceLead{padding:0 20px;box-sizing:border-box;font-size:15px;line-height:1.8}
	.topIntroduction li{width:100%;margin:0 0 10px}
	.spOnly{display:block}
	.topWorksMainLink{padding:25px 20px 0}
	.topWorksMainLink a{width:100%;min-width:0;padding:15px 10px}
	.topService p.enTit,.topFlow>p.enTit,.topAnshin>p.enTit,.topRelatedHeading p.enTit{font-size:30px;margin-bottom:5px}
	.topService>h2,.topFlow>h2,.topAnshin>h2{font-size:107%;margin-bottom:25px}
	.topService ul li,.topService ul li p{min-height:0}
	.topPriceImportant{margin-right:20px;margin-left:20px;text-align:left}
	.topPlanList{display:block;padding:0 20px}
	.topPlan{width:100%;margin-bottom:15px}
	.topPriceExample{padding:20px 15px}
	.topPriceExample th,.topPriceExample td{padding:10px 6px;font-size:14px}
	.topPrice .topPriceLinks li{width:calc(50% - 10px)}
	.topPrice .topPriceLinks li a{height:auto;padding:10px 5px}
	.topTypeLead,.topType div.right .topTypeLead{width:80%;font-size:14px;line-height:1.7}
	.topRelatedHeading{padding:35px 20px 25px}
	.contactIntro{padding:0 20px;box-sizing:border-box;font-size:15px;line-height:1.8}
	.contactGuide{display:block;padding:0 20px}
	.contactGuide>div{width:100%;margin-bottom:15px;padding:20px}
	.contactGuide p{min-height:0}
	.cmnContact .contactGuide a{width:100%}
	.cmnBnr ul li{width:50%}
}

/* !2026 トップページ改訂・デザイン調整
---------------------------------------------------------- */
.topIntroduction{
	position:relative;
	max-width:none;
	padding:60px 40px 55px;
	background:#f7f4ee;
}
.topIntroduction:before{
	content:"";
	display:block;
	width:70px;
	height:3px;
	margin:0 auto 28px;
	background:#9D0D14;
}
.topIntroduction>p{max-width:860px}
.topIntroduction li{
	position:relative;
	padding:17px 15px 17px 48px;
	border:0;
	background:#fff;
	box-shadow:0 1px 5px rgba(0,0,0,.08);
	text-align:left;
}
.topIntroduction li:before{
	content:"\f00c";
	position:absolute;
	top:50%;
	left:18px;
	font-family:FontAwesome;
	font-weight:normal;
	color:#9D0D14;
	transform:translateY(-50%);
}

.topPrice{position:relative}
.topPrice:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:6px;
	background:#9D0D14;
}
.topPriceImportant{
	position:relative;
	padding:17px 25px 17px 58px;
	border:1px solid #d9c9ca;
	background:#fff;
	color:#6d090e;
	text-align:left;
	box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.topPriceImportant:before{
	content:"\f058";
	position:absolute;
	top:50%;
	left:25px;
	font-family:FontAwesome;
	font-size:22px;
	font-weight:normal;
	color:#9D0D14;
	transform:translateY(-50%);
}
.topPlanList{align-items:stretch;gap:22px}
.topPlan{
	position:relative;
	width:calc((100% - 44px)/3);
	padding:0 26px 28px;
	border:0;
	border-top:6px solid #9D0D14;
	box-shadow:0 3px 12px rgba(0,0,0,.12);
	overflow:hidden;
}
.topPlan:before{
	display:block;
	margin:0 -26px 22px;
	padding:10px 15px;
	background:#9D0D14;
	font-family:"Esteban",serif;
	font-size:15px;
	letter-spacing:.15em;
	color:#fff;
	text-align:center;
}
.topPlan:nth-child(1):before{content:"PLAN 01"}
.topPlan:nth-child(2):before{content:"PLAN 02"}
.topPlan:nth-child(3):before{content:"PLAN 03"}
.topPlan .planType{
	display:table;
	margin:0 auto 18px;
	padding:7px 14px;
	border-radius:20px;
	background:#f3e8e9;
	color:#7b0b10;
	font-size:13px;
}
.topPlan h3{
	margin-bottom:22px;
	font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	font-size:19px;
	font-weight:bold;
	line-height:1.5;
	color:#111;
	letter-spacing:0;
	white-space:nowrap;
}
.topPlan>p:not(.planType){min-height:105px;font-size:15px}
.topPrice .topPlanList .topPlan ul{
	margin-top:20px;
	padding:18px 18px 12px 38px;
	background:#f7f4ee;
	list-style:none;
}
.topPrice .topPlanList .topPlan li{position:relative;margin-bottom:10px;font-size:14px}
.topPrice .topPlanList .topPlan li:before{
	content:"";
	position:absolute;
	top:.65em;
	left:-18px;
	width:6px;
	height:6px;
	border-radius:50%;
	background:#9D0D14;
}
.topPriceExample{
	position:relative;
	padding:0 38px 35px;
	border:1px solid #dedede;
	box-shadow:0 3px 12px rgba(0,0,0,.1);
	overflow:hidden;
}
.topPriceExample h3{
	margin:0 -38px 28px;
	padding:20px;
	background:#333;
	font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	font-size:22px;
	color:#fff;
}
.topPriceExample table{border-top:3px solid #9D0D14}
.topPriceExample thead th{background:#f2ecec;color:#6d090e}
.topPriceExample tbody tr:nth-child(even){background:#fafafa}
.topPriceExample tbody th{text-align:left}
.topPriceExample td{color:#9D0D14;font-size:18px}
.topPriceLinks>p:before{
	content:"\f02d";
	margin-right:.6em;
	font-family:FontAwesome;
	font-weight:normal;
	color:#9D0D14;
}
.topPrice .topPriceLinks li a{border-color:#bbb;transition:.25s}
.topPrice .topPriceLinks li a:hover{border-color:#9D0D14;background:#9D0D14;color:#fff}
.topPrice a.topPriceBtn{width:360px;white-space:nowrap}

.cmnContact{position:relative}
.contactGuide{gap:20px}
.contactGuide>div{
	position:relative;
	display:flex;
	flex-direction:column;
	width:calc(50% - 10px);
	padding:38px 38px 32px;
	border:0;
	border-top:6px solid #9D0D14;
	box-shadow:0 4px 14px rgba(0,0,0,.15);
}
.contactGuide>div:nth-child(2){border-top-color:#333}
.contactGuide>div:before{
	content:"\f0e6";
	display:block;
	width:58px;
	height:58px;
	margin:0 auto 20px;
	border-radius:50%;
	background:#9D0D14;
	font-family:FontAwesome;
	font-size:25px;
	font-weight:normal;
	line-height:58px;
	color:#fff;
	text-align:center;
}
.contactGuide>div:nth-child(2):before{content:"\f1ec";background:#333}
.contactGuide h3{
	font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
	font-size:21px;
	font-weight:bold;
	line-height:1.5;
	text-align:center;
}
.contactGuide p{min-height:0;margin-bottom:28px}
.cmnContact .contactGuide a{position:relative;margin-top:auto;padding:17px 40px 17px 15px;font-weight:bold;transition:.25s}
.cmnContact .contactGuide a:after{
	content:"";
	position:absolute;
	top:50%;
	right:20px;
	width:8px;
	height:8px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	transform:translateY(-50%) rotate(45deg);
}

.fixCta li a{
	display:flex!important;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	overflow:hidden;
	writing-mode:horizontal-tb!important;
}
.fixCta li a i{display:block!important;margin:0 0 12px!important}
.fixCta li a span{
	display:block;
	width:1.4em;
	line-height:1.25;
	writing-mode:vertical-rl;
	text-orientation:upright;
	white-space:nowrap;
}

@media screen and (max-width:1039px) and (min-width:768px){
	.topPlan{padding-right:18px;padding-left:18px}
	.topPlan:before{margin-right:-18px;margin-left:-18px}
	.topPlan h3{font-size:17px}
}

@media screen and (max-width:767px){
	.topIntroduction{padding:45px 20px 38px}
	.topPrice a.topPriceBtn{width:280px}
	.topIntroduction li{padding-left:45px}
	.topPriceImportant{padding-left:50px}
	.topPriceImportant:before{left:18px}
	.topPlanList{padding:0;gap:0}
	.topPlan{width:100%;padding:0 20px 24px}
	.topPlan:before{margin-right:-20px;margin-left:-20px}
	.topPlan h3{font-size:18px;white-space:normal}
	.topPlan>p:not(.planType){min-height:0}
	.topPriceExample{padding:0 15px 25px}
	.topPriceExample h3{margin:0 -15px 22px;font-size:18px}
	.contactGuide{gap:0}
	.contactGuide>div{width:100%;padding:28px 22px 24px}
	.contactGuide h3{font-size:19px}
}
