@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Heebo);
@import url(https://fonts.googleapis.com/css?family=Crimson+Text);
@import url(https://fonts.googleapis.com/css?family=Montserrat);
@import url(https://fonts.googleapis.com/css?family=Lora);
@font-face { font-family: 'myriadpro'; src: url(fonts/myriadpro-light.otf); }


/* layout */
/*=================================
	initialization of style
===================================*/
body {
	margin: 0;
	padding: 0;
	background:#ffffff;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 150%;
	text-align: center;
	width: 100%;
	height: 100%;
	word-break: break-word;
}

a:link,
a:visited {
	text-decoration: none;
	color: #222;
}
a:hover,
a:active {
	text-decoration: none;
	color: #222;
	opacity: 0.7;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
figure,figcaption,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,ol,li,form {
	margin: 0;
	padding: 0;
}
img, a img {
	border:none;
	vertical-align: bottom;
}

a img:hover {
 filter: alpha(opacity=75);
 -moz-opacity:0.75;
 opacity:0.75;
}


/* List_group */
ul,ol,li { list-style: none;}

/* inline-style */
address {
	font-style: normal;
	font-size: 12px;
	color: #020202;
}
	address a,
	address a:link,
	address a:visited {
		text-decoration: none;
		color: #020202;
	}
	address a:hover,
	address a:active {
		text-decoration: underline;
		color: #020202;
	}

/* table */
table { width:100%;}
tr,th,td {}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.tsn,a{
	-webkit-transition: 0.4s;
       -moz-transition: 0.4s;
         -o-transition: 0.4s;
        -ms-transition: 0.4s;
            transition: 0.4s;
}
.crimson{/*font-family: 'Crimson Text', serif;*/ font-family: 'Lora', serif;}
.arimo{font-family: 'Montserrat', sans-serif; }
.myriadpro{font-family: 'myriadpro', sans-serif; }
.clear{ clear: both!important; display: block!important; width: 100%!important; height: 1px!important; }
.inner1000{ width: 100%; max-width: 1000px; margin: 0 auto; }

/*=============================
	common setting
===============================*/
.loading{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000000000;
  width: 100%;
  display: block;
  background: rgba(30,31,34,1);
  height: 100%;
  transition: 1s;
  -webkit-transition: 1s;
  -ms-transition: 1s;
  -moz-transition: 1s;
}
.spinner {
  margin: 100px auto;
  width: 55px;
  height: 55px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

.cube1, .cube2 {
  background-color: #fff;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
  animation: sk-cubemove 1.8s infinite ease-in-out;
}

.cube2 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

@-webkit-keyframes sk-cubemove {
  25% { -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5) }
  50% { -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg) }
  75% { -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5) }
  100% { -webkit-transform: rotate(-360deg) }
}

@keyframes sk-cubemove {
  25% { 
    transform: translateX(42px) rotate(-90deg) scale(0.5);
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
  } 50% { 
    transform: translateX(42px) translateY(42px) rotate(-179deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
  } 50.1% { 
    transform: translateX(42px) translateY(42px) rotate(-180deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
  } 75% { 
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
  } 100% { 
    transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg);
  }
}


.btns{ max-width: 240px; width: 100%; }
.btns a{
    display: inline-block;
    font-weight: bold;
    text-decoration: none;
    color: #FFF;
    padding: 0.3em 0.5em;
    background: #011936;
    border: solid 1px #011936;
    transition: 0.4s;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    font-size: 23px;
    font-weight: 400;
    letter-spacing: 3px;
    font-family: 'Crimson Text', serif;
}
.btns a:hover{
    background: #fff;
    color: #011936;
    opacity: 1;
}


/* header
-------------------------*/
header .head_bar{
	background: rgba(30,31,34,1);
	z-index: 100;
}
header .head_bar .logo_area{
	float: left;
    max-width: 108px;
    width: 30%;
    padding: 8px 0 8px 30px;
}
header .head_bar .logo_area a,
header .head_bar .logo_area img{display: block; width: 100%;}
header .head_bar .logo_area a{
	background: url(../images/common/logo02.png) no-repeat center;
	background-size: 90%;
}
header .right_clmn{
	float: right;
	width: 70%;
	text-align: right;
}
header .right_clmn nav > ul{
    padding-right: 46px;
    padding-top: 15px;
}
header .right_clmn nav > ul > li{
	display:inline-block;
	text-align: center;
}
header .right_clmn nav > ul > li a{
	display: block;
	padding: 12px 28px;
	font-weight: 400;
	font-size: 12px;
    letter-spacing: 2px;
	color: #f2efed;
	text-shadow: 0 0 4px #000;
	-moz-text-shadow: 0 0 4px #000;
	-ms-text-shadow: 0 0 4px #000;
	-webkit-text-shadow: 0 0 4px #000;
	cursor: pointer;
}
header .right_clmn nav > ul > li:hover > a{
	color: #fff;
	background: #011936;
	text-decoration: none;
	opacity: 1;
}
header .right_clmn nav > ul > li > a{
	text-shadow: inherit;
	-moz-text-shadow: inherit;
	-ms-text-shadow: inherit;
	-webkit-text-shadow: inherit;
	cursor: pointer;
}
header .right_clmn nav > ul > li:hover > a{
    background: #fff;
    color: rgba(30,31,34,1);
}
.clear_btn,
.sp_nav,
header #sp_btn{display: none;}





header .hid_area{display: block;　position: absolute;z-index: 100000;}
header .hover_btn{position: relative;}
header .hid_area {
	position: absolute;
    left: 0;
    background: rgba(30,31,34,1);
    width: 100%;
    padding: 10px;
    z-index: 1;
    top: 46px;
    text-align: left;
    opacity: 0;
}
header .hid_area_in > li,
header .hid_area > li{ display: block; }

header .right_clmn nav .hid_area > li:hover > a{
	color: rgba(30,31,34,1);
	background: #fff;
	opacity: 1;
}
header .right_clmn nav .hid_area > li > a{
    padding: 8px 5px;
    text-shadow: inherit;
    color: #fff;
    font-size: 14px;
    display: block;
    line-height: 20px;
}

header .right_clmn nav ul.hid_area_in > li > a{
	display: block;
	position: relative;
	padding: 0 15px;
	font-weight: bold;
	font-size: 18px;
	border-right: 1px dotted #7b7b7b;
}
header .right_clmn nav ul.hid_area_in > li:last-child > a{border-right: none;}
header .right_clmn nav ul.hid_area_in > li:hover > a{ color: #000f7d; opacity: 1; text-decoration: underline;}
header #srch_area{
    position: absolute;
    right: 0;
    margin-top: 2px;
}

















/* footer
-------------------------*/
footer{ background: #f8f8f8; padding: 50px 0 0 0; }
footer .inner1000{ padding: 10px; }
footer .left{
	float: left;
	width: 49%;
}
footer .left a{
	display: block;
	font-size: 20px;
	color: rgba(30,31,34,1);
	background: #fff;
	line-height: 70px;
    max-height: 70px;
}
footer .left a:nth-child(1){ padding-right: 12px; }
footer .left a:nth-child(2){ background: #c4bbb8; margin-top: 20px; }
footer .left a span{
	background: url(../images/common/icon_pin.png) no-repeat left center;
    padding: 0 0 0 25px;
    background-size: 17px;
}
footer .left a:nth-child(2) span{
	background: url(../images/common/icon_mail.png) no-repeat left center;
	padding: 0 0 0 30px;
    background-size: 19px;
    margin-right: 11px;
}
footer .right{
	float: right;
	width: 49%;
}
footer .right a{
	background: url(../images/common/news_btn.jpg) no-repeat center;
	background-size: cover;
 	display: block;
	height: 160px;
	overflow: hidden;
	position: relative;
}
footer .right a::after{
	content: "What’s new";
	color: #fff;
	font-size: 32px;
	font-family: 'Crimson Text', serif;
	line-height: 160px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	background: rgba(1,25,54,0.6);
}
footer .right img{ display: block; width: 100%; }
footer .bg_blue{
	background: rgba(30,31,34,1);
	padding: 15px 40px;
	text-align: left;
	margin-top: 50px;
}
footer .bg_blue .ft_logo{
	max-width: 360px;
	width: 100%;
	margin-bottom: 65px;
 }
footer .bg_blue .ft_logo img,
footer .bg_blue .ft_logo a{ display: block; width: 100% }
footer .bg_blue .bt_link a{ color: #fff; padding: 0 10px; border-right: 2px solid #fff; font-size: 13px; }
footer .bg_blue .bt_link a:last-child{ border-right: none; }
footer .bg_blue .copy{
	color: #fff;
	font-size: 13px;
	text-align: center;
	width: 100%;
	line-height: 15px;
}


/*=============================
	common setting
===============================*/
.contentwrap.sub{ background: #f2efed; }
.inner1000{
	max-width: 1000px;
	width: 100%;
	margin;: 0 auto;
	display: block;
}
.ttl01{
	color: rgba(30,31,34,1);
	font-size: 38px;
	line-height: 70px;
	display: inline-block;
	position: relative;
	padding-bottom: 45px;
	font-weight: 400;
    letter-spacing: 5px;
}
.ttl01::after{
	content: " ";
	position: absolute;
	bottom: 0px;
	left: 0;
	right: 0;
	margin: auto;
	background: #c4bbb8;
	width: 1px;
	height: 45px;
}
.ttl02 {
    font-size: 28px;
    line-height: 40px;
    background: #f5f5f5;
    color: rgba(30,31,34,1);
    padding: 10px;
    letter-spacing: 1px;
    font-weight: 400;
    border-left: 5px solid #011936;
}
.ttl03 {
    letter-spacing: 2px;
    font-size: 25px;
    font-weight: bold;
    line-height: 35px;
}
.read_link{ display: inline-block; }
.read_link .links{
	display: block;
	color: rgba(30,31,34,1);
	font-weight: 400;
	font-size: 17px;
	padding: 0 30px 0 0;
	border-bottom: 1px solid #011936;
	cursor: pointer;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-ms-transition: 0.4s;
	-moz-transition: 0.4s;
}

.table_conts{ text-align: left; }
.table_conts td{ font-size: 14px; line-height: 25px; color: rgba(30,31,34,1); vertical-align: middle; padding: 10px; }
.table_conts td span{ color: #ff0000; padding-left: 5px;  }
.table_conts td:nth-child(1){ background: #f0f0f0; width: 300px; }
.table_conts td:nth-child(2){ width: calc( 100% - 300px; ) }
.table_conts td input{
	width: 100%;
	height: 35px;
	padding: 5px;
}
.table_conts td textarea{
	width: 100%;
	height: 300px;
	padding: 5px;
}
.table_conts td a.map_link{
	position: relative;
	padding: 0 15px 0 5px;
    font-size: 11px;
    letter-spacing: 2px;
    display: inline-block;
    vertical-align: bottom;
    margin-left: 10px;
    border: 1px solid #000;
    font-weight: bold;
    cursor: pointer;
    background: rgba(30,31,34,1);
    color: #fff;
}
.table_conts td a.map_link::after{
	content: " ";
	position: absolute;
	top: 0;
	right: 6px;
	bottom: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 4px;
	border-color: transparent transparent transparent #fff;
}

.submit{
    position: relative;
    display: inline-block;
    font-weight: bold;
    text-decoration: none;
    color: #FFF;
    padding: 0.3em 0.5em;
    background: #011936;
    border-top: solid 3px #00a3d4;
    border-bottom: solid 3px #00a3d4;
    transition: .4s;
    width: 240px;
    font-size: 23px;
    font-weight: 400;
    letter-spacing: 3px;
    font-family: 'Crimson Text', serif;
}


/*=============================
	top-page setting
===============================*/
.top_page header{ position: relative; }
.top_page header .head_bar {
    background: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100000;
}
header .head_bar.fixed_nav{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(30,31,34,1);
	z-index: 100000;
	transition: 1s;
	-webkit-transition: 1s;
	-moz-transition: 1s;
	-ms-transition: 1s;
}
.top_page header .head_bar .logo_area a{
	background: url(../images/common/logo02.png) no-repeat center;
	background-size: 90%;
}
.top_mv{
	background: rgba(30,31,34,1);
}
.top_mv .mv_txt{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	height: 250px;
	color: #fff;
	text-align: center;
	z-index: 10;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	-ms-transition: 0.4s;
	opacity: 0;
}
.top_mv .mv_txt.opa{ opacity: 1; }
.top_mv .mv_txt h2{
	font-weight: 400;
	font-size: 4vw;
    line-height: 5vw;
    letter-spacing: 5px;
}
.top_mv .mv_txt .line{
	width: 1px;
	height: 110px;
	background: #fff;
	margin: 5px auto 15px auto;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	-ms-transition: 0.4s;
}
.top_mv .mv_txt .sub_txt{
	font-size: 18px;
    font-weight: 400;
    letter-spacing: 2px;
}
.op_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/top/mv.jpg) no-repeat center bottom;
	background-size: cover;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	-ms-transition: 0.4s;
	opacity: 0;
	z-index: 1;
}

/*	top_conts
------------------------*/
.top_conts .ttl01{ margin-bottom: 30px; }

/*	top_conts01
------------------------*/
.top_conts01{ padding: 100px 10px; }
.top_conts01 .page_link{ overflow: hidden; }
.top_conts01 .page_link li{
	float: left;
	width: 30%;
	margin-right: 5%;
	position: relative;
}
.top_conts01 .page_link li:last-child{ margin-right: 0; }
.top_conts01 .page_link li img{ display: block; width: 100%; }
.top_conts01 .page_link li a{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background: url(../images/top/top01.png) no-repeat right bottom, rgba(30,31,34,1);
	width: 100%;
    height: 100%;
    color: #c4bbb8;
    text-align: left;
    padding: 50% 20px 20px 20px;
    font-size: 25px;
    letter-spacing: 1px;
	text-shadow: 1px 1px 2px #011936, -1px 1px 2px #011936, 1px -1px 2px #011936, -1px -1px 2px #011936;
}
.top_conts01 .page_link li:nth-child(2) a{background: url(../images/top/top02.png) no-repeat right bottom, rgba(30,31,34,1);}
.top_conts01 .page_link li:nth-child(3) a{background: url(../images/top/top04.png) no-repeat right bottom, rgba(30,31,34,1);}
.top_conts01 .page_link li::after{
	content: " ";
	position: absolute;
	top: 20px;
	left: 20px;
	width: 1px;
	height: 36%;
	background: #c4bbb8;
}
.top_conts01 .page_link li span{
	transition: 0s;
	-webkit-transition: 0s;
	-ms-transition: 0s;
	-moz-transition: 0s;
	transform: rotateY( 0deg ) ;
	-webkit-transform: rotateY( 0deg ) ;
	-ms-transform: rotateY( 0deg ) ;
	-moz-transform: rotateY( 0deg ) ;
	display: inline-block;
}


/*	top_conts02
------------------------*/
.top_conts02{ padding: 0 10px 100px 10px; }
.top_conts02 .project_first{ text-align: left; position: relative; overflow: hidden; margin-bottom: 80px; }
.top_conts02 .project_first .left{ float: left; width: 40%; position: relative; z-index: 0; }
.top_conts02 .project_first .right{ float: right; width: 55%; }
.top_conts02 .project_first .right img{ display: block; width: 100%; }

.top_conts02 .project_first a{display: block; position: relative;}
/*.top_conts02 .project_first .left a::after{
	content: "01";
    z-index: -1;
    font-style: italic;
    position: absolute;
    top: 35px;
    right: -125px;
    bottom: 0;
    margin: auto;
    font-size: 350px;
    color: #eef0f3;
    font-family: 'Crimson Text', serif;
    line-height: 260px;
    text-align: center;
    text-shadow: 1px 1px 20px #fff;
	transition: 1s;
	-webkit-transition: 1s;
	-ms-transition: 1s;
	-moz-transition: 1s;
}*/
.top_conts02 .project_first .pro_ttl{
	color: rgba(30,31,34,1);
	font-size: 38px;
	line-height: 50px;
	margin-bottom: 30px;
}
.top_conts02 .project_first .pro_txt{
	font-size: 15px;
	line-height: 25px;
	color: #997545;
	margin-bottom: 35px;
}
.top_conts02 .project_link{ overflow: hidden; }
.top_conts02 .project_link li{
	width: 31%;
	margin-right: 3.5%;
	display: block;
	float: left;
	text-align: left;
}
.top_conts02 .project_link li a{ display: block; padding-bottom: 40px; position: relative;}
.top_conts02 .project_link li:last-child{ margin-right: 0; }
.top_conts02 .project_link li img{ display: block; width: 100%; margin-bottom: 10px; }
.top_conts02 .project_link li .pro_ttl{
	font-size: 26px;
	line-height: 30px;
	color: rgba(30,31,34,1);
	padding: 0;
	position: relative;
	margin-bottom: 10px;
}
/*.top_conts02 .project_link li .pro_ttl::after{
    content: "02";
    font-style: italic;
    color: rgba(30,31,34,1);
    font-weight: 500;
    font-size: 30px;
    position: absolute;
    top: 0;
    right: 5px;
}
.top_conts02 .project_link li:nth-child(2) .pro_ttl::after{ content: "03"; }
.top_conts02 .project_link li:nth-child(3) .pro_ttl::after{ content: "04"; }*/
.top_conts02 .project_link li .pro_conts p{
	display: block;
    font-size: 15px;
    line-height: 25px;
    color: #997545;
}
.top_conts02 .project_link .read_link{
	position: absolute;
	bottom: 0;
	left: 0;
}
.top_conts02 .btns{
	margin: 100px auto 0 auto;
}

/*	top_conts03
------------------------*/
.top_conts03{
	padding: 20px 10px 30px 10px;
	text-align: left;
	background: url(../images/top/recruit.jpg) no-repeat center;
	background-size: cover;
	position: relative;
}
.top_conts03 a{display: block;}
.top_conts03 .inner1000{ position: relative; }
.top_conts03 .ttl01{ margin-bottom: 15px; }
.top_conts03 .ttl01::after{ right: inherit; }
.top_conts03 .sub_txt{
	font-size: 14px;
	line-height: 25px;
	color: #997545;
	width: 450px;
}
.top_conts03 .read_link{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 30px;
}

/*=============================
	history-page setting
===============================*/
.history{ text-align: center; padding: 70px 0 100px 0; overflow: hidden; }
.history .ttl01{ margin-bottom: 15px; }
.history .sub_txt{
	color: #a1825c;
	font-size: 14px;
	line-height: 25px;
	margin-bottom: 40px;
}
.history .history_list li {
	float: left;
	width: 20%;
	display: block;
	position: relative;
	overflow: hidden;
	transition: inherit;
	transition: 0.2s;
}
.history .history_list li:hover{
	transform: scale(1.1);	/*画像の拡大率*/
	z-index: 100;
	transition: 0.6s;
	border-radius: 4px;
}
.history .history_list li.arrow_l:hover,
.history .history_list li.arrow_r:hover{
	transform: inherit;
}
.history .history_list li img{ display: block; width: 100%; }
.history .history_list li .his_conts{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	display: block;
	width: 110%;
	height: 120%;
	text-align: center;
	background: #c4bbb8;
	padding: 23% 10% 15% 0;
	overflow: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
    overflow-x: scroll;
}
.history .history_list li .year{
	display: block;
	font-size: 35px;
	margin-bottom: 10%;
	text-align: center;
	color: rgba(30,31,34,1);
}
.history .history_list li .his_conts.his_conts_next{ background: #011936; }
.history .history_list li .his_conts.his_conts_next .year { color: #c4bbb8; }
.history .history_list li .conts_txt{
	font-size: 14px;
	line-height: 30px;
	padding: 0 5%;
    display: block;
    color: rgba(30,31,34,1);
}
.history .history_list li .conts_txt b{ font-weight: 400; color: #fff; }
.history .history_list .arrow_l{
	background: url(../images/history/arrow_l.png) no-repeat center, #011936;
	background-size: 20%;
}
.history .history_list .arrow_r{
	background: url(../images/history/arrow_r.png) no-repeat center, #011936;
	background-size: 20%;
}
.history .history_list .arrow_none{ background: #011936; }

/*=============================
	privacy-page setting
===============================*/
.pri_conts{ padding: 100px 10px;}
.pri_conts .inner1000{ margin-bottom: 50px; }
.pri_conts .ttl01{ margin-bottom: 20px; }
.pri_conts .ttl02{ margin-bottom: 30px; text-align: left; font-weight: 400; }
.pri_conts .ttl03{ margin-bottom: 10px; text-align: left; font-weight: 400; }
.pri_conts .pri_list li,
.pri_conts p{
	font-size: 18px;
	line-height: 30px;
	text-align: left;
}
.pri_conts .pri_list{ padding-left: 20px; margin: 10px 0;}
.pri_conts .pri_list li {
    list-style: initial;
    text-align: left;
}


/*=============================
	contact-page setting
===============================*/
.ct_conts{ padding: 100px 10px; }
.ct_conts .ttl01{ margin-bottom: 15px; }
.ct_conts p{ font-size: 14px; line-height: 25px; color: #a1825c; }
.ct_conts .table_conts{ margin: 30px 0; }

/*=============================
	recruit-page setting
===============================*/
.rec_conts{ padding: 100px 10px; }
.rec_conts .ttl01{ margin-bottom: 30px; }
.rec_conts .none_cur{ font-size: 45px; line-height: 30px; }



/*=============================
	sitemap-page setting
===============================*/
.sm_conts{ padding: 100px 10px; }
.sm_conts .ttl01{ margin-bottom: 30px; }
.sm_conts .page_link{ overflow: hidden; }
.sm_conts .page_link li{
	float: left;
	width: 31%;
	margin-right: 3.5%;
	margin-bottom: 2.5%;
	position: relative;
}
.sm_conts .page_link li:nth-child(3n){ margin-right: 0; }
.sm_conts .page_link li img{ display: block; width: 100%; }
.sm_conts .page_link li a{
	display: block;
	background: url(../images/sitemap/sitemap01.png) no-repeat right bottom, #011936;
	width: 100%;
    height: 100%;
    color: #fff;
    text-align: left;
    padding: 10px;
    font-size: 20px;
    letter-spacing: 3px;
}
.sm_conts .page_link li span{
	transition: 0s;
	-webkit-transition: 0s;
	-ms-transition: 0s;
	-moz-transition: 0s;
	transform: rotateY( 0deg ) ;
	-webkit-transform: rotateY( 0deg ) ;
	-ms-transform: rotateY( 0deg ) ;
	-moz-transform: rotateY( 0deg ) ;
	display: inline-block;
}


/*=============================
	company-info-page setting
===============================*/
.info_conts{ padding: 100px 10px; }
.info_conts .inner1000{ margin-bottom: 80px; }
.info_conts .ttl01{ margin-bottom: 30px; }
.info_conts .w_clm{ overflow: hidden; text-align: left;}
.info_conts iframe{ display: block; width: 100%; border: none; height: 300px; margin-top: 80px; }
.info_conts .w_clm img{ display: block; width: 100%; height: auto; }
.info_conts .w_clm .left{ float: left; width: 48%; }
.info_conts .w_clm .right{ float: right; width: 48%; font-size: 14px; line-height: 25px; }
.info_conts .w_clm p{ font-size: 14px; line-height: 25px; }
.info_conts .w_clm .ttl02{
	margin-bottom: 15px;
    border: none;
    background: none;
    padding-left: 0;
}
#location {
    padding-top: 90px;
    margin-top: -90px;
}


/*=============================
	our-project-page setting
===============================*/
.project{ padding: 0 0 100px 0; background: #fff; }
.project .inner1000{
	margin-bottom: 80px;
    margin-top: 30px;
    background: rgba(255,255,255,1);
    padding: 20px;
}
.project .gallery li:nth-child(4n){ margin-right: 0; }
.project .gallery li img,
.project .gallery li a{ direction: block; width: 100%; }
.project #gallery {width: 100%;}
/*.project #gallery li{ display: block!important; }*/
.project #gallery li a,
.project #gallery li img{
	display: block;
	width: 100%;
}
.project #gallery li img:hover,
.project #gallery li a:hover{ opacity: 1; }
.project .detail_ttl{
	font-size: 35px;
	letter-spacing: 5px;
	line-height: 50px;
	margin-bottom: 50px;
	font-weight: 400;
	color: #1e1f23;
}
.project .detail_ttl span{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	color: #997545;
	display: block;
	margin-bottom: 10px;
}
.project .w_clmn{
	overflow: hidden;
	text-align: left;
}
.project .w_clmn .left{
	float: left;
	width: 70%;
}
.project .w_clmn .left {
	font-size: 16px;
	line-height: 30px;
}
.project .w_clmn p{
	font-size: 14px;
	color: rgba(30,31,34,1);
}
.project .w_clmn p.crimson{
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 30px;
	font-style: italic;
	letter-spacing: 1px;
}
.project .w_clmn .right{
	float: right;
	width: 28%;
	background: #c4bbb8;
	padding: 20px;
}
.project .w_clmn .right dl{ margin-bottom: 15px; font-size: 14px; color: rgba(30,31,34,1); }
.project .w_clmn .right dl:last-child{ margin-bottom: 0; }
.project .w_clmn .right dl dt{ color: #fff; margin-bottom: 0px; }
.project .btn_project{
	font-size: 20px;
	display: block;
	text-align: left;
	margin-top: 40px;
}
.project .btn_project a{
	display: inline-block;
	color: #1e1f23;
	border-bottom: 1px solid #1e1f23;
	font-size: 17px;
	padding: 0 10px 10px 0;
}
.slick-slide img{
  transform: scale(1)!important;
  -webkit-transform: scale(1)!important;
  -ms-transform: scale(1)!important;
  -moz-transform: scale(1)!important;

  transition: 8s!important;
  -webkit-transition: 8s!important;
  -ms-transition: 8s!important;
  -moz-transition: 8s!important;
}
.slick-slide.slick-current.slick-active.moving img{
  transform: scale(1.1)!important;
  -webkit-transform: scale(1.1)!important;
  -ms-transform: scale(1.1)!important;
  -moz-transform: scale(1.1)!important;
}

/*=============================
	project-arcv-page setting
===============================*/
.project_arcv{ padding: 100px 10px 200px 10px; }
.project_arcv .ttl01{ margin-bottom: 40px; }
.project_arcv .ttl_project{ margin-bottom: 10px; font-size: 28px; color: rgba(30,31,34,1); font-weight: 400; line-height: 40px; }
.project_arcv .ttl_project span{ margin-bottom: 5px; color: #997545; display: block; font-size: 19px; line-height: 25px; font-style: italic; }
.project_arcv .w_clm{ overflow: hidden; text-align: left; }
.project_arcv .w_clm:last-child{ margin-bottom: 0; }
.project_arcv .w_clm{ position: relative; }
.project_arcv .w_clm:nth-last-child(2)::after,
.project_arcv .w_clm:last-child::after{
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    /* bottom: 0; */
    margin: auto;
    content: "NEW";
    z-index: 1;
    font-style: italic;
    position: absolute;
    font-size: 40px;
    color: #eef0f3;
    font-family: 'Crimson Text', serif;
    line-height: 40px;
    text-align: left;
    text-shadow: 1px 1px 20px rgba(30,31,34,1);
    transition: 1s;
    -webkit-transition: 1s;
    -ms-transition: 1s;
    -moz-transition: 1s;
    height: 40px;
    padding-left: 5px;
}
.project_arcv .w_clm:nth-last-child(2n+1)::after{ text-align: right; padding-right: 20px; }
.project_arcv .w_clm.first_clm.second_clm::after{
	padding-right: 20px;
    text-align: right;
}
.project_arcv .w_clm a{ overflow: hidden; display: block; }
.project_arcv .w_clm img{ display: block; width: 100%; min-height: 370px; }
.project_arcv .w_clm .left{ float: right; width: 50%; }
.project_arcv .w_clm .right{
	float: left;
	width: 50%;
	text-align: right;
	padding: 30px 30px 10px 30px;
	position: relative;
    z-index: 100;
}
.country_name.crimson { margin-bottom: 10px; font-size: 16px; }
.project_arcv .w_clm p{ font-size: 14px; line-height: 20px; }
.project_arcv .w_clm .ttl02{ margin-bottom: 15px; }
.project_arcv .w_clm:nth-child(2n) .left{ float: left; }
.project_arcv .w_clm:nth-child(2n) .right{ float: right; text-align: left; color: rgba(30,31,34,1);}
.project_arcv .view_btn{
	font-weight: 400;
    letter-spacing: 1px;
    font-size: 17px;
    color: rgba(30,31,34,1);
    border-bottom: 1px solid rgba(30,31,34,1);
    padding: 0 10px 10px 0;
    margin-top: 30px;
    display: inline-block;
    }

/*=============================
	network-page setting
===============================*/
.nw_conts {
    padding: 100px 10px 5%;
}
.nw_conts .ttl01{ margin-bottom: 25px; }
.nw_conts .maps{
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
}
.nw_conts .map_img{/*
	border: 2px solid #ddd;*/
	/*padding: 5px;*/
	width: 100%;
	margin: 0 auto;
	display: block;
}
.nw_conts .maps .fadeArea{
	background: #f8f8f8;
	/*border: 2px solid #ddd;*/
    padding: 5px;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 23%;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-ms-transition: 0.4s;
	-moz-transition: 0.4s;
}
.nw_conts .maps .fadeArea .fade img,
.nw_conts .maps .fadeArea .fade li,
.nw_conts .maps .fadeArea .fade{
	width: 100%;
	height: auto;
	display: block;
	word-wrap: break-word;
}
.nw_conts map.pn,
.nw_conts .maps img.pn{ display: none; }
.nw_conts .maps .fadeArea .fade{ padding: 15px 10px 10px 10px; }
.nw_conts .maps .fadeArea .fade li{ margin-bottom: 10px; color: rgba(30,31,34,1)}
.nw_conts .maps .fadeArea .fade li.place{
	font-weight: bold;
	font-size: 35px;
	letter-spacing: 3px;
	margin-bottom: 20px;
	color: rgba(30,31,34,1);
}
.nw_conts .maps .fadeArea .fade li.address{
	position: relative;
	text-align: left;
	padding-left: 67px;
	font-size: 14px;
	line-height: 25px;
	color: rgba(30,31,34,1)
}
.nw_conts .maps .fadeArea .fade li.address::after{
	content: "Address:";
	position: absolute;
	top: 0;
	left: 0;
	font-weight: 400;
	font-size: 14px;
	color: rgba(30,31,34,1)
}
.nw_conts .maps .fadeArea .fade li.tel{
    position: relative;
    text-align: left;
    padding-left: 67px;
    font-size: 14px;
}
.nw_conts .maps .fadeArea .fade li.tel::after{
	content: "Tel:";
	position: absolute;
	top: 0;
	left: 37px;
	font-size: 14px;
	font-weight: 400;
}
.nw_conts .maps .fadeArea .fade{
	display: none;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-ms-transition: 0.4s;
	-moz-transition: 0.4s;
	opacity: 0;
}
.nw_conts .maps .fadeArea #fade04{ display: block; opacity: 1; }
.nw_conts .maps area:focus{ outline: none; }




body.top_page02{
	background: #d2d7df;
}
body.top_page02 .top_conts03 p,
body.top_page02 .top_conts02 .project_link li .pro_conts p,
body.top_page02 .top_conts02 .project_first .pro_txt{color: #ab9891;}
body.top_page02 .top_conts02 .project_first .left a::after{
	color: #f0f0f0;
	opacity: 0.4;
	text-shadow: none;
}
body.top_page03 .top_conts02 .project_first .left a::after,
body.top_page02 .top_conts02 .project_first .left a:hover::after{
	color: rgba(30,31,34,1);
}

.map_inner {
    background-color: #f2efed;
    padding-bottom: 5%;
}
.map_inner iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  
}


.pc {display: block !important;}
.sp {display: none !important;}

@media screen and (max-width: 1000px) {
.pc {display: none !important;}
.sp {display: inline-block !important;}

.map_inner {
    padding-left: 10px;
    padding-right: 10px;
}

}