@charset "utf-8";

@import "compass/reset";
@import "setting";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

// template css

// PC

#lp_wrapper{
    @include dff;
	position: relative;
	z-index: 1;
    max-width: 100%;
    overflow: visible;
    @include fs(20,46);
    font-weight: 600;

	img{
		max-width: 100%;
		height: auto;
	}

    .container{
        width: 90%;
        max-width: 900px;
        margin: auto;
    }
    
    #contactBtn,#lp_nav{
        a{
            text-indent: -9999px;
            overflow: hidden;
            background: center center no-repeat;
            background-size: contain;
        }
    }
    
    #contactBtn{
        position: -webkit-sticky;
        position: sticky;
        right: 0;
        z-index: 99;
        line-height: 0;
        -webkit-backface-visibility:hidden;
        backface-visibility:hidden;
        transform: translate3d(0,0,0);
      
        width: 19.5%;
        max-width: 184px;
        height: auto;
        aspect-ratio: 15 / 4;
        margin-left: auto;
        margin-right: 3vw;
        top: 0;
        padding-top: 2.5vw;
        
        @media (min-width: 1000px) {
            margin-right: calc(50% - 470px);
            padding-top: 25px;
        }
        
        a{
            display: block;
            width: 100%; height: 100%;
            background-image: url("../images/nav6_.svg");
            
            &:hover{
                background-image: url("../images/nav6.svg");
            }
        }
    }
}

#lp_header{
    position: relative;
    text-align: center;
    line-height: 0;
    width: 100%;
    max-width: 1000px;
    padding: 0;
    overflow: visible;
	margin: -7.5vw auto 0;

	@media (min-width: 1000px) {
		margin-top: -75px;
	}
    
    figure{
        width: 145%;
        height: auto;
        aspect-ratio: 29 / 11;
        overflow: visible;
        position: relative;
        margin: 0 -22.5%;
        
        img{
            height: 100%; width: 100%;
        }
    }
	
	#lp_hero{
		display: flex;
		justify-content: space-between;
		width: 94%;
		max-width: 940px;
		position: absolute;
		top: 24.5vw; left: 0; right: 0; margin: auto;
		@include fs(10);
		line-height: 0;
        
        @media (min-width: 1000px) {
			top: 250px;
        }
		
		.box{
			flex-basis: 32%;
			@include box-sizing;
			border: solid .5em #36bdef;
			border-radius: 2em;
			overflow: hidden;
			position: relative;
			text-align: left;
			
			h3{
				position: absolute;
				z-index: 1;
				top: 0; left: 0;
				background-color: #36bdef;
				height: 3.8em;
				padding: .1em 1em .6em .5em;
				border-radius: 0 0 2em 0;
				
				img{
					height: 100%;
					width: auto;
				}
			}
			
			ul{
				display: flex;
				width: 10000px;
				
				li{
					flex-basis: 29em;
					height: 18em;
					
					img{
						width: 100%;
						height: 100%;
						object-fit: cover;
						object-position: center center;
					}
				}
			}
		}
	}
    
    
    #lp_nav{
		position: absolute;
        width: 94%;
        max-width: 940px;
        margin: 37vw auto 2.5vw;
        display: flex;
        justify-content: space-between;
		bottom: 0; left: 0; right: 0;
        
        @media (min-width: 1000px) {
            margin: 370px auto 25px;
        }
        
        li{
            flex-basis: 19.15%;
            height: auto;
            aspect-ratio: 18 / 7;
            
            a{
                display: block;
                width: 100%; height: 100%;
                @include border-radius(2vw);
                @include box-shadow(.5vw .5vw .3vw rgba(#000,.5));

                @media (min-width: 1000px) {
                    @include border-radius(20px);
                    @include box-shadow(5px 5px 3px rgba(#000,.5));
                    @include tr;
                }
            }
            
            &:nth-child(1){
                a{
                    background-image: url("../images/nav1_.svg");
                }
                a:hover{
                    background-image: url("../images/nav1.svg");
                }
            }
            
            &:nth-child(2){
                a{
                    background-image: url("../images/nav2_.svg");
                }
                a:hover{
                    background-image: url("../images/nav2.svg");
                }
            }
            
            &:nth-child(3){
                a{
                    background-image: url("../images/nav3_.svg");
                }
                a:hover{
                    background-image: url("../images/nav3.svg");
                }
            }
            
            &:nth-child(4){
                a{
                    background-image: url("../images/nav4_.svg");
                }
                a:hover{
                    background-image: url("../images/nav4.svg");
                }
            }
            
            &:nth-child(5){
                a{
                    background-image: url("../images/nav5_.svg");
                }
                a:hover{
                    background-image: url("../images/nav5.svg");
                }
            }
        }
        
        
        
    }
}

@media (max-width: 999.9px) {

#lp_header{
    width: 100%;
    overflow: hidden;
    
    figure{
        width: 100%;
        height: auto;
        aspect-ratio: 20 / 11;
        overflow: hidden;
        position: relative;
        margin: 0;
        
        img{
            height: 100%; width: 100%;
            object-fit: cover;
            object-position: center center;
        }
    }
    
}
}

#lp_content{
	width: 100%;
	font-feature-settings: "palt";

    img{
        max-width: 100%; height: auto;
    }
    
    a{
        @include tr;
        
        &:hover{
            opacity: .75;
        }
    }
	
	section{
        padding: 6% 0;
        
        @media (min-width: 1000px) {
            padding: 60px 0;
        }
        
        &.dot{
            background: url("../images/dot.webp") center center repeat;
            background-size: 14px;
        }
	}
	
	h2{
		@include fs(40,40,0);
		margin: 0 auto 1em;
        text-align: center;
		text-shadow: .1em .1em 0 #fff;
		font-weight: 900;
		
		&+p{
			margin-top: -1em;
		}
	}
}

#lp_intro{
	h2{ color: #0086ff;}
    h2+p{
        text-align: center;
    }
    
    .d-flex{
        align-items: stretch;
    }
    
    .box{
        flex-basis: 31.8%;
        @include box-sizing;
        border: solid 3px #fff;
        border-radius: 1.7vw;
        margin: 3.8% 0 5%;
        position: relative;
        overflow: hidden;
        padding-bottom: 7.2%;
        background-color: #0086ff;
        color: #fff;

        @media (min-width: 1000px) {
            border-radius: 17px;
        }
        
        h3{
            line-height: 0;
            background-color: #fff;
        }
        
        figure{
            line-height: 0;
        }
        
        p{
            @include fs(15,28,.025);
            padding: .8em 1.6em;
            text-align: justify;
        }
        
        a{
            position: absolute;
            background-color: #036;
            bottom: 0;left: 0; right: 0; margin: auto;
            line-height: 0;
            padding: 5% 0;
            text-align: center;
            
            img{
                width: 59%; height: auto;
            }
        }
    }
}

#lp_point{
	h2{ color: #e3007f;}
    .box{
        border: solid 3px #e3007f;
        border-radius: 3vw;
        margin: 3% auto;
        padding: 1.5% 0;

        @media (min-width: 1000px) {
            border-radius: 30px;
        }
        
        dl{
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 3.6% 0;
            
            dt{
                flex-basis: 24.4%;
                background-color: #e3007f;
                @include box-sizing;
                padding: 2.5vw 4vw;
                text-align: right;
                border-radius: 0 4.5vw 4.5vw 0;
                line-height: 0;

                @media (min-width: 1000px) {
                    border-radius: 0 45px 45px 0;
                    padding: 25px 40px;
                }
                
                img{
                    height: 4vw; width: auto;

                    @media (min-width: 1000px) {
                        height: 40px;
                    }
                }
            }
            
            dd{
                flex-basis: 73.6%;
                @include fs(15,30);
            }
        }
    }
}

#lp_produce{
	h2{ color: #8232a0;}
    h2+p{
        text-align: center;
    }
    
    .box{
        border: solid 3px #8232a0;
        background-color: #e6e6e6;
        border-radius: 3vw;
        margin: 3% auto;

        @media (min-width: 1000px) {
            border-radius: 30px;
        }
        
        table{
            width: 90%;
            margin: 5%;
            
            th,td{
                padding-bottom: 4.5vw;

                @media (min-width: 1000px) {
                    padding-bottom: 45px;
                }
            }
            
            th{
                width: 10%;
                vertical-align: top;
                position: relative;
                line-height: 0;
                
                img{
                    position: relative;
                    z-index: 1;
                }
                
                &:after{
                    content: "";
                    position: absolute;
                    width: 2px; height: 100%;
                    background-color: #fff;
                    bottom: 0; left: 0; right: 0; margin: auto;
                    z-index: 0;
                }
            }
            
            tr:last-child{
                th,td{padding-bottom: 0; &:after{display: none;}}
            }
            
            td{
                width: 84%;
                padding-left: 6%;
                vertical-align: middle;
                
                dl{
                    dt{
                        color: #8232a0;
                        font-weight: 900;
                        @include fs(30,30);
                    }
                    
                    dd{
                        @include fs(15,20);
                        margin-top: .5em;
                    }
                }
            }
        }
    }
}

#lp_recommend{
	h2{ color: #64c832;}
    
    ul{
        border: solid 3px #64c832;
        border-radius: 3vw;
        margin: 3% auto;
        text-align: center;
        @include fs(20,60);
        overflow: hidden;

        @media (min-width: 1000px) {
            border-radius: 30px;
        }
        
        li{
            &:nth-child(odd){background-color: #e6e6e6;}
        }
    }
    
}

#lp_solution{
	h2{ color: #fa7800;}
    h3{
        @include fs(50,52);
        font-weight: 600;
        margin-bottom: .6em;
        
        span{
            display: inline-block;
            @include fs(25,60);
            color: #fff;
            background-color: #fa7800;
            border: solid 3px #fff;
            border-radius: .8em;
            vertical-align: .2em;
            margin-right: 1em;
            width: auto;
			padding: 0 1em;
			min-width: 5em;
            text-align: center;
        }
    }
	
	dl.extitle{
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		font-weight: 600;
		@include fs(50,60);
		margin-bottom: .6em;
		
		dt{
			flex-basis: 5em;
            @include fs(25,1);
            color: #fff;
            background-color: #fa7800;
            border: solid 3px #fff;
            border-radius: .8em;
            vertical-align: .2em;
            margin-right: 1em;
			padding: 0 1em;
            text-align: center;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
		
		dd{
			span{
				display: block;
				@include fs(30,40);
			}
			strong{
				display: block;
			}
		}
	}
	
	hr.spacer{
		border: none;
		width: 100%;
		margin-top: 6.7%;
	}
    
    .d-flex{
        align-items: center;
    }
    
    .img{
        line-height: 0;
        flex-basis: 50%;
        @include fs(10);
        
        figure{
            width: 100%; height: auto;
            aspect-ratio: 4 / 3;
            position: relative;
            border-radius: 2em;
            overflow: hidden;
            box-shadow: .7em .7em .5em rgba(#000,.3);
            
            .slide{
                position: relative;
                width: 100%; height: 100%;
                z-index: 1;
                
                li{
                    position: absolute;
                    width: 100%; height: 100%;
                    top: 0; left: 0;
                    
                    img{
                        width: 100%; height: 100%;
                        object-fit: cover;
                        object-position: center center;
                    }
                }
            }
            
            a{
                display: block;
                width: 100%;
                position: absolute;
                z-index: 2;
                bottom: 0; left: 0;
                text-align: center;
                padding: 3.3% 0;
                background-color: rgba(#000,.6);
                
                img{
                    width: 36.4%; height: auto;
                }
            }
        }
        
        ul.thumb{
            display: flex;
            justify-content: space-between;
            margin: 3.5% auto;
            
            li{
                flex-basis: 30.6%;
                height: auto;
                aspect-ratio: 16 / 9;
                border-radius: 1em;
                overflow: hidden;
                box-shadow: .7em .7em .5em rgba(#000,.3);
                cursor: pointer;
                
                img{
                    width: 100%; height: 100%;
                    object-fit: cover;
                    object-position: center center;
                }
            }
        }
    }
    
    .txt{
        flex-basis: 45%;
        
        dl{
            @include fs(15,24);
            
            dt{
                &:before{
                    content: "■";
                }
            }
            
            dd{
                padding-left: 1em;
            }
        }
    }
    
    dl.voice{
        @include fs(25,60);
        border: solid 3px #fff;
        border-radius: .8em;
        background-color: #fa7800;
        color: #fff;
        margin-top: 4%;
        
        dt{
            text-align: center;
            font-weight: 900;
            @include tr;
            cursor: pointer;
            
            &:before{
                content: "▼　";
            }
            
            &:after{
                content: "　▼";
            }
        }
        
        dd{
            @include fs(18,36);
            width: 90%; margin: 5%;
			
			.section{
				
				&+.section{
					margin-top: 6%;
				}
				
				h5{
					@include fs(20,36);
					font-weight: 900;
					margin-bottom: .1em;
				}
				
				h4{
					@include fs(30,36);
					font-weight: 900;
					margin-bottom: .5em;
				}
				
				figure{
					margin: 4% auto;
					width: 30%;
					img{
						filter: drop-shadow(.7em .7em .5em rgba(#000,.3));
					}
					
					&.team{
						width: 75%;
					}
				}
			}
        }
        
        &.open{
            dt{
                background-color: #fff;
                color: #fa7800;
                padding: .5em 0;
                &:before,&:after{
                    display: none;
                }
            }
        }
    }
}

#lp_outro{
	h2{ color: #e60000;}
	.d-flex{
		justify-content: flex-start;
		column-gap: 5%;
		align-items: center;
		
		.img{
			flex-basis: 27%;
		}
		.txt{
			strong{
				font-size: 1.1em;
			}
			
			em{
				color: red;
			}
		}
	}
}

#lp_contact{
    position: relative;
    padding: 0 !important;
    height: 100%;
    line-height: 0;
    background: url("../images/img4.webp") center center no-repeat;
    background-size: contain;
    
    &:after{
        display: block;
        content: "";
        width: 100%; height: 100%;
        background-color: rgba(#000,.4);
        position: absolute;
        top: 0; left: 0;
        z-index: 1;
    }
    .container{
        width: 100%; max-width: 1000px;
        height: auto;
        aspect-ratio: 5 / 2;
        position: relative;
        z-index: 2;
        
        a{
            display: block;
            width: 56%; height: auto;
            aspect-ratio: 5 / 1;
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0; margin: auto;
            z-index: 2;
            
            img{width: 100%; height: auto}
        }
    }
}

#lp_footer{
    background-color: #000;
    color: #fff;
    padding-bottom: 5vw;

    @media (min-width: 1000px) {
        padding-bottom: 50px;
    }
    
    
    .container{
        position: relative;
        
        #btn_top{
            position: absolute;
            bottom: 0; right: 0;
            @include fs(20,35);
            padding-right: 3em;
            background: url("../images/up.svg") right center no-repeat;
            background-size: contain;
            color: #fff !important;
            text-decoration: none !important;
        }
    }
    
    ul{
        display: flex;
        padding: 5.5% 0;
        justify-content: space-between;
        line-height: 0;
        
        li{
            flex-basis: 31.78%;
        }
    }
    
    p#copy{
        @include fs(15,21);
        font-weight: 900;
    }
}

// Large devices (desktops, 992px and up)
@media (max-width: 1199.98px) {
}

// Medium devices (tablets, 768px and up)
@media (max-width: 991.98px) {
}

/// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) {

.container{
	max-height:100%;
}

body{
	max-height:100%;
}

	
	
}


@media (max-width: 991.98px) and (min-aspect-ratio: 8/5) and (orientation: landscape) {
}
