
/* ショッピング */
.shopping__contents {
	margin-bottom: 1rem;
}
.shopping__contents--title {
	font-size: 0;
	margin: 0;
}
.shopping__contents--title-img {
	width: 100%;
	height: auto;
}
.shopping__contents--block {
	padding: 1rem;
}
.shopping__btn-list {
	margin: 0 auto 1rem;
	width: 80%;
	max-width: 30rem;
}
.shopping__btn-list-mypage-btn {
	background-color: #5fc3d8;
	color: #ffffff;
	margin: 0 0.2rem 0 -0.2rem;
}
.shopping__btn-list-cart-btn {
	background-color: #5fc3d8;
	color: #ffffff;
    margin: 0 -0.2rem 0 0.2rem;
}
.shopping__btn-list-guide-btn {
	background-color: #5fc3d8;
	color: #ffffff;
	margin: 1rem 0 0;
}
@media screen and (max-width: 576px) {
	.shopping__btn-list-mypage-btn, .shopping__btn-list-cart-btn {
		margin: 0 0 1rem;
	}
	.shopping__btn-list-guide-btn {
		margin: 0;
	}
}
.shopping__btn-list-reset-btn {
	appearance: none;
	background-color: transparent;
	border: none;
	color: #ffffff;
	cursor: pointer;
	outline: none;
	padding: 0;
}
.shopping__input--title {
	background-color: #af9572;
	color: #ffffff;
	font-size: 1.2rem;
	margin: 0;
	padding: 0.4rem 0;
	text-align: center;
	user-select: none;
}
.shopping__company--title {
	background-color: #eeeeee;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 0;
	padding: 0.4rem 0;
	text-align: center;
}
.shopping__grid_margin-top{
	margin-top: 1rem;
}
.slide {
	margin-bottom: 4rem;
}
.shopping__list--media-icon {
	width: 100%;
	heigth: auto;
	max-height: 120px;
	max-width: 120px;
}
.shopping__list--num-unit {
	vertical-align: middle;
}
.shopping__list--num-input {
	display: inline-block;
	padding-right: 0.4rem;
	vertical-align: middle;
	width: 3.0rem;
	text-align: right;
}
.pouch_image {
	width: 100%;
	max-width: 40rem;
}
.pouch_image_half {
	width: 50%;
	max-width: 20rem;
}
.pouch_image_string {
	width: 100%;
	max-width: 40rem;
	text-align: left;
	margin: 0 auto;
}
.pouch_omake{
	margin:2em 0;
	position: relative;
	padding: 0.5em 1.5em;
	border-top: solid 2px #5fc3d8;
	border-bottom: solid 2px #5fc3d8;
}
.pouch_omake:before, .pouch_omake:after{
	content: '';
	position: absolute;
	top: -10px;
	width: 2px;
	height: -webkit-calc(100% + 20px);
	height: calc(100% + 20px);
	background-color: #5fc3d8;
}
.pouch_omake:before {left: 10px;}
.pouch_omake:after {right: 10px;}
.pouch_omake p {
	margin: 0;
	padding: 0;
}


.shopping__contents--block-ol, .shopping__contents--block-li,
.shopping__contents--line-ol, .shopping__contents--line-li,
.shopping__contents--brackets-ol, .shopping__contents--brackets-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping__contents--block-ol, .shopping__contents--line-ol, .shopping__contents--brackets-ol {
	counter-reset: number 0;
}
.shopping__contents--block-li {
	position: relative;
	padding-left: 1.2rem;
}
.shopping__contents--line-li {
	position: relative;
	padding-left: 2.4rem;
}
.shopping__contents--brackets-li {
	position: relative;
	padding-left: 2.4rem;
}
.shopping__contents--block-li::before,
.shopping__contents--line-li::before,
.shopping__contents--brackets-li::before {
	counter-increment: number 1;
	content: counter(number)'.';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.2;
	text-align: center;
}
.shopping__contents--block-li::before {
	content: counter(number)'.';
	width: 1.0rem;
}
.shopping__contents--line-li::before {
	content: '2-'counter(number)'.';
	width: 2.4rem;
}
.shopping__contents--brackets-li::before {
	content: '（'counter(number)'）';
	line-height: 1.4;
	width: 2.4rem;
}
.shopping__contents--block-h,
.shopping__contents--line-h {
	font-size: 1.0rem;
	margin: 0;
}
.shopping__contents--caution {
	padding: 0 1rem 1rem;
}
.shopping__contents--img-privacymark {
	width: 100%;
	height: auto;
}

/* ========== shopping/guid/10 ========== */
.shopping-guid10-container {
	margin: 1rem;

	& ul {
		list-style: none;
		margin: 0;
		padding: 0;
		> li {
			position: relative;
			list-style: none;
			margin: 0 0 1rem;
			padding-inline-start: 1.2rem;

			&:before {
				content: '・';
				font-weight: bold;
				position: absolute;
				top: 0.2rem;
				left: 0;
				line-height: 1;
				width: 1.2rem;
			}
		}
	}

	& ol {
		counter-reset: number 0;
		list-style: none;
		margin: 0;
		padding: 0;

		> li {
			position: relative;
			padding-left: 2.0rem;
			margin-block-end: 1rem;

			&:before {
				counter-increment: number 1;
				content: counter(number) '.';
				position: absolute;
				top: 0.2rem;
				left: 0;
				line-height: 1;
				font-size: 1.0rem;
				text-align: right;
				width: 1.6rem;
			}
		}
	}

	& .note {
		text-indent: hanging 1rem;
	}
	& .ast-mark {
		font-size: 1.25rem;
		vertical-align: 0;
		margin-inline-end: 0.2rem;
	}
}

/* プライバシーポリシー フッターリスト */
.shopping__footer-list {
	margin-bottom: 2rem;
}
.shopping__footer-list--ul, .shopping__footer-list--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping__footer-list--li {
	align-items: center;
	display: flex;
	position: relative;
	border-bottom: 1px solid #9c9c9c;
	padding: 0.4rem 1.6rem 0.4rem 0.4rem;
}
.shopping__footer-list--li:first-child {
	border-top: 1px solid #9c9c9c;
}
.shopping__footer-list--li::after {
	border: 0.06rem solid;
	border-color: #565656 #565656 transparent transparent;
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 50%;
	right: 0.6rem;
	transform: translate(0, -50%) rotate(45deg);
}
.shopping__footer-list--a {
	display: inline-block;
	width: 100%;
	height: auto;
	padding: 0.4rem 0;
	text-decoration: none;
}

.shopping__guide11--bar{
	border-top: 1px solid #9c9c9c;
}

.shopping__guide11--device{
	list-style: none;
}


/* ==============================================================*/
/* 卓上カレンダー2019 */
.shopping-calendar__headline {
	margin-bottom: 1rem;
}
.shopping-calendar__headline--title {
	font-size: 0;
	margin: 0;
}
.shopping-calendar__headline--title-img {
	width: 100%;
	height: auto;
}
.shopping-calendar__headline--block {
	margin-bottom: 1rem;
}
.shopping-calendar__headline--block-img-frame {
	margin: 0 0 1rem;
}
.shopping-calendar__headline--block-img {
	width: 100%;
	height: auto;
}
.shopping-calendar__headline--block-explain {
	margin: 0 1rem;
}


/* 卓上カレンダー2019 予約 */
.shopping-calendar__reserve {
	margin: 0 0 1rem;
}
.shopping-calendar__reserve--report {
	color: #f66076;
	font-weight: bold;
	margin: 0 auto;
	width: 90%
}
.shopping-calendar__reserve--date {
	background: -webkit-repeating-linear-gradient(-45deg, #fcf9d6, #fcf9d6 3px, #fcf7c1 3px, #fcf7c1 7px);
    background: repeating-linear-gradient(-45deg, #fcf9d6, #fcf9d6 3px, #fcf7c1 3px, #fcf7c1 7px);
    border: 2px solid #af9572;
	margin: 0 auto 1rem;
	padding: 1rem;
	text-align: center;
	width: 90%;
	max-width: 30rem;
}
.shopping-calendar__reserve--date-term {
	display: block;
	font-weight: bold;
}
.shopping-calendar__reserve--pic-img-frame {
	margin: 0 auto;
	width: 100%;
	max-width: 40rem;
}
.shopping-calendar__reserve--pic-img {
	width: 100%;
	height: auto;
}
.shopping-calendar__reserve--price-img-frame {
	margin: 0 auto 1rem;
	width: 100%;
	max-width: 16rem;
}
.shopping-calendar__reserve--price-img {
	width: 100%;
	height: auto;
}
.shopping-calendar__reserve--button-frame {
	margin: 0 0 1rem;
	text-align: center;
}
.shopping-calendar__reserve--button {
	background-color: #5fc3d8;
	color: #ffffff;
	margin: 0 1rem;
	padding: .375rem 1.75rem .375rem 1.25rem;
	position: relative;
	white-space: normal;
}
.shopping-calendar__reserve--button::before {
	border: 0.06rem solid;
	border-color: #ffffff #ffffff transparent transparent;
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 40%;
	right: 0.4rem;
	transform: translate(0, -50%) rotate(135deg);
}

.shopping-calendar__reserve--button-login{
	background-color: #f66076;
	color: #ffffff;
    display: block;
	margin: 0 auto;
	position: relative;
	width: 90%;
	max-width: 20rem;
}

.shopping-calendar__reserve--button-login::before{
	border: 0.06rem solid;
	border-color: #ffffff #ffffff transparent transparent;
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translate(0, -50%) rotate(45deg);
}

.shopping-calendar__reserve--button-login-a{
	color: #ffffff;
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
}

.shopping-calendar__reserve--button-login-a::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 卓上カレンダー2019年 詳細 */
.shopping-calendar__detail--ul, .shopping-calendar__detail--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-calendar__detail--li {
	margin-bottom: 1rem;
}
.shopping-calendar__detail--img-frame {
	margin: 0 auto;
	width: 100%;
	max-width: 40rem;
}
.shopping-calendar__detail--img {
	width: 100%;
	height: auto;
}
.shopping-calendar__detail--explain {
	font-weight: bold;
	margin: 0 auto;
	padding: 1rem;
	width: 100%;
	max-width: 40rem;
}


/* 卓上カレンダー2019年 情報 */
.shopping-calendar__info {
	background-color: #eeeeee;
	padding: 1rem;
}
.shopping-calendar__info--ul, .shopping-calendar__info--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-calendar__info--li {
	padding-left: 1.2rem;
	position: relative;
}
.shopping-calendar__info--li::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
}
.shopping-calendar__info--li-title {
	font-weight: bold;
	margin: 0;
}
.shopping-calendar__info--li-attention {
	color: #f66076;
	font-weight: bold;
}
.shopping-calendar__info--li-caution {
	color: #f66076;
}
.shopping-calendar__info--li-caution::before {
	content: '※';
}


/* ポップアップ */
.shopping-calendar__popup--destinystar {
	background: -webkit-repeating-linear-gradient(-45deg, #f5efe7, #f5efe7 3px,#f6f4f2 3px, #f6f4f2 7px);
	background: repeating-linear-gradient(-45deg, #f5efe7, #f5efe7 3px,#f6f4f2 3px, #f6f4f2 7px);
	border: 1px solid #af9572;
	margin-bottom: 1rem;
	padding: 1rem 0;
	text-align: center;
}
.shopping-calendar__popup--destinystar-title {
	font-weight: bold;
	text-align: center;
}
.shopping-calendar__popup--button-frame {
	margin: 0;
	text-align: center;
}
.shopping-calendar__popup--button {
	background-color: #f66076;
	color: #ffffff;
	margin: 0 1rem;
	padding: .375rem 1.25rem;
	position: relative;
	white-space: nowrap;
}


/* ==============================================================*/
/* 細木数子オリジナル本 お金・仕事 */
.shopping-money__headline {
	margin-bottom: 1rem;
}
.shopping-money__headline--title {
	font-size: 0;
	margin: 0;
}
.shopping-money__headline--title-img {
	width: 100%;
	height: auto;
}


/* 細木数子オリジナル本【お金・仕事】 */
.shopping-money__order {
	margin-bottom: 1rem;
}
.shopping-money__order--banner-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-money__order--banner-image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-money__order--caution {
	padding: 0 1rem;
	margin: 0 0 1rem;
}
.shopping-money__order--caution-ul, .shopping-money__order--caution-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__order--ul, .shopping-money__order--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__order--li {
	border-top: 1px solid #cccccc;
	padding: 1rem;
}
.shopping-money__order--li:last-child {
	border-bottom: 1px solid #cccccc;
}
.shopping-money__order--title {
	font-weight: bold;
	margin: 0;
}
.shopping-money__order--image-icon {
	width: 100%;
	heigth: auto;
	max-height: 120px;
	max-width: 120px;
}
.shopping-money__order--detail {
	margin-left: 1rem;
}


/* 細木数子オリジナル本【お金・仕事】説明 */
.shopping-money__contents {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-money__contents--title {
	color: #ff6600;
	font-weight: bold;
	text-align: center;
}
.shopping-money__contents--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-money__contents--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-money__contents--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-money__contents--btn-block {
	margin: 0;
	text-align: center;
}


/* 細木数子オリジナル本【お金・仕事】目次 */
.shopping-money__list {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-money__list--title {
	text-align: center;
	font-size: 1.8rem;
}
.shopping-money__list--item1-ol, .shopping-money__list--item1-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__list--item1-ol {
	counter-reset: number 0;
}
.shopping-money__list--item1-li {
	position: relative;
	padding-left: 2.0rem;
	margin-bottom: 1rem;
}
.shopping-money__list--item1-li::before {
	counter-increment: number 1;
	content: counter(number)'章';
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.2;
}
.shopping-money__list--item1-title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0;
}
.shopping-money__list--item1-subtitle {
	margin: 0;
}
.shopping-money__list--item1-subtitle::before {
	content: '─';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-money__list--item2-ol, .shopping-money__list--item2-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__list--item2-ol {
	counter-reset: number 0;
}
.shopping-money__list--item2-li {
	position: relative;
	padding-left: 2.4rem;
}
.shopping-money__list--item2-li::before {
	counter-increment: number 1;
	content: counter(number)'節';
	font-size: 1.0rem;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.5;
}
.shopping-money__list--appendix-p {
	margin: 0;
}
.shopping-money__list--appendix-ul, .shopping-money__list--appendix-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__list--appendix-li {
	margin-left: 1.6rem;
	padding: 0;
}
.shopping-money__list--btn-block {
	margin: 0;
	text-align: center;
}


/* 細木数子オリジナル本【お金・仕事】詳細 */
.shopping-money__detail {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-money__detail--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-money__detail--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-money__detail--figcaption {
	text-align: left;
}
.shopping-money__detail--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-money__detail--figcaption-kome {
	text-align: left;
}
.shopping-money__detail--figcaption-kome::before {
	content: '※';
	display: inline-block;
	margin-right: 0.2rem;
}


/* 占命盤クリップ */
.shopping-money__clip {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-money__clip--title {
	border-top: 1px solid #2500ad;
	border-bottom: 1px solid #2500ad;
	color: #2500ad;
	font-size: 1.0rem;
	font-weight: bold;
	padding: 0.8rem 0;
	text-align: center;
}
.shopping-money__clip--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-money__clip--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-money__clip--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}


/* 細木数子オリジナル本【お金・仕事】仕様  */
.shopping-money__method {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-money__method {
	margin-bottom: 1rem;
}
.shopping-money__method--ul, .shopping-money__method--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__method--li {
	border-top: 1px solid #cccccc;
	padding: 1rem;
}
.shopping-money__method--li:last-child {
	border-bottom: 1px solid #cccccc;
}
.shopping-money__method--title {
	font-weight: bold;
	margin: 0;
}
.shopping-money__method--image-icon {
	width: 100%;
	heigth: auto;
	max-height: 120px;
	max-width: 120px;
}
.shopping-money__method--detail {
	margin-left: 1rem;
}
.shopping-money__method--item1-ul, .shopping-money__method--item1-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__method--item1-li {
	position: relative;
	padding-left: 1.8rem;
	margin-bottom: 1rem;
}
.shopping-money__method--item1-li::before {
	content: '■';
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-money__method--item1-title {
	color: #fd5300;
	font-weight: bold;
	margin: 0;
}
.shopping-money__method--item2-ul, .shopping-money__method--item2-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__method--item2-li {
	margin-bottom: 1rem;
}
.shopping-money__method--item2-title {
	font-weight: bold;
	margin: 0;
}
.shopping-money__method--item3-ul, .shopping-money__method--item3-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-money__method--item3-li {
	position: relative;
	padding-left: 1.8rem;
	margin-bottom: 1rem;
}
.shopping-money__method--item3-li::before {
	content: '◎';
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-money__method--comment::before {
	content: '※';
	display: inline-block;
	margin-right: 0.2rem;
}


/* ==============================================================*/
/* 細木数子オリジナル本 結婚 */
.shopping-wedding__headline {
	margin-bottom: 1rem;
}
.shopping-wedding__headline--title {
	font-size: 0;
	margin: 0;
}
.shopping-wedding__headline--title-img {
	width: 100%;
	height: auto;
}


/* 細木数子オリジナル本【結婚】 */
.shopping-wedding__order {
	margin-bottom: 1rem;
}
.shopping-wedding__order--banner-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-wedding__order--banner-image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-wedding__order--ul, .shopping-wedding__order--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__order--li {
	border-top: 1px solid #cccccc;
	padding: 1rem;
}
.shopping-wedding__order--li:last-child {
	border-bottom: 1px solid #cccccc;
}
.shopping-wedding__order--title {
	font-weight: bold;
	margin: 0;
}
.shopping-wedding__order--image-icon {
	width: 100%;
	heigth: auto;
	max-height: 120px;
	max-width: 120px;
}
.shopping-wedding__order--detail {
	margin-left: 1rem;
}


/* 細木数子オリジナル本【結婚】説明 */
.shopping-wedding__contents {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-wedding__contents--title {
	color: #ff3399;
	font-weight: bold;
	text-align: center;
}
.shopping-wedding__contents--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-wedding__contents--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-wedding__contents--figcaption {
	text-align: left;
}
.shopping-wedding__contents--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-wedding__contents--btn-block {
	margin: 0;
	text-align: center;
}


/* 細木数子オリジナル本【結婚】目次 */
.shopping-wedding__list {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-wedding__list--title {
	text-align: center;
	font-size: 1.8rem;
}
.shopping-wedding__list--item1-ol, .shopping-wedding__list--item1-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__list--item1-ol {
	counter-reset: number 0;
}
.shopping-wedding__list--item1-li {
	position: relative;
	padding-left: 2.0rem;
	margin-bottom: 1rem;
}
.shopping-wedding__list--item1-li::before {
	counter-increment: number 1;
	content: counter(number)'章';
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.2;
}
.shopping-wedding__list--item1-title {
	font-size: 1rem;
	font-weight: bold;
	margin: 0;
}
.shopping-wedding__list--item1-subtitle {
	margin: 0;
}
.shopping-wedding__list--item1-subtitle::before {
	content: '─';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-wedding__list--item2-ol, .shopping-wedding__list--item2-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__list--item2-ol {
	counter-reset: number 0;
}
.shopping-wedding__list--item2-li {
	position: relative;
	padding-left: 2.4rem;
}
.shopping-wedding__list--item2-li::before {
	counter-increment: number 1;
	content: counter(number)'節';
	font-size: 1.0rem;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.5;
}
.shopping-wedding__list--btn-block {
	margin: 0;
	text-align: center;
}


/* 細木数子オリジナル本【結婚】詳細 */
.shopping-wedding__detail {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-wedding__detail--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-wedding__detail--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-wedding__detail--figcaption {
	text-align: left;
}
.shopping-wedding__detail--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-wedding__detail--caption-kome {
	text-align: left;
	margin: 0;
}
.shopping-wedding__detail--caption-kome::before {
	content: '※';
	display: inline-block;
	margin-right: 0.2rem;
}


/* 細木数子オリジナル本【結婚】詳細 */
.shopping-wedding__detail {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-wedding__detail--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-wedding__detail--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-wedding__detail--figcaption {
	text-align: left;
}
.shopping-wedding__detail--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}
.shopping-wedding__detail--caption-kome {
	text-align: left;
	margin: 0;
}
.shopping-wedding__detail--caption-kome::before {
	content: '※';
	display: inline-block;
	margin-right: 0.2rem;
}


/* 占命盤クリップ */
.shopping-wedding__clip {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-wedding__clip--title {
	border-top: 1px solid #2500ad;
	border-bottom: 1px solid #2500ad;
	color: #2500ad;
	font-size: 1.0rem;
	font-weight: bold;
	padding: 0.8rem 0;
	text-align: center;
}
.shopping-wedding__clip--image-block {
	text-align: center;
	padding: 0 1rem;
}
.shopping-wedding__clip--image {
	width: 100%;
	height: auto;
	max-width: 40rem;
}
.shopping-wedding__clip--figcaption::before {
	content: '▲';
	display: inline-block;
	margin-right: 0.2rem;
}


/* 細木数子オリジナル本【結婚】仕様  */
.shopping-wedding__method {
	padding: 1rem;
	margin-bottom: 1rem;
}
.shopping-wedding__method {
	margin-bottom: 1rem;
}
.shopping-wedding__method--ul, .shopping-wedding__method--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__method--li {
	border-top: 1px solid #cccccc;
	padding: 1rem;
}
.shopping-wedding__method--li:last-child {
	border-bottom: 1px solid #cccccc;
}
.shopping-wedding__method--title {
	font-weight: bold;
	margin: 0;
}
.shopping-wedding__method--image-icon {
	width: 100%;
	heigth: auto;
	max-height: 120px;
	max-width: 120px;
}
.shopping-wedding__method--detail {
	margin-left: 1rem;
}
.shopping-wedding__method--item1-ul, .shopping-wedding__method--item1-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__method--item1-li {
	position: relative;
	padding-left: 1.8rem;
	margin-bottom: 1rem;
}
.shopping-wedding__method--item1-li::before {
	content: '■';
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-wedding__method--item1-title {
	color: #fd5300;
	font-weight: bold;
	margin: 0;
}
.shopping-wedding__method--item2-ul, .shopping-wedding__method--item2-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__method--item2-li {
	margin-bottom: 1rem;
}
.shopping-wedding__method--item2-title {
	font-weight: bold;
	margin: 0;
}
.shopping-wedding__method--item3-ul, .shopping-wedding__method--item3-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-wedding__method--item3-li {
	position: relative;
	padding-left: 1.8rem;
	margin-bottom: 1rem;
}
.shopping-wedding__method--item3-li::before {
	content: '◎';
	font-size: 1.0rem;
	font-weight: bold;
	text-align: right;
	width: 1.6rem;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-wedding__method--comment::before {
	content: '※';
	display: inline-block;
	margin-right: 0.2rem;
}


/* ==============================================================*/
/* 細木数子オリジナルハンカチ */
.shopping-hc__top {
	margin-bottom: 2rem;
}
.shopping-hc__top--text {
	margin: 1rem;
}
.shopping-hc__top--bdpopup {
	margin: 1rem;
	text-align: right;
}
.shopping-hc__top--order-btn {
	background-color: #5fc3d8;
	color: #ffffff;
}


.shopping-hc__info {
	margin-bottom: 2rem;
}
.shopping-hc__info--ul, .shopping-hc__info--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-hc__info--li-title {
	background-color: #f8dccf;
	color: #976036;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.6rem 0;
	margin: 0;
	text-align: center;
}
.shopping-hc__info--li-expansion {
	border: 2px solid #707070;
	border-radius: 0.4rem;
	margin: 0 auto 0;
	text-align: center;
	width: 100%;
	max-width: 16rem;
}
.shopping-hc__info--li-expansion-glass {
	color: #707070;
	font-weight: bold;
}
.shopping-hc__info--li-expansion-glass::before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-image: url(/assets/images/shopping/handkerchief/glass.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin: 0 0.2rem 0.2rem 0;
}
.shopping-hc__info--li-frame {
	padding: 1rem;
}
.shopping-hc__info--li-image-50 {
	width: 50%;
	max-width: 16rem;
}
.shopping-hc__info--li-image-75 {
	width: 75%;
	max-width: 32rem;
}
.shopping-hc__info--li-reserve {
	background-color: #201e50;
	border-radius: 0.4rem;
	color: #ffffff;
	margin: 0 auto 1rem;
	padding: 1rem;
	width: 100%;
	max-width: 32rem;
}
.shopping-hc__info--li-reserve-text-emphasis {
	color: #faf6c2;
	font-weight: bold;
	font-size: 1.4rem;
	margin: 0;
	text-align: center;
}
.shopping-hc__info--li-specification {
	margin-bottom: 1rem;
}
.shopping-hc__info--li-specification-ul, .shopping-hc__info--li-specification-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-hc__info--li-specification-li {
	margin-bottom: 1rem;
}
.shopping-hc__info--li-specification-li > ul, .shopping-hc__info--li-specification-li > ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-hc__info--li-specification-li > ul > li > p {
	margin: 0;
}
.shopping-hc__info--li-specification-header {
	font-weight: bold;
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-hc__info--li-specification-header::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-hc__info--li-caution {
	color: #ff2222;
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-hc__info--li-caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-hc__info--li-specification-circle {
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-hc__info--li-specification-circle::before {
	content: '◎';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-hc__info--li-specification-star {
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-hc__info--li-specification-star::before {
	content: '★';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-hc__info-list {
	margin: 0;
}
.shopping-hc__info-list--ul, .shopping-hc__info-list--li, .shopping-hc__info-list--li-in {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-hc__info-list--li-in {
	border-bottom: 1px solid #a0a0a0;
}
.shopping-hc__info-list--li-in:last-of-type {
	border: none;
}
.shopping-hc__info-list--label-pink {
	color: #ec8bbe;
	font-size: 1.3rem;
	font-weight: bold;
}
.shopping-hc__info-list--label-navy {
	color: #5a5fa9;
	font-size: 1.3rem;
	font-weight: bold;
}
.shopping-hc__info-list--title {
	background-color: #d9def1;
	color: #666666;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.6rem 0;
	margin: 0;
	text-align: center;
}
.shopping-hc__info-list--contents {
	margin-bottom: 1rem;
}
.shopping-hc__info-list--img-block {
	margin: 0 1rem;
}
.shopping-hc__info-list--img-icon {
	width: 100%;
	height: auto;
	min-width: 120px;
	max-width: 120px;
	max-height: 120px;
}
.shopping-hc__info-list--input-num {
	display: inline-block;
	padding-right: 0.4rem;
	margin-right: 0.4rem;
	text-align: right;
	vertical-align: middle;
	width: 3.0rem;
}
.shopping-hc__info-list--num-unit {
	vertical-align: bottom;
}
input[type=checkbox] {
	display: none;
}
.checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	padding: 0 0 0 2.8rem;
	vertical-align: middle;
	cursor: pointer;
}
.checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 46%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 24px;
	height: 24px;
	border: 1px solid #707070;
	border-radius: 4px;
	content: '';
}
.checkbox:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 46%;
	left: 22px;
	display: block;
	margin-top: -7px;
	width: 10px;
	height: 14px;
	border-right: 2px solid #707070;
	border-bottom: 2px solid #707070;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {
	opacity: 1;
}
.shopping-hc__info-list--expansion {
	border: 2px solid #707070;
	border-radius: 0.4rem;
	margin: 0 auto 1rem;
	text-align: center;
	width: 75%;
	max-width: 12rem;
}
.shopping-hc__info-list--expansion-glass {
	color: #707070;
	font-weight: bold;
}
.shopping-hc__info-list--expansion-glass::before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-image: url(/assets/images/shopping/handkerchief/glass.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin: 0 0.2rem 0.2rem 0;
}
.shopping-hc__info-list--order-btn {
	background-color: #5fc3d8;
	color: #ffffff;
}
.shopping-hc__info-list--caution {
	color: #ff2222;
	margin: 0 1rem;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-hc__info-list--caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-hc__modal-s--close {
	opacity: 1 !important;
}
.shopping-hc__modal-s--body {
	padding: 0 1rem 1rem;
}
.shopping-hc__modal-s--input-text {
	border: 2px solid #ffffff;
	border-radius: 0.2rem;
	line-height: 1.5;
	padding: .375rem .75rem;
	width: 100%;
	-webkit-appearance: none;
}
.shopping-hc__modal-s--input-text-btn {
	background-color: #ec8bbe;
	border: 2px solid #ffffff;
	border-radius: 0.2rem;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	width: 100%;
	min-width: 4rem;
}
.shopping-hc__modal-s--seijin-text {
	color: #ffffff;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 1rem 0 0;
	text-align: center;
}


/* ==============================================================*/
/* 細木数子オリジナル財布 */
.shopping-p__top {
	margin-bottom: 2rem;
}
.shopping-p__top--text {
	margin: 1rem;
}
.shopping-p__top--bdpopup {
	margin: 1rem;
	text-align: right;
}
.shopping-p__top--order-btn {
	background-color: #843c0c;
	color: #ffffff;
}


.shopping-p__info {
	margin-bottom: 2rem;
}
.shopping-p__info--ul, .shopping-p__info--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-p__info--li-title {
	background-color: #ffe699;
	color: #595959;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.6rem 0;
	margin: 0;
	text-align: center;
}
.shopping-p__info--li-expansion {
	border: 2px solid #707070;
	border-radius: 0.4rem;
	margin: 0 auto 0;
	text-align: center;
	width: 100%;
	max-width: 16rem;
}
.shopping-p__info--li-expansion-glass {
	color: #707070;
	font-weight: bold;
}
.shopping-p__info--li-expansion-glass::before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-image: url(/assets/images/shopping/handkerchief/glass.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin: 0 0.2rem 0.2rem 0;
}
.shopping-p__info--li-frame {
	padding: 1rem;
}
.shopping-p__info--li-image-50 {
	width: 50%;
	max-width: 16rem;
}
.shopping-p__info--li-image-75 {
	width: 75%;
	max-width: 32rem;
}
.shopping-p__info--li-reserve {
	background-color: #fff2cc;
	color: #ffffff;
	margin: 0 auto 1rem;
	padding: 1rem;
	width: 100%;
}
.shopping-p__info--li-reserve-text-emphasis {
	color: #faf6c2;
	font-weight: bold;
	font-size: 1.4rem;
	margin: 0;
	text-align: center;
}
.shopping-p__info--li-specification {
	margin-bottom: 1rem;
}
.shopping-p__info--li-specification-ul, .shopping-p__info--li-specification-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-p__info--li-specification-li {
	margin-bottom: 1rem;
}
.shopping-p__info--li-specification-li > ul, .shopping-p__info--li-specification-li > ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-p__info--li-specification-li > ul > li > p {
	margin: 0;
}
.shopping-p__info--li-specification-header {
	font-weight: bold;
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-p__info--li-specification-header::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-p__info--li-caution {
	color: #ff2222;
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-p__info--li-caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-p__info--li-specification-circle {
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-p__info--li-specification-circle::before {
	content: '◎';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-p__info--li-specification-star {
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-p__info--li-specification-star::before {
	content: '★';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-p__info-list {
	margin: 0;
}
.shopping-p__info-list--ul, .shopping-p__info-list--li, .shopping-p__info-list--li-in {
	list-style: none;
	margin: 0;
	padding: 0;
}
.shopping-p__info-list--li-in {
	border-bottom: 1px solid #a0a0a0;
}
.shopping-p__info-list--li-in:last-of-type {
	border: none;
}
.shopping-p__info-list--label-pink {
	color: #ec8bbe;
	font-size: 1.3rem;
	font-weight: bold;
}
.shopping-p__info-list--label-navy {
	color: #5a5fa9;
	font-size: 1.3rem;
	font-weight: bold;
}
.shopping-p__info-list--title {
	background-color: #d9def1;
	color: #666666;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.6rem 0;
	margin: 0;
	text-align: center;
}
.shopping-p__info-list--contents {
	margin-bottom: 1rem;
}
.shopping-p__info-list--img-block {
	margin: 0 1rem;
}
.shopping-p__info-list--img-icon {
	width: 100%;
	height: auto;
	min-width: 120px;
	max-width: 120px;
	max-height: 120px;
}
.shopping-p__info-list--input-num {
	display: inline-block;
	padding-right: 0.4rem;
	margin-right: 0.4rem;
	text-align: right;
	vertical-align: middle;
	width: 3.0rem;
}
.shopping-p__info-list--num-unit {
	vertical-align: bottom;
}
.shopping-p__info-list--expansion {
	border: 2px solid #707070;
	border-radius: 0.4rem;
	margin: 0 auto 1rem;
	text-align: center;
	width: 75%;
	max-width: 12rem;
}
.shopping-p__info-list--expansion-glass {
	color: #707070;
	font-weight: bold;
}
.shopping-p__info-list--expansion-glass::before {
	content: '';
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-image: url(/assets/images/shopping/handkerchief/glass.png);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin: 0 0.2rem 0.2rem 0;
}
.shopping-p__info-list--order-btn {
	background-color: #843c0c;
	color: #ffffff;
}
.shopping-p__info-list--caution {
	color: #ff2222;
	margin: 0 1rem;
	padding-left: 1.2rem;
	position: relative;
}
.shopping-p__info-list--caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.shopping-p__info-list--caution2 {
	color: #ff2222;
//	margin: 0 1rem;
//	padding-left: 1.2rem;
//	position: relative;
}
.shopping-p__modal-s--close {
	opacity: 1 !important;
}
.shopping-p__modal-s--body {
	padding: 0 1rem 1rem;
}
.shopping-p__modal-s--input-text {
	border: 2px solid #ffffff;
	border-radius: 0.2rem;
	line-height: 1.5;
	padding: .375rem .75rem;
	width: 100%;
	-webkit-appearance: none;
}
.shopping-p__modal-s--input-text-btn {
	background-color: #ec8bbe;
	border: 2px solid #ffffff;
	border-radius: 0.2rem;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	width: 100%;
	min-width: 4rem;
}
.shopping-p__modal-s--seijin-text {
	color: #ffffff;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 1rem 0 0;
	text-align: center;
}
.shopping-purse-color {
	background-color: #ffe699;
	color: #595959;
}


/* カレンダー */
.calendar-index__body--pc {
	background-image: url('/assets/images/shopping/calendar/calendar_index_bg_pc.png');
	background-repeat: repeat;
	background-position: center center;
}
.calendar-index__body {
	background-image: url('/assets/images/shopping/calendar/calendar_index_bg_1.png');
	background-repeat: repeat;
	background-position: center center;
}
.calendar-index__header {
	margin: 0;
}
.calendar-index__header--title, .calendar-index__header--intro {
	font-size: 0;
	margin: 0 0 1rem;
}
.calendar-index__header--title-img, .calendar-index__header--intro-img {
	width: 100%;
	height: auto;
}
.calendar-index__header--date-ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.calendar-index__header--contents-title {
	color: #a17d36;
	font-size: 1.2rem;
	text-align: center;
}
.calendar-index__header--contents {
	background-image: url('/assets/images/shopping/calendar/calendar_index_top_frame_middle.png');
	background-size: 100%;
	background-repeat: repeat-y;
	background-position: center center;
	position: relative;
}
.calendar-index__header--contents-decolation {
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 96%;
	height: auto;
	z-index: 0;
	transform: translate(-50%, 0);
	margin-top: 65%;
}
.calendar-index__header--contents-image {
	margin: 1rem;
	padding: 0 1rem;
	position: relative;
	z-index: 10;
}
.calendar-index__header--price {
	color: #a17d36;
	text-align: center;
	position: relative;
	z-index: 10;
}
.calendar-index__header--price-size1 {
	font-size: 2.0rem;
}
.calendar-index__header--price-size2 {
	font-size: 1.2rem;
}
.calendar-index__header--price-size3 {
	font-size: 1.0rem;
}
.calendar-index__seijin {
	color: #a17d36;
	padding: 1rem;
	margin: 0 1rem;
}
.calendar-index__color {
	color: #a17d36;
}
.calendar-index__color-caution {
	color: #ff0000;
	font-weight: bold;
}
.calendar-buy-button {
	margin: 0 auto;
	padding: 0 1rem;
	position: relative;
	width: 90%;
	max-width: 24rem;
	z-index: 10;
}
.calendar-buy-button-img {
	width: 100%;
	height: auto;
}
.calendar-index__info {
	background-image: url('/assets/images/shopping/calendar/calendar_index_bg_2.png');
	background-repeat: repeat;
	background-position: center center;
	margin: 0;
	padding: 1rem 0 0;
}
.calendar-index__info--ul, .calendar-index__info--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.calendar-index__info--li-title {
	font-size: 0;
	margin: 0;
}
.calendar-index__info--li-contents {
	margin: 0;
	padding: 1rem;
}
.calendar-index-emphasis {
	color: #fd59a2;
	font-weight: bold;
}

.calendar-index__detail {
	background-color: #fdf0f6;
	padding: 1rem;
}

.calendar-index__footer {
	background-color: #ffffff;
	margin-bottom: 3rem;
	padding: 1rem 0 2rem;
}

.calendar-index__popup--body {
	background-image: url('/assets/images/shopping/calendar/calendar_index_bg_3.png');
	background-repeat: repeat;
	background-position: center center;
}
.calendar-index__popup--header {
	border: none;
	padding: 7% 0;
	background-image: url('/assets/images/shopping/calendar/2023/calendar_popup_header.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.calendar-index__popup--header-start {
	border: none;
	padding: 7% 0;
	background-image: url('/assets/images/shopping/calendar/2027/2027head_small.png');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.calendar-index__popup--caution {
	background-image: url('/assets/images/shopping/calendar/calendar_popup_caution_bg.png');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
	color: #fd59a2;
	font-weight: bold;
	margin: 0 0 1rem;
	padding: 1rem;
}
.calendar-index__popup--seijin-ul, .calendar-index__popup--seijin-li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.calendar-index__popup--seijin-title {
	font-size: 0;
	margin: 0;
}
.calendar-index__popup--ul, .calendar-index__popup--li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.calendar-index__popup--li {
	border-bottom: 1px solid #000000;
	padding: 1rem;
}
.calendar-index__popup--button{
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
}

.calendar-detail__header {
	margin: 0;
}
.calendar-detail__header--title {
	font-size: 0;
	margin: 0 0 1rem;
}
.calendar-detail__header--title-img {
	width: 100%;
	height: auto;
}
.calendar-detail__header--caution {
	margin: 0 auto;
	padding: 1rem 1rem 0 1rem;
	width: 90%;
	max-width: 40rem;
}
.calendar-detail__header--caution-img {
	width: 100%;
	height: auto;
}
.calendar-detail__button {
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
}
.shopping__border-width-3 {
	border: 3px solid #dc3545!important;
}
.font-caution-small {
	font-size: 80%;
}
.calendar-detail__system {
	border: 1px solid #090909;
	padding: 1rem;
}
.calendar-detail__system--ul, .calendar-detail__system--ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.calendar-detail__system--ul > li.caution {
	margin: 0 0 1rem;
	padding-left: 1.4rem;
	position: relative;
}
.calendar-detail__system--ul > li.caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}
.calendar-detail__system--ul > li:last-of-type {
	margin: 0;
}


.re-shopping {
	background-color: #fff7f1;
}
.re-shopping__title {
	background-color: #af9572;
	color: #ffffff;
	font-size: 1.2rem;
	margin: 0;
	padding: 0.4rem 0;
	text-align: center;
	user-select: none;
}
.re-shopping__list {
	padding: 1rem;
}
.re-shopping__list--ul, .re-shopping__list--ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.re-shopping__list--ul {
	margin-bottom: 1rem;
}
.re-shopping__list--ul > li {
	padding: 0.4rem;
}
.re-shopping__list--img {
	margin-bottom: 0.5rem;
	position: relative;
}
.re-shopping__list--img:before {
	background-color: #ea68a2;
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 2rem;
	height: 2rem;
}
.re-shopping__list--img::after {
	border: 0.1rem solid;
	border-color: #ffffff #ffffff transparent transparent;
	content: '';
	width: 1rem;
	height: 1rem;
	position: absolute;
	bottom: 0.5rem;
	right: 0.8rem;
	transform: rotate(45deg);
}
.re-shopping__list--a {
	text-decoration: underline;
	color: #000000;
}

/* ==============================================================*/
/* 開運六星ベア */
.rb__top {
	margin-bottom: 2rem;
}
.rb__top--bdpopup {
	margin: 1rem;
	text-align: right;
}
.rb__top--order-btn {
	background-color: #5fc3d8;
	color: #ffffff;
}

.rb__info {
	margin-bottom: 2rem;
}
.rb__info--ul, .rb__info--ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rb__info--title {
	background-color: #f8dccf;
	color: #976036;
	font-size: 1rem;
	font-weight: bold;
	padding: 0.6rem 0;
	margin: 0;
	text-align: center;
}
.rb__info--specification {
	margin-bottom: 1rem;
}
.rb__info--specification-ul, .rb__info--specification-ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rb__info--specification-ul > li {
	margin-bottom: 1rem;
}
.rb__info--specification-ul > li > ul, .rb__info--specification-ul > li > ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rb__info--specification-ul > li > ul > li > p {
	margin: 0;
}
.rb__info--specification-header {
	font-weight: bold;
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.rb__info--specification-header::before {
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.rb__info--specification-circle {
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.rb__info--specification-circle::before {
	content: '◎';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}
.rb__info--specification-star {
	margin: 0;
	padding-left: 1.2rem;
	position: relative;
}
.rb__info--specification-star::before {
	content: '★';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}

.rb__bear {
	margin: 0;
}
.rb__bear--rokusei {
	font-size: 1rem;
	font-weight: bold;
	padding: 0.4rem 1rem;
	text-align: center;
}
.rb__bear--contents {
	margin: 0 auto 1rem;
	width: 100%;
	max-width: 36rem;
}
.rb__bear--ul, .rb__bear--ul > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rb__bear--ul > li {
	position: relative;
	padding-left: 8.0rem;
}
.rb__bear--ul > li:nth-of-type(2) {
	padding-left: 9.0rem;
}
.rb__bear--ul > li:last-of-type {
	padding: 0;
}
.rb__bear--ul > li::before {
	position: absolute;
	top: 0;
	left: 0;
}
.rb__bear--ul > li:first-of-type::before {
	content: 'ラッキーカラー：';
}
.rb__bear--ul > li:nth-of-type(2)::before {
	content: 'ラッキーアイテム：';
}

.rb__list {
	margin: 0;
}
.rb__product--contents {
	margin: 0 auto 1rem;
	width: 100%;
	max-width: 36rem;
}
.rb__list--ul, .rb__list--ul > li, .rb__list--ul-in, .rb__list--ul-in > li {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rb__list--ul > li {
	border-bottom: 1px solid #a0a0a0;
}
.rb__list--ul > li:last-of-type {
	border: none;
}
.rb__list--label {
	color: #ec8bbe;
	font-size: 1.3rem;
	font-weight: bold;
}
.rb__list--contents {
	margin-bottom: 1rem;
}
.rb__list--img {
	margin: 0 1rem;
}
.rb__list--img-icon {
	width: 100%;
	height: auto;
	min-width: 120px;
	max-width: 120px;
	max-height: 120px;
}
.rb__list--input-num {
	display: inline-block;
	padding-right: 0.4rem;
	margin-right: 0.4rem;
	text-align: right;
	vertical-align: middle;
	width: 3.0rem;
}
.rb__list--input-num-unit {
	vertical-align: bottom;
}
/*
input[type=checkbox] {
	display: none;
}
.checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	padding: 0 0 0 2.8rem;
	vertical-align: middle;
	cursor: pointer;
}
.checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 46%;
	left: 15px;
	display: block;
	margin-top: -10px;
	width: 24px;
	height: 24px;
	border: 1px solid #707070;
	border-radius: 4px;
	content: '';
}
.checkbox:before {
	-webkit-transition: opacity 0.2s linear;
	transition: opacity 0.2s linear;
	position: absolute;
	top: 46%;
	left: 22px;
	display: block;
	margin-top: -7px;
	width: 10px;
	height: 14px;
	border-right: 2px solid #707070;
	border-bottom: 2px solid #707070;
	content: '';
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {
	opacity: 1;
}
*/
.rb__list--order-btn {
	background-color: #5fc3d8;
	color: #ffffff;
}
.rb__list--caution {
	color: #ff2222;
	margin: 0 1rem;
	padding-left: 1.2rem;
	position: relative;
}
.rb__list--caution::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.4;
}

.rb__modal--close {
	opacity: 1 !important;
}
.rb__modal--body {
	padding: 0 1rem 1rem;
}
.rb__modal--input-text {
	border: 2px solid #ffffff;
	border-radius: 0.2rem;
	line-height: 1.5;
	padding: .375rem .75rem;
	width: 100%;
	-webkit-appearance: none;
}
.rb__modal--input-text-btn {
	background-color: #ec8bbe;
	border: 2px solid #ffffff;
	border-radius: 0.2rem;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
	width: 100%;
	min-width: 4rem;
}
.rb__modal--seijin-text {
	color: #ffffff;
	font-size: 1.2rem;
	font-weight: bold;
	margin: 1rem 0 0;
	text-align: center;
}

/* regina_madre */
.rm-main {
	background-image: url(/assets/images/shopping/regina_madre/rm_bg.webp);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	font-variant-numeric: tabular-nums;
	width: 100%;

	& .rm-wrapper-btn {
		margin: 1rem auto;
		width: calc(12rem + 10vw);
	}

	& .rm-section {
		margin-block-start: 2rem;
		padding: 0 1rem 1rem;

		& .rm-section-h2 {
			font-size: 1rem;
			margin: 0 -1rem 1rem;
		}

		& .rm-fragrance-notes {
			--fragrance-color-top: #4b70d7;
			--fragrance-color-middle: #7a0f7d;
			--fragrance-color-base: #d99322;

			& dt {
				&:first-of-type {
					color: var(--fragrance-color-top);
				}
				&:nth-of-type(2) {
					color: var(--fragrance-color-middle);
				}
				&:nth-of-type(3) {
					color: var(--fragrance-color-base);
				}
			}
		}

		& .rm-fragrance-frame {
			border: 2rem solid transparent;
			border-image-source: url(/assets/images/shopping/regina_madre/rm_fragrance_frame.png);
			border-image-slice: 190 fill;
			border-image-repeat: stretch;
			border-image-width: 3.2rem;

			& .rm-fragrance-grid-img {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 1rem;
				list-style: none;
				margin: 0 0 1rem;
				padding: 0;
				> li {
					aspect-ratio: 1 / 1;
				}
			}
		}

		& .rm-gift-img {
			margin: 0 -1rem 1rem
		}

		& .rm-spec {
			margin-block-end: 1.6rem;
			& h3 {
				font-size: 1rem;
				font-weight: normal;
				margin: 0;
			}

			& .rm-spec-product {
				> dt {
					font-weight: normal;
				}
				> dd {
					margin-block-end: 1.6rem;
					& ul {
						list-style: none;
						margin: 0;
						padding: 0;
					}
				}
			}

			& .rm-payment-list {
				list-style: none;
				margin: 0;
				padding: 0;
			}
		}

		& .rm-caution {
			background-color: #ffffff;
			box-shadow: 0 2px 4px 0 #777777;
			margin-block-end: 1.6rem;

			> summary {
				display: grid;
				grid-template-columns:  1fr 2rem;
				gap: 6px;
				align-items: center;
				padding: 0.6rem 0.8rem;
				cursor: pointer;

				&::-webkit-details-marker {
					display: none;
				}
			}
			&::details-content {
				height: 0;
				opacity: 0;
				overflow: clip;
			}

			&[open]::details-content {
				opacity: 1;
			}

			&[open] .arrow {
				transform: rotate(180deg);
			}

			& .arrow {
				--arrow-color: #c72d1b;
				display: block;
				position: relative;
				width: 1.6rem;
				margin-left: .2rem;
				flex-shrink: 0;
				transform-origin: center 45%;
				transition: transform 0.4s;

				&::before, &::after {
					content: "";
					position: absolute;
					display: block;
					width: 1rem;
					height: .2rem;
					background-color: var(--arrow-color);
				}
				&::before {
					left: 0;
					transform: rotate(45deg);
				}
				&::after {
					right: 0;
					transform: rotate(-45deg);
				}
			}

			& .contents {
				padding: 1rem;
				display: flex;
				flex-direction: column;
				gap: 16px;

				& ul {
					list-style: none;
					margin: 0;
					padding: 0;

					> li {
						position: relative;
						padding-left: 1.2rem;
						&::before {
							content: '◎';
							position: absolute;
							top: 0;
							left: 0;
						}
					}


				}
			}
		}

		& .rm-product {
			--product-color: #00004c;
			--caution-color: #fd2020;
			--placeholder-color: #0f0f0f;

			display: grid;
			grid-template-columns: 10rem 1fr;
			grid-template-areas:
				"title title"
				"image info";
			gap: 1rem;
			align-items: start;
			color: var(--product-color);

			& .rm-product-title {
				font-size: clamp(1.2rem, 5vw, 1.6rem);
				grid-area: title;
			}
			& .rm-product-image {
				grid-area: image;
			}
			& .rm-product-info {
				grid-area: info;
			}
			& .rm-product-btn {
				grid-column: 1 / -1;
				justify-self: center;
				width: calc(12rem + 10vw);
			}
			& .rm-product-caution {
				grid-column: 1 / -1;
				color: var(--caution-color);
			}

			& .product-price {
				font-size: clamp(1.2rem, 5vw, 1.6rem);
				font-weight: bold;
				margin: 0;
			}

			& .product-num {
				border-radius: 0.4rem;
				border: 1px solid var(--product-color);
				padding: 0.6rem;
				text-align: right;
				width: 4rem;

				&::placeholder {
					color: var(--placeholder-color);
				}

				&:read-only {
					background-color: #eeeeee;
					cursor: not-allowed;
					pointer-events: none;
				}
			}
		}

		& .rm-product-hr {
			border: 0;
			height: 30px;
			background-image: url(/assets/images/shopping/regina_madre/rm_product_hr.png);
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
			margin: 0.6rem 0;
		}
	}
}

@supports (interpolate-size: allow-keywords) {
	:root {
		interpolate-size: allow-keywords;
	}
	.rm-main {
		& .rm-caution[open]::details-content {
			height: auto;
		}
	}
}

@supports not (interpolate-size: allow-keywords) {
	.rm-main {
		& .rm-caution[open]::details-content {
			height: auto;
			opacity: 1;
		}
	}
}


/* /rokuseiwallet */
.rokuseiwallet-main {
	background-image: url(/assets/images/shopping/rokuseiwallet/rokuseiwallet_bg1.webp);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	font-variant-numeric: tabular-nums;
	width: 100%;

	& .swiper {
		width: 100%;
		height: auto;
	}
	& .swiper-slide {
		color: #ffffff;
		width: 100%;
		height: 100%;
		text-align: center;
		line-height: 0;
		text-align: center;
	}
	& .swiper-button-next, .swiper-button-prev {
		width: calc(var(--swiper-navigation-size)/ 44 * 32);
		height: calc(var(--swiper-navigation-size)/ 44 * 32);
		margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
		color: var(--swiper-navigation-color,var(--swiper-theme-color));
	}
	& .swiper-button-prev {
		margin-left: 0.2rem;
		background: url(https://cdn.jsdelivr.net/bxslider/4.2.12/images/controls.png) no-repeat 0 6px / 80px
	}
	& .swiper-button-next {
		margin-right: 0.2rem;
		background: url(https://cdn.jsdelivr.net/bxslider/4.2.12/images/controls.png) no-repeat -32px 6px / 80px;
	}
	& .swiper-button-next::after, .swiper-button-prev::after {
		content: none !important;
	}
	& .swiper-pagination {
		position: relative;
	}
	& .swiper-pagination-bullet {
		width: 20px;			/* 横幅 */
		height: 8px;			/* 縦幅 */
		border-radius: 0px;		/* 角丸ではない四角形 */
		background-color: #3a2c06;
		opacity: 1 !important;
		font-size: 0rem;
		margin: 0 15px !important;
	}
	/* 現在のページネーションのスタイル */
	& .swiper-pagination-bullet-active {
		background-color: #e4418a;
	}
	/* ページネーションの余白(位置) */
/*
	& .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
	& .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 9 0.8rem 1rem;
	}
	& .swiper-pagination-bullets.swiper-pagination-horizontal {
		top: 0.6rem !important;
	}
*/
	/* 画像のサイズ調整 */
	& .swiper-slide img {
		height: auto;
		width: 100%;
	}


	& .rokuseiwallet-wrapper-btn {
		margin: 1rem auto;
		width: calc(12rem + 10vw);
	}

	& .rokuseiwallet-section {
		margin-block-start: 2rem;
		padding: 0 1rem;

		& .rokuseiwallet-section-h2 {
			font-size: 1rem;
			margin: 0 -1rem 1rem;
		}

		& .rokuseiwallet-spec {
			margin-block-end: 1.6rem;
			& h3 {
				font-size: 1rem;
				font-weight: normal;
				margin: 0;
			}

			& .rokuseiwallet-payment-list {
				list-style: none;
				margin: 0;
				padding: 0;
			}
		}

		/* カード型コンテナ */
		& .rokuseiwallet-product-card {
			background: #ffffff;
			width: 100%;
			padding: 30px;
			border-radius: 24px;
			box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
			margin-bottom: 1rem;
		}

		/* タイトルと価格 */
		& .rokuseiwallet-product-title {
			font-size: 1.8rem;
			font-weight: 700;
			text-align: center;
			color: #333333;
			margin-bottom: 8px;
		}

		& .rokuseiwallet-product-titleKakeru {
			font-size: 2.4rem;
			font-weight: 400;
		}

		/* 価格を右寄せに設定 */
		& .rokuseiwallet-product-price {
			font-size: 2rem;
			font-weight: 700;
			color: #b35485;
			/* メインのピンクパープル */
			margin-bottom: 4px;
			text-align: right;
		}

		/* .taxname（税込）を70%くらいに縮小 */
		& .rokuseiwallet-taxname {
			font-size: 70%;
			font-weight: normal;
		}
		
		/* 追加1: 送料スタイルの調整 */
		& .rokuseiwallet-shipping-info {
			display: block;
			width: 96%;
			margin: 0 auto;
			font-size: 1rem;
			font-weight: 400;
			color: #666666;
			text-align: right;
			margin-bottom: 24px;
		}

		/* セクションタイトル */
		& .rokuseiwallet-section-title {
			font-size: 1rem;
			font-weight: bold;
			color: #444444;
			margin-bottom: 12px;
		}
		
		/* カラー選択共通設定 */
		& .rokuseiwallet-options-group {
			margin-bottom: 28px;
		}

		& .rokuseiwallet-options-list {
			display: flex;
			flex-wrap: wrap;
			gap: 12px;
			list-style: none;
		}

		/* ラジオボタンを非表示にする */
		& .rokuseiwallet-options-list input[type="radio"] {
			display: none;
		}
		
		/* --- 財布カラーのスタイル --- */
		& .rokuseiwallet-color-label {
			display: block;
			width: 44px;
			height: 44px;
			border-radius: 50%;
			cursor: pointer;
			border: 2px solid #e0e0e0;
			position: relative;
			transition: transform 0.2s, border-color 0.2s;
			margin-left: 10px;
		}
		
		& .rokuseiwallet-color-label:hover {
			transform: scale(1.05);
		}
		
		/* 各カラーコード */
		& .rokuseiwallet-color-black {
			background-color: #000000;
		}
		
		& .rokuseiwallet-color-silver {
			background-color: #c0c0c0;
		}
		
		& .rokuseiwallet-color-gold {
			background-color: #bc9e6c;
		}

        /* 財布カラー選択時のピンクの二重丸エフェクト */
        & .rokuseiwallet-options-list input[type="radio"]:checked+.rokuseiwallet-color-label {
            border-color: #b35485;
            box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px #b35485;
        }

        /* --- 付属カードケースのスタイル --- */
        & .rokuseiwallet-card-case-list {
            display: grid;
            grid-template-columns: 1fr 1fr;
            /* 2列で綺麗に並べる */
            gap: 12px;
        }

        & .rokuseiwallet-case-label {
            display: flex;
            align-items: center;
            padding: 10px 14px;
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 50px;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        & .rokuseiwallet-case-label:hover {
            background-color: #fcf8fa;
            border-color: #b35485;
        }

        /* 色付きの丸丸 */
        & .rokuseiwallet-case-dot {
            width: 20px;
            height: 20px;
            border-radius: 50%;
            margin-right: 10px;
            flex-shrink: 0;
        }

        & .rokuseiwallet-dot-green {
            background-color: #5bb39a;
        }

        & .rokuseiwallet-dot-purple {
            background-color: #c586b6;
        }

        & .rokuseiwallet-dot-blue {
            background-color: #4cb9ca;
        }

        & .rokuseiwallet-dot-black {
            background-color: #000000;
        }

        & .rokuseiwallet-dot-red {
            background-color: #ef232f;
        }

        & .rokuseiwallet-dot-pink {
            background-color: #f7bdcc;
        }

        & .rokuseiwallet-case-name {
            font-size: 0.9rem;
            color: #333333;
        }

        /* カードケース選択時のスタイル */
        & .rokuseiwallet-options-list input[type="radio"]:checked+.rokuseiwallet-case-label {
            border-color: #b35485;
            background-color: #fcf8fa;
            box-shadow: 0 0 0 1px #b35485;
        }

        & .rokuseiwallet-options-list input[type="radio"]:checked+.rokuseiwallet-case-label .rokuseiwallet-case-name {
            font-weight: bold;
            color: #b35485;
        }

        /* 追加2: 個数入力エリアのスタイル */
        & .rokuseiwallet-quantity-group {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 24px;
        }

        & .rokuseiwallet-quantity-input {
            width: 70px;
            padding: 10px;
            font-size: 1.1rem;
            text-align: center;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            outline: none;
            transition: border-color 0.2s;
        }

        & .rokuseiwallet-quantity-input:focus {
            border-color: #b35485;
            box-shadow: 0 0 0 3px rgba(179, 84, 133, 0.1);
        }

        & .rokuseiwallet-quantity-unit {
            font-size: 1rem;
            font-weight: bold;
            color: #444444;
        }

        /* 追加3: ご注意文言のボックススタイル */
        & .rokuseiwallet-caution-box {
            background-color: #fff5f8;
            border: 1px solid #fbcfe8;
            border-radius: 12px;
            padding: 16px;
            margin-bottom: 24px;
            font-size: 0.85rem;
            line-height: 1.6;
            color: #c2417a;
        }

        & .rokuseiwallet-caution-title {
            font-weight: bold;
            margin-bottom: 4px;
            display: block;
        }

        /* 追加4: ボタン下の注意書き注記スタイル */
        & .rokuseiwallet-button-notice {
            font-size: 0.8rem;
            color: #b35485;
            text-align: center;
            margin-top: 8px;
            font-weight: bold;
        }

		& .rokuseiwallet-product-caution {
			font-size: 0.8rem;
			color: #ff0000;
			text-align: center;
			margin-top: 8px;
			font-weight: bold;
		}

        /* --- ボタン画像を幅280px固定・高さ成行に調整 --- */
        & .rokuseiwallet-submit-button {
            display: block;
            width: 280px;
            /* 幅を280pxに固定 */
            height: auto;
            /* 高さは成行（自動計算） */
            aspect-ratio: 420 / 139;
            /* 元画像の比率を維持して歪みを防止 */
            margin: 24px auto 0 auto;

            /* ボタン画像を背景として読み込み */
            background-image: url(/assets/images/shopping/rokuseiwallet/rokuseiwallet_buy2.png);
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            background-color: transparent;

            border: none;
            cursor: pointer;
            outline: none;

            /* 元のテキスト「注文する」を見えなくする処理 */
            text-indent: -9999px;
            overflow: hidden;

            transition: transform 0.1s ease;
        }

        & .rokuseiwallet-submit-button:hover {
            transform: scale(1.02);
            /* マウスホバーで少し大きく */
        }

        & .rokuseiwallet-submit-button:active {
            transform: scale(0.98);
            /* クリック時に少し沈む演出 */
        }


/*
		& .rm-caution {
			background-color: #ffffff;
			box-shadow: 0 2px 4px 0 #777777;
			margin-block-end: 1.6rem;

			> summary {
				display: grid;
				grid-template-columns:  1fr 2rem;
				gap: 6px;
				align-items: center;
				padding: 0.6rem 0.8rem;
				cursor: pointer;

				&::-webkit-details-marker {
					display: none;
				}
			}
			&::details-content {
				height: 0;
				opacity: 0;
				overflow: clip;
			}

			&[open]::details-content {
				opacity: 1;
			}

			&[open] .arrow {
				transform: rotate(180deg);
			}

			& .arrow {
				--arrow-color: #c72d1b;
				display: block;
				position: relative;
				width: 1.6rem;
				margin-left: .2rem;
				flex-shrink: 0;
				transform-origin: center 45%;
				transition: transform 0.4s;

				&::before, &::after {
					content: "";
					position: absolute;
					display: block;
					width: 1rem;
					height: .2rem;
					background-color: var(--arrow-color);
				}
				&::before {
					left: 0;
					transform: rotate(45deg);
				}
				&::after {
					right: 0;
					transform: rotate(-45deg);
				}
			}

			& .contents {
				padding: 1rem;
				display: flex;
				flex-direction: column;
				gap: 16px;

				& ul {
					list-style: none;
					margin: 0;
					padding: 0;

					> li {
						position: relative;
						padding-left: 1.2rem;
						&::before {
							content: '◎';
							position: absolute;
							top: 0;
							left: 0;
						}
					}


				}
			}
		}

		& .rm-product {
			--product-color: #00004c;
			--caution-color: #fd2020;
			--placeholder-color: #0f0f0f;

			display: grid;
			grid-template-columns: 10rem 1fr;
			grid-template-areas:
				"title title"
				"image info";
			gap: 1rem;
			align-items: start;
			color: var(--product-color);

			& .rm-product-title {
				font-size: clamp(1.2rem, 5vw, 1.6rem);
				grid-area: title;
			}
			& .rm-product-image {
				grid-area: image;
			}
			& .rm-product-info {
				grid-area: info;
			}
			& .rm-product-btn {
				grid-column: 1 / -1;
				justify-self: center;
				width: calc(12rem + 10vw);
			}
			& .rm-product-caution {
				grid-column: 1 / -1;
				color: var(--caution-color);
			}

			& .product-price {
				font-size: clamp(1.2rem, 5vw, 1.6rem);
				font-weight: bold;
				margin: 0;
			}

			& .product-num {
				border-radius: 0.4rem;
				border: 1px solid var(--product-color);
				padding: 0.6rem;
				text-align: right;
				width: 4rem;

				&::placeholder {
					color: var(--placeholder-color);
				}

				&:read-only {
					background-color: #eeeeee;
					cursor: not-allowed;
					pointer-events: none;
				}
			}
		}

		& .rm-product-hr {
			border: 0;
			height: 30px;
			background-image: url(/assets/images/shopping/regina_madre/rm_product_hr.png);
			background-repeat: no-repeat;
			background-position: center;
			background-size: contain;
			margin: 0.6rem 0;
		}
*/

	}
}

.nav-footer {
	--nav-footer-border-color: #9c9c9c;
	--nav-footer-arrow-color: #565656;
	--nav-footer-bg-color: #ffffff;

	margin-block-end: 2rem;

	> ul {
		list-style: none;
		margin: 0;
		padding: 0;

		> li {
			align-items: center;
			display: flex;
			position: relative;
			background-color: var(--nav-footer-bg-color);
			border-bottom: 1px solid var(--nav-footer-border-color);
			list-style: none;
			padding: 0.4rem 1.6rem 0.4rem 0.4rem;

			&:first-child {
				border-top: 1px solid var(--nav-footer-border-color);
			}

			&::after {
				border: 0.06rem solid;
				border-color: var(--nav-footer-arrow-color) var(--nav-footer-arrow-color) transparent transparent;
				content: '';
				width: 0.6rem;
				height: 0.6rem;
				position: absolute;
				top: 50%;
				right: 0.6rem;
				transform: translate(0, -50%) rotate(45deg);
			}

			> a {
				display: inline-block;
				width: 100%;
				height: auto;
				padding: 0.4rem 0;
				text-decoration: none;
			}
		}
	}
}

.btn-init {
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
}

.rokuseiwallet-product-btn {
	grid-column: 1 / -1;
	justify-self: center;
	width: calc(12rem + 10vw);
}

.rokuseiwallet-product-caution {
	grid-column: 1 / -1;
	color: var(--caution-color);
	font-size: 0.8rem;
	color: #b35485;
	text-align: center;
	margin-top: 8px;
	font-weight: bold;
}
