@charset "utf-8";
#hero {
	width: 100%;
	height: auto;
}

#about {
	width: 100%;
	height: auto;
	padding: min(calc((110 / var(--vw)) * 100vw), 110px) 0 0;
}
	.about__inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: calc((1100 / var(--vw)) * 100vw);
		height: auto;
		margin: 0 auto min(calc((70 / var(--vw)) * 100vw), 70px);
	}
		.about__contents {
			width: calc((540 / var(--vw)) * 100vw);
			height: auto;
			padding: min(calc((86 / var(--vw)) * 100vw), 86px) 0 0;
		}
			.about__heading {
				margin-bottom: min(calc((31 / var(--vw)) * 100vw), 31px);
			}
			.about__text {
				width: 100%;
				height: auto;
				padding-left: var(--cmn_heading-indent);
				font-size: min(calc((20 / var(--vw)) * 100vw), 20px);
				font-weight: 500;
				line-height: 1.2;
				letter-spacing: 0.1em;
			}
		.about__image {
			width: calc((450 / var(--vw)) * 100vw);
			height: auto;
		}
	.about__band {
		width: 100%;
		height: min(calc((480 / var(--vw)) * 100vw), 480px);
		position: relative;
		overflow: hidden;
	}
		.about__band__image {
			width: calc(100% + 118px);
			height: auto;
			position: absolute;
			top: max(calc((-209 / var(--vw)) * 100vw), -209px);
			left: max(calc((-98 / var(--vw)) * 100vw), -98px);
			transform: translate3d(0, var(--parallax_y, 0px), 0);
			will-change: transform;
		}

/* 着物レンタル */
#kimono {
	width: 100%;
	height: auto;
	padding: min(calc((148 / var(--vw)) * 100vw), 148px) 0 0;
}
	.kimono__inner {
		width: min(calc((1100 / var(--vw)) * 100vw), 1100px);
		height: auto;
		margin: 0 auto;
	}
		.kimono__heading {
			margin-bottom: min(calc((33 / var(--vw)) * 100vw), 33px);
		}
		.kimono__list {
			display: flex;
			flex-wrap: wrap;
			gap: min(calc((25 / var(--vw)) * 100vw), 25px);
			width: 100%;
			height: auto;
			margin-bottom: min(calc((23 / var(--vw)) * 100vw), 23px);
		}
			.kimono__list__item {
				width: min(calc((350 / var(--vw)) * 100vw), 350px);
				height: auto;
			}
				.kimono__list__item__link {
					display: block;
				}
		.kimono__note {
			width: 100%;
			height: auto;
			padding-left: min(calc((17 / var(--vw)) * 100vw), 17px);
			font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: 0.1em;
			text-indent: max(calc((-17 / var(--vw)) * 100vw), -17px);
		}
		.kimono__btn {
			margin: min(calc((48 / var(--vw)) * 100vw), 48px) auto 0;
		}
		.kimono__insta {
			gap: min(calc((8 / var(--vw)) * 100vw), 8px);
			margin: min(calc((16 / var(--vw)) * 100vw), 16px) auto 0;
		}
			.kimono__insta__icon {
				display: block;
				width: min(calc((20 / var(--vw)) * 100vw), 20px);
				height: auto;
			}
				.kimono__insta__icon svg {
					fill: var(--color--taupe);
				}
		@media (any-hover: hover) {
				.kimono__insta__icon svg {
					transition-property: fill;
					transition-duration: .4s;
					transition-timing-function: ease;
				}
				.kimono__insta:hover .kimono__insta__icon svg {
					fill: var(--color--white);
				}
		}

/* 料金プラン */
#price {
	width: 100%;
	height: auto;
	padding: min(calc((125 / var(--vw)) * 100vw), 125px) 0 0;
}
	.price__inner {
		width: min(calc((1100 / var(--vw)) * 100vw), 1100px);
		height: auto;
		margin: 0 auto;
	}
		.price__heading {
			margin-bottom: min(calc((23 / var(--vw)) * 100vw), 23px);
		}
		.price__box {
			width: 100%;
			height: auto;
			padding: min(calc((50 / var(--vw)) * 100vw), 50px) min(calc((27 / var(--vw)) * 100vw), 27px) min(calc((39 / var(--vw)) * 100vw), 39px);
			border: solid 1px var(--color--taupe);
			border-radius: var(--radius--card);
		}
			.price__row {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
				height: auto;
				margin-bottom: min(calc((35 / var(--vw)) * 100vw), 35px);
			}
			.price__row:last-child {
				margin-bottom: 0;
			}
				.price__plan {
					width: min(calc((514 / var(--vw)) * 100vw), 514px);
					height: auto;
				}
				.price__row .price__plan:nth-child(2) {
					width: min(calc((515 / var(--vw)) * 100vw), 515px);
				}
					.price__plan__title {
						margin-bottom: min(calc((9 / var(--vw)) * 100vw), 9px);
						font-size: min(calc((24 / var(--vw)) * 100vw), 24px);
						font-weight: 700;
						line-height: 1;
						letter-spacing: 0.1em;
						text-align: center;
					}
					.price__plan__lead {
						margin-bottom: min(calc((21 / var(--vw)) * 100vw), 21px);
						font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
						font-weight: 700;
						line-height: 1.5;
						letter-spacing: 0.1em;
						text-align: center;
					}
					.price__plan__box {
						width: 100%;
						height: auto;
						background-color: var(--color--white);
						border: solid 1px var(--color--beige);
						border-radius: var(--radius--card);
						position: relative;
						overflow: hidden;
					}
					.price__plan__box._shichigosan {
						height: min(calc((220 / var(--vw)) * 100vw), 220px);
					}
					.price__plan__box._mochikomi {
						height: min(calc((346 / var(--vw)) * 100vw), 346px);
						padding: min(calc((32 / var(--vw)) * 100vw), 32px) min(calc((24 / var(--vw)) * 100vw), 24px) min(calc((24 / var(--vw)) * 100vw), 24px) min(calc((32 / var(--vw)) * 100vw), 32px);
					}
					.price__plan__box._mama {
						display: flex;
						flex-direction: column;
						gap: min(calc((12 / var(--vw)) * 100vw), 12px);
						padding: min(calc((24 / var(--vw)) * 100vw), 24px) min(calc((25 / var(--vw)) * 100vw), 25px) min(calc((24 / var(--vw)) * 100vw), 24px) min(calc((26 / var(--vw)) * 100vw), 26px);
					}
					.price__plan__box._miyamairi {
						display: flex;
						align-items: center;
						height: min(calc((133 / var(--vw)) * 100vw), 133px);
						padding: 0 min(calc((99 / var(--vw)) * 100vw), 99px) 0 0;
					}
						.price__plan__flower {
							height: 100%;
							width: auto;
							position: absolute;
							top: 0;
							left: 0;
						}
						.price__plan__box._shichigosan .price__plan__flower {
							width: min(calc((114.7 / var(--vw)) * 100vw), 114.7px);
							height: 100%;
							object-fit: cover;
							opacity: .1;
						}
						.price__plan__box._miyamairi .price__plan__flower {
							width: min(calc((74 / var(--vw)) * 100vw), 74px);
							height: auto;
							top: 50%;
							left: auto;
							right: 0;
							transform: translateY(-50%);
						}
						.price__plan__cols {
							display: flex;
							justify-content: flex-start;
							align-items: center;
							width: 100%;
							height: 100%;
							position: relative;
						}
						.price__plan__cols::before {
							content: '';
							display: block;
							width: 1px;
							height: min(calc((190 / var(--vw)) * 100vw), 190px);
							background-color: var(--color--beige);
							position: absolute;
							top: 50%;
							left: 50%;
							transform: translate(-50%, -50%);
						}
							.price__plan__col {
								display: flex;
								flex-direction: column;
								justify-content: center;
								align-items: center;
								width: 50%;
								height: 100%;
								text-align: center;
							}
								.price__plan__age {
									margin-bottom: min(calc((14 / var(--vw)) * 100vw), 14px);
									font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
									font-weight: 700;
									line-height: 1;
								}
									.price__plan__age__num {
										font-size: min(calc((24 / var(--vw)) * 100vw), 24px);
									}
								.price__plan__label {
									font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
									font-weight: 700;
									line-height: 1.2;
								}
								.price__plan__label._multiline {
									line-height: 1.5;
								}
								.price__plan__amount {
									margin-top: min(calc((12 / var(--vw)) * 100vw), 12px);
									font-weight: 700;
									letter-spacing: 0.1em;
								}
									.price__plan__amount__num {
										font-size: min(calc((24 / var(--vw)) * 100vw), 24px);
										line-height: 1;
									}
									.price__plan__tax {
										font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
										line-height: 1;
									}
						.price__plan__fee_list {
							display: flex;
							flex-direction: column;
							gap: min(calc((16 / var(--vw)) * 100vw), 16px);
							width: 100%;
							height: auto;
						}
						.price__plan__box._mama .price__plan__fee_list {
							gap: min(calc((7 / var(--vw)) * 100vw), 7px);
						}
							.price__plan__fee_list__item {
								display: flex;
								justify-content: space-between;
								align-items: center;
								width: 100%;
								font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
								font-weight: 700;
								line-height: 1.2;
							}
								.price__plan__fee_list__price {
									flex-shrink: 0;
								}
									.price__plan__fee_list__price__num {
										font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
									}
						.price__plan__benefit {
							width: 100%;
							height: auto;
							padding: min(calc((12 / var(--vw)) * 100vw), 12px) min(calc((16 / var(--vw)) * 100vw), 16px);
							background-color: var(--color--cream);
							border-radius: var(--radius--btn);
						}
							.price__plan__benefit__label {
								display: inline-block;
								margin-bottom: min(calc((8 / var(--vw)) * 100vw), 8px);
								padding: min(calc((3 / var(--vw)) * 100vw), 3px) min(calc((10 / var(--vw)) * 100vw), 10px);
								font-size: min(calc((11 / var(--vw)) * 100vw), 11px);
								font-weight: 700;
								line-height: 1;
								letter-spacing: 0.1em;
								color: var(--color--white);
								background-color: var(--color--taupe);
								border-radius: var(--radius--btn);
							}
							.price__plan__benefit__list {
								display: flex;
								flex-direction: column;
								gap: min(calc((7 / var(--vw)) * 100vw), 7px);
								width: 100%;
								height: auto;
							}
								.price__plan__benefit__list__item {
									display: flex;
									justify-content: space-between;
									align-items: center;
									width: 100%;
									font-size: min(calc((14 / var(--vw)) * 100vw), 14px);
									font-weight: 700;
									line-height: 1.2;
								}
									.price__plan__benefit__list__price {
										flex-shrink: 0;
									}
										.price__plan__benefit__list__price__num {
											font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
										}
						.price__plan__band {
							display: flex;
							justify-content: center;
							align-items: center;
							width: 100%;
							height: min(calc((45 / var(--vw)) * 100vw), 45px);
							margin: min(calc((26 / var(--vw)) * 100vw), 26px) auto 0;
							font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
							font-weight: 700;
							line-height: 1;
							letter-spacing: 0.1em;
							color: var(--color--white);
							background-color: var(--color--taupe);
							border-radius: var(--radius--btn);
						}
						.price__plan__area {
							width: 100%;
							margin: min(calc((15 / var(--vw)) * 100vw), 15px) 0 0;
							text-align: center;
						}
							.price__plan__area__text {
								margin-bottom: min(calc((9 / var(--vw)) * 100vw), 9px);
								font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
								font-weight: 700;
								line-height: 1.5;
							}
							.price__plan__area__note {
								font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
								font-weight: 700;
								line-height: 1.5;
							}
						.price__plan__miyamairi {
							display: flex;
							justify-content: space-between;
							align-items: center;
							width: 100%;
							height: auto;
						}
							.price__plan__miyamairi__stack {
								display: flex;
								flex-direction: column;
								justify-content: center;
								align-items: center;
								width: min(calc((226 / var(--vw)) * 100vw), 226px);
								text-align: center;
							}
							.price__plan__miyamairi .price__plan__amount {
								margin-top: 0;
							}
					.price__plan__option_box {
						display: flex;
						flex-direction: column;
						justify-content: center;
						width: 100%;
						height: min(calc((110 / var(--vw)) * 100vw), 110px);
						margin-top: min(calc((16 / var(--vw)) * 100vw), 16px);
						padding: min(calc((17 / var(--vw)) * 100vw), 17px) min(calc((24 / var(--vw)) * 100vw), 24px) min(calc((17 / var(--vw)) * 100vw), 17px) min(calc((31 / var(--vw)) * 100vw), 31px);
						background-color: var(--color--white);
						border: solid 1px var(--color--beige);
						border-radius: var(--radius--card);
					}
						.price__plan__option_list {
							display: flex;
							flex-direction: column;
							gap: min(calc((8 / var(--vw)) * 100vw), 8px);
							width: 100%;
							height: auto;
						}
							.price__plan__option_list__item {
								display: flex;
								justify-content: space-between;
								align-items: center;
								width: 100%;
								font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
								font-weight: 700;
								line-height: 1.2;
							}
								.price__plan__option_list__price {
									flex-shrink: 0;
								}
									.price__plan__option_list__price__num {
										font-size: min(calc((16 / var(--vw)) * 100vw), 16px);
									}
					.price__plan__note {
						margin-top: min(calc((8 / var(--vw)) * 100vw), 8px);
						font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
						font-weight: 700;
						line-height: 1;
						letter-spacing: 0.1em;
					}

/* ギャラリー */
#gallery {
	width: 100%;
	height: auto;
	padding: min(calc((129 / var(--vw)) * 100vw), 129px) 0 min(calc((180 / var(--vw)) * 100vw), 180px);
}
	.gallery__inner {
		width: min(calc((1100 / var(--vw)) * 100vw), 1100px);
		height: auto;
		margin: 0 auto;
	}
		.gallery__heading {
			margin-bottom: min(calc((46 / var(--vw)) * 100vw), 46px);
		}
		.gallery__list {
			display: flex;
			flex-wrap: wrap;
			gap: min(calc((25 / var(--vw)) * 100vw), 25px);
			width: 100%;
			height: auto;
		}
			.gallery__list__item {
				width: min(calc((350 / var(--vw)) * 100vw), 350px);
				height: auto;
				border-radius: var(--radius--card);
				overflow: hidden;
			}
				.gallery__list__item img {
					aspect-ratio: 1 / 1;
					object-fit: cover;
				}
			.gallery__list__item._hide {
				display: none;
			}
		.gallery__btn {
			margin: min(calc((80 / var(--vw)) * 100vw), 80px) auto 0;
		}

/* ================================================== SP */
@media all and (max-width: 768px) {
#about {
	padding: min(calc((60 / var(--vw)) * 100vw), 60px) 0 0;
}
	.about__inner {
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: min(calc((32 / var(--vw)) * 100vw), 32px);
		width: calc((335 / 375) * 100%);
		margin: 0 auto min(calc((30 / var(--vw)) * 100vw), 30px);
	}
		.about__contents {
			width: 100%;
			padding: 0;
		}
			.about__heading {
				margin-bottom: min(calc((24 / var(--vw)) * 100vw), 24px);
			}
			.about__text {
				padding-left: 0;
				font-size: min(calc((14 / var(--vw)) * 100vw), 14px);
				line-height: 1.8;
			}
		.about__image {
			width: 100%;
		}
	.about__band {
		height: min(calc((240 / var(--vw)) * 100vw), 240px);
	}
		.about__band__image {
			width: calc(100% + 185px);
			top: max(calc((-86 / var(--vw)) * 100vw), -86px);
			left: max(calc((-92 / var(--vw)) * 100vw), -92px);
		}

/* 着物レンタル */
#kimono {
	padding: min(calc((60 / var(--vw)) * 100vw), 60px) 0 0;
}
	.kimono__inner {
		width: calc((335 / 375) * 100%);
	}
		.kimono__heading {
			margin-bottom: min(calc((24 / var(--vw)) * 100vw), 24px);
		}
		.kimono__list {
			gap: min(calc((24 / var(--vw)) * 100vw), 24px);
			margin-bottom: min(calc((20 / var(--vw)) * 100vw), 20px);
		}
			.kimono__list__item {
				width: 100%;
			}
		.kimono__note {
			padding-left: min(calc((13 / var(--vw)) * 100vw), 13px);
			font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
			text-indent: max(calc((-13 / var(--vw)) * 100vw), -13px);
		}
		.kimono__btn {
			margin: min(calc((32 / var(--vw)) * 100vw), 32px) auto 0;
		}

/* 料金プラン */
#price {
	padding: min(calc((60 / var(--vw)) * 100vw), 60px) 0 0;
}
	.price__inner {
		width: calc((335 / 375) * 100%);
	}
		.price__heading {
			margin-bottom: min(calc((20 / var(--vw)) * 100vw), 20px);
		}
		.price__box {
			padding: min(calc((24 / var(--vw)) * 100vw), 24px) min(calc((16 / var(--vw)) * 100vw), 16px);
		}
			.price__row {
				flex-direction: column;
				gap: min(calc((40 / var(--vw)) * 100vw), 40px);
				margin-bottom: min(calc((40 / var(--vw)) * 100vw), 40px);
			}
				.price__plan,
				.price__row .price__plan:nth-child(2) {
					width: 100%;
				}
					.price__plan__title {
						margin-bottom: min(calc((8 / var(--vw)) * 100vw), 8px);
						font-size: min(calc((18 / var(--vw)) * 100vw), 18px);
					}
					.price__plan__lead {
						margin-bottom: min(calc((16 / var(--vw)) * 100vw), 16px);
					}
					.price__plan__box._shichigosan {
						height: auto;
						min-height: min(calc((180 / var(--vw)) * 100vw), 180px);
					}
					.price__plan__box._mochikomi {
						height: auto;
						padding: min(calc((20 / var(--vw)) * 100vw), 20px) min(calc((16 / var(--vw)) * 100vw), 16px);
					}
					.price__plan__box._mama {
						padding: min(calc((16 / var(--vw)) * 100vw), 16px);
					}
					.price__plan__box._miyamairi {
						height: auto;
						padding: min(calc((16 / var(--vw)) * 100vw), 16px);
					}
						.price__plan__box._shichigosan .price__plan__flower,
						.price__plan__box._miyamairi .price__plan__flower {
							display: none;
						}
						.price__plan__cols::before {
							height: min(calc((140 / var(--vw)) * 100vw), 140px);
						}
							.price__plan__col {
								padding: min(calc((16 / var(--vw)) * 100vw), 16px) 0;
							}
								.price__plan__age {
									font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
								}
									.price__plan__age__num {
										font-size: min(calc((18 / var(--vw)) * 100vw), 18px);
									}
								.price__plan__label {
									font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
								}
									.price__plan__amount__num {
										font-size: min(calc((18 / var(--vw)) * 100vw), 18px);
									}
									.price__plan__tax {
										font-size: min(calc((10 / var(--vw)) * 100vw), 10px);
									}
						.price__plan__fee_list {
							gap: min(calc((12 / var(--vw)) * 100vw), 12px);
						}
						.price__plan__box._mama .price__plan__fee_list {
							gap: min(calc((6 / var(--vw)) * 100vw), 6px);
						}
							.price__plan__fee_list__item {
								font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
							}
									.price__plan__fee_list__price__num {
										font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
									}
						.price__plan__benefit {
							padding: min(calc((10 / var(--vw)) * 100vw), 10px) min(calc((12 / var(--vw)) * 100vw), 12px);
						}
							.price__plan__benefit__label {
								font-size: min(calc((10 / var(--vw)) * 100vw), 10px);
							}
								.price__plan__benefit__list__item {
									font-size: min(calc((12 / var(--vw)) * 100vw), 12px);
								}
									.price__plan__benefit__list__price__num {
										font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
									}
						.price__plan__band {
							height: min(calc((36 / var(--vw)) * 100vw), 36px);
							font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
						}
							.price__plan__area__text,
							.price__plan__area__note {
								font-size: min(calc((11 / var(--vw)) * 100vw), 11px);
							}
						.price__plan__miyamairi__stack {
							width: auto;
							flex: 1;
						}
					.price__plan__option_box {
						height: auto;
						padding: min(calc((12 / var(--vw)) * 100vw), 12px) min(calc((16 / var(--vw)) * 100vw), 16px);
					}
						.price__plan__option_list {
							gap: min(calc((8 / var(--vw)) * 100vw), 8px);
						}
							.price__plan__option_list__item {
								font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
							}
									.price__plan__option_list__price__num {
										font-size: min(calc((13 / var(--vw)) * 100vw), 13px);
									}
					.price__plan__note {
						font-size: min(calc((11 / var(--vw)) * 100vw), 11px);
					}

/* ギャラリー */
#gallery {
	padding: min(calc((60 / var(--vw)) * 100vw), 60px) 0 min(calc((80 / var(--vw)) * 100vw), 80px);
}
	.gallery__inner {
		width: calc((335 / 375) * 100%);
	}
		.gallery__heading {
			margin-bottom: min(calc((24 / var(--vw)) * 100vw), 24px);
		}
		.gallery__list {
			gap: min(calc((11 / var(--vw)) * 100vw), 11px) calc((11 / 335) * 100%);
		}
			.gallery__list__item {
				width: calc((162 / 335) * 100%);
			}
		.gallery__btn {
			margin: min(calc((48 / var(--vw)) * 100vw), 48px) auto 0;
		}

}
