@charset "UTF-8";
/*----------------- Top CSS-----------------*/


#top_main section{
overflow: hidden;
position: relative;
width: 100%;
height: auto;
min-width:1200px;	
}

#top_main section figure.top_img{
margin: 0 auto !important;
}

#top_main section figure.top_img img{
width: 100%;
}

#top_main div a:hover:before{
webkit-filter:blur(4px);filter:blur(4px);-webkit-transform:scale(1.15);transform:scale(1.15)}

#top_main section .top_ttl{
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
min-width: 820px;
}

#top_services,#top_recruit, #top_about{
color: #fff;
}

#top_services a, #top_recruit a, #top_about a,
#top_services a:hover, #top_recruit a:hover, #top_about a:hover{
color: #fff;
}

#top_performances a:hover, #top_contact a:hover{
color: #333;
}

#top_main section .top_ttl h2{
font-family: 'Century Gothic' , "Apple Gothic" , AppleGothic , sans-serif;
font-size: 50px;
font-weight: 300;
margin: 0 auto;
text-align: center;
letter-spacing: 0.3em;
}

#top_main section .top_ttl h2 span{
font-family: 'Noto Sans Japanese', "メイリオ";
display: block;
font-size: 21px;
margin: 0 auto;
margin-top: 30px;
margin-bottom: 50px;
text-align: center;
letter-spacing: 0.2em;
}

#top_main section .top_ttl p{
font-family: 'Noto Sans Japanese', "メイリオ";
display: block;
font-size: 16px;
text-align: center;
line-height: 1.8;
}

/*----------------- main visual CSS-----------------*/

#top_main section{
width: 100%;
height: 100vh;
background-size:cover;
background-attachment: fixed;
}

#top_main section a.top_hover:before {
content: "";
z-index: -1;
-webkit-filter: blur(3px);
-ms-filter: blur(3px);
filter: blur(3px);
position: absolute;
width: 100%;
height: 100vh;
margin: 0;
padding: 0;
background-size:cover;
background-attachment: fixed;
}

#main_visual{
background: url(../images/top_mv.jpg) no-repeat center center;
background-attachment: fixed;
}
#top_services{
background: url(../images/top_services.jpg) no-repeat center center;
}
#top_performances{
background: url(../images/top_performances.jpg) no-repeat center center;
}
#top_recruit{
background: url(../images/top_recruit.jpg) no-repeat center center;
}
#top_about{
background: url(../images/top_about.jpg) no-repeat center center;
}
#top_contact{
background: url(../images/top_contact.jpg) no-repeat center center;
}

#main_visual a:before{
background: url(../images/top_mv.jpg) no-repeat center center;
}
#top_services a:before{
background: url(../images/top_services.jpg) no-repeat center center;
}
#top_performances a:before{
background: url(../images/top_performances.jpg) no-repeat center center;
}
#top_recruit a:before{
background: url(../images/top_recruit.jpg) no-repeat center center;
}
#top_about a:before{
background: url(../images/top_about.jpg) no-repeat center center;
}
#top_contact a:before{
background: url(../images/top_contact.jpg) no-repeat center center;
}

#top_main section a.top_hover:hover:before {
z-index: 1;	
transform:scale(1.1);

-moz-transition-duration:1s;
-webkit-transition-duration:1s;
-o-transition-duration:1s;
-ms-transition-duration:1s;

-moz-transition-timing-function:ease-in-out;
-webkit-transition-timing-function:ease-in-out;
-o-transition-timing-function:ease-in-out;
-ms-transition-timing-function:ease-in-out;
}

#top_main section #top_performances a.top_hover:hover,
#top_main section #top_contact a.top_hover:hover
{
color: #333 !important;
}

#top_main section .top_ttl{
z-index: 2;
}

/*----------------- inner common CSS-----------------*/

#pagetitle{
width: 100%;
height: 350px;
position: relative;
-webkit-background-size: cover !important;
background-size: cover !important;
background: url(../images/service_head.jpg) no-repeat center center;
}

.recruit{
background: url(../images/recruit_head.jpg) no-repeat center center !important;
}

.contactform{
background: url(../images/contact_head.jpg) no-repeat center center !important;
}

.about_fvg{
background: url(../images/company_head.jpg) no-repeat center center !important;
}

#pagetitle h1{
color: #fff;
font-size: 36px;
position: absolute;
z-index: 1;
top: 50%;
left: 50%;
letter-spacing: 0.2em;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
text-align: center;
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
}

#pagetitle h1 span,
span.ttl_sub{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size: 16px;
display: block;
font-weight: 400;
text-align: center;
line-height: 1.8;
letter-spacing:0.2em
}

#pagetitle:before {
content: "";
z-index: 1;
position: absolute;
width: 100%;
height: 350px;
margin: 0;
padding: 0;
background: rgba(51,51,51,0.4);
}

#subtitle{
text-align:center;
height: 350px;
overflow:hidden;
}

#subtitle h2{
font-size: 30px;
padding: 100px 0 50px;
letter-spacing: 0.2em;
}

#subtitle h2 span,
#rec_sec h2 span,
#rec_sec03 h2 span{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
padding: 12px 0 0;
display:block;
color:#c00202;
font-size:16px;
}

.sec_full h2{
font-size: 30px;
padding: 100px 0 50px;
letter-spacing: 0.2em;
}

.sec_full h2 span{
padding: 16px 0 0;
display:block;
color:#c00202;
font-size:16px;
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
}

.sec_half{
width: 100%;
overflow: hidden;
height: 500px;
}

.sec_half div{
width:50%;
height: 500px;
overflow: hidden;
}

/*----------------- Services CSS-----------------*/

.heading2 p {
font-size: 16px;
padding: 20px 0 55px;
letter-spacing: 0.em;
}

.heading,
.heading2 {
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
letter-spacing: 0.3em;
text-align: center;
height: auto;
overflow: hidden;
}

.heading h2{
font-size: 30px;
padding: 100px 0 70px;
letter-spacing: 0.2em;
}

.heading2 h2 {
font-size: 30px;
padding: 100px 0 20px;
letter-spacing: 0.2em;
}

.heading h2 span,
.h2_sub,
.h2_sub2 {
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
padding: 16px 0 0;
display: block;
color: #c00202;
font-size: 16px;
letter-spacing: 0.1em;
}

.h2_sub2{
display: inline-block !important;
}


#menu_tab {
background: #333;
width: 100%;
}

#menu_tab ul{
display: table;
width: 1200px;
height: 60px;
margin: 0 auto;
overflow: hidden;
}

#menu_tab ul li{
background: #333;
color: #fff;
width: 25%;
display: table-cell;

}

#menu_tab ul li a{
padding: 17px 0 15px;
display: block;
color: #fff;
text-align: center;
}

#menu_tab ul li a:hover{
display: block;
background: #c00202;
}

#menu_tab ul li a:active{
display: block;
background: #c00202;
}

#menu_tab ul li a small{
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
display: block;
font-size: 11px;
padding-top: 6px;
letter-spacing: 0.3em;
}

.arrow{
position: relative;
display: inline-block;
padding: 0 0 0 16px;
color: #000;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
}
.arrow::before,
.arrow::after{
position: absolute;
top: 0;
bottom: 0;
right: 14;
margin: auto;
content: "";
vertical-align: middle;
}

.arrow_btn::before{
box-sizing: border-box;
width: 22px;
height: 22px;
border: 1px solid #fff;
-webkit-border-radius: 50%;
border-radius: 50%;
}

.arrow_btn::after{
right: 23px;
width: 5px;
height: 5px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.arrow_btn:hover::after{
    right: 22px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.img_half, .draw_half{
position:relative;
}

.img_half img {
width: auto;
min-width: 100%;
height: initial;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
overflow: hidden;
}

.draw_half img {
width: 100%;
height: initial;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
overflow: hidden;
}


/* order */

#accessory .sec_half div,
.sec_half div,
#order .sec_half div,
.sec_half div{
text-align: center;
overflow: hidden;
}

.grey_bk{
background: #f5f5f5;
}

.black_bk{
background: #333;
color: #fff;
}

.red_bk{
background: #c00202;
color: #fff;
}

.sec_half div h2{
display: block;
padding: 140px 0 0;
margin: 0 auto;
letter-spacing: 0.2em;
}

#subtitle h2,
.sec_half h2,
.sec_full h2,
#rec_sec h2,
#rec_sec03 h2{
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
}

.sec_half div h2:after {
content: "";
width: 20%;
display: block;
height: 2px;
margin: 25px auto 35px;
}

.sec_half div.white_bk h2:after, .sec_half div.grey_bk h2:after {
background: #333;
}

.sec_half div.black_bk h2:after, .sec_half div.red_bk h2:after {
background: #fff;
}

.sec_full {
text-align: center;
overflow: hidden;
}

.sec_full .ordersystem{
position: relative;
width: 1200px;
min-height:700px;
text-align: initial;
display: block;
margin: 0 auto;
}

.sec_full .ordersystem img{
position:absolute;
-webkit-filter: drop-shadow(0 10px 5px rgba(0,0,0,0.2));
-moz-filter: drop-shadow(0 10px 5px rgba(0,0,0,0.2));
-o-filter: drop-shadow(0 10px 5px rgba(0,0,0,0.2));
-ms-filter: drop-shadow(0 10px 5px rgba(0,0,0,0.2));
filter: drop-shadow(0 10px 5px rgba(0,0,0,0.2));
}

.sec_full .ordersystem img:first-of-type{
top:0;
left:0;
}
.sec_full .ordersystem img:nth-of-type(2){
top:250px;
left:236px;
}
.sec_full .ordersystem img:nth-of-type(3){
top:0;
left:0;
right:0;
margin: 0 auto;
}
.sec_full .ordersystem img:nth-of-type(4){
top:250px;
right:236px;
}
.sec_full .ordersystem img:nth-of-type(5){
top:0;
right:0;
}


#order_bottom{
width:1200px;
height:278px;
background: url(../images/service3_bottom.jpg) no-repeat top center;
overflow:hidden;
margin:0 auto 100px;
display:block;
position: relative;
}
#order_bottom ul{
position: absolute;
left: 460px;
top: 65px;
list-style-type: disc;
color: #333;
text-align: left;
width: 640px;
}

#order_bottom ul li{
padding: 10px 0;
}

#subtitle h2 p{
line-height:1.6;
}


.sec_full p,
.sec_half p{
font-size: 15px;
line-height: 1.6;
}
#service3_03{
background: url(../images/service3_03bk.jpg) no-repeat center center;
background-size: cover;	
}


/* RFID */

.rfid_sec01{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.rfid_sec01 p{
text-align: left;
padding-left: 3%;
}

.rfid_sec01 p:first-of-type{
padding-top: 8%;
padding-bottom: 2%;
}
.rfid_sec01 p:last-of-type{
padding-top: 2%;
padding-bottom: 5%;
}

.sec_half div h2{
padding: 120px 0 0;
}

h2#personal_i{
	padding: 50px 0 0 !important;
}

.rfid_sec02 div{
padding: 0 3%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
}

.rfid_sec02 h2:after {
content: "";
width: 100%;
margin: 30px auto 0;
}

.rfid_sec02 h3,
.rfid_sec02 p,
.rfid_sec02 ul li{
text-align: left;
}

.rfid_sec02 h3{
padding-left: 0 !important;
font-size: 18px;
font-weight: 400;
padding: 20px 0 10px;
}

.rfid_sec02 ul{
font-size: 14px;
padding-left: 15px;
line-height: 1.6;
list-style-type: disc;
}

rfid_sec02 ul li{
list-style-type:disc;
line-height: 1.6;
}

.rfid_sec02 .draw_half img{
	width: 80% !important;
}

.rfid_sec03{
background: url(../images/rfid_img04.png) #f5f5f5 no-repeat center center;
background-size: contain;
z-index: 1;
position: relative;
width: 100%;
height: 800px;
padding: 0 3%;
}

.rfid_sec04 div{
height: 400px;
overflow: hidden;
}

.rfid_sec04 {
height: 400px !important;
overflow: hidden;
}

.rfid_sec04 .img_half img {
-webkit-transform: translate(-50%, -50%) scale(1.2);
transform: translate(-50%, -50%) scale(1.2);
}

.rfid_sec03 {
text-align: left;
}

.rfid_sec03 div#location,
.rfid_sec03 div#twf{
position: absolute;
text-align: left !important;
}

.rfid_sec03 div#location{
top: 100px;
}

.rfid_sec03 div#twf{
bottom: 100px;
}

.rfid_sec03 div#location h2,
.rfid_sec03 div#twf h2{
font-size: 30px;
padding: 0 0 40px;
letter-spacing: 0.2em;
text-align: left;
}

/* OTHER */

#other_sec01 ul,
#other_sec02 ul{
width: auto;
display: inline-block;
line-height: 1.6;
}

#other_sec03{
background: #f5f5f5;
padding-bottom: 100px;
}

#other_sec03 dl{
display: block;
margin: 0 auto;
width: 80%;
max-width: 1100px;
padding: 10px 0 100px;
}

#other_sec03 dl dt,
#other_sec03 dl dd{
display: block;
margin: 0 auto;
}
#other_sec03 dl dt{
width: 45%;
float: left;
text-align: center;
clear: both;
padding: 20px 0 40px;
}

#other_sec03 dl dd{
width: 55%;
float: right;
text-align: left;
padding: 30px 0;
line-height: 1.6;
}

.img_half img
.img_half img {
width: auto;
min-width: 100%;
height: initial;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%) scale(1.1);
transform: translate(-50%, -50%) scale(1.1);
overflow: hidden;
}

#other_sec03 dl dt img{
	transform:scale(0.8);
}

/* About FVG */


#about01,
#about02{
width: 1200px;
margin: 0 auto 100px;
}

#about01 h2,
#about02 h2{
font-size: 30px;
padding: 100px 0 50px;
letter-spacing: 0.2em;
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
}

.h2_sub2 {
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
padding: 20px 0 16px;
color: #c00202;
font-size: 16px;
}
#about01 table,
#about01 table,
#rec_sec04 table{
width: 100%;
margin: 0 auto;
}
table{
	border-collapse:collapse;
	
}

#about01 table tr, #about02 table tr, #rec_sec04 table tr{
    border-bottom: 1px dotted #999;
}

#about01 table tr th, #about01 table tr td,
#about02 table tr th, #about02 table tr td,
#rec_sec04 table tr th, #rec_sec04 table tr td{
padding: 15px 0;
font-size: 14px;
line-height: 1.8;
}

#about01 table tr td, #about02 table tr td{
color: #666;
}

#about01 table tr th,
#about02 table tr th,
#rec_sec04 table tr th{
font-weight: 500 !important;
text-align: left;
/*vertical-align: top;	*/
}

#about01 table tr th{
width: 350px;
}
#about02 table tr th{
width: 500px;
}

#about01 table tr td dl{
padding-bottom: 40px;
}

#about01 table tr td dl dt,
#about01 table tr td dl dd{
display: block;
text-align: left;
}
#about01 table tr td dl dt{
width: 20%;
float: left;
}
#about01 table tr td dl dd{
width: 80%;
float: right;
}
#about01 ul{
width: 70%;
}

#about01 ul li{
width: 33%;
display: block;
float: left;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

#about01 ul li:before{
content:"";
width: 4px;
height: 2px;
background: #555;
display: inline-block;
vertical-align:middle;
margin: 0 5px 1px;
}

#about01 ul li:nth-child(3n+1) {
clear: both;
}

#about{
background: url(../images/about_img_bk.png) no-repeat right;
}

/* recruit */

#rec_sec,
#rec_sec03 {
text-align: center;
height: auto;
overflow: hidden;
}

#rec_sec h2,
#rec_sec03 h2{
font-size: 30px;
padding: 100px 0 70px;
letter-spacing: 0.2em;
}

#recruit-ja section div{
text-align: center;
}
#recruit-en section div{
text-align: center;
}
#recruit-cn section div{
text-align: center;
}

#recruit-ja section h3{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
font-size: 21px;
margin: 100px auto 40px;
}
#recruit-en section h3{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
font-size: 21px;
margin: 100px auto 40px;
}
#recruit-cn section h3{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: 400;
font-size: 21px;
margin: 100px auto 40px;
}

#recruit-ja #rec_sec02 ul{
max-width: 500px;
display: block;
margin: 0 auto !important;
text-align: left;
line-height: 1.6;
}
#recruit-en #rec_sec02 ul{
max-width: 500px;
display: block;
margin: 0 auto !important;
text-align: left;
line-height: 1.6;
}
#recruit-cn #rec_sec02 ul{
max-width: 500px;
display: block;
margin: 0 auto !important;
text-align: left;
line-height: 1.6;
}

#recruit-ja #rec_sec02 ul li{
position: relative;
display: block;
padding: 0 0 5px 50px;
color: #000;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
line-height: 1.6;
}
#recruit-en #rec_sec02 ul li{
position: relative;
display: block;
padding: 0 0 5px 50px;
color: #000;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
line-height: 1.6;
}
#recruit-cn #rec_sec02 ul li{
position: relative;
display: block;
padding: 0 0 5px 50px;
color: #000;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
line-height: 1.6;
}

#recruit-ja #rec_sec02 ul li::before,
#recruit-ja #rec_sec02 ul li::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}
#recruit-en #rec_sec02 ul li::before,
#recruit-en #rec_sec02 ul li::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}
#recruit-cn #rec_sec02 ul li::before,
#recruit-cn #rec_sec02 ul li::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

#recruit-ja #rec_sec02 ul li::before{
box-sizing: border-box;
width: 22px;
height: 22px;
background: #f5f5f5;
}
#recruit-en #rec_sec02 ul li::before{
box-sizing: border-box;
width: 22px;
height: 22px;
background: #f5f5f5;
}
#recruit-cn #rec_sec02 ul li::before{
box-sizing: border-box;
width: 22px;
height: 22px;
background: #f5f5f5;
}

#recruit-ja #rec_sec02 ul li::after{
left: 8px;
width: 5px;
height: 8px;
border-bottom: 1px solid #555;
border-right: 1px solid #555;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#recruit-en #rec_sec02 ul li::after{
left: 8px;
width: 5px;
height: 8px;
border-bottom: 1px solid #555;
border-right: 1px solid #555;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
#recruit-cn #rec_sec02 ul li::after{
left: 8px;
width: 5px;
height: 8px;
border-bottom: 1px solid #555;
border-right: 1px solid #555;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#rec_sec04 table{
max-width: 1200px;
width: 100%;
margin: 0 auto 100px;
}

span.rec_cap{
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
letter-spacing: 0.3em;
font-size: 30px;
color: #fff;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
z-index:1;
text-shadow: 0 0 10px rgba(0,0,0,0.5), 0 0 15px rgba(0,0,0,0.5);
}

#rec_sec01 p{
padding: 10px 0;
}

/* contact */

a.tel{
	color: #fff;
}

a.tel:hover{
	color: #c00202;
}

span.fax{
	color: #fff;
}

section#cont_sec01,
section#cont_sec02,
section#cont_sec03,
section#cont_sec04{
display: block;
width: 100%;
padding: 0;
margin: 0;
clear: both;
}

#tokyo,
#osaka,
#dhaka,
#phnompenh,
#shanghai,
#indonesia,
#hongkong,
#global
{
width: 50%;
}

#tokyo,
#dhaka,
#shanghai,
#indonesia{
float: left;
}

#osaka,
#phnompenh,
#hongkong,
#global{
float: right;
}

#map01,
#map02,
#map03,
#map04,
#map05,
#map06,
#map07,
#map08{
width: 50%;
height: 400px;
display: block;
}

#tokyo, #dhaka, #shanghai, #indonesia, 
#map01, #map02, #map05, #map06,
#dhaka .bldg_area, #phnompenh .bldg_area,
#indonesia .bldg_area, #global .bldg_area{
float: left;
}

#dhaka .bldg_area:after, #map02:after{
contact:"";
position: absolute;
right: 0;
border-right: 50px solid rgba(90,90,90,0.7);
}

#map03, #map04, #map07, #map08,
#tokyo .bldg_area, #osaka .bldg_area,
#shanghai .bldg_area, #hongkong .bldg_area{
float: right;
}


#map01:before, #map02:before,
#map05:before, #map06:before{
content: "";
z-index: 1;
position: absolute;
width: 0%;
height: 0;
top: 50%;
right: 0;
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
z-index: 100;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#map01:before, #map02:before{
border-top: 25px solid transparent;
border-left: 25px solid transparent;
border-bottom: 25px solid transparent;
border-right: 25px solid rgba(100,100,100,0.8);
}
#map05:before, #map06:before{
border-top: 25px solid transparent;
border-left: 25px solid transparent;
border-bottom: 25px solid transparent;
border-right: 25px solid rgba(200,40,40,0.7);
}

#map03:before, #map04:before,
#map07:before, #map08:before{
content: "";
z-index: 1;
position: absolute;
width: 0%;
height: 0;
top: 50%;
left: 0;
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
z-index: 100;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#map03:before, #map04:before{
border-top: 25px solid transparent;
border-right: 25px solid transparent;
border-bottom: 25px solid transparent;
border-left: 25px solid  rgba(100,100,100,0.8);
}
#map07:before, #map08:before{
border-top: 25px solid transparent;
border-right: 25px solid transparent;
border-bottom: 25px solid transparent;
border-left: 25px solid rgba(200,40,40,0.7);
}
.bldg_area img{
transform: scale(1.2);
}

@media screen and (min-width: 1800px) {
.bldg_area img{
transform: scale(1.8);
}
}

.map,
.bldg_area{
display: block;
width: 50%;
color: #fff;
overflow: hidden;
}

.bldg_area {
position: relative;
}
.bldg_area:before {
content: "";
z-index: 1;
position: absolute;
width: 100%;
height: 400px;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
color: #fff;
overflow: hidden;
float: left !important;
}

#cont_sec01 .bldg_area:before{
background: rgba(90,90,90,0.7);
}
#cont_sec02 .bldg_area:before{
background: rgba(200,40,40,0.7);
}
.bldg_area h3{ 
font-family: 'Century Gothic' , CenturyGothic , "Apple Gothic" , AppleGothic , sans-serif;
letter-spacing: 0.3em;
font-size: 30px;
color: #fff;
position: absolute;
top: 36%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
color: #fff;	
z-index: 2;
text-shadow: 0 0 10px rgba(0,0,0,0.5), 0 0 15px rgba(0,0,0,0.5);
display: block;
width: 100%;
}

.bldg_area div{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
width: 90%;
font-weight: 400;
font-size: 14px;
color: #fff;
position: absolute;
top: 60%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
color: #fff;	
z-index: 3;
text-shadow: 0 0 10px rgba(0,0,0,0.5), 0 0 15px rgba(0,0,0,0.5);
}

#pagetitle h1 span.h1_page_sub{
font-family: 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size: 16px;
display: block;
font-weight: 400;
letter-spacing: 0.2em;
text-align: center;
}

section#mailform{
display: block !important;
width: 80%;
max-width: 980px !important;
min-width: auto;
margin: 0 auto;
}

#mw_wp_form_mw-wp-form-121 form p{
height: 65px;
margin-bottom: 20px;
background: #f6f6f6;
width: 100%;
}

#mw_wp_form_mw-wp-form-121 form p input,
#mw_wp_form_mw-wp-form-121 form p textarea{
width: 82%;
float: right;
background: #f6f6f6;
border: none !important;
height: 100%;
font-size: 16px;
}

#mw_wp_form_mw-wp-form-121 form p input{
padding: 10px;
}

#mw_wp_form_mw-wp-form-121 form p textarea {
padding: 20px;
}

.must {
display: inline-block;
color: #aa3e2e;
font-size: 16px;
}

.ml_item,
ml_textarea{
margin: 20px 2px 20px 10px;
display: inline-block;
}

#mw_wp_form_mw-wp-form-121 form p.ml_textarea{
height: 165px;
margin-bottom: 50px;
}

#mw_wp_form_mw-wp-form-121 form .confirm{
width: 100%;
height: 65px;
display: block;
font-size: 16px;
margin: 0 auto;
border: none;
background: #333;
color: #fff;
margin-bottom: 120px;
}

.mw_wp_form .ml_textarea .error{
padding: 110px 0;
}

#mw_wp_form_mw-wp-form-121 form p:last-of-type{
margin-bottom: 120px;
}

#complete_p{
font-size: 16px;
line-height: 1.6;
margin-bottom: 120px;
}

input[type="text"]:focus,
input:not([type="image" i]):focus,
textarea:focus
{
outline: 0;
}

#twf p{
text-shadow: 5px 5px 10px rgba(240,240,240,1), 20px 5px 5px rgba(240,240,240,1), 5px 15px 5px rgba(240,240,240,1);
}

#bd_ltd{
	font-size: 24px;
	line-height: 1.4;
}

.works{
background: url(../images/works_head.jpg) no-repeat center center !important;
}
