@charset "UTF-8";
body{
	font-size: 80%;
	overflow-x: hidden;
}

header h1{
	position: absolute;
	top: 10px;
	left: 10px;
	transform: translateX(0);
}
#top-head.fixed h1,
#top-head h1{
	height: 130px;
}
#top-head.fixed h1 img,
#top-head h1 img{
    height: 66px;
    width: auto;
}
#top-head.open h1,
#top-head.fixed.open h1{
	opacity: 0;
}

.btn {
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
}
header nav#gl_nv{
	margin-bottom: 120px;
	font-size: 110%;
}
#language{
	right: 0;
	transform: translateX(0);
}
#language,
#language ul{
	width: 100%;
}
#language li{
	width: 50%;
}
#language li a{
	width: 100%;
	font-size: 110%;
}

.fullpage{
	height: 100vh;
}
.fullpage h2{
    font-size: 8vw;
    padding-bottom: 0;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next,
.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
    top:70% !important;
}

main h1{
	width: 90%;
}
.bg-y{
	width: 90%;
}

.main_slider.swiper-container{
	height: 150px;
}

#greeting h2{
	padding-top: 100px;
}
#greeting h2::before{
	background-size: contain;
	right: 0;
}


#business h3{
	font-size: 1.3em;
}


#business table th,
#business table td,
#company table th,
#company table td{
	display: block;
	width: 100%;
}
#business table td{
	padding:30px
}
#company table th{
	padding:20px 0
}
#company table td{
	text-align: center;
	padding:20px
}
#company ul.fl_box dl, #company td .fl_box, #en_page #company td .fl_box{
	align-items: center;
}

#company ul.fl_box{
	flex-direction: column;
}
#company ul.fl_box > li{
	width: 100%;
}
#company ul.fl_box > li:last-of-type{
	margin-top: 30px;
}

#contact ul.fl_box{
	flex-direction: column;
	padding:5px 20px

}
#contact ul.fl_box > li{
	width: 100%;
	padding:20px 0
}
#contact ul.fl_box > li:last-of-type{
	border-left: none;
	border-top: 1px solid #b9c1e5;
}

footer div.fl_box{
	flex-direction: column;
	align-items: center;
}
footer div.fl_box a:not(:first-of-type){
	margin-left: 0;
}

@media screen and (max-device-width: 640px){ /* スマホのみ */
	#language li a{
		height: 120px;
	}
}