@font-face {
  font-family: "mplus";
  src: url("/product/closeup/assets/font/mplus/mplus-1p-light.woff") format("woff"), url("/product/closeup/assets/font/mplus/mplus-1p-light.ttf") format("truetype");
  font-weight: 300; }
@font-face {
  font-family: "mplus";
  src: url("/product/closeup/assets/font/mplus/mplus-1p-regular.woff") format("woff"), url("/product/closeup/assets/font/mplus/mplus-1p-regular.ttf") format("truetype");
  font-weight: 400; }
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(/product/closeup/assets/font/iconfont/MaterialIcons-Regular.eot); /* For IE6-8 */
  src: local('Material Icons'),
       local('MaterialIcons-Regular'),
       url(/product/closeup/assets/font/iconfont/MaterialIcons-Regular.woff2) format('woff2'),
       url(/product/closeup/assets/font/iconfont/MaterialIcons-Regular.woff) format('woff'),
       url(/product/closeup/assets/font/iconfont/MaterialIcons-Regular.ttf) format('truetype');
}
.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px; /*inherit*/
  line-height: 1; /*inherit*/
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  text-rendering: optimizeLegibility;
  -webkit-font-feature-settings: 'liga';
     -moz-font-feature-settings: 'liga';
          font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

i.material-icons.home:before { content: "\e88a";  font-size: inherit; line-height: 1; vertical-align: -22%; margin-right: 5px; }

i.material-icons.archive:before { content: "\e03b";  font-size: inherit; line-height: 1; vertical-align: -24%; margin-right: 5px; }

i.material-icons.link:after { content: "\e315";  font-size: inherit; line-height: 1; vertical-align: -28%;}

i.material-icons.totop:before { content: "\e25a";  font-size: inherit; line-height: 1; vertical-align: ; margin-right: 5px; }

.rotate-270 {
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

.rev-scroll-btn span {
	position: absolute;
	display: block;
	top: 29%;
	left: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 50%;
	-webkit-animation: rev-ani-mouse 2.5s linear infinite;
	-moz-animation: rev-ani-mouse 2.5s linear infinite;
	animation: rev-ani-mouse 2.5s linear infinite;
}

@media screen and (orientation: landscape) {
   /* 横向きの場合のスタイル */
  .landscape { display: block !important; }
  .portrait { display: none !important; }
}
@media screen and (orientation: portrait) {
   /* 縦向きの場合のスタイル */
  .landscape { display: none !important; }
  .portrait { display: block !important; }
}

/*
html, body
{
	padding: 0;
	margin: 0;
}

html {
  line-height: 1.5;
  font-family: "mplus", sans-serif;
  font-weight: 300;
  color: #424242;
  background: #fff; }
  @media only screen and (min-width: 0) {
    html {
      font-size: 14px; } }
  @media only screen and (min-width: 601px) {
    html {
      font-size: 14.5px; } }
  @media only screen and (min-width: 993px) {
    html {
      font-size: 15px; } }
      
body {font-family: "mplus", sans-serif;
  font-weight: 300;}

header
{
	background: rgba(149, 149, 149, .8);
	font-size: 16px;
	font-weight: 400;
	color: #fff;
	line-height: 40px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;	
	width: 100%;
	height: 40px;
	padding: 0 10px;
	z-index: 2000;
	position: fixed;
}
header a { color: #fff;}
header .th_logo { height: 30px; width: auto; margin: 5px 0 0 0; float: right;}

.section {
  padding-top: 0;
  padding-bottom: 0;
}

.section.no-pad {
  padding: 0;
}

.section.no-pad-bot {
  padding-bottom: 0;
}

.section.no-pad-top {
  padding-top: 0;
}

.container {
  margin: 0 auto;
  width: 100%;
}
.container_wide {
  margin: 0 auto;
  max-width: 1440px;
  width: 100%;
}
.left-to-center{ text-align: center;}

@media only screen and (min-width: 601px) {
  .container {
    width: 85%;
  }
  .container_wide {
    width: 100%;
  }
  .left-to-center{ text-align: left;}
}
@media only screen and (min-width: 993px) {
  .container {
    width: 75%;
  }
  .container_wide {
    width: 100%;
  }
  .left-to-center{ text-align: left;}
}

.container .row {
  margin-left: auto;
  margin-right: auto;
}
.row {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}

.totop { position: absolute; bottom: 70px; right: 5%;}
*/

.row {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
  margin-top: 0;
  width: 100%;
}

.slider_limit { width: 100%; margin: 0 auto;}
.slider_negative_m {margin-top: -60px !important;}
@media screen and (min-width:47.938em){
.slider_limit { max-width: 70%; margin: 0 auto;}
.slider_negative_m {margin-top: -120px !important;}
}


  .archive-content .divider{height: 1px !important; background: #000 !important;}
  .archive-content p {color: #fff !important;}
  .archive-content p a {color: #fff !important;}
  .archive-content p a:hover { text-decoration: underline !important;}


.containerInner {
  width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	}
  .containerInner.sec02-height { height: 360px; }
  .containerInner.sec03-height { height: 380px; }
  .containerInner.sec04-height { height: 800px; }
  .containerInner.sec-end-height { height: 100%; }
	@media only screen and (min-width: 340px) {
  .containerInner.sec02-height { height: 400px; }
  .containerInner.sec03-height { height: 430px; }
  .containerInner.sec04-height { height: 880px; }
	}
	@media only screen and (min-width: 370px) {
  .containerInner.sec02-height { height: 400px; }
  .containerInner.sec03-height { height: 430px; }
  .containerInner.sec04-height { height: 900px; }
	}
	@media only screen and (min-width: 400px) {
  .containerInner.sec02-height { height: 420px; }
  .containerInner.sec03-height { height: 450px; }
  .containerInner.sec04-height { height: 920px; }
	}
	@media only screen and (min-width: 430px) {
  .containerInner.sec02-height { height: 440px; }
  .containerInner.sec03-height { height: 470px; }
  .containerInner.sec04-height { height: 1060px; }
	}
	@media only screen and (min-width: 500px) {
  .containerInner.sec02-height { height: 460px; }
  .containerInner.sec03-height { height: 470px; }
  .containerInner.sec04-height { height: 1180px; }
	}
	@media only screen and (min-width: 580px) {
  .containerInner.sec02-height { height: 500px; }
  .containerInner.sec03-height { height: 510px; }
  .containerInner.sec04-height { height: 1280px; }
	}
	@media only screen and (min-width: 601px) {
  .containerInner.sec02-height { height: 500px; }
  .containerInner.sec03-height { height: 520px; }
  .containerInner.sec04-height { height: 640px; }
	}
	@media only screen and (min-width: 760px) {
  .containerInner.sec02-height { height: 500px; }
  .containerInner.sec03-height { height: 520px; }
  .containerInner.sec04-height { height: 680px; }
	}
	@media only screen and (min-width: 800px) {
  .containerInner.sec02-height { height: 540px; }
  .containerInner.sec03-height { height: 520px; }
  .containerInner.sec04-height { height: 700px; }
	}
	@media only screen and (min-width: 993px) {
  .containerInner.sec02-height { height: 600px; }
  .containerInner.sec03-height { height: 750px; }
  .containerInner.sec04-height { height: 700px; }
	}
	@media only screen and (min-width: 1024px) {
  .containerInner.sec02-height { height: 660px; }
  .containerInner.sec03-height { height: 640px; }
  .containerInner.sec04-height { height: 720px; }
	}
	@media only screen and (min-width: 1200px) {
  .containerInner.sec02-height { height: 700px; }
  .containerInner.sec03-height { height: 720px; }
  .containerInner.sec04-height { height: 870px; }
	}
	@media only screen and (min-width: 1300px) {
  .containerInner.sec02-height { height: 700px; }
  .containerInner.sec03-height { height: 800px; }
  .containerInner.sec04-height { height: 900px; }
	}
	@media only screen and (min-width: 1400px) {
  .containerInner.sec02-height { height: 700px; }
  .containerInner.sec03-height { height: 820px; }
  .containerInner.sec04-height { height: 950px; }
	}

/*** #section02 ***/
#section02 .sec02_title { position: absolute; top: 50px; width: 100%; text-align: center; font-size: 1.5em; }
@media only screen and (min-width: 400px) {
  #section02 .sec02_title { top: 60px; width: 100%; text-align: center; font-size: 1.5em;}
}
@media only screen and (min-width: 601px) {
  #section02 .sec02_title {top: 70px; width: 100%; text-align: center; font-size: 1.6em; }
}
@media only screen and (min-width: 993px) {
  #section02 .sec02_title { top: 70px; width: 100%; text-align: center; font-size: 1.8em; }
}
@media only screen and (min-width: 1025px) {
  #section02 .sec02_title { top: 70px; width: 100%; text-align: center; font-size: 2em; }
}

#section02 .youtube { position: absolute; top: 35%; left:5%; width: 90%;}
#section02 .video { width:100%;
padding-bottom: 56.25%;
height:0px;
position: relative;
}
#section02 .video iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media only screen and (min-width: 400px) {
#section02 .youtube { position: absolute; top: 35%; left:10%; width: 80%;}
}
@media only screen and (min-width: 420px) {
}
@media only screen and (min-width: 500px) {
}
@media only screen and (min-width: 601px) {
#section02 .youtube { position: absolute; top: 30%; left:20%; width: 60%;}
}
@media only screen and (min-width: 993px) {
#section02 .youtube { top: 25%; left:20%; width: 60%;}
}
@media only screen and (min-width: 1025px) {
}


/*** #section03 ***/
#section03 .sec03_title { position: absolute; top: 50px; width: 100%; text-align: center; font-size: 1.5em; }
@media only screen and (min-width: 400px) {
  #section03 .sec03_title { top: 60px; width: 100%; text-align: center; font-size: 1.5em;}
}
@media only screen and (min-width: 601px) {
  #section03 .sec03_title { top: 70px; width: 100%; text-align: center; font-size: 1.6em; }
}
@media only screen and (min-width: 993px) {
  #section03 .sec03_title { top: 70px; width: 100%; text-align: center; font-size: 1.8em; }
}
@media only screen and (min-width: 1025px) {
  #section03 .sec03_title { top: 70px; width: 100%; text-align: center; font-size: 2em; }
}
#section03 .sec03_speccontainer { padding: 42% 3% 0 3%; }
@media only screen and (min-width: 400px) {
  #section03 .sec03_speccontainer { padding: 40% 3% 0 3%;}
}
@media only screen and (min-width: 420px) {
  #section03 .sec03_speccontainer { padding: 30% 3% 0 3%;}
}
@media only screen and (min-width: 500px) {
  #section03 .sec03_speccontainer { padding: 24% 3% 0 3%;}
}
@media only screen and (min-width: 601px) {
  #section03 .sec03_speccontainer { padding: 16% 5% 0 5%;}
}
@media only screen and (min-width: 993px) {
  #section03 .sec03_speccontainer { padding: 10% 5% 0 5%;}
}
#section03 .sec03_spec { padding: 1%; text-align: center; font-size: .8em; font-weight: 500;}
@media only screen and (min-width: 400px) {
  #section03 .sec03_spec { padding: 1%; text-align: center; font-size: .9em; font-weight: 500;}
}
@media only screen and (min-width: 601px) {
  #section03 .sec03_spec { padding: 5%; text-align: center; font-size: 1em; font-weight: 500;}
}
@media only screen and (min-width: 993px) {
  #section03 .sec03_spec { padding: 8%; text-align: center; font-size: 1.2em; font-weight: 500;}
}


/* WipeAnimation */
	#pinContainer {
		width: 100%;
		height: 100vh;
		overflow: hidden;
	}
	.panel {
		height: 100%;
		width: 100%;
		top: 0;
		left: 0;
		position: absolute;
	}

.scroll { position: absolute; width: 30%; top: 5%; left: 5%; padding: 0; background: rgba(255, 255, 255, 0); }
@media only screen and (min-width: 993px) {
.scroll { width: 15%; top: 10%; left: 5%; }
}

.scroll p { color: #fff; font-size: 1.5em; font-weight: 400;text-align: center; margin: 0; }

.scroll img { position: relative; width: 20%; margin-left: 40%; margin-top: 5%; background: ; }


.obj001img { width: 100%; position: absolute; bottom: 5%; left: 0; background: ; }
@media only screen and (min-width: 601px) {
  .obj001img { width: 100%; position: absolute; bottom: -15%; left: 0; background: ; }
}
@media only screen and (min-width: 993px) {
  .obj001img { width: 50%; position: absolute; bottom: -20%; left: 25%; background: ; }
}

.obj002img { width: 100%; position: absolute; bottom: 5%; left: 0; background: ; }
@media only screen and (min-width: 601px) {
  .obj002img { width: 100%; position: absolute; bottom: -15%; left: 0; background: ; }
}
@media only screen and (min-width: 993px) {
  .obj002img { width: 50%; position: absolute; bottom: -20%; left: 25%; background: ; }
}

.obj003img { width: 100%; position: absolute; bottom: 0; left: 0; background: ; }
@media only screen and (min-width: 601px) {
  .obj003img { width: 100%; position: absolute; bottom: -25%; left: 0; background: ; }
}
@media only screen and (min-width: 993px) {
  .obj003img { width: 50%; position: absolute; bottom: -25%; left: 25%; background: ; }
}

.obj004img { width: 140%; position: absolute; bottom: 7%; left: 35%; background: ; }
@media only screen and (min-width: 601px) {
  .obj004img { width: 140%; position: absolute; bottom: -10%; left: 35%; background: ; }
}
@media only screen and (min-width: 993px) {
  .obj004img { width: 70%; position: absolute; bottom: -10%; left: 45%; background: ; }
}

.obj005img { width: 100%; position: absolute; bottom: 0; left: 0; background: ; }
@media only screen and (min-width: 601px) {
  .obj005img { width: 100%; position: absolute; bottom: -20%; left: 0; background: ; }
}
@media only screen and (min-width: 993px) {
  .obj005img { width: 50%; position: absolute; bottom: -25%; left: 25%; background: ; }
}

.obj006img { width: 48%; position: absolute; bottom: 25%; left: 12%; background: ; }
@media only screen and (min-width: 993px) {
  .obj006img { width: 26%; position: absolute; bottom: 20%; left: 32%; background: ; }
}

.obj007img { width: 150%; position: absolute; bottom: 10%; left: -25%; background: ; }
@media only screen and (min-width: 601px) {
  .obj007img { width: 150%; position: absolute; bottom: 3%; left: -25%; background: ; }
}
@media only screen and (min-width: 993px) {
  .obj007img { width: 100%; position: absolute; bottom: -15%; left: 0; background: ; }
}

.obj008aimg { width: 100%; position: absolute; bottom: 5%; left: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj008aimg { width: 50%; position: absolute; bottom: -20%; left: 25%; background: ; }
}
.obj008bimg { width: 100%; position: absolute; bottom: 5%; left: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj008bimg { width: 50%; position: absolute; bottom: -20%; left: 25%; background: ; }
}
.obj008cimg { width: 100%; position: absolute; bottom: 5%; left: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj008cimg { width: 50%; position: absolute; bottom: -20%; left: 25%; background: ; }
}

.obj009img { width: 100%; position: absolute; bottom: 5%; left: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj009img { width: 50%; position: absolute; bottom: -20%; left: 25%; background: ; }
}

.obj010img { width: 100%; position: absolute; bottom: 10%; left: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj010img { width: 40%; position: absolute; bottom: 5%; left: 30%; background: ; }
}

.obj011img { width: 100%; position: absolute; bottom: 10%; left: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj011img { width: 40%; position: absolute; bottom: 5%; left: 30%; background: ; }
}

.obj012{width: 200%;}
.obj012img { width: 200%; position: absolute; bottom: -5%; right: 0; background: ; }
@media only screen and (min-width: 993px) {
  .obj012{width: 100%;}
  .obj012img { width: 100%; position: absolute; bottom: -10%; right: 0; background: ; }
}

.obj013img { width: 34%; position: absolute; bottom: 10%; right: 30%; background: ; }
@media only screen and (min-width: 993px) {
  .obj013img { width: 15%; position: absolute; bottom: 10%; right: 40%; background: ; }
}

.obj014{width: 260%;}
.obj014img { width: 260%; position: absolute; bottom: -30%; right: 0%; background: ; }
@media only screen and (min-width: 993px) {
  .obj014{width: 100%;}
  .obj014img { width: 160%; position: absolute; bottom: -50%; right: 0%; background: ; }
}

.obj015img { width: 90%; position: absolute; bottom: 15%; right: 5%; background: ; }
@media only screen and (min-width: 993px) {
  .obj015img { width:60%; position: absolute; bottom: 5%; right: 20%; background: ; }
}




