@charset "UTF-8";
/* CSS Document */

body{
padding-top: 0;
}
#header{
position: absolute;
top: 0;
left: 0;
z-index: 9500;
}
/* 中身-モバイルファースト======================================================================================================== */

#main{
position: relative;
}
#main .text{
text-align: left;
padding: 0 5vw;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
margin: auto;
z-index: 10;
}
#main .text h1{
display: none;
}
#main .text p{
color: #fff;
font-size: 4vw;
margin-bottom: 3vh;
text-shadow:0px 0px 20px #000, 0px 0px 20px #000;
}
#main .text .logo{
margin-bottom: 3vh;
}
#main .text .logo img{
filter: drop-shadow(0px 0px 20px #fff);
}
#main .text em{
display: block;
color: #fff;
font-size: 6vw;
letter-spacing: .25em;
text-shadow:0px 0px 20px #000, 0px 0px 20px #000;
}
#main .flexslider img{
height: 100vh;
object-fit: cover;
/* object-position: 100% 100%; */
object-position: center center;
}
#main .scroll{
position: absolute;
bottom: 0;
right: 5vw;
z-index: 500;
}
#main .scroll a{
display: block;
white-space: nowrap;
width: 30px;
padding-top: 2vh;
padding-bottom: 10vh;
text-decoration: none;
background-color: #fff;
border-radius: 15px 15px 0 0;
}
#main .scroll a span{
display: block;
font-size: 10px;
line-height: 30px;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
#main .scroll a::before{
content: "";
display: block;
background-color: #111;
width: 1px;
height: 8vh;
position: absolute;
bottom: 1vh;
left: 50%;
}
#main .scroll a::after{
content: "";
display: block;
background-color: #111;
width: 1px;
height: 5px;
margin-left: 1.8px;
position: absolute;
bottom: 1vh;
left: 50%;
-webkit-transform: rotate(30deg);
transform: rotate(30deg);
}


#topics{
display: flex;
align-items: center;
}
#topics .title{
}
#topics .title em{
display: block;
font-size: 30px;
line-height: 1.2;
}
#topics .title h2{
letter-spacing: .25em;
}
#topics_inner{
flex: 1;
margin-left: 20px;
height: 150px;
overflow: hidden;
}
#topics_inner ul{
height: 150px;
overflow: auto;
}
#topics_inner ul li{
font-size: 12px;
margin-bottom: 20px;
}
#topics_inner ul li em{
display: block;
font-weight: bold;
}


.bg_contents{
background-image: url(../images/bg.jpg);
background-image: -webkit-image-set(url(../images/bg.jpg) 1x, url(../images/bg@2x.jpg) 2x);
background-repeat: repeat;
background-position: center top;
position: relative;
padding-bottom: 60px;
}
#business{
}
#business .contents_size{
position: relative;
z-index: 20;
}
#business .text{
padding-top: 60vw;
position: relative;
z-index: 30;
}
#business .text h3{
font-size: 10vw;
line-height: 1.2;
margin-bottom: 20px;
}
#business .bom{
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
#business .bom li{
display: flex;
align-items: center;
justify-content: center;
color: #fff;
background-color: #6e747d;
width: 26vw;
height: 26vw;
border-radius: 50%;
text-align: center;
}
#business #business_title_copy{
color: #fff;
font-size: 16vw;
line-height: 1;
position: absolute;
top: -12vw;
left: 0;
z-index: 20;
}
#business .photo{
width: 80%;
position: absolute;
top: -20px;
right: 0;
z-index: 10;
}


#search .common_title{
margin-bottom: 0;
}


#other li{
margin-bottom: 5px;
}
#other li:last-child{
margin-bottom: 0;
}
#other li a{
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
color: #fff;
padding: 10vw 5vw;
text-align: center;
}
#other li.project a{
background-image: url(../images/project_bg.jpg);
background-image: -webkit-image-set(url(../images/project_bg.jpg) 1x, url(../images/project_bg@2x.jpg) 2x);
}
#other li.company a{
background-image: url(../images/company_bg.jpg);
background-image: -webkit-image-set(url(../images/company_bg.jpg) 1x, url(../images/company_bg@2x.jpg) 2x);
}
#other li.contact a{
background-image: url(../images/contact_bg.jpg);
background-image: -webkit-image-set(url(../images/contact_bg.jpg) 1x, url(../images/contact_bg@2x.jpg) 2x);
}
#other li .title{
width: 80%;
padding: 5vw;
border: solid 2px #fff;
}
#other li .title em{
font-size: 6vw;
}
#other li .title h3{
letter-spacing: .25em;
padding-left: 0.25em;
}



#group .common_title em{
font-size: 6vw;
}
#group li{
margin-bottom: 10px;
}
#group li:last-child{
margin-bottom: 0;
}
#group li a{
display: block;
text-align: center;
height: 60px;
border: solid 1px #ddd;
position: relative;
}
#group li a > *{
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit-transform: translateY(-50%) translateX(-50%);
margin: auto;
}


/* PCのみ======================================================================================================== */
@media print, screen and (min-width: 751px){


#main .text{
padding: 0 3vw;
transform: none;
-webkit-transform: none;
top: 20vh;
}
#main .text p{
font-size: 2vh;
margin-bottom: 3vh;
letter-spacing: .5em;
}
#main .text .logo{
margin-bottom: 3vh;
}
#main .text .logo img{
height: 7vh;
}
#main .text em{
font-size: 3vh;
}


#topics .title em{
font-size: 40px;
}
#topics_inner{
margin-left: 60px;
height: 200px;
}
#topics_inner ul{
height: 200px;
}
#topics_inner ul li{
font-size: 16px;
}


.bg_contents{
padding-bottom: 150px;
}

#business{
padding-top: 100px;
}
#business .contents_size{
width: auto;
margin: 0;
}
#business .text{
padding: 0 0 0 10%;
}
#business .text .common_title{
width: 40%;
}
#business .text h3{
font-size: 4vw;
margin-bottom: 40px;
}
#business .bom{
width: 48%;
}
#business .bom li{
width: 12vw;
height: 12vw;
font-size: 1.6vw;
line-height: 1.4;
}
#business .text .inner{
/* width: 480px; */
}
#business #business_title_copy{
font-size: 9vw;
line-height: .8;
top: -6vw;
}
#business .photo{
width: 50%;
position: absolute;
top: -60px;
}
#business .photo img{
width: 100%;
}



#other ul{
display: flex;
justify-content: space-between;
}
#other li{
margin-bottom: 0;
width: 33%;
}
#other li a{
padding: 120px 0;
}
#other li .title{
width: 50%;
padding: 20px;
}
#other li .title em{
/* font-size: 30px; */
font-size: min(2.5vw,30px);
}
#other li .title h3{
font-size: min(1vw,16px);
letter-spacing: .5em;
padding-left: 0.5em;
}


#group .common_title em{
font-size: 24px;
}
#group ul{
display: flex;
justify-content: space-between;
}
#group li{
width: 240px;
margin-bottom: 0px;
}
#group li a{
height: 80px;
}





}

