@charset "utf-8";
@import url("//fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("//fonts.googleapis.com/css?family=Open+Sans");

/****************************************
          1. ベース指定
*****************************************/

h1,h2,h3,h4,h5,h6,p,div,ul,li{margin:0; padding:0; font-weight:normal;}
ul,li{ list-style-type:none;}
hr{height:0px;margin:0;padding:0;border:none;}

img{ margin: 0; padding: 0; max-width:100%; vertical-align: bottom;}

a{ outline:none; }

a:link { text-decoration:none; color:#069;}
a:visited {text-decoration: none; color: #069;}
a:active { text-decoration:none; color: #C00;}
a:hover { text-decoration:none; color:#C00;}

a.alink-none{text-decoration:none !important;}
a:hover.alink-none{text-decoration:none !important;}
a:active.alink-none{text-decoration:none !important;}
a:visited.alink-none{text-decoration:none !important;}
a:link.alink-none{text-decoration:none !important;}

a.is-hover{display:block;}
a.is-hover img{ transition:all 0.5s ease;}
a:hover.is-hover img{ opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.7;}
a:hover.is-hover{ opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.7;}

/* CSS Document */

html,body{ height:100% !important; font-family: 'Noto Sans Japanese', serif; font-weight:200; margin:0; padding:0; }

footer{
	/*text-align:center;*/
	border-top: solid 1px #000;
    font-size: 13px;
    padding: 40px 0 40px;
    margin: 120px 0 0 0;
	letter-spacing:0.1em;
	}
footer.foot-color-white{ color:#fff; border-top: solid 1px #fff;} 

#logo{
    position: fixed;
    top: 20px;
	width:6%;
	text-align:center;
    left: 0px;
    z-index: 999;
	display:inline;
	/*display:none !important;*/
	}
#logo img{ width:60%;}

#top-parts01{
    bottom: 30px;
    right: 0px;
	font-size:13px;
	color:#fff;
    z-index: 99;
	display:inline;
	letter-spacing:2px;
	position:absolute;
	/*position:fixed;*/
	transform: translate3d(0, 0, 0);
	}
#top-parts01 ul{ width:140px;}
#top-parts01 ul li:first-child{ border-top:solid 1px #fff;}
#top-parts01 ul li{ border-bottom:solid 1px #fff;}
#top-parts01 ul li a{ color:#fff; padding:6px 0; display:block; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important; position: relative;}
#top-parts01 ul li a:hover{ padding:6px 0 6px 6px;}

#top-parts01 ul.top-parts01-black li:first-child{ border-top:solid 1px #000 !important;}
#top-parts01 ul.top-parts01-black li{ border-bottom:solid 1px #000 !important;}
#top-parts01 ul.top-parts01-black li a{ color:#000;}

#top-parts02{
	font-family: 'Open Sans', sans-serif;
	position: absolute;
    bottom: 30px;
    right: 200px;
	font-size:30px;
	line-height:30px;
	color:#fff;
    z-index: 100;
	}
.top-parts02-black{ color:#000 !important;}
#top-parts02 span{ font-size:60px; font-weight:bold;}

/*-----左メニュー-----*/

#menu-left{
		position:fixed;
		z-index:99;
		width:6%;
		min-height:100vh;
		background-size: cover;
		-webkit-background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;}
#menu-left a{ display:block; width:100%; min-height:100vh; position:relative; }

/*-----インナーボックス-----*/

/*.box-inner{
	width: 94%;
    margin: 0 auto;
    padding: 0 0 0 6%;
	}*/
.box-inner{
	width: 94%;
	/*height:100vh;*/
	/*overflow:hidden;*/
	padding:0;
    margin: 0 0 0 6%;
    position: relative;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
}
	
.box-inner-cont{ width:960px; margin:0 auto; }

/*-----ボタンアニメーション-----*/

.button::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  background: rgba(0, 0, 0, 0.3);
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
	/*-webkit-transition: .3s;
    -moz-transition: .3s;
    -o-transition: .3s;*/
}
.button:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


/*-----pagepiling.css 上書き-----*/

/*#pp-nav{ z-index:10 !important;}*/
#pp-nav.right { left: 20px !important; }
#pp-nav span, .pp-slidesNav span {
    top: 2px;
    left: 2px;
    width: 4px !important;
    height: 4px !important;
	border:none !important;
    background: #fff !important;
    border-radius: 50%;
    position: absolute;
    z-index: 1;
}
#pp-nav li .active span, .pp-slidesNav .active {
    border-radius: 5px !important;
    width: 4px !important;
    height: 40px !important;
    left: 2px;
    top: -30px;
}
/*#pp-nav li .active span, .pp-slidesNav .active{
	border-radius: 5px !important;
    width: 8px !important;
    height: 8px !important;
	left: 0px;
    top: 0px;}*/
#pp-nav li .active span, .pp-slidesNav .active span { background: #fff !important;}
.pp-tableCell{ width: 100% !important; height: 100% !important;}
.pp-section { width: 100% !important; height: 100% !important;}
#pp-nav li .active:link{ margin:36px 0 -30px 0; }

@media only screen and (max-width: 1440px) {

/*#logo img { width: 64px; }*/

}

@media only screen and (max-width: 1024px) {

/*#logo{ left: 14px;}
#logo img { width: 54px; }*/

/*-----左メニュー-----*/

#menu-left a:after { width: 14px; }

/*-----インナーボックス-----*/
.box-inner-cont{ width:90%; margin:0 auto;}
	
}

@media only screen and (max-width: 768px) {

#logo {
    width: 10%;
    text-align: center;
    left: 0;
	top:20px;
}
#logo img{ width:80%;}

#top-parts01{ font-size:10px; letter-spacing:1px; bottom:20px;}
#top-parts01 ul{ width:100px;}
#top-parts01 ul li{ padding:3px 0;}
#top-parts02{ bottom:20px; right: 120px; font-size: 24px;}
#top-parts02 span{ font-size:30px; font-weight:bold;}

/*-----左メニュー-----*/

#menu-left { width: 10%; }

/*-----インナーボックス-----*/

/*.box-inner{ width: 90%; margin: 0 auto; padding: 0 0 0 10%; }*/
.box-inner{ width: 90%; margin: 0 0 0 10%; }
.box-inner-cont{ width:80%; margin:0 auto;}

footer{
    font-size: 12px;
    padding: 30px 0 30px;
    margin: 60px 0 0 0;
	}

}

@media only screen and (max-width: 480px) {

#pp-nav li, .pp-slidesNav li {
    width: 6px !important;
    height: 6px !important;
    margin: 7px 7px 12px 7px !important;
}
#pp-nav li .active:link {
    margin: 40px 0 -30px 0 !important;
}

#pp-nav.right {
    left: 8px !important;
}

#logo { top:10px;left: 5px; }
#logo img { width: 90%;}/*-----0403追加-----*/

#top-parts01{ display:none;}
#top-parts02{ display:none;}

/*-----左メニュー-----*/

#menu-left{ display:none;}/*-----0403追加-----*/
#menu-left a:after { width: 11px; }

.box-inner-cont{ width:90%; margin:0 auto;}

.box-inner { width: 100%; margin: 0 auto;}/*-----0403追加-----*/

footer{
    font-size: 9px;
    padding: 20px 0 20px;
    margin: 60px 0 0 0;
	letter-spacing:0;
	}

}

.copyright{
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
}