@charset "UTF-8";

/* -----------------------------------------------
FileName: layout.css
----------------------------------------------- */



 /* basic -------------------------------------------*/


.container {
	position:relative;
	clear:both;
	margin: 0 auto;
	max-width: 100%;
	padding: 40px 0;
	background-color: rgba(255,255,255,1);
}
.single-function .container {
	padding: 40px 0 0;
}
.request .container {
	padding: 30px 0 0;
}

.container.x2 {
    background-color: rgba(242,242,242,1);
}
/* コメントアウト 2023.10.10 hirabayashi
.container.x3 {
    border-top: 1px solid rgba(221,221,221,1);
}
*/

.container.x4 {
    background-color: rgba(251,251,251,1);
}

.container.x5 {
    background-color: rgba(244,244,244,1);
}

.container.cv {
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(47,47,47,1) 50%, rgba(47,47,47,1) 100%);
    padding: 0 0;
}

.container.cv.x2 {
    background: linear-gradient(180deg, rgba(242,242,242,1) 0%, rgba(242,242,242,1) 50%, rgba(47,47,47,1) 50%, rgba(47,47,47,1) 100%);
}

.container.cv.x3 {
    background: linear-gradient(180deg, rgba(221,221,221,1) 0%, rgba(221,221,221,1) 50%, rgba(47,47,47,1) 50%, rgba(47,47,47,1) 100%);
}


.container.solution {
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(242,242,242,1) 50%, rgba(242,242,242,1) 100%);
    padding: 0 0;
}

.company .container.solution {
    padding: 0 0 50px 0;
}

.container.product-vision {
    background-image: url("../../images/company/key.webp");
    background-size: cover;
    color: #fff;
    padding:55px 0 75px 0;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: bottom center;
}


.container.lp-cv {
    background-color: rgba(6,199,85,1);
    color: #fff;
    position: relative;
}

.instagram .container.lp-cv {background: linear-gradient(to right, #ed0018, #bf00a2);}
.google .container.lp-cv {background-color: rgba(66,133,244,1);}
.astaff .container.lp-cv {background-color: rgba(72,187,177,1);}
.bms .container.lp-cv {background-color: rgba(203,82,140,1);}
.rv-pos .container.lp-cv {background-color: rgba(56,188,223,1);}

.container.lp-cv::before {
  content: "";
  position: absolute;
  top: 0%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #fff;
}

.container.lp-cv.c2::before {
  border-top: 15px solid #f2f2f2;
}
.container.lp-cv.c3::before {
  border-top: 15px solid #f4f4f4;
}

.contents {
	clear:both;
	position:relative;
	width:1100px;
	margin: 0 auto;
	max-width: 90%;
	z-index:40;
}


.contents.w100 {
	width:100%;
}

.request .contents {
/* 	width:720px; */
	width: 640px;
}



/* header ------------------------------------------*/

header.cv-head {
    padding: 15px 0;
    text-align: center;
}
.request header.cv-head {
    padding: 0 0 8px;
    text-align: left;
    border-bottom: 1px solid #e6e6e6;
}
.request header.cv-head #logo {
    width: 90%;
    margin: 0 auto;
	max-width: 1280px;
}

header.head {
    top: 30px;
    display:block;
    background-color: rgba(255,255,255,1);
    /* background:#ccc; */
    height:60px;
    position:fixed;
    z-index:80;
    width: 100%;
    box-sizing:border-box;
}

header.head.ads {
    top: 0;
}

main {
	display:block;
    
}


.request #main {
	padding: 0;
}

#main {
	padding:90px 0 0;
}

#main.ads {
    padding: 60px 0 0;
}

/* footer ------------------------------------------*/

footer.cv-foot {
    padding: 40px 0;
    text-align: center;
    font-size: 11px;
    width: 100%;
} 

footer.foot #footerNavi {
	background-color: rgba(47,47,47,1);
	margin: 0 auto;
	max-width: 100%;
	position:relative;
	color: #fff;
	padding:60px 0;
}

footer.foot a {
    color: #fff;
}

footer.foot .footer {
	box-sizing:border-box;
	width:1100px;
	margin:auto;
	max-width: 90%;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

footer.foot #copyRight {
    color: #fff;
    padding: 10px 0;
    background-color: rgba(66,66,66,1);
}

footer.foot #copyRight a {
    color: #fff;
}



#splitCol {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#mainCol {
	width:720px;
	/* margin:0 auto 0 auto; */
}

#mainCol.x2 {
    width: 720px;
}

#mainCol.w860,
#sideCol.w860 {
    width: 860px;
    padding: 20px 30px;
    background-color: rgba(255,255,255,1);
    border-radius: 10px 0 10px 0;
    margin: 0 auto;
}

.mainCol.w860 {
    width: 860px;
    padding: 0 30px;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
.mainCol.w860 {
    width: 100%;
	padding: 0;
}	
}

#sideCol {
	width:340px;
	margin:0 0 0 0;
	position:relative;
}

#sideCol.x2 {
    margin: 30px 0 0 0;
    width: 340px;
}