html {
	font-size: 62.5%;
}
html,body {height:100%;}
body,th,td,li,dt,dd,input,select,p,div,span,textarea,h1,h2,h3,h4,h5,h6,a {
font-family:  "メイリオ", Meiryo, sans-serif,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
color:#333;
font-size: 14px;
font-size: 1.4rem;
}
a {
	color:#1c9bad;
	-moz-transition: 0.4s;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	-ms-transition: 0.4s;
	transition: 0.4s;
}
p {
	line-height:200%;
	padding-bottom:16px;
}
.left {text-align:left;}
.center {text-align:center;}
.right {text-align:right;}
#backtop {
	display:block;
	height:1px;
}
.linktarget {
	padding-top:100px;
    margin-top:-100px;
    vertical-align: top;
}
/*-----------------------------------------
box
------------------------------------------*/
@media screen and (max-width: 767px) {
	body {
	}	
	.mainvisual {
	background-image: url(../images/bg-dot.png);
	background-repeat: repeat;
	width:100%;
	}
	.mainvisual-thanks {
	background-image: url(../images/bg-dot.png);
	background-repeat: repeat;
	width:100%;
	}
	.wrapper {
	width:100%;
	padding:0 3%;
	}
	.leftparts {
	display:block;
	}
	.rightparts {
	display:block;
	}
	.sp-off {display:none;}
	.sp-backbtn a {
	display:block;
	background-color:#0d6fb8;
	background-image: url(../images/menu/icon-home-s.png);
	background-position:center 10px;
	background-repeat:no-repeat;
	text-align:center;
	color:#ffffff;
	width:100%;
	padding:100px 0px 20px 0px;
	}
}
@media screen and (min-width : 768px){
	.mainvisual {
	background-image: url(../images/bg-dot.png);
	background-repeat: repeat;
	width:100%;
	height:800px;
	}
	.mainvisual-thanks {
	background-image: url(../images/bg-dot.png);
	background-repeat: repeat;
	width:100%;
	height:100%;
	}
	.mainvisual-inner {
	padding-top:220px;
	padding-bottom:80px;
	}
	.mainvisual-thanks-inner {
	padding-top:220px;
	}
	.leftparts {
	width:50%;
	max-width:480px;
	display:table-cell;
	padding:0px 50px 0px 0px;
	vertical-align:top;
	}
	.rightparts {
	width:50%;
	max-width:479px;
	display:table-cell;
	padding:0px 0px 0px 49px;
	vertical-align:top;
	}
	.leftborder {
	border-left:1px solid #999999;
	}
	.bottomborder {
	border-bottom:1px solid #999999;
	}
	.sp-on {display:none;}
}
@media screen and (min-width : 768px) and (max-width : 959px){
	body {
	background-image: url(../images/mainbg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:auto 820px;
	background-attachment:fixed;
	position:relative;
	z-index:1;
	-webkit-animation: mainbg 1s;
	animation: mainbg 1s;
	}
	.wrapper {
	width:94%;
	max-width:960px;
	margin:0px 3%;
	display:table;	
	}	
}
@media screen and (min-width : 960px){
	body {
	background-image: url(../images/mainbg.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:120% auto;
	background-attachment:fixed;
	position:relative;
	z-index:1;
	-webkit-animation: mainbg 1s;
	animation: mainbg 1s;
	}
	.wrapper {
	width:100%;
	max-width:960px;
	margin:0px auto;
	display:table;	
	}	
}
@-webkit-keyframes mainbg { 
	0% { opacity:0;} 
	100% {opacity:1;} 
}
@keyframes mainbg { 
	0% {opacity:0;} 
	100% {opacity:1;}  
} 


/*-----------------------------------------
commonparts
------------------------------------------*/
@media screen and (max-width: 767px) {
	.downbtn a {
	display:none;	
	}
}
@media screen and (min-width : 768px){
	.downbtn {
	padding:50px 0px;
	}
	.downbtn a {
	display:block;
	width:90px;
	height:90px;
	margin:0px auto;
	border-radius:8px;
	background-color: #111;
	background-image: url(../images/downallow.png);
	background-repeat: no-repeat;
	background-position: center 15px;
	text-indent:110%;
	white-space:nowrap;
	overflow:hidden;
	position:relative;
	z-index:10;
	}
	.downbtn a:hover {
	background-color: #28b0c8;	
	}
	.downbtn a:after {
	content:" ";
	background-image: url(../images/downallow.gif);
	background-repeat: no-repeat;
	background-position: center center;
	height: 24px;
	width: 24px;
	position:absolute;
	top:54px;
	left:33px;
	-moz-transition: 0.4s;
	-webkit-transition: 0.4s;
	-o-transition: 0.4s;
	-ms-transition: 0.4s;
	transition: 0.4s;
	}
	.downbtn a:hover:after {
	content:" ";
	background-image: url(../images/downallow.gif);
	background-repeat: no-repeat;
	background-position: center center;
	height: 24px;
	width: 24px;
	position:absolute;
	top:58px;
	left:33px;
	}
}
.sectionmark {
	height: 140px;
	width: 140px;
	margin:0px auto;
}
.sectionmark img {
	width:100%;
	height:auto;	
}
h3 {
	text-align:center;
	font-size:171%;
	line-height:150%;
	margin:55px 0px 45px 0px;
}
/*-----------------------------------------
header
------------------------------------------*/
@media screen and (max-width : 767px){
	.menu-wrapper {
	width: 100%;
	background-color:rgb(40,176,200);
	background-color:rgba(40,176,200,0.9);
	background-image: url(../images/bg-dot.png);
	background-repeat: repeat;
	position:relative;
	z-index:100;
	}
	#header-logo {
	height: 80px;
	text-align:center;
	padding:15px 0px;
	}
	#header-logo h1 {
	background-image: url(../images/logo-white.png);
	background-position:center center;
	background-repeat: no-repeat;
	background-size:auto 100%;
	height: 50px;
	width: auto;
	margin: 0px auto;
	text-indent:110%;
	white-space:nowrap;
	overflow:hidden;
	}
	#header-menu {
	position:relative;
	text-align:center;
	z-index:5;
	}
	#header-menu ul {
	width:80%;
	margin:0 10%;
	}
	#header-menu li {
	float:left;
	height: 115px;
	width: 50%;
	}
	#header-menu a {
	display:block;	
	width: 100%;
	background-size:70px 70px;
	background-repeat:no-repeat;
	background-position:center top;
	text-align:center;
	color:#ffffff;
	padding-top:80px;
	overflow:hidden;
	font-family: 'Open Sans', sans-serif;
	font-weight:400;
	font-size:100%;
	letter-spacing:1px;
	}
	#header-menu a:hover {
	-moz-animation: popmenu 0.4s;
	animation: popmenu 0.4s;
	color:#ffcc00;
	}
	.menu-home a {
	background-image: url(../images/menu/icon-home-s.png);
	}
	.menu-profile a {
	background-image: url(../images/menu/icon-profile-s.png);
	}
	.menu-service a {
	background-image: url(../images/menu/icon-service-s.png);
	}
	.menu-contact a {
	background-image: url(../images/menu/icon-contact-s.png);
	}
	#header-menu h2 {
	clear:both;
	font-size:128%;
	color:#ffffff;	
	-webkit-animation: maintext1 1s;
	animation: maintext1 1s;
	}
	#header-menu p {
	margin-top:24px;
	font-size:86%;
	color:#ffffff;	
	-webkit-animation: maintext2 1s;
	animation: maintext2 1s;
	}
}
@media screen and (min-width : 768px){
	.menu-wrapper {
	height: 320px;
	width: 100%;
	background-color:rgb(40,176,200);
	background-color:rgba(40,176,200,0.9);
	background-image: url(../images/bg-dot.png);
	background-repeat: repeat;
	position:relative;
	z-index:100;
	}
	.menu-wrapper .wrapper {
	display:table;	
	}
	#header-menu li {
	float:left;
	height: 128px;
	width: 128px;
	padding-left:36px;
	}
	#header-menu a {
	display:block;	
	width: 92px;
	background-size:100% auto;
	background-repeat:no-repeat;
	background-position:center top;
	text-align:center;
	color:#ffffff;
	padding-top:104px;
	overflow:hidden;
	font-family: 'Open Sans', sans-serif;
	font-weight:400;
	font-size:128%;
	letter-spacing:1px;
	}
	#header-menu a:hover {
	-moz-animation: popmenu 0.4s;
	animation: popmenu 0.4s;
	color:#ffcc00;
	}
	.menu-home a {
	background-image: url(../images/menu/icon-home-s.png);
	}
	.menu-profile a {
	background-image: url(../images/menu/icon-profile-s.png);
	}
	.menu-service a {
	background-image: url(../images/menu/icon-service-s.png);
	}
	.menu-contact a {
	background-image: url(../images/menu/icon-contact-s.png);
	}
}
@media screen and (min-width : 768px) and (max-width : 959px){
	#header-logo {
	height: 320px;
	width: 350px;
	display:table-cell;
	vertical-align:middle;
	}
	#header-logo h1 {
	background-image: url(../images/logo-white.png);
	background-repeat: no-repeat;
	height: 60px;
	width: 290px;
	margin-left:10px;
	text-indent:110%;
	white-space:nowrap;
	overflow:hidden;
	}
	#header-menu {
	height: 320px;
	min-width: 418px;
	position:relative;
	z-index:5;
	}	
	#header-menu ul {
	position:absolute;
	top:-44px;
	left:-128px;
	}
	#header-menu h2 {
	clear:both;
	font-size:170%;
	color:#ffffff;	
	padding-top:100px;
	-webkit-animation: maintext1 1s;
	animation: maintext1 1s;
	}
	#header-menu p {
	margin-top:24px;
	font-size:100%;
	color:#ffffff;	
	-webkit-animation: maintext2 1s;
	animation: maintext2 1s;
	}
}
@media screen and (min-width : 960px){
	#header-logo {
	height: 320px;
	width: 350px;
	display:table-cell;
	vertical-align:middle;
	}
	#header-logo h1 {
	background-image: url(../images/logo-white.png);
	background-repeat: no-repeat;
	height: 60px;
	width: 290px;
	margin-left:10px;
	text-indent:110%;
	white-space:nowrap;
	overflow:hidden;
	}
	#header-menu {
	height: 320px;
	width: 610px;
	position:relative;
	z-index:5;
	}	
	#header-menu ul {
	position:relative;
	top:-44px;
	left:0px;
	}
	#header-menu h2 {
	clear:both;
	font-size:214%;
	color:#ffffff;	
	-webkit-animation: maintext1 1s;
	animation: maintext1 1s;
	}
	#header-menu p {
	margin-top:24px;
	font-size:128%;
	color:#ffffff;	
	-webkit-animation: maintext2 1s;
	animation: maintext2 1s;
	}
}
@-webkit-keyframes popmenu { 
	0% { -webkit-transform:  translate(0px, 5px) ;} 
	100% { -webkit-transform:  translate(0px, 0px);} 
}
@keyframes popmenu { 
	0% { transform:  translate(0px, 5px) ;} 
	100% { transform:  translate(0px, 0px);}  
}

@-webkit-keyframes maintext1 { 
	0% { -webkit-transform:  translate(20px, 0px) ; opacity:0;} 
	100% { -webkit-transform:  translate(0px, 0px); opacity:1;} 
}
@keyframes maintext1 { 
	0% { transform:  translate(20px, 0px) ; opacity:0;} 
	100% { transform:  translate(0px, 0px); opacity:1;}  
}

@-webkit-keyframes maintext2 { 
	0% { -webkit-transform:  translate(10px, 0px) ; opacity:0;} 
	50% { -webkit-transform:  translate(10px, 0px) ; opacity:0;}
	100% { -webkit-transform:  translate(0px, 0px); opacity:1;} 
}
@keyframes maintext2 { 
	0% { transform:  translate(10px, 0px) ; opacity:0;} 
	50% { transform:  translate(10px, 0px) ; opacity:0;}
	100% { transform:  translate(0px, 0px); opacity:1;}  
}
@media screen and (max-width : 767px){
	.fixed .menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
	width:100%;
	height:80px;
	margin-top:0px;
	}
	.fixed #header-logo {
	display:none;
	}
	.fixed #header-menu {
	height: 80px;
	width: 100%;
	padding-top:5px;
	}
	.fixed #header-menu ul {
	width:100%;
	margin:0px;
	}
	.fixed #header-menu li {
	width:25%;
	height:80px;
	}
	.fixed #header-menu a {
	background-size:60px auto;
	background-position:center top;
	text-indent:110%;
	height:80px;
	overflow:hidden;
	white-space:nowrap;
	}
	.fixed #header-menu h2, .fixed #header-menu p {
	display:none;
	}
}
@media screen and (min-width : 768px) and (max-width : 959px){
	.fixed .menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
	width:100%;
	height:100px;
	margin-top:0px;
	}
	.fixed #header-logo {
	height: 100px;
	width: 350px;
	}
	.fixed #header-menu {
	height: 100px;
	width: 418px;
	}
	.fixed #header-menu ul {
	top:5px;
	left:0px;
	}
	.fixed #header-menu li {
		width:100px;
	height: 110px;
	}
	.fixed #header-menu a {
	padding-top:75px;
	background-size:70px auto;
	font-size:100%;
	}
	.fixed #header-menu h2, .fixed #header-menu p {
	display:none;	
	}	
}
@media screen and (min-width : 960px){
	.fixed .menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
	width:100%;
	height:100px;
	margin-top:0px;
	}
	.fixed #header-logo {
	height: 100px;
	width: 350px;
	}
	.fixed #header-menu {
	height: 100px;
	width: 610px;
	}
	.fixed #header-menu ul {
	top:5px;
	}
	.fixed #header-menu li {
	height: 110px;
	}
	.fixed #header-menu a {
	padding-top:75px;
	background-size:70px auto;
	font-size:100%;
	}
	.fixed #header-menu h2, .fixed #header-menu p {
	display:none;	
	}
}
#mainvisual .downbtn {
	margin-top:300px;	
}

/*-----------------------------------------
service
------------------------------------------*/
#service-wrapper {
	background-color:#edede3;
	padding:60px 0px;
}
/*-----------------------------------------
profile
------------------------------------------*/
#profile-wrapper {
	background-color:#ffffff;
	padding:60px 0px;
}
@media screen and (max-width : 767px){
	.profilepic img {
	display:none;
	}	
	.gaiyoutable {
	width:100%;	
	}
	.gaiyoutable th {
	display:block;
	text-align:center;
	}
	.gaiyoutable td {
	display:block;
	text-align:center;
	}
}
@media screen and (min-width : 768px){
	.profilepic {
	position:relative;
	}
	.profilepic img {
	width:100%;
	position:absolute;
	bottom:0;
	left:-20px;
	}
}
.gaiyoutable {
	border-top: 1px solid #333333;
	margin-top:60px;
}
.gaiyoutable tr {
	border-bottom: 1px solid #333333;	
}
.gaiyoutable th {
	padding:8px 16px 8px 4px;
}
.gaiyoutable td {
	padding:8px 4px 8px 16px;
}
/*-----------------------------------------
contact
------------------------------------------*/
#contact-wrapper {
	background-color:#edede3;
	padding:50px 0px;
}
.contacthead-tt {
	background-image: url(../images/icon-contact.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size:140px auto;
	min-height:140px;
	margin-bottom:30px;

}
@media screen and (max-width : 767px){
	.googlemap {
	width:100%;
	height:200px;
	}
	.contacthead-tt h2 {
	font-size:171%;
	padding-top:180px;
	text-align:center;
	}	
	.tel-big {
	display:block;
	font-size: 180%;
	width:80%;
	margin:0px 10%;
	text-align:center;
	position:relative;
	padding:10px 0px;
	}
	.tel-big:before {
	display:inline-block;
	content:" ";
	background-image: url(../images/icon-tel-black.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size:20px auto;
	height:30px;
	width:30px;
	position:relative;
	}
	.fax-big {
	display:block;
	font-size: 180%;
	width:80%;
	margin:0px 10%;
	text-align:center;
	position:relative;
	padding:10px 0px;
	}
	.fax-big:before {
	display:inline-block;
	content:" ";
	background-image: url(../images/icon-fax-black.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size:20px auto;
	height:30px;
	width:30px;
	position:relative;
	}
	.indenttext {
	margin-top:10px;
	text-align:center;
	}
	.formtable th {
	text-align:left;
	padding-top: 12px;
	padding-bottom: 12px;
	vertical-align:middle;
	position:relative;
	display:block;
	}
	.formtable td {
	text-align:left;
	padding:12px 0px;
	display:block;
	}
	.need:after {
	content:"必須";
	display:inline-block;
	color:#ffffff;
	text-align:center;
	font-size:12px;
	font-weight:normal;
	background:#da7a40;
	width:32px;
	height:32px;
	line-height:32px;
	border-radius:32px;
	position:relative;
	margin-left:12px;
	}
	.nini:after {
	content:"任意";
	display:inline-block;
	color:#ffffff;
	text-align:center;
	font-size:12px;
	font-weight:normal;
	background:#ac9d93;
	width:32px;
	height:32px;
	line-height:32px;
	border-radius:32px;
	position:relative;
	margin-left:12px;
	}
	.formtable input{
	width:100%;
	padding:10px 0px;
	border-radius:6px;
	border:none;	
	}
	.formtable textarea {
	width:100% !important;
	height:120px !important;
	padding:10px 0px;
	border-radius:6px;
	border:none;
	}
}
@media screen and (min-width : 768px){
	.googlemap {
	width:100%;
	height:200px;
	}
	.contacthead-tt h2 {
	font-size:257%;
	padding-top:52px;
	}
	.tel-big {
	display:block;
	width:100%;
	font-size: 270%;
	padding:10px 0px 10px 0px;
	}
	.tel-big:before {
	display:inline-block;
	content:" ";
	background-image: url(../images/icon-tel-black.png);
	background-repeat: no-repeat;
	background-position: left center;
	height:36px;
	width:36px;
	position:relative;
	top:4px;
	}
	.fax-big {
	display:block;
	width:100%;
	font-size: 270%;
	padding:00px 0px 20px 0px;
	}
	.fax-big:before {
	display:inline-block;
	content:" ";
	background-image: url(../images/icon-fax-black.png);
	background-repeat: no-repeat;
	background-position: left center;
	height:36px;
	width:36px;
	position:relative;
	top:4px;
	}
	.indenttext {
	margin-top:10px;
	margin-left:50px;
	}
	.formtable th {
	text-align:left;
	padding-top: 12px;
	padding-bottom: 12px;
	width:28%;
	vertical-align:middle;
	position:relative;
	}
	.formtable td {
	width:72%;
	text-align:left;
	padding:12px 0px;
	}
	.need:after {
	content:"必須";
	display:inline-block;
	color:#ffffff;
	text-align:center;
	font-size:12px;
	font-weight:normal;
	background:#da7a40;
	width:32px;
	height:32px;
	line-height:32px;
	border-radius:32px;
	position:absolute;
	top:18px;
	right:16px;
	}
	.nini:after {
	content:"任意";
	display:inline-block;
	color:#ffffff;
	text-align:center;
	font-size:12px;
	font-weight:normal;
	background:#ac9d93;
	width:32px;
	height:32px;
	line-height:32px;
	border-radius:32px;
	position:absolute;
	top:18px;
	right:16px;
	}
	.formtable input{
	width:100%;
	padding:10px 0px;
	border-radius:6px;
	border:none;
	}
	.formtable textarea {
	width:100% !important;
	height:120px !important;
	padding:10px 0px;
	border-radius:6px;
	border:none;
	}
}
.formtable {
	width:100%;	
}

.contactbtn-wrapper {
	width:100%;
	height:60px;
	text-align:center;
	position:relative;	
}
.contactbtn {
	display:block;
	width:200px;
	height:40px;
	color:#ffffff;
	background-color:rgb(40,176,200);
	background-color:rgba(40,176,200,1);
	border:none;
	border-radius:5px;
	background-image: url(../images/allow-white.png);
	background-repeat: no-repeat;
	background-position: 12px center;
	box-shadow: 0px 4px 0px rgba(40,176,200,0.4);
	position:absolute;
	top:0px;
	left:50%;
	margin-left:-100px;
	-moz-transition: 0.2s;
	-webkit-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}
.contactbtn:hover {
	background-color:rgba(56,215,243,1);
	box-shadow: 0px 1px 0px rgba(40,176,200,0.4);
	top:3px;
}
/*-----------------------------------------
footer
------------------------------------------*/
footer {
	background-color:#191919;	
}
@media screen and (max-width : 767px){
	footer ul {
	display:block;
	width:100%;
	}
	footer li {
	display:block;
	width:100%;
	}
	.credit {
	color:#93a5a7;
	font-size:78%;
	padding:5px;
	text-align:center;
	}
	.footer-tel {
	text-align:center;
	}
}
@media screen and (min-width : 768px){
	footer ul {
	display:table;
	width:100%;
	}
	footer li {
	display:table-cell;
	width:50%;	
	}
	.credit {
	color:#93a5a7;
	font-size:78%;
	padding:5px;
	}
	.footer-tel {
	text-align:right;
	}
}
.footer-tel span {
	display:inline-block;
	padding:5px;
	color:#ffffff;
	position:relative;
}
.footer-tel span:before {
	content:" ";
	display:inline-block;
	background-image: url(../images/icon-tel-white.png);
	background-repeat: no-repeat;
	background-position:left top;
	width:15px;
	height:15px;
	position:absolute;
	left:-15px;
}
