@charset "utf-8";

/* Clearfix
=================================*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hide from Mac IE \*/

.clearfix {
	display: block;
}
* html .clearfix {
	height: 1%;
}

/* Hide from Mac IE */

body {
	font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝','MS PMincho',serif;
	font-size: 16px;
	line-height: 1;
	color: #c7c7c7;
	background:#000;
}

i{
	font-family:"FontAwesome" !important;
}
*{
    box-sizing: border-box;
}
.box {
	opacity: 0;
	filter: alpha(opacity=0);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=0)";  /* ie 8 */
	-moz-opacity: 0;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0;              /* Safari 1.x */
	zoom: 1;

}

html,body{
     height:100%;
}
.size12 {
	font-size: 12px;
}
.size14 {
	font-size: 14px;
}
.size18 {
	font-size: 18px;
}
.size24 {
	font-size: 24px;
}
.size120 {
	font-size: 120%;
}
.size140{
	font-size: 140%;
}
.size160 {
	font-size: 160%;
}

    
    
@media screen and (min-width: 768px){
    
#wrap {
     width: 100%;
     position: relative;
     height:auto !important;
     height: 100%; /*for ie6*/
     min-height: 100%;
     background: rgba(0,0,0,0.70);

}



.wrap_dark {
     background: rgba(0,0,0,0.75) !important;

}
a {
	color: #d73f3f;
    text-decoration: none;
}
a:hover {
	text-decoration: none;
}
strong {
	color: #d73f3f;
}
a.btn {
	color: #fff;
	text-decoration: none;
}
a.btn:hover {
	color: #d73f3f;
}
.no_black {
	background: none !important;
}
#content {
	padding-bottom:43px;
}
#id #content {
	padding-bottom:0px; 
}

#nav {
	margin: 30px 0 0 0;
}
#nav p {
	font-size: 120%;
	text-decoration: none;
}

#nav ul li {
	margin: 0 0 23px 0;
}
#nav ul li a {
	display: block;
	width: auto;
    color: #FFF;
}
.nav_en {
	margin: 60px 0 0 0 !important;
}
.nav_en ul li {
	margin: 0 0 21px 0 !important;
}
    
li.sns{
    display: flex;
}  
    
li.sns a{
    display: inline-block;
    margin-right: 20px;
    margin-top: 10px;
    font-size: 30px;
}    
    
    
#ftr {
	position: fixed;
	left: 30px;
	height: 45px;
	bottom: 30px;
    font-size: 10px;
    line-height: 1.5;
}


#ftr span{
    display: block;
    font-size: 12px;
}   
#ftr small{
    display: inline-block;
    margin-top: 5px;;
}    

#left {
	width: 317px;
	float: left;
	margin: 50px 0 0 30px;
	position: fixed;
	z-index: 3;
}

#right {
	position: relative;
	width: 600px;
	float: left;
	margin: 251px 0 0 480px;
	text-align: justify;
	line-height: 1.5;
}
.box {
	margin: 0 0 160px 0;
}
.box_center,


#right p {
	margin: 0 0 24px 0;

}

.subhl {
	font-size: 28px;;
	margin: 0 0 42px 0;
}
.subh2 {
	font-size: 30px;;
	margin: 0 0 10px 0;
}

.hamburger {
  display : none;
}
    

    
    
}



@media screen and (max-width: 767px){
    
body {
	font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','HGS明朝E','ＭＳ Ｐ明朝','MS PMincho',serif;
	font-size: 13px;
	line-height: 1;
	color: #c7c7c7;
	background:#000;
}
    
#wrap {
     width: 100%;
     position: relative;
     height:auto !important;
     height: 100%; /*for ie6*/
     min-height: 100%;
     background: rgba(0,0,0,0.70);
}

.wrap_dark {
     background: rgba(0,0,0,0.75) !important;
}
    
a {
	color: #d73f3f;
    text-decoration: none;
}
a:hover {
	text-decoration: none;
}
strong {
	color: #d73f3f;
}
a.btn {
	color: #fff;
	text-decoration: none;
}
a.btn:hover {
	color: #d73f3f;
}
.no_black {
	background: none !important;
}
#content {
	padding-bottom:100px;
}
#id #content {
	padding-bottom:0px; 
}


#ftr {
    position: fixed;
    text-align: center;
    bottom: 0;
    display: block;
    font-size: 10px;
    width: 100%;
    padding: 10px 0;
    line-height: 1.5;
}
#ftr span {
    display: block;
    font-size: 11px;
}

#ftr small{
    display: inline-block;
    margin-top: 5px;
}

#left {
	margin:0;
	z-index: 3;
}

h1#logo {
    width: 100px;
    position: absolute;
    top: 20px;
    left: 20px;
}    
    
h1#logo img{
    width: 100%;
    height: auto;
}    
    
    
#right {
	width: 100%;
	margin: 0;
	text-align: justify;
	line-height: 1.5;
    padding-top: 100px;
}
    
.box {
	margin: 0;
    padding: 0 20px;
    }

#right p {
	margin: 0 0 24px 0;
}

.subhl {
	font-size: 1rem;
	margin: 0 0 42px 0;
}
.subh2 {
	font-size: 1rem;
	margin: 0 0 10px 0;
}

.globalmenusp {
	display: block;
}

.globalmenusp ul {
	position: absolute;
	top:50%;
	width: 100%;
	display: none;
	margin: 0 auto;
	padding: 0;
	transform: translateY(-50%);
}
    
.globalmenusp.active ul {
	display: block;
}
	
.globalmenusp ul li {
	list-style-type: none;
	padding: 7px 10%;
	text-align: left;
}

.globalmenusp ul li a {
	font-size: 1rem;
	line-height: 1.5;
	display: block;
	color: #fff;
	opacity: 0;
}

.globalmenusp ul li a span {
    display: block;
    font-size: 12px;
}	

.globalmenusp.active ul li a{
    animation-name: globalmenusp;
    animation-duration: 1.4s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode:forwards;
}
    

		
.globalmenusp .sns{
    display: flex;
}    
    
.globalmenusp .sns a{
    display: inline-block;
    margin-right: 20px;
    font-size: 30px;
}    

.hamburger {
    display : block;
    position: absolute;
    top:30px;
    right: 30px;
    z-index : 3;
    width : 24px;
    height: 18px;
    cursor: pointer;
    text-align: center;
}
	
.hamburger span {
  display : block;
  position: absolute;
  width: 24px;
  height: 1px;
  left: 0;
  background: #fff;
  transition :transform 0.3s ease-in-out, background 0.7s;
}
	
.hamburger span:nth-child(1) {
  top: 5px;
}
.hamburger span:nth-child(2) {
  top: 15px;
}
 /* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 10px;
  left: 0;
  background:#fff !important;
  transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 10px;
  background:#fff !important;
  transform: rotate(45deg);
}   
nav.globalmenusp {
	position:fixed;
	z-index:2;
	top :0;
	left:0;
    background-image: url("../img/sp_menu_bg.jpg");
    background-size: cover;
	text-align: center;
	width:0;
	height:0;
	opacity: 0;
	transition: opacity .6s ease, visibility .6s ease ,height .1s ease 1s ,width .1s ease 1s ;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalmenusp.active {
    opacity: 100;
    width: 100%;
    height: 100vh;
    transition: opacity .6s ease .2s , visibility .6s ease .2s , height .1s ease ,width .1s ease;
}

    
    .g-map{
        width:100%;
    }    
    
}

@keyframes globalmenusp{
	0% {transform:translateX(-30px); opacity: 0;}
	100% {transform:translateX(0);  opacity: 1;}
}

.globalmenusp.active ul li:first-child a{
	animation-delay: 0.1s;
}	
.globalmenusp.active ul li:nth-child(2) a{
	animation-delay: 0.2s;
}	
.globalmenusp.active ul li:nth-child(3) a{
	animation-delay: 0.3s;
}	
.globalmenusp.active ul li:nth-child(4) a{
	animation-delay: 0.4s;
}	
.globalmenusp.active ul li:nth-child(5) a{
	animation-delay: 0.5s;
}	
.globalmenusp.active ul li:nth-child(6) a{
	animation-delay: 0.6s;
}	
.globalmenusp.active ul li:nth-child(7) a{
	animation-delay: 0.7s;
}	
	
.globalmenusp.active ul li:nth-child(8) a{
	animation-delay: 0.8s;
}	
	
.globalmenusp.active ul li:nth-child(9) a{
	animation-delay: 0.9s;
}	
	
.globalmenusp.active ul li:nth-child(10) a{
	animation-delay: 1.0s;
}	
	

