@charset "utf-8";

/* =======================================================================================
	TEMPLATE
======================================================================================= */
	.informationWrap {	background-image: url("../images/concept/bottom.jpg");}
	.informationWrap::after {	content: "三島公園\A[最遠区画より約650m/徒歩9分]";}

@media print, screen and (min-width: 1050.02px) {
	.PC_none {
		display: none;
	}
}
@media screen and (max-width: 736px) {
	.SP_none {
		display: none;
	}
}

.contbox.sizeMaxWidthL {
	width: 100%;
	max-width: none;
}


/* =======================================================================================
	COMMON
======================================================================================= */
	.contPicBox {
		position: relative;
	}
@media screen and (max-width: 1050px) {
	.contPicBox {
		width: 80%;
		margin: 0 auto;
	}
	.contPicBox.sideR {
		width: 90%;
		margin-right: 0;
	}
	.contPicBox.sideL {
		width: 90%;
		margin-left: 0;
	}


	.txtBox {
		width: 84%;
		margin: var(--site-marpad-S) auto 0;
	}
}



/* =======================================================================================
	PAGE
======================================================================================= */
@media print, screen and (min-width: 1050.02px) {
}
@media screen and (max-width: 1050px) {
	.txtVr {
		writing-mode: vertical-rl;
		font-family: "Shippori Mincho", 'Noto Serif JP', 'Noto Serif', YuMincho,'Hiragino Mincho ProN','Yu Mincho',serif;
		font-feature-settings: "halt" 0, "pkna" 0;
		hanging-punctuation: allow-end;
		letter-spacing: 0.2em;
		margin: var(--site-marpad-L) var(--site-marpad-S) var(--site-marpad-M);
	}
}


/* positionCopy
------------------------------------------------------------------------ */
	/* 1文字アニメーション用 */
	.positionCopy .charUnit {
		display: inline-block;
		opacity: 0;
		filter: blur(2px);
		transition: opacity 1.2s ease, filter 1.2s ease;
	}
	.positionCopy.is-animated .charUnit {
		opacity: 1;
		filter: blur(0);
	}
	.positionCopy {
		opacity: .8;
		letter-spacing: 0.3em;
		font-size: 4.8em;
		line-height: 1.6;
		transform: scaleY(1.1);
		padding: 0 0 var(--site-marpad-M);
	}
	.positionCopy .decoLine {
		display: inline-block;
		width: 1em;
		height: 1px;
		background: rgba(255, 255, 255, .6);
		margin-right: 0.5em;
		margin-bottom: 0.34em;
	}
@media print, screen and (min-width: 736.02px) {
	.mainElementHeaderWrap {
		padding-bottom: var(--site-marpad-XL);
	}
	.positionCopy {
		margin-bottom: var(--site-marpad-L);
	}
}
@media screen and (max-width: 1050px) {
	.positionCopy {
		font-size: 7vw;
	}
	.positionCopy {
		margin-bottom: var(--site-marpad-M);
	}
}
@media screen and (max-width: 736px) {
	.positionCopy {
		font-size: 10vw;
	}
	.positionCopy span:not(.charUnit) {
		/*text-indent: 5.5em;*/
		display: block;
	}
	.positionCopy span:not(.charUnit) .charUnit:nth-of-type(1) {
		text-indent: 5.5em;
	}
}
@media screen and (max-width: 480px) {
}


/* pt-fukasawa
------------------------------------------------------------------------ */
	#pt-fukasawa {
	}
	#pt-fukasawa .areaMap {
		position: relative;
	}
@media print, screen and (min-width: 840.02px) {
	#pt-fukasawa .contbox {
		display: grid;
		grid-template-columns: 2fr 4fr;
		gap: var(--site-marpad-M);
		align-items: start;
	}
	#pt-fukasawa .txtUnit {
		align-self: center;
		margin: var(--site-marpad-M) 0 var(--site-marpad-S);
	}
	#pt-fukasawa .areaMap {
		width: 90%;
		max-width: 800px;
	}
}
@media print, screen and (max-width: 840px) {
	#pt-fukasawa .areaMap {
		width: 90%;
		margin: var(--site-marpad-M) auto;
	}
}
@media screen and (max-width: 736px) {
}
@media screen and (max-width: 480px) {
}


/* pt-history
------------------------------------------------------------------------ */
	#pt-history {
		background: rgba(0, 0, 0, .35);
		padding: var(--site-marpad-M) 0 var(--site-marpad-XS);
	}
	#pt-history .history dl {
		font-size: 0.8em;
	}
	#pt-history .history dl div {
		position: relative;
		padding: 1em;
	}
	#pt-history .history dl div:not(:last-child)::before {
		content: "";
		display: block;
		position: absolute;
		left: 1.5em;
		top: 2em;
		width: 1px;
		height: 100%;
		background: rgba(255, 255, 255, .9);
	}
	#pt-history .history dl div:nth-of-type(2n+1) {
		background: rgba(255, 235, 166, .15);
	}
	#pt-history .history dl div dt::before {
		content: "■";
		display: inline-block;
		margin-right: 0.8em;
		scale: 0.8;
	}
	#pt-history .history dl div dd {
		line-height: 1.4;
		font-size: 0.9em;
		padding-left: 2.8em;
	}

	.historyCaption {
		display: block;
		word-break: break-all;
		width: 90%;
		max-width: 1440px;
		margin: 5px auto calc(var(--site-marpad-XXL) * 1.5);
	}
	.historyCaption .bl + .bl {
		margin-top: 5px;
	}
	.historyCaption strong {
	}
@media print, screen and (min-width: 840.02px) {
	#pt-history .contbox {
		display: grid;
		direction: rtl;
		grid-template-columns: 2fr 4fr;
		gap: 2vw;
	}
	#pt-history .contPicBox .picBox,
	#pt-history .contPicBox img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#pt-history .txtUnit {
		align-self: center;
		direction: ltr;
		width: 90%;
		max-width: 800px;
		margin: 0 auto;
	}
	#pt-history .history {
		margin-top: var(--site-marpad-S);
	}
	#pt-history .history dl div {
		display: flex;
		align-items: center;
	}
	#pt-history .history dl div dt {
		width: 9em;
	}
	.historyCaption strong + br {
		display: none;
	}
}
@media screen and (max-width: 840px) {
	#pt-history .history {
		width: 84%;
		margin: var(--site-marpad-S) auto 0;
	}
}
@media screen and (max-width: 480px) {
}

/* .pt-fukasawa4ch
------------------------------------------------------------------------ */
	#pt-fukasawa4ch {
	}
	#pt-fukasawa4ch .illustMap {
		position: relative;
	}
@media print, screen and (min-width: 736.02px) {
	#pt-fukasawa4ch {
		text-align: center;
	}
	#pt-fukasawa4ch .illustMap {
		margin-top: var(--site-marpad-M);
	}
}
@media screen and (max-width: 1050px) {
	#pt-fukasawa4ch {
		text-align: left;
	}
	#pt-fukasawa4ch .contbox {
		display: flex;
		flex-direction: column;
	}
	#pt-fukasawa4ch .illustMap {
		order: -1;
		width: 90%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 736px) {
	#pt-fukasawa4ch .illustMap img {
		width: 280%;
	}
}
@media screen and (max-width: 480px) {
}


/* pt-shop
------------------------------------------------------------------------ */
	#pt-shop {
	}

	/* figureタグにpタグのスタイルを引き継ぐ */
	#pt-shop .shopSlideWrap figure {
		position: relative;
		margin: 0;
		overflow: hidden;
	}
	#pt-shop .shopSlideWrap figure small {
		display: block;
		width: 100%;
		text-align: left;
		font-size: 0.8em;
		font-family: var(--site-font_family-serif);
		background: rgba(0, 0, 0, .6);
	}
	#pt-shop .shopSlideWrap figure small span {
		color: #a5a5a5;
		font-size: 0.9em;
	}

	/* PC用スライドエリア */
	.shopSlide-pc {
		display: none;
	}

	/* スロット共通 */
	.shopSlide-slot img {
		width: 100%;
		display: block;
		height: 100%;
		object-fit: cover;
	}
	.shopSlide-slot small {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 2;
		transition: opacity 0.4s ease;
	}
	.shopSlide-slot small.is-hidden {
		opacity: 0;
	}
	/* ベース画像はサイズ確保のみ（表示はレイヤーで行う） */
	.shopSlide-slot .shopSlide-imgBase {
		opacity: 0;
	}
	/* 表示レイヤー：2枚を絶対配置で重ねて交互にフェード */
	.shopSlide-slot .shopSlide-imgLayer {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 0;
		transition: opacity 1.2s ease;
	}
	.shopSlide-slot .shopSlide-imgLayer.is-active {
		opacity: 1;
	}

	/* SP用スライドエリア（Swiper） */
	.shopSlide-sp {
		display: none !important;
	}
	.shopSlide-sp .swiper-slide {
		position: relative;
		overflow: hidden;
	}
	.shopSlide-sp .swiper-slide img {
		width: 100%;
		display: block;
	}
	.shopSlide-sp figure small {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 2;
	}
	.shopSlide-sp.swiper .swiper-slide {
		pointer-events: none;
	}

	.shopSlide-sp.swiper .swiper-slide-active {
		pointer-events: auto;
	}

@media print, screen and (min-width: 840.02px) {
	#pt-shop .contbox {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: min(var(--site-marpad-S), 4vw);
		align-items: center;
	}
}
@media screen and (max-width: 840px) {
	#pt-shop .shopSlideWrap {
		width: 90%;
	}
}
@media print, screen and (min-width: 736.02px) {
	#pt-shop .shopSlideWrap {
		display: flex;

		align-items: flex-start;
		flex-direction: row-reverse;
		gap: min(var(--site-marpad-S), 3vw);
	}
	/* PC用エリア表示 */
	.shopSlide-pc {
		display: flex;
		flex-direction: row-reverse;
		gap: min(var(--site-marpad-S), 3vw);
		width: 100%;
		aspect-ratio: 1 / 1;
	}
	/* SP用エリアをPC時に非表示（Swiper CSS上書き対策） */
	.shopSlide-sp {
		display: none !important;
	}
	/* スロットA：上寄り */
	.shopSlide-slot--a {
		aspect-ratio: 465 / 713;
		align-self: flex-start;
		flex: 1;
	}
	/* スロットB：下寄り */
	.shopSlide-slot--b {
		aspect-ratio: 465 / 713;
		align-self: flex-end;
		flex: 1;
	}
	.shopSlide-slot--a img,
	.shopSlide-slot--b img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
}
@media screen and (max-width: 736px) {
	.shopSlide-sp {
		display: block !important;
	}
}
@media screen and (max-width: 480px) {
}


/* pt-park
------------------------------------------------------------------------ */
	#pt-park {
	}
	#pt-park .parkPic {
		position: relative;
	}
@media print, screen and (min-width: 1050.02px) {
	#pt-park {
		text-align: center;
	}
	#pt-park .parkPic {
		margin-top: var(--site-marpad-M);
	}
}
@media screen and (max-width: 1050px) {
	#pt-park .contbox {
		display: flex;
		flex-direction: column;
	}
	#pt-park .parkPic {
		order: -1;
		width: 90%;
		margin: 0 0 0;
		margin-left: auto;
	}
}
@media screen and (max-width: 480px) {
}


/* pt-bus
------------------------------------------------------------------------ */
	#pt-bus {
	}
	#pt-bus .contPicBox p:nth-of-type(1) {		margin-right: 10%;	}
	#pt-bus .contPicBox p:nth-of-type(2) {		margin-left: 30%; margin-top: var(--site-marpad-S);	}
	#pt-bus .contPicBox p {
		position: relative;
	}
	#pt-bus .contPicBox p .txt {
		position: absolute;
		bottom: 1em; right: 0;
		font-size: 0.8em;
		line-height: 1.4;
		padding: 0px 1em;
		background: #000;
	}
	#pt-bus .contPicBox p .txt span {
		display: inline-block;
		color: rgba(255, 255, 255, .6);
		padding-left: 1em;
	}
	#pt-bus .busMap .imgcapkeep {
		top: 0;
		left: 0;
		bottom: auto;
		right: auto;
	}
@media print, screen and (min-width: 1050.02px) {
	#pt-bus .contbox {
		display: grid;	
		grid-template-columns: 3fr 2fr;
		gap: var(--site-marpad-S);
	}
	#pt-bus .contbox .txtUnit {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		aspect-ratio: 597 / 375;
		margin-left: calc(var(--site-marpad-M) * -1);
		margin-right: var(--site-marpad-S);
	}
	#pt-bus .busMap {
		position: relative;
		max-width: 450px;
		margin-top: var(--site-marpad-S);
		margin-right: var(--site-marpad-S);
	}
}
@media screen and (max-width: 1050px) {
	#pt-bus .contPicBox {
		width: 100%;
	}
	#pt-bus .contPicBox p .txt {
		font-size: 3vw;
	}
	#pt-bus .busMap {
		position: relative;
		width: 90%;
		margin: var(--site-marpad-M) auto 0;
	}
}
@media screen and (min-width: 736.02px) and (max-width: 1050px) {
	#pt-bus .contPicBox p:nth-of-type(1) {		margin-right: 40%;	}
	#pt-bus .contPicBox p:nth-of-type(2) {		margin-left: 40%;	}
	#pt-bus .contPicBox + div {
		display: grid;
		grid-template-columns: 5fr 4fr;
		align-items: flex-start;
	}
	#pt-bus .contPicBox p .txt {
		font-size: 1.0em;
	}
	#pt-bus .contbox .txtUnit {
		margin-top: calc(var(--site-marpad-XXL) * -2);
	}
}
@media screen and (max-width: 480px) {
}


/* ssssssssss
------------------------------------------------------------------------ */
	.ssssssssss {
	}
@media print, screen and (min-width: 736.02px) {
}
@media screen and (max-width: 736px) {
}
@media screen and (max-width: 480px) {
}


/* ssssssssss
------------------------------------------------------------------------ */
	.ssssssssss {
	}
@media print, screen and (min-width: 736.02px) {
}
@media screen and (max-width: 736px) {
}
@media screen and (max-width: 480px) {
}


/* ssssssssss
------------------------------------------------------------------------ */
	.ssssssssss {
	}
@media print, screen and (min-width: 736.02px) {
}
@media screen and (max-width: 736px) {
}
@media screen and (max-width: 480px) {
}


/* ssssssssss
------------------------------------------------------------------------ */
	.ssssssssss {
	}
@media print, screen and (min-width: 736.02px) {
}
@media screen and (max-width: 736px) {
}
@media screen and (max-width: 480px) {
}