/*--------------------- #header ---------------------*/
.fp-viewing-1 #header {transition: all .3s;padding: 10px 20px 0 20px;border-bottom:1px solid #ddd;}
.fp-viewing-1 #header .sv{transition: all .3s;margin-top:-50px; opacity: 0;}
.fp-viewing-1 #header .global ul li h1{opacity: 0;height: 2px;transition: all .3s;}
.fp-viewing-1 .global ul li span.jp{opacity: 0;height: 5px;transition: all .3s;}
.fp-viewing-1 #header .slogan{opacity: 0;height: 5px;transition: all .3s;}

.fp-viewing-2 #header {transition: all .3s;padding: 10px 20px 0 20px;border-bottom:1px solid #ddd;}
.fp-viewing-2 #header .sv{transition: all .3s;margin-top:-50px; opacity: 0;}
.fp-viewing-2 #header .global ul li h1{opacity: 0;height: 2px;transition: all .3s;}
.fp-viewing-2 .global ul li span.jp{opacity: 0;height: 5px;transition: all .3s;}
.fp-viewing-2 #header .slogan{opacity: 0;height: 5px;transition: all .3s;}

.fp-viewing-3 #header {transition: all .3s;padding: 10px 20px 0 20px;border-bottom:1px solid #ddd;}
.fp-viewing-3 #header .sv{transition: all .3s;margin-top:-50px; opacity: 0;}
.fp-viewing-3 #header .global ul li h1{opacity: 0;height: 2px;transition: all .3s;}
.fp-viewing-3 .global ul li span.jp{opacity: 0;height: 5px;transition: all .3s;}
.fp-viewing-3 #header .slogan{opacity: 0;height: 5px;transition: all .3s;}

.fp-viewing-4 #header {transition: all .3s;padding: 10px 20px 0 20px;border-bottom:1px solid #ddd;}
.fp-viewing-4 #header .sv{transition: all .3s;margin-top:-50px; opacity: 0;}
.fp-viewing-4 #header .global ul li h1{opacity: 0;height: 2px;transition: all .3s;}
.fp-viewing-4 .global ul li span.jp{opacity: 0;height: 5px;transition: all .3s;}
.fp-viewing-4 #header .slogan{opacity: 0;height: 5px;transition: all .3s;}

.fp-viewing-5 #header {transition: all .3s;padding: 10px 20px 0 20px;border-bottom:1px solid #ddd;}
.fp-viewing-5 #header .sv{transition: all .3s;margin-top:-50px; opacity: 0;}
.fp-viewing-5 #header .global ul li h1{opacity: 0;height: 2px;transition: all .3s;}
.fp-viewing-5 .global ul li span.jp{opacity: 0;height: 5px;transition: all .3s;}
.fp-viewing-5 #header .slogan{opacity: 0;height: 5px;transition: all .3s;}

.fp-viewing-6 #header {transition: all .3s;padding: 10px 20px 0 20px;border-bottom:1px solid #ddd;}
.fp-viewing-6 #header .sv{transition: all .3s;margin-top:-50px; opacity: 0;}
.fp-viewing-6 #header .global ul li h1{opacity: 0;height: 2px;transition: all .3s;}
.fp-viewing-6 .global ul li span.jp{opacity: 0;height: 5px;transition: all .3s;}
.fp-viewing-6 #header .slogan{opacity: 0;height: 5px;transition: all .3s;}


/*--------------------- #challenge ---------------------*/
/*
html {
	overflow: auto;
}
*/

/*--------------------- #challenge episode03 ---------------------*/
.clgBox .about {
	display: flex;
}
.clgBox .about .title {
	min-width: 170px;
	height: 110px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #4c4948;
	padding: 10px;
	margin-right: 25px;
	font-size: 20px;
	box-shadow: 6px 6px rgba(76, 73, 72, 0.7);
}
.clgBox .about .text {
	margin: 10px 0;
}
.point-area {
	margin-top: 50px;
}
.point-area ul {
	display: flex;
	flex-wrap: wrap;
}
.point-area ul li {
	background: #f1f1f1;
	width: 24%;
	margin-right: 1.3333%;
	margin-bottom: 1%;
	position: relative;
}
.point-area ul li:last-child {
	margin-right: 0;
}
.point-area ul li .number {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #4c4948;
	color: #fff;
	line-height: 1;
	font-size: 19px;
	padding: 12px 10px;
}
.point-area ul li a {
	display: block;
	height: 100%;
	padding: 30px 20px 20px;
}
.point-area ul li:hover {
	background: #dcdcdc;
	transition: 0.6s;
}
.point-area .img-area {
	padding: 5px 30px;
}
.point-area .title {
	color: #e73918;
	margin: 20px 0;
	text-align: center;
	font-size: 18px;
	white-space: nowrap;
}
.img-area.text-right {
	text-align: right;
}
.point-area img {
	width: 100%;
	height: auto;
}
.point-area img:hover {
	opacity: 1;
}
.point-area .coming-soon::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.5;
	z-index: 1;
}
.point-area .coming-soon::after {
	position: absolute;
	content: 'COMING SOON';
	top: 10.5vw;
	left: 50%;
	transform: translateX(-50%);
	font-size: 30px;
	color: #fff;
	z-index: 10;
	white-space: nowrap;
	text-shadow: 1px 1px 20px #000;
}
.co-block .title {
	border-bottom: solid 2px #C53A81;
	border-left: solid 13px #C53A81;
	font-size: 20px;
	padding: 0 0 5px 10px;
	line-height: 1;
	margin-bottom: 20px;
}
.co-block .sub-title {
	font-weight: bold;
	margin-bottom: 7px;
}
.img img {
	width: 100%;
}
.caption {
  display: block;
  font-size: 13px;
  margin-top: 10px;
  text-align: right;
}
.caption-L {
	display: block;
  font-size: 13px;
  margin-top: 10px;
  text-align: left;
}
/*-------- Episode03 各プラットフォームのナビリンク --------*/
.point-area_nav {
/*  position: fixed;*/
  z-index: 9997;
/*  bottom: 15px;*/
  left: 15px;
  display: none;
}
.point-area_nav.Inactive {
  z-index: 0;
}
.point-area_navBlock {
  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}
.point-area_navBlock .navs:focus,
.point-area_navBlock .navs.active:focus,
.point-area_navBlock .navs:visited,
.point-area_navBlock .navs.active:visited {
	background: #C7C7C7;
}
.point-area_navBlock .navs:focus .title,
.point-area_navBlock .navs.active:focus .title,
.point-area_navBlock .navs:visited .title,
.point-area_navBlock .navs.active:visited .title {
	color: #676362;
}
.point-area_navBlock .navs {
  background: #C7C7C7;
  border-bottom: solid 1px #DDDDDD;
  transition: 0.2s;
}
.point-area_navBlock .navs.active {
  background: #F1F1F1;
  transition: 0.2s;
}
.point-area_navBlock .navs:hover {
	background: #F1F1F1;
	transition: 0.6s;
}
.point-area_navBlock .navs:last-child {
  border-bottom: none;
}
.point-area_navBlock .navs a {
  display: block;
  position: relative;
  padding: 8px 14px 8px 40px;
}
.point-area_navBlock .flex {
  display: flex;
  align-items: center;
}
.point-area_navBlock .img-area {
  width: 39px;
  margin-right: 6px;
}
.point-area_navBlock .img-area img {
  width: 100%;
}
.point-area_navBlock .img-area img:hover {
  opacity: 1
}
.point-area_navBlock .title {
  font-size: 15px;
  color: #676362;
}
.point-area_navBlock .navs.active .title {
  color: #E73918;
}
.point-area_navBlock .navs:hover .title {
	color: #E73918;
	transition: 0.2s;
}
.nav-number {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  font-size: 14px;
  color: #fff;
  background: #4C4948;
}
@media screen and (max-width: 800px) {
  .point-area_nav {
    top: 75px;
    bottom: auto;
    left: 0;
    width: 100%;
    padding: 0 10px;
    height: max-content;
  }
  .point-area_navBlock {
    display: flex;
    flex-wrap: wrap;
  }
  .point-area_navBlock .navs {
    width: 50%;
    border-right: solid 1px #DDD;
  }
  .point-area_navBlock .navs:nth-child(2n) {
    border-right: none;
  }
  .point-area_navBlock .navs:nth-child(3),
  .point-area_navBlock .navs:nth-child(4){
    border-bottom: none;
  }
  .point-area_navBlock .img-area {
    display: none;
  }
  .point-area_navBlock .title {
    font-size: 13px;
  }
  .point-area_navBlock .navs a {
    padding: 3px 14px 3px 36px;
    height: 45px;
  }
  .nav-number {
    width: 26px;
    height: 26px;
    font-size: 13px;
  }
}

/*-------- Episode03 スライダー --------*/
.challenge-slide#top-view img,
.challenge-slide.view img
{
	width: 100%;
}
.challenge-slide.view {
	margin-bottom: 20px;
	position: relative;
	background: #fff;
}
.challenge-slide.view .slick-prev, .challenge-slide.view .slick-next,
.challenge-slide#top-view .slick-prev, .challenge-slide#top-view .slick-next
{
	width: 30px;
	height: 30px;
}
.challenge-slide#text .slick-prev, .challenge-slide#text .slick-next {
	display: none !important;
}
.challenge-slide.view .slick-prev::before, .challenge-slide.view .slick-next::before,
.challenge-slide#top-view .slick-prev::before, .challenge-slide#top-view .slick-next::before
{
	font-size: 30px;
	color: #000;
}

@media screen and (max-width: 959px) {
	.clgBox .about {
		padding: 0 10px;
	}
	.challenge-slide.view .img-area span {
		font-size: 2.4vw;
	}
}
@media screen and (max-width: 800px) {
	.challenge-slide.slick-initialized.slick-slider {
		padding-bottom: 0;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 667px) {
	.challenge-slide.view .slick-prev, .challenge-slide.view .slick-next {
		width: 20px;
		height: 20px;
	}
	.challenge-slide.view .slick-prev::before, .challenge-slide.view .slick-next::before,
	.challenge-slide#top-view .slick-prev::before, .challenge-slide#top-view .slick-next::before
	{
		font-size: 20px;
	}
}
@media screen and (max-width: 320px) {
	.challenge-slide.slick-initialized.slick-slider {
		height: auto;
	}
}


/*--------------------- #clgBox ---------------------*/
.section {
  width: 100%;
}
.last{
  height: auto;
}
.active.boxTop{
  padding: 5% 0;
}
.active.boxTop02{
  padding-top: 5%;
}
.clgBox {
  margin: 0 auto;
  width: 1200px;
}
.clgBox h2:first-child {
  margin-top: 0;
}
.clgBox .head02 {
  color: #e73918;
  font-size: 24px;
  font-weight: lighter;
  margin-bottom: 20px;
  text-align: left;
}
.clgBox .head02 span {
  background-color: #e73918;
  color: #fff;
  display: inline-block;
  margin-right: 20px;
  padding: 10px;
}
.clgBox .head02 small {
  color: #e73918;
  font-size: 20px;
  margin: 0 10px;
}
.boxInr {
  margin: 0 auto;
  padding: 50px 0;
  width: 1200px;
}

/*-------episode03 only -------*/
.challenge-page-link {
	display: block;
	padding-top: 70px;
	margin-top: -50px;
}
h3.head-subTitle01 {
	font-size: 20px;
	font-weight: 400;
	color: #4c4948;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	position: relative;
}
h3.head-subTitle02 {
	font-size: 20px;
	font-weight: 400;
	color: #4c4948;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	position: relative;
}
h3.head-subTitle01 span {
	display: block;
	width: 24px;
	min-width: 24px;
	height: 5px;
	background: #4c4948;
	margin-right: 10px;
}
h3.head-subTitle02 span {
	display: block;
	width: 24px;
	height: 5px;
	background: #4c4948;
	margin-right: 10px;
}
.clgBox .head02.title {
	color: #4c4948;
	font-size: 24px;
	font-weight: lighter;
	margin-bottom: 20px;
	text-align: left;
	position: relative;
}
.clgBox .head02.title span {
	background: #4c4948;
}
.clgBox .head02.title span.icon {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	padding: 50px;
	margin-right: 0;
	margin-left: 10px;
}
.clgBox .head02.title span.icon.i-T01 {
	background: url("../img/episode03/icon-T01.png") no-repeat;
	background-size: contain;
	background-position: center;
}
.clgBox .head02.title span.icon.i-T02 {
	background: url("../img/episode03/icon-T02.png") no-repeat;
	background-size: contain;
	background-position: center;
}
.clgBox .head02.title span.icon.i-T03 {
	background: url("../img/episode03/icon-T03.png") no-repeat;
	background-size: contain;
	background-position: center;
}
.clgBox .head02.title span.icon.i-T04 {
	background: url("../img/episode03/icon-T04.png") no-repeat;
	background-size: contain;
	background-position: center;
}
.tide-flex-box {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.tide-flex-box .side {
	width: 45%;
}
.tide-flex-box .center {
	width: 6%;
	margin-right: 4%;
}
.tide-flex-box .img {
	padding: 30px;
}
.tide-flex-box .center img {
	width: 100%;
	height: auto;
}
.tide-list {
	padding-left: 25px;
}
.tide-list li {
	list-style-type: disc;
}
.plan-flex {
	display: flex;
	flex-wrap: nowrap;
}
.plan-flex img {
	width: 100%;
	height: auto;
}
.plan-flex .img-area {
	width: 54%;
	margin-right: 2%;
}
.plan-flex .text-area{
	width: 44%;
}


/*-------episode03 only --ホバーイベント 全体-----*/

.hoverLink-labo-wrapper {
	margin-bottom: 50px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.hoverLink-simulat-wrapper {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.hoverLink-simulat-wrapper video {
	width: 600px;
  height: auto;
}
.hoverLink-img_pc {
  display: block;
}
.hoverLink-img_sp {
  display: none;
}
.hoverLink-labo-wrapper_sp {
	display: none;
}
.hide-block {
  border-radius: 3px;
  padding: 30px;
}
.hoverLink-labo-wrapper .hide-block.show .close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.hoverLink-labo-wrapper .hide-block.show .close-btn:hover {
  opacity: 0.7;
}
.hoverLink-labo-wrapper .hide-block.show .close-btn span {
  display: block;
  width: 25px;
  height: 4px;
  background: #000;
}
.hoverLink-labo-wrapper .hide-block.show .close-btn span:nth-child(1) {
  position: absolute;
  transform:rotate(45deg);
  top: 13px;
  right: 3px;
}
.hoverLink-labo-wrapper .hide-block.show .close-btn span:nth-child(2) {
  position: absolute;
  transform:rotate(-45deg);
  top: 13px;
  right: 3px;
}
.hoverLink-labo-background {
  opacity: 0;
  transition: 0.25s;
}
.hoverLink-labo-background.show {
/*	display: block;*/
  content: '';
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  background: #000;
  opacity: 0.75;
  transition: opacity 0.25s linear;
}

/*-------episode03 only --ホバーイベント01 吹き抜け階段-----*/

.hoverLink-labo-01 {
	position: absolute;
	top: 0;
	left: 0;
  width: 100%;
  height: 100%;
}
.hoverLink-labo-01 .title {
	position: absolute;
	color: #e62e8b;
	cursor: default;
	display: inline-block;
	font-size: 21px;
	top: 475px;
	left: 475px;
	width: 130px;
	text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
.hoverLink-labo-01 .title.hide {
  display: none;
}
.hoverLink-labo-01 .circle {
	position: absolute;
	top: 310px;
	left: 460px;
	width: 160px;
	height: 160px;
	border: solid 2px #e62e8b;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	transition-duration: .5s;
  cursor: pointer;
  z-index: 100;
}
.hoverLink-labo-01 .circle.hide {
  display: none;
}
.hoverLink-labo-01 .hide-block {
	opacity: 0;
  transition: 0.25s;
}
.hoverLink-labo-01 .hide-block.show {
	opacity: 1;
  transition: 0.3s;
  background: #fff;
  z-index: 1000;
  position: absolute;
	width: 100%;
  height: 100%;
}
.hoverLink-labo-01 .hide-block.show .flex {
  display: flex;
  align-items: self-end;
  height: 100%;
}
.hoverLink-labo-01 .hide-block .img-area {
  height: 100%;
}
.hoverLink-labo-01 .hide-block .hide-img {
	margin-right: 30px;
  height: 100%;
}
.hoverLink-labo-01 .hide-block img {
	margin-bottom: 0;
  width: 270px;
  height: auto;
}
.hoverLink-labo-01 .hide-block .hide-title {
	margin-bottom: 8px;
	font-size: 20px;
  font-weight: bold;
}
.hoverLink-labo-01 .hide-block .text-area {
	width: 100%;
  margin-bottom: 30px;
}
.hoverLink-labo-01 .circle:hover {
	background: rgba(252, 129, 191, 0.5);
}

/*-------episode03 only --ホバーイベント02 設備機械室-----*/

.hoverLink-labo-02 {
	position: absolute;
	top: 0;
	left: 0;
  width: 100%;
  height: 100%;
}
.hoverLink-labo-02 .title {
	position: absolute;
	color: #e62e8b;
	cursor: default;
	display: inline-block;
	font-size: 21px;
	top: 415px;
	left: 788px;
	width: 130px;
	text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
.hoverLink-labo-02 .title.hide {
  display: none;
}
.hoverLink-labo-02 .circle {
	position: absolute;
	top: 250px;
	left: 760px;
	width: 160px;
	height: 160px;
	border: solid 2px #e62e8b;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	transition-duration: .5s;
  cursor: pointer;
  z-index: 100;
}
.hoverLink-labo-02 .circle.hide {
  display: none;
}
.hoverLink-labo-02 .hide-block {
	opacity: 0;
  transition: 0.25s;
}
.hoverLink-labo-02 .hide-block.show {
  opacity: 1;
  transition: 0.3s;
  background: #fff;
  z-index: 1000;
  position: absolute;
	width: 100%;
  height: 100%;
}
.hoverLink-labo-02 .hide-block .hide-img {
	width: 97%;
  margin: 0 auto;
}
.hoverLink-labo-02 .hide-block img {
	margin-bottom: 0;
}
.hoverLink-labo-02 .hide-block .hide-title {
	margin-top: 30px;
	margin-bottom: 8px;
	font-size: 20px;
  font-weight: bold;
}
.hoverLink-labo-02 .circle:hover {
	background: rgba(252, 129, 191, 0.5);
}

/*-------episode03 only --ホバーイベント03 継続進化シャフト-----*/

.hoverLink-labo-03 {
	position: absolute;
	top: 0;
	left: 0;
  width: 100%;
  height: 100%;
}
.hoverLink-labo-03 .title {
	position: absolute;
	color: #e62e8b;
	cursor: default;
	display: inline-block;
	font-size: 21px;
	top: 533px;
	left: 1019px;
	width: 170px;
	text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
}
.hoverLink-labo-03 .title.hide {
  display: none;
}
.hoverLink-labo-03 .circle {
	position: absolute;
	top: 370px;
	left: 1020px;
	width: 160px;
	height: 160px;
	border: solid 2px #e62e8b;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	transition-duration: .5s;
  cursor: pointer;
  z-index: 100;
}
.hoverLink-labo-03 .circle.hide {
  display: none;
}
.hoverLink-labo-03 .hide-block {
	opacity: 0;
  transition: 0.25s;
}
.hoverLink-labo-03 .hide-block.show {
  opacity: 1;
  transition: 0.3s;
  background: #fff;
  z-index: 1000;
  position: absolute;
	width: 100%;
  height: 100%;
}
.hoverLink-labo-03 .hide-block .hide-img {
	width: 97%;
  margin: 0 auto;
}
.hoverLink-labo-03 .hide-block img {
	margin-bottom: 0;
}
.hoverLink-labo-03 .hide-block .hide-title {
	margin-top: 30px;
	margin-bottom: 8px;
	font-size: 20px;
  font-weight: bold;
}
.hoverLink-labo-03 .circle:hover {
	background: rgba(252, 129, 191, 0.5);
}

/*-------episode03 only --ホバーイベント 左側  高性能Low-E複層ガラス-----*/

.hoverLink-simulat-left {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	opacity: 1;
	transition-duration: .5s;
}
.hoverLink-simulat-left.hideBlock {
	opacity: 0;
}
.hoverLink-simulat-left .title {
	position: absolute;
	color: #e62e8b;
	cursor: default;
	display: inline-block;
	font-size: 18px;
	top: 400px;
	left: 180px;
	width: 200px;
	text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	padding: 0;
	margin: 0;
	line-height: inherit;
	border: none;
}
.hoverLink-simulat-left .circle {
	position: absolute;
	top: 300px;
	left: 230px;
	width: 90px;
	height: 90px;
	border: solid 2px #e62e8b;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	transition-duration: .5s;
}
.hoverLink-simulat-left .hide-block {
	position: absolute;
	opacity: 0;
	transition-duration: .6s;
	left: 1030px;
	top: 10px;
}
.hoverLink-simulat-left .hide-block .hide-img {
	transform: translateX(0px);
	transition-duration: .8s;
}
.hoverLink-simulat-left .hide-block img {
	width: 600px;
	margin-bottom: 0;
}
.hoverLink-simulat-left .hide-block.show {
	opacity: 1;
}
.hoverLink-simulat-left .hide-block.show .hide-img {
	transform: translateX(-500px);
}
.hoverLink-simulat-left .circle:hover {
	background: rgba(252, 129, 191, 0.5);
}

/*-------episode03 only --ホバーイベント 右側  高性能Low-E複層ガラス+バルコニー・ルーバー-----*/

.hoverLink-simulat-right {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	opacity: 1;
	transition-duration: .5s;
}
.hoverLink-simulat-right.hideBlock {
	opacity: 0;
}
.hoverLink-simulat-right .title {
	position: absolute;
	color: #e62e8b;
	cursor: default;
	display: inline-block;
	font-size: 18px;
	top: 400px;
	left: 740px;
	width: 395px;
	text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;
	padding: 0;
	margin: 0;
	line-height: inherit;
	border: none;
}
.hoverLink-simulat-right .circle {
	position: absolute;
	top: 300px;
	left: 890px;
	width: 90px;
	height: 90px;
	border: solid 2px #e62e8b;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	transition-duration: .5s;
}
.hoverLink-simulat-right .hide-block {
	position: absolute;
	opacity: 0;
	transition-duration: .6s;
	left: -420px;
	top: 10px;
}
.hoverLink-simulat-right .hide-block .hide-img {
	transform: translateX(0px);
	transition-duration: .8s;
}
.hoverLink-simulat-right .hide-block img {
	width: 600px;
	margin-bottom: 0;
}
.hoverLink-simulat-right .hide-block.show {
	opacity: 1;
}
.hoverLink-simulat-right .hide-block.show .hide-img {
	transform: translateX(490px);
}
.hoverLink-simulat-right .circle:hover {
	background: rgba(252, 129, 191, 0.5);
}


@media screen and (max-width: 1199px) {
.point-area ul li {
	width: 49%;
	margin-right: 2%;
	margin-bottom: 2%;
}
.point-area ul li:nth-child(2n) {
	margin-right: 0;
}
	.point-area .coming-soon::after {
		top: 21vw;
	}
	.plan-flex {
	display: block;
}
.plan-flex .img-area {
	width: 100%;
	margin-right: 0;
}
.plan-flex .text-area{
	width: 100%;
	margin-top: 30px;
}
	.hoverLink-labo-wrapper {
    display: none;
		padding-bottom: 0;
	}
  .hoverLink-img_pc {
    display: none;
  }
  .hoverLink-img_sp {
    display: block;
  }
	.hoverLink-labo-wrapper_sp {
	display: block;
  }
  .hoverLink-simulat-left,
  .hoverLink-simulat-right {
    display: none;
  }
  .SPblock {
    border: solid 2px #e62e8b;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 15px;
  }
  .SPblock .img-area-01 {
    width: 50%;
    margin: 0 auto;
  }
  .SPblock .title {
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 960px) {
	.clgBox .about {
		flex-wrap: wrap;
	}
	.clgBox .about .title {
		min-width: 145px;
		height: 95px;
		font-size: 16px;
		margin-bottom: 10px;
	}
	.clgBox .head02.title {
		font-size: 20px;
		line-height: 1.8;
	}
  .point-area ul li a {
    padding: 20px;
  }
	.point-area .title, .co-block .title {
		font-size: 18px;
	}
	.point-area .img-area {
		padding: 0 75px;
	}
	.point-area .title {
		margin: 5px 0 10px;
	}
	.clgBox .head02.title span.icon {
		display: none;
	}
	.tide-flex-box {
	display: block;
}
	.tide-flex-box .side {
	width: 100%;
}
	.tide-flex-box .img {
		padding-top: 10px;
	}
.tide-flex-box .center {
	width: 15%;
	margin-right: 0;
	transform: rotate(90deg);
	margin: 15px auto;
}
}
@media screen and (max-width: 800px) {
  .challenge-page-link {
    padding-top: 150px;
    margin-top: -90px;
  }
}
@media screen and (max-width: 600px) {
		.point-area ul li {
	width: 100%;
	margin-right: 0;
	margin-bottom: 2%;
}
	.point-area .coming-soon::after {
		top: 40vw;
		font-size: 27px;
	}
}


/*-------episode04 only -------*/

.sections.ep04 {
	margin-top: 100px;
}
.episode4 .clgBox .head02.title {
	margin-bottom: 40px;
}
.episode4 h3.head-subTitle01 {
	font-size: 23px;
}
.clgBox.ep04 {
	margin: 100px auto 60px;
	width: 1000px;
}
.flex-box {
	display: flex;
	justify-content: space-between;
}
.flex-box .left-side img,
.flex-box .right-side img {
	width: 100%;
	height: auto;
}
.flex-box .left-side {
	width: 42%;
}
.flex-box .right-side {
	width: 55%;
}
.inner-box {
	padding-left: 35px;
}
.inner-img {
	margin: 20px 0 60px;
}
.text-big {
	font-size: 22px;
	line-height: 1.4;
	margin-bottom: 10px;
}
.text-underline {
	font-size: 18px;
	font-weight: bold;
	margin-top: 20px;
	display: inline-block;
}
.text-underline .line {
	border-bottom: solid 5px #ecb3b2;
}
.text-area {
	width: 525px;
}
.link-area {
	margin-top: 50px;
	text-align: right;
	font-size: 13px;
	word-break: break-all;
}
.text-link:hover {
	text-decoration: underline;
}
.link-img {
	cursor: pointer;
}
.popup-area img {
	width: 100%;
}
.link-img:hover img {
	opacity: 0.5;
	transition: 0.6s;
}
.popup-img-all {
/*	display: none;*/
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin-top: 40px;
	transition: 0.25s;
	opacity: 0;
	z-index: -100;
}
.popup-img-all.show {
	transition: 0.3s;
	opacity: 1;
	z-index: 9997;
}
.popup-background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: 0.75;
	transition: opacity 0.25s linear;
}
.popup-img {
	width: 1200px;
	background: #fff;
	transition: 0.3s;
	position: absolute;
	z-index: 1000;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 3px;
	padding: 30px;
	height: 77vh;
}
.popup-img .img {
	height: 100%;
	display: flex;
}
.popup-img .img img {
	display: block;
	margin: auto;
	width: auto;
	height: 100%;
	max-height: 82%;
}
.popup-img-all .close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 30px;
	height: 30px;
	cursor: pointer;
	z-index: 1001;
}
.popup-img-all .close-btn span {
	display: block;
	width: 25px;
	height: 4px;
	background: #000;
}
.popup-img-all .close-btn span:nth-child(1) {
	position: absolute;
	transform: rotate(45deg);
	top: 13px;
	right: 3px;
}
.popup-img-all .close-btn span:nth-child(2) {
	position: absolute;
	transform: rotate(-45deg);
	top: 13px;
	right: 3px;
}
.arrow-block {
	margin-top: 60px;
}
.arrow-under img {
	width: 100%;
}
.arrow-under {
	width: 47px;
	margin: 0 auto;
}
.arrow-block .text {
	margin-top: 15px;
}
.arrow-block .text img {
	width: 100%;
}
.focus {
	font-weight: bold;
	color: #d53282;
}
.jishin-table-body {
	margin-top: 30px;
}
.jishin-table {
	position: relative;
}
.jishin-table img {
	width: 100%;
	height: auto;
}
.jishin-table .link-img {
	position: absolute;
	right: 10px;
	bottom: 0;
	width: 200px;
}
.jishin-table .link-img#popup_link04 {
	bottom: 288px;
}
.jishin-table .link-img#popup_link05 {
	bottom: 148px;
}
.jishin-table .link-img#popup_link06 {
	bottom: 8px;
}
.jishin-table-text {
	font-size: 12px;
	margin-top: 10px;
	text-align: right;
}
.movie-tab-ep4 {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.movie-tab-ep4 iframe {
	position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.link-ep03_DcpBcp {
	text-align: right;
	margin-top: 30px;
}
.link-ep03_DcpBcp a {
	display: inline-block;
	color: #fff;
	background: #C53A81;
	border: solid 2px #C53A81;
	padding: 10px 20px;
	border-radius: 3px;
}
.link-ep03_DcpBcp a:hover {
	color: #C53A81;
	background: #fff;
}
#ep03_DcpBcp {
	margin-top: -100px;
	padding-top: 100px;
	display: block;
}
/* chrome opera */
/*
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
    #ep03_DcpBcp {
        margin-top: -250px;
				padding-top: 250px;
				display: block;
    }
}
*/
.sp_mb0 {
	margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
	.clgBox.ep04 {
		width: 90%;
		margin: 20px auto;
	}
	.flex-box {
		flex-flow: column;
	}
	.text-area {
		width: 100%;
	}
	.episode4 h3.head-subTitle01 {
		font-size: 20px;
	}
	.text-big {
		font-size: 18px;
	}
	.text-underline {
		font-size: 15px;
	}
	.popup-area {
		margin-top: 40px;
	}
	.link-area {
		margin-top: 35px;
	}
	.arrow-block {
		margin-top: 30px;
	}
	.arrow-under {
		width: 9%;
	}
	.sections.ep04 {
		margin-top: 0;
	}
	.flex-box .left-side {
		width: 82%;
		margin: 0 auto;
	}
	.flex-box .right-side {
		width: 100%;
		margin-top: 60px;
	}
	.inner-box,
	.inner-img {
		padding: 0;
	}
	.popup-img-all {
		margin-top: 34px;
	}
	.popup-img {
		width: 85%;
		padding: 50px 20px 20px;
	}
	.jishin-table .link-img {
		width: 145px;
	}
	.jishin-table .link-img#popup_link04 {
		bottom: 218px;
	}
	.jishin-table .link-img#popup_link05 {
		bottom: 112px;
	}
	.popup-img .img {
		position: absolute;
		top: 50%;
		right: 0;
		bottom: 0;
		left: 0;
		transform: translate(0, -50%);
		overflow-x: scroll;
		padding: 50px 20px 20px;
	}
	.popup-img .img img {
		height: 100%;
		width: auto;
	}
}
@media screen and (max-width: 800px) {
	.link-ep03_DcpBcp {
		text-align: center;
	}
	#ep03_DcpBcp {
		margin-top: -170px;
		padding-top: 170px;
	}
}
@media screen and (max-width: 959px) {
	.episode4 .clgBox .head02.title {
		margin-bottom: 20px;
	}
	.jishin-table .link-img {
		width: 15vw;
	}
	.jishin-table .link-img#popup_link04 {
		bottom: 23.8vw;
	}
	.jishin-table .link-img#popup_link05 {
		bottom: 12.4vw;
	}
	.jishin-table .link-img#popup_link06 {
		bottom: 1.1vw;
	}
}
@media screen and (max-width: 600px) {
	.link-area {
		text-align: left;
	}
	.jishin-table .link-img {
		right: 5px;
	}
	.jishin-table .link-img#popup_link04 {
		bottom: 23.1vw;
	}
	.jishin-table .link-img#popup_link05 {
		bottom: 12vw;
	}
	.jishin-table .link-img#popup_link06 {
		bottom: 1vw;
	}
}


/*-------episode05 only -------*/

.sections.ep05 {
	margin-top: 0px;
}
.episode4 .clgBox .head02.title {
	margin-bottom: 40px;
}
.clgBox.ep05 {
	margin: 100px auto 60px;
	width: 1000px;
}
.flex-box-ep05 {
  display: flex;
  justify-content: space-between;
}
.flex-box-ep05.width-half .left-side {
  width: 48.5%;
}
.flex-box-ep05.width-half .right-side {
  width: 48.5%;
}
.flex-box-ep05.width-bias .left-side {
  width: 60%;
}
.flex-box-ep05.width-bias .right-side {
  width: 37%;
}
.img-area.ep05 img,
.imgBox.ep05 img {
  width: 100%;
  height: auto;
}
.title-ep05 {
  border-bottom: solid 2px #519897;
  border-left: solid 13px #519897;
  font-size: 20px;
  padding: 0 0 5px 10px;
  line-height: 1;
  margin-bottom: 20px;
  margin-top: 80px;
}
.text-right-ep05 {
  text-align: right;
}
.flex-box-ep05.zeb .left-side .img-area {
  padding: 0 140px 20px;
}
.column-title {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 20px;
}
.column-note {
  margin-bottom: 80px;
}
.column-flex {
  display: flex;
}
.column-flex .left-side {
  width: calc(100% - 550px);
}
.column-flex .right-side {
  margin-left: 50px;
  width: 500px;
}
.roadmap-block {
  text-align: center;
  background: #e2f6f6;
  padding: 40px;
  font-size: 19px;
}
.roadmap-title {
  background: #008b8b;
  color: #fff;
  font-size: 21px;
  font-weight: bold;
  padding: 10px 15px;
  margin-bottom: 25px;
}
.cooperation {
  color: #008b8b;
  font-weight: bold;
  font-size: 26px;
  position: relative;
  padding-bottom: 5px;
  width: fit-content;
  margin: 2px auto 45px;
}
.cooperation::before {
  content: '';
  display: block;
  width: calc(100% + 45px);
  height: 8px;
  background: #008b8b;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.cooperation::after {
  content: '';
  width: 0px;
  height: 0px;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 20px solid #008b8b;
  border-bottom: 0px solid transparent;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
}
.cooperation.t-orange {
  color: #dc5539;
  margin: 2px auto 67px;
}
.cooperation.t-orange::before {
  background: #dc5539;
}
.cooperation.t-orange::after {
  bottom: -50px;
}
.cooperation.no-arrow {
  margin-bottom: 0;
}
.cooperation.no-arrow::after {
  display: none;
}
.cooperation-sub {
  color: #008b8b;
  font-size: 18px;
}
.annotation-number {
  position: relative;
  top: -8px;
  right: -3px;
  font-size: 10px;
  margin-right: 6px;
}
.annotation-text {
  color: #000;
  font-size: 13px;
  width: calc(100% + 2rem);
  position: absolute;
  bottom: -21px;
  right: -2rem;
}
.sp-ep05 {
  display: none;
}

.flex-box-ep05.img-edit-ep05_01 .right-side {
  width: 150px;
  min-width: 150px;
  margin-left: 50px;
}
.flex-box-ep05.img-edit-ep05_02 .right-side {
  width: 200px;
  min-width: 200px;
  margin-left: 50px;
}
.flex-box-ep05.img-edit-ep05_03 .right-side {
  width: 400px;
  min-width: 400px;
  margin-left: 100px;
}
.img-edit-ep05_04 .right-side {
  width: 200px;
  min-width: 200px;
  margin-left: 50px;
}
.img-edit-ep05_04 img {
  width: 100%;
}


@media screen and (max-width: 1199px) {
  .flex-box-ep05 {
    flex-flow: column;
  }
  .flex-box-ep05.width-half .left-side {
    width: 100%;
    margin-bottom: 30px;
  }
  .flex-box-ep05.width-half .right-side {
    width: 100%;
  }
  .flex-box-ep05.width-bias .left-side {
    width: 100%;
    margin-bottom: 30px;
  }
  .flex-box-ep05.width-bias .right-side {
    width: 100%;
  }
  .flex-box-ep05.zeb .left-side .img-area {
    padding: 0 80px 20px;
  }
  .column-note {
    margin-bottom: 60px;
  }
  .column-flex {
    flex-flow: column;
  }
  .column-flex .left-side {
    width: 100%;
    margin-bottom: 30px;
  }
  .column-flex .right-side {
    margin-left: 0;
    margin-top: 30px;
    width: 100%;
  }
  .roadmap-block {
    padding: 15px;
  }
  .sp-ep05 {
    display: inline;
  }
  .pc-ep05 {
    display: none;
  }
  .flex-box-ep05.img-edit-ep05_01 .right-side,
  .flex-box-ep05.img-edit-ep05_02 .right-side,
  .flex-box-ep05.img-edit-ep05_03 .right-side {
    width: 100%;
    min-width: auto;
    margin-left: 0;
    margin-top: 30px;
  }
}

@media screen and (max-width: 960px) {
  .title-ep05 {
    font-size: 19px;
    margin-top: 70px;
    line-height: 1.3;
  }
}



/*--------------------- .storyLink ---------------------*/
.storyLink{
  display: block;
  margin: 0 auto;
  padding-top: 20px;
  max-width: 880px;
}
.storyLink#bottom{
  display: block;
  margin: 0 auto;
  padding-top: 140px;
	padding-bottom: 50px;
  max-width: 880px;
}
.storyLink ul{
  display: flex;
  justify-content: space-between;
}
.storyLink li{
  list-style: none;
	margin-right: 30px;
	margin-bottom: 20px;
}
.storyLink li:last-child{
  margin-right: 0;
}
.storyLink li a:before{
  content: "■ ";
	color: #000;
}
.storyLink li a {
  padding-bottom: 2px;
	font-size: 17px;
}
.storyLink li a:hover{
  color: #e73918;
  transition: color 0.5s;
  transition: border 0.1s;
}
.linkHead {
  border-bottom: 1px solid #dad3bc;
  font-size: 22px;
  font-weight: 600;
  font-family: 'Fira Sans Condensed', sans-serif;
  letter-spacing: 0.1em;
  text-align: left;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
.storyLink li.choice {
  pointer-events: none;
}
.storyLink li.choice a:before {
  color: #e73918;
}

.clear {
  clear: both;
}
@media only screen and (max-width: 1199px) {
	.storyLink#bottom {
		padding-bottom: 85px;
	}
}
@media only screen and (max-width: 800px) {
  /*--------------------- .storyLink ---------------------*/
	.storyLink, .storyLink#bottom {
    width: 100%;
  }
  .storyLink#bottom {
    padding-top: 0;
  }
  .storyLink ul{
    justify-content: flex-start;
		flex-wrap: wrap;
  }
  .storyLink li{
    width: 50%;
    text-align: center;
		margin-right: 0;
  }
}

/*--------------------- .flt ---------------------*/
.fltBox {
  overflow: hidden;
}
.fltLimg {
  float: left;
}
.fltRimg {
  float: right;
}
.fltLtxt {
  float: left;
  line-height: 1.8;
  margin: 0;
  width: 50%;
}
.fltRtxt {
  float: right;
  line-height: 1.8;
  margin: 0;
  width: 50%;
}
.fltLtxt.clm2 {
  width: 48%;
}
.fltRtxt.clm2 {
  width: 48%;
}

/*--------------------- .continue ---------------------*/
.continue {
  background-color: #9e9f9f;
  padding: 10px 0;
  margin-top: 50px;
}
.continue .continueTxt {
  background-color: #d4d4d5;
  border: 2px solid #e8e8e8;
  border-width: 2px 0 2px 0;
  color: #000;
  font-size: 16px;
  font-family: 'Fira Sans Condensed', sans-serif;
  line-height: 1.8;
  text-align: center;
  padding: 10px;
}
.continue .continueTxt a {
  text-decoration: underline;
}

#up{
  display: none;
}

.caption {
  font-size: 12px;
}

.middleBox {
  overflow: hidden;
}
.middleTxt {
  float: left;
  margin-left: 50px;
  vertical-align: middle;
  width: 45%;
}
.middleImg {
  float: left;
  vertical-align: middle;
}

.fixedImg {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  opacity: 0;
  transition-duration: 0.5s;
  -moz-transition-duration: 0.5s;
  -webkit-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  -ms-transition-duration: 0.5s;
}
.fixedImg img {
  width: 100%;
}
.active .fixedImg {
  opacity: 1;
}

/*
.gallery_area {
  position: relative;
}
.gallery_area .sections {
  padding: 50px;
}
.img_gallery {
  top: 0;
  width: 100%;
  list-style: none;
  padding-bottom: 50px;
  margin: 0;
  opacity: 0;
  transition: all 0.4s ease;
  z-index: 1;
}
/*.img_gallery img { width: 100%; }
.img_gallery.fixed {
  position: fixed;
  top: 160px;
}
.img_gallery.active { opacity: 1;}
.img_gallery div { height: 20vh;}
*/


.imgBox img {
  margin-bottom: 30px;
  width: 100%;
}
.imgBox-2 {
	text-align: right;
	margin: 0 auto;
}
.imgBox-2 img {
	width: 100%;
	height: auto;
}

video {
  width: 100%;
}
.movie-tabs {
  margin-top: 50px;
  padding-bottom: 70px;
  margin: 0 auto;
  position: relative;
}
.tab_item {
  width: calc(100%/3 - 30px);
  margin-left: calc(30px/2);
  height: 60px;
  line-height: 60px;
  background: #B4B4B4;
  font-size: 18px;
  text-align: center;
  color: #fff;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
  position: absolute;
  bottom: 0;
  border-radius: 3px;
  cursor: pointer;
}
.tab_item#tab_electric {
  left: 0;
}
.tab_item#tab_sewage {
  left: calc(100%/3);
}
.tab_item#tab_coolingWater {
  left: calc(100% - 100%/3);
}
.tab_item::before {
  position: absolute;
  top: 21px;
  right: 30px;
  content: '';
  display: block;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #fff;
}
.tab_item:hover {
  opacity: 0.8;
}
.movie-tabs input:checked + .tab_item:hover {
  opacity: 1;
  cursor: default;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}
/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 0 0;
  clear: both;
  overflow: hidden;
}
/*選択されているタブのコンテンツのみを表示*/
#electric:checked ~ #electric_content,
#sewage:checked ~ #sewage_content,
#coolingWater:checked ~ #coolingWater_content {
  display: block;
}
/*選択されているタブのスタイルを変える*/
.movie-tabs input:checked + .tab_item#tab_electric {
  background: #F0A246;
}
.movie-tabs input:checked + .tab_item#tab_sewage {
  background: #39A259;
}
.movie-tabs input:checked + .tab_item#tab_coolingWater {
  background: #24A3D8;
}

@media only screen and (max-width: 800px) {
  .tab_content {
    padding: 20px 0 0;
  }
  .tab_item {
    width: calc(100%/3 - 21px);
    margin-left: calc(6px/2);
    font-size: 14px;
    height: 53px;
    line-height: 53px;
    padding-right: 15px;
  }
  .tab_item::before {
    top: 21px;
    right: 6px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 11px solid #fff;
  }
	.imgBox-2 {
	max-width: 375px;
  }
}


  
/*--------------------- indent ---------------------*/
.center{text-align:center!important;}
.left{text-align:left!important;}
.right{text-align:right!important;}
.top0{margin-top:0 !important;}
.top5{margin-top:5px !important;}
.top10{margin-top:10px !important;}
.top15{margin-top:15px !important;}
.top20{margin-top:20px !important;}
.top25{margin-top:25px !important;}
.top30{margin-top:30px !important;}
.top35{margin-top:35px !important;}
.top40{margin-top:40px !important;}
.top50{margin-top:50px !important;}
.top60{margin-top:60px !important;}
.top70{margin-top:70px !important;}
.top80{margin-top:80px !important;}
.top90{margin-top:90px !important;}

.top350{margin-top:350px !important;}
.top400{margin-top:400px !important;}
.top500{margin-top:500px !important;}
.top600{margin-top:600px !important;}
.top700{margin-top:700px !important;}
.top800{margin-top:800px !important;}
.top900{margin-top:900px !important;}

.btm0{margin-bottom:0 !important;}
.btm5{margin-bottom:5px !important;}
.btm10{margin-bottom:10px !important;}
.btm15{margin-bottom:15px !important;}
.btm20{margin-bottom:20px !important;}
.btm25{margin-bottom:25px !important;}
.btm30{margin-bottom:30px !important;}
.btm35{margin-bottom:35px !important;}
.btm40{margin-bottom:40px !important;}
.btm45{margin-bottom:45px !important;}
.btm50{margin-bottom:50px !important;}
.btm55{margin-bottom:55px !important;}
.btm60{margin-bottom:60px !important;}
.btm65{margin-bottom:65px !important;}
.btm70{margin-bottom:70px !important;}
.btm75{margin-bottom:75px !important;}
.btm80{margin-bottom:80px !important;}
.btm85{margin-bottom:85px !important;}
.btm90{margin-bottom:90px !important;}
.btm95{margin-bottom:95px !important;}
