/*--------------------------------
  cssルール
--------------------------------*/
:root{
	/*マージン指定*/
	--section__margin: 60px auto 0;
	--section__padding: 60px 0 0;
	
	--margin: 30px auto 0;
	--padding: 30px 0 0;
}


/*a:hover{ pointer-events: none;}*/
.forPC{ display: none !important;}
.forSP{ display: block;}

/* FV Ver.01 */
.fv_area01{ max-width: 640px; height: auto; padding: 30px 20px; display: block; text-align: center;}
.fv_area01 h1{ max-width: 200px; margin: auto;}
.fv_area01 p{ display: inline-block; width: auto; text-align: center; font-size: 12px; line-height: 1.4; margin-top: 10px;}
.fv_area01 p br.forPC{ display: block !important;}
@media screen and (max-width:756px){
	.fv_area01 p br.forPC{ display: none !important;}
}


/* FV Ver.02 */
.fv_area02{ width: 100%; height: 100vh; padding: 0 20px; box-sizing: border-box;}
.fv_area02 .wrap p{ font-size: 16px; margin-top: 10px;}
.fv_area02 .wrap p br{ display: none;}

/* nav */
nav{ width: 180px; height: 100vh; position: fixed; top: 0; left: -200px; background-color: var(--color__black); transition: left 0.4s ease; z-index: 998; display: block;}
nav.fixed{ position: fixed; width: 180px; height: 100vh; top: 0; left: -200px;}
nav.open,
nav.fixed.open{ left: 0;}
nav ul{ width: 100%; max-width: 100%; padding: 0; height: auto; margin: auto; list-style: none; display: block; gap: 0; margin-top: 60px;}
nav ul li{ height: 100%; border-top: 1px solid #222; border-bottom: 1px solid #222;}
nav ul li:nth-child(n+2){ border-top: 0px none;}
nav ul li:last-child{ border-bottom: 0px none;}
nav ul li > a{ display: block; width: 100%; height: 100%; font-size: 14px; padding: 10px 10px; box-sizing: border-box;}
nav ul li.lang{ width: 70px; height: 90px; position: relative; display: flex; justify-content: center; align-items: center; padding: 0 10px; box-sizing: border-box;}
nav ul li.lang a{ font-size: 14px;}
body.home nav ul li.home::after,
body.company_profile nav ul li.company_profile::after,
body.track_record nav ul li.track_record::after,
body.office_view nav ul li.office_view::after,
body.recruit nav ul li.recruit::after{ display: none;}

.hamburger{ width: 30px; height: 22px; position: fixed; top: 10px; left: 10px; z-index: 999; cursor: pointer; display: flex; flex-direction: column; justify-content: space-between; background-color: var(--color__black); padding: 9px 5px;}
.hamburger span{ display: block; width: 100%; height: 3px; background: var(--color__white); border-radius: 2px; transition: all 0.3s ease;}
.hamburger.active span:nth-child(1){ transform: translateY(9px) rotate(45deg);}
.hamburger.active span:nth-child(2){ opacity: 0;}
.hamburger.active span:nth-child(3){ transform: translateY(-9px) rotate(-45deg);}

/* title01 */
.title01{ width: 100%;}
.title01 h3{ font-size: 24px; font-weight: bold;}


/* company_map */
.company_map .txt_box{ padding: 20px 0;}
.company_map .txt_box .wrap{ width: 100%; max-width: 100%; padding: 0 20px; display: block;}
.company_map .txt_box .wrap .left{ width: 100%; max-width: 100%;}
.company_map .txt_box .wrap .right{ width: 100%; max-width: 100%; margin-top: 20px;}
.company_map .txt_box .wrap .right > div p{ font-size: 16px;}
.company_map .map iframe{ height: 300px;}

/* footer */
footer p{ font-size: 12px;}