﻿@charset "utf-8";
/* --------------------------------
	のし改造用のcssファイル
-------------------------------- */
.c_red{color:red;}
.d_block{display:block;}
.selector-hide,
select + .hidden_options{display: none;}
form[name="form2"] .dl_table,
form[name="form3"] .dl_table{
	border: none;
	margin: 0;
}
/* １～９関係 */
.option-form{margin-bottom:36px;}
@media screen and (max-width: 767px) {
	.option-form{margin-bottom:56px;}
}
@media screen and (max-width: 767px) {
	.option-form .form-control{
		font-size: 16px;
	}
}
.option-form .classcategory_list{
	border-top: 1px solid;
	margin-top:50px;
	padding-top:16px;
}
.option-form .classcategory_list > li label{
	font-size:14px;
}
@media screen and (max-width: 767px) {
	.option-form .classcategory_list > li:nth-child(n+2) label{
		display:block;
		padding-top:16px;
	}
}
.option-form .classcategory_list > li small{
	font-size:14px;
}
.option-form .classcategory_list > li:first-child label,
.option-form .classcategory_list > li:nth-child(3) label{
	font-size:18px;
}
.option-form .classcategory_list > li:nth-child(3){
	margin-top:46px;
}
.option-form .classcategory_list > li:nth-child(4) small{
	display: block;
	margin-top:16px;
}

@media screen and (max-width: 767px) {
	.option-form .classcategory_list > li:nth-child(3){
		margin-top:56px;
	}
}


.option-form .classcategory_list > li input,
.option-form .classcategory_list > li select{
	padding:9px 20px;
	height:46px;
	width: 100%;
}
.option-form .classcategory_list > li:nth-child(2n){
	margin-top:0;
}
.option-form .classcategory_list > li:nth-child(2n+3){
	font-size:small;
}
.option-form .classcategory_list > li:nth-child(2){
	display: flex;
	flex-wrap: wrap;
}
.option-form .classcategory_list > li:nth-child(2) small{
	line-height: 12px;
	padding-top:1em;
	width: 100%;
}
.option-form .classcategory_list > li:nth-child(2) select{
	width: calc(100% - 140px);
}
.option-form .classcategory_list > li:nth-child(2) a{
	font-size: 11px;
	line-height: 16px;
	margin-left: 20px;
	text-align: right;
	width: 120px;
}
.option-form .classcategory_list > li:nth-child(2) a > img{
	width: 16px;
	margin: 0 6px 0 0;
}
.option-form .classcategory_list > li:nth-child(2) a > div{
	margin-top: -50px;
}
.option-form .classcategory_list > li:nth-child(2) a div > img{
	margin-bottom:6.4px;
}
.option-form .classcategory_list > li:nth-child(3){
	border-top: 1px solid;
	padding-top:24px;
}


/* 20260309_のし・手提げ袋修正:６：表書き「その他」の内容 */
.option-form .classcategory_list > li label[for="productoption5"],
#option .modal-body .classcategory_list > li label[for="productoption5"]{
	display:none;
}
#option .modal-body .classcategory_list > li label[for="productoption5"] + li{
	margin-top: 16px;
}

.option-form .classcategory_list > li label[for="productoption7"]:after,
#option .modal-body .classcategory_list > li label[for="productoption7"]:after{
	content:"(必須)";
}
.option-form .classcategory_list li select,
.option-form .classcategory_list li input{
	border: 1px solid #ccc;
	margin-top:8px;
}
.option-form .classcategory_list li input + small{
	display:block;
	margint-top:0.25em;
}
#cart_item__info{
	line-height: 1.4em;
}
#cart_item__info .c_red{
	font-size:12px;
}
/* 20260309_のし・手提げ袋修正:４,５：商品内容の「のしの設定」以外を太字化 */
dl.item_detail >*:not(#cart_item_list__item_button){
	/* 20260309_のし・手提げ袋修正:５,１７,１９,２０,２１,２２,２４：オプション表記の色を#333に変更 */
	color:#333;
	font-weight:bold;
}
/* 20260309_のし・手提げ袋修正:１０：PC表示時の注文履歴のオプション表記のフォントサイズ変更 */
@media screen and (min-width: 769px) {
	#history_list .item_detail{font-size:14px;}
}
/* 20260309_のし・手提げ袋修正:１２：注文履歴詳細　商品名を太字化 */
#shopping_confirm .item_detail .item_name{
	font-weight:bold;
}
#shopping_confirm .item_detail .item_subtotal{
	font-weight: 100;
}

/* 20260309_のし・手提げ袋修正:１３：PC表示時の注文履歴　詳細のオプション表記のフォントサイズ変更 */
@media screen and (min-width: 769px) {
	#shopping_confirm .item_detail{font-size:14px;}
}
/* 20260309_のし・手提げ袋修正:１３：PC表示時の注文履歴　詳細のオプション表記上にマージン設定 */
#shopping_confirm .item_detail .item_pattern{margin-top:10px;}
/* 20260309_のし・手提げ袋修正:１４：SMP表示ジの注文履歴　詳細 商品画像とテキストを横並び化+商品名の表示を一番上 */
@media screen and (max-width: 768px) {
	#shopping_confirm  #detail_list_box__list .td.table,
	/* 20260309_のし・手提げ袋修正:１４：SMP表示時の注文履歴　詳細 配送先の表示も同じ条件で横並び */
	#shopping_confirm div[id^="shipping_list"] .td.table{display: flex;}
	#shopping_confirm .item_box .table .item_detail .item_name{order:0;}
	/* 2026_3_11 SMP表示時の注文内容確認の表示も同じ条件で横並び */
	#shopping_confirm div[id^="cart_box_list__item"] .td.table,
	#shopping_confirm div[id^="shipping_confirm_box__item"] .td.table{display: flex;}
}

/* 11:「のしの設定を表記」用のcss */
dl.item_detail dd:not([class]){
	/* 20260309_のし・手提げ袋修正:５：オプション表記の色を#333に変更 */
	color:#333;
	font-size: 12px;
	line-height:1.5;
	margin-top:1em;
}
@media screen and (max-width: 767px) {
	dl.item_detail dd:not([class]){
		font-size: 10px;
		line-height:1.5;
		margin-top:1em;
	}
}	
/* 12:「のしの変更ボタン」用のcss */
#cart_item_list__item_button .btn.btn-block{
	font-size:12px;
	margin-top: 1em;
	padding: 3.5px 30px;
	width: 120px;
}


.cart_item .item_box .table{width:50%;}
.cart_item .item_quantity{width:22%;}
#cart_item_list__quantity dl.quantity:nth-of-type(2){
	margin-top:8px;
}
#cart_item_list__quantity dl dt{
	font-size:14px;
	line-height:38px;
	margin-right:1em;
	text-align: right;
	min-width: 5.8em;
}

#cart_item_list__quantity select{
	border: 1px solid #ddd;
	font-size:16px;
	padding:4px 15px;
	width:80px;
}

/* 19:「数量・のし・紙袋などを変更する」の対応 */
#confirm_main #cart_box{margin-bottom:0;}
@media screen and (max-width: 767px) {
	#page_shopping #confirm_box__quantity_edit_button{
		margin-top:16px;
		font-weight: 600;
		font-style: Demibold;
		font-size: 14px;
		line-height: 150%;
		letter-spacing: 10%;
		padding:8px 13.5px;
		text-align:center;
	}
}
/* 21:「お手提げ袋購入のご案内」の非表示化 */
#shopping_confirm .d_none{display:none;}
/* 22:サイドメニュー「お手提げ袋」の非表示化 */
#product_category .d_none{display:none;}
/* 23:「お手提げ袋ご入り用の方はこちら」の非表示化 */
#g_navi .g_navi_bag_link{display:none;}
#sp_menu .d_none{display:none;}
/* 24:スマホヘッダーの「お手提げ袋」アイコンの非表示化 */
@media screen and (max-width: 768px) {
	#header .sp_bag.sp_v{display:none !important;}
}

/* 26:紙袋の詳細マウスオンの挙動 */
#form1 #option_description_link_1{
	transition: opacity .3s;
}
#form1 #option_description_link_1:hover{
	opacity: 0.7;
}

/* 27:紙袋の詳細 */
#option_description_1.option_description{
	margin-left: 0 !important;
	max-width: 490px;
	min-width: auto;
	max-height: 95%;
	left: calc(50vw - 245px) !important;
}


#option_description_1.option_description .modal-header{
	border-bottom:none !important;
	padding:40px 55px 25px !important;
}

#option_description_1.option_description .modal-header .modal-title{
font-size: 18px;
font-style: Regular;
font-weight: 400;
letter-spacing: 10%;
line-height: 150%;
}
#option_description_1.option_description .modal-body{
	padding:0 55px 40px !important;
}
#option_description_1.option_description .modal-body > div{
	margin-bottom:20px;
	padding-bottom: 0;
}
#option_description_1.option_description .modal-body > div > p{
	font-size: 16px;
	font-style: Regular;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 10%;
	margin-bottom:30px;
	margin-top:0;
}

#option_description_1.option_description .modal-body > div > p small{
	display: block;
	font-size: 14px;
	font-style: Regular;
	font-weight: 400;
	line-height: 250%;
	letter-spacing: 10%;
	margin-top: 1em;
}
#option_description_1.option_description .modal-body .modal-body-img > img{
	margin: 0;
	width: auto;
}
#option_description_1.option_description .modal-body .plainmodal-close{
	border: 1px solid;
	font-style: Regular;
	font-size: 16px;
	font-weight: 400;
	line-height: 100%;
	letter-spacing: 0%;
	margin-top:35px;
	padding:15px 0;
	text-align: center;
}
@media screen and (max-width: 510px) {
	#option_description_1.option_description{
		max-width: calc(100% - 40px);
		left: 20px !important;
	}
	#option_description_1.option_description .modal-header{
		padding:25px 20px 16px !important;
	}
	
	#option_description_1.option_description .modal-header .modal-title{
	}
	#option_description_1.option_description .modal-body{
		padding:0 20px 25px !important;
	}
	#option_description_1.option_description .modal-body > div{
		margin-bottom:25px;
	}
	#option_description_1.option_description .modal-body > div > p{
		font-size: 13px;
		margin-bottom:25px;
		margin-top:0;
	}
	
	#option_description_1.option_description .modal-body > div > p small{
		font-size: 12px;
	}
	#option_description_1.option_description .modal-body .modal-body-img > img{
		margin: 0;
		width: auto;
	}
	#option_description_1.option_description .modal-body .plainmodal-close{
		font-size: 14px;
		margin-top:25px;
		padding:15px 0;
	}
}
/* カートページのスマホ対応用 */
@media screen and (max-width: 768px) {
	#cart_item_list__cart_remove{
		vertical-align: top;
		padding:16px 11px;
	}
	#cart_item_list__cart_remove > a{
		display: block;
		padding-top: 24px;
	}
	#cart_item_list__item.item_box.tr .item_photo{
		width:88px;
	}
	#cart_item_list__item.item_box.tr .td.table{
		display: flex;
		flex-flow: row;
		padding:16px 11px;
		width:100%;
	}
	.cart_item .item_box .table .item_detail{
		display: flex;
		flex-flow: column;
		width: 100%;
	}
	.cart_item .item_box .table .item_detail .item_name{
		line-height: 1;
		margin-bottom: 0;
		order:1;
	}
	.cart_item .item_box .table .item_detail .item_price{
		margin-top:2px;
		order:2;
	}
	.cart_item .item_box .table .item_detail .item_quantity {
		display: flex;
		margin-top:9px;
		order:3;
	}
	.cart_item .item_box .table .item_detail .item_quantity::before{
		content: "";
	}
	.cart_item .item_box .table .item_detail #cart_item_list__quantity.item_quantity dl.quantity{
		margin-top:0;
	}
	.cart_item .item_box .table .item_detail #cart_item_list__quantity.item_quantity dl.quantity:nth-of-type(2){
		margin-left:8px;
	}
	.cart_item .item_box .table .item_detail #cart_item_list__quantity.item_quantity dl dt{
		font-size: 10px;
		font-style: Regular;
		font-weight: 400;
		line-height: 100%;
		letter-spacing: 10%;
		margin:0;
		margin-bottom: 3px;
		min-width: auto;
		min-height: auto;
	}
	.cart_item .item_box .table .item_detail #cart_item_list__quantity.item_quantity dd{
		margin:0;
		padding:0;
	}
	
	.cart_item .item_box .table .item_detail #cart_item_list__quantity.item_quantity dd select{
		font-size: 12px;
		padding:4.5px 8px;
		width:95px;
	}

	.cart_item .item_box .table .item_detail dd:not([class]){
		margin-top:9px;
		order:4;
	}
	.cart_item .item_box .table .item_detail dd#cart_item_list__item_button{
		margin-top:0;
		width:100%;
		order:5;
	}
	.cart_item .item_box .table .item_detail dd#cart_item_list__item_button > a{
		margin-top:9px;
		width: 100%;
	}

	.cart_item .item_box .table .item_detail .item_subtotal{
		margin-top:18px;
		text-align: right;
		order:6;
	}
	.total_box{padding-top:23px;}
	.total_box dl.total_price dd{
		font-size: 20px;
		font-style: Demibold;
		font-weight: 600;
		line-height: 100%;
		letter-spacing: 10%;
		padding-left: 0;
		text-align: right;
	}
	#total_box__user_action_menu{
		margin-top:10px;
	}

	/* 20260309_のし・手提げ袋修正:１６：SMP表示時にヘッダーにカートアイコンを追加 */
	.sp_cart.sp_v {
		align-items: center;
		border-left: 1px solid #ddd;
		box-sizing: border-box;
		cursor: pointer;
		display: block;
		justify-content: center;
		position: absolute;
		height: 100%;
		width: 56px;
		right: 110px;
		top: 0;
		z-index: 30;
	}
	.sp_cart .ico_cart {
		width: 18px;
		margin: auto;
		position: relative;
		top: 10px;
	}
	.sp_cart .text_cart{
		margin-left: -22.5px;
		position: absolute;
		bottom: 13px;
		width: 45px;
		left: 50%;
	}
}
