/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
font-size:13px;
line-height:1.75;
font-feature-settings:'palt';
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }

/*------------------------------------------------------------
	HEADER
------------------------------------------------------------*/
header{
width:100%;
height:6.41vw;
position:absolute;
top:0;
left:0;
padding:5.13vw 3.85vw;
align-items:center;
box-sizing:border-box;
z-index:10;
}


.head-logo{
display:flex;
justify-content:space-between;
width:75.64vw;
align-items:center;
}

.bc-mark{
width:11.28vw;
}
.bcd-mark{
width:58.97vw;
}



/*------------------------------------------------------------
DRAWER MENU
------------------------------------------------------------*/
#menuBtn{
position:fixed;
right:3.85vw;
top:6.03vw;
width:30px;
height:21px;
cursor:pointer;
z-index:9999;
}
#menuBtn span{
display:block;
position:absolute;
height:3px;
width:100%;
background:#fff;
left:0;
transition:all 0.1s ease-in-out;
}
#menuBtn.orange span {
  background-color: #ef8200; /* index1到達後の色 */
}

#menuBtn span:nth-child(1){
top:0;
}
#menuBtn span:nth-child(2){
top:9px;
}
#menuBtn span:nth-child(3){
top:18px;
}

.active#menuBtn span:nth-child(1){
background:#fff;
top:9px;
transform:rotate(40deg);
}
.active#menuBtn span:nth-child(2){
width:0;
left:50%;
}

.active#menuBtn span:nth-child(3){
background:#fff;
top:9px;
transform:rotate(-40deg);
}

#menuBox{
width:100%;
background:rgba(239, 130, 0, .95);
height:100dvh;
position:fixed;
top:0;
left:0;
box-sizing:border-box;
z-index:9998;
opacity: 0;
pointer-events: none;
transition: opacity .4s ease;
}

#menuBox.active{
pointer-events: auto;
opacity:1;
}

.spmenu-wrap{
height:100dvh;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
}


.spmenu{
width:70vw;
margin:0 auto;
}
.spmenu li a{
display:block;
padding:3vw 0;
}


.spmenu li:nth-child(1) a{ width:23.13vw; }
.spmenu li:nth-child(2) a{ width:21.25vw; }
.spmenu li:nth-child(3) a{ width:17.50vw; }
.spmenu li:nth-child(4) a{ width:16.56vw; }
.spmenu li:nth-child(5) a{ width:22.50vw; }


/*------------------------------------------------------------
CONTENT
------------------------------------------------------------*/

#kv{
max-width:100.00vw;
height:76.92vw;
background:url(img/kv-sp.jpg) no-repeat center top;
background-size:cover;
margin:0 auto;
position:relative;
}

.kv-copy{
width:46.67vw;
height:9.74vw;
position:absolute;
top:50%;
left:3.85vw;
margin-top:-4.87vw;
}


#index1{
padding:11.79vw 0 13.85vw;
}
.i1-ttl{
width:15.13vw;
margin:0 auto 7.44vw;
}

.i1-copy{
font-size:4.62vw;
line-height:8.21vw;
text-align:center;
letter-spacing:.09em;
margin:0 0 5.13vw;
font-weight:bold;
}

.i1-lead{
width:92.31vw;
margin:0 auto;
text-align:justify;
font-size:3.08vw;
line-height:6.92vw;
letter-spacing:.06em;
}



#index2{
padding:0 0 12.5vw;
}

.scr-d{
margin-bottom:15.64vw;
}


.svc-cont01{
padding:2.56vw 0 25.64vw;
background:linear-gradient(to bottom, #fef9f2 90%, transparent 100%);
}

.i2-ttl{
width:13.59vw;
margin:0 auto 13.08vw;
}

.i2-copy{
font-size:6.92vw;
line-height:9.74vw;
letter-spacing:.09em;
font-weight:bold;
margin-bottom:2.56vw;
text-align:center;
}
.i2-copy-sub{
text-align:center;
font-size:4.87vw;
line-height:9.74vw;
font-weight:bold;
letter-spacing:.1em;
}


.bcd-svc{
width:82.56vw;
height:82.56vw;
margin:40vw auto 0;
position:relative;
}

.bal01,
.bal02,
.bal03,
.bal04{
width:31.79vw;
height:31.79vw;
position:absolute;
}

.svc-txt{
width:69.23vw;
height:17.44vw;
position:absolute;
top:50%;
left:50%;
margin-top:-8.72vw;
margin-left:-34.62vw;
}


.bal01{ top:-5.13vw; left:-5.13vw; }
.bal02{ top:-5.13vw; right:-5.13vw; }
.bal03{ bottom:-5.13vw; left:-5.13vw; }
.bal04{ bottom:-5.13vw; right:-5.13vw; }



.svc-cont02{
padding:0 0 0;
}

.svc-copy{
width:85.90vw;
margin:0 auto 5.13vw;
}
.svc-desc{
width:92.31vw;
margin:0 auto 7.69vw;
font-size:3.08vw;
line-height:6.92vw;
letter-spacing:.065em;
}

.flow{
width:92.31vw;
margin:0 auto;
display:flex;
flex-wrap:wrap;
gap:15vw 0;
justify-content:flex-end;
}

.flow01{
width:92.31vw;
}
.flow02{
width:92.31vw;
}



#index3 {
padding:12.5vw 0;
  position: relative;
  height: auto;
}
.ttl-works{
width:11.03vw;
height:2.56vw;
margin:0 auto 12.82vw;
}

.works{
width:92.31vw;
margin:0 auto;
}

.works dt.odd{
background:linear-gradient(to right, #a0a0a0 0%, #e6e6e6 100%);
color:#fff;
font-size:3.59vw;
line-height:5.13vw;
height:7.69vw;
padding:1.28vw 5.13vw;
position:relative;
}
.works dt.even{
background:linear-gradient(to left, #a0a0a0 0%, #e6e6e6 100%);
color:#fff;
font-size:3.59vw;
line-height:5.13vw;
height:7.69vw;
padding:1.28vw 5.13vw;
position:relative;
}
.works dt::before{
content:'';
width:.5vw;
height:3vw;
background:#fff;
position:absolute;
right:4.25vw;
top:2.25vw;
transition:all .2s;
}

.works dt::after{
content:'';
width:3vw;
height:.5vw;
background:#fff;
position:absolute;
right:3vw;
top:3.5vw;
transition:all .2s;
}
.works dt.open::before{
transform:rotate(90deg);
}
.works dt.open::after{
transform:rotate(90deg);
opacity:0;
}




.works dd {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.4s ease;
  opacity: 0;
  margin: 0;
}

.works dd.active {
  max-height: 1000px; /* 充分大きい値を指定 */
  opacity: 1;
}


#index4{
padding:25vw 0 14.62vw;
background:linear-gradient(to top, #fff 75%, transparent 100%);
position:relative;
z-index:30;
}
.i4-wrap{
width:92.31vw;
margin:0 auto;
}
.i4L{
font-family:'Zen Kaku Gothic New';
margin-bottom:3.85vw;
}

.i4-ttl{
width:14.08vw;
height:2.22vw;
margin:0 0 16.67vw;
}
.bcd-logo-bk{
width:66.38vw;
margin:0 0 5.49vw;
}
.add{
font-size:2.82vw;
line-height:3.33vw;
letter-spacing:.03em;
margin:0 0 4.87vw;
}

.route li{
padding-left:1.2em;
position:relative;
font-size:2.56vw;
line-height:5.13vw;
letter-spacing:0.025em;
}
.route li::before{
content:'＊';
position:absolute;
top:0;
left:0;
}


.i4R{
width:92.31vw;
height:58.97vw;
border-radius:4.10vw;
overflow:hidden;
}

.ggmap iframe{
filter: grayscale(1);
}


.backbtn a{
margin:0 auto;
width:6vw;
height:6vw;
border-right:2px solid #ccc;
border-bottom:2px solid #ccc;
transform:rotate(-135deg);
position:absolute;
left:50%;
bottom:2vw;
margin-left:-3vw;
}



/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/

footer{
background:#ef8200;
width:100%;
margin:0 auto;
padding:10.77vw 0 6.41vw;
font-family: "Zen Kaku Gothic New", sans-serif;
color:#fff;
position:relative;
z-index:30;
font-weight:normal;
}

.footer-contact{
width:92.31vw;
margin:0 auto 13.85vw;
}
.ttl-contact{
width:11.79vw;
height:1.79vw;
margin:0 0 9.74vw;
}
.f-email{
font-size:7.69vw;
line-height:10.26vw;
}



.f-info-wrap{
}

.f-info{
width:92.31vw;
letter-spacing:0.025em;
}

.f-info-ttl{
width:100%;
}

.ttl-com{
width:13.59vw;
height:2.31vw;
margin:0 0 6.15vw;
}

.f-com-ja{
font-size:3.33vw;
line-height:4.36vw;
margin-bottom:11.54vw;
}
.f-com-en{
font-size:3.33vw;
line-height:4.36vw;
}


.footer-inner{
width:92.31vw;
margin:0 auto;
position:relative;
}


.com-name{
margin:0 0 5.13vw;
}

.f-add{
margin:0 0 5.13vw;
}

.f-logo{
width:27.18vw;
height:15.64vw;
position:absolute;
bottom:0;
right:0;
z-index:10;
}
