@charset "UTF-8";
.Font-Selif {
	font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
main {
padding-top: 0px;
}
.CWrap {
	width: 100%;
}
.CBox {
	padding: 0 20px;
	margin: auto;
}
.CBody {
	padding:60px 0;
}
.CBottom {
	margin-bottom: 30px;
}
.img_a {
	display: block;
	vertical-align: bottom;
}

.anchor{
width: 0px;
height: 0px;
display: block;
position: absolute;
top:-58px;
left: 0px;
}
#top_company_anchor{
top:-60px;
}

/*------- Top Page Image ----------------------------------*/
#TopImageWrap {
height:100vh;
background-color: #00afec;
position: relative;
/*background-size: cover;
background-position: center;*/
}

#sliderimg{
position: relative;
height:100vh;
width: 100%;
/*	object-fit: contain;*/
}
.slick-list{ height: 100vh; }
.slick-dots{
bottom: 100px;
width: 100%;
text-align: center;
}

.slick-dots li{
display: inline-block;
width: 10px;
height: 10px;
}

.slick-dots li button{
width: 10px;
height: 10px;
}

.slick-prev, .slick-next{
width: 15px;
height: 15px;
}

.slick-dots li button:before {
display: block;
width: 10px;
height: 10px;
background: #000;
border-radius: 20px;
/*
font-size: 50px;
width: 30px;
height: 30px;
*/
z-index: 990;
}
.slider_item img{
height: 100vh;
width: 100%;
object-fit: cover;
}
.slick-prev::before,
.slick-next::before{
color:#000;
font-size:30px;
}
.slick-next {
right: 25px;
z-index: 990;
}
.slick-prev {
left: 25px;
z-index: 990;
}


#TopImage{
position: absolute;
top:0;
left:0;
background-image: url("../img/home/tone_dot.png");
background-repeat: repeat;
width: 100%;
height: 100vh;
}

/*
#TopMesseLogo {
position: absolute;
display: block;
width: 800px;
top: calc(50% + 58px - 60px);
top:50%;
left: 50%;
transform: translate(-50%, -50%);
margin-top: 20px;
}
*/
#TopMesseLogo {
position: absolute;
display: block;
width: 100%;
top:50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 7rem;
color: aliceblue;
text-align: center;
padding: 0 40px;
}
#TopMessage {
font-size: 1.3rem;
font-weight: normal;
letter-spacing: 0.2em;
color: #ffffff;
text-align: center;
display: block;
margin-top:20px;
}
@media screen and (max-width: 767px) {
	#TopMesseLogo {
	font-size: 5.5rem;
	}
}
#Topsns {
position: absolute;
top:98px;
right: 30px;
}
#Topsns li {
margin-bottom: 16px;
}
#Topsns li a {
display: block;
width: 32px;
height: 32px;
}
#Topsns li a i {
width: 32px;
height: 32px;
margin-right: 0px;
}
@media screen and (max-width: 767px) {
#Topsns {
top:122px;
right: 20px;
}
}

/*-- Scroll Botton --*/
#TopScroll_B {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
display: block;
height: 50px;
width: 50px;
margin: 0px auto;
border-radius: 50%;
}
#TopScroll_B img {
position: absolute;
/*
bottom: 17px;
left: 50%;
transform: translateY(-5%) translateX(-50%)!important;
*/
height: 30px;
width: 30px;
margin: 11px 0 0 10px;
display: block;
}
#TopScroll_B:hover {
background-color: rgba(0, 0, 0, 1);
}


/*--------------------------------------*/

.campany_catch{
max-width: 500px;
}
.campany_catch img{
display: block;
}
.mark_logo2{
margin: auto;
}
.campany_catch p{
text-align: center;
line-height: 2.5;
}

@media print, screen and (min-width:768px) {
	.campany_catch{
	padding:20px 0 70px;
	margin: auto;
	}
	.mark_logo2{
	max-width: 400px;
	}
	.catch_btd{
	margin: 70px auto 30px;
	max-width:300px;
	}
	.campany_catch p{
	letter-spacing: 0.3em;
	}
}
@media screen and (max-width: 767px) {
	.campany_catch{	
	margin: 0px auto;
	padding: 0 0 44px;
	}
	.campany_catch p{
	letter-spacing: 0.1em;
	}
	.mark_logo2{
	max-width: 280px;
	}
	.catch_btd {
	margin: 40px auto 20px;
	max-width: 250px;
	}
}

/*---------------*/
#TopContentsWrap,
#top_company{
position: relative;
}

#TopContents div h3 {
font-size:2.6rem;
font-size:26px;
margin-bottom:20px;
letter-spacing:0.1em;
}
#TopContents div ul,
#TopContents div ul li {
width:100%;
list-style:none;
}
#TopContents div ul li {
display:table;
}
#TopContents div ul li b,
#TopContents div ul li span {
display:table-cell;
}
#TopContents div ul li b {
line-height:2.3;
font-weight:bold;
width:38%;
letter-spacing:0.06em
}
#TopContents div ul li span {
width:62%;
}
.service_list h3{
font-size: 2rem;
margin-bottom: 30px;
}
.service_list ul li{
list-style: none;
margin-bottom: 10px;
}
.service_list ul li b{
display: inline-block;
width: 220px;
}

#top_company{
margin: 0px auto 3px;
background-color: #f6f6f6;
}
#top_company div.cnt_w{
margin: auto;
}
#top_company div h4{
font-size: 2rem;
}
#top_cmpninf li{
list-style: none;
margin: 5px;
}
#top_cmpninf li b{
display: inline-block;
width: 100px;
}
#top_cmpn_ttlph {
width: 100%;
position: relative;
}
#top_cmpnph {
display: flex;
justify-content: space-between;
}
#top_cmpnph li {
width: calc((100% - 36px) / 4 );
}
@media screen and (max-width:1024px) {
	.TopService{
	border-top: solid 1px #d4d4d4;
	}
}
@media print, screen and (min-width:980px) {
	.TopService{
	display: flex;
	justify-content: space-between;
	}
	#top_cmpn_ttlph {
	width: calc(100% - 534px);
	}
	#top_cmpninf {
	width: 474px;
	}
	#top_cmpnph {
	position: absolute;
	left: 0;
	bottom: 0;
	}
	#top_company div.cnt_w{
	display: flex;
	justify-content: space-between;
	}
}
@media screen and (min-width: 980px) and (max-width:1024px) {
	.TopService{
	padding-top: 60px;
	}
}
@media print, screen and (min-width:768px) {
	.TopService{
	margin-bottom: 20px;
	}
}
@media screen and (max-width: 979px) {
	.TopService{
	padding-top: 50px;
	}
	.service_list:first-child {
    margin-bottom: 40px;
	}
	#top_company div h4 {
    margin-bottom: 30px;
	}
	#top_cmpninf {
	margin-top: 40px;
	}
}
@media screen and (min-width: 620px) and (max-width:979px) {
	.TopService{
	padding-left: 30px;
	padding-right: 30px;
	}
	#top_cmpn_ttlph, #top_cmpninf {
	padding-left: 30px;
	padding-right: 30px;
	}
}
@media screen and (max-width: 620px) {
	.service_list ul li b {
	display: block;
	}
	.service_list h3 {
	font-size: 1.8rem;
	margin-bottom: 20px;
	}
	#top_company div h4 {
	font-size: 1.8rem;
	margin-bottom: 20px;
	}
	#top_company div ul li b {
	width: 50px;
	}
	#top_company div ul li span {
	letter-spacing: 0;
	}
}

/*-- 受注単価規定 ----------------------------*/
#order_price { padding-top: 30px; }
#order_price div:first-child{ font-weight: bold; }
#order_price li,#order_price li a{
position: relative;
}
#order_price li a{
padding-left: 18px;
font-size: 1.2rem
}
#order_price li a:before{
position: absolute;
left: 0;
top: 2px;
content: "";
width: 0;
height: 0;
border-style: solid;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-left: 6px solid #555555;
border-right: 0;
}

/*-- Information -----------------------------------*/
#TopInfoWrap {
background-color: #f6f6f6;
}
#TopInfoWrap h3 a {
display: block;
}
.top_info_item a {
position: relative;
padding: 8px 0px;
}
.top_info_item a::after {
position: absolute;
right: 0;
content: "";
width: 0;
height: 0;
border-style: solid;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-left: 6px solid #555555;
border-right: 0;
}
.info_date {
display: block;
width: 130px;
}
.info_ttl {
font-size: 1.4rem;
padding-right: 18px;
}
@media print, screen and (min-width:1025px) {
	#TopInfoWrap {
	padding: 60px 0;
	}
	#TopInfoWrap h3 {
	font-size: 2rem;
	width: 170px;
	}
	#TopInfoWrap ul {
	width: calc(100% - 200px);
	}
}
@media screen and (max-width:1024px) {
}
@media screen and (min-width: 768px) and (max-width:1024px) {
	#TopInfoWrap {
	padding: 50px 0;
	}
	#TopInfoWrap h3 {
	font-size: 1.8rem;
	width: 150px;
	}
	#TopInfoWrap ul {
	width: calc(100% - 180px);
	}
}
@media print, screen and (min-width:768px) {
	#TopInfoWrap .cnt_w {
	display: flex;
	justify-content: space-between;
	align-items: center;
	}
	.top_info_item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	}
	.info_ttl {
	width: calc( 100% - 140px );
	}
	.top_info_item a::after {
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	}
}
@media screen and (max-width: 767px) {
	#TopInfoWrap {
	padding: 40px 0;
	}
	#TopInfoWrap h3 {
	font-size: 1.8rem;
	margin-bottom: 10px;
	}
	.top_info_item a {
	display: block;
	}
	.top_info_item a::after {
	bottom: 15px;
	}
}
/*-- Google Map ------------------------------------*/

.MapOuter { width: 100%; }





