@charset "utf-8";


/*  loading-wrapper
--------------------------------------------------*/
/*
.main {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 1.5s ease-in-out, visibility 1.5s;
}
.loading-wrapper {
  position: fixed;
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  background: #fff;
  z-index: 100000;
  transition: opacity 0.8s ease, visibility 0.8s;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
.loading-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.loading-background img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
.loading-selector {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex; 
  align-items: center; 
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.8s ease, visibility 0.8s;
  z-index: 1;
}
.loading-selector__inner {
  background: rgba(var(--white-rgb), .5); 
  color: #333333;
  padding-block: 7.0rem 7.5rem;
  padding-inline: 8.0rem;
  width: fit-content;
  margin-inline: auto;
  text-align: center; 
}
.loading-selector__heading { 
  font-size: 3.2rem; 
  letter-spacing: .1em;
  margin-bottom: 3.5rem;
}
.loading-selector__desc { 
  font-size: 1.4rem;
  line-height: 2.07142857;
  letter-spacing: .1em;
  margin-bottom: 5.0rem;
}
.loading-selector__controls { 
  gap: 2.0rem 4.5rem;
}
.loading-selector__controls__btn {
  position: relative;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
  cursor: pointer;
  padding: 0;
  font-size: 2.0rem;
  letter-spacing: .1em;
}
.loading-selector__controls__btn:focus-visible {
  outline: auto;
}
.loading-selector__controls__btn[data-name="play"],
.loading-selector__controls__btn[data-name="move"] {
	position: relative;
}
.loading-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.8s ease, visibility 0.8s;
}
.loading-video__item {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
*/

.loading-wrapper {
  position: fixed;
  inset: 0;
  z-index: 100000;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1.0s linear, filter 1.0s linear, visibility 1.0s linear;
  opacity: 1;
  filter: brightness(1) blur(0px);
  visibility: visible;
}
.loading-wrapper.is-hidden {
  opacity: 0;
  filter: brightness(8) blur(15px);
  visibility: hidden;
  pointer-events: none;
}
.loading-video {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.8s ease, visibility 0.8s;
}
.loading-video__item {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.loading-controls {
  position: absolute;
  width: fit-content;
  bottom: 40px;
  right: 40px;
  gap: 10px;
  z-index: 10;
}
.loading-controls__btn {
  appearance: none;
  background-color: rgba(var(--black-rgb), 0.5);
  border: 1px solid rgba(var(--white-rgb), 0.5);
  color: var(--white);
  font-size: 14px;
  width: 150px;
  height: 40px;
  padding-bottom: .1em;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: background-color 0.3s;
  position: relative;
  outline: none;
}
.loading-controls__sound {
  padding-left: 25px;
}
.tablet .loading-controls__sound,
.android .loading-controls__sound {
  display: none;
}
.loading-controls__sound::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  aspect-ratio: 14 / 12;
}
.loading-controls__sound[data-name="on"]::after {
  background: url('../img/home/icon_soundon.svg') no-repeat center center/cover;
}
.loading-controls__sound[data-name="off"]::after {
  background: url('../img/home/icon_soundoff.svg') no-repeat center center/cover;
}
.loading-controls__skip::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7 / 10;
  background: url('../img/home/icon_play.svg') no-repeat center center/cover;
}
.loading-controls__btn:focus-visible {
  outline: auto;
}
@media (any-hover: hover){
  .loading-controls__btn:hover {
    background-color: rgba(var(--black-rgb), 0.1);
  }
}
@media screen and (max-width: 768px){
  /*
  .loading-selector__inner {
    padding-block: 6.0rem;
    padding-inline: 0;
    width: calc(320 / 380 * 100%);
  }
  .loading-selector__heading { 
    font-size: 2.1rem; 
    letter-spacing: .05em;
    margin-bottom: 3.5rem;
  }
  .loading-selector__desc { 
    font-size: 1.2rem;
    line-height: 2.16666667;
    letter-spacing: 0;
    margin-bottom: 3.7rem;
  }
  .loading-selector__controls {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.8rem 2.5rem;
  }
  .loading-selector__controls__btn {
    font-size: 1.6rem;
  }
  */

  .loading-wrapper {
    transition: opacity .8s linear, filter .8s linear, visibility .8s linear;
  }
  .loading-wrapper.is-hidden {
    filter: brightness(1) blur(5px);
  }
  .loading-video__skip {
    right: 30px;
    bottom: 30px;
    width: 110px;
    height: 30px;
    padding-right: 10px;
  }
  .loading-controls {
    right: 30px;
    bottom: 30px;
  }
  .loading-controls__btn {
    width: 110px;
    height: 30px;
  }
  .loading-controls__sound {
    display: none;
  }
  .loading-controls__skip {
    padding-right: 10px;
  }
}




/*  l-mv
--------------------------------------------------*/
.l-mv {
	position: relative;
	pointer-events: none;
}
.mv-photo {
	position: relative;
	opacity: 0;
	transition: opacity .6s linear;
}
.subLoaded .mv-photo {
	opacity: 1;
}
.mv-photo__perspective {
	position: relative;
	width: 100%;
}
.mv-photo__perspective__item2 {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	aspect-ratio: 1920 / 642;
	background: url('../img/home/img_mv_perspective2.webp') no-repeat center top/cover;
	pointer-events: auto;
	mask-image: linear-gradient(to bottom, black 85%, transparent 100%);
}
.mv-photo__flare {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: screen;
	opacity: 0;
	z-index: 1;
	transition: opacity 1s linear .3s;
}
.subLoaded .mv-photo__flare {
	opacity: 1;
}
.mv-photo__flare img {    
  animation: 
    pulse-glow 4s infinite alternate ease-in-out,
    subtle-shift 6s infinite alternate ease-in-out,
    slight-rotate 8s infinite alternate ease-in-out,
    subtle-skew 5s infinite alternate ease-in-out; /* 新しいskewアニメーション */
}
.mv-catch {
	position: absolute;
	inset: auto 0 0;
	width: 100%;
	margin-bottom: calc(85 / 1920 * 100%);
	opacity: 0;
	transition: opacity 1.5s linear .9s;
}
.subLoaded .mv-catch {
	opacity: 1;
}
.mv-catch .p-caption {
	top: 0;
	bottom: auto;
	padding-right: 1%;
  padding-top: 2%;
}
.mv-canvas {
	position: absolute;
	left: 0;
	top: 0;
  width: 100%;
  aspect-ratio: 3 / 1;
  height: auto;
  mix-blend-mode: plus-lighter; 
  opacity: 0;
  mask-image: linear-gradient(to bottom, black 75%, transparent 100%);
	transition: opacity 1s linear .3s;
	z-index: 3;
}
.subLoaded .mv-canvas {
	opacity: 1;
}
.mv-scroller {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin-top: calc(260 / 1920 * 100%);
	overflow: clip;
	z-index: 2;
}
.mv-scroller__track {
	display: flex;
	width: 400%;
}
.mv-scroller__track img {
	width: 100%;
	height: auto;
	flex-shrink: 0;
}
@keyframes pulse-glow{0%{filter:brightness(1);transform:scale(1)}100%{filter:brightness(1.2);transform:scale(1.05)}}
@keyframes subtle-shift{0%{transform:translate(0,0)}33%{transform:translate(1%,-1px)}66%{transform:translate(-1%,1px)}100%{transform:translate(0,0)}}
@keyframes slight-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(2deg)}}
@keyframes subtle-skew{0%{transform:skew(0deg,0deg)}100%{transform:skew(2deg,-0.5deg)}}
@media screen and (max-width: 768px){
	.mv-photo__perspective__item2 {
		display: none;
		/*aspect-ratio: 380 / 320;
		background: url('../img/home/img_mv_perspective2-sp.webp') no-repeat center top/cover;*/
	}
	.mv-catch {
		margin-bottom: calc(45 / 380 * 100%);
	}
	.mv-catch .p-caption {
    top: -15%;
    padding-right: 2%;
    padding-top: 0;
	}
	.mv-canvas {
	  aspect-ratio: 3 / 2;
	}
	.subLoaded .mv-canvas {
		opacity: .5;
	}
	.mv-scroller {
		margin-top: calc(140 / 380 * 100%);
	}
}




.fixWrapeer {
	position: relative;
}
.fixContainer {
	position: sticky;
	top: min(calc(100lvh - var(--stickyHeight)),0px);
	left: 0;
	min-height: 100lvh;
}
/* edge */
.isMobileEdge .fixContainer {
	top: min(calc(calc(var(--lvh-fixed) * 100) - var(--stickyHeight)),0px);
	min-height: calc(var(--lvh-fixed) * 100);
}



/*  l-discover
--------------------------------------------------*/
.l-discover {
	position: relative;
	padding-top: 23.0rem;
	background: url('../img/home/bg_discover.webp') no-repeat left top/cover;
	overflow: clip;
}
.discover-head {
	position: relative;
	max-width: 1520px;
	margin-bottom: 3.5rem;
	z-index: 1;
}
.discover-head__ttlEn {
	position: relative;
	width: min(calc(230 / 1200 * 100%),230px);
	margin-bottom: min(calc(10 / 1200 * 100%),10px);
}
.discover-head__ttlJp {
	position: relative;
	width: min(calc(1360 / 1520 * 100%),1360px);
	margin-inline: auto;
	font-size: 3.0rem;
	line-height: 1.85;
}
.discover-contents {
	position: relative;
	z-index: 2;
}
.discover-list {
	width: 100%;
	background: var(--black);
}
.discover-list__item {
	position: relative;
	width: calc(100% / 3);
}
.discover-list__item__photo {
	width: 100%;
	max-height: 600px;
}
.discover-list__item__photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.discover-list__item__photo .f-caption {
	padding-bottom: 2.0em;
	z-index: 2;
}
.discover-list__item__detail {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.discover-list__item__detail__desc {
	font-size: 3.0rem;
	line-height: 1.76666667;
	color: var(--white);
	text-align: center;
}
.discover-list__item__detail__desc em {
	font-size: 1.25em;
	line-height: 1;
}
.discover-list__item__detail__desc i {
	font-size: 1.75em;
}
.discover-list__item__detail__desc small {
  font-size: 0.6em;
  line-height: 1;
  display: block;
  margin-top: 0em;
  text-align: right;
}
.discover-list__item__detail__desc .wide {
	display: inline-block;
  transform: scale(1.2, 1);
  padding-inline: .05em;
}
@media screen and (max-width: 768px){
	.l-discover {
		padding-top: 2.0rem;
		background: url('../img/home/bg_discover-sp.webp') no-repeat left top/cover;
	}
	.discover-head {
		max-width: 560px;
    	margin-bottom: 2.2rem;
	}
	.discover-head__ttlEn {
		width: calc(144 / 340 * 100%);
		margin-bottom: calc(10 / 340 * 100%);
		margin-left: calc(-15 / 340 * 100%);
		/*width: calc(360 / 380 * 100%);
		font-size: 7.5rem;
		line-height: 0.89333333 !important;
		margin-bottom: -1.3em;*/
	}
	.discover-head__ttlJp {
		width: 100%;
    	font-size: 1.5rem;
    	line-height: 2.35714286;
	}
	.discover-list__item {
		width: 100%;
	}
	.discover-list__item__photo {
		max-height: none;
		aspect-ratio: 380 / 300;
	}
	.discover-list__item:last-of-type .discover-list__item__photo {
		aspect-ratio: 380 / 350;
	}
	.discover-list__item__photo .f-caption {
		padding-bottom: calc(var(--fixbuttonHeight) + 10px);
		z-index: 2;
	}
	.discover-list__item__detail__desc {
		font-size: 2.2rem;
		line-height: 1.81818182;
	}
	.discover-list__item:last-of-type .discover-list__item__detail__desc {
		padding-bottom: var(--fixbuttonHeight);
	}
}



/*  l-appeal
--------------------------------------------------*/
.l-appeal {
	position: relative;
	background: var(--white);
}
.appeal-photo {
	width: 100%;
	overflow: clip;
	--blur: 100%;
	--radius: -60%;
	mask-image: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 1) 0 var(--radius), rgba(255, 255, 255, .2) calc(var(--radius) + var(--blur)));
	/* --blur｜縁のボカシ具合｜最大100％・最小0％ */
	/* --radius｜マスクのサイズ｜最大0％・最小100％*/
	transform-style: preserve-3d;
}
.appeal-photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.appeal-detail {
	position: absolute;
	inset: auto 0 0;
	width: calc(1588 / 1920 * 100%);
	margin-inline: auto;
	margin-bottom: min(calc(120 / 1920 * 100%),120px);
	/*font-size: 3.0rem;*/
	/*line-height: 2;*/
	/*letter-spacing: .03em;*/
	/*color: var(--white);*/
	/*filter: drop-shadow(0 0 20px rgba(0, 0, 0, 1));*/
	/*text-shadow: 0 0 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.4), 0 0 10px rgba(0, 0, 0, 0.4);*/
	opacity: 0;
	transform: translateX(-2%);
}
.appeal-detail em {
	font-size: 1.5em;
}
@media screen and (max-width: 768px){
	.appeal-photo {
		aspect-ratio: 380 / 600;
	}
	.appeal-detail {
		width: 100%;
		margin-bottom: min(calc(45 / 380 * 100%),45px);
		/*padding-left: calc(30 / 380 * 100%);*/
		/*font-size: 1.8rem;*/
		/*line-height: 2.05555556;*/
	}
}




.stickyContainer {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 3;
}
.stickyContainer .l-gallery {
	position: relative;
	top: 0;
	left: 0;
}



/*  l-gallery
--------------------------------------------------*/
.l-gallery {
	position: relative;
	overflow: clip;
	clip-path: inset(100lvh 0 0 0);
	opacity: 1;
	pointer-events: none;
	user-select: none;
	will-change: clip-path,filter;
	backface-visibility: hidden;
	transform: translateZ(0);

	/* 
		重さなりのスピード js-perspectiveのstartと合わせる
	*/
	margin-top: -10lvh;

	/* 
		スクロールの重さ
		= gallery-bg（100lvh） + gallery-container（500lvh） 
	*/
	/*height: 800lvh;*/
	height: 700lvh;

	z-index: 3;
}
/* edge */
.isMobileEdge .l-gallery {
	clip-path: inset(calc(var(--lvh-fixed) * 100) 0 0 0);
	margin-top: calc(var(--lvh-fixed) * -10);
	/*height: calc(var(--lvh-fixed) * 800);*/
	height: calc(var(--lvh-fixed) * 700);
}
.gallery-bg {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 100lvh;
	opacity: 1;
	filter: brightness(1);
	mask-image: linear-gradient(180deg, #fff, #fff, transparent);
  mask-repeat: no-repeat;
  mask-size: 100% 200%;
  mask-position: top 0% right 0%;
}
/* edge */
.isMobileEdge .gallery-bg {
	height: calc(var(--lvh-fixed) * 100);
}
.gallery-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(var(--black-rgb), .4);
}
.gallery-bg img ,
.gallery-bg video {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.gallery-container {
  position: relative;
  top: 0;
  left: 0;
	/*height: 700lvh;*/
	height: 600lvh;
	padding-top: 60lvh;
}
/* edge */
.isMobileEdge .gallery-container {
	/*height: calc(var(--lvh-fixed) * 700);*/
	height: calc(var(--lvh-fixed) * 600);
	padding-top: calc(var(--lvh-fixed) * 60);
}
.gallery-detail {
	width: fit-content;
	/*height: 700lvh;*/
	height: 600lvh;
	margin-inline: auto;
	transition: opacity .7s linear;
}
/* edge */
.isMobileEdge .gallery-detail {
	/*height: calc(var(--lvh-fixed) * 700);*/
	height: calc(var(--lvh-fixed) * 600);
}
.gallery-detail.is-active {
	opacity: 0;
}
.gallery-detail__heading {
	font-size: 7.7rem;
	letter-spacing: .15em;
	color: var(--white);
	text-align: center;
	margin-bottom: 9.0rem;
	height: 100lvh;
	transition: opacity .8s linear,visibility .8s linear;
}
/* edge */
.isMobileEdge .gallery-detail__heading {
	height: calc(var(--lvh-fixed) * 100);
}
.gallery-detail__heading.is-active {
	opacity: 0;
	visibility: hidden;
}
.gallery-detail__heading__txt {
	position: sticky;
	top: 50lvh;
}
/* edge */
.isMobileEdge .gallery-detail__heading__txt {
	top: calc(var(--lvh-fixed) * 50);
}
.gallery-detail__desc {
	font-size: 2.0rem;
	line-height: 2.55;
	letter-spacing: .03em;
	color: var(--white);
	text-align: center;
	width: 100%;
	height: 200lvh;
}
/* edge */
.isMobileEdge .gallery-detail__desc {
	height: calc(var(--lvh-fixed) * 200);
}
.gallery-detail__desc__wrappper {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	position: sticky;
	left: 0;
	top: 0;
	height: 100lvh;
}
/* edge */
.isMobileEdge .gallery-detail__desc__wrappper {
	height: calc(var(--lvh-fixed) * 100);
}
.gallery-detail__desc__txt {
	width: 100%;
}
.gallery-detail__desc__txt + .gallery-detail__desc__txt {
	margin-top: 5.0rem;
}
.gallery-detail__desc em {
	font-size: 1.3em;
}
.gallery-detail__madori {
	width: min(100%,650px);
	margin-inline: auto;
	margin-top: 10.0rem;
}
@media screen and (max-width: 768px){
	.l-gallery {
		/*background: url('../img/home/bg_gallery-sp.webp') no-repeat center center/cover;*/
		/*height: 700lvh;*/
		height: 600lvh;
	}
	/* edge */
	.isMobileEdge .l-gallery {
		/*height: calc(var(--lvh-fixed) * 700);*/
		height: calc(var(--lvh-fixed) * 600);
	}
	.gallery-bg img ,
	.gallery-bg video {
		object-position: center left;
	}
	.gallery-container {
		/*height: 600lvh;*/
		height: 500lvh;
		padding-top: 60lvh;
	}
	/* edge */
	.isMobileEdge .gallery-container {
		/*height: calc(var(--lvh-fixed) * 600);*/
		height: calc(var(--lvh-fixed) * 500);
		padding-top: calc(var(--lvh-fixed) * 60);
	}
	.gallery-detail {
		/*height: 600lvh;*/
		height: 500lvh;
	}
	/* edge */
	.isMobileEdge .gallery-detail {
		/*height: calc(var(--lvh-fixed) * 600);*/
		height: calc(var(--lvh-fixed) * 500);
	}
	.gallery-detail__heading {
    font-size: 3.2rem;
    padding-left: 0.5em;
		margin-bottom: 4.0rem;
	}
	.gallery-detail__heading__txt {
		top: calc(50lvh - var(--fixbuttonHeight));
	}
	/* edge */
	.isMobileEdge .gallery-detail__heading__txt {
		top: calc(calc(var(--lvh-fixed) * 50) - var(--fixbuttonHeight));
	}
	.gallery-detail__desc {
		font-size: 1.2rem;
		letter-spacing: .1em;
		line-height: 2.5;
	}
	.gallery-detail__desc__txt + .gallery-detail__desc__txt {
		margin-top: 2.0rem;
	}
	.gallery-detail__madori {
		margin-top: 3.0rem;
	}
}



/*  l-perspective
--------------------------------------------------*/
.l-perspective {
	position: relative;
	overflow: clip;
  margin-top: -300lvh;
  height: 400lvh;
	z-index: 1;
}
/* edge */
.isMobileEdge .l-perspective {
	margin-top: calc(var(--lvh-fixed) * -300);
	height: calc(var(--lvh-fixed) * 400);
}
.perspective-photo {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 100lvh;
}
/* edge */
.isMobileEdge .perspective-photo {
	height: calc(var(--lvh-fixed) * 100);
}
.perspective-photo img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px){
	.l-perspective {
		margin-top: -200lvh;
		height: 300lvh;
	}
	/* edge */
	.isMobileEdge .l-perspective {
		margin-top: calc(var(--lvh-fixed) * -200);
		height: calc(var(--lvh-fixed) * 300);
	}
}



/*  l-lower
--------------------------------------------------*/
.l-lower {
	position: relative;
	/* 100lvh = 最後の止め具合 */
	padding-block: 200lvh 100lvh;
	/*padding-block: 15.0rem 100lvh;*/
	overflow: clip;
	background: url('../img/home/bg_lower.webp') no-repeat center center/cover;
  margin-top: -300lvh;
	z-index: 1;
}
/* edge */
.isMobileEdge .l-lower {
	padding-block: calc(var(--lvh-fixed) * 200) calc(var(--lvh-fixed) * 100);
	/*padding-block: 15.0rem calc(var(--lvh-fixed) * 100);*/
	margin-top: calc(var(--lvh-fixed) * -300);
}
.lower-bg {
  position: absolute;
  inset: -10px; 
  width: calc(100% + 20px);
  height: calc(100lvh + 20px);
  background: url('../img/home/bg_lower.webp') no-repeat center center/cover;
  filter: brightness(1) contrast(1);
  pointer-events: none;
  z-index: -1;
}
/* edge */
.isMobileEdge .lower-bg {
	height: calc(calc(var(--lvh-fixed) * 100) + 20px);
}
.lower-container {
	position: relative;
	width: calc(1820 / 1920 * 100%);
	margin-inline: auto;	
	/*margin-bottom: 50svh;*/
	padding-block: min(calc(80 / 1920 * 100vw),80px);
	background: url('../img/home/bg_lower_container.webp') no-repeat center center/cover;
	overflow: clip;
	z-index: 1;
}
.l-lower .lower-container:nth-of-type(n + 2) {
	margin-top: 5.0rem;
}
.lower-num {
	position: absolute;
	top: 0;
	left: 6.5rem;
	font-size: min(calc(36 / 1920 * 100vw),36px);
	color: var(--green);
	writing-mode: vertical-rl;
	padding-top: min(calc(45 / 1920 * 100vw),45px);
}
.lower-num::before {
	content: '';
	position: absolute;
	inset: 0 auto auto .15em;
	width: 1px;
	height: min(calc(30 / 1920 * 100vw),30px);
	background: var(--green);
}
.lower-contents {
	width: min(calc(1660 / 1820 * 100%),1660px);
	margin-inline: auto;
}
.lower-contents__photo {
	position: relative;
	width: calc(880 / 1660 * 100%);
	max-height: calc(100svh - min(calc(440 / 1920 * 100vw),440px));
	display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
}
.lower-contents__photo__item {
	position: relative;
	width: 100%;
	height: 100%;
}
.lower-contents__photo__item img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
.lower-contents__detail {
	width: calc(710 / 1660 * 100%);
}
.lower-contents__detail__ttl {
	/*font-size: min(calc(150 / 1920 * 100vw),150px);
	color: rgba(193, 192, 171, 0.25);
	line-height: .7 !important;*/
	width: calc(var(--widthCustom) / 710 * 100%);
  margin-inline: calc(35 / 710 * 100%) auto;
  margin-bottom: calc(15 / 710 * 100%);
}
.lower-contents__detail__box {
	width: calc(640 / 710 * 100%);
	margin-left: auto;
}
.lower-contents__detail__heading {
	font-size: clamp(14px,calc(40 / 1920 * 100vw),40px);
	line-height: 1.5;
	margin-bottom: min(calc(45 / 1920 * 100vw),45px);
}
.lower-contents__detail__desc {
	font-size: clamp(10px,calc(18 / 1920 * 100vw),18px);
	line-height: 2;
	margin-bottom: min(calc(60 / 1920 * 100vw),60px);
}
.lower-contents__detail__desc__txt + .lower-contents__detail__desc__txt {
	margin-top: 2.0em;
}
.lower-contents__detail__more {
	position: relative;
	width: fit-content;
	margin-inline: auto calc(100 / 790 * 100%);
	gap: 2.0rem;
}
.lower-contents__detail__more__desc {
	font-size: 2.0rem;
}
.lower-contents__detail__more__arrow {
	position: relative;
	display: block;
	width: 6.0rem;
	height: 6.0rem;
	border-radius: 50%;
	border: solid 1px rgba(var(--white-rgb), 0.2);
}
.lower-contents__detail__more__arrow {
	position: relative;
	display: block;
	width: 6.0rem;
	height: 6.0rem;
	border-radius: 50%;
	border: solid 1px rgba(50, 65, 30, 0.2);
	background-color: transparent;
}
.lower-contents__detail__more__arrow::before {
	content: '';
  position: absolute;
  inset: 50% 0 auto;
  transform: translateY(-50%);
  margin-inline: auto;
  width: 15px;
  height: 1px;
  background-color: var(--green);
}
.lower-contents__detail__more__arrow::after {
  content: '';
  position: absolute;
  inset: 50% 0 auto;
  margin: auto;
  width: 4.5px;
  height: 4.5px;
  border-top: 1px solid var(--green);
  border-right: 1px solid var(--green);
  transform: translateY(-50%) translateX(5px) rotate(45deg);
}
@media (any-hover: hover){
	.lower-contents__photo__item img {
		transition: transform 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.lower-contents:hover .lower-contents__photo__item img {
		transform: scale(1.05);
	}
	.lower-contents__detail__more__arrow {
		transition: background-color 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.lower-contents__detail__more__arrow::before {
		transition: background-color 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.lower-contents__detail__more__arrow::after {
		transition: border-color 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.lower-contents:hover .lower-contents__detail__more__arrow {
		background-color: var(--green);
	}
	.lower-contents:hover .lower-contents__detail__more__arrow::before {
		background-color: var(--white);
	}
	.lower-contents:hover .lower-contents__detail__more__arrow::after {
		border-color: var(--white);
	}
}
@media screen and (max-width: 768px){
	.l-lower {
		padding-block: calc(100lvh + 6.0rem) 8.0rem;
		/*padding-block: 6.0rem 8.0rem;*/
		margin-top: -200lvh;
		background: url('../img/home/bg_lower-sp.webp') no-repeat center center/cover;
	}
	/* edge */
	.isMobileEdge .l-lower {
		padding-block: calc(calc(var(--lvh-fixed) * 100) + 6.0rem) 8.0rem;
		margin-top: calc(calc(var(--lvh-fixed) * -200));
		/*padding-block: 6.0rem 8.0rem;*/
	}
	.lower-bg {
		background: url('../img/home/bg_lower-sp.webp') no-repeat center center/cover;
	}
	.lower-container {
		position: sticky;
		top: -70%;
		width: calc(340 / 380 * 100%);
		padding-block: 7.0rem 4.0rem;
	}
	.l-lower .lower-container:nth-of-type(n + 2) {
		margin-top: 3.0rem;
	}
	.lower-num {
		left: 2.5rem;
		font-size: 2.4rem;
		padding-top: 2.8rem;
	}
	.lower-num::before {
		inset: 0 auto auto .15em;
		height: 2.0rem;
	}
	.lower-contents {
		width: calc(300 / 340 * 100%);
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.lower-contents__photo {
		width: 100%;
		max-height: none;
		margin-bottom: 3.5rem;
		order: 1;
	}
	.lower-contents__detail {
		display: contents;
		width: 100%;
	}
	.lower-contents__detail__ttl {
		width: calc(calc(var(--widthCustom) * 0.62) / 300 * 100%);
  	margin-bottom: calc(10 / 300 * 100%);
  	margin-inline: calc(-15 / 300 * 100%) auto;
	  order: 0;
	}
	.lower-contents__detail__box {
		width: 100%;
		order: 2;
	}
	.lower-contents__detail__heading {
		font-size: 2.2rem;
		line-height: 1.77272727;
		margin-bottom: 2.5rem;
	}
	.lower-contents__detail__desc {
		font-size: 1.6rem;
		margin-bottom: 2.5rem;
	}
	.lower-contents__detail__more {
		margin-inline: auto 0;
	}
}
@media screen and (max-width: 600px){
	.lower-container {
		position: sticky;
		top: -40.0rem;
	}
}



/*  l-plan
--------------------------------------------------*/
.l-plan {
	position: relative;
	padding-block: 9.0rem 20.0rem;
	z-index: 5;
}
.plan-container {
	background-color: rgba(var(--white-rgb), .8);
}
.plan-container:after {
	content: '';
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: solid 20px #523d24;
	pointer-events: none;
	cursor: default;
	box-sizing: border-box;
	z-index: 1;
}
.plan-box {
	width: min(80%, 1000px);
	margin-inline: auto;
	padding-block: 8.0rem;
}
.plan-detail {
	width: calc(400 / 1000 * 100%);
	padding-top: calc(50 / 1000 * 100%);
}
.plan-detail__type {
	width: 100%;
	font-size: 4.0rem;
	color: var(--white);
	background-color: var(--green);
	padding: 1.0rem 2.0rem;
}
.plan-detail__type p {
	line-height: 1 !important;
}
.plan-detail__type em {
	font-size: 2.0em;
}
.plan-detail__spec {
	width: 100%;
	padding: 3.5rem 2.0rem 4.0rem;
}
.plan-detail__spec__floor {
	font-size: 3.0rem;
  margin-bottom: 3.5rem;
  padding-bottom: 3.5rem;
	border-bottom: solid 1px rgba(var(--green-rgb), .5);
}
.plan-detail__spec__floor span {
	font-size: 1.66666667em;
  vertical-align: -.05em;
}
.plan-detail__spec__floor em {
	font-size: 1.2em;
}
.plan-detail__spec__floor i {
	font-size: 1.33333333em;
  vertical-align: -.05em;
}
.plan-detail__spec__area {
	gap: 1.0rem;
}
.plan-detail__spec__area__heading {
	font-size: 1.4rem;
	padding-bottom: .1em;
}
.plan-detail__spec__area__desc {
	font-size: 2.4rem;
}
.plan-detail__spec__area__desc span {
	font-size: 1.75em;
}
.plan-detail__spec__area__desc em {
	font-size: 1.42857143em;
}
.plan-detail__spec__area__desc small {
	font-size: max(10px,1.4rem);
}
/*.plan-detail__soon {
	font-size: 2.0rem;
	color: #cccccc;
	text-align: right;
	margin-top: 10.0rem;
}*/
.plan-detail__more {
	position: relative;
	width: fit-content;
	margin-inline: auto 0;
	margin-top: 3.0rem;
	gap: 2.0rem;
}
.plan-detail__more__desc {
	font-size: 2.0rem;
}
.plan-detail__more__arrow {
	position: relative;
	display: block;
	width: 6.0rem;
	height: 6.0rem;
	border-radius: 50%;
	border: solid 1px rgba(var(--white-rgb), 0.2);
}
.plan-detail__more__arrow {
	position: relative;
	display: block;
	width: 6.0rem;
	height: 6.0rem;
	border-radius: 50%;
	border: solid 1px rgba(50, 65, 30, 0.2);
	background-color: transparent;
}
.plan-detail__more__arrow::before {
	content: '';
  position: absolute;
  inset: 50% 0 auto;
  transform: translateY(-50%);
  margin-inline: auto;
  width: 15px;
  height: 1px;
  background-color: var(--green);
}
.plan-detail__more__arrow::after {
  content: '';
  position: absolute;
  inset: 50% 0 auto;
  margin: auto;
  width: 4.5px;
  height: 4.5px;
  border-top: 1px solid var(--green);
  border-right: 1px solid var(--green);
  transform: translateY(-50%) translateX(5px) rotate(45deg);
}
.plan-floorPlan {
	width: calc(568 / 1000 * 100%);
}
.plan-floorPlan__item {
	width: 100%;
	text-align: center;
}
.plan-floorPlan__item img {
	width: calc(var(--madoriWidth) / 568 * 100%);
}
@media (any-hover: hover){
	.plan-detail__more__arrow {
		transition: background-color 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.plan-detail__more__arrow::before {
		transition: background-color 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.plan-detail__more__arrow::after {
		transition: border-color 1.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.plan-box:hover .plan-detail__more__arrow {
		background-color: var(--green);
	}
	.plan-box:hover .plan-detail__more__arrow::before {
		background-color: var(--white);
	}
	.plan-box:hover .plan-detail__more__arrow::after {
		border-color: var(--white);
	}
}
@media screen and (max-width: 768px){
	.l-plan {
		padding-bottom: 6.0rem;
	}
	.plan-container:after {
		border: solid 6px #523d24;
	}
	.plan-box {
    width: calc(100% - 12px);
    padding-block: 6px 3.0rem;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.plan-detail {
		width: 100%;
		padding-top: 0;
		display: contents;
	}
	.plan-detail__type {
		font-size: 2.5rem;
		order: 0;
	}
	.plan-detail__spec {
		padding: 2.0rem 2.0rem 2.3rem;
		margin-bottom: 3.0rem;
		order: 1;
	}
	.plan-detail__spec__floor {
		font-size: 2.0rem;
    margin-bottom: 2.3rem;
    padding-bottom: 1.7rem;
	}
	.plan-detail__spec__area__heading {
		font-size: 1.0rem;
	}
	.plan-detail__spec__area__desc {
		font-size: 1.6rem;
	}
	.plan-detail__spec__area__desc small {
		font-size: 1.0rem;
	}
	.plan-detail__more {
		margin-top: 2.5rem;
		margin-right: 2.0rem;
		order: 3;
	}
	.plan-floorPlan {
		width: 100%;
		order: 2;
	}
}