@charset "UTF-8";
body {  
    font-size:0.75em;
    font-family: 'Noto Sans Japanese', sans-serif;
    color:#787878;
	text-decoration: none;
    background-color: rgba(255,255,255,0);
    overflow:auto;
    padding:30px?@0;
	letter-spacing:0.23em;
	line-height: 1.8em;
}  
h2{
	font-family: 'Gruppo', cursive;
	font-size: 1.2em;
}
h3{
	font-family: 'Gruppo', cursive;
	font-size: 2.0em;
}
a {
	text-decoration: none;
	color:#9B9B9B;
}
a:hover { color: #A7CBC6; }



.banner {
    background-image: url(../images/logo.png); 
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 700px;
}

.banner-inner-wrapper {
    float: right;
}

p.resizeimage img {
	 width: 100%; 
	 }


img { 
	 vertical-align: bottom;
	 }

.hovereffect {
  width: 100%;
  height: 100%;
  float: left;
  overflow: hidden;
  position: relative;
  text-align: center;
  cursor: default;
}

.hovereffect .overlay {
  position: absolute;
  overflow: hidden;
  width: 80%;
  height: 80%;
  left: 10%;
  top: 10%;
  border-bottom: 1px solid #FFF;
  border-top: 1px solid #FFF;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: scale(0,1);
  -ms-transform: scale(0,1);
  transform: scale(0,1);
}

.hovereffect:hover .overlay {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.hovereffect img {
  display: block;
  position: relative;
  -webkit-transition: all 0.35s;
  transition: all 0.35s;
}

.hovereffect:hover img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.6" /><feFuncG type="linear" slope="0.6" /><feFuncB type="linear" slope="0.6" /></feComponentTransfer></filter></svg>#filter');
  filter: brightness(0.6);
  -webkit-filter: brightness(0.6);
}

.hovereffect h2 {
  text-transform: uppercase;
  text-align: center;
  position: relative;
  font-size: 13px;
  background-color: transparent;
  color: #FFF;
  padding: 1em 0;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0,-100%,0);
  transform: translate3d(0,-100%,0);
}

.hovereffect a, .hovereffect p {
  color: #FFF;
  padding: 1em 0;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0,100%,0);
  transform: translate3d(0,100%,0);
}

.hovereffect:hover a, .hovereffect:hover p, .hovereffect:hover h2 {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0,0,0);
}

.contents {
  position: relative;
  overflow: hidden;
  margin: 10% 0;
  padding: 50px 0;
}

  
  .contents:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 70%;
  margin: 3% -10% 0;
  background: #f6f3dc;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(2deg);
  -ms-transform: rotate(2deg);
  transform: rotate(2deg);
  z-index: -1;
  }
  .contents.reverse:before {
  background: #e5f3f3;
  margin: 3% -10% 0;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg);
  }
  
.contents.double:after {
	content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 70%;
  margin: 3% -10% 0;
  background: #e5f3f3;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg);
  z-index: -2;
}

.contents_inner {
  box-sizing: boder-box;
  width:80%;
  max-width:1200px;
  height: 100%;
  margin: 0 auto;
  padding: 50px 10px 50px;
  color: #827e79;
}
.contents_in {
  box-sizing: boder-box;
  width:90%;
  max-width:1200px;
  height: 100%;
  margin: 0 auto;
  color: #827e79;
}



td, th {
	width: 50%;
	padding: 10px 10px;
	letter-spacing:0.2em;
}
    
div.gray img {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
}
 
div.gray img:hover {
	filter: grayscale(0);
	-webkit-filter: grayscale(0);
}

footer{
	color:#B0B0B0;
	text-align:center;
	font-size:0.35em;
	letter-spacing:0.16em;
}

@media screen and (max-width: 640px) {
figure {
	position: relative;
	overflow: hidden;
	width: 265px;
	display:table;
	
}
p.resizeimage img {
	 width: 100vw; 
	 }
}