@charset "UTF-8";

:root {
	--primary-color: #3c4245;
	--text-color: #3c4245;
	--text-color-placeholder: #cccccc;
	--background-color-primary: #f7f7f7;
	--background-color-accent: #f4f2ea;
	--border-color: #e5e5e5;
	--border-color-checked: #d8b6b4;
	--marker-color: #cccccc;
	--border-width: 1.5px;
	--border-width-checked: 6px;
	--image-aspect-ratio: 9 / 8;
}

body {
	color: #3c4245;
	font-family: YakuHanJP_Narrow, 'Inter', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "メイリオ", "Meiryo", Meiryo, sans-serif;
	font-weight: 300;
	font-size: 15px;
	letter-spacing: 0.06em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt" 1;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}

/*Bouquet - Arrangement*/
#receptionForm .g2-fset {
	display: none;
}
#receptionForm[data-g1select=""] .g2-fset.bouquet {
	display: flex;
}
#receptionForm[data-g1select="bouquet"] .g2-fset.bouquet {
	display: flex;
}
#receptionForm[data-g1select="arrangement"] .g2-fset.arrangement {
	display: flex;
}

/**/
.order-sheet * {
	letter-spacing: 0.01em;
}
.order-sheet p {
	line-height: 1.5;
}
.order-sheet .heading {
	line-height: 1.35;
}
	.order-sheet .heading.h1 {
		font-size: 24px;
		text-align: center;
		margin-bottom: 0;
	}
		@media screen and (min-width: 768px) {
			.order-sheet .heading.h1 {
				font-size: 26px;
			}
		}
	.order-sheet .heading.h2 {
		font-size: 20px;
	}
		@media screen and (min-width: 768px) {
			.order-sheet .heading.h2 {
				font-size: 22px;
			}
		}
	.order-sheet .heading.h3 {
		font-size: 18px;
	}
		@media screen and (min-width: 768px) {
			.order-sheet .heading.h3 {
				font-size: 20px;
			}
		}
	.order-sheet .heading.h4 {
		font-size: 15px;
	}
		@media screen and (min-width: 768px) {
			.order-sheet .heading.h4 {
				font-size: 18px;
			}
		}
.order-sheet .button {
	display: inline-block;
	cursor: pointer;
}
	.order-sheet .button.button-secondary {
		background-color: var(--background-color-primary);
		font-size: 14px;
		padding: 20px 30px;
	}
		@media screen and (min-width: 768px) {
			.order-sheet .button.button-secondary {
				font-size: 16px;
			}
		}
.order-sheet .container {
	width: 100%;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 6.4vw;
	padding-right: 6.4vw;
}
	@media screen and (min-width: 768px) {
		.order-sheet .container {
			padding-left: 40px;
			padding-right: 40px;
		}
	}
/*
.order-sheet .fieldcell input[type="radio"],
.order-sheet .fieldcell input[type="checkbox"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	line-height: 0;
	padding: 0;
	margin: 0;
	border-radius: 0;
	box-sizing: border-box;
}*/
.order-sheet .fieldcell input[type="text"] {
	display: inline-block;
}
.order-sheet .fieldcell input[type="text"],
.order-sheet .fieldcell input[type="date"],
.order-sheet .fieldcell select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 10px 14px 12px;
	border-radius: 0;
	font-size: 16px;
	line-height: 1.2;
	resize: none;
	background: #ffffff;
	border: var(--border-width) solid var(--border-color);
	transition: border-color .1s ease-in-out;
	color: var(--text-color);
	font-family: YakuHanJP_Narrow, 'Inter', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "メイリオ", "Meiryo", Meiryo, sans-serif;
}
.order-sheet .fieldcell select {
	line-height: 1.6;
}
	@media screen and (min-width: 768px) {
		.order-sheet .fieldcell input[type="text"],
		.order-sheet .fieldcell input[type="date"],
		.order-sheet .fieldcell select {
			font-size: 18px;
		}
	}
/*check*/
.order-sheet .fieldcell dt .input-assist {
	line-height: 0;
	display: none;
}
.order-sheet .fieldcell dt .heading {
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	align-items: center;
	margin-bottom: 15px;
}
	.order-sheet .fieldcell dt .heading .number {
		display: flex;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		justify-content: center;
		align-items: center;
		background-color: var(--text-color);
		color: #fff;
		min-width: 35px;
		min-height: 35px;
		margin-right: 10px;
	}
	.order-sheet .fieldcell dt .heading .tilte-text {
		line-height: 1.3;
	}

	@media screen and (min-width: 768px) {
		.order-sheet .fieldcell dt .heading .number {
			margin-right: 8px;
		}
	}
.order-sheet .fieldcell dd {
	display: flex;
	align-items: center;
}
	.order-sheet .fieldcell dd fieldset {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 15px;
		width: 100%;
	}
		@media screen and (min-width: 768px) {
			.order-sheet .fieldcell dd fieldset {
				gap: 20px;
			}
		}
		.order-sheet .fieldcell dd fieldset.col2 label {
			width: 100%;
		}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset.col2 label {
					width: calc((100% - 20px)/2);
				}
			}
		.order-sheet .fieldcell dd fieldset.col3 label {
			width: 100%;
		}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset.col3 label {
					width: calc((100% - 20px*2)/3);
				}
			}
		.order-sheet .fieldcell dd fieldset.col5 label {
			width: calc((100% - 15px)/2);
		}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset.col5 label {
					width: calc((100% - 20px*4)/5);
				}
			}
		.order-sheet .fieldcell dd fieldset label .button-swatch {
			background-color: var(--background-color-primary);
			position: relative;
			display: flex;
			align-items: center;
			color: var(--text-color);
			width: 100%;
			height: 80px;
			border: var(--border-width) solid var(--border-color);
			cursor: pointer;
		}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset label .button-swatch,
				.order-sheet #g3 .fieldcell dd fieldset label .button-swatch,
				.order-sheet #g5 .fieldcell dd fieldset label .button-swatch {
					height: 90px;
				}
			}
			.order-sheet .fieldcell dd fieldset label .button-swatch .image {
				display: flex;
				width: auto;
				height: 100%;
			}
				.order-sheet .fieldcell dd fieldset label .button-swatch .image img {
					object-fit: cover;
					aspect-ratio: var(--image-aspect-ratio);
					height: 100%;
				}
				.order-sheet .fieldcell dd fieldset label .button-swatch .image.is-hidden {
					display: none;
				}
			.order-sheet .fieldcell dd fieldset label .button-swatch .content {
				font-size: 16px;
				line-height: 1.5;
				text-align: center;
				margin-left: auto;
				margin-right: auto;
				padding: 10px 20px;
			}
				@media screen and (min-width: 768px) {
					.order-sheet .fieldcell dd fieldset label .button-swatch .content,
					.order-sheet #g3 .fieldcell dd fieldset label .button-swatch .content,
					.order-sheet #g5 .fieldcell dd fieldset label .button-swatch .content {
						font-size: 18px;
					}
				}
				.order-sheet .fieldcell dd fieldset label .button-swatch .content .small {
					display: block;
					font-size: 0.9em;
					margin-top: 0.4em;
				}
			.order-sheet .fieldcell dd fieldset label a[data-selected="true"] .button-swatch::after {
				content: '';
				display: block;
				position: absolute;
				left: calc(0px - var(--border-width));
				top: calc(0px - var(--border-width));
				width: calc(100% + var(--border-width)*2);
				height: calc(100% + var(--border-width)*2);
				border: var(--border-width-checked) solid var(--border-color-checked);
			}
		.order-sheet .fieldcell dd fieldset.grid {
			display: flex;
			flex-direction: column;
			gap: 15px;
		}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset.grid {
					display: grid;
					grid-template-columns: repeat(3, 1fr);
					grid-template-rows: repeat(2, 1fr);
					grid-column-gap: 20px;
					grid-row-gap: 20px;
				}
			}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset.grid .image {
					grid-area: 1 / 1 / 4 / 2;
					display: inline-flex;
					height: 100%;
				}
			}
			.order-sheet .fieldcell dd fieldset.grid .image img {
				object-fit: cover;
				/*aspect-ratio: var(--image-aspect-ratio);*/
			}
			.order-sheet .fieldcell dd fieldset.grid label {
				width: 100%;
			}
				@media screen and (min-width: 768px) {
					.order-sheet .fieldcell dd fieldset.grid label {
						width: auto;
						height: 100%;
					}
				}
				.order-sheet .fieldcell dd fieldset.grid label .button-swatch {
					width: 100%;
					height: 80px;
				}
					@media screen and (min-width: 768px) {
						.order-sheet .fieldcell dd fieldset.grid label .button-swatch {
							width: auto;
							height: 100%;
						}
					}
				@media screen and (min-width: 768px) {
					.order-sheet .fieldcell dd fieldset.grid label:nth-of-type(1) {
						grid-area: 1 / 2 / 2 / 3;
					}
					.order-sheet .fieldcell dd fieldset.grid label:nth-of-type(2) {
						grid-area: 1 / 3 / 2 / 4;
					}
					.order-sheet .fieldcell dd fieldset.grid label:nth-of-type(3) {
						grid-area: 2 / 2 / 3 / 3;
					}
					.order-sheet .fieldcell dd fieldset.grid label:nth-of-type(4) {
						grid-area: 2 / 3 / 3 / 4;
					}
					.order-sheet .fieldcell dd fieldset.grid label:nth-of-type(5) {
						grid-area: 3 / 2 / 4 / 4;
					}
				}
		.order-sheet .fieldcell dd fieldset.large label .button-swatch {
			height: 80px;
		}
			@media screen and (min-width: 768px) {
				.order-sheet .fieldcell dd fieldset.large label .button-swatch {
					height: 120px;
				}
			}
			.order-sheet .fieldcell dd fieldset.large label .button-swatch .content {
				font-size: 16px;
			}
				@media screen and (min-width: 768px) {
					.order-sheet .fieldcell dd fieldset.large label .button-swatch .content {
						font-size: 20px;
					}
				}

.form-area {
	padding-top: 10vw;
	padding-bottom: 14vw;
}
	@media screen and (min-width: 768px) {
		.form-area {
			padding-top: 60px;
			padding-bottom: 60px;
		}
	}
	.form-area .entry-field {
		display: flex;
		flex-direction: column;
		gap: 12vw;
	}
		@media screen and (min-width: 768px) {
			.form-area .entry-field {
				gap: 60px;
			}
		}
		.form-area .entry-field .form_note {
			font-size: 13px;
			text-align: end;
			margin-top: 0.8em;
		}
			@media screen and (min-width: 768px) {
				.form-area .entry-field .form_note {
					font-size: 14px;
				}
			}
		.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_shipping-name,
		.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_customer-name {
			width: 100%;
		}
			@media screen and (min-width: 768px) {
				.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_shipping-name,
				.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_customer-name {
					width: 30em;
				}
			}
		.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_shipping-address1 {
			width: 100%;
		}
		.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_shipping-zipcode {
			width: 100%;
		}
			@media screen and (min-width: 768px) {
				.form-area .entry-field .fieldcell dd fieldset input[type="text"]#fieldaccess_shipping-zipcode {
					width: 10em;
				}
			}
		.form-area .entry-field .fieldcell dd fieldset input[type="text"]::placeholder {
			color: var(--text-color-placeholder);
			font-size: 1.0em;
		}
		.form-area .entry-field .shipping-address-fill {
			display: none;
			background-color: var(--background-color-primary);
			flex-direction: column;
			gap: 30px;
			padding: 8vw 6vw;
			margin-top: -20px; /**/
		}
		.form-area .entry-field .shipping-address-fill[data-enabled="true"] {
			display: flex;
		}
			@media screen and (min-width: 768px) {
				.form-area .entry-field .shipping-address-fill {
					padding: 40px 30px;
					margin-top: -30px; /**/
				}
			}
			.form-area .entry-field .shipping-address-fill .heading {
				text-align: center;
				margin-bottom: 0;
			}
	.form-area .note {
		margin-top: 50px;
	}
		.form-area .note p {
			font-size: 16px;
			text-align: center;
			vertical-align: baseline;
		}
			@media screen and (min-width: 768px) {
				.form-area .note p {
					font-size: 20px;
				}
			}
		.form-area .note .estimated-time {
			display: block;
			background-color: var(--background-color-accent);
			padding: 8vw 6vw;
		}
		.form-area .note .estimated-time.is-hidden {
			display: none;
		}
			@media screen and (min-width: 768px) {
				.form-area .note .estimated-time {
					padding: 35px 20px;
				}
			}
			.form-area .note .estimated-time .estimated-time-value {
				font-size: 1.4em;
				font-weight: 300;
			}
		.form-area .note .favor {
			margin-top: 40px;
		}

.confirmation .confirmation__button {
	text-align: right;
	margin-right: 6.4vw;
}
	@media screen and (min-width: 768px) {
		.confirmation .confirmation__button {
			padding-right: 30px;
			max-width: 960px;
			margin-left: auto;
			margin-right: auto;
		}
	}
.confirmation .confirmation__content {
	display: none;
	background-color: var(--background-color-primary);
	text-align: left;
	padding-top: 12vw;
	padding-bottom: 12vw;
}
.confirmation .confirmation__content[data-enabled="true"] {
	display: block;
}
	@media screen and (min-width: 768px) {
		.confirmation .confirmation__content {
			padding-top: 80px;
			padding-bottom: 80px;
		}
	}
	.confirmation .confirmation__content .container {
		display: flex;
		flex-direction: column;
		gap: 12vw;
	}
		@media screen and (min-width: 768px) {
			.confirmation .confirmation__content .container {
				gap: 60px;
			}
		}
	.confirmation .confirmation__content .order-summary .heading {
		margin-bottom: 30px;
	}
	.confirmation .confirmation__content .order-summary dl {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		border-top: var(--border-width) solid var(--border-color);
	}
		.confirmation .confirmation__content .order-summary dl > div {
			display: flex;
			flex-wrap: wrap;
			border-bottom: var(--border-width) solid var(--border-color);
		}
			.confirmation .confirmation__content .order-summary dl > div dt, .confirmation .confirmation__content .order-summary dl > div dd {
				display: flex;
				align-items: stretch;
				line-height: 1.5;
				padding: 1.0em 0.5em;
			}
				@media screen and (min-width: 768px) {
					.confirmation .confirmation__content .order-summary dl > div dt, .confirmation .confirmation__content .order-summary dl > div dd {
						padding: 1.5em 1.5em;
					}
				}
			.confirmation .confirmation__content .order-summary dl > div dt {
				width: 150px;
			}
				@media screen and (min-width: 768px) {
					.confirmation .confirmation__content .order-summary dl > div dt {
						width: 180px;
					}
				}
			.confirmation .confirmation__content .order-summary dl > div dd {
				width: calc(100% - 150px);
				word-break: break-all;
			}
				@media screen and (min-width: 768px) {
					.confirmation .confirmation__content .order-summary dl > div dd {
						width: calc(100% - 180px);
					}
				}
				.confirmation .confirmation__content .order-summary dl > div dd ul {
					margin-left: 0.25em;
					margin-right: 0;
					list-style-type: square;
				}
					.confirmation .confirmation__content .order-summary dl > div dd ul li {
						line-height: 1.5;
						padding: .1em 0 .1em .2em;
						margin-bottom: 0.25em;
					}
						.confirmation .confirmation__content .order-summary dl > div dd ul li::marker {
							color: var(--marker-color);
							font-size: 0.85em;
						}
	.confirmation .confirmation__content .form-item-unit .fieldcell dd fieldset label .button-swatch {
		background-color: #fff;
	}
	.confirmation .confirmation__content .total {
		background-color: #fff;
		padding: 8vw 6vw;
	}
		@media screen and (min-width: 768px) {
			.confirmation .confirmation__content .total {
				padding: 35px 30px;
			}
		}
		.confirmation .confirmation__content .total dl {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
		}
			.confirmation .confirmation__content .total dl dt {
				width: 5em;
				font-size: 18px;
			}
				@media screen and (min-width: 768px) {
					.confirmation .confirmation__content .total dl dt {
						font-size: 20px;
					}
				}
			.confirmation .confirmation__content .total dl dd {
				width: calc(100% - 5em);
				font-size: 20px;
				text-align: right;
			}
				@media screen and (min-width: 768px) {
					.confirmation .confirmation__content .total dl dd {
						font-size: 22px;
					}
				}
	.confirmation .confirmation__content .submit-button .controls ul {
		display: flex;
		justify-content: center;
		width: 100%;
	}
		.confirmation .confirmation__content .submit-button .controls ul li .bt.activation.step {
			background-color: var(--primary-color);
			font-size: 18px;
			min-width: 240px;
			padding: 1.5em 2.0em;
			border: none;
			border-radius: 0;
		}

/**/
#shippingfee {
	display: none;
}
#shippingfee[data-enabled="true"] {
	display: block;
}
.formatPrice[data-isprice="true"]::before {
	content: "\0a5";
	margin-right: 0.02em;
}
.content-text-price {
	line-height: 1.5;
}

/**/
body .order-summary *,
#shippingfee .heading.h3,
.total dt {
	font-weight: 300;
}


/**/
.shipping-address-fill .heading.h3:not(:first-of-type) {
	margin-top: 1.5em;
}
.order-summary .heading.h2:not(:first-of-type) {
	margin-top: 3em;
}
.order-sheet .fieldcell dd fieldset.radio-gr {
	gap: 10px;
	margin: 0.5em 0;
}
	.order-sheet .fieldcell dd fieldset.radio-gr .radio-item {
		width: 100%;
	}
		.order-sheet .fieldcell dd fieldset.radio-gr label {
			margin-left: 0.3em;
			line-height: 1.3;
		}
		@media screen and (min-width: 768px) {
			.order-sheet .fieldcell dd fieldset.radio-gr label {
				font-size: 18px;
				margin-left: 0.5em;
			}
		}
.custom-forms input[type="radio"]::before {
	background-color: #fff;
}
	.custom-forms input[type="radio"]:checked::before {
		background-color: #3c4245;
		border-width: 0.28em;
	}
.custom-arrow {
	position: relative;
}
	.custom-arrow::after {
		position: absolute;
		content: '▼';
		font-size: 12px;
		color: var(--primary-color);
		right: 14px;
		top: 50%;
		transform: translateY(-50%);
		pointer-events: none;
	}
.order-sheet .fieldcell #fieldaccess_shipping-arrivalDay {
	text-indent: -1px;
	line-height: 1;
}
.order-sheet .fieldcell #fieldaccess_shipping-arrivalTime {
	line-height: 1.25;
}
.order-sheet .fieldcell #fieldaccess_shipping-arrivalTime,
.order-sheet .fieldcell #fieldaccess_shipping-arrivalDay {
	width: 10em;
	padding-right: calc(12px + 14px + 2px);
	justify-content: flex-start;
	min-height: 47px;
}
@media screen and (min-width: 768px) {
	.custom-arrow::after {
		font-size: 16px;
	}
}
.order-sheet .fieldcell #fieldaccess_shipping-arrivalTime,
.order-sheet .fieldcell #fieldaccess_shipping-arrivalDay {
	padding-right: calc(16px + 14px + 2px);
}

/**/
.order-sheet .fieldcell input[type="text"].custom-fill-input {
	border: none;
	background: none;
	padding-left: 0;
	padding-right: 0;
}
.form-area .entry-field .shipping-address-fill .form_note {
    margin-top: 0;
    text-align: left;
}