@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
20240507追加
****************************************************************************************************/
#header {
	background: #FFF;
}



/****************************************************************************************************
20240816追加
****************************************************************************************************/
#gNavi {
	border-bottom: none;
}



/****************************************************************************************************
bnr-movie
****************************************************************************************************/
#bnr-movie {
	position: fixed;
	right: 0;
	bottom: 40px;
	z-index: 1000;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
}
#annotation {
	padding-bottom: 100px;
}



/****************************************************************************************************
wrap
****************************************************************************************************/
#wrap {
	overflow: hidden;
	padding-top: 132px;
}



/****************************************************************************************************
main
****************************************************************************************************/
#main {
}
#main img {
	width: 100%;
	height: auto;
}
#main figure {
	position: relative;
}
#main figure figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	color: #FFF;
	font-size: 0.666rem;
}



/****************************************************************************************************
point
****************************************************************************************************/
#point {
	background-image: linear-gradient(90deg, rgb(53,42,14) 0%, rgb(160,134,117) 34%, rgb(53,42,14) 100%);
}
#point::before,
#point::after {
	display: block;
	content: "";
	width: 100%;
	height: 5px;
	background-image: linear-gradient(90deg, rgb(160,135,118), rgb(160,135,118));
}



/****************************************************************************************************
cont
****************************************************************************************************/
#cont {
	padding: 50px 0 80px 0;
	background: url(../img/topV2/bg.jpg) no-repeat center top;
	background-size: cover;
}

#information {
}
#iot {
}
#midashi {
	position: relative;
	display: inline-block;
	margin-top: 40px;
	font-size: 1.733rem;
	font-weight: bold;
	background: linear-gradient(180deg, #008FB7 0%, #00576F 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#midashi::before {
	position: absolute;
	display: block;
	content: "";
	width: 80px;
	height: 1px;
	left: -100px;
	top: 50%;
	background: rgba(0,142,182,.5);
}
#midashi::after {
	position: absolute;
	display: block;
	content: "";
	width: 80px;
	height: 1px;
	right: -100px;
	top: 50%;
	background: rgba(0,142,182,.5);
}

#info1 {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
	gap: 1rem;
	width: 930px;
	height: 220px;
	margin: auto;
	margin-top: 40px;
	background: url(../img/top/info-bg.jpg) no-repeat center center;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
	color: #FFF;
}
#info1::before {
	position: absolute;
	display: block;
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	left: 5px;
	top: 5px;
	border: 1px solid rgba(220,196,168,.8);
	pointer-events: none;
}
#info1 h2 {
	font-size: 2.533rem;
	line-height: 1.2;
}
#info1 h3 {
	margin-bottom: 0.2em;
	color: #DDC5A9;
	font-size: 2.8rem;
	line-height: 1.2;
	letter-spacing: 1px;
}
#info1 h3 .date {
	font-size: 1.6rem;
}
#info1 h3 .small {
	font-size: 1.6rem;
	vertical-align: 3px;
}
#btn-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
}
#btn-block a {
	display: block;
	background: rgba(51,65,155,.4);
}
#movie-block {
	display: inline-block;
    margin-top: 40px;
}
#movie-block a {
	display: block;
	box-shadow: 0 0 10px rgba(0,0,0,.25);
}
#campaign {
	width: 960px;
	margin: auto;
    margin-top: 40px;
	text-align: left;
}



/****************************************************************************************************
concept
****************************************************************************************************/
#concept {
	width: 1260px;
	margin: auto;
	margin-top: 60px;
	text-align: center;
}
#concept-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
#concept-left {
	flex: 1;
}
#concept-ttl {
	margin-top: 30px;
}
#concept-copy {
	margin: 40px 0 0 0;
	color: #526B80;
}
#concept-copy h3 {
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.3em;
}
#concept-copy p {
	margin-top: 1em;
	line-height: 2.3;
	letter-spacing: 0.2em;
}
#concept-txt {
	margin-top: 60px
}
#concept-img {
}
#concept-img figure {
	position: relative;
}
#concept-img figure figcaption {
	position: absolute;
	right: 5px;
	bottom: 84px;
	font-size: 0.733rem;
}

#float-banner {
	position: fixed;
	left: 0;
	bottom: 40px;
	box-shadow: 5px 5px 10px rgba(0,0,0,.25);
	-webkit-transition: opacity 300ms;
	-moz-transition: opacity 300ms;
	transition: opacity 300ms;
}
#float-banner.in-active {
	opacity: 0;
	pointer-events: none;
}



/****************************************************************************************************
link-block
****************************************************************************************************/
.link-block {
	position: relative;
}
.link-bg {
	position: relative;
}
.link-bg img {
	object-fit: cover;
	width: 100%;
	height: 650px;
}
.link-bg figcaption {
	position: absolute;
	right: 1em;
	bottom: 1em;
	font-size: 0.733rem;
}
.link-inner {
	position: absolute;
	width: 1280px;
	left: 0;
	right: 0;
	margin: auto;
}
.link-inner .link-txt h3 {
	font-size: 2.4rem;
	line-height: 1.2;
	letter-spacing: 0.3em;
}
.link-inner .link-txt p {
	margin-top: 20px;
	font-size: 1rem;
	line-height: 2.3;
	letter-spacing: 0.3em;
}
.link-btn {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 45px;
	text-align: right;
}
.link-btn a {
	display: block;
}
.link-btn figcaption {
	margin-top: 0.8em;
	font-size: 0.733rem;
}
#position .link-inner {
	top: 6px;
	text-align: right;
}
#position .link-ttl {
	mix-blend-mode: multiply;
}
#position .link-txt {
	margin-top: 90px;
	color: #526B7F;
}
#position .link-btn {
    -webkit-box-pack:end;
    -webkit-justify-content:flex-end;
    -ms-flex-pack:end;
    justify-content:flex-end;
	margin-right: -10px;
	margin-top: 90px;
}
#design .link-inner {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	height: 650px;
	top: 0;
}
#design .link-ttl {
	position: absolute;
	bottom: 25px;
}
#design .link-btn {
	position: absolute;
	gap: 0;
	right: 0;
	top: 86px;
}
#design-btn {
	-webkit-transform: translate(56px, 26px);
	transform: translate(56px, 26px);
	z-index: 100;
}
#design .link-txt {
	color: #FFF;
	text-align: left;
	-webkit-transform: translate(0, -10px);
	transform: translate(0, -10px);
}
#quality .link-inner {
	top: 0;
	height: 650px;
	text-align: left;
}
#quality .link-ttl {
	position: absolute;
	right: -37px;
	bottom: 0;
}
#quality .link-txt {
	margin-top: 160px;
	color: #526B7F;
}
#quality .link-btn {
    -webkit-box-pack:start;
    -webkit-justify-content:flex-start;
    -ms-flex-pack:start;
    justify-content:flex-start;
	margin-top: 50px;
}



@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	opening
	****************************************************************************************************/
	#opening-inner {
		position: absolute;
		top: calc(50vh - 50vw);
		height: 100vw;
		overflow: hidden;
	}
	#op1-img1,
	#op1-moon,
	#op1-logo,
	#op1-copy1,
	#op1-copy2 {
		width: 130vw;
	}
	#op1-left {
		width: 120vw;
	}
	#op1-right {
		width: 120vw;
	}
	#op1-last {
		left: auto;
		right: -3vw;
		width: 120vw;
	}
	#op1-last img {
		min-height: initial;
	}
	#op1-kage {
		left: -15vw;
		width: 120vw;
	}
	#op1-kage img {
		height: 100vw;
	}
	#op1-copy3 {
		width: 120vw;
	}
	#op1-copy3 img {
		max-height: 100vh;
	}
	.op1-plot {
		left: auto;
		right: -3vw;
		width: 120vw;
	}
	
	#skip {
		position: fixed;
		left: auto;
		right: 2vw;
		top: 2vw;
		bottom: auto;
	}
	#skip a {
		width: 18vw;
		height: 8vw;
		font-size: 1.2rem;
		line-height: 8vw;
		background: rgba(200,200,200,.5);
	}
	
	
	
	/****************************************************************************************************
	bnr-movie
	****************************************************************************************************/
	#bnr-movie {
		width: 40vw;
		bottom: 18vw;
	}
	#annotation {
		padding-bottom: 10vw;
	}
	
	
	
	/****************************************************************************************************
	wrap
	****************************************************************************************************/
	#wrap {
		padding-top: 8vw;
	}
	
	
	
	/****************************************************************************************************
	main
	****************************************************************************************************/
	#main {
	}
	#main img {
	}
	#main figure figcaption {
		right: 26vw;
		bottom: 2.5vw;
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	point
	****************************************************************************************************/
	#point > div {
		padding: 0 4vw;
	}
	#point::before,
	#point::after {
		height: 1vw;
	}
	
	
	
	/****************************************************************************************************
	cont
	****************************************************************************************************/
	#cont {
		padding: 4vw 4vw 10vw 4vw;
		background: url(../img/top/bg.jpg) no-repeat center top;
		background-size: cover;
	}
	
	#information {
	}
	#midashi {
		margin-top: 8vw;
		font-size: 1.2rem;
	}
	#midashi::before {
		width: 10vw;
		left: -12vw;
	}
	#midashi::after {
		width: 10vw;
		right: -12vw;
	}
	
	#info1 {
		gap: 1rem;
		width: 100%;
		height: auto;
		margin: auto;
		margin-top: 6vw;
		padding: 6vw 5vw;
		background-size: cover
	}
	#info1::before {
		width: calc(100% - 2vw);
		height: calc(100% - 2vw);
		left: 1vw;
		top: 1vw;
	}
	#info1 h2 {
		font-size: 1.6rem;
	}
	#info1 h3 {
		margin-bottom: 0;
		font-size: 1.6rem;
	}
	#info1 h3 .date {
		font-size: 1.0rem;
	}
	#info1 h3 .small {
		font-size: 1.0rem;
		vertical-align: 2px;
	}
	#btn-block {
		gap: 1vw;
	}
	#movie-block {
		margin-top: 4vw;
	}
	#campaign {
		width: auto;
		margin-top: 2vw;
		margin-left: -2vw;
		margin-right: -0.7vw;
	}
	
	
	
	/****************************************************************************************************
	concept
	****************************************************************************************************/
	#concept {
		width: 100%;
		margin-top: 10vw;
	}
	#concept-inner {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
		gap: 4vw;
	}
	#concept-ttl {
		margin-top: 0;
	}
	#concept-ttl img {
		width: 70vw;
	}
	#concept-copy {
		margin: 6vw 0 0 0;
	}
	#concept-copy h3 {
		font-size: 1.733rem;
	}
	#concept-copy p {
		font-size: 0.866rem;
		letter-spacing: 0;
	}
	#concept-txt {
		margin-top: 6vw;
	}
	#concept-img {
		width: 80vw;
	}
	#concept-img figure {
	}
	#concept-img figure figcaption {
		right: 1vw;
		bottom: 12.5vw;
		font-size: 0.6rem;
	}
	
	#float-banner {
		width: 40vw;
		bottom: 18vw;
	}
	
	
	
	/****************************************************************************************************
	link-block
	****************************************************************************************************/
	.link-bg img {
		height: 120vw;
	}
	.link-bg figcaption {
		font-size: 0.533rem;
	}
	.link-inner {
		width: 92vw;
	}
	.link-inner .link-txt h3 {
		letter-spacing: 0;
	}
	.link-inner .link-txt p {
		margin-top: 1em;
		letter-spacing: 0;
	}
	.link-btn {
		gap: 2vw;
	}
	.link-btn figcaption {
		font-size: 0.533rem;
	}
	#position .link-bg img {
		opacity: 0.3;
	}
	#position .link-inner {
		top: 4vw;
	}
	#position .link-txt {
		margin-top: 12vw;
		mix-blend-mode: multiply;
	}
	#position .link-btn {
		margin-right: 0;
		margin-top: 12vw;
	}
	#design .link-inner {
		-webkit-box-align:start;
		-webkit-align-items:flex-start;
		-ms-flex-align:start;
		align-items:flex-start;
		height: 102vw;
		top: 14vw;
	}
	#design .link-ttl {
		bottom: 0;
	}
	#design .link-btn {
		right: auto;
		left: 0;
		top: 40vw;
	}
	#design-btn {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		z-index: 100;
		width: 45vw;
	}
	#design-img {
		width: 45vw;
		-webkit-transform: translate(0, 5vw);
		transform: translate(0, 5vw);
	}
	#design-img img {
		width: 55vw;
		-webkit-transform: translate(-10vw, 0);
		transform: translate(-10vw, 0);
	}
	#design .link-txt {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#quality .link-bg img {
		object-position: 50% 50%;
		opacity: 0.3;
	}
	#quality .link-inner {
		height: 120vw;
	}
	#quality .link-ttl {
		right: 0;
	}
	#quality .link-txt {
		margin-top: 12vw;
		mix-blend-mode: multiply;
	}
	#quality .link-btn {
		margin-top: 6vw;
	}
}

@media screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	opening
	****************************************************************************************************/
	#opening-inner {
		top: 0;
		height: 100vh;
	}
	#op1-img1,
	#op1-moon,
	#op1-logo,
	#op1-copy1,
	#op1-copy2 {
		width: 100vw;
	}
	#op1-left {
		width: 100vw;
	}
	#op1-right {
		width: 100vw;
	}
	#op1-last {
		right: 0;
		width: 100vw;
	}
	#op1-kage {
		left: 0;
		width: 100vw;
	}
	#op1-kage img {
		height: 100vh;
	}
	#op1-copy3 {
		width: 100vw;
	}
	#op1-copy3 img {
		max-height: 100vh;
	}
	.op1-plot {
		right: 0;
		width: 100vw;
	}
	
	#skip {
		left: auto;
		right:2vw;
		top:2vw;
		bottom: auto;
	}
	#skip a {
		width:12vw;
		height:5vw;
		font-size: 1.0rem;
		line-height:5vw;
		background: rgba(200,200,200,.5);
	}
	
	
	
	/****************************************************************************************************
	concept
	****************************************************************************************************/
	
	#float-banner {
		width: 20vw;
		bottom: 10vw;
	}
}