/*----------------------------------
	body
-----------------------------------*/
body {

	background:#fff;
	line-height: 1.8;
	overflow: hidden;
}
.sp-block {
	display: none;
}
.flex-box {
	display: flex;
	justify-content: space-between;
	padding: 0 3.0rem;
}
.tablet-block {
	display: none;
}
/*----------------------------------
	wrapper
-----------------------------------*/
#wrapper {

}
/*----------------------------------
	header
-----------------------------------*/
header {
	background: #fff;
	padding: 3.0rem 10.0rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header h1{
	width: 180px;
}
header nav.gnav {
	width: 50%;
}
header nav.gnav ul{
	display: flex;
	justify-content: space-between;
	font-size: 2.0rem;
}
header nav.gnav ul li a{
	color: #000;
}
/*----------------------------------
	a img
-----------------------------------*/
a img:hover {
}


/*----------------------------------
	footer
-----------------------------------*/
footer {
	text-align: center;
	font-size: 1.2rem;
	padding: 5.0rem 0;
	border-top: 1px solid #eee;
}


/*----------------------------------
	nav
-----------------------------------*/

/*----------------------------------
	block
-----------------------------------*/
.section-block {
	padding: 0 5.0rem;
}

/*----------------------------------
	共通
-----------------------------------*/
h2.section-ttl {
	font-size: 3.5rem;
	padding-bottom: 1.0rem;
	margin-bottom: 5.0rem;
	border-bottom: 1px solid #000;
}
h3.section-subttl {
	font-size: 3.0rem;
	margin-bottom: 2.0rem;
}
.rubi {
	text-align: right;
}
/*----------------------------------
	keyv
-----------------------------------*/
#keyv {
	position: relative;
	height: 60vh;
	margin-bottom: 10.0rem;
	width: 100%;
}
.keyv-ttl {
	position: absolute;
	left: 5.0rem;
	bottom: 3.0rem;
	font-size: 3.0rem;
	z-index: 10000;
}
.keyv-ttl div{
	margin-bottom: 2.0rem;
}
.keyv-ttl div span{
	background: #fff;
	display: inline-block;
	padding: 0.5rem 1.0rem;	
}
.full div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 60vh;
  margin: 0;
}
.full div.img00 {
  background-image: url("/common/images/keyv/keyv.jpg");
}
.full div.img01 {
  background-image: url("/common/images/keyv/keyv_01.jpg");
}
.full div.img02 {
  background-image: url("/common/images/keyv/keyv_02.jpg");
}
.full div.img03 {
  background-image: url("/common/images/keyv/keyv_03.jpg");
}
/*----------------------------------
	about
-----------------------------------*/
#about {
	margin-bottom: 10.0rem;
}
#about .flex-box .about-left {
	width: 55%;
}
#about .flex-box .about-right {
	width: 35%;
}
.about-txt {
	font-size: 2.0rem;
}
#service {
	margin-bottom: 10.0rem;
}
.service-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 3.0rem;
}
.service-list li{
	display: flex;
	justify-content: space-between;
	width: 45%;
	margin-bottom: 5.0rem;
}
.service-list li:nth-last-child(2), .service-list li:last-child{
	margin-bottom: 0;
}
.service-list li .service-img {
	width: 35%;
}
.service-list li .service-detail {
	width: 60%;
}
.service-detail h3{
	font-size: 2.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #000;
}
.service-txt {
	font-size: 1.8rem;	
}
.service-l {
	width: 40%;
}
.service-r {
	width: 50%;
}
.service-r h3{
	font-size: 2.5rem;
	margin-bottom: 1.5rem;
	border-bottom: 1px solid #000;
}
#company {
	margin-bottom: 10.0rem;
}
.company-list {
	width: 80%;
	margin: 0 auto;
	font-size: 2.1rem;
	font-weight: bold;
}
.company-list li{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.0rem;
}
.company-list li .company-list-left {
	width: 30%;
	border-bottom: 1px solid #000;
	padding: 0 0 1.0rem 1.0rem;
}
.company-list li .company-list-right {
	width: 70%;
	border-bottom: 1px solid #ccc;
	padding: 0 0 1.0rem 1.0rem;
}
#contact {
	margin-bottom: 10.0rem;
}
.contact-form-block {
	width: 100%;
	background: #ccc;
}
.contact-form-block article{
	width: 1000px;
	margin: 0 auto;
	padding: 5.0rem 0;
}
.contact-txt {
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 2.0rem;
}
.contact-txt-tel {
	font-size: 3.0rem;
	text-align: center;
	margin-bottom: 5.0rem;
}
.contact-form {
	width: 100%;
	border-top: 1px solid #fff;
	margin-bottom: 0.5rem;
}
.contact-form tr td{
	padding: 2.0rem 0.5rem;
	border-bottom: 1px solid #fff;
}
.contact-form tr td span.required {
	font-size: 1.6rem;
	color: #b10000;
}
#client-date {
	letter-spacing: 0.6rem;
}
.contact-form tr td select{
    outline:none;
	letter-spacing: 0.6rem;
    text-overflow: '';
    background: #fff;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border-radius: 0;
	padding: 0.5rem 1.0rem 0.5rem 2.0rem;
}
.contact-form tr td select option{
  background-color: #fff;
  color: #333;
}
.contact-form tr td select::-ms-expand {
  display: none;
}
.contact-form tr td select:-moz-focusring { 
  color: transparent; 
}
.contact-form tr td input{
	padding: 0.5rem 1.0rem;
	background: #fff;
	width: 100%;
}
.contact-form tr td textarea{
	padding: 0.5rem 1.0rem;
	background: #fff;
	width: 100%;
}
.text-right {
	text-align: right;
	font-size: 1.2rem;
	margin-bottom: 2.0rem;
}
.submit-btn {
	width: 200px;
	margin: 0 auto;
	text-align: center;
}
.submit-btn input{
	width: 100%;
	padding: 1.0rem 0;
	background: #000;
	color: #fff;
	cursor: pointer;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
	transition: 0.3s;
	border: 1px solid #000;
}
.submit-btn input:hover{
	background: #fff;
	color: #000;
}









