*{
	margin: 0;
	padding: 0;
}

/* Top- main */

main{
	border-bottom: 2px solid var(--orange);
}

.home{
	height: calc(100vh - 290px)
}

.top-top-img{
	background-image: url(../img/mobile-top.jpg);
	max-height: 100%;
    height: 100%;
    background-size: cover;
}

.home{
	background-image: url(../img/mobile-top-2.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top center;
}

.home main{
	text-align: center;
}

.home main img{
	margin: 0 auto;
}

.home main .licens{
	position: absolute;
	top: 80px;
	left: 26px;
	max-width: 30%;
}

footer{
	background-color: var(--black);
	width: 100%;
	bottom: 0;
	padding: 32px 32px 8px 32px;
}

footer img{
	width: 23%;
	padding-bottom: 16px;
}

footer p{
	color: var(--white);
	font-size: 16px;
	display: block;
	margin-bottom: 16px;
}

.footer-box{
	display: flex;
	word-break: break-word;
}

.footer-box p{
border-left: 1px solid #fff;
padding-left: 16px;
text-decoration: none !important; 
}

.footer-box p a{
	text-decoration: none !important; 
	}

footer .center{
text-align: center;
}

.footer-small p{
	font-size: 12px;
	color: var(--white);
	padding: 1rem 0 0 0;
	margin-bottom: 0;
	color: #696969;
}

footer a{
	color: #696969;
}

footer ul{
	display: flex;
}

footer ul li{
	flex-direction: row;
	align-items: flex-end;
}

.sns-icon{
	margin: 0 4px;
	width: 100%;
}

.sns-icon-left{
	padding-right: 16px;
}

.icon-div{
	width: 70px;
}

.background{
	background-image: url(../img/background.jpg);
	background-position: center;
	width: 100%;
}

/* company---------------------------
------------------------------------ */

.conpany-top-img{
	background-image: url(../img/company-top-img.jpg);
}

.top-second-img{
	height: 200px;
	background-repeat: none;
	background-size: cover;
	background-position: center;
}

.company .section1{
        background-color: #F5F5F7;
		padding-left: 16px;
		padding-right: 16px;
}

.two-buttons{
	text-align: center;
}

.company .section2{
	padding-left: 16px;
	padding-right: 16px;
}

.company .section2 p{
	text-align: center;
	padding-top: 22px;
	padding-bottom: 22px;
	width: 100%;
}

.why-box{
	margin: 0 auto;
	padding: 8px 0;
	width: 100%;
}

.company .section2 .why-box p{
	border: 1px solid black;
	border-radius: 10px;
	padding: 8px 0;
} 

.area li{
	border: 1px solid black;
	border-radius: 10px;
	font-weight: bold;
	padding: 8px 42px;
	font-size: 21px;
	margin: 8px 16px 8px 16px;
	text-align: center;
}

.link-w{
	display: inline-block;
}

.company .section3 p{
	text-align: center;
}

/* services---------------------------
------------------------------------ */

.services-top-img{
	background-image: url(../img/services-top-img.jpg);
	background-position-x: right;	
}

.services .flex-box{
	display: flex;
	width: 950px;
	position: absolute;
	top:200px;
	right: 0;
    left: 0;
    margin: auto;
}

.services .flex-box-2{
	display: flex;
	width: 98%;
    margin: 0 auto;
}

.services .flex-box-2 p{
	text-align: center;
	padding-top: 10px;
	font-size: 16px;
}

.services .flex-box p{
	text-align: center;
	color: var(--white);
	padding-top: 16px;
}

.services .flex-box div,.services .flex-box-2 div{
	margin: 0 auto;
}

.services .flex-box div img,.services .flex-box-2 div img{
	margin: 0 auto;
}

.services .section1 .margin-b{
	margin-bottom: 16px;
}

.services-box{
	margin: 0 auto;
}

.services-box ul li{
	list-style: disc;
	font-size: 19px;
}

.services-box ul li.no-list{
	list-style: none;
}

.steps img{
	margin: 0 auto;
}

.services .section1 {
	background-color: rgba(240, 240, 241,0.6);
	}

.services .section3 {
	background-color: rgba(240, 240, 241, 0.6);
}

.services .section3 p{
	text-align: center;
}

/* Gallery------------------------------

---------------------- */

.gallery-p{
	float: right;
	padding-right: 20px;
}

.gallery-p::after{
content: '';
display: inline-block;
background-image: url(../img/icon/arrow-right.svg);
background-size: contain;
background-repeat:no-repeat;
width: 16px;
height: 16px;
vertical-align: middle;
margin-left: 4px;
}

/* contact ------------------------------
---------------------- */

.contact-top-img{
	background-image: url(../img/contact-top.jpg);
	background-position: center;
}

.contact h3,h4{
	text-shadow: 0 0 black;
}

.contact h4{
	padding-top: 32px;
}

.contact .section1 a{
	font-size: 21px;
}

.contact p span.span-orange{
	color: var(--orange);
	font-size: 32px;
	font-weight: bold;
}

_:lang(x)+_:-webkit-full-screen-document, .contact p span.span-orange{
	color: var(--orange);
	font-size: 32px;
	font-weight: bold;
}

input,textarea{
	display: block;
	width: 100%;
	background-color: #F3F3F3;
	border: none;
	padding: 0.5rem 1rem;
}

textarea {
	overflow-anchor: none;
}

label{
	font-weight: bold;
}

button{
	padding: 10px 15px;
    border: none;
    background: #333;
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
}

.contact-box{
	width: 98%;
	margin: 0 auto;
}

.form-box{
	padding-bottom: 24px;
}

.contact button{
	float: right;
	border-radius: 20px;
	width: 30%;
	margin: 0 auto;
	background-color: #696969;
}

.contact button img{
	margin: 0 auto;
}

.contact button:hover{
	opacity: 0.5;
}

/* Privacy Policy ------------------------------
---------------------- */
.privacy section{
	width: 90%;
	margin: 0 auto;
}

.privacy h1{
	padding-top: 30px;
}

.privacy h2{
	text-align: left;
	margin-left: 0;
	margin-left: 0;
    margin-bottom: 16px;
}

.privacy section p{
	margin-bottom: 32px;
}



/* media query */

/* top-img - media query */
@media (max-width: 1024px) {
	.home main{
		height: calc(100vh - 100px);
	}

	.home main .licens {
		top: 90px;
	}

}

@media (max-width: 833px) {
	.home{
		background-size: 100%;
	}

	.home main{
		height: 690px;
	}
}

@media (max-width: 820px) {
	.home{
		background-size: 100%;
	}

	.home main{
		height: calc(100vh - 230px);
	}
}

@media (max-width: 770px) {
	.home{
		background-size: 100%;
	}

	.home main{
		height: 820px;
	}
}

@media (max-width: 745px) {
    .home main {
        height: 800px;
    }
}

@media (max-width: 720px) {
    .home main {
        height: 730px;
    }
}

@media (max-width: 670px) {
    .home main {
        height: 720px;
    }
}

@media (max-width: 640px) {
	.home{
		background-size: 110%;
	}
}

@media (max-width: 550px) {
	.home {
        background-size: 120%;
    }
}

@media (max-width: 510px) {
	.home main{
		height: 640px;
	}
}

@media (max-width: 500px) {
	.home main{
		height: 620px;
	}
}

@media (max-width: 490px) {
	.home main{
		height: 630px;
	}
}

@media (max-width: 470px) {
	.home{
		background-size: 130%;
	}

    .home main .licens {
		top: 70px;
	 }
}

@media (max-width: 440px) {
	.home main{
		height: 560px;
	}
}

@media (max-width: 432px) {
	.home main{
		height: 650px;
	}
}

@media (max-width: 415px) {
    .home main {
        height: 645px;
    }
}

@media (max-width: 412px) {
	.home main {
        height: 630px;
    }

	.home {
		background-size: 134%;
	}
}

@media (max-width: 400px) {
	.home {
		background-size: 137%;
	}
}



@media (max-width: 392px) {
	.home {
		background-size: 138%;
	}

	.home main{
		height: 630px;
	}
}

@media (max-width: 376px) {
	.home main{
		height: 590px;
	}
}

@media (max-width: 370px) {
	.home main{
		height: 470px;
	}

}

@media (max-width: 360px) {
	.home {
		background-size: 132%;
	}

}


@media (max-width: 350px) {
	.home main{
		height: 400px;
	}

	.home main .licens {
		top: 54px;
	}
}

@media (max-width: 321px) {
	.home main{
		height: 470px;
	}
}	
/* top-img - media query ---end*/


/* over 375px : mobile */
@media (min-width: 320px) {
	.gallery .photo6 {
        width: 100%;
    }

	.gallery .photo6 img{
        margin: 0 auto;
    }

	.gallery h2{
		margin-bottom: 0;
	}
}

@media (min-width: 340px) {
.footer-small p{
	padding: 1rem 1rem 0 1rem;
}
}


@media (min-width: 380px) {
	.services .flex-box-2 {
		width: 80%;
	}

}

@media (min-width: 440px) {

	.contact .mobile-440{
		display: none;
	}
}

@media (max-width: 501px) {
	.desktop-b{
		display: none;
	}

	.mobile-b{
		display: inline-block;
	}

	footer img {
		width: 30%
	}

}


@media (min-width: 501px) {
	.mobile-b{
		display: none;
	}

	.link-w img{
		display: block;
	}

	.contact button {
		width: 30%;
	}

}

@media (min-width: 550px) {
	.home main .licens{
    max-width: 25%;
	}
}


/* over 600px : tablet */
@media (min-width: 600px) {	
		.top-second-img{
			height: 300px;
			background-position-y: top;
		}

		.services .top-second-img {
			height: 400px;
		}

		.gallery-p{
			margin-right: 0;
			float: right;
		}

		.contact .top-second-img{
			height: 300px;
			background-position-y: bottom;
		}

		.privacy section{
			padding: 2.5rem;
		}
}

@media (min-width: 650px) {	
	.privacy h1{
		padding-top: 0;
	}
}

/* Larger than phablet */

/* @media (min-width: 900px) { */

	@media (min-width: 834px) {
	.top-top-img{
		background-image: url(../img/top.jpg);
		max-height: 100%;
		height: 100%;
		background-size: cover;
	}	

    .sp-only{
		display: none;
	}

    footer .container{
		width: 950px;
		margin: 0 auto;
	}

	.footer-small{
		padding-top: 16px;
	}

	.logo{
		width: 168px;
	}
	
	.footer-box{
		padding-left: 16px;
	}

	.footer-box-left{
		margin-left: 32px;
	}

	.icon-div {
		margin-top: 36px;
	}

	.sns-icon{
		width: 30px;
		margin: 0 6px;
	}

	.company-main{
		margin-left: 0px;
		margin-right: 0px;
	}

	.company .section-width{
		width: 86%;
		margin: 0 auto;
	}

    .company .section1{
		background-color: #F5F5F7;
		margin: 0;
		padding-top: 40px;
		padding-bottom: 72px;
	}

	.company .section2 h2{
		padding-top: 68px;
	}

	.company .section2 {
		padding-bottom: 68px;
	}

	.company .section2 .why-box .w80{
		width: 55%;
		margin: 0 auto;
	}

	.why-img{
		text-align: center;
	}

	.p-width{
		width: 60%;
		text-align: center;
		margin: 0 auto;
	}

	.services .top-second-img {
        height: 500px;
    }

	.services .section1 {
        margin: 0;
        padding-top: 40px;
        padding-bottom: 72px;
    }

	.services .width950{
		width: 950px;
		margin: 0 auto;
	}

	.services-box{
		padding-top: 32px;
		margin: 0 auto;
	}

	.area{
		display: flex;
		justify-content: center;
	}

	.box-center{
		margin: 0 auto;
	}

	.steps img{
		margin-top: 72px;
	}

	.gallery .parent{
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.gallery .child{
		width: 100%;
		display: flex;
		justify-content: center;
		position: relative;
	}
	
	.gallery h2{
		margin: 0;
		position: absolute;
		top: -50px;
		left: 50%;
		transform: translateX(-50%);
	}
	
	.gallery-p{
		position: absolute;
		right: 0;
		top: -40px;
		float: right;
	}

	.gallery section{
		margin-top: 4rem;
	}

	.contact h3{
		font-weight: bold;
	}

	.contact section {
        padding-bottom: 68px;
    }

	.contact-box{
		width: 90%;
	}
}

@media (max-width: 833px) {
	.grid{
		gap: 0;
	}

	.two-buttons img {
		margin-bottom: 0;
	}

	.company .section2 .container{
		padding: 0;
	}

	.services-box-top{
		padding-top: 24px;
	}

	.steps img{
		padding-left: 32px;
		padding-right: 32px;
	}

	.services-box-row{
		padding-left: 16px;
		width: 40%;
	}

	.mobile-menu .line{
		font-size: 1.80em;
	}

	.contact .contact-box p{
		padding-bottom: 21px;
	}
}


@media (min-width: 950px) {
	.gallery .width950{
		width: 950px;
		margin: 0 auto;
	}

}


/* service <li> responsive---------
------------------------------ */

@media (max-width: 790px) {
	.services-box-row{
	width: 50%;
	}
}

@media (max-width: 680px) {
	.services-box-row{
	width: 60%;
	}
}

@media (max-width: 540px) {
	.services-box-row{
	width: 80%;
	}
}

@media (max-width: 430px) {
	.services-box-row{
	width: 90%;
	}
}

/* service <li> responsive---------
------------------------------ */


/* ---top img switching
------------------------------- */

@media (min-width: 1025px) {
.mobile-img{
	display: none;
}
}


@media (max-width: 1024px) {
	.desktop-img{
		display: none;
	}

	.fix{
		position: fixed;
	}
	}

/* ---top img switching
------------------------------- */


/* PC */

@media (max-width: 1199px) {
	.top-logo{
		display: none;
		height: 100px;
        left: 20%;
        width: 100%;
        max-width: 8%;
	}

	.services .main-flex-box{
		display: none;
	}
}

@media (min-width: 1200px) {
	.main-menu{
		display: block;
	}
	
	.mobile-menu{
		display: none;
	}
	
	nav ul li{
		display:inline-block;
		border-bottom: 0;
	}

	.ul-main{
		padding: 13px;
		height: 100px;
		padding-left: 260px;
	}

	.home main img{
		width: 100%;
	}

	footer .container{
		width: 1080px;
	}

	.company .top-second-img{
		height: 530px;
	}

	.company .section-width{
		width: 950px;
	}

	.company .section2 p{
		padding-top: 0;
	}

	.why-box-last{
		margin-bottom: 8px;
	}

	.services .top-second-img {
        height: 600px;
    }

	.services .flex-box {
	    width: 950px;
	}

	.services .mobile-flex-box{
		display: none;
	}

	.services .area{
		width: 850px;
		margin: 0 auto;
	}

	.services .area li{
		width: 100%;
	}

	.contact .top-second-img{
		height: 400px;
	}


	.contact section{
		width: 1200px;
		margin: 0 auto;
	}

}


@media (min-width: 1900px) {
	.absolute {
        top: -400px;
    }

	.contact .top-second-img {
        height: 460px;
    }

	.contact section{
		width: 1500px;
		margin: 0 auto;
	}

	footer .container {
        width: 1300px;
	}
}

@media (min-width: 2000px) {
	.contact .top-second-img {
        height: 480px;
		background-size: cover;
    }
}