html {
  overflow-y: scroll;
  height: 100%;
}

body {
  margin: 0 0 0 0;
  line-height: 1.7em;
  font-family: PT Sans;
  font-size: 14px;
  font-weight: 300;
  background-color: #F4F1EA;
  color: #656565;
  height: 100%;
  background-attachment: fixed;
  background-clip: border-box;
  background-image: url("./img/sample_bg.jpg");
  background-origin: padding-box;
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover !important;
  position: relative;
}

html.noscroll {
  overflow-y: hidden;
}

/*#body-bg {
  background-attachment: fixed;
  background-clip: border-box;
  background-color: rgba(0, 0, 0, 0);
  background-image: url("./img/sample_bg.jpg");
  background-origin: padding-box;
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover !important;
  position: relative;
}*/

.container {
  max-width: 1080px;
  padding-left: 40px;
  padding-right: 40px;
  width: 100%;
}

/*固定ヘッダー*/
header{
	background-color: #292c2f;
    box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.15);
    padding: 20px 40px;
    height: 80px;
    color: #ffffff;
    box-sizing: border-box;
    
}
header .header-top{
	max-width: 1200px;
    text-align: center;
    margin: 0 auto;
}
header h1{
	float: left;
	font: normal 28px 'Cookie', cursive;
    line-height: 40px;
    margin: 0 auto;
}
header h1 span {
    color: #5383d3;
}
header a {
    color: #ffffff;
    text-decoration: none;
}
header nav {
    font: 16px Arial, Helvetica, sans-serif;
    line-height: 40px;
    float: right;
    margin: 0 0 0 60px;
    padding: 0;
}
header nav a {
    display: inline-block;
    padding: 0 5px;
    text-decoration: none;
    color: #ffffff;
    font-size: 16px;
    font-weight: normal;
    opacity: 0.7;
}
header nav a:hover {
    opacity: 1;
}
/*移動ヘッダー*/
#header {
  position: relative;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  height: 120px;
  top: 0;
  transition: all 0.2s ease 0s;
  width: 100%;
}
#header .container {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  height: 85px;
  position: relative;
}
#header .container .logo {
  text-align: center;
  color: #ffffff;
  top: 20px;
  display: block;
  position: relative;
  z-index: 20;
}
.is-sticky #header {
  background-color: #000000;
  z-index: 20;
}
.is-sticky #hornav {
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  text-align: center;
  z-index: 20;
}
.is-sticky #hornav ul#hornavmenu {
  background-color: #171717;
}
.is-sticky #header {
  z-index: 21;
}
.is-sticky ul.social-icons {
  margin-top: 29px;
}



/*ページ内移動オプション（簡易版）*/
ul.social-icons {
  z-index: 30;
  list-style: none;
  margin: 17px 10px 0 0;
  margin-right: 30px;
  position: fixed;
  width: 40px;
  right: 36px;
  bottom: 40px;
}
ul.social-icons li {

  background-color: rgba(0, 0, 0, 0.06);
  background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0) 100%);
  /* gradient overlay */
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0) 100%);
  /* gradient overlay */
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0) 100%);
  /* gradient overlay */
  background-image: linear-gradient(bottom, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0) 100%);
  /* gradient overlay */
  background-position: 50% 50%;
  display: block;
  float: left;
  margin: 5px;
  padding: 0 0 0px 0;
}
ul.social-icons li a {
  border: 1px solid rgba(0, 0, 0, 0.03);
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1);
  display: block;
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  background-position: 0px -55px;
  background-repeat: no-repeat;
  padding-bottom: 1px;
  opacity: 1;
}
ul.social-icons li a:hover {
  background-position: 0px -40px !important;
  opacity: 1;
  -webkit-transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -ms-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-property: background-color;
  -moz-transition-property: background-color;
  -o-transition-property: background-color;
  -ms-transition-property: background-color;
  transition-property: background-color;
}
[class^="social-"] a,
[class*=" social-"] a {
  background-position: 0px -40px !important;
  background-repeat: no-repeat;
}
.social-rss a {
  background: url(./img/icon/home.png);
}
.social-rss a:hover {
  background-color: #fe9900 !important;
}
.social-twitter a {
  background: url(./img/icon/doc.png);
}
.social-twitter a:hover {
  background-color: #48c4d2 !important;
}
.social-facebook a {
  background: url(./img/icon/port.png);
}
.social-facebook a:hover {
  background-color: #3b5998 !important;
}


/*区切り線*/
#content-top-border {
  background-color: rgba(23, 23, 23, 0.8);
  border-radius: 5px 5px 0 0;
  height: 7px;
}

/*スライドショー*/
.container .no-padding {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.no-padding {
  padding: 0 !important;
}

/*概要*/
/* Background Colors */
.background-white {
  background-color: #FFFFFF;
}
.margin-vert-30 {
  margin-top: 30px;
  margin-bottom: 30px;
}
h2 {
  font-weight: 300;
  line-height: 1em;
  margin: 0 0 10px;
  color: #555555;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 32px;
}
p {
  margin-bottom: 16px;
}
#outline{
  padding: 0 10%;
}

/*内容*/
.background-gray-lighter {
  background-color: #ebebeb;
}
.padding-vert-20 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.portfolio-group {
  text-align: center;
  padding: 0;
  width: 100% !important;
}
.portfolio-group .portfolio-item {
  overflow: hidden;
  border-radius: 5px;
  position: relative;
  text-align: center;
  vertical-align: text-top;
  list-style: none outside none;
}
.padding-20 {
  padding: 20px;
}
.portfolio-group figure {
  /*画像サイズに合わせている*/
  max-width: 397px;
  border-radius: 5px;
  margin: 1px;
  padding: 0px;
  position: relative;
  overflow: hidden;
}
.portfolio-group figure img {
  max-width: 100%;
  display: block;
  position: relative;
  z-index: 0;
  -webkit-transition: -webkit-transform 0.4s ease-out;
  -moz-transition: -moz-transform 0.4s ease-out;
  transition: transform 0.4s ease-out;
}
.portfolio-group figcaption {
  border-top: 5px solid #2f403c;
  color: #ffffff;
  top: 0;
  left: 0;
  padding: 30px 40px;
  background-color: #5f807a;
  text-align: left;
  text-transform: none;
  position: relative;
  z-index: 1;
}
.portfolio-group h3 {
  color: #ffffff;
  margin: 0;
  padding: 0px 0px 15px;
  font-size: 22px;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1em;
}
.portfolio-item figcaption {
  height: 100%;
  width: 100%;
  opacity: 0.7;
  -webkit-transition: opacity 0.5s 0.2s;
  -moz-transition: opacity 0.5s 0.2s;
  transition: opacity 0.5s 0.2s;
}
.no-touch .portfolio-item figure:hover img,
.portfolio-item figure.cs-hover img {
  bottom: 0px;
  -webkit-transform: scale(1.2) translateY(-7.5%);
  -moz-transform: scale(1.2) translateY(-7.5%);
  -ms-transform: scale(1.2) translateY(-7.5%);
  transform: scale(1.2) translateY(-7.5%);
}
.no-touch .portfolio-item figure:hover figcaption, .portfolio-item figure.cs-hover figcaption {
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    -moz-transition: opacity 0.5s;
    transition: opacity 0.5s;
}
/*フッター*/
.footer-distributed{
	background-color: #292c2f;
	box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
	width: 100%;
	text-align: left;
	font: bold 16px sans-serif;
	padding: 20px 40px;
	margin-top: 50px;
}
.footer-distributed .footer-left,
.footer-distributed .footer-right{
	display: inline-block;
	vertical-align: top;
}
.footer-distributed .footer-left{
	width: auto;
}
.footer-distributed h3{
	color:  #ffffff;
	font: normal 36px 'Cookie', cursive;
	margin: 0;
}
.footer-distributed h3 span{
	color:  #5383d3;
}
.footer-distributed .footer-links{
	color:  #ffffff;
	margin: 5px 0;
	padding: 0;
}
.footer-distributed .footer-links a{
	display:inline-block;
	line-height: 1.8;
	text-decoration: none;
	color:  inherit;
}
.footer-distributed .footer-company-name{
	color: #8f9296;
	font-size: 14px;
	font-weight: normal;
	margin: 0;
}

#pop-box{
  display: none;
  opacity: 0;
}

#pop-box.opened{
  display: block;
  opacity: 1;
}

#pop-bg{
  z-index: 30;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #000000;
  opacity: 0.8;
}

#pop-container {
  z-index: 31;
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

#pop-position-adujster {
  position: relative;
  width: 800px;
  height: 100%;
  margin: 0 auto;
}

#pop-main {
  background-image: url(img/pop-bg.jpg);
  background-size: cover !important;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
  overflow-y: auto;
  background-color: white;
  box-shadow: 0 0 64px #444;
  min-width: 400px;
  min-height: 300px;
  max-width: 800px;
  max-height: 600px;
  border-radius: 20px;
}

.pop-title{
  color: #fff;
}

.download-content{
  position: relative;
  margin: 18% 25%;
}


.button {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  outline: none;
  font-weight: bold;
  font-size: large;
  background-color: transparent;
  background-color: rgba(255, 255, 255, .6);

  border: 5px solid #fff;
  color: #337ab7;
  line-height: 50px;
}
.button:hover {
  background-color: rgba(255, 255, 255, .9);
}
.button::before,.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,.button::before,.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}