@charset "utf-8";

/* ============================================================
	imini "商品詳細" Layout CSS
	Last UPDATA: 2023/3/29
============================================================ */
img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: bottom;
}

/* ==================================================
	item
================================================== */
#content {
	margin: 0;
	width: 100%;
}

#content #main {
	width: 100%;
	margin: 0 0 50px;
	padding: 0;
	background: none;
}
@media screen and (min-width: 769px){
	#content #main {
		margin: 0 0 80px;
	}
}

.item {
	width: calc(638 / 750 * 100vw);
	margin: 25px auto 0;
	text-align: left;
}
@media screen and (min-width: 769px){
	.item {
		width: 100%;
		max-width: 980px;
		margin: 49px auto 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

/* 商品画像 */
.thumbs-item {
	width: 100%;
}
@media screen and (min-width: 769px){
	.thumbs-item {
		width: 473px;
	}
}

.thumbs-item img {
	transition: 0.5s;
	backface-visibility: hidden;
}

/* カートボタン周辺 */
.cart-item {
	width: 100%;
	margin: 15px auto 0;
}
@media screen and (min-width: 769px){
	.cart-item {
		width: 473px;
		margin: 0;
	}
}

.cart-item-catch {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.5;
}
@media screen and (min-width: 769px){
	.cart-item-catch {
		font-size: 19px;
		margin-top: -2px;
	}
}

.cart-item-icon-list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 12px;
	gap: calc(12 / 750 * 100vw);
}
@media screen and (min-width: 769px){
	.cart-item-icon-list {
		margin-top: 8px;
		gap: 6px;
	}
}

.cart-item-icon-list-item {
	width: calc(176 / 750 * 100vw);
}
@media screen and (min-width: 769px){
	.cart-item-icon-list-item {
		width: 88px;
	}
}

.cart-item-icon-list-item span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 21px;
	border: 1px solid #000000;
	font-size: min(calc(24 / 750 * 100vw), 12px);
	line-height: 1;
}

.cart-item-icon-list-item span.new {
	border: 1px solid #ff0137;
	color: #ff0137;
}

.cart-item-name {
	margin-top: 11px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.13em;
}
@media screen and (min-width: 769px){
	.cart-item-name {
		margin-top: 15px;
		font-size: 22px;
		letter-spacing: 0.11em;
	}
}

.cart-item-size {
	margin-top: 5px;
	font-size: 14px;
	letter-spacing: 0.025em;
}
@media screen and (min-width: 769px){
	.cart-item-size {
		margin-top: 6px;
		font-size: 16px;
	}
}

.cart-link-list {
	margin-top: 10px;
	display: flex;
	gap: 0 calc(25 / 750 * 100vw);
}
@media screen and (min-width: 769px){
	.cart-link-list {
		margin-top: 13px;
		gap: 0 15px;
	}
}

.cart-link-list-item {
	font-size: 12px;
}
@media screen and (min-width: 769px){
	.cart-link-list-item {
		font-size: 12px;
		letter-spacing: 0.025em;
	}
}

.cart-link-list-item a::after {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid;
	border-right: 1px solid;
	border-color: inherit;
	display: inline-block;
	position: relative;
	right: -2px;
	top: -2px;
	transform: rotate(45deg);
}
@media screen and (min-width: 769px){
	.cart-link-list {
		gap: 0 20px;
	}
}

/* 定期購入 */
.teiki {
	width: 100%;
	margin: 20px 0 0;
	background: none;
}
@media screen and (min-width: 769px){
	.teiki {
		width: 100%;
		margin: 21px 0 0;
	}
}

.teiki-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 17px 20px 24px;
	background: #f6f3e7;
}
@media screen and (min-width: 769px){
	.teiki-wrap {
		padding: 20px 30px 24px;
	}
}

.price-teiki {
	width: 100%;
	margin: 0;
}

.price-wrap {
	display: block;
}
@media screen and (min-width: 769px){
	.price-wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

.price-label,.price-num {
	margin: 0;
	width: auto;
}

.price-label-text {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.025em;
}
@media screen and (min-width: 769px){
	.price-label-text {
		font-size: 16px;
		letter-spacing: initial;
	}
}

.price-label-icon-list {
	margin-top: 6px;
	display: flex;
	flex-wrap: wrap;
	gap: calc(20 / 750 * 100vw);
}
@media screen and (min-width: 769px){
	.price-label-icon-list {
		margin-top: 0;
		gap: 6px;
	}
}

.teiki-wrap .price-label-icon-list-item {
	height: 21px;
}

.teiki-wrap .price-label-icon-list-item img {
	display: block;
	width: auto;
	height: 100%;
	image-rendering: -webkit-optimize-contrast;
}

.price-label-icon-list-item span {
	display: block;
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	background-color: #ff0137;
	padding: 1px 0.7em 0;
}

.price-num {
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	text-align: right;
	margin-top: 10px;
}
@media screen and (min-width: 769px){
	.price-num {
		font-size: 24px;
	}
}

.price-num .tax {
	display: inline-block;
	font-size: 10px;
	font-weight: 400;
	line-height: 1;
	margin-left: 0.16em;
}
@media screen and (min-width: 769px){
	.price-num .tax {
		font-size: 12px;
	}
}

.teiki-wrap .price-num {
	color: #ff0137;
}
@media screen and (min-width: 769px){
	.teiki-wrap .price-num {
		flex-shrink: 0;
	}
}

.price-teiki-attention {
	margin-top: 6px;
	color: #ff0137;
	font-size: 12px;
	letter-spacing: 0.025em;
}

.cart-teiki {
	width: 100%;
	margin: 16px 0 0;
	display: flex;
	justify-content: space-between;
}

.btn-cart-teiki {
	margin: 0;
	flex-shrink: 0;
	width: calc(438 / 750 * 100vw);
	text-align: center;
}
@media screen and (min-width: 769px){
	.btn-cart-teiki {
		width: 339px;
	}
}

.btn-cart-teiki a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: calc(100 / 750 * 100vw);
	padding: 0;
	border: solid 1px #ac7717;
	border-radius: 25px;
	background: #ac7717;
	color: #ffffff;
	font-size: 14px;
	text-decoration: none;
	line-height: 1;
}
@media screen and (min-width: 769px){
	.btn-cart-teiki a {
		height: 54px;
		border-radius: 27px;
		font-size: 16px;
	}
}

.btn-cart-teiki a:hover {
	cursor: pointer;
	background-color: transparent;
	color: #ac7717;
}

.btn-fav-teiki {
	flex-shrink: 0;
	width: calc(100 / 750 * 100vw);
	height: calc(100 / 750 * 100vw);
}
@media screen and (min-width: 769px){
	.btn-fav-teiki {
		width: 54px;
		height: 54px;
	}
}

.btn-fav-teiki a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: calc(50 / 750 * 100vw);
	background-color: #e5e5e5;
}
@media screen and (min-width: 769px){
	.btn-fav-teiki a {
		border-radius: 27px;
	}
}

.btn-fav-teiki a::before {
	content: "";
	display: block;
	position: relative;
	width: calc(37 / 750 * 100vw);
	height: calc(30 / 750 * 100vw);
	background: url(../../../../component/item/detail/img/icon_heart.png) no-repeat;
	background-size: contain;
	left: 1px;
}
@media screen and (min-width: 769px){
	.btn-fav-teiki a::before {
		width: 25px;
		height: 21px;
		top: 1px;
	}
}

.btn-fav-teiki a.block-goods-favorite-registed--btn::before {
	background: url(../../../../component/item/detail/img/icon_heart_on.png) no-repeat;
	background-size: contain;
}

.sup-cart-teiki {
	margin: 7px 0 0;
	text-align: right;
}
@media screen and (min-width: 769px){
	.sup-cart-teiki {
		margin: 10px 0 0;
	}
}

/* モーダルCSS */
.modalarea-teiki {
	display: none;
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
}

.modalbg-teiki {
	width: 100%;
	height: 100%;
	background-color: rgba(30,30,30,0.9);
}

.modalwrap-teiki {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 95%;
}
@media screen and (min-width: 769px){
	.modalwrap-teiki {
		width: 100%;
		max-width: 940px;
	}
}

.title-modalbox {
	color: #ffffff;
	font-weight: normal;
	font-size: 20px;
}
@media screen and (min-width: 769px){
	.title-modalbox {
		font-size: 32px;
	}
}

.text-modalbox {
	margin: 15px 0 0;
	color: #ffffff;
	font-size: 12px;
}
@media screen and (min-width: 769px){
	.text-modalbox {
		margin: 40px 0 0;
		font-size: 16px;
	}
}

.img-modalbox {
	margin: 15px 0 0;
}
@media screen and (min-width: 769px){
	.img-modalbox {
		margin: 40px 0 0;
	}
}

.closemodal-teiki {
	position: absolute;
	top: -60px;
	right: 0;
	cursor: pointer;
	color: #ffffff;
	font-size: 30px;
	display: flex;
	align-items: center;
}
@media screen and (min-width: 769px){
	.closemodal-teiki {
		font-size: 60px;
	}
}

.closemodal-teiki span {
	display: inline-block;
	vertical-align: middle;
	font-size: 12px;
	margin: 0 0 0 0.3em;
	letter-spacing: 0.1em;
}
@media screen and (min-width: 769px){
	.closemodal-teiki span {
		font-size: 16px;
	}
}

/* ボタンスタイル */
.sup-cart-teiki button {
	background-color: transparent;
	text-decoration: none;
	border: none;
	cursor: pointer;
	font-size: 12px;
}

.sup-cart-teiki button:hover {
	text-decoration: underline;
}


/* 通常購入 */
.regular-wrap {
	width: 100%;
	margin: 15px auto 0;
	padding: 20px;
	background: transparent;
	border-top: 1px solid #e5e5e5;
}
@media screen and (min-width: 769px){
	.regular-wrap {
		margin-top: 27px;
		padding: 30px 30px;
	}
}

.price,.price-wrap {
	margin: 0;
}

/* 通常購入の通常価格打ち消し線 */
.regular-wrap .price-wrap.regular .price-num {
	position: relative;
	font-size: 16px;
}
@media screen and (min-width: 769px){
	.regular-wrap .price-wrap.regular .price-num {
		font-size: 18px;
	}
}
.regular-wrap .price-wrap.regular .price-num::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #000000;
	top: 50%;
	left: 0;
	z-index: 1;
}

/* 通常購入の特別価格 */
.regular-wrap .price-wrap.sale {
	color: #ff0137;
	margin-top: 7px;
}
@media screen and (min-width: 769px){
	.regular-wrap .price-wrap.sale {
		margin-top: 12px;
	}
}

.cartin {
	width: 100%;
	margin: 16px 0 0;
	display: flex;
	justify-content: space-between;
}
@media screen and (min-width: 769px){
	.cartin {
		margin: 25px 0 0;
	}
}

.btn-cartin-wrapper {
	display: block;
	flex-shrink: 0;
	width: 100%;
	max-width: calc(438 / 750 * 100vw);
	text-align: center;
}
@media screen and (min-width: 769px){
	.btn-cartin-wrapper {
		max-width: 339px;
	}
}

.btn-cartin {
	display: block;
	width: 100%;
	height: calc(100 / 750 * 100vw);
	margin: 0;
	padding: 0;
}
@media screen and (min-width: 769px){
	.btn-cartin {
		height: 54px;
	}
}

.btn-cartin input {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: calc(100 / 750 * 100vw);
	padding: 0;
	border: solid 1px #333333;
	border-radius: 25px;
	background: #333333;
	color: #ffffff;
	font-size: 14px;
	text-decoration: none;
	line-height: 1;
}
@media screen and (min-width: 769px){
	.btn-cartin input {
		height: 54px;
		border-radius: 27px;
		font-size: 16px;
	}
}

.btn-cartin input:hover {
	cursor: pointer;
	background-color: transparent;
	color: #333333;
}

.btn-fav-cartin {
	flex-shrink: 0;
	width: calc(100 / 750 * 100vw);
	height: calc(100 / 750 * 100vw);
	margin-left: calc(20 / 750 * 100vw);
}
@media screen and (min-width: 769px){
	.btn-fav-cartin {
		width: 54px;
		height: 54px;
		margin-left: 20px;
	}
}

.btn-fav-cartin a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: calc(50 / 750 * 100vw);
	background-color: #e5e5e5;
}
@media screen and (min-width: 769px){
	.btn-fav-cartin a {
		border-radius: 27px;
	}
}

.btn-fav-cartin a::before {
	content: "";
	display: block;
	position: relative;
	width: calc(37 / 750 * 100vw);
	height: calc(30 / 750 * 100vw);
	background: url(../../../img/usr/item/icon_heart.png) no-repeat;
	background-size: contain;
	left: 1px;
}
@media screen and (min-width: 769px){
	.btn-fav-cartin a::before {
		width: 25px;
		height: 21px;
		top: 1px;
	}
}

.select-cartin {
	display: none;
}

/* 商品コメント１ */
.detail {
	border-top: solid 1px #e5e5e5;
	margin: 5px 0 0;
	padding: 36px 0 0;
}
@media screen and (min-width: 769px){
	.detail {
		border: none;
		margin: 0;
		padding: 45px 0 0;
	}
}


.title-detail {
	font-size: 16px;
	font-weight: 700;
}
@media screen and (min-width: 769px){
	.title-detail {
		font-size: 24px;
		font-feature-settings: initial;
	}
}

.title-detail span {
	margin: 0 0 0 10px;
	font-size: 9px;
}
@media screen and (min-width: 769px){
	.title-detail span {
		margin: 0 0 0 2em;
		font-size: 14px;
	}
}

.text-detail {
	margin: 14px 0 0;
	font-size: 12px;
	line-height: 1.5;
}
@media screen and (min-width: 769px){
	.text-detail {
		margin: 18px 0 0;
		font-size: 16px;
		font-feature-settings: initial;
	}
}

.value-detail {
	margin: 20px 0 0;
	font-size: 12px;
}
@media screen and (min-width: 769px){
	.value-detail {
		margin: 24px 0 0;
		font-size: 16px;
	}
}

.img-detail {
	margin: 15px 0 0;
}

.detail-list {
	margin: 17px 0 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 10px;
}
@media screen and (min-width: 769px){
	.detail-list {
		margin: 15px 0 0;
	}
}

.detail-list li {
	display: inline-block;
	padding: 5px 17px;
	background: #e5e5e5;
	font-size: 12px;
	line-height: 1;
	text-align: center;
}
@media screen and (min-width: 769px){
	.detail-list li {
		padding: 8px 18px;
		font-size: 14px;
	}
}

.detail-list li.sup-detail-wrapper {
	display: inline-flex;
	align-items: flex-end;
	width: 100%;
	margin: 2px 0 0;
	padding: 0;
	background: none;
	font-size: 10px;
	line-height: 1;
	text-align: left;
}
@media screen and (min-width: 769px){
	.detail-list li.sup-detail-wrapper {
		/* width: auto; */
		/* margin: 12px 9px 0 0; */
		font-size: 10px;
	}
}

.cart-voice {
	display: none;
}
@media screen and (min-width: 769px){
	.cart-voice {
		margin: 55px auto 0;
		text-align: center;
		font-size: 16px;
	}
}

.voicemore a {
	display: block;
	text-decoration: underline;
}

.voicemore a:hover {
	text-decoration: none;
}

/* thumbs-item */
.slide-item img {
	width: 100%;
	height: auto;
}

.main-image-list-wrapper {
	padding-bottom: 27px;
}

.main-image-list-wrapper.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
	position: relative;
	bottom: -12px;
	left: 0;
	width: 100%;
	text-align: center;
}
.main-image-list-wrapper.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap,5px);
}
.swiper-pagination-bullet {
	width: var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));
	height: var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));
	display: inline-block;
	border-radius: 50%;
	background: var(--swiper-pagination-bullet-inactive-color,#000);
	opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}
.swiper-pagination-bullet-active {
	opacity: var(--swiper-pagination-bullet-opacity, 1);
	background: var(--swiper-pagination-color,#000);
}

.main-image-next,.main-image-prev {
	display: none;
}
@media screen and (min-width: 769px){
	.main-image-list-wrapper {
		padding-bottom: 0;
	}

	.main-image-next,.main-image-prev {
		display: block;
		opacity: 0.5;
		position: absolute;
		top: 40%;
		z-index: 1;
		width: 50px;
		height: 100px;
		border: none;
		font-size: 0;
		outline: none;
	}
	
	.main-image-next:hover,
	.main-image-prev:hover {
		cursor: pointer;
	}

	.main-image-next {
		right: 0;
		background: #000 url(../../../../component/item/detail/img/arrow_mainimage_r.png) no-repeat right 17px center;
	}

	.main-image-prev {
		left: 0;
		background: #000 url(../../../../component/item/detail/img/arrow_mainimage_l.png) no-repeat left 17px center;
	}

	.main-image-pagination {
		display: none;
	}

	#body .thumbnail-list.view-pc {
		display: flex;
		flex-wrap: wrap;
		gap: 6px 0;
		width: calc(100% + 6px);
		margin-top: 15px;
	}

	.thumbnail-list-item {
		float: none;
		width: 73px;
		margin: 0;
		border: solid 2px #FFFFFF;
	}

	.thumbnail-list-item:nth-child(4n+1) {
		margin: 0;
	}

	.thumbnail-list-item:hover {
		border: solid 2px #333333;
		cursor: pointer;
	}
	
	.thumbnail-list-item.swiper-slide-thumb-active {
		border: solid 2px #333333;
	}
	
	.thumbnail-list-item img {
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
}


/* ==================================================
	section
================================================== */
.section {
	width: 100%;
	margin: 47px auto 0;
	padding: 0 30px;
	font-size: 16px;
	text-align: left;
}
@media screen and (min-width: 769px){
	.section {
		max-width: 980px;
		margin: 75px auto 0;
		padding: 0;
		font-feature-settings: initial;
	}
}

.section ~ .section {
	margin: 50px auto 0;
	padding: 47px 30px 0;
	border-top: solid 1px #e5e5e5;
}
@media screen and (min-width: 769px){
	.section ~ .section {
		margin: 50px auto 0;
		padding: 35px 0 0;
	}
}

.section#sec02 {
	margin-top: 39px;
}
@media screen and (min-width: 769px){
	.section#sec02 {
		margin-top: 49px;
	}
}

.title-section {
	font-size: 18px;
	font-weight: 700;
}
@media screen and (min-width: 769px){
	.title-section {
		font-size: 24px;
	}
}

.title-section sup {
	font-size: 10px;
	vertical-align: top;
}

.box-section {
	margin: 15px 0 0;
}
@media screen and (min-width: 769px){
	.box-section {
		margin: 20px 0 0;
	}
}

.box-section::after{
	display: block;
	clear: both;
	content: "";
}

.text-section,
.text980-section {
	width: 100%;
	font-size: 15px;
}
@media screen and (min-width: 769px){
	.text-section,
	.text980-section {
		font-feature-settings: initial;
	}
	.text-section {
		float: left;
		width: 510px;
		font-size: 16px;
	}
	.text980-section {
		font-size: 17px;
	}
}

.text-section sup,
.text980-section sup {
	font-size: 10px;
	vertical-align: text-top;
}
@media screen and (min-width: 769px){	
	.text-section sup,
	.text980-section sup {
		font-size: 10px;
	}
}

.sup-section {
	margin: 10px 0 0;
	font-size: 10px;
}
@media screen and (min-width: 769px){
	.sup-section {
		margin: 15px 0 0;
		font-size: 12px;
	}
}

.img-section,
.img980-section {
	width: 100%;
	margin: 10px 0 0;
}
@media screen and (min-width: 769px){
	.img-section {
		float: right;
		width: 360px;
		margin: 8px 0 0;
	}
	
	.img980-section {
		margin: 30px 0 0;
	}
}

.img-section img,
.img980-section img {
	width: 100%;
	height: auto;
}


/* ==================================================
	step
================================================== */
.step {
	width: 100%;
	margin: 50px auto 0;
	padding: 30px 30px 0;
	border-top: solid 1px #e5e5e5;
	font-size: 15px;
	text-align: left;
}
@media screen and (min-width: 769px){
	.step {
		width: 980px;
		margin: 37px auto 0;
		padding: 34px 0 0;
	}
}

.title-step {
	font-size: 16px;
	font-weight: 700;
}
@media screen and (min-width: 769px){
	.title-step {
		font-size: 25px;
	}
}

.step-list {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin: 17px 0 0;
}
@media screen and (min-width: 769px){
	.step-list {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		gap: 0;
		margin: 20px 0 0;
	}
}

.step-list-item {
	width: 100%;
	height: 66px;
	display: flex;
	align-items: center;
	background-color: #f9f9f9;
	border: 1px solid #e5e5e5;
	padding: 0 24px;
}
@media screen and (min-width: 769px){
	.step-list-item {
		flex-shrink: 0;
		width: calc((100% - 80px) / 3);
		height: 100%;
		aspect-ratio: 2 / 1;
		flex-direction: column;
		padding: 35px 20px;
	}
}

.step-list-item.current {
	margin: 0;
	background-color: #333333;
	border: 1px solid #333333;
	color: #ffffff;
}

.step-list-arrow {
	width: 8px;
	margin: 0 auto;
}
@media screen and (min-width: 769px){
	.step-list-arrow {
		width: 16px;
	}
}

.step-list-arrow .img-step-list {
	width: 100%;
	transform: rotate(90deg);
}
@media screen and (min-width: 769px){
	.step-list-arrow .img-step-list {
		transform: none;
	}
}

.title-step-list {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1;
}
@media screen and (min-width: 769px){
	.title-step-list {
		font-size: 16px;
	}
}

.text-step-list {
	margin-left: 20px;
	font-size: 16px;
	letter-spacing: 0.025em;
	line-height: 1;
}
@media screen and (min-width: 769px){
	.text-step-list {
		margin: 16px 0 0;
		font-size: 16px;
		letter-spacing: 0.025em;
		line-height: 1.45;
		text-align: center;
	}

	.step-list-item.current .text-step-list {
		margin-top: 30px;
	}
}

/* ==================================================
	use
================================================== */
.use {
	width: 100%;
	margin: 50px auto 0;
	padding: 30px 30px 0;
	border-top: solid 1px #e5e5e5;
	font-size: 15px;
	text-align: left;
}
@media screen and (min-width: 769px){
	.use {
		width: 980px;
		margin: 35px auto 0;
		padding: 0;
		border: none;
	}
}

.title-use {
	font-size: 16px;
	font-weight: 700;
}
@media screen and (min-width: 769px){
	.title-use {
		font-size: 25px;
	}
}
	
.box-use {
	margin: 20px 0 0;
}
	
.box-use::after{
	display: block;
	clear: both;
	content: "";
}

.howto-use {
	width: 100%;
}
@media screen and (min-width: 769px){
	.howto-use {
		float: left;
		width: 715px;
	}
}

.howto-list {
	display: flex;
	justify-content: space-between;
}
@media screen and (min-width: 769px){
	.howto-use {
		float: left;
		width: 715px;
	}
}

.howto-list-item {
	width: 30%;
}
@media screen and (min-width: 769px){
	.howto-list-item {
		width: 180px;
	}
}

.howto-list-item img {
	width: 100%;
	height: auto;
}

.howto-list-arrow {
	width: 8px;
	margin: 11% 0 0;
}
@media screen and (min-width: 769px){
	.howto-list-arrow {
		width: 16px;
		margin: 75px 0 0;
	}
}

.title-howto-list {
	margin: 8px 0 0;
	font-weight: bold;
	font-size: 14px;
}
@media screen and (min-width: 769px){
	.title-howto-list {
		margin: 16px 0 0;
		font-size: 17px;
	}
}

.text-howto-list {
	margin: 8px 0 0;
	font-size: 14px;
}
@media screen and (min-width: 769px){
	.text-howto-list {
		margin: 7px 0 0;
		font-size: 17px;
	}
}

.point-use {
	display: table;
	width: 100%;
	margin: 18px 0 0;
}
@media screen and (min-width: 769px){
	.point-use {
		display: block;
		float: right;
		width: 180px;
		margin: 0;
	}
}

.img-point-use {
	display:table-cell;
	width: 30%;
}
@media screen and (min-width: 769px){
	.img-point-use {
		display: block;
		width: 100%;
	}
}

.box-point-use {
	display:table-cell;
	width: 65%;
	padding: 0 0 0 10px;
	vertical-align: middle;
}
@media screen and (min-width: 769px){
	.box-point-use {
		display: block;
		width: 100%;
		padding: 0;
	}
}

.title-point-use {
	margin: 0;
	font-weight: bold;
	font-size: 15px;
}
@media screen and (min-width: 769px){
	.title-point-use {
		margin: 16px 0 0;
		font-size: 16px;
	}
}

.text-point-use {
	margin: 7px 0 0;
	font-size: 14px;
}
@media screen and (min-width: 769px){
	.text-point-use {
		font-size: 16px;
	}
}

/* ==================================================
	component
================================================== */
.component {
	width: calc(100% - 58px);
	margin: 30px auto 0;
	padding: 15px 20px;
	border: solid 1px #e5e5e5;
	font-size: 10px;
	line-height: 1.8;
	text-align: left;
}
@media screen and (min-width: 769px){
	.component {
		width: 980px;
		margin: 50px auto 0;
		padding: 25px 30px;
		font-size: 12px;
		line-height: 2;
	}
}

.title-component {
	font-size: inherit;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0;
}


/* ==================================================
	voice
================================================== */
.voice {
	width: 100%;
	margin: 50px 0 0;
	padding: 0 30px;
	background: #f9f9f9;
	font-size: 15px;
	text-align: left;
}
@media screen and (min-width: 769px){
	.voice {
		margin: 80px 0 0;
		padding: 0;
	}
}

.voice-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 34px 0 50px;
}
@media screen and (min-width: 769px){
	.voice-wrap {
		width: 980px;
		padding: 70px 0 75px;
	}
}

.title-voice-box {
	position: relative;
}
@media screen and (min-width: 769px){
	.title-voice-box {
		display: flex;
		justify-content: space-between;
	}
}

.title-voice {
	font-size: 20px;
	font-weight: 400;
	margin-top: 0;
}

.title-voicetext {
	display: inline-block;
	font-feature-settings: initial;
	font-size: 16px;
}
@media screen and (min-width: 769px){
	.title-voicetext {
		font-size: 20px;
	}
}

.title-voiceimg {
	display: inline-block;
	width: 30%;
}
@media screen and (min-width: 769px){
	.title-voiceimg {
		width: 126px;
	}
}

.title-voice img {
	vertical-align: middle;
}

.title-voiceno {
	font-size: 16px;
	margin: 0 0 0 10px;
	color: #ac791d;
}
@media screen and (min-width: 769px){
	.title-voiceno {
		font-size: 20px;
	}
}

.title-voicemore {
	margin: 20px 0 0;
	font-size: 13px;
}
@media screen and (min-width: 769px){
	.title-voicemore {
		margin: 5px 0 0;
		font-size: 16px;
		word-break: keep-all;
	}
}

.title-voicemore > a {
	text-decoration: underline;
}
.title-voicemore > a:hover {
	text-decoration: none;
}

.title-voicesup {
	display: block;
	margin: 5px 0 0;
	font-size: 10px;
}
@media screen and (min-width: 769px){
	.title-voicesup {
		margin: 10px 0 0;
		font-size: 12px;
	}
}

.voice-list-item {
	margin: 30px 0 0;
}

.img-voice-list {
	display: block;
	width: 100px;
}

.title-voice-list {
	margin: 15px 0 0;
	font-size: 14px;
	font-weight: bold;
}
@media screen and (min-width: 769px){
	.title-voice-list {
		margin: 20px 0 0;
		font-size: 16px;
	}
}

.text-voice-list {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.6;
}
@media screen and (min-width: 769px){
	.text-voice-list {
		margin: 4px 0 0;
		font-size: 15px;
		line-height: 1.5;
	}
}

.from-voice-list {
	margin: 10px 0 0;
	font-size: 12px;
}
@media screen and (min-width: 769px){
	.from-voice-list {
		font-size: inherit;
	}
}

.from-voice-list img {
	vertical-align: middle;
	font-size: 14px;
}

.from-voice-list a {
	text-decoration: none;
}

.icon-from {
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 0 0 20px;
	background: url(../img/icn_good.png) no-repeat;
	background-size: 12px;
	vertical-align: middle;
}
@media screen and (min-width: 769px){
	.icon-from {
		width: 17px;
		height: 17px;
		margin: 0 0 0 40px;
		background: url(../img/icn_good.png) no-repeat;
		background-size: 17px;
	}
}

a:visited .icon-from,
a:hover .icon-from {
	text-decoration: none;
	background: url(../img/icn_good_o.png) no-repeat;
}

.fromno {
	margin: 0 0 0 4px;
	color: #ac791d;
	vertical-align: middle;
}

a:hover .fromno {
	text-decoration: none;
}

.fromgood {
	margin: 0 0 0 10px;
	font-size: 12px;
}
@media screen and (min-width: 769px){
	.fromgood {
		margin: 0 0 0 10px;
		font-size: 14px;
	}
}

a:hover .fromgood {
	text-decoration: underline;
}

.btn-voice {
	display: block;
	width: calc(360 / 750 * 100vw);
	margin: 25px auto 0;
	padding: 13px 0;
	border: solid 1px #333333;
	border-radius: 25px;
	background: #333333;
	color: #ffffff;
	font-size: 12px;
	text-decoration: none;
	text-align: center;
	letter-spacing: 0.025em;
	line-height: 1;
}
@media screen and (min-width: 769px){
	.btn-voice {
		width: 300px;
		margin: 40px auto 0;
		padding: 18px 0;
		font-size: 16px;
	}
}

.btn-voice:hover {
	background: #ffffff;
	color: #333333;
	cursor: pointer;
}

.is-hidden {
  display: none;
}


/* ==================================================
	item02
================================================== */
.item02 {
	width: 980px;
	margin: 80px auto 60px;
	font-size: 15px;
	text-align: left;
}

.item02::after{
	display: block;
	clear: both;
	content: "";
}

.item02 .thumbs-item {
	width: 304px;
}

.item02 .thumbs-item img {
	width: 100%;
	height: auto;
}

.item02 .cart-item {
	width: 640px;
}

.item02 .btn-cartin {
	margin: 0 145px;
	display: block;
}

.item02 .btn-cartin::before {
	left: 100px;
}

.item02 .value-detail {
	margin: 10px 0 0;
}

.item02 .title-detail {
	font-weight: normal;
	font-size: 14px;
}

.item02 .text-detail {
	margin: 0;
	font-size: 14px;
}

input,textarea {
	-webkit-user-select: auto;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

h2 {
    padding: initial;
    background-color: initial;
}

/* 削除モーダル */
.modal-dialog .modal-footer .btn {
	border-radius: 50px;
	padding: 4px 10px;
	display: block;
	text-align: center;
}
@media screen and (min-width: 769px){
	.modal-dialog .modal-footer .btn {
		display: inline-block;
	}
}
.modal-dialog .modal-footer .btn + .btn {
	margin-top: 10px;
}
@media screen and (min-width: 769px){
	.modal-dialog .modal-footer .btn + .btn {
		margin-top: 0;
	}
	.bookmarkmodal-option {
		margin-top: 10px;
	}
}
.modal-dialog .modal-footer .btn-secondary {
	color: #333333;
	border: solid 1px #333333;
	background-color: transparent;
}
.modal-dialog .modal-footer .btn-primary {
	color: #fff;
	border: solid 1px #333333;
	background-color: #333333;
}

/* ==================================================
	商品コメント１に本文を入れた場合の調整
================================================== */
.content-wrap h2.title-section {
    display: block !important;
	
}/*h2が消えるのを防ぐ*/

.content-wrap .section {
	padding: 0 0;
}
	
.content-wrap .section ~ .section {
	padding: 47px 0 0;
}
@media screen and (min-width: 769px){
	.content-wrap .section ~ .section {
		padding: 35px 0 0;
	}
}
.content-wrap .use {
	padding: 30px 0 0;
}
@media screen and (min-width: 769px){
	.content-wrap .use {
		padding: 0;
	}
}

.content-wrap .step {
	padding: 30px 0 0;
}
@media screen and (min-width: 769px){
.content-wrap .step {
	padding: 34px 0 0;
}
}