@charset "utf-8";





/*  l-loading
--------------------------------------------------*/
.l-loading {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	background: var(--white);
  z-index: 100000;
}
.l-loading.complete {
	pointer-events: none;
}
.loading-container {
	position: relative;
}
.loading-contents {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 1;
}
.loading-contents__photo {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: clip;
}

/* コピーの視認性調整 */
.loading-contents__photo2::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(var(--black-rgb), .2);
}

.loading-contents__photo img {	
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.loading-contents__photo__sky {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: clip;
}
.loading-contents__photo__lineBlue {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: screen;
	clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.loading-contents__photo__lineRed {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: screen;
	clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
.loading-contents__photo__light {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: screen;
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}
.loading-contents__photo__catch {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
.loading-contents__movie2 ,
.loading-contents__photo2 {
	opacity: 0;
}
.loading-contents__movie {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: clip;
}

/* コピーの視認性調整 */
.loading-contents__movie::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(var(--black-rgb), .2);
}

.loading-contents__movie video {	
	object-fit: cover;
	object-position: center center;
	width: 102%;
	height: 102%;
	pointer-events: none;
}
.loading-contents__movie__poster {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: none;
}
.loading-contents__movie__poster img {	
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.loading-contents__catch {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	/*background: rgba(var(--black-rgb), .2);*/
	opacity: 0;
	filter: blur(5px);
}
.loading-contents__catch__item {
	position: absolute;
	inset: 50% 0 auto;
	translate: 0 -50%;
	width: min(90%,800px);
	margin-inline: auto;

	/* コピーの視認性調整 */
	filter: drop-shadow(0 0 5px rgba(0, 0, 0, 1));
}

/* コピーの視認性調整 */
.loading-contents__catch__item::before {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: rgba(var(--black-rgb), 0.01);
  filter: blur(20px);
	z-index: -1;
}

/*空撮コピーの視認性調整*/
.loading-contents1 .loading-contents__catch__item img {
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.3));
}

.skip {
	position: absolute;
	right: 30px;
	bottom: 30px;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .1em;
	color: var(--white);
	border: none;
	padding: 10px 15px;
	outline: none;
	background: transparent;
	pointer-events: auto;
	cursor: pointer;
	background: rgba(0, 0, 0, .3);
	z-index: 2;
}
.skip:focus-visible {
  outline: auto;
}
@media screen and (max-width: 768px){

	/*空撮コピーの視認性調整*/
	.loading-contents1 .loading-contents__catch__item img {
	  filter: none;
	}
	.skip {
		font-size: 12px;
		right: 20px;
		bottom: 30px;
		padding: 7px 10px;
	}
}


/*  l-mv
--------------------------------------------------*/
.l-mv {
	position: relative;
}
.mv-photo {
	position: relative;
	width: 100%;
	aspect-ratio: 1500 / 1200;
	overflow: clip;
	z-index: 1;
}
.mv-photo__item {
	position: absolute;
  left: 0;
  top: 0;
  width: 100%;
	aspect-ratio: 1500 / 1640;
	transform: translateY(calc(-440 / 1640 * 100%));
}
.mv-photo__item img {
	object-fit: cover;
	object-position: top center;
	width: 100%;
	height: 100%;
}
.mv-fixed {
	position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 2;
}
.mv-fixed img {
	object-fit: cover;
	object-position: top center;
	width: 100%;
	height: 100%;
}
.mv-patch {
	position: absolute;
	right: 0;
	top: 0;
	width: calc(325 / 1500 * 100%);
	margin-top: calc(20 / 1500 * 100%);
	margin-right: calc(10 / 1500 * 100%);
	opacity: 0;
	z-index: 3;
}
.mv-copy {
	position: absolute;
	right: 0;
	top: 0;
	width: calc(480 / 1500 * 100%);
	margin-top: calc(420 / 1500 * 100%);
	opacity: 0;
	z-index: 3;
}
.mv-patch img ,
.mv-copy img {
	max-width: none;
}
@media screen and (max-width: 768px){
	.mv-photo {
		aspect-ratio: 380 / 450;
	}
	.mv-photo__item {
		aspect-ratio: 380 / 630;
		transform: translateY(calc(-180 / 630 * 100%));
	}
	.mv-patch {
		width: calc(150 / 380 * 100%);
		margin-top: 0;
		margin-right: calc(-5 / 380 * 100%);
		/*opacity: 1;*/
	}
	.mv-copy {
		width: calc(145 / 380 * 100%);
		margin-top: calc(150 / 380 * 100%);
		/*opacity: 1;*/
	}
}




/*  l-merit
--------------------------------------------------*/
.l-merit {
	padding-block: 4.0rem;
	background: linear-gradient(135deg, rgba(88, 74, 69, 1) 0%, rgba(87, 73, 66, 1) 31.92%, rgba(84, 70, 56, 1) 57.55%, rgba(78, 64, 39, 1) 80.92%, rgba(72, 58, 19, 1) 100%);
}
@media screen and (max-width: 768px){
	.l-merit {
		padding-block: 0;
	}
	.merit-outer {
		max-width: 560px;
	}
}




/*  l-intro
--------------------------------------------------*/
.l-intro {
	padding-block: 8.0rem 12.0rem;
}
.intro-contents {
	margin-bottom: 8.0rem;
}
.intro-contents__desc {
	font-size: 3.2rem;
	line-height: 1.77777778;
	letter-spacing: .1em;
	text-align: center;
	margin-bottom: 2.0rem;
}
.intro-contents__desc em {
	position: relative;
	display: block;
	width: fit-content;
	margin-inline: auto;
  margin-bottom: .2em;
}
/*.intro-contents__desc em span {
	background: linear-gradient(transparent 70%, rgba(118, 18, 18, 0.5) 70%);
  background-image: url(../img/home/img_underline.svg);
  background-size: 100% 20px;
  background-repeat: no-repeat;
  padding-bottom: 5px;
  background-position: center bottom;
}*/
.intro-contents__desc i {
	font-size: .8em;
	letter-spacing: .1em;
}
.intro-contents__heading {
	font-size: 4.2rem;
	line-height: 1.75;
	letter-spacing: .1em;
	text-align: center;
	margin-bottom: 3.5rem;
}
@media screen and (max-width: 768px){
	.l-intro {
		padding-block: 3.5rem 0;
	}
	.intro-contents {
		margin-bottom: 4.0rem;
	}
	.intro-contents__desc {
		font-size: 2.2rem;
		margin-bottom: 1.5rem;
	}
	.intro-contents__desc em {
    margin-bottom: .5em;
	}
	.intro-contents__heading {
		font-size: 2.8rem;
		margin-bottom: 2.0rem;
	}
}



/*  l-limitedInfo
--------------------------------------------------*/
.l-limitedInfo {
	position: relative;
	padding-block: 8.5rem 8.0rem;
}
.limitedInfo-head {
	width: calc(1080 / 1200 * 100%);
	margin-inline: auto;
}
.limitedInfo-head__ttl {
	/*font-size: 2.4rem;*/
	font-size: 3.4rem;
	letter-spacing: .1em;
	color: #ffdc7c;
	text-align: center;
	margin-bottom: 2.5rem;
}
.limitedInfo-head__heading {
	font-size: 3.6rem;
	line-height: 1.75;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
	margin-bottom: 2.3rem;
}
.limitedInfo-head__desc {
	font-size: 1.8rem;
	line-height: 2.5;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
    margin-bottom: 2.5rem;
}
.limitedInfo-head__cv__box {
	width: min(100%,480px);
	margin-inline: auto;
}
.limitedInfo-head__cv__box__heading {
	font-size: 1.5rem;
	line-height: 1.75;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
	margin-bottom: 1.0rem;
}
.limitedInfo-flow {
	width: calc(1080 / 1200 * 100%);
	margin-inline: auto;
	margin-top: 5.0rem;
	padding-top: 3.5rem;
	border-top: solid 1px #8c8781;
}
.limitedInfo-flow__heading {
	font-size: 2.8rem;
	line-height: 1.75;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
	margin-bottom: 3.0rem;
}
.limitedInfo-flow__list {
	width: 100%;
}
.limitedInfo-flow__list__item {
	position: relative;
	width: calc(320 / 1080 * 100%);
}
.limitedInfo-flow__list__item + .limitedInfo-flow__list__item::before {
	content: '';
	position: absolute;
	left: calc(-40 / 320 * 100%);
	top: 0;
	margin-top: calc(87 / 320 * 100%);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	width: calc(20 / 320 * 100%);
	aspect-ratio: 20 / 40;
	background: #ceb87a;
}
.limitedInfo-flow__list__item__photo {
    width: 100%;
	margin-bottom: 2.0rem;
}
.limitedInfo-flow__list__item__detail {
	width: 100%;
	flex: 1 auto;
}
.limitedInfo-flow__list__item__detail__heading {
	width: 100%;
	font-size: 2.4rem;
	line-height: 1.77777778;
	letter-spacing: .1em;
	color: var(--white);
	margin-bottom: 1.3rem;
}
.limitedInfo-flow__list__item__detail__desc {
	width: 100%;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: .1em;
	color: var(--white);
	/*margin-bottom: 2.2rem;*/
	flex: 1 auto;
}
.limitedInfo-flow__list__button {
	display: none;
}
@media screen and (max-width: 768px){
	.l-limitedInfo {
		max-width: 100%;
		width: 100%;
		/*height: 86.0rem;*/
		padding-block: 5.5rem 6.0rem;
		/*overflow: clip;*/
		/*transition: height .3s linear;*/
	}
	.limitedInfo-head {
		width: calc(320 / 380 * 100%);
	}
	.limitedInfo-head__ttl {
		/*font-size: 1.4rem;*/
		font-size: 2.0rem;
		margin-bottom: 2.2rem;
	}
	.limitedInfo-head__heading {
		font-size: 2.4rem;
		margin-bottom: 1.5rem;
	}
	.limitedInfo-head__desc {
		font-size: 1.5rem;
		line-height: 2;
	    margin-bottom: 3.0rem;
	}
	.limitedInfo-head__cv__box {
		width: 100%;
	}
	.limitedInfo-head__cv__box__heading {
		font-size: 1.2rem;
		margin-bottom: .5rem;
	}
	.limitedInfo-flow {
		width: calc(320 / 380 * 100%);
		margin-top: 4.0rem;
		padding-top: 3.0rem;
	}
	.limitedInfo-flow__heading {
		font-size: 1.8rem;
		margin-bottom: 2.5rem;
	}
	.limitedInfo-flow__list {
		width: calc(280 / 320 * 100%);
		margin-inline: auto;
	}
	.limitedInfo-flow__list__item {
		width: 100%;
	}
	.limitedInfo-flow__list__item + .limitedInfo-flow__list__item {
		margin-top: calc(50 / 280 * 100%);
	}
	.limitedInfo-flow__list__item + .limitedInfo-flow__list__item::before {
		left: 0;
		right: 0;
		margin-inline: auto;
		margin-top: calc(-30 / 280 * 100%);
		clip-path: polygon(100% 0, 0 0, 50% 100%);
		width: calc(30 / 280 * 100%);
		aspect-ratio: 30 / 10;
	}
	.limitedInfo-flow__list__item__photo {
		aspect-ratio: 280 / 168;
		margin-bottom: 1.5rem;
		overflow: clip;
	}
	.limitedInfo-flow__list__item__photo img {
		object-fit: cover;
		object-position: center center;
		width: 100%;
		height: 100%;
	}
	.limitedInfo-flow__list__item__detail__heading {
		font-size: 2.0rem;
		margin-bottom: 1.0rem;
	}
	.limitedInfo-flow__list__item__detail__desc {
		font-size: 1.3rem;
		/*margin-bottom: 1.0rem;*/
	}
	.limitedInfo-flow__list__button {
		display: block;
		border: none;
		outline: none;
		font: inherit;
		color: inherit;
		background: none;
		cursor: pointer;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 120px;
		background : linear-gradient(180deg, rgba(64, 55, 45, 0) 0%, rgba(64, 55, 45, 1) 100%);
		z-index: 1;
	}
	.limitedInfo-flow__list__button:focus-visible {
	    outline: auto;
	}
	.limitedInfo-flow__list__button::after {
		position: absolute;
		display: block;
		content: '';
		right: 0;
		left: 0;
		bottom: 20px;
		margin-inline: auto;
		width: 20px;
		height: 20px;
		border-top: 1px solid var(--white);
		border-right: 1px solid var(--white);
		transform: rotate(135deg);
		z-index: 1;
	}
}




/*  l-scenes
--------------------------------------------------*/
.l-scenes {
	position: relative;
	width: 100%;
	background: #261f0f;
}
.scenes-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: clip;
	z-index: 1;
}
.scenes-background__item {
	position: absolute;
	overflow: clip;
}
.scenes-background__item1 {
	left: calc(60 / 1500 * 100%);
	top: calc(0 / 1010 * 100%);
	width: calc(480 / 1500 * 100%);
	height: calc(336 / 1010 * 100%);
}
.scenes-background__item2 {
	left: calc(600 / 1500 * 100%);
	top: calc(96 / 1010 * 100%);
	width: calc(240 / 1500 * 100%);
	height: calc(240 / 1010 * 100%);
}
.scenes-background__item3 {
	left: calc(0 / 1500 * 100%);
	top: calc(396 / 1010 * 100%);
	width: calc(280 / 1500 * 100%);
	height: calc(392 / 1010 * 100%);
}
.scenes-background__item4 {
	left: calc(340 / 1500 * 100%);
	top: calc(396 / 1010 * 100%);
	width: calc(500 / 1500 * 100%);
	height: calc(300 / 1010 * 100%);
}
.scenes-background__item5 {
	left: calc(900 / 1500 * 100%);
	top: calc(338 / 1010 * 100%);
	width: calc(240 / 1500 * 100%);
	height: calc(288 / 1010 * 100%);
}
.scenes-background__item6 {
	left: calc(1200 / 1500 * 100%);
	top: calc(206 / 1010 * 100%);
	width: calc(300 / 1500 * 100%);
	height: calc(420 / 1010 * 100%);
}
.scenes-background__item7 {
	left: calc(900 / 1500 * 100%);
	top: calc(686 / 1010 * 100%);
	width: calc(540 / 1500 * 100%);
	height: calc(324 / 1010 * 100%);
}
.scenes-background__item img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.scenes-contents {
	position: relative;
	padding-block: 16.5rem 18.0rem;
	background : linear-gradient(180deg, rgba(125, 120, 111, .9) 0%, rgba(82, 75, 63, .9) 15%, rgba(38, 31, 15, .9) 100%);
	z-index: 2;
}
.scenes-box {
	position: relative;
	width: 100%;
}
.scenes-catch {
	font-size: 4.2rem;
	line-height: 1.75;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
	margin-bottom: 1.7rem;
}
.scenes-ttl {
	font-size: 2.4rem;
	letter-spacing: .1em;
	color: #ffdc7c;
	text-align: center;
	margin-bottom: 4.5rem;
}
.scenes-desc__txt {
	font-size: 1.8rem;
	line-height: 2.5;
	letter-spacing: .1em;
	color: var(--white);
	text-align: center;
}
.scenes-desc__txt + .scenes-desc__txt {
	margin-top: 2.3rem;
}
.scenes-desc__txt small {
	font-size: .8em;
}
.scenes-desc__txt em {
	display: block;
	font-size: 1.3em;
	margin-top: 1.0em;
}
@media screen and (max-width: 768px){
	.scenes-background__item1 {
		left: calc(140 / 380 * 100%);
		top: calc(95 / 754 * 100%);
		width: calc(200 / 380 * 100%);
		height: calc(140 / 754 * 100%);
	}
	.scenes-background__item2 {
		left: calc(260 / 380 * 100%);
		top: calc(255 / 754 * 100%);
		width: calc(100 / 380 * 100%);
		height: calc(100 / 754 * 100%);
		transform: scale(-1, 1);
	}
	.scenes-background__item3 {
		left: calc(0 / 380 * 100%);
		top: calc(55 / 754 * 100%);
		width: calc(120 / 380 * 100%);
		height: calc(168 / 754 * 100%);
		transform: scale(-1, 1);
	}
	.scenes-background__item4 {
		left: calc(40 / 380 * 100%);
		top: calc(275 / 754 * 100%);
		width: calc(200 / 380 * 100%);
		height: calc(120 / 754 * 100%);
		transform: scale(-1, 1);
	}
	.scenes-background__item5 {
		left: calc(200 / 380 * 100%);
		top: calc(415 / 754 * 100%);
		width: calc(120 / 380 * 100%);
		height: calc(144 / 754 * 100%);
		transform: scale(-1, 1);
	}
	.scenes-background__item6 {
		left: calc(20 / 380 * 100%);
		top: calc(435 / 754 * 100%);
		width: calc(140 / 380 * 100%);
		height: calc(196 / 754 * 100%);
		transform: scale(-1, 1);
	}
	.scenes-background__item7 {
		left: calc(180 / 380 * 100%);
		top: calc(580 / 754 * 100%);
		width: calc(200 / 380 * 100%);
		height: calc(120 / 754 * 100%);
		transform: scale(-1, 1);
	}
	.scenes-contents {
		padding-block: 5.5rem 7.0rem;
	}
	.scenes-catch {
		font-size: 2.2rem;
		letter-spacing: .05em;
		margin-bottom: 1.7rem;
	}
	.scenes-ttl {
		font-size: 1.6rem;
		margin-bottom: 3.0rem;
	}
	.scenes-desc__txt {
		font-size: 1.4rem;
		line-height: 2;
	}
	.scenes-desc__txt + .scenes-desc__txt {
		margin-top: 1.7rem;
	}
}




/*  l-lower
--------------------------------------------------*/
.l-lower {
	position: relative;
	padding-block: 12.0rem 12.0rem;
}
.l-lower::before {
	content: '';
	position: absolute;
	inset: 0 0 auto;
	margin-inline: auto;
	translate: 0 -50%;
	width: 1px;
	height: 12.0rem;
	background: #ffdc7c;
	z-index: 2;
}
.lower-ttl {
	font-size: 2.4rem;
	letter-spacing: .1em;
	color: #ffdc7c;
	text-align: center;
	margin-bottom: 8.5rem;
}
.lower-contents {
	width: 100%;
}
.lower-article {
	width: 100%;
}
.lower-article + .lower-article {
	margin-top: 12.0rem;
}
.lower-item {
	position: relative;
	width: calc(1400 / 1500 * 100%);
	margin-inline: 0 auto;
}
.lower-article:nth-of-type(even) .lower-item {
	width: calc(1300 / 1500 * 100%);
	flex-direction: row-reverse;
	margin-inline: auto 0;
}
.lower-item--noLink {
	pointer-events: none;
	cursor: default;
}
.lower-item__photo {
	position: relative;
	width: calc(800 / 1400 * 100%);
	filter: drop-shadow(0 0 20px rgba(var(--black-rgb), .2));
}
.lower-article:nth-of-type(even) .lower-item .lower-item__photo {
	width: calc(800 / 1300 * 100%);
}
.lower-item__movie {
	position: relative;
	width: calc(800 / 1400 * 100%);
	filter: drop-shadow(0 0 20px rgba(var(--black-rgb), .2));
}
.lower-article:nth-of-type(even) .lower-item .lower-item__movie {
	width: calc(800 / 1300 * 100%);
}
.lower-item__movie__box {
	position: relative;
	width: 100%;
	aspect-ratio: 800 / 560;
	overflow: clip;
}
.lower-item__movie__box::before {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.lower-item__movie__box video {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
	pointer-events: none;
}
.lower-item__detail {
	width: calc(480 / 1400 * 100%);
}
.lower-article:nth-of-type(even) .lower-item .lower-item__detail {
	width: calc(480 / 1300 * 100%);
}
.lower-item__detail__heading {
	font-size: 6.2rem;
	letter-spacing: .1em;
	color: var(--white);
	margin-bottom: 4.5rem;
}
.lower-item__detail__desc {
	font-size: 1.8rem;
	line-height: 2.5;
	letter-spacing: .1em;
	color: var(--white);
	margin-bottom: 6.0rem;
}
@media screen and (max-width: 768px){
	.l-lower {
		padding-block: 6.0rem 6.0rem;
	}
	.l-lower::before {
		height: 6.0rem;
	}
	.lower-ttl {
		font-size: 1.6rem;
		margin-bottom: 3.0rem;
	}
	.lower-outer {
		max-width: 560px;
	}
	.lower-article + .lower-article {
		margin-top: 7.0rem;
	}
	.lower-item {
		width: 100%;
	}
	.lower-article:nth-of-type(even) .lower-item {
		width: 100%;
	}
	.lower-item__photo {
		width: calc(350 / 380 * 100%);
		filter: drop-shadow(0 0 10px rgba(var(--black-rgb), .2));
		margin-inline: 0 auto;
		margin-bottom: 3.5rem;
	}
	.lower-article:nth-of-type(even) .lower-item .lower-item__photo {
		width: calc(350 / 380 * 100%);
		margin-inline: auto 0;
	}
	.lower-item__movie {
		width: calc(350 / 380 * 100%);
		filter: drop-shadow(0 0 10px rgba(var(--black-rgb), .2));
		margin-inline: 0 auto;
		margin-bottom: 3.5rem;
	}
	.lower-article:nth-of-type(even) .lower-item .lower-item__movie {
		width: calc(350 / 380 * 100%);
		margin-inline: auto 0;
	}
	.lower-item__detail {
		width: calc(320 / 380 * 100%);
		margin-inline: auto;
	}
	.lower-article:nth-of-type(even) .lower-item .lower-item__detail {
		width: calc(320 / 380 * 100%);
	}
	.lower-item__detail__heading {
		font-size: 3.6rem;
		margin-bottom: 2.5rem;
	}
	.lower-item__detail__desc {
		font-size: 1.5rem;
		line-height: 2;
		margin-bottom: 2.5rem;
	}
}



