@media print,  screen and (min-width: 1024px){

/* ----------base---------- */
html{
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	overflow-x: hidden;
	font-size: 62.5%;
}
 body{
 	position: relative;
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
	background-color: #fff;
	color: #444; 
 	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;	
}
img{
	border: none; 
	max-width: 100%;
	height: auto;
	width /***/:auto;
}

a{
	outline: none;
	transition: 0.3s ease;
	text-decoration: none;
}
a:hover{
	text-decoration: none;
}

h1,
h2,
h3,
h4,
h5{
	clear: both;
	margin: 0;
	padding: 0;
}

.align-center{
	text-align: center;
}
.align-right{
	text-align: right;
}
.align-left{
	text-align: left;
}
.aligncenter{
 display: block;
  margin: auto;
}
.alignright {
  display: block;
  margin-left: auto;
}
.alignleft {
  display: block;
  margin-right: auto;
}


/* ----------log---------- */
.log{
	height: 1px;
	width: 1px;
}
.log img{
	height: 1px;
	width: 1px;
}

/* ----------pagescroll---------- */
.pagescroll {
	position: fixed;
	bottom: 12px;
	right: 5px;
	z-index: 11;
}
.pagescroll a{
	display: block;
	font-size: 1rem;
	color: #fff;
	text-align: center;
	text-decoration: none;
	line-height: 26px;
	width: 26px;
	height: 26px;
	border-radius: 2px;
	background-color: #d0121b;
 	transition: 0.3s ease;
}
.pagescroll a:hover{
	background-color: #666;
	color: #fff;
	transform: translate(0,-5px);
}



 /* ----------header---------- */
.header{
	position: fixed;
	top: 0;
	clear: both;
	width: 100%;
	height: 90px;
	margin: 0;
	padding: 0;
	z-index: 101;
	background-position: center center; 	
	background-repeat: no-repeat;
	position: fixed;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);	
}
.home .header{
	background: none;
	box-shadow: none;
	-webkit-backdrop-filter: blur(0px);
	backdrop-filter: blur(0px);	
}
.header .inner{
	width: 96%;
	height: 90px;
	max-width: 1680px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header.fixed{
	position: fixed;
	top: 0;
	background-color: rgba(255,255,255,0.9);
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

 /* -----title----- */
.header .title{
	transition: 0.3s ease;
} 
.header .title:hover{
	opacity: 0.8;
} 
.header .title h1{
	margin: 0;
	padding: 0;
	width: 400px;
	height: 60px;
	background-image: url(../img/comm/logo-4c.svg);
	background-position: center center; 	
	background-repeat: no-repeat;
	text-indent: -9999px;
	cursor: pointer;
}
.home .header h1{
	background-image: url(../img/comm/logo-4c.svg);
}
.home .header .title h1{
	background-image: url(../img/comm/logo-1c.svg);
}
.home .header.fixed .title h1{
	background-image: url(../img/comm/logo-4c.svg);
}

 /* -----navi----- */
.header .navi{
	font-size: 1.6rem;
	font-weight: 600;
}
 /* --menu-- */
.header .navi ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: flex-end;
}
.header .navi a{
	color: #333;
	margin: 0 0 0 1.5em;
	padding: 0.5em 0;
	border-bottom: 5px solid rgba(255,255,255,0);
}
.header .navi a:hover{
	border-bottom: 5px solid #d0121b;
}
.header.fixed .navi a{
	color: #333;
}
.header.fixed .navi a:hover{
	color: #666;
}
.home .header .navi a{
	color: #fff;
}
.home .header.fixed .navi a{
	color: #333;
}
.header .navi .current a{
	border-bottom: 5px solid #d0121b;
}
.home .header .navi .current a{
	border-bottom: 5px solid rgba(255,255,255,0);
}
.home .header.fixed .navi .current a{
	border-bottom: 5px solid #d0121b;
}

/* ----------footer---------- */
.footer{
	clear: both;
	width: 100%;
	margin: 0;
	padding: 60px 0 0;
	z-index: 1;
	position: relative;
	background-color: #fff;
	background-image: url(../img/comm/scale-gray.png);
	background-position: top center; 	
	background-repeat: repeat-x;
}
.footer .inner{
	width: 94%;
	max-width: 1480px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.footer .name{
	width: 380px;
}

.footer .sitemap{
	width: 60%;
	max-width: 700px;
	margin: 0 0 auto;
	padding: 0;
	display: flex;
	display: inline-flex;
}
.footer .sitemap ul{
	margin: 0 auto 0 0;
	padding: 0;
	list-style: none;
	font-weight: 500;
}
.footer .sitemap ul li a{
	margin: 5px;
	padding: 1px 8px;
}
.footer .sitemap a{
	display: block;
	color: #333;
	border-bottom: 3px solid #fff;
}
.footer .sitemap a:hover{
	border-bottom: 3px solid #d0121b;
}

.footer .copyrighrt{
	width: 100%;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 300;
	color: #333;
	background-color: #eee;
	height: 60px;
	line-height: 60px;
	margin: 40px 0 0;
}



/* ----------intro---------- */
.intro{
	width: 100%;
	height: 100%;
	position: relative;
   	z-index: 10;
}
.vegas-slide,
.vegas-slide-inner {
	background-attachment: fixed !important;
	background-position: center top !important;
}

/* copy */
.intro .copy{
	width: 100%;
	height: 320px;
	box-sizing: border-box;
	z-index: 1;
	position: absolute;
	bottom: calc(50% - 190px);
	opacity: 0;
	animation: fadeIn 2s linear;
	animation-fill-mode: both;
}
@keyframes fadeIn{
0%{
	opacity: 0;
}
50%{
	opacity: 0;
}
100%{
	opacity: 1;
}
}
.intro .copy h1{
	width: 100%;
	background-image: url(../img/comm/scale-white.png);
	background-repeat: repeat-x;
	background-position: center bottom 5px;
}
.intro .copy h1 img{
	display: block;
	margin: 0 auto;
	padding: 0 0 50px;
	width: 90%;
	max-width: 640px;
    filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.2)); 
}
.intro .copy h2{
	display: block;
	margin: 10px auto 0;
	width: 30%;
	min-width: 400px;
	 filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.2)); 
}


/* qr */
.intro .qr{
	width: 70px;
	height: 70px;
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 5px;
	border-radius: 3px;
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2)); 
    animation: fade 3.5s ease 0s 1 normal;
}
@keyframes fade {
    0% { bottom: 60px ; opacity: 0;}
	50% { bottom: 60px ; opacity: 0;}
    100% {bottom: 10px ; opacity: 1;}
}




/* ----------index comm---------- */
.midashi{
	margin: 0 0 50px;
}
.midashi h2{
	font-size: 4.8rem;
	font-weight: 800;
}
.midashi h2 span{
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
}

.btn {
	margin: 50px 0 0;
}
.btn a{
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	width: 200px;
	padding: 10px 20px;
	box-sizing: border-box;
	transition: 0.3s ease;
}
.btn a:hover{
	color: #333;
	border: 1px solid #fff;
	background-color: #fff;
}



/* ----------info-area---------- */
.info-area{
	color: #333;
	padding: 100px;
}
.info-area .midashi{
	color: #333;
	text-align: center;
}
.info-area .txt{
	width: 760px;
	margin: 50px auto;
	text-align: left;
}



/* ----------service-area---------- */
.service-area{
	height: 770px;
	margin: 0;
	background-image: url(../img/comm/panel-service.jpg);
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.service-area .inner{
	color: #fff;
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0 0;
	box-sizing: border-box;
}
.service-area .inner p{
	max-width: 700px;	
}


/* ----------flex-area---------- */
.flex-area{
	width: 100%;
	display: flex;
}

/* ----------company-area---------- */
.company-area{
	width: 50%;
	height: 500px;
	margin: 0;
	background-image: url(../img/comm/panel-company.jpg);
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.company-area .inner{
	color: #fff;
	width: 90%;
	margin: 0 auto;
	padding: 80px;
	box-sizing: border-box;
}

/* ----------recruit-area---------- */
.recruit-area{
	width: 50%;
	height: 500px;
	margin: 0;
	background-image: url(../img/comm/panel-recruit.jpg);
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.recruit-area .inner{
	color: #fff;
	width: 90%;
	margin: 0 auto;
	padding: 80px;
	box-sizing: border-box;
}

/* ----------sidelap-area---------- */
.sidelap-area{
	width: 50%;
	height: 500px;
	margin: 0;
	background-image: url(../img/comm/panel-sidelap.jpg);
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.sidelap-area .inner{
	color: #fff;
	width: 90%;
	margin: 0 auto;
	padding: 80px;
	box-sizing: border-box;
}

/* ----------border-area---------- */
.border-area{
	width: 50%;
	height: 500px;
	margin: 0;
	background-image: url(../img/comm/panel-border.jpg);
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.border-area .inner{
	color: #fff;
	width: 90%;
	margin: 0 auto;
	padding: 80px;
	box-sizing: border-box;
}


/* ----------social-area---------- */
.social-area{
	height: 500px;
	margin: 0;
	background-image: url(../img/comm/panel-social.jpg);
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.social-area .inner{
	color: #fff;
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 100px 0 0;
	box-sizing: border-box;
}
.social-area .inner p{
	max-width: 640px;	
}



/* ----------page comm---------- */
/* p-title */
.p-title{	
	width: 100%;
	height: 350px;
	padding: 90px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 600;
	color: #fff;
	background-color: #999;
	background-position: center top; 	
	background-repeat: no-repeat;
	background-size: cover;
}
.p-title h1{
	text-align: center;
	font-size: 4.8rem;
	font-weight: 800;
    filter: drop-shadow(0px 0px 8px rgba(0,0,0,0.15)); 
}	
.p-title h1 span{
	display: block;
	font-size: 1.6rem;
	font-weight: 600;
    filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.15)); 
}
.company .p-title{
	background-color: #333;
	background-image: url(../img/page/bg-company.jpg);
}
.service .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-service.jpg);
}
.border .p-title{
	background-color: #4c6b70;
	background-image: url(../img/page/bg-border.jpg);
}
.sidelap .p-title{
	background-color: #6e617b;
	background-image: url(../img/page/bg-sidelap.jpg);
}
.service.registry .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-s-registry.jpg);
}
.service.m-bounds .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-s-m-bounds.jpg);
}
.service.land-regi .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-s-land-regi.jpg);
}
.service.flow .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-s-flow.jpg);
}
.service.d-permission .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-s-d-permission.jpg);
}
.service.bldg-regi .p-title{
	background-color: #004b83;
	background-image: url(../img/page/bg-s-bldg-regi.jpg);
}
.social .p-title{
	background-color: #9ac250;
	background-image: url(../img/page/bg-social.jpg);
}
.qa .p-title{
	background-color: #4e8294;
	background-image: url(../img/page/bg-qa.jpg);
}
.contact .p-title{
	background-color: #ba4853;
	background-image: url(../img/page/bg-contact.jpg);
}
.recruit .p-title{
	background-color: #dd960f;
	background-image: url(../img/page/bg-recruit.jpg);
}
.privacy .p-title{
	background-color: #882c87;
	background-image: url(../img/page/bg-privacy.jpg);
}
.link .p-title{
	background-color: #aa9f52;
	background-image: url(../img/page/bg-link.jpg);
}


/* contents */
.contents{
	width: 94%;
	max-width: 960px;
	margin: 60px auto;
	position: relative
}

.contents hr{	
	max-width: 1280px;
	margin: 60px auto;
	border: 0; 
	height: 1px; 
	background-color: #ddd;
}

.contents a{
	color: #333;
	text-decoration: underline;
}
.contents a:hover{
	color: #d0121b;
	text-decoration: underline;
}

/* midashi */
.contents h1{
	font-weight: 700;
	font-size: 3.6rem;
	text-align: center;
	display: flex;
	align-items: center;
	margin: 0 0 60px;
}
.contents h1::before,
.contents h1::after {
  content: '';
  height: 1px;
  background-color: #ccc;
  flex-grow: 1;
  margin: 0 2rem;
}
.contents h2{
	font-weight: 700;
	font-size: 3rem;
	margin: 100px 0 50px;
	background-color: #f7f7f7;
	padding: 10px 10px 10px 35px;
	position: relative;
}
.contents h2:before{
	position: absolute;
	left: 0px;
	top: 30px;
	content: " "; 
	width: 20px;
	height: 14px;
	background-color: #d0121b;
}
.contents h3{
	font-weight: 600;
	font-size: 2.4rem;
	margin: 50px 0;
	position: relative;
	border-bottom: 1px solid #ddd;
}
.contents h3:after{
	position: absolute;
	left: 0;
	bottom: -2px;
	content: " "; 
	width: 200px;
	height: 2px;
	background-color: #d0121b;
}

/* table */
.contents table.basic{
	width: 100%;
	margin: 30px 0;
 	border-collapse: collapse;
}
.contents table.basic th{
	text-align: left;
	font-weight: normal;
	width: 180px;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #eee;
}
.contents table.basic td{
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #eee;
}
.contents table.basic tr:nth-child(odd){
	background-color: #fafafa;
}

.contents table.para{
	width: 100%;
	margin: 50px 0;
 	border-collapse: collapse;
 	border-top: 1px solid #ddd;
}
.contents table.para thead th{
	text-align: center;
	font-weight: normal;
	width: 50%;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	background-color: #fafafa;
}
.contents table.para thead td{
	text-align: center;
	font-weight: normal;
	width: 50%;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	background-color: #fafafa;
}
.contents table.para  tbody th{
	text-align: left;
	font-weight: normal;
	width: 50%;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #eee;
}
.contents table.para tbody td{
	text-align: right;
	padding: 20px;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
}

/* flex */
.contents .flex{
	display: flex;
}
.contents .flex.wrap{
	flex-wrap: wrap;
}


/* ----------page---------- */

/* page company */
.company .contents table.basic.history th{
	position: relative;
	text-align: center;
}
.company .contents table.basic th span{
	font-weight: 600;
	display: block;
	background-color: #999;
	color: #fff;
}
.company .contents .result{
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 15px;
}
.company .contents .item{
	width: 31%;
	margin: 1%;
	text-align: center;
}
.company .contents .item p{
	margin: 5px 0 ;
}
.company .contents .item img{
	width: 100%;
	height: 220px;
	object-fit: cover; 
}

/* page service */
.figure{
	max-width: 700px;
}
ol.service-flow{
	margin: 60px 0;
	padding: 0;
	list-style: none;
}
ol.service-flow li{
	width: 100%;
	text-align: center;
	border-radius: 6px;
	font-size: 2rem;
	float: left;
	font-weight: bold;
	background-color: #eee;
	margin: 15px 0;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}
ol.service-flow li:after{
	content: "";
	position: absolute;
	bottom: -24px;
	right: calc(50% - 12px);
	border: 12px solid transparent;
	border-top: 12px solid #d0121b;
}
ol.service-flow li:last-child{
	overflow: hidden;
}

.service-index{
	background-color: #004b83;
	padding: 50px;
	box-sizing: border-box;
}
.service-index ul{
	padding: 0;
	margin: 0 auto;
	max-width: 960px;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}
.service-index ul li{
	width: 31%;
	margin: 1% auto;
}
.service-index ul li a{
	display: block;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	color: #333;
	background-color: #fff;
	border-radius: 6px;
	padding: 15px;
	box-sizing: border-box;
}
.service-index ul li a:hover{
	color: #d0121b;
	background-color: #eee;	
}
.service-index ul li.cr a{
	display: block;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	color: #d0121b;
	background-color: #fff;	
	border-radius: 6px;
	padding: 15px;
	box-sizing: border-box;
}

/* page social */
.social .flex{
	flex-direction: row-reverse;
}
.social .flex .left {
	width: 25%;
	text-align: center;
}
.social .flex .right {
	width: 75%;	
}

/* page qa */
.contents ul.qa-list{
	width: 100%;
	margin: 100px 0;
	padding: 0;
	list-style: none;
}
.contents ul.qa-list li:nth-child(odd) {
	font-size: 2rem;
	font-weight: 600;
	border-bottom: 1px solid #ddd;
	margin: 0;
	padding: 0 0 15px 60px;
	position: relative;
}
.contents ul.qa-list li:nth-child(odd):before{
	content: "Q";
	color: #fff;
	background-color: #004b83;
	border-radius: 3px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	position: absolute;
	top: 0;
 	left: 0;
}
.contents ul.qa-list li:nth-child(even) {
	margin: 0 0 80px;
	padding: 20px 0 0 60px;
	position: relative;
}
.contents ul.qa-list li:nth-child(even):before{
	content: "A";
	color: #fff;
	background-color: #d0121b;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 3px;
	position: absolute;
	top: 15px;
 	left: 0;
 	font-size: 2rem;
	font-weight: bold;
}

/* page contact */
.contact input[type=text],
.contact input[type=email],
.contact input[type=tel],
.contact input[type=number],
.contact select,
.contact textarea{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	width: 100%;
	padding: 10px;
	border: 1px solid #ddd;
	font-size: 1.6rem;
	box-sizing: border-box;
	border-radius: 0;
    background-color: #fff;
}
.contact textarea{
    height: 160px;
}

.contact .btn-area{
	text-align: center;
}
.contact input[type=submit],
.contact input[type=reset],
.contact input.reset{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	font-weight: 700;
    font-size: 1.8rem;
    width: 48%;
	height: 60px;
	line-height: 60px;
	color: #0f4c95;
	text-align: center;
	border-radius: 2px;
	border: 0px;
	transition: 0.3s ease;
	margin: 30px auto;
	border-radius: 2px;
	cursor: pointer;
}
.contact input[type=submit]{
	background-color: #d0121b;
	color: #fff;
}
.contact input[type=submit]:enabled:hover{
	background-color: #ddd;
	color: #d0121b;
}
.contact input[type=reset],
.contact input.reset{
	background-color: #999;
	color: #fff;
}
.contact input[type=reset]:enabled:hover,
.contact input.reset:enabled:hover{
	background-color: #ddd;
	color: #333;
}

/* page recruit */

/* page link */
.link .contents ul{
	width: 100%;
	margin:  0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.link .contents ul li{
	width: 48%;
	margin: 0 1%;
}
.link .contents ul li a{
	display: block;
	padding: 15px;
	box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	text-decoration: none;
}
.link .contents ul li a:hover{
	color: #d0121b;
	background-color: #eee;
}


/* page privacy */
.privacy fieldset{
	padding: 20px;
	box-sizing: border-box;
	margin: 30px 0;
	background-color: #fafafa;
	border: 1px solid #ddd;
	font-size: 1.5rem;
}
.privacy legend{
	font-weight: bold;
	color: #fff;
	background: #d0121b;
	padding: 3px 15px;
	box-sizing: border-box;
}


/* page sidelap */
.sidelap .flex{	
	margin: 50px 0 0;
	justify-content: space-between;
}
.sidelap .flex div{
	width: 49%;
}


/* page border */
.border .photo{	
	margin: 50px 0;	
}


	

}
