@charset "utf-8";

/*=====================================
common.css
=====================================*/

/*-------------------------------------
 title
-------------------------------------*/
.pageTitle {
	position: relative;
	height: 260px;
	overflow: hidden;
}
.pageTitle .inner {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
.pageTitle figure img {
	position: absolute;
	top: 0;
	left: 50%;
	max-width: inherit;
	margin-left: -640px;
}
.pageTitle .title {
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	color: #fff;
	font-size: 20px;
	font-weight: bold;
}
.pageTitle .title h1 {
	font-size: 32px;
}


/*-------------------------------------
 table
-------------------------------------*/
.tblStyle01 {
	width: 100%;
	margin: 70px 0 20px 0;
	font-size: 20px;
	border-top: 1px solid #999;
}
.tblStyle01 th {
	width: 190px;
	padding: 34px 20px;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #999;
}
.tblStyle01 td {
	padding: 34px 20px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #999;
}


/*-------------------------------------
 company
-------------------------------------*/
.companyClm01:after {
	clear: both;
	content: "";
	display: block;
}
.companyClm01 figure {
	float: right;
	max-width: 300px;
	margin: 0 0 20px 50px;
}


/*-------------------------------------
 service
-------------------------------------*/
.serviceList01 {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -50px 0 0;
	padding: 50px 0 20px 0;
}
.serviceList01 .clm {
	width: 33.333%;
	padding: 0 50px 50px 0;
	flex-shrink: 0;
}
.serviceList01 figure {
	margin: 0 0 15px 0;
}
.serviceList01 h4 {
	margin: 0 0 10px 0;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.serviceList01 p {
	line-height: 1.4;
}


/*-------------------------------------
 reason
-------------------------------------*/
.reasonClm01:after {
	clear: both;
	content: "";
	display: block;
}
.reasonClm01 figure {
	float: left;
	max-width: 370px;
	margin: 0 50px 20px 0;
}
.reasonClm01 h2 {
	margin: 0 0 5px 0;
	text-align: left;
}
.reasonClm01 h3 {
	margin: 0 0 10px 0;
	text-align: left;
}


/*-------------------------------------
 news
-------------------------------------*/
.newsList01 ul {
	border-top: 1px solid #999;
}
.newsList01 ul li {
	display: flex;
	border-bottom: 1px solid #999;
}
.newsList01 ul li .date {
	width: 136px;
	padding: 34px 20px;
	font-weight: bold;
	flex-shrink: 0;
}
.newsList01 ul li .txt {
	width: 100%;
	padding: 34px 20px;
}


/*-------------------------------------
 contact
-------------------------------------*/
.contactForm {
	max-width: 800px;
	margin: 0 auto;
}
.contactForm .clm {
	margin: 0 0 25px 0;
}
.contactForm .head {
	margin: 0 0 5px 0;
}
.contactForm .ttl {
	font-weight: bold;
}
.contactForm .required {
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 0 8px;
	color: #fff;
	border-radius: 3px;
	background: #FF7373;
}
.contactForm .form input {
	width: 100%;
	height: 60px;
	padding: 10px 20px;
	border-radius: 5px;
	border: 1px solid #333;
}
.contactForm .form select {
	width: 100%;
	height: 60px;
	padding: 10px 20px;
	border-radius: 5px;
	border: 1px solid #333;
	background: url(/common/images/icn_form01.png) no-repeat right 30px center;
}
.contactForm .form textarea {
	width: 100%;
	height: 200px;
	padding: 10px 20px;
	border-radius: 5px;
	border: 1px solid #333;
}
.contactForm .btn {
	padding: 50px 0 0 0;
	text-align: center;
}
.contactForm .btn input {
	width: 186px;
	height: 46px;
	color: #fff;
	cursor: pointer;
	text-align: center;
	border-radius: 5px;
	border: none;
	background: #333;
}

.contactThanks {
	max-width: 800px;
	margin: 0 auto;
	padding: 30px 0 0 0;
}
.contactThanks .ttl {
	margin: 0 0 20px 0;
	font-size: 25px;
}
.contactThanks p {
	line-height: 2.4;
}



/*-------------------------------------
 common
-------------------------------------*/
.alignL {
	text-align: left !important;
}
.alignR {
	text-align: right !important;
}
.alignC {
	text-align: center !important;
}











/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/







/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 768px) {


/*-------------------------------------
 title
-------------------------------------*/
.pageTitle {
	height: 160px;
}
.pageTitle figure img {
	height: 160px;
	margin-left: 0;
	transform: translateX(-50%);
}
.pageTitle .title {
	font-size: 16px;
}
.pageTitle .title h1 {
	font-size: 28px;
}


/*-------------------------------------
 table
-------------------------------------*/
.tblStyle01 {
	display: block;
	margin: 40px 0 20px 0;
	font-size: 16px;
}
.tblStyle01 tr {
	display: block;
}
.tblStyle01 th {
	display: block;
	width: auto;
	padding: 15px 10px 5px 10px;
	border-bottom: none;
}
.tblStyle01 td {
	display: block;
	padding: 0 10px 15px 10px;
}


/*-------------------------------------
 company
-------------------------------------*/
.companyClm01 {
	display: flex;
	flex-direction: column;
}
.companyClm01 figure {
	float: none;
	max-width: inherit;
	margin: 20px 0;
	text-align: center;
	order: 3;
}


/*-------------------------------------
 service
-------------------------------------*/
.serviceList01 {
	display: block;
	margin: 0;
	padding: 30px 0 0 0;
}
.serviceList01 .clm {
	display: flex;
	flex-direction: column;
	width: auto;
	padding: 0 0 50px 0;
}
.serviceList01 figure {
	margin: 15px 0 0 0;
	order: 3;
	text-align: center;
}
.serviceList01 h4 {
	font-size: 18px;
}


/*-------------------------------------
 reason
-------------------------------------*/
.reasonClm01 {
	display: flex;
	flex-direction: column;
	width: auto;
	padding: 0 0 30px 0;
}
.reasonClm01 figure {
	float: none;
	max-width: inherit;
	margin: 15px 0 0 0;
	order: 3;
	text-align: center;
}


/*-------------------------------------
 news
-------------------------------------*/
.newsList01 ul li {
	display: block;
}
.newsList01 ul li .date {
	width: auto;
	padding: 15px 10px 5px 10px;
}
.newsList01 ul li .txt {
	padding: 0 10px 15px 10px;
}


/*-------------------------------------
 contact
-------------------------------------*/
.contactForm .form input {
	height: 50px;
	padding: 10px 15px;
}
.contactThanks .ttl {
	font-size: 22px;
}
.contactThanks p {
	line-height: 2;
}




}





/* PC layout
-------------------------------------------------------------------*/

@media screen and (min-width: 1281px) {

.pageTitle {
	position: relative;
	height: auto;
}
.pageTitle .inner {
	height: 100%;
}
.pageTitle figure img {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	margin-left: 0;
}

}

@media screen and (min-width: 769px) {

.contactForm .btn input {
	text-decoration: none;
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	backface-visibility: hidden;
}
.contactForm .btn input:hover {
	opacity: 0.7;
}


}
