@charset "utf-8";

/* ==========================================
01
========================================== */

.price01-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 8rem auto 0;
}

.price01-img-box {
    max-width: 68rem;
    width: 47.89%;
}

.price01-text-block {
    max-width: 64rem;
    width: 45.07%;
}

.price01-title-box {
    text-align: center;
}

.price01-text-box .strength {
    text-decoration: underline;
    font-size: 2.1rem;
}

/* ==========================================
Banner
========================================== */

.banner01-row {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}

.banner-item {
    max-width: 45rem;
	width: 32%;
    border-radius: 1rem;
	overflow: hidden;
	margin: 4rem 2.5rem 0 0;
}

.banner-item:nth-child(3) {
	margin: 4rem 0 0;
}

.banner-item:last-child {
	margin: 4rem 0 0;
}

.banner-item.ladies {
	border: 1px solid #C66977;
}

.banner-item.mens {
	border: 1px solid #3E7B91;
}

.banner-title {
    font-family: var(--font-family01);
    font-size: 2.2rem;
    font-weight: 600;
    padding: .6rem 1rem .8rem;
    text-align: center;
}

.banner-title span {
    font-family: var(--base-font-family);
    color: var(--base-font-color);
    font-size: 1.8rem;
    font-weight: 400;
    margin: 0 0 0 1rem;
}

.banner-main-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 0 1.5rem 1.5rem;
}

.banner-item-row {
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-bach {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9rem;
    height: 9rem;
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    line-height: 1.2;
    border-radius: 50%;
}

.banner-item-row {
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-price {
    font-size: 8.5rem;
    font-weight: 600;
    letter-spacing: 0;
    margin: 0 0 0 1.5rem;
}

.banner-price span {
    font-size: 3.5rem;
    margin: 0 0 0 .5rem;
}

.banner-nomal-price {
	display: inline-block;
	font-size: 1.8rem;
	font-weight: 400;
	text-align: center;
	padding: .4rem 1.5rem .5rem;
	background: var(--gray02);
}

/* ==========================================
02
========================================== */

.price02-text {
	margin: 6rem auto 0;
	text-align: center;
}

.price-block {
	margin: 10rem auto 0;
}

.price-block:first-child {
	margin: 0;
}

.price-block-title {
	flex: 1;
	font-size: 3.5rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin: 0 1.5rem 0 0;
}

.price-block-price {
	width: 20rem;
	font-size: 3rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-align: right;
}

.price-block-price span {
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin: 0 1.5rem 0 0;
}

.price-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
	font-family: var(--font-family01);
	padding: 0 0 1.5rem 0;
	border-bottom: 1px solid var(--gray01);
}

.price-item-title {
	font-size: 2rem;
	letter-spacing: 0.05em;
	margin: 1rem auto 0;
}

.price-grid {
	margin: 6rem auto 0;
}

.price-grid.grid-4 {
	gap: 6rem 3rem;
}

.set-price-box {
	margin: 3rem 0 0;
	max-width: 65rem;
	width: 100%;
}

.set-price-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
	position: relative;
	padding: 0 0 0 2rem;
	font-size: 2rem;
	letter-spacing: 0.05em;
}

.set-price-row::before {
    content: "";
    position: absolute;
    top: 50%;
    left: .3rem;
    width: .3rem;
    height: .3rem;
    background: var(--base-font-color);
    border-radius: 50%;
    z-index: 1;
}

.price-grid.grid-2 .set-price-row {
	margin: 2rem;
    flex-direction: column;
    justify-content: center;
    padding: 0;
}

.price-grid.grid-2 .set-price-row::before {
	content: none;
}

/* .price-grid.grid-2 .set-price-row p:first-child {
	margin: 0 1.5rem 0 0;
} */

.set-menu-title {
    width: 25rem;
}



/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1550px) {


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 1024px) {

	/* ==========================================
	Banner
	========================================== */

	.banner-item {
		width: 31%;
	}

	.banner-title {
		font-size: 2rem;
	}

	.banner-title span {
		font-size: 1.6rem;
	}

	.banner-price {
		font-size: 4.5rem;
	}

	.banner-bach {
		width: 6rem;
		height: 6rem;
		font-size: 1.5rem;
	}

	.banner-nomal-price {
		font-size: 1.6rem;
	}

}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 768px) {


	.incover figure > img {
		object-position: 75% 50%;
	}


	/* ==========================================
	01
	========================================== */

	.price01-content {
		display: flex;
		flex-direction: column;
	}

	.price01-row {
		flex-direction: column-reverse;
		margin: 3rem auto 0;
	}

	.price01-img-box, .price01-text-block {
		width: 100%;
	}

	.price01-img-box {
		margin: 3rem auto 0;
		/* order: 0; */
		width: 100%;
	}

	/* .price01-title-box {
		order: 1;
	} */

	/* .price01-text-block {
		order: 2;
		margin: 3rem auto 0;
	} */

	/* ==========================================
	Banner
	========================================== */

	.banner-item {
		width: 100%;
		margin: 4rem 0 0;
	}

	/* ==========================================
	02
	========================================== */

	.price02-text {
		text-align: left;
	}

	.price-grid.grid-2 {
		gap: 4rem 2rem;
	}

	.price-grid.grid-2 .set-price-row {
		margin: 2rem 0 0;
	}

	.set-price-row {
		font-size: 1.8rem;
		padding: 0 0 0 1.2rem;
	}

	.set-price-row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
	}

	.set-price-row::before {
		top: 24%;
	}

	.price-item-title {
		font-size: 1.8rem;
	}


}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */


/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (width <= 576px) {


	.incover figure > img {
		object-position: 70% 50%;
	}


	/* ==========================================
	01
	========================================== */

	.price01-title-box .jp-title01 {
        font-size: 2rem;
	}

	.price01-text-box p br {
		display: none;
	}

	.price01-text-box .strength {
		font-size: 1.6rem;
	}

	/* ==========================================
	02
	========================================== */

	.price-block-title {
		font-size: 2.5rem;
	}

	.price-block-price {
		font-size: 2.2rem;
	}

	.price-grid.grid-4 {
		gap: 4rem 1.5rem;
	}

	.price-grid.grid-2 {
		grid-template-columns: repeat(1, 1fr);
	}

	/* ==========================================
	03
	========================================== */



	/* ==========================================
	04
	========================================== */



	/* ==========================================
	05
	========================================== */


	/* ==========================================
	06
	========================================== */



}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */
