@charset "utf-8";
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}
	

.clearfix:after {
	content:" ";
	display:block;
	clear:both;
}

a {
	color: #000000;
	text-decoration:underline;
	transition: all 0.3s ease-in-out 0s;
}

a:hover {
	color: #666666;
	text-decoration:none;
}

a:hover img{
opacity: 0.7
}

img{
max-width: 100%;
}

.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}

.flex {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-wrap:wrap;
}

.flex_wrap_left {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	-webkit-justify-content: flex-start;
	justify-content:flex-start
}
.flex_wrap_center {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	-webkit-justify-content: center;
	justify-content: center;
}
.flex_wrap_end {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
.clearer {
	clear: both;
}

.center{
text-align: center !important
}

.sp{
display: none;
}

#sp_header{
display: none
}

textarea{
	line-height:1.5
}

/********************************
toppage
********************************/
.page-header{
	min-height:auto;
}

.page-header .container{
	padding:0;
}

.page-header-title, h1.page-header-title {
    font-size: 24px;
    font-weight: bold;
    margin: 0;
	padding:0;
}

.home ul{
	margin:0;
	padding:0;
}

.home ul li{
	list-style:none;
	margin:0;
}

.home .site-body{
	margin:0;
	padding:0;
}

.home .container, .home .container-lg, .home .container-md, .home .container-sm, .home .container-xl {
    max-width: 100%;
	margin:0;
	padding:0;
    }

.home h3{
border-bottom:none;
padding-bottom:0;
}

.home h3:after {
    content: "";
    bottom: 0;
    width: 0;
	padding:0;
    border-bottom:none;
}

.home h4{
	background:none;
}

.home .site-body-bottom{
	display:none;
}

.home .site-footer nav{
	display:none;
}

.home p{
	margin-bottom:0;
}

.site-footer{
display:none;
}

.site-footer-copyright{
	display:none
}

.entry-body{
max-width: 100%;
margin: 0 auto;
}

#header ul li, nav.globalMenu ul li, footer ul li{
	list-style:none;
}



/********************************
header
********************************/
#site-header-container{
width:1500px;
max-width: 96%;
margin: 0 auto;
padding: 20px 0 15px;
}

.admin-bar .tel_area{
position:absolute;
top:70px;
}

.tel_area{
position:absolute;
top:40px;
left:calc(50% - 490px);
font-size:14px;
line-height:1;
z-index:9999;
}

.tel_area span{
color: #FFFFFF;
background: #ec6c26;
padding: 1px 10px;
border-radius: 30px;
font-size:11px;
}

.tel_area p{
margin-bottom: 5px;
color: #000000;
font-size:25px;
font-weight:bold;
line-height:1;
}

#global-nav .menu{
max-width: 100%;
}

#global-nav .menu li{
margin: 0 10px;
}

#global-nav .menu li a{
display: block;
text-align: center;
font-size:16px;
color: #000000;
text-decoration: none;
padding: 15px 0;
line-height: 1;
}

#global-nav .menu li a:hover, #global-nav .menu li.current a{
color: #ec6c26;
}

.global-nav-list>li .global-nav-name {
    font-size: 16px;
	font-weight:normal;
}

#global-nav .menu li#menu-item-134{
margin: 0 0 0 10px
}

#global-nav .menu li#menu-item-133 a{
border: 1px solid #000000;
padding: 15px 10px;
border-radius: 5px;
}

#global-nav .menu li#menu-item-327 a{
border: 1px solid #000000;
padding: 15px 10px;
border-radius: 5px;
}

#global-nav .menu li#menu-item-134 a{
background: #ec6c26;
color: #FFFFFF;
border: 1px solid #ec6c26;
padding: 15px 50px;
border-radius: 5px;
}

#global-nav .menu li#menu-item-133 a:hover{
background: #ec6c26;
color: #FFFFFF;
border: 1px solid #ec6c26;
}

#global-nav .menu li#menu-item-327 a:hover{
background: #ec6c26;
color: #FFFFFF;
border: 1px solid #ec6c26;
}

#global-nav .menu li#menu-item-134 a:hover{
border: 1px solid #000000;
background: #FFFFFF;
color: #000000;
}

/********************************
toppage
********************************/
.entry-body{
}

.mv{
width: 100%;
position:relative;
line-height: 0;
}

.mv_text{
position: absolute;
bottom:50px;
left: 0;
padding: 0 0 0 60px;
z-index:999;
}

.mv_text .mv_ttl{
font-size:42px;
color: #FFFFFF;
line-height: 1.8;
border-bottom: none;
margin-bottom: 20px;
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.4);
padding:0;
border-top: none !important;
}

.sp_ttl{
display:none;
	}

.top_lead{
    position: relative;
    z-index: 1;
    text-align: center;
    margin: 0 auto;
    background:#ec6c26;
	padding:100px 0;
}

.top_lead::before{
    transform: skewX(-45deg);
    content: "";
    position: absolute;
    top: 0; bottom: 0;
	left: 20%;
	right: -10%;
    z-index: -1;
    background-color:#FFFFFF;
	width:1140px;
	height:100%;
}

.top_lead p{
font-size:20px;
color: #000000;
line-height: 1.8;
margin-bottom:0;
text-align:center;
}

.h2_style{
color: #000000;
font-size:54px;
text-align: center;
font-weight:bold;
margin-bottom: 45px;
padding:0;
border-top: none !important;
border-bottom: none !important;
}

.h2_style p{
font-size:16px;
margin-top: 15px;
letter-spacing: 3px;
font-weight:normal;
}

#news{
background: #f7f2ef;
padding: 100px 0 80px;
}

#news .swiper {
width: 1440px;
max-width: 94%;
margin: 0 auto;
}

#news .vk_post_body {
    font-size: 16px;
}

#news .card-body {
    padding: 20px;
}

#news  .vk_post_list_slider .swiper-button-prev {
	background-color:#999999;
    border-radius:50%;
    color:#FFFFFF;
	top:40%;
	 width: 3.5rem;
    height: 3.5rem;
	opacity: 0.3;
}

#news  .vk_post_list_slider .swiper-button-next {
	background-color:#999999;
    border-radius:50%;
    color:#FFFFFF;
	top:40%;
	 width: 3.5rem;
    height: 3.5rem;
	opacity: 0.3;
}

#news  .vk_post_list_slider .vk_post {
	border-radius:0;
}

#news .vk_post .vk_post_date {
color: #ec6c26;
font-size:14px;
}

.more{
margin: 50px 0 0;
text-align: center;
}

.more.a_l{
text-align:left;
}

.more a{
font-size:18px;
color: #000000;
text-decoration: none;
}

.more span{
line-height: 25px;
padding:0 30px 10px 0;
background: url("../img/arrow_b.png") right center no-repeat;
border-bottom: 2px solid #eb6c26;
position: relative;
}

.more span::before{
  content: '';
  position: absolute;
  bottom: -2px;
  width: calc(100% - 25px);
  height: 2px;
  background: #eae6e4;
}

.more a:hover span::before{
  width:100%;
  background: #eb6c26;
  transition: background-color 1s linear;
}

#mission{
padding: 100px 0 100px;
}

#mission .cnt{
width: 100%;
max-width:94%;
margin:0 auto;
}

#mission p.lead{
font-size:20px;
color: #000000;
line-height: 1.8;
margin-bottom:0;
text-align:center;
}

#service{
background: url("../img/top_service.jpg") center top no-repeat;
background-size: 100% auto;
margin-bottom:30px;
}

#service .cnt{
position: relative;
width:100%;
height: 52vw;
padding-top: 90px;
}

#service .service_block{
position: absolute;
bottom:0;
right: 0;
padding: 100px 50px 50px 200px;
background:linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
}

#service .service_block h3{
color: #FFFFFF;
font-size:30px;
margin-bottom: 20px;
}


#service .service_block p{
color: #FFFFFF;
font-size:18px;
margin-bottom: 20px;
}


#service .service_block .more{
text-align:left
}

#service .service_block .more a{
color: #FFFFFF;
}

#service .service_block .more span{
background: url("../img/arrow_w.png") right center no-repeat;
}

#business .cnt{
width: 1240px;
max-width: 94%;
margin: 0 auto;
padding: 30px 0;
}

#business .cnt .col_l h3{
font-size:30px;
margin:120px 0 20px;
}

#business .cnt .col_l p{
font-size:18px;
line-height: 1.5;
}

#business .cnt .col_l .more{
text-align: left
}

.solution{
max-width:94%;
margin:0 auto;
}

.solution .more{
text-align:left !important;
}

#app{
background: url("../img/top_app.jpg") center top no-repeat;
background-size: 100% auto;
margin-top:80px;
}

#app .cnt {
position: relative;
width:1440px;
max-width: 94%;
margin: 0 auto;
padding: 90px 0 100px;
height: 26vw;
}

#app .cnt .app_block{
position: absolute;
bottom:80px;
right: 0;
}

#app .cnt h3{
font-size:30px;
margin: 0 0 20px;
color:#FFFFFF;
text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.6);
}

#app .cnt  p{
font-size:18px;
line-height: 1.5;
text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.6);
color:#FFFFFF;
}

#app .more{
text-align:left;
}

#app .more a{
color:#FFFFFF;
}

#app .more span{
background: url("../img/arrow_w.png") right center no-repeat;
}

#other a{
text-decoration: none;
}

#other .company{
width: 50%;
border-right: 1px solid #999999;
background:#f7f2ef;
}

#other .company img{
width: 100%;
}

#other .recruitment{
width: 50%;
border-left: 1px solid #999999;
background:#f7f2ef;
}

#other .recruitment img{
width: 100%;
}

#other h2.h2_style{
margin: 80px 0 100px
}

#contact{
background: #ec6c26;
color: #FFFFFF;
padding: 150px 0;
}

#contact .cnt{
width: 1240px;
max-width: 94%;
margin: 0 auto;
}

#contact .h2_style{
color: #FFFFFF;
font-size:84px;
text-align:left;
}

#contact p{
font-size:18px;
margin-bottom: 20px;
}

#contact .tel{
font-size:40px;
font-weight:bold;
margin-bottom: 0;
}

#contact .tel a{
color:#FFFFFF;
text-decoration:none;
}

#contact .contact_btn{
padding-left: 20px;
}

#contact .contact_btn a{
display: block;
color: #FFFFFF;
text-decoration: none;
border: 1px solid #FFFFFF;
padding: 15px 10px;
border-radius: 5px;
}

footer {
background: #f7f2ef;
padding: 65px 0 0;
}

.footer_cnt{
width: 1200px;
max-width: 94%;
margin: 0 auto;
position: relative;
}

.footer_cnt p{
	margin-bottom:0;
	line-height:1.4;
}

.footer_cnt .logo{
margin-bottom: 30px;
}

.footer_cnt .address{
margin-right: 100px;
}

.footer_cnt .address p{
font-size:14px;
margin-bottom: 10px;
}

.footer_cnt .address .tel{
font-size:29px;
font-weight:bold;
}

.footer_cnt .address .fax{
font-size:18px;
font-weight:bold;
}

.footer_cnt .sitemap{
margin-right: 60px;
}

.footer_cnt .sitemap li{
margin-bottom: 10px;
}

.footer_cnt .sitemap li a{
text-decoration: none;
}

.footer_cnt .site{
margin-top: 20px;
}

.footer_cnt .site li{
margin-left: 10px;
}

.footer_cnt .site li.shop a{
border: 1px solid #000000;
text-decoration: none;
padding: 15px 10px;
border-radius: 5px;
}

.footer_cnt .site li.hiroba a{
background: #ec6c26;
text-decoration: none;
color: #FFFFFF;
border: 1px solid #ec6c26;
padding: 15px 50px;
border-radius: 5px;
}

.footer_cnt .site li.shop a:hover{
color: #ec6c26;
border: 1px solid #ec6c26;
}

.footer_cnt .site li.hiroba a:hover{
border: 1px solid #000000;
background: #f7f2ef;
color: #000000;
}

.footer_cnt .sdgs_act{
position: absolute;
bottom:20px;
right: 0;
width: 495px;
}

.footer_cnt .sdgs{
background: #FFFFFF;
border-radius: 10px;
margin-top:25px;
padding:20px 10px 10px 10px;
}

.footer_cnt .sns{
border-top: 2px solid #c2c0bf;
padding-top: 10px;
margin:20px 0 70px;
}

.footer_cnt .sns li{
margin-right: 10px;
}

.footer_cnt .sdgs .balloon{
margin-top: -35px;
background: #FFFFFF;
border-radius: 10px;
padding: 10px;
text-align: center;
color: #000000;
position: relative;
font-size: 14px;
border: 1px solid #000000;
}

.footer_cnt .sdgs .balloon p{
margin-bottom:0;
}

.footer_cnt .sdgs .balloon img{
position: absolute;
bottom:-15px;
right: 50px;
}

.footer_cnt .sdgs .flex{
margin-top: 10px;
}

.footer_cnt .sdgs .flex p{
width: calc(100% - 210px);
font-size:14px;
line-height: 1.5;
}

.bottom_text{
	max-width:94%;
	margin:0 auto 10px;
	border-radius:5px;
	background:#FFFFFF;
	padding:10px;
}

.bottom_text p{
color:#333333;
font-size:12px;
margin-bottom:5px;
}

.copyright{
padding: 10px 0;
text-align: center;
font-size:12px;
border-top:1px solid #b6b5b4;
}

/********************************
contents
*******************************/
 a[href^="tel:"] {
text-decoration:none;
	}



/********************************
レスポンシブ
********************************/

@media screen and (min-width: 768px) {
	 a[href^="tel:"] {
		 pointer-events: none;
		 cursor: default;
	}
}

@media screen and (max-width: 1600px) {
.site-header-logo img {
max-height: 32px;
	}
	
.tel_area {
left: 250px;
font-size: 12px;
}
	
.tel_area p{
font-size:22px;
}

#global-nav .menu li {
    margin: 0 5px;
}
}

@media screen and (max-width: 1480px) {
.top_lead::before{
	left: 10%;
	right: -10%;
	width:90%;
	}
	
.tel_area p{
font-size:20px;
}
}

@media screen and (max-width: 1400px) {
.tel_area {	
font-size: 10px;
}	
	
.tel_area span{	
font-size: 10px;
}	
	
.tel_area p {
font-size: 18px;
}
	
#global-nav .menu li{
margin: 0 0 0 10px;
}

#global-nav .menu li a{
font-size:16px;
}

#global-nav .menu li#menu-item-134 a{
padding: 15px 20px;
}

.mv_text{
padding: 0 0 20px 40px;
}

.mv_text .mv_ttl{
font-size:36px;
}

.mv_text p{
font-size:16px;
}
	
#service .cnt{
padding-top: 50px;
}

#service .service_block{
padding: 50px 50px 50px 200px;
}
}

@media screen and (max-width: 1300px) {
#global-nav .menu li a {
font-size: 14px;
padding: 10px 0;
}
	
.global-nav-list>li .global-nav-name {
font-size: 14px;
}
	
#global-nav .menu li#menu-item-133 a {
padding: 10px;
}
	

#global-nav .menu li#menu-item-327 a {
padding: 10px;
}
	
#global-nav .menu li#menu-item-134 a {
 padding: 10px;
}
}
	
@media screen and (max-width: 1240px) {
.mv_text .mv_ttl{
font-size:24px;
line-height: 1.5;
margin-bottom: 10px
}

#business .cnt .col_l{
width: 35%;
}

#business .cnt .col_l h3{
margin:70px 0 20px;
}

#business .cnt .col_r{
width: 65%;
}
	
#app{
background-size: auto 100%;
}

#app .cnt {
padding: 50px 0;
height:30vw;
}
	
#app .cnt .app_block {
bottom: 50px;
}

#other h2.h2_style {
    margin: 50px 0 100px;
}

#contact {
padding: 50px 0;
}
	
.footer_cnt .sns {
margin: 20px 0 50px;
}
	
.footer_cnt .site {
margin-bottom: 40px;
}
	
.footer_cnt .site li{
font-size:14px;
margin-left:0;
margin-right: 10px;
}

}

@media screen and (max-width: 1200px) {
#site-header-container {
    padding: 0;
}
	
.admin-bar .tel_area {
    top: 45px;
}	
	
.site-header-logo img {
max-width: 150px;
}
	
.tel_area{
top: 5px;
left:180px;
}
	
.tel_area p{
font-size:16px;
	}
	
.tel_area span {
    padding: 1px 3px;
	}
	
.top_lead{
padding:50px 0;
}

.top_lead::before{
	left: 10%;
	right: 0;
}

.top_lead p{
font-size:16px;
}


.h2_style{
font-size:40px;
margin-bottom: 30px;
}

.h2_style p{
font-size:14px;
}

#news {
padding: 70px 0 50px;
}

.more a {
font-size: 16px;
}

#mission {
padding: 50px 0;
}

#service .cnt {
padding: 50px 0 0;
}

#service .service_block{
padding: 30px 20px 50px 200px;
}	
	
#service .service_block h3 {
font-size: 24px;
}

#service .service_block p {
font-size: 16px;
}

#business .cnt .col_l h3 {
font-size: 24px;
}

#business .cnt .col_l p {
font-size: 16px;
}

#app .cnt h3 {
font-size: 24px;
}

#app .cnt p {
font-size: 16px;
}

#contact .h2_style {
font-size: 64px;
}

#contact p {
font-size: 16px;
}

#contact .tel {
font-size: 30px;
}
	
.footer_cnt .address {
margin-right:0;
}

.footer_cnt .sitemap {
margin-right: 0;
}

.footer_cnt .sitemap li {
font-size: 14px;
}

.footer_cnt .site{
margin-top: 0;
width:495px;
}
}

@media screen and (max-width: 1100px) {
.global-nav-list>li .global-nav-name {
font-size: 12px;
    }
	
#global-nav .menu li#menu-item-133 a {
padding: 10px 5px;
}
	

#global-nav .menu li#menu-item-327 a {
padding: 10px 5px;
}
	
#global-nav .menu li#menu-item-134 a {
 padding: 10px 5px;
}
}
	
@media screen and (max-width: 991px) {
#site-header-container {
    padding: 5px 0;
}

.admin-bar .tel_area{
top:40px;
}

.tel_area{
top:10px;
}
	
#gnav{
display: none;
}
	
.main-section {
margin-bottom: 0;
    }
	
.h2_style p {
	margin-top:0;
	}
	
#service{
background: url("../img/top_service.jpg") left top no-repeat;
background-size: auto 100%;
margin-bottom:50px;
}

#service .cnt{
height: 68vw;
	}

#mission p.lead{
	font-size:16px;
	}
	
#app{
margin-top:50px;
	}

#app .cnt {
height:320px;
}
	
.footer_cnt .address {
margin-right: 40px;
}

.footer_cnt .sitemap {
    margin-right: 20px;
}

.footer_cnt .sitemap li {
font-size: 14px;
}

.footer_cnt .site{
margin-top: 0;
margin-bottom:0;
}
	
.footer_cnt .site .flex_wrap_end{
margin-bottom:20px;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: flex-start;
justify-content: flex-start;
	}
	
.footer_cnt .site li {
margin-left: 0;
margin-right:10px;
}

.footer_cnt .site li.shop a {
padding: 10px;
font-size:14px;
}

.footer_cnt .site li.hiroba a {
 padding: 10px;
 font-size:14px;
}
	
.footer_cnt .sdgs_act {
position: relative;
bottom:0;
margin:0 0 20px;
}

	}
	
@media screen and (max-width: 782px) {
.sp{
display: block;
}

.pc{
display: none;
}
	
.admin-bar .tel_area{
top:54px;
}

.mv_text {
    bottom: 0;
	}

.top_lead::before{
	left: 0;
	right: 0%;
}

.top_lead p{
font-size:14px;
}
	
#mission p.lead{
text-align:left;
font-size:14px;
	}
	
#service {
background-image: url("../img/top_service.jpg");
background-size: auto 100%;
margin-bottom:0;
}

#service .cnt {
height: 100vw;
padding:20px 0 0 ;
}

.service_block{
padding: 20px 20px 50px;
border-bottom:1px solid #dddddd;
}	

.service_block .more{
text-align:left;
	}

#business .cnt {
padding: 0 0 20px;
}

#business .cnt .col_l {
width: 100%;
margin-bottom: 20px;
}

#business .cnt .col_l h3 {
margin: 40px 0 20px;
    }

#business .cnt .col_r {
width: 100%;
}
	
#app{
background: url("../img/top_app_sp.jpg") center bottom no-repeat;
background-size: 100% auto;
padding-bottom:50vw;
border-top:1px solid #dddddd;
}

#app .cnt {
position: relative;
padding:0;
height: auto;
}

#app .cnt .app_block{
position: relative;
bottom:0;
right: auto;
}

#app .cnt h3{
font-size:24px;
color:#000000;
text-shadow:none;
}

#app .cnt  p{
text-shadow:none;
color:#000000;
line-height:1.8;
}
	
#app .more{
margin:0;
	}	

#app .more a{
color:#000000;
}

#app .more span{
background: url("../img/arrow_b.png") right center no-repeat;
}

#app .cnt .app_block {
top:40px;
bottom: 0;
}

#app .cnt p {
text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.9);
}

.footer_cnt .address{
width:100%;
}
	
.footer_cnt .sitemap {
display: none
    }
	
.footer_cnt .site {
display:none
    }

}

@media screen and (max-width: 580px) {
.mv_text {
display:none;
	}
	
.sp_ttl{
display:block;
font-size:20px;
font-weight:bold;
line-height:1.5;
border-top:none !important;
border-bottom:1px solid #000000;
margin-bottom:20px;
padding-bottom:10px;
	}
	
.top_lead{
padding:0 0 20px;
	}
	
.top_lead::before{
width:140%;
left:-20%;
	}
	
.top_lead p {
padding:0 3%;
text-align:left;
	}
	
.tel_area{
left:165px;
font-size: 11px;
}

.tel_area  p{
font-size:16px;
}

.tel_area  span{
padding: 1px 5px;
font-size:10px;
}

.h2_style {
font-size: 32px;
margin-bottom: 20px;
    }
	
.home h3 {
font-size: 22px;
    }
	
.more {
margin:0;
}
	
#business .cnt .col_l p {
margin-bottom:20px;
    }

#app{
padding-bottom:55vw;
}

#app .cnt .app_block {
top: 20px;
    }

#other h2.h2_style{
font-size:20px;
margin: 20px 0;
}

 #contact {
padding: 20px 0;
    }

#contact .h2_style {
font-size: 32px;
    }
	
#contact .tel {
font-size: 24px;
width: 100%;
    }
	
#contact .contact_btn {
margin-top: 20px;
    padding-left: 0;
}

footer {
    padding: 25px 0 0;
}

.footer_cnt .sns {
    margin: 20px 0;
}


	
.footer_cnt .site li {
    margin-left: 0;
	margin-right: 10px;
}
	
.footer_cnt .sdgs_act {
    position: relative;
	margin: 0 auto;
    bottom: 0;
    width: 100%;
	margin-bottom: 20px
}

.footer_cnt .sdgs .balloon{
font-size:12px;
}

.footer_cnt .sdgs .flex p {
    width: 100%;
	font-size: 12px;
	margin: 10px 0 0;
}

    }
