@charset "utf-8";


#content section {
	position: relative;
	width: 100%;
	margin-bottom: 100px;
}
#content section section,
#content .group {
   margin-bottom: 100px;
   color: #434343;
}
#content .fullWidth {
	margin:0 -500%;
	padding:0 500%;
}
#about .detail table th {color: #ffffff;}
#mw_wp_form_mw-wp-form-33 table.form {color:#ffffff;}
#mw_wp_form_mw-wp-form-33 form {color:#434343;}

@media screen and (max-width:768px){

	#content section {
		margin-bottom: 50px;
	}
	#content section .inner {
		padding: 0;
	}
	#content section section,
	#content .group {
		margin-bottom: 80px;
	}
	.fullWidth {
		margin-left: -5% !important;
		margin-right: -5% !important;
		padding: 0;
		width: 110% !important;
	}
}


/* ------p_title------------ */

#p_title {
	position: relative;
	margin: 70px auto 0;
	padding: 0;
	width: 100%;
	height: 170px;
	color: #FFFFFF;
	text-align: center;
	background-color: #490007;
}


#p_title::after {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(73,0,7,0.85);
	z-index: 1;
}
#p_title h1 {
	position: relative;
	padding-top: 50px;
	font-size: 2.7rem;
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.05em;
	z-index: 2;
}
#p_title h1 span {
	display: block;
	font-size: 1.25rem;
}


@media screen and (max-width:768px){

	#p_title {
		margin: 0;
		height: 100px;
	}
	#p_title h1 {
		padding-top: 25px;
		font-size: 1.5rem;
	}
	#p_title h1 span {
		font-size: 0.75rem;
	}

}

/* ------p_list------------ */


#p_list {
	padding: 8px 30px;
	font-size: 0.8125rem;
	text-align: right;
	line-height: 1.4;
	background: #1C1C1C;
}
#p_list,
#p_list a {
	color: #939292;
	transition: all .25s ease-out;
}
#p_list a:hover {
	color: #E70012;
}
#p_list span {
	padding: 0 5px;
}

@media screen and (max-width:768px){

	#p_list {
		padding: 5px 5%;
		font-size: 0.6875rem;
		text-align: left;
	}
	#p_list span {
		padding: 0 2px 0 0;
	}

}


/* ------title------------ */

#content h2.title {
	position: relative;
	margin: 0 auto 40px;
	text-align: center;
}
#content h2.title::before {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 0;
	right: 0;
	content: " ";
	width: 100%;
	height: 2px;
	background: #E70012;
}
#content h2.title span {
	position: relative;
	display: inline-block;
	padding: 0 20px;
	font-size: 2.1875rem;
	line-height: 1.4;
	color:#000000;
	background: #FFFFFF;
	z-index: 2;
}
#content h3.title {
	position: relative;
	margin-bottom: 15px;
	font-size: 1.25rem;
	letter-spacing: 0.05em;
}
#content h3.title:before {
	display: inline-block;
	position: relative;
	top: 3px;
	margin-right: 10px;
	content: " ";
	width: 20px;
	height: 20px;
	background: #E70012;
}
	
@media screen and (max-width:768px){

	#content h2.title span {
		font-size: 1.5rem;
	}
	#content h2.title::before {
		top: auto;
		bottom: -10px;
	}

}


/* ----------------------------------------
	about
---------------------------------------- */

#about #lead {
	line-height: 1.8;
}
#about #lead .name {
	text-align: right;
}
#about .photo {
	-js-display: flex;
	display: flex;
	justify-content: center;
}
#about .photo div img {
	width: 100%;
}
#about .detail {
	-js-display: flex;
	display: flex;
	justify-content: space-between;
}
#about .detail section {
	width: 48%;
}
#about .detail table {
	line-height: 1.7;
	border-top: 1px solid #727171;
}
#about .detail table th {
	width: 99px;
	padding: 12px 20px;
	background: #1C1C1C;
	border-bottom: 1px solid #727171;
}
#about .detail table td {
	padding: 12px 20px;
	border-bottom: 1px solid #727171;
}

#about #map_canvas {
	width: 100%;
	height: 350px;
	background: #5e5e5e;
}




@media screen and (max-width:768px){

	#about .detail {
		display: inline;
	}
	#about .detail section {
		width: 100%;
	}
	#about .detail table {
		width: 100%;
		border-top: none;
	}
	#about .detail table tr {
		display: block;
	}
	#about .detail table th {
		display: list-item;
		list-style: none;
		width: 100%;
		padding: 10px;
		border-bottom: none;
	}
	#about .detail table td {
		display: list-item;
		list-style: none;
		width: 100%;
		padding: 10px;
		border-bottom: none;
	}
	#about #map_canvas {
		height: 300px;
	}

}


/* ----------------------------------------
	blog / news
---------------------------------------- */

.entry-content h2.entry-title {
	margin-bottom: 15px;
	padding: 10px 20px;
	font-size: 1.5rem;
	line-height: 1.4;
	color:#FFFFFF;
	background: #E70012;
}

.entry-content .entry-meta {
	-js-display: flex;
	display: flex;
	justify-content: flex-end;
}
.entry-content .date {
	display: inline-block;
	font-size: 0.875rem;
	text-align: right;
	color: #939292;
	padding-right: 10px;
}
.entry-content .cat {
    color:#fff;
	display: inline-block;
	padding: 2px 8px;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-align: center;
	white-space: nowrap;
	background: #1C1C1C;
}
.entry-content .entry {
	margin: auto;
	padding: 20px 0;
	max-width: 1000px;
	width: 100%;
}

@media screen and (max-width:768px){
	.entry-content h2.entry-title {
		padding: 5px 10px;
		font-size: 1.25rem;
	}

}

/* --- #newsList ---*/


#newsList article {
	position: relative;
	margin: 15px 0;
	padding: 15px 0;
	border-bottom: 1px dotted #434343;
}
#newsList article .date {
	position: absolute;
	top: 15px;
	left: 0;
	color: #E70012;
}
#newsList article .cat {
    color:#fff;
	position: absolute;
	top: 15px;
	left: 95px;
	padding: 2px 3px;
	width: 80px;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
	text-align: center;
	white-space: nowrap;
	background: #1C1C1C;
}
#newsList article h3 a {
	display: block;
	padding-left: 200px;
	color:#434343;
}
#newsList article h3 a:hover {
	text-decoration: underline;
}


@media screen and (max-width:768px){

	#newsList article {
		display: block;
		text-align: left;
	}
	#newsList article .date {
		position: relative;
		top: 0;
		display: inline-block;
		padding-right: 5px;
		font-size: 0.75rem;
	}
	#newsList article .cat {
		left: auto;
		right: 0;
		display: inline-block;
		padding: 2px 3px;
		width: 80px;
		font-size: 0.6875rem;
		letter-spacing: 0.05em;
		text-align: center;
		white-space: nowrap;
		background: #1C1C1C;
	}
	#newsList article h3 a {
		display: block;
		padding: 5px 0 0 0;
        color: #fffffff
	}

}




/* --- #blogList ---*/


#blogList article {
	position: relative;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px dotted rgba(67,67,67,0.6);
	-js-display: flex;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
#blogList .thumb {
	width: 200px;
	height: 100px;
	transition: all .25s ease-out;
}
#blogList .thumb:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
#blogList .textarea {
	padding: 0;
	text-align: left;
	width: -webkit-calc(100% - 230px);
	width: calc(100% - 230px);
}
#blogList .textarea h3 a {
	display: block;
	margin-bottom: 3px;
	line-height: 1.4;
	color:#434343;
}
#blogList .textarea h3 a:hover {
	text-decoration: underline;
}
#blogList .textarea .date {
	display: inline-block;
	position: absolute;
	bottom: 5px;
	right: 110px;
	font-size: 0.75rem;
	padding-bottom: 10px;
}
#blogList .textarea .cat {
    color:#fff;
	display: inline-block;
	position: absolute;
	bottom: 15px;
	right: 0;
	padding: 2px;
	width: 100px;
	font-size: 0.75rem;
	text-align: center;
	background: #1C1C1C;
}


@media screen and (max-width:768px){

	#blogList .thumb {
		width: 120px;
		height: 100px;
	}
	#blogList .textarea {
		width: -webkit-calc(100% - 130px);
		width: calc(100% - 130px);
	}
	#blogList .textarea h3 a {
		font-size: 0.875rem;
	}
	#blogList .textarea .date {
		position: relative;
		bottom: auto;
		right: auto;
		text-align: right;
		width: 100%;
	}
	#blogList .textarea .cat {
		float: right;
		position: relative;
		bottom: auto;
		width: 100px;
		font-size: 0.6875rem;
	}

}


/* ----------------------------------------
	contact
---------------------------------------- */

table.form {
	width: 100%;
	border-collapse: separate;
}
table.form td a {
	color: #E00000;
	text-decoration: underline;
}

/* pc/tablet */
@media screen and ( min-width:769px ) {

	table.form th {
		font-weight: normal;
		vertical-align: top;
		width: 25%;
		padding: 20px 10px;
		background: #222222;
		border-right: 3px solid #000000;
		border-bottom: 3px solid #000000;
	}
	table.form td {
		padding: 20px;
		text-align: left;
		background: #171717;
		border-bottom: 3px solid #000000;
	}
	table.default th {
		font-weight: normal;
		vertical-align: top;
		width: 20%;
		padding: 15px 10px;
		border-bottom: 1px dashed #E00000;
	}
	table.default td {
		padding: 15px 10px;
		border-bottom: 1px dashed #E00000;
	}
}

/* sp */
@media screen and (max-width: 768px){

	table.form {
		font-size: 0.9375rem;
	}
	table.form tr {
		display: block;
	}
	table.form th {
		display: list-item;
		list-style: none;
		font-weight: normal;
		vertical-align: top;
		padding: 10px;
		background: #222222;
		border-bottom: 3px solid #000000;
	}
	table.form td {
		display: list-item;
		list-style: none;
		text-align: left;
		padding: 10px;
		background: #171717;
		border-bottom: 3px solid #000000;
	}

}


button, input, textarea, select {
	padding: 8px;
	background: #CCCCCC;
	-webkit-appearance: none;
	border-radius: 0;
	font-size: 1rem;
	border: none;
}
button:focus, input:focus, textarea:focus {
	background: #FFFFFF;
	outline: none;
}

table.form {
	margin-top: 30px;
}
table.form th span {
	color: #E00000;
	float: right;
	padding: 0 10px;
	font-size: 0.875rem;
}
.mw_wp_form .error {
	padding-top: 5px;
	color: #E00000 !important;
}
::-webkit-input-placeholder {
	color: rgba(255,255,255,0);
}
::-moz-placeholder {
	color: rgba(255,255,255,0);
}
:-ms-input-placeholder {
	color: rgba(255,255,255,0);
}
* {
	-webkit-appearance: none;
}


/* sp */
@media screen and (max-width: 768px){
	button, input, textarea {
		font-size: 0.9375rem;
		background: #999999;
		width: 100%;
		margin-bottom: 2px !important;
	}
}



/* css checkbox01 */

input[type=radio],
input[type=checkbox] {
		display: inline-block;
		margin-right: 6px;
}
input[type=radio] + span,
input[type=checkbox] + span {
		position: relative;
		display: inline-block;
		margin-top: 5px;
		margin-right: 12px;
		margin-bottom: 5px;
		font-size: 14px;
		line-height: 30px;
		cursor: pointer;
}
 
@media (min-width: 1px) {
	input[type=radio],
	input[type=checkbox] {
		display: none;
		margin: 0;
	}
	input[type=radio] + span,
	input[type=checkbox] + span {
		padding: 0 0 0 40px;
	}
	input[type=radio] + span::before,
	input[type=checkbox] + span::before {
		content: "";
		position: absolute;
		top: 8px;
		left: 0;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 30px;
		height: 30px;
		margin-top: -9px;
		background: #CCCCCC;
		border-radius: 4px;
		-moz-border-radius: 4px;
		-webkit-border-radius: 4px;
	}
	input[type=radio] + span::before {
		border-radius: 50%;
		-moz-border-radius: 50%;
		-webkit-border-radius: 50%;
	}
	input[type=radio]:checked + span::after,
	input[type=checkbox]:checked + span::after {
		content: "";
		position: absolute;
		top: 50%;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
	}
	input[type=radio]:checked + span::after {
		top: 12px;
		left: 7px;
		width: 16px;
		height: 16px;
		margin-top: -6px;
		background: #E00000;
		border-radius: 15px;
	}
	input[type=checkbox]:checked + span::after {
		top: 14px;
		left: 5px;
		width: 22px;
		height: 12px;
		margin-top: -10px;
		border-left: 4px solid #E00000;
		border-bottom: 4px solid #E00000;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
}



/* selec */

.selectWrap {
	position: relative;
	display: inline-block;
	background: transparent;
	margin-right: 5px;
	padding: 0;
}
.selectWrap::after {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 3px;
	font-family: FontAwesome;
	content: '\f107';
	color: #000000 !important;
	font-style: normal;
	padding-right: 5px;
}
select {
	position: relative;
	z-index: 1;
	background: transparent;
	margin: 0;
	padding-right: 25px !important;
}
select::-ms-expand {
	display: none;
}


/* ---------- .linkBtn ---------- */

.linkBtn a,
.linkBtn input,
.linkBtn button {
	display: inline-block !important;
	padding: 8px 90px !important;
	border: 1px solid rgba(224,0,0,1) !important;
	background: rgba(224,0,0,1) !important;
	transition: all .25s ease-out !important;
}
.linkBtn input,
.linkBtn button {
	cursor: pointer;
	margin: 20px 0;
	padding: 15px 80px !important;
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: bold;
}
.linkBtn a:hover,
.linkBtn input:hover,
.linkBtn button:hover {
	text-decoration: none !important;
	background: rgba(224,0,0,0.4) !important;
}
.linkBtn a:before {
	font-family: FontAwesome;
	content: '\f00e';
	font-size: 1.125rem;
	font-weight: normal;
	padding-right: 10px;
}


@media screen and (max-width: 768px){
	#content .linkBtn {
		text-align: center;
	}

	#content .linkBtn a,
	.linkBtn input,
	.linkBtn button {
		position: relative !important;
		display: inline-block !important;
		padding: 8px 15% !important;
		background: rgba(224,0,0,1) !important;
		font-weight: bold !important;
		z-index: 10 !important;
	}
	.linkBtn input,
	.linkBtn button {
		margin: 15px 0 !important;
		padding: 15px 0 !important;
		width: 70%;
		color: #FFFFFF;
		font-size: 1rem;
		font-weight: bold;
	}
	.linkBtn a:before {
		font-family: FontAwesome;
		content: '\f00e';
		font-size: 1.125rem;
		font-weight: normal;
		padding-right: 10px;
	}

}


/* ---------- thanks ---------- */

.mw_wp_form .title {
	margin-bottom: 25px;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	color: #FFFFFF;
	border-bottom: 2px solid #E70012;
}
.mw_wp_form .telBox {
	padding: 20px 0;
}
.mw_wp_form .telBox span {
	display: block;
	padding: 10px;
	font-family: 'Lato', sans-serif;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 768px){

	.mw_wp_form .title {
		font-size: 1.125rem;
	}
	.mw_wp_form .telBox span {
		display: inline-block;
		margin: 10px 0;
		padding: 10px 20px;
		font-size: 1.25rem;
		border: 1px solid #939292;
	}

}


/* ----------------------------------------
	gallery
---------------------------------------- */

#gallery #content {
	padding: 0;
	max-width: 100%;
}
#gallery #galleryPart {
	margin: 0;
	text-align: center;
	-js-display: flex;
	display: flex;
	justify-content: space-between;
}
#gallery #galleryPart .news,
#gallery #galleryPart .reform {
	width: 50%;
	height: 500px;
	padding: 0;
	position: relative;
	text-align: center;
}
#gallery #galleryPart .news a,
#gallery #galleryPart .reform a {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: url(../img/home/blog.png) no-repeat #E70012;
	background-size:cover;
	transition: all .25s ease-out;
}
#gallery #galleryPart .reform a {
	background: url(../img/home/facebook.png) no-repeat #343434;
	background-size:cover;
}
#gallery #galleryPart .news a:hover {
	background: url(../img/home/blog.png) no-repeat #B7000E;
	background-size:cover;
}
#gallery #galleryPart .reform a:hover {
	background: url(../img/home/facebook.png) no-repeat #000000;
	background-size:cover;
}
#gallery #galleryPart .news a span,
#gallery #galleryPart .reform a span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 250px;
	height: 180px;
	font-family: '游明朝','Hiragino Mincho Pro','HGP明朝E','HGS明朝E','MS PMincho',serif;
	font-size: 1.75rem;
	font-weight: bold;
	margin: auto;
	background: rgba(231,0,18,0.8);
	-js-display: flex;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
#gallery #galleryPart .news a span {
	left: auto;
	right: 0;
	letter-spacing: 0.5em;
	background: rgba(0,0,0,0.8);
}

@media screen and (max-width: 768px){

	#gallery #galleryPart .news,
	#gallery #galleryPart .reform {
		height: 180px;
	}
	#gallery #galleryPart .news a span,
	#gallery #galleryPart .reform a span {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		background: none;
	}

}

ul.galleryList {
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.galleryList li {
	position: relative;
	width: 19.5%;
	height: 210px;
	margin-bottom: 7px;
	overflow: hidden;
}
ul.galleryList li.empty {
	height: 0;
	margin-bottom: 0;
}
ul.galleryList .thumb {
	width: 100%;
	height: 210px;
	-moz-transition: -moz-transform 0.25s linear;
	-webkit-transition: -webkit-transform 0.25s linear;
	-o-transition: -o-transform 0.25s linear;
	-ms-transition: -ms-transform 0.25s linear;
	transition: transform 0.25s linear;
}
ul.galleryList .thumb:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}
ul.galleryList .title a {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 5px;
	font-size: 0.75rem;
	font-weight: bold;
	line-height: 1.3;
	color: #FFFFFF;
	background: rgba(0,0,0,0.8);
	text-align: left;
}


.single-new h2.gallery_title,
.single-reform h2.gallery_title {
	font-size: 1.125rem;
	color: #939292;
	text-align: center;
}

@media screen and (max-width: 768px){

	ul.galleryList li {
		width: 48%;
		height: 150px;
	}

}



/* ---------- reform ---------- */

#before_after {
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
}
#before_after .thumb {
	position: relative;
	width: 47%;
	height: 300px;
	margin-bottom: 25px;
}
#before_after .thumb.before::before {
	position: absolute;
	top: 0;
	left: 0;
	content: " ";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 90px 90px 0 0;
	border-color: rgba(0,0,0,0.7) transparent transparent transparent;
}
#before_after .thumb.before::after {
	position: absolute;
	top: 22px;
	left: 1px;
	content: "BEFORE";
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#before_after .thumb.after::before {
	position: absolute;
	top: 0;
	right: 0;
	content: " ";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 90px 90px 0;
	border-color: transparent rgba(231,0,19,0.7) transparent transparent;
}
#before_after .thumb.after::after {
	position: absolute;
	top: 20px;
	right: 3px;
	content: "AFTER";
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	letter-spacing: 0.05em;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#before_after .before i {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: -11%;
	font-size: 3rem;
	color: #E70012;
}


/* ----------------------------------------
	professional
---------------------------------------- */
#proLead {color:#434343;}
#proLead ul {
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#proLead ul li {
	width: 33%;
}


ul.proList {
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.proList li {
	position: relative;
	width: 23%;
	margin-bottom: 50px;
	color: #434343;
    border-bottom: 1px solid;
}
ul.proList li.empty {
	height: 0;
	margin-bottom: 0;
    border-bottom: 1px solid #ffffff;
}
ul.proList .thumb {
	margin-bottom: 15px;
	width: 100%;
	height: 350px;
	-moz-transition: -moz-transform 0.25s linear;
	-webkit-transition: -webkit-transform 0.25s linear;
	-o-transition: -o-transform 0.25s linear;
	-ms-transition: -ms-transform 0.25s linear;
	transition: transform 0.25s linear;
}
ul.proList .details div {
	padding-bottom: 8px;
	font-size: 0.9375rem;
}
ul.proList .details .name {
	padding-bottom: 15px;
	font-size: 1rem;
    font-weight: bold;
}
ul.proList .details .hobby {
	padding-left: 46px;
    text-align: justify;
}
ul.proList .details .hobby span {
	display: inline-block;
	margin-left: -46px;
}
.hp a {color:#434343 !important;}
.proList .comment {
    text-indent:-46px;
    padding-left:46px;
    text-align:justify
}
.proList .hp {
    line-height: 3;
    border-top: 1px dotted;
    display: -webkit-box;
}

@media screen and (min-width:480px) and ( max-width:769px) {
	ul.proList li {
		width: 48%;
	}
}

@media screen and (max-width: 480px) {
	ul.proList li {
		width: 100%;
	}
}

