html {font-size:10px;/*62.5%*/}
body {
	color:#3f3a39; background-color: #f2f2f2; height:100%; line-height: 1.5;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Segoe UI", Meiryo, sans-serif;
}
ol, ul {list-style: none;}
h1 {font-size:2rem; font-weight: normal; line-height: 1.2;}
h2 {font-size:1.8rem; font-weight: normal; line-height: 1.2;}
h3 {font-size:1.6rem; font-weight: normal;}
p {font-size:1.7rem;}
a.onAlpha {transition: all 0.4s ease-in-out;}
a.onAlpha:hover {opacity: 0.5;}

/*for Header------------------------------------*/
header {
	position: fixed;
	width: 100%;
	display: flex;
	justify-content: space-between;
	z-index: 100;
}
#contents {width: 100%;}

/*for Wrap------------------------------------*/
#home {
	position: relative;
	width: 100%; height: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background-color: #FFF;
}
#policy {
	position: relative;
	width: 100%;
	background-color: #65b7d9;
}
#service {
	position: relative;
	width: 100%;
	background-color: #e5e1d8;
	padding-bottom: 8rem;
}
#company {
	position: relative;
	width: 100%;
}

/*home------------------------------------*/
.homeL {position: relative; width:46%;}
.homeR {width:54%; height: 100vh; background-image: url(../img/home_bg.jpg); background-position: center center; background-size: cover;}

.homeL .home_copy {
	position: absolute;
	width:20%;
	max-width:84px;
}
.homeL .home_logo{
  position:absolute;
  top:50%;
  left:50%;
	width:40%;
	max-width:210px;
  transform:translate(-50%,-50%);
}
@media screen and (max-width: 799px){
	#home {
		display:block;
		height:100vh; min-height:860px;
	}
	.homeL {width:100%; height:calc(100vh/2); min-height:430px;}
	.homeR {width:100%; height:calc(100vh/2); min-height:430px;}
	.homeL .home_copy {width:20%; max-width:74px;}
	.homeL .home_logo{width:170px;}
}

/*policy------------------------------------*/
.policy_W{
	width: 90%;
	max-width: 920px;
	margin: 0 auto;
	padding-top:12rem;
}
.policy_W img{width: 100%; height: auto;}
.policy_bg {width: 100%; content: ""; padding-top: 51%; background-image: url(../img/policy_bg.jpg); background-position: top center; background-size: cover;}
@media screen and (max-width: 799px){
	.policy_PC {display:none;}
	.policy_SP {display:block;}
	.policy_W{padding-top:6rem; max-width:500px;}
}
@media screen and (min-width: 800px){
	.policy_PC {display:block;}
	.policy_SP {display:none;}
}

/*service------------------------------------*/
.service_T{width: 100%; text-align: center; padding-top:8rem;}
.service_T img{width: 80%; max-width: 320px;}

.service_W {
	width: 94%; max-width: 1050px; background-color: #FFF; margin: 0 auto; padding: 3rem 0 3.6rem 0; margin-top:4rem;
}
	.service_W_Fl {
		width: calc(100% - 6rem); margin: 0 auto;
		display: flex; justify-content: space-between;
	}
		.service_W_Fl_L {width: 10.6%;} .service_W_Fl_L img {width: 100%; height: auto;}
		.service_W_Fl_R {width: 84%;}
			.service_W_Fl_R_P {width: 100%; padding-bottom: 2.4rem;} .service_W_Fl_R_P img {width: 100%; height: auto;}
			.service_W_Fl_R_Fl {width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between;}
				.service_copy {width: 75%;}
					.service_copy h4 {font-size: 2.1rem; font-weight: bold; line-height: 1.3;}
						.service_1{color:#c7802c;} .service_2{color:#727e45;} .service_3{color:#485d9c;} .service_4{color:#ef8d35;} .service_5{color:#d15f5e;}
					.service_copy h5 {font-size: 1.7rem; font-weight: normal; margin-top: 1.5rem;}
					.service_copy ul {font-size: 1.4rem; line-height: 1.3; list-style: disc; padding-left: 1.6rem; margin-top: 0.9rem;}
					.service_copy li {padding-top:0.8rem;}
				.service_photo {width: 21%;} .service_photo img {width: 100%; height: auto;}
				@media screen and (max-width: 799px){
					.service_PC {display:none;}
					.service_SP {display:block;}
					.service_W_Fl {display: block; width: calc(100% - 2rem);}
					.service_W_Fl_L {width: 100%; max-width: 380px; padding-bottom: 1.8rem; margin: 0 auto;} .service_W_Fl_L img {width: 100%; height: auto;}
					.service_W_Fl_R {width: 100%;}
					.service_W_Fl_R_Fl {width: 94%; margin: 0 auto;}
					.service_copy h4 {font-size: 2rem;}
					.service_copy h5 {font-size: 1.5rem;}
				}
				@media screen and (min-width: 800px){
					.service_PC {display:block;}
					.service_SP {display:none;}
				}
	img.link_ar {vertical-align:middle; width:1.2rem; height:auto;}
	a.service_L1:link, a.service_L1:visited{color: #c7802c; text-decoration: underline;}
	a.service_L2:link, a.service_L2:visited{color: #727e45; text-decoration: underline;}
	a.service_L3:link, a.service_L3:visited{color: #485d9c; text-decoration: underline;}
	a.service_L4:link, a.service_L4:visited{color: #ef8d35; text-decoration: underline;}
	a.service_L1:hover, a.service_L2:hover, a.service_L3:hover, a.service_L4:hover{text-decoration: none;}

/*about------------------------------------*/
.about_T{width: 100%; text-align: center; padding-top:8rem; padding-bottom:4rem;}
.about_T img{width: 80%; max-width: 320px;}

.about_W {
	width: 90%;
	max-width: 620px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2rem 0 2rem 0;
	border-top: 1px solid #648b21;
	font-size: 1.5rem;
	line-height: 1.2;
}
.about1 {
	font-weight:bold;
	display: block;
	width: 17%;
}
.about2 {
	display: block;
	width: 82%;
}
.about2 span {
	font-size: 1.2rem;
}
.about3 {
	display: block;
	width: 70%;
	padding-top: 1rem;
}
.about4 {
	display: block;
	width: 30%;
	padding-top: 1rem;
	text-align: right;
}
a.aboutBtn {
	display: inline-block;
	padding: 0.8rem 1.3rem 0.8rem 1.3rem;
	font-size: 1.7rem;
	font-weight: bold;
	text-decoration: none;
	color: #FFF;
	background-color: #648b21;
	transition: all 0.5s ease;
	border-radius: 4px;
}
a.aboutBtn:hover {
	background-color: #CCC;
}

/*FOOT------------------------------------*/
footer {padding: 60px 0 20px 0; width: 100%; text-align: center; font-size: 1.2rem;}

/*for PAGETOP------------------------------------*/
#page-top {
    position: fixed;
    bottom: 0.4rem;
    right: 0.4rem;
		z-index: 100;
}
	#page-top a {
    width: 40px;
    height: 30px;
    text-align: center;
    display: block;
    -webkit-transition: all 0.5s ease;
		transition: all 0.5s ease;
	}
	#page-top a img {width: 100%; height: auto;}
	#page-top a:hover {opacity: 0.4;}


/*for 2nd------------------------------------*/
article.wrap_2nd {max-width:600px; display: block;}
.wrap_2nd h2 {
	width: 100%;
	display: block;
	font-size: 2.4rem;
	font-weight:bold;
	text-align: center;
	padding: 1rem 0 3rem 0;
}



/*for Contact------------------------------------*/
.wrap_ContactEx {
	width: 100%;
	font-size: 1.3rem;
	line-height: 1.4;
	text-align: center;
	padding-bottom: 2rem;
}
.wrap_ContactEx span {
	font-size: 1.1rem;
	line-height: 1.1;
}
.wrap_ContactTh {
	width: 100%;
	font-size: 1.5rem;
	line-height: 2;
	text-align: left;
	padding-bottom: 20rem;
}
.wrap_Contact {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2rem 0 2rem 0;
	font-size: 1.3rem;
	line-height: 1.2;
}
.contact1 {
	font-weight:bold;
	display: block;
	width: 23%;
	padding: 10px 0;
}
.contact2 {
	display: block;
	width: 73%;
}
.contactP {
	display: block;
	width: 100%;
	padding: 10px 0;
	font-size: 1.4rem;
	line-height: 1.4;
}
.contactP li {
	margin-top: 2.4rem;
	margin-left: 1rem;
	list-style: disc;
}
@media screen and (max-width: 820px){
	.contact1 {width: 100%;}
	.contact2 {width: 100%;}
}
/*form*/
input[type="submit"],
input[type="text"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none;
	border-radius: 0;
}
input[type="text"],
textarea {
  background: #f2f2f2;
  display: block;
  font-size: 1.4rem;
  padding: 12px 15px;
  width: 100%;
  transition: 0.8s;
  border-radius: 0;
}
input[type="text"]:focus,
textarea:focus {
	background: #FFF;
  outline: solid 1px #000;
}
textarea {
  height:200px;
}
/*form select*/
.select {
  background: #f2f2f2;
  padding: 12px 15px;
  width: 100%;
  border-radius: 0;
  position: relative;
  z-index: 1;
}
.select::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  right: 10px;
  top: 45%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  z-index: -1;
}
select {
  /* 初期化 */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  color: #333;
  font-size: 1.4rem;
  width: 100%;
  height: 100%;
  padding: 0;
}
/*form submit*/
.wrap_ContactSend {
	width: 100%;
	font-size: 1.3rem;
	text-align: center;
	padding: 2rem 0;
}
.sendButton {
  display: inline-block;
  font-size: 2rem;
	font-weight: bold;
  text-align: center;
  cursor : pointer;
  padding: 1.4rem 2rem;
  background: #000;
  color: #FFF;
  line-height:1em;
  transition: all 0.5s ease;
  border: none;
}
.sendButton:hover {
	color: #000;
	background-color: #EDEDED;
}
.wrap_ContactSend a {
	text-decoration: underline;
	color: #000;
}
.wrap_ContactSend a:hover {
	text-decoration: none;
}
