@charset "UTF-8";
/****************************************
	main
****************************************/
main {
}

section#main-back {
}

section#main-back .main-img {
	position:relative;
	overflow:hidden;
	width:100%;
	padding-top:50%;
	margin:0px auto;
}


section#main-back .main-img .slides {
	position:absolute;
	top:0;
	right:0;
	left:0;
	bottom:0;
}

section#main-back .main-img .slides .pc img,
section#main-back .main-img .slides .sp img {
	position:absolute;
	top:50%;
	left:50%;
	transform: translateY(-50%) translateX(-50%) scale(1.0);
	width:100%;
	transition:4s;
	opacity:1;
}

section#main-back .main-img .slides .pc img.show,
section#main-back .main-img .slides .sp img.show {
	transform: translateY(-50%) translateX(-50%) scale(1.2);
	transition:4s;
	opacity:1;
}

section#main-back .main-img .slides .sp {
	display:none;
}

section#main-back .main-img .m-title {
	position:absolute;
	top:50%;
	left:50%;
	transform: translateY(-50%) translateX(-50%) scale(1.0);
	background:rgba(255,255,255,.9);
	padding:30px 30px;
	text-align:center;
	width:90%;
	max-width:500px;
	font-size:20px;
}

section#main-back .main-img .m-title strong {
	color:#009fb1;
	font-size:36px;
}

section#main-back .main-img .m-title span {
	display:inline-block;
}

section.line .content{
	position:relative;
}
section.line .content::after {
	content:"";
	border-bottom:1px solid #e0e0e0;
	position:absolute;
	width:90%;
	position:absolute;
	bottom:0px;
	left:5%;
}


section#greeting {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
}


section#greeting .g-img {
	width:50%;
}

section#greeting .g-img img {
	width:100%;
}


section#greeting .g-info {
	width:50%;
	padding:0px 50px 0px 0px;
}

section#greeting .g-info p {
	margin-bottom:10px;
}

section#greeting .g-license {
	position:relative;
	padding:20px 15px 40px;
	background:#f0f0f0;
}

section#greeting .g-license strong {
	display:block;
	font-size:18px;
}

section#greeting .g-license .g-l-img {
	display:block;
	text-align:center;
}

section#greeting .g-license .g-l-img img {
	float:left;
	border-radius:50%;
	width:150px;
	padding:15px;
}


section#news {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
	background:#fcf9f4;
}

section#news table {
	width:100%;
	max-width:800px;
	margin:0px auto;
}

section#news tr {
	border-bottom:1px dashed #c0c0c0;
}

section#news tr:last-child {
	border-bottom:none;
}

section#news th {
	padding:20px;
	text-align:left;
	vertical-align:top;
	width:120px;
}


section#news td {
	padding:20px;
	text-align:left;
	vertical-align:top;
}

section#news td.n-cat {
	width:100px;
}

section#news td.n-cat span {
	display:inline-block;
	background:#027e8c;
	color:#fff;
	font-size:12px;
	padding:3px 5px 7px;
	border-radius:12px;
	width:60px;
	text-align:center;
}

section#news td.n-title {
	width:calc(100% - 220px);
}

section#news td a {
	text-decoration:underline;
	transition:.4s;
}

section#news td a:hover {
	color:#555;
}

section#news .n-list {
	margin-top:70px;
	text-align:center;
}

section#news .n-list a {
	position:relative;
	display:block;
	background:#027e8c;
	color:#fff;
	text-align:center;
	margin:0px auto 30px;
	padding:10px 20px;
	max-width:260px;
	font-weight:600;
	letter-spacing:0.1em;
	border:1px solid #027e8c;
	border-radius:22px;
	text-decoration:none;
	transition:.4s;
}

section#news .n-list a:hover {
	background:#fff;
	color:#000;
	text-decoration:none;
	transition:.4s;
}

section#news .n-list a::after {
	content:"";
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	width:11px;
	height:11px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	transform:rotate(45deg);
	transition:.4s;
}

section#news .n-list a:hover::after {
	border-top:1px solid #000;
	border-right:1px solid #000;
	transition:.4s;
}











section#link {
	position:relative;
	width:100%;
	padding:40px 10% 30px;
	background:#e0e0e0;
	text-align:center;
	font-weight:600;
}

section#link .link-area {
	width:250px;
	margin:15px auto;
}

section#link a {
	display:inline-block;
	width:85%;
	background:#009fb1;
	color:#fff;
	padding:7px 15px;
	margin-bottom:15px;
	border-radius:22px;
	box-shadow:2px 2px 2px #000;
	transition:.4s;
}

section#link a.l-a-l {
	padding:10px 15px;
	width:100%;
	font-size:22px;
}

section#link a:hover {
	text-decoration:none;
	background:#fff;
	color:#000;
	transition:.4s;
}


section#service {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
	background:#fcf9f4;
}


section#service .s-area {
	width:48%;
	margin:0px 1%;
	background:#fff;
	border-radius:15px;
	padding:40px 30px;
}

section#service .s-area .s-title {
	letter-spacing:0.2em;
	text-align:center;
	margin-bottom:20px;
	font-size:32px;
	font-weight:600;
}

section#service .s-area .s-img img {
	width:100%;
	border-radius:15px;
	margin-bottom:20px;
}



section#price {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
	background:#fcf9f4;
}

section#price table {
	width:100%;
	max-width:800px;
	margin:0px auto 0px;
}

section#price table .p-title {
	background:#009fb1;
	border-top:1px solid #c0c0c0;
	color:#fff;
}

section#price th {
	padding:20px 15px;
	width:40%;
	text-align:left;
	vertical-align:top;
	border-bottom:1px solid #c0c0c0;
}

section#price td {
	padding:20px 15px;
	width:60%;
	text-align:left;
	vertical-align:top;
	border-bottom:1px solid #c0c0c0;
}

section#price p {
	width:100%;
	max-width:800px;
	margin:0px auto 30px;
}



section#beforeafter {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
	background:#fcf9f4;
}

section#beforeafter .b-area {
	position:relative;
	width:33.3333%;
	padding:20px;
	overflow:hidden;
}

section#beforeafter .b-area .b-img img {
	width:100%;
}

section#beforeafter .b-area .b-title {
	position:relative;
	padding:5px 5px 5px 20px;
}

section#beforeafter .b-area .b-link {
	text-align:right;
}

section#beforeafter .b-area .b-link a {
	position:relative;
	display:inline-block;
	background:#009fb1;
	border:1px solid #009fb1;
	color:#fff;
	padding:5px 25px 5px 15px;
	border-radius:22px;
	transition:.4s;
}

section#beforeafter .b-area .b-link a:hover {
	background:#fff;
	color:#000;
	text-decoration:none;
	transition:.4s;
}

section#beforeafter .b-area .b-link a::after {
	content:"";
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	right:12px;
	width:11px;
	height:11px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	transform:rotate(45deg);
	transition:.4s;
}

section#beforeafter .b-area .b-link a:hover::after {
	border-top:1px solid #000;
	border-right:1px solid #000;
	transition:.4s;
}




section#beforeafter .b-list {
	margin-top:70px;
	text-align:center;
}

section#beforeafter .b-list a {
	position:relative;
	display:block;
	background:#027e8c;
	color:#fff;
	text-align:center;
	margin:0px auto 30px;
	padding:10px 20px;
	max-width:260px;
	font-weight:600;
	letter-spacing:0.1em;
	border:1px solid #027e8c;
	border-radius:22px;
	text-decoration:none;
	transition:.4s;
}

section#beforeafter .b-list a:hover {
	background:#fff;
	color:#000;
	text-decoration:none;
	transition:.4s;
}

section#beforeafter .b-list a::after {
	content:"";
	margin:auto;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	width:11px;
	height:11px;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	transform:rotate(45deg);
	transition:.4s;
}

section#beforeafter .b-list a:hover::after {
	border-top:1px solid #000;
	border-right:1px solid #000;
	transition:.4s;
}





section#flow {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
}

section#flow .f-step {
	width:80px;
	padding:5px;
}

section#flow .f-step span {
	display:inline-block;
	font-size:12px;
	background:#009fb1;
	box-shadow:0px 0px 3px #c0c0c0;
	border-radius:50%;
	padding:10px 18px;
	color:#fff;
	text-align:center;
}

section#flow .f-step span strong {
	display:block;
	font-size:22px;
	color:#fff;
}

section#flow .f-title {
	width:calc(25% - 80px);
	font-weight:600;
	font-size:22px;
	padding:10px;
	color:#404040;
}

section#flow .f-dtl {
	width:calc(75% - 80px);
	padding:10px;
	color:#404040;
}


section#flow .f-complete {
	background:#009fb1;
	padding:20px 10px;
	text-align:center;
	border:1px solid #101010;
	color:#fff;
}

section#flow .f-arrow {
	position:relative;
	width:100%;
	height:70px;
}

section#flow .f-arrow::before {
	content:"";
	position:absolute;
	top:25px;
	left:28px;
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #000;
	transform: rotate(-180deg);
}






section#about {
	position:relative;
	width:100%;
	padding:70px 10% 70px;
	background:#fff;
}

section#about .a-info {
	width:100%;
	max-width:780px;
	margin:0px auto 20px;

}


section#about table {
	width:100%;
	max-width:800px;
	margin:0px auto 20px;
}

section#about th {
	padding:20px 15px;
	width:40%;
	text-align:left;
	vertical-align:top;
	border-top:1px solid #c0c0c0;
	border-bottom:1px solid #c0c0c0;
	background:#009fb1;
	color:#fff;
}

section#about td {
	padding:20px 15px;
	width:60%;
	text-align:left;
	vertical-align:top;
	border-top:1px solid #c0c0c0;
	border-bottom:1px solid #c0c0c0;
}




@media screen and (max-width:768px){
	
	section#main-back .main-img {
		padding-top:130%;
	}


	section#main-back .main-img .slides .pc {
		display:none;
	}

	section#main-back .main-img .slides .sp {
		display:block;
	}






	section#greeting .g-img {
		width:100%;
		text-align:center;
	}
	
	section#greeting .g-img img {
		width:80%;
	}
	
	section#greeting .g-info {
		width:100%;
		padding:10px;
	}





	section#service .s-area {
		padding:15px;
	}



	section#beforeafter .b-area {
		width:50%;
	}
	
	
	section#flow .f-title {
		width:calc(100% - 80px);
	}
	
	section#flow .f-dtl {
		width:100%;
	}

}


@media screen and (max-width:480px){

	section#main-back .main-img .m-title {
		font-size:18px;
	}
	
	section#main-back .main-img .m-title strong {
		color:#009fb1;
		font-size:25px;
	}
	

	section#greeting .g-license strong {
		text-align:center;
	}

	section#greeting .g-license .g-l-img img {
		float:none;
	}


	section#news th {
		display:inline-block;
		width:120px;
		padding:15px 0px 5px 20px;
	}

	section#news td.n-cat {
		display:inline-block;
		width:calc(100% - 130px);
		padding:15px 20px 5px;
	}

	section#news td.n-title {
		display:block;
		width:100%;
		padding:5px 20px 15px;
	}



	section#service .s-area {
		width:100%;
		margin:0px 0px 15px;
	}


	section#beforeafter .b-area {
		width:100%;
	}



	section#about th {
		display:block;
		width:100%;
	}
	
	section#about td {
		display:block;
		width:100%;
	}

}


