@charset "utf-8";

html{
		scroll-behavior: smooth;
	scroll-padding-top: 60px;
}


body{
	margin: 0;
	font-weight: 400;
	background-color: #D5C5AB;
}


#lp{
	--ew-paper: #fcfcfa;
	--ew-ink: #745399;
	--ew-line: #c8c8c8;
	--ew-on: #202020;
	color: var(--ew-on);
	font: 500 15px/1.85 "Shippori Mincho", serif;
	line-break: strict;
	overflow-wrap: anywhere;
	font-feature-settings: "palt";
	font-kerning: normal;
}


#lp *{
	box-sizing: border-box;
}


#lp .page{
	container-type: inline-size;
	max-width: 390px;
	margin: auto;
	background: var(--ew-paper);
	position: relative;
}


#lp :is(h1,h2,h3,p){
	margin: 0;
}


#lp :is(h1,h2,h3){
	font-weight: 700;	
	font-family: "Kaisei HarunoUmi", serif;		
}


#lp :is(a,button){
	font: inherit;
	color: inherit;
}


/* Remove default underline from every link throughout the LP */
#lp a,
#lp a:visited,
#lp a:hover,
#lp a:focus,
#lp a:active{
	text-decoration: none !important;
}


#lp button{
	cursor: pointer;
}

#lp [hidden]{
	display: none !important;
}

#lp img{
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

#lp .top{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 25px 4%;
	gap: 20px;
}

#lp .logo{
	display: flex;
	gap: 14px;
	align-items: center;
	white-space: nowrap;
	width: 200px;
}

#lp .nav{
	display: flex;
	gap: 24px;
	align-items: center;
	font-size: 12px;
}

#lp .nav a{
	text-decoration: none;
		min-height: 25px;
		display: flex;
		align-items: center;
		color: var(--ew-ink);
}

#lp .nav a:last-child{
	border-bottom: 1px solid var(--ew-ink);
}

#lp .hero{
	position: relative;
	margin: 12px 4% 0;
	display: grid;
	grid-template-columns: 35% 65%;
	grid-template-rows: auto 1fr;
	min-height: 530px;
	padding-top: 20px;
}

#lp .hero-slot{
	grid-column: 1/-1;
	padding-bottom: 20px;
	font-size: 11px;
	letter-spacing: .12em;
	border-top: 1px solid var(--ew-line);
	padding-top: 15px;
}

#lp .hero-copy{
	grid-column: 1;
	grid-row: 2;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: flex-start;
	padding: 18px 0 24px;
}

#lp .hero-copy .lead{
	margin-top: auto;
	writing-mode: vertical-rl;
	font-family: "Noto Serif JP","Yu Mincho",serif;
	letter-spacing: .14em;
	font-size: 14px;
	line-height: 2;
	max-height: 160px;
}

#lp .image{
	position: relative;
	width: 100%;
	background: var(--ew-image);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 230px;
	gap: 10px;
	padding: 42px 22px;
	text-align: center;
}

#lp .image :is(i,svg){
}

#lp .hero-image{
	grid-column: 2;
	grid-row: 2;
	min-height: 430px;
	align-self: stretch;
}

#lp .hero-image b{
	margin-top: 110px;
}

#lp .info{
	display: grid;
	grid-template-columns: 1.2fr 1fr auto;
	align-items: center;
	gap: 24px;
	margin: 0 4%;
	padding: 24px 0;
	border-bottom: 1px solid var(--ew-line);
}

#lp .info .kicker{
	font-weight: 700;
}

#lp .info strong{
	display: block;
	font-size: 20px;
	letter-spacing: -.02em;
	margin: 3px 0;
}

#lp .info small{
	font-size: 11px;
}

#lp .button{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 52px;
	padding: 13px 20px;
	border: 1px solid var(--ew-ink);
	background: var(--ew-ink);
	color: var(--ew-paper);
	text-decoration: none;
	font-size: 14px;
	white-space: nowrap;
	transition: all 0.3s linear;
}

#lp .button:hover{
	background: var(--ew-paper);
	color: var(--ew-ink);
}

#lp .button span:last-child{
	font-size: 19px;
}

#lp .section{
	padding: 80px 6%;
}

#lp .section-head{
	display: flex;
	align-items: baseline;
	gap: 20px;
	margin-bottom: 36px;
	flex-wrap: wrap;
}

#lp h2{
	font-size: clamp(25px,3.3cqi,35px);
	line-height: 1.5;
	letter-spacing: -.025em;
}

#lp h3{
	font-size: 22px;
	line-height: 1.65;
	letter-spacing: -.02em;
}

#lp .lead{
	font-size: 14px;
	line-height: 2;
	max-width: 35em;
}

#lp .intro{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12%;
	padding-top: 75px;
	padding-bottom: 75px;
	align-items: start;
}

#lp .intro h2{
	font-size: clamp(28px,4cqi,42px);
	line-height: 1.55;
}

#lp .intro>.lead{
	padding-top: 48px;
}

#lp .feature{
	display: grid;
	grid-template-columns: 1.55fr 1fr;
	gap: 7%;
	align-items: center;
}

#lp .feature-copy{
	display: grid;
	gap: 20px;
	min-width: 0;
}

#lp .offer{
	margin: 0 6%;
	padding: 30px 0 38px;
}

#lp .offer .feature{
	grid-template-columns: 1fr 1.5fr;
	gap: 8%;
}

#lp .offer .image{
	min-height: 240px;
}

#lp .offer .section-head{
	margin-bottom: 24px;
}

#lp dl{
	display: grid;
	grid-template-columns: 5em minmax(0,1fr);
	gap: 12px 18px;
	margin: 0;
	font-size: 13px;
}

#lp dt{
	font-weight: 700;
}

#lp dd{
	margin: 0;
}

#lp .reserve-row{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 28px;
	font-size: 13px;
}

#lp .page #special{
	border-top: 1px solid var(--ew-line);
}

#lp [data-special]{
	padding: 85px 4% 50px;
}

#lp [data-special]>.section-head{
	align-items: flex-end;
	margin-bottom: 46px;
	padding: 0 2%;
}

#lp [data-special]>.section-head h2{
	font-size: clamp(32px,5.3cqi,54px);
	line-height: 1.3;
	letter-spacing: -.045em;
}

#lp .corner{
	grid-template-columns: minmax(0,1.7fr) minmax(0,1fr);
	gap: 6%;
	align-items: start;
}

#lp .corner + .corner{
	margin-top: 75px;
}

#lp .corner .feature-copy{
	padding: 32px 5% 0 0;
}

#lp .corner .image{
	min-height: 0;
}

#lp .corner:nth-of-type(even){
	grid-template-columns: minmax(0,1fr) minmax(0,1.7fr);
	margin-left: 0;
}

#lp .corner:nth-of-type(even) .gallery{
	grid-column: 2;
	grid-row: 1;
}

#lp .corner:nth-of-type(even) .feature-copy{
	grid-column: 1;
	grid-row: 1;
	padding-top: 24px;
}

#lp .corner:nth-of-type(even) .image{
}

#lp .gallery{
	min-width: 0;
}

#lp .carousel-controls{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding-top: 12px;
}

#lp .slide-nav{
	display: flex;
	gap: 0;
	flex-wrap: wrap;
}

#lp .slide-button{
	min-width: 44px;
	min-height: 44px;
	padding: 7px 12px;
	background: transparent;
	border: 0;
	font-size: 12px;
	text-decoration: none;
}

#lp .slide-button[aria-current="true"]{
	color: var(--ew-ink);
	text-decoration: underline !important;
    text-underline-offset: 4px;
}

#lp .slide-notice{
	font-size: 11px;
}

#lp .conditions{
	font-size: 12px;
	margin-top: 14px;
}

#lp .category-nav{
	display: flex;
	flex-wrap: wrap;
	background-color: #f3f0e8;
}

#lp .category-nav a{
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	text-decoration: none;
	font-size: 13px;
}

#lp .product-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5%;
	margin: 46px 0 0;
}

#lp .product-grid>div:last-child{
	padding-top: 0;
}

#lp .product-grid .image{
	min-height: 0;
}

#lp .product-grid h3{
	font-size: 18px;
	margin-top: 14px;
}

#lp .product-grid p{
	font-size: 12px;
}

#lp .categories{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 45px 5%;
}

#lp .categories .section{
	padding: 0 0 20px;
}

#lp .categories .section-head{
	gap: 12px;
	margin-bottom: 18px;
}

#lp .categories .section-head h2{
	font-size: 25px;
}

#lp .categories .label{
	flex-basis: 100%;
	margin: 0;
	font-size: 11px;
}

#lp .categories .image{
	min-height: 0;
}

#lp #furisode{
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 0 7%;
	padding-top: 50px;
}

#lp #furisode .section-head{
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	gap: 12px;
}

#lp #furisode h2{
}

#lp #furisode>.image{
	grid-column: 1;
	grid-row: 1/4;
}

#lp #furisode>.feature-copy{
	grid-column: 2;
	grid-row: 2;
	margin-top: 0 !important;
}

#lp #furisode>.conditions{
	grid-column: 2;
	grid-row: 3;
}

#lp .booking-break{
	padding-top: 0;
	padding-bottom: 50px;
}

#lp .booking-break .reserve-row{
	margin: 0;
	border-top: 1px solid var(--ew-line);
	padding-top: 26px;
}

#lp .access{
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 8%;
	align-items: start;
}

#lp #qna{
	border-top: 1px solid var(--ew-line);
}

#lp details{
	border-bottom: 1px solid var(--ew-line);
	padding: 22px 0;
	font-size: 14px;
}

#lp summary{
	cursor: pointer;
}

#lp summary::marker{
	color: var(--ew-ink);
}

#lp details p{
	margin-top: 10px;
	padding: 10px;
	background-color: #f3f0e8;
}

#lp #services{
	background-color: #f3f0e8;
}

#lp .services-title{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 10%;
	margin-bottom: 42px;
}

#lp .services-title .kicker{
	grid-column: 1/-1;
}

#lp .services-title h2{
	font-size: 35px;
	line-height: 1.6;
}

#lp .services-title .lead{
	align-self: end;
}

#lp .service-grid{
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 24px;
}

#lp .media-grid{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-top: 50px;
}

#lp .service-card{
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-width: 0;
}

#lp .service-card .image{
	min-height: 0;
	padding-left: 10px;
	padding-right: 10px;
}

#lp .service-card h3{
	font-size: 18px;
}

#lp .service-card p{
	font-size: 13px;
}

#lp .media-grid .image{
}

#lp .service-link{
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	min-height: 44px;
	text-align: left;
	border: 0;
	border-bottom: 1px solid var(--ew-line);
	padding: 10px;
	background: transparent;
	font-size: 12px;
	transition: all 0.3s linear;
}

#lp .service-link:hover{
	background-color: var(--ew-paper);
}

#lp .service-status,#lp .line-status{
	font-size: 12px;
}

#lp .service-status:empty,#lp .line-status:empty{
	display: none;
}

#lp .line-section{
	padding-top: 0;
	padding-bottom: 50px;
}

#lp .line-banner{
	width: 100%;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 35px;
	border: 1px solid var(--ew-ink);
	padding: 26px;
	background: transparent;
	text-align: left;
}

#lp .line-brand{
	font-size: 23px;
	letter-spacing: .05em;
}

#lp .line-brand :is(i,svg){
	display: none;
}

#lp .line-copy{
	display: grid;
	gap: 8px;
}

#lp .line-copy strong{
	font-size: 24px;
	letter-spacing: -.02em;
}

#lp .line-arrow{
	font-size: 26px;
}

#lp .last{
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px 40px;
	border-top: 1px solid var(--ew-ink);
}

#lp .last .kicker{
	grid-column: 1/-1;
}

#lp .last h2{
	font-size: clamp(38px,6cqi,61px);
	line-height: 1.4;
}

#lp .last>p:not(.kicker){
	grid-column: 1;
}

#lp .last .button{
	grid-column: 2;
	grid-row: 2/4;
	align-self: center;
}

#lp .note{
	font-size: 12px;
}

#lp .footer{
	padding: 24px 6%;
	border-top: 1px solid var(--ew-line);
	margin-bottom: 80px;
	text-align: center;
}

#lp .footer-nav{
	width: 270px;
	margin: 0 auto 20px;
}

#lp .footer-nav .link{
	display: inline-block;
	position: relative;
	text-decoration: none;
	font-size: 12px;
}

#lp .footer-nav .link::after {
	content: '|';
	margin: 0 8px;
	text-decoration: none;
}

#lp .footer-nav .link:last-of-type::after {
	content: none;
}

#lp .footer .logo{
	margin: auto;
}

#lp .footer .footer-copyright{
	font-size: 11px;
}

#lp .footer .sns-box{
	display: flex;
	justify-content: center;
	margin-top: 20px;
}

#lp .footer .sns-box a{
	margin: 0 5px;
}

#lp .fixed-wrap{
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 390px;
	z-index: 1000;
	background-color: #d1cdd4;
}

#lp .mobile-bar{
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

#lp .phone{
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	background: var(--ew-paper);
	border: 1px solid var(--ew-on);
	font-size: 15px;
	padding: 10px;
	min-height: 48px;
	width: 38%;
	text-decoration: none !important;
	transition: all 0.3s linear;
}

#lp .phone:hover{
	background: var(--ew-on);
	color: var(--ew-paper);
}

#lp .sale{
	padding: 55px 6% 75px;
}

#lp .sale .section-head{
	align-items: baseline;
	margin-bottom: 30px;
}

#lp .sale>.image{
	min-height: 390px;
}

#lp .sale-details{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8%;
	padding-top: 28px;
}

@container (max-width:620px){
	
	#lp #product,
	#lp .sale{
		padding: 48px 0!important;
		margin: 0 6%;
		border-bottom: 1px solid var(--ew-line);
	}

	#lp .sale .section-head{
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 14px;
		margin-bottom: 24px;
	}

	#lp .sale .section-head .number{
		grid-column: 1;
		grid-row: 1;
	}
	
	#lp .sale>.image{
		min-height: 280px;
	}

	#lp .sale-details{
		grid-template-columns: 1fr;
		gap: 15px;
		padding-top: 23px;
	}

	#lp .top{
		padding: 17px 5%;
		gap: 10px;
	}

	#lp .logo{
	}

	#lp .nav{
		font-size: 11px;
	}

	#lp .hero{
		margin: 0 5%;
		padding-top: 0;
		min-height: 0;
		grid-template-columns: 27% 73%;
	}

	#lp .hero-slot{
		font-size: 11px;
		padding: 12px 0;
	}

	#lp .hero-copy{
		padding: 12px 0;
		gap: 20px;
	}

	#lp .hero-copy>.kicker{
		position: absolute;
		top: 40px;
		writing-mode: horizontal-tb;
		white-space: nowrap;
		font-size: 11px;
	}

	#lp .hero-copy .lead{
		font-size: 11px;
		height: 94px;
		max-height: none;
		white-space: nowrap;
		letter-spacing: .05em;
		margin-top: auto;
		line-height: 1.7;
	}

	#lp .hero-image{
		min-height: 280px;
		padding: 35px 12px 16px;
	}

	#lp .hero-image b{
		margin-top: 140px;
		font-size: 11px;
	}

	#lp .hero-image small{
		display: none;
	}

	#lp .info{
		margin: 0 5%;
		grid-template-columns: 1fr;
		gap: 13px;
		padding: 18px 0;
	}

	#lp .info>div{
		display: grid;
		grid-template-columns: 3em 1fr;
		gap: 0 8px;
		align-items: baseline;
	}

	#lp .info strong{
		font-size: 16px;
		margin: 0;
	}

	#lp .info small{
		grid-column: 2;
	}

	#lp .button{
		font-size: 18px;
		min-height: 48px;
		gap: 15px;
	}

	#lp .section{
		padding: 48px 6%;
	}

	#lp .section-head{
		gap: 10px;
		margin-bottom: 25px;
	}

	#lp h2{
		font-size: 25px;
	}

	#lp h3{
		font-size: 20px;
	}
	
	#lp .intro{
		grid-template-columns: 1fr;
		gap: 20px;
	}

	#lp .intro h2{
		font-size: 30px;
	}

	#lp .intro>.lead{
		padding: 0;
		margin-left: 16%;
	}

	#lp .offer{
		padding: 25px 0;
		margin: 0 6%;
	}

	#lp .offer .feature{
		grid-template-columns: 1fr;
		gap: 25px;
	}

	#lp .offer .image{
		min-height: 200px;
	}

	#lp .reserve-row .button{
		width: 100%;
	}

	#lp [data-special]{
		padding: 55px 5% 0;
	}

	#lp [data-special]>.section-head{
		margin-bottom: 30px;
		gap: 10px;
	}

	#lp [data-special]>.section-head h2{
		font-size: 34px;
	}

	#lp [data-special]>.section-head .label{
		flex-basis: 100%;
		margin: 0 0 0 26px;
	}

	#lp .corner,#lp .corner:nth-of-type(even){
		grid-template-columns: 1fr;
		margin-left: 0;
		gap: 15px;
	}

	#lp .corner:nth-of-type(even) .gallery,#lp .corner:nth-of-type(even) .feature-copy{
		grid-column: auto;
		grid-row: auto;
	}

	#lp .corner .image{
	}

	#lp .corner:nth-of-type(even) .gallery{
		margin-left: 0;
	}

	#lp .corner:nth-of-type(even) .image{
	}

	#lp .corner .feature-copy,#lp .corner:nth-of-type(even) .feature-copy{
		padding: 0 3%;
		gap: 14px;
	}

	#lp .corner + .corner{
		margin-top: 50px;
        padding-bottom: 25px;
        border-bottom: 1px solid var(--ew-line);
	}

	#lp .carousel-controls{
		gap: 0;
		padding-top: 5px;
	}

	#lp .slide-button{
		padding: 7px 9px;
	}

	#lp .category-nav{
		gap: 0 18px;
		margin: 0;
		padding: 14px 6%;
		border-top: 1px solid var(--ew-line);
	}

	#lp .category-nav a{
		font-size: 12px;
		gap: 8px;
	}
	
	#lp .category-nav a:hover span{
		color: var(--ew-ink);
	}

	#lp .feature{
		grid-template-columns: 1fr;
		gap: 15px;
	}

	#lp .product-grid{
		margin: 28px 0 0;
		gap: 5%;
		grid-template-columns: 1fr 1fr;
	}

	#lp .product-grid>div:last-child{
		padding-top: 0;
	}

	#lp .product-grid h3{
		font-size: 16px;
	}

	#lp .product-grid .image{
		padding: 36px 10px 15px;
	}

	#lp .categories{
		gap: 30px 5%;
	}

	#lp .categories .section-head{
		gap: 6px;
		margin-bottom: 12px;
	}

	#lp .categories .section-head h2{
		font-size: clamp(15px,4.3cqi,23px);
		letter-spacing: -.05em;
	}

	#lp .categories .image{
		padding: 30px 10px 15px;
	}

	#lp .categories .image small{
		display: none;
	}

	#lp .categories .label{
		font-size: 11px;
	}

	#lp .conditions{
		font-size: 11px;
	}

	#lp #furisode{
		grid-template-columns: 1fr;
		gap: 24px;
		padding-top: 40px;
	}

	#lp #furisode .section-head{
		grid-column: 1;
		grid-row: 1;
		margin: 0;
	}
	
	#lp #furisode>.image{
		grid-column: 1;
		grid-row: 2;
		margin-right: 12%;
	}

	#lp #furisode>.feature-copy{
		grid-column: 1;
		grid-row: 3;
		margin-left: 12%;
	}

	#lp #furisode>.conditions{
		grid-column: 1;
		grid-row: 4;
		margin: 0 0 0 12%;
	}

	#lp .booking-break{
		padding-top: 0;
		padding-bottom: 40px;
		border-bottom: 1px solid var(--ew-line);
	}

	#lp .access{
		grid-template-columns: 1fr;
		gap: 25px;
	}

	#lp .services-title{
		grid-template-columns: 1fr;
		gap: 20px;
	}

	#lp .services-title h2{
		font-size: 30px;
	}

	#lp .service-grid{
		grid-template-columns: 1fr;
		gap: 30px;
	}

	#lp .service-grid .service-card{
		display: grid;
		grid-template-columns: 36% 1fr;
		gap: 6px 16px;
	}

	#lp .service-grid .image{
		grid-column: 1;
		grid-row: 1/4;
		min-height: 145px;
		padding: 30px 8px 12px;
	}

	#lp .service-card h3{
		font-size: 17px;
	}

	#lp .media-grid{
		gap: 26px;
		grid-template-columns: 1fr;
		margin-top: 35px;
	}

	#lp .line-section{
		padding-top: 35px;
		padding-bottom: 35px;
	}

	#lp .line-banner{
		grid-template-columns: 1fr auto;
		gap: 15px;
		padding: 20px;
	}

	#lp .line-brand{
		grid-column: 1/-1;
		font-size: 19px;
	}

	#lp .line-copy strong{
		font-size: 20px;
	}

	#lp .last{
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 0;
	}

	#lp .last .button{
		grid-column: 1;
		grid-row: auto;
	}

	#lp .mobile-bar .button{
		padding: 10px;
		font-size: 15px;
		width: 60%;
	}

}

	
#lp .page .image{
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	align-self: start;
	justify-self: start;
	flex-shrink: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#lp .page .image>img{
	display: block;
	width: 100%;
	height: 100%;
}

#lp .page [data-service="youtube"] .image{
}

#lp .page #access{
	border-top: 1px solid var(--ew-line);
}

#lp .page #access .image{
}

#lp .hero{
	min-height: 0;
	grid-template-rows: auto auto;
}

#lp .hero-image b{
	margin-top: 15px;
}

	
@container (max-width: 620px){
	#lp .hero{
		grid-template-columns: 1fr;
	}

	#lp .hero-image{
		grid-column: 1;
		grid-row: 2;
	}

	#lp .hero-copy{
		grid-column: 1;
		grid-row: 2;
		width: 72%;
		padding: 12px 0 12px 18px;
	}

	#lp .hero-copy .lead{
		height: 80px;
	}

	#lp .page .hero-image b{
		top: auto;
		bottom: 20px;
		left: auto;
		right: 14px;
		width: 48%;
		font-size: 11px;
	}

	#lp #furisode>.image{
		margin-right: 0;
	}

}

	
#lp .hero{
	display: block;
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
	padding: 0;
	min-height: 0;
}

#lp .page .instagram-art{
	width: 100%;
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	background: var(--ew-image);
	color: var(--ew-ink);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

#lp .instagram-art:before,#lp .instagram-art:after{
	display: none;
}

#lp .page [data-corner="1"] .image{
	min-height: 0 !important;
	height: auto !important;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

#lp{
	color-scheme: light;
}



/* Real images fill the available width and keep their natural proportions. */
#lp .image:has(> img){
	width: 100%;
	min-height: 0;
	height: auto;
	padding: 0;
	display: block;
	background: transparent;
}
#lp .image > img{
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
}

/* Carousel autoplay icon and gentle image transitions */
#lp .slide-play{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:40px;
	min-width:40px;
	height:40px;
	padding:0;
	color:var(--ew-ink);
	text-decoration:none;
	cursor:pointer;
}
#lp .slide-play:hover{opacity:.65;}
#lp .play-icon{
	display:block;
	width:16px;
	height:16px;
	position:relative;
}
#lp .slide-play[aria-pressed="false"] .play-icon{
	width:0;
	height:0;
	border-top:8px solid transparent;
	border-bottom:8px solid transparent;
	border-left:12px solid currentColor;
	margin-left:3px;
}
#lp .slide-play[aria-pressed="true"] .play-icon:before,
#lp .slide-play[aria-pressed="true"] .play-icon:after{
	content:"";
	position:absolute;
	top:1px;
	width:4px;
	height:14px;
	background:currentColor;
}
#lp .slide-play[aria-pressed="true"] .play-icon:before{left:2px;}
#lp .slide-play[aria-pressed="true"] .play-icon:after{right:2px;}
#lp .sr-only{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}
#lp .gallery .image:not([hidden]){
	animation:galleryFadeIn .65s ease both;
}
@keyframes galleryFadeIn{
	from{opacity:0;}
	to{opacity:1;}
}
@media (prefers-reduced-motion:reduce){
	#lp .gallery .image:not([hidden]){animation:none;}
}


/* Keep the fixed phone consultation link centered inside its rectangle */
#lp .mobile-bar > a.phone,
#lp .mobile-bar .phone {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	box-sizing: border-box !important;
	line-height: 1.4;
}


/* 会場のようす：中央の写真をメインに、左右の写真を一部見せるカルーセル */
#lp .gallery-peek{
	width: 100%;
	overflow: hidden;
	position: relative;
}

#lp .gallery-peek .gallery-track{
	display: flex;
	align-items: center;
	gap: 0;
	width: 100%;
	will-change: transform;
}

#lp .gallery-peek .gallery-track > .image{
	display:block !important;
	flex:0 0 66.6667%;
	width:66.6667%;
	min-width:0;
	opacity:.62;
	transition:opacity .65s ease, transform .65s ease;
}

#lp .gallery-peek .gallery-track > .image[hidden]{display:block !important;}
#lp .gallery-peek .gallery-track > .image.is-active{opacity:1;}
#lp .gallery-peek .gallery-track > .image img{
	display:block;
	width:100%;
	height:auto;
}

#lp #venue .gallery-peek{
	
}

#lp #venue .carousel-controls{
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
}

#lp #venue .slide-nav{
	width: 100%;
    justify-content: space-between;
}

#lp #venue .slide-button{
	background-color: var(--ew-paper);
	text-align: center;
	min-width: 38px;
    min-height: 38px;
	border: 1px solid var(--ew-line);
	border-radius: 19px;
}

#lp #venue .prev{
	margin-left: 10px;
}

#lp #venue .next{
	margin-right: 10px;
}

#lp .gallery-peek .carousel-controls{justify-content:center;}
@media (max-width:600px){
	#lp .gallery-peek .gallery-track{gap:10px;}
	#lp .gallery-peek .gallery-track > .image{flex-basis:76%;width:76%;}
}
@media (prefers-reduced-motion:reduce){
	#lp .gallery-peek .gallery-track,
	#lp .gallery-peek .gallery-track > .image{transition:none !important;}
}
