@charset "utf-8";
/* ===================================================================
CSS information
file name  :contents.css
style info :下層コンテンツ用(#undercolumn)
=================================================================== */
/* -----------------------------------------------
#undercolumn 汎用
----------------------------------------------- */
#undercolumn {
    padding-bottom: 35px;
}
/**イントロダクション*/
.information {
    font-weight: bold;
    padding: 10px 5%;
    line-height: 1.6;
    border-bottom: #CCC solid 1px;
}
.information p:first-child {
    font-size: 14px;
    margin-bottom: 0.5em;
}
.raku2_confirm_information {
	padding: 10px 5%;
	line-height: 1.6;
}
/*フォーム枠*/
.form_area {
    padding: 5%;
}
.form_area p {
    margin-bottom: 0.5em;
}
.form_area p:first-child {
    /*margin-bottom: 0.5em;*/
}
/*購入STEP表示部*/
.flow_area {
    margin: 20px 5% 0 !important;
    text-align: center;
}
.formBox {
    margin-bottom: 20px;
    border: solid 1px #ccc;
}
.innerBox {
    padding: 15px 5%;
    border-bottom: #e9e9e9 solid 1px;
}
.arrowBox {
    padding: 10px 25px 10px 10px;
    background: url(../img/common/ico_arrowR.png) 95% center no-repeat;
    border-bottom: #CCC solid 1px;
    clear: both;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .arrowBox {
        background: url(../img/common/ico_arrowR2.png) 95% center no-repeat;
        -webkit-background-size: 10px 15px;
        background-size: 10px 15px;
    }
}
.box_header {
    font-size: 16px;
    font-weight: bold;
    background: #EEE;
    padding: 10px;
    /*
    border-radius: 7px 7px 0 0;
    -moz-border-radius: 7px 7px 0 0;
    -webkit-border-radius: 7px 7px 0 0;
    */
    border-bottom: #CCC solid 1px;
}
/*合計(フォーム下)*/
.total_area,
.result_area {
    padding: 10px;
    text-align: right;
    background: #F7F5F0;
    border-top: #FFF solid 1px;
    border-bottom: #ccc solid 1px;
}
.formBox .btn_area_btm {
    padding: 10px;
    background: #F7F5F0;
    border-top: #FFF solid 1px;
    border-bottom: none;
    border-radius: 0 0 7px 7px;
    -moz-border-radius: 0 0 7px 7px;
    -webkit-border-radius: 0 0 7px 7px;
}
.formBox div:first-child {
}
.formBox div:last-child {
    border-bottom: none;
}
.form_area div:after {
    /*content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;*/
}

/* ページャー */
.pagenumber_area {
    text-align: center;
    margin-top: 12px;
}
.pagenumber_area .navi a,
.pagenumber_area .navi strong {
    border: solid 1px #ccc;
    padding: 5px 10px;
    display: inline-block;
}

/* 画面メッセージ用（余白付け） */
.raku2param_msg_bloc {
	margin: 0 5%;
}

.ui-body-c, .ui-overlay-c {
	text-shadow: none!important;
}

/* -----------------------------------------------
 共通
----------------------------------------------- */
.chk_container,
.chk_container24 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.chk_container > label {
	width: 50%;
}
.chk_container24 > label {
	width: 24%;
}

/* -----------------------------------------------
カートボックス
----------------------------------------------- */
/* 送料無料アナウンス */
#delivfree_announce {
    text-align: center;
    padding: 0.5em 0.5em 0;
    border: solid 1px #ccc;
    margin-bottom: 5%;
    font-weight: bold;
    background: #f7f5f0;
    border-radius: 4px;
}

/*カゴの中の商品*/
.cartinarea {
	padding: 5% 5% 0;
	border-bottom: #CCC solid 1px;
}
.cartitemBox {
    padding: 0;
    border-bottom: #e9e9e9 solid 1px;
    clear: both;
}
.cartinarea .cartitemBox,#cartconfirm_area .cartconfirmBox{
    margin-bottom: 5%;
    padding-bottom: 5%;
    position: relative;
    overflow: hidden;
}
#cartconfirm_area .cartconfirmBox:last-child {
    margin-bottom: 0;
}
.cartinarea .cartitemBox:last-child {
    border-bottom: none;
}
.cartinarea .photoL {
    width: 80px;
}
.cartinarea .cartinContents {
    width: 68%;
    float: right;
    display: block;
    position: relative;
}
.cartinContents .listdetail {
    margin-bottom: 15px;
}
.cartinarea .cartinContents p {
    line-height: 1.2;
}
.cartinContents div {
    min-height: 50px;
}
.cartitemBox p.listphoto {
    width: 20%;
    max-width: 100%;
    margin: 0;
    text-align: center;
}
.cartinarea .cartitemBox .photoL {
	width: 100%;
    float: none;
}
.cartinarea .cartitemBox .cartinContents {
	width: 75%;
    float: right;
    display: inline-block;
    position: relative;
}
.cartitemBox p.btn_delete {
    background: #aeaeae;
    display: inline-block;
    padding: 3px 5px;
    border-radius: 3px;
    margin: 0 0 5px;
    position: absolute;
    right: 0;
    top: 0;
}
.cartitemBox .result {
    float: right;
    width: 77%;
    text-align: right;
    margin-bottom: 10px;
}
.cartitemBox p.btn_delete:before {
    content: "\f146";
    font-family: FontAwesome;
    margin-right: 5px;
    color: #fff;
}
.cartitemBox a:link {
    color: #fff;
}
.cartitemBox a:link:hover {
    color: #fff;
    opacity: 0.6;
}
.cartitemBox a:visited {
    color: #fff;
}
.formBox div.quantity {
    border: 1px solid #e9e9e9;
    border-radius: 0;
    padding: 0 10px;
    min-height: auto;
    display: block;
}
.quantity select {
    margin: 10px;
}
.mg-bm{
    margin-bottom: 10px;
    overflow: hidden;
}
.cartinContents .result {
    float: right;
    min-height: auto;
}
.quantity select {
    padding: 4px;
    border-radius: 2px;
    background: #fff;
    border: solid 1px #a9a9a9;
    min-width: 60px;
}
.cart_err_box {
    border:solid #f00;
    border-width:3px;
    background:#fee;
    text-align:center;
    padding:5px 0px;
}
.cart_msg_box {
    border:solid #f00;
    border-width:3px;
    background:#fee;
    text-align:center;
    padding:5px 0px;
    margin-top:20px;
    margin-bottom:20px;
}
.cart_noitem_box {
    border:solid #f00;
    border-width:3px;
    background:#fee;
    text-align:center;
    padding:5px 0px;
}

/* -----------------------------------------------
カートの中ページ
----------------------------------------------- */
.totalmoney_area {
    font-size: 14px;
    font-weight: bold;
    padding: 10px;
    border-bottom: #CCC solid 1px;
}
.point_announce {
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 5px;
}
.cartinContents .btn_delete {
    padding: 2px;
    right: 0;
    float: right;
    position: absolute;
    top: 0;
    cursor: pointer;
}
.cartinContents ul {
    float: right;
    clear: both;
    line-height: 1.1;
}
.cartinContents ul li {
    display: inline;
    float: left;
}
.cartinContents ul li.quantity {
    padding-left: 0.5em;
    padding-top: 1em;
    vertical-align: bottom;
}
.cartinContents ul li.quantity_btn {
    padding-left: 0.5em;
    padding-top: 0.8em;
    vertical-align: bottom;
}
.cartinContents ul li.result {
    padding-left: 1.5em;
    padding-top: 1em;
    vertical-align: bottom;
}
ul#quantity_level {
    float: none;
}
.cartinContents ul#quantity_level li.quantity {
    padding-left: 0;
    padding-top: 1em;
    vertical-align: bottom;
    display: block;
    float: none;
}
.cartinContents ul#quantity_level li.quantity span.mini {
    margin-right: 5px;
}

.cartinContents ul#quantity_level li.quantity_btn {
    padding-right: 0.5em;
    padding-left: 0;
    padding-top: 0.8em;
    vertical-align: bottom;
}

/* 更新ボタン用 */
span.mini.quantity_update {
    display: inline-block;
    margin-left: 5px;
}

span.mini.quantity_update a {
    color: #fff;
    padding: 2px 3px;
    background: #333;
    display: inline-block;
    border-radius: 2px;
    line-height: 1.5em;
    font-size: 11px;
    text-decoration: none;
    vertical-align: bottom;
}

span.mini.quantity_update a:before {
    content: url(/user_data/packages/raku2pc/img/icon/update.svg);
    font-family: FontAwesome;
    margin-right: 3px;
    color: #fff;
    width: 14px;
    display: inline-block;
    line-height: 1em;
    vertical-align: text-top;
}

.cartinContents p {
    width: 74%;
}

.cartinContents p.btn_delete {
    margin-right: 0;
}

.cartinContents div.raku2_box_quantity {
	min-height: 0;
	margin-top: 3px;
	margin-left: 3px;
}

.raku2_noshi_select span.raku2_noshi_select_title,
.raku2_noshi_name span.raku2_noshi_name_title,
.raku2_packing span.raku2_packing_title {
	display: inline-block;
	width: 30%;
}

.raku2_noshi_select span.raku2_separator,
.raku2_noshi_name span.raku2_separator,
.raku2_packing span.raku2_separator {
	display: inline-block;
	width: 5%;
}

.raku2_noshi_select span.raku2_noshi_select_text,
.raku2_noshi_name span.raku2_noshi_name_text,
.raku2_packing span.raku2_packing_text {
	width: 65%;
}

.cartinContents .raku2_noshi_select,
.cartinContents .raku2_noshi_name,
.cartinContents .raku2_packing {
	min-height: 0px;
}

 .raku2_noshi_select,
 .raku2_noshi_name,
 .raku2_packing {
	margin-bottom: 3px;
}


/* -----------------------------------------------
お届け先指定
----------------------------------------------- */
.deliv_check {
    clear: both;
    border: none;
}
.deliv_check dt {
    font-size: 14px;
    font-weight: bold;
	padding: 12px 5%;
    background: #fafafa;
    border-top: #FFF solid 1px;
    border-bottom: solid 1px #ededed;
    vertical-align: middle;
    position: relative;
    display: block;
}
.deliv_check dt p {
    vertical-align: middle;
    margin-bottom: 0;
}
.deliv_check dt label {
    display: inline-block;
    width: 100%;
}
.deliv_check dd {
    padding: 5%;
    border-bottom: #CCC dotted 1px;
    display: block;
}
.deliv_check dd.end {
    border-bottom: none;
}
.deliv_check dd p {
    display: inline;
}
.deliv_check ul.deliv_edit {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
    font-size: 12px;
}
.deliv_check ul.deliv_edit li {
    width: calc(48% - 2px);
    text-align: center;
}
.deliv_check ul.deliv_edit li:nth-child(even) {
    margin-left: 4%;
}
.deliv_check ul.deliv_edit li a {
    width: 100%;
    display: inline-block;
    border: solid 1px #ccc;
    padding: 5px 0;
    border-radius: 2px;
    color: #2d2d2e;
    background: #eff1f3;
    background: -webkit-linear-gradient(top,#f7f8fa,#e7e9ec);
    background: linear-gradient(to bottom,#f7f8fa,#e7e9ec);
}

/* .deliv_check input[type="radio"]+label::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 2px #dcdcdc;
    border-radius: 17px;
    margin: 0 15px 0 0;
    background-color: #ededed;
    vertical-align: middle;
    -webkit-transition: background-color ease .2s;
    transition: background-color ease .2s;
}
.deliv_check input[type="radio"]:checked+label:before {
    border: solid 8px #2185c5;
    background: #fff;
}*/
.deliv_check input[type="radio"] {
    display: none;
}
.LC_Page_Shopping_Deliv .formBox {
    border: solid 1px #e6e6e6;
    padding-bottom: 15px;
}
.formBox a.btn_sub.addbtn {
    margin: 0 auto;
    padding: 4px 7%;
    border-radius: 5px;
    background: #2185c5;
    text-align: center;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    width: 86%;
}
.form_area .center{
	text-align: center;
}
.form_area .center.inner {
    width: 280px;
    margin: 0 auto;
    padding: 15px 0 0;
}
.form_area .inner i.fa-plus-square:before {
    margin-right: 5px;
}


/* -----------------------------------------------
お届け先指定(複数)
----------------------------------------------- */
.delivitemBox {
    padding: 10px;
    border-bottom: #CCC solid 1px;
    clear: both;
    position: relative;
}
.delivitemBox .photoL {
    width: 80px;
}
.delivitemBox .delivContents {
    width: 67%;
    float: right;
    display: block;
    position: relative;
}

.delivContents p {
    float: left;
    line-height: 1.2;
    margin-bottom: 5px;
    margin-right: 40px;
}
.delivContents ul {
    width: 3em;
    float: right;
    right: 7px;
    position: absolute;
}
.delivContents ul li {
    text-align: center;
    clear: both;
}

.delivContents ul li:first-child {
    line-height: 1.2;
    vertical-align: bottom;
}

/* -----------------------------------------------
お支払方法・お届け時間等の指定
----------------------------------------------- */
input[type="radio"] + label{
    padding-left: 25px;
    position: relative;
}
input[type="radio"] + label::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #2E2E2E;
    border-radius: 50%;
    top: 1px;
	box-sizing: initial;
}
input[type="radio"]:checked + label::after{
	content: "";
	display: block;
	position: absolute;
	left: 3px;
	width: 11px;
	height: 11px;
	background: #848484;
	border-radius: 50%;
	top: 4px;
}
table.change_item_list input[type="radio"] + label {
    padding-left: 18px;
    position: relative;
}
.pay_area input[type="radio"] + label::before,
.pay_area02 input[type="radio"] + label::before{
    top: 14px;
}

.pay_area input[type="radio"]:checked + label::after,
.pay_area02 input[type="radio"]:checked + label::after{
    top: 17px;
}


/* お支払い方法の説明欄
----------------------------------------------- */
.payment_desc img {
    width: 100% !important;
}

.payment_desc{
    font-size: 0.8em;
}

.pay_area02 .time_select {
    margin-top: 10px;
    overflow: hidden;
}
.pay_area02 .time_select .deliv_express_msg {
    margin-left: 15px;
    margin-bottom: 15px;
    font-size: 85%;
}
.pay_area02 .time_select .select_date_area {
    margin-left: 15px;
}
.pay_area02 .time_select .select_date_area .select_date {
    float: left;
    margin-right: 10px;
}
.pay_area02 .time_select h4 {
    font-size: 100%;
}
.pay_area02 .time_select select {
	margin: 0 0 10px 0;
    display: block;
}
.pay_area02 .time_select p#deliv_express_msg {
    margin: -10px 0 15px 54px;
}
.pay_area02 .time_select span#date_no_selectable,
.pay_area02 .time_select span#time_no_selectable {
	display: inline-block;
}
.pay_area02 .time_select label {
    line-height: 1;
    padding: 15px;
    display: block;
}
.pay_area02 .time_select label:nth-of-type(2) {
    border-top: solid 1px #e9e9e9;
}

.pay_area ul {
	border-bottom: solid 1px #e9e9e9;
}
.pay_area ul,
.pay_area02 {
    margin: 10px 0;
}
.pay_area ul li label{
    line-height: 1;
    border-top: solid 1px #e9e9e9;
    padding: 15px 15px 15px 25px;
    display: block;
}
.pay_area ul li .deliv_description,
.pay_area ul li .payment_description {
	display: none; /* ラジオ未選択時は非表示 */
    margin-left: 15px;
    margin-bottom: 15px;
    font-size: 85%;
}
.pay_area ul li input:checked+label+.deliv_description,
.pay_area ul li input:checked+label+.payment_description {
    display: block;
}
.pay_area .attention,
.pay_area02 .attention {
    margin-left: 10px;
}
.pay_area02 select:first-child {
    margin-bottom: 12px;
}

.coupon_area select {
    width: 100%;
}
.coupon_area p.coupon_code {
    font-size: 12px;
    padding-left: 39px;
    font-weight: normal;
}
p.check_point {
    font-size: 12px;
    padding-left: 39px;
    font-weight: normal;
}
p.check_point .box_point .box_quantity{
    margin-right: 0.5em;
}
p.check_point input.box_point {
    width: 50px;
}
input.box_quantity {
    width: 50px;
}
.contact_area p {
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 10px;
}
.contact_area .textarea {
    width: 95%;
}
.non-select-msg {
    margin: 20px 0;
    border: none;
}
section#periodArea p {
    padding: 5%;
}
.formBox .fl-right .quantity {
    padding-left: 0;
    padding-top: 0;
    vertical-align: middle;
    float: none;
}
.formBox .fl-right .raku2_exchange_points_number {
    padding-left: 1em;
    vertical-align: middle;
    float: none;
}
.formBox .fl-right .result {
    float: none;
    width: auto;
    margin-bottom: 0;
    vertical-align: middle;
}
/*クレジットカード　名義入力箇所*/
span.cardholder_name,
#credit_info_area span.cardholder_name {
    display: inline-block;
}
/*クーポン選択プルダウン箇所*/
.formBox select[name="plg_raku2_coupon_publish_code"] {
    max-width: 100%;
}

/* 定期サイクルエリア */
#periodArea .period  {
    padding: 5%;
    border-top: solid 1px #ccc;
    margin-bottom: 20px;
}
#periodArea .period ul:after {
    display: none;
}
#periodArea .period .confirmArea {
    text-align: center;
    margin-top: 15px;
    background: #fafae6;
    padding: 10px;
    font-size: 12px;
}
section#periodArea p {
    padding: 5%;
}
section#periodArea .confirmArea p {
    padding: 0;
}
#periodArea .period h4 {
    float: left;
    margin-bottom: 15px;
}
#periodArea .period span.teiki_cycle_set {
    float: left;
}
#periodArea .period .teiki_cycle_item {
    clear: both;
    margin-bottom: 15px;
}
#periodArea .period .teiki_cycle_item h5 {
    font-size: 100%;
}
#periodArea .period span.attention.teiki_cycle_set {
    font-size: 11px;
    margin-top: 4px;
}

#zeus_token_card_info_area {
    padding: 10px;
    margin-bottom: 10px;
}
#zeus_token_card_info_area input[type="radio"] {
    margin-right: 0.5em;
}
#zeus_token_card_info_area input[type="text"],
#zeus_token_card_info_area input[type="tel"],
#zeus_token_card_info_area select {
    font-size: 12px;
}
#zeus_token_card_info_area label[for^="zeus_token_action_type"] {
    font-weight: bold;
}
.confirm_btn {
    -webkit-appearance: none;
    width: 100%;
    color: #FFF;
    font-size: 16px;
    text-decoration: none;
    text-align: center;
    padding: 10px;
    display: block;
    cursor: -webkit-grab;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border: none;
    background: #FF931E;
}

/* ▼定期コース */
.teiki_course {
	margin-top: 10px;
	clear: both;
}

.teiki_course_title,
.teiki_course_select {
	margin-bottom: 10px;
}
.order_item .listdetail .teiki_course p[class^='teiki_course_msg']{
	color: #00796B;
}

.order_item .listdetail .teiki_course .teiki_course_inner{
	line-height: 50px;
}
/* ▲定期コース */
/* -----------------------------------------------
ご注文内容のご確認
----------------------------------------------- */
.cartcartconfirmarea {
    padding: 5% 5% 0;
    border-bottom: #CCC solid 1px;
}
.cartconfirmBox {
    border-bottom: #CCC solid 1px;
    clear: both;
    position: relative;
}
.cartconfirmBox:last-child {
    border-bottom: none;
}
.cartconfirmBox .photoL {
    width: 20%;
    float: left;
    clear: both;
}
.cartconfirmContents {
    width: 75%;
    position: relative;
    line-height: 1.3;
    overflow: hidden;
	float: right;
}
.cartconfirmContents div {
    min-height: 62px;
    line-height: 1.3;
}
.formBox .fl-right {
    float: right;
    margin-top: 10px;
    width: 90%;
    text-align: right;
}
.cartinContents p.rank_label,.cartconfirmContents p.rank_label {
    margin-top: 15px;
    margin-bottom: 2px;
}
.cartinContents p.rank_detail,.cartconfirmContents p.rank_detail {
    display: block;
    color: #ff0008;
    font-size: 14px;
    font-weight: bold;
}
/* 定期の総合計額表示部 */
.formBox.total_teiki_all div:last-child {
    border-radius: 7px;
}
.formBox.total_teiki_all span.attention {
    color: #008a00;
    font-size: 11px;
}

/* 定期の商品詳細メッセージ 各回の支払金額 */
span[id^="raku2_open"]{
  cursor: pointer;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-align: center;
  margin: 16px auto 0;
  position: relative;
  top: 30%;
}

.formBox div[id^="raku2_close"]{
  cursor: pointer;
  width: 200px;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-align: center;
  margin: 16px auto 0;
  position: relative;
  padding:5px;
  top: 30%;
  background: var(--main-color) none repeat scroll 0% 0%;
  color: var(--char-color);
}

div[id^="raku2_mask"]{
  background: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 99;
}

section[id^="raku2_modal"]{
  background: #fff;
  color: #555;
  width: 260px;
  padding: 10px;
  border-radius: 4px;
  position: fixed !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  margin: 0 auto;
  z-index: 999;
  transition: 0.4s;
}
div.raku2_order_teiki_info div {
	border-bottom: 0.1rem solid #e5e5e5;
	margin-bottom: 4px;
}

div.raku2_order_teiki_info div {
	display: inline-block;
}

div.raku2_order_teiki_info div.raku2_number {
	width: 55%;
}

div.raku2_order_teiki_info .raku2_price {
  text-align: right;
  width: 45%;
}

div.raku2_cartconfirmProductInfo {
  float: right;
}

span.raku2_cartconfirmProductInfo {
  text-align: right;
  display: block;
}

.cartcartconfirmarea .cartconfirmContents div {
    min-height: auto;
}
.cartconfirmBox ul {
    float: right;
    clear: both;
    line-height: 1.1;
}
.cartconfirmBox ul li {
    display: inline;
    font-weight: bold;
}
.cartconfirmBox ul li.result {
    padding-left: 1em;
    vertical-align: bottom;
}
.result_area {
    font-size: 14px;
    font-weight: bold;
}
.result_area dl {
    text-align: right;
    float: right;
    display: block;
}
.result_area dt,
.result_area dd {
    text-align: right;
}
.result_area dt {
    font-size: 11px;
    clear: left;
    float: right;
}
.confirm_box {
    display: table;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}
.alart_coupon_select {
	text-align: center;
	color: #008a00;
}
dl.point dl {
    display: block;
}
.confirm_box .main {
    display: table-cell;
    width: 80%;
    vertical-align: middle;
}
.confirm_box .sub {
    display: table-cell;
    width: 20%;
    vertical-align: middle;
    text-align: right;
}
.confirm_box .sub {
    vertical-align: top !important;
}
#pointconfirm_area .confirm_box .main h4,
#otherconfirm_area .confirm_box .main h4 {
    float: left;
    clear: both;
    font-size: 100%;
}
#pointconfirm_area .confirm_box .main p,
#otherconfirm_area .confirm_box .main p {
    float: left;
}
a.btn_change_payment {
    border: solid 1px #2185c5;
    padding: 5px 10px;
    border-radius: 4px;
    display: block;
    text-align: center;
    background: #fff;
    font-weight: normal;
    line-height: 1.6;
    font-size: 14px;
}
#couponconfirm_area .use_coupon {
    vertical-align: bottom;
}
#pointconfirm_area .use_point {
    font-size: 114%;
    vertical-align: bottom;
}
#pointconfirm_area #point_detail {
    padding: 5% 0 0;
    margin-top: 5%;
    border-top: solid 1px #e9e9e9;
}
#pointconfirm_area #point_detail dl dt {
    float: left;
    clear: both;
    margin-bottom: 5px;
}
#pointconfirm_area #point_detail dl dd {
    float: right;
}


.customer_confirm dt,
.deliv_confirm dt {
    font-size: 14px;
    font-weight: bold;
    padding: 10px;
    background: #EEE;
    border-top: #FFF solid 1px;
    border-radius: 7px 7px 0 0;
    -moz-border-radius: 7px 7px 0 0;
    -webkit-border-radius: 7px 7px 0 0;
    line-height: 1.2;
    vertical-align: middle;
    position: relative;
    display: block;
}
.customer_confirm dd,
.deliv_confirm dd {
    font-size: 12px;
    padding: 10px;
    border-bottom: #CCC solid 1px;
    display: block;
    line-height: 1.3;
}

.customer_confirm dd:last-child, 
.deliv_confirm dd:last-child {
    border-bottom: none;
}

.customer_confirm dd p.deliv_name,
.deliv_confirm dd p.deliv_name {
    margin-bottom: 3px;
    font-size: 14px;
    line-height: 1.3;
}

.date_confirm li {
    padding-right: 1em;
    display: inline;
}
.formBox .raku2_exchange_points_number {
	vertical-align: middle;
	font-weight: bold;
}
.formBox .result {
	display: inline-block;
	vertical-align: middle;
	font-weight: bold;
}

.btn_area {
	position: relative;
}
.btn_change_box {
	position: absolute;
    width: 85px;
    right: -30px;
    top: 12px;
}
.btn_change_box_period {
	position: absolute;
    width: 85px;
    right: -30px;
    top: 40px;
}
section#otherconfirm_area .formBox div:first-child, section.period_area .formBox div:first-child {
    padding-top: 0;
}
body.LC_Page_Shopping_Confirm section .formBox {
    margin-bottom: 0;
}

body.LC_Page_Shopping_Confirm section .raku2_row_payment_total_teiki_price {
	margin-bottom: 20px;
}

body.LC_Page_Shopping_Confirm section .formBox:nth-child(2) {
    margin-top: 5%;
/*
    border-top: solid 1px #e9e9e9;
    padding-top: 15px;
*/
}
/* 変更ボタン用 */
body.LC_Page_Shopping_Confirm section {
    position: relative;
}
section#otherconfirm_area .formBox, section.period_area .formBox {
    border: none;
}
section#otherconfirm_area .innerBox, section.period_area .innerBox {
    padding: 15px 0;
}
.sub.btn_conf_chg {
    position: absolute;
    top: 8px;
    right: 7px;
}

/* -----------------------------------------------
確認画面アンケート
----------------------------------------------- */

.plg_Raku2_LC_Page_Shopping_Chg_Enq .plg_raku2_enquete_title, 
.plg_Raku2_LC_Page_Shopping_Chg_Enq #in_enquete .raku2param_message_disp,
.LC_Page_Shopping_Confirm .plg_raku2_enquete_title, 
.LC_Page_Shopping_Confirm #in_enquete .raku2param_message_disp {
    text-align: left;
    padding: 5px 2%;
}

.plg_Raku2_LC_Page_Shopping_Chg_Enq #in_enquete table th,
.LC_Page_Shopping_Confirm #in_enquete table th {
    text-align: left;
    background: #ededed;
    padding: 5px 3%;
}

.plg_Raku2_LC_Page_Shopping_Chg_Enq #in_enquete table,
.LC_Page_Shopping_Confirm #in_enquete table {
    width: 94%;
    margin: 0 auto;
}
.plg_Raku2_LC_Page_Shopping_Chg_Enq #in_enquete table td,
.LC_Page_Shopping_Confirm #in_enquete table td  {
    padding: 10px 3% 20px;
}


/* -----------------------------------------------
入力フォーム/確認画面共通
----------------------------------------------- */
.raku2_customer_confirm_msg {
	margin-bottom: 5px;
}

dl.form_entry {
    width: 100%;
    margin: 0 0 15px 0;
    padding: 0;
    border-top: #ccc solid 1px;
    border-bottom: #ccc solid 1px;
    position: relative;
}
dl.form_entry p {
    margin-top: 4px;
}
dl.form_entry dt {
    font-weight: bold;
    padding: 15px 5% 5px;
}
dl.form_entry dd {
    padding: 0 5% 15px;
    border-bottom: #e9e9e9 solid 1px;
}
dl.form_entry dd:last-child {
    border-bottom: 0;
}
dl.form_entry .selectdate {
    margin-top: 12px;
    padding: 5px 6px 5px 4px;
    font-size: 12px;
    vertical-align: bottom;
}
dl.form_entry li {
    margin-bottom: 0.3em;
    vertical-align: middle;
}
dl.form_entry .bg_head {
    padding-bottom: 10px;
}
.genre_area {
    width: 100%;
    height: 200px;
}
dl.raku2_cart_item_addition_area dt {
	font-weight: bold;
	padding: 15px 5% 5px;
}
dl.raku2_cart_item_addition_area dd {
	padding: 0 5% 15px;
	border-bottom: #e9e9e9 solid 1px;
}
/* -----------------------------------------------
完了画面
----------------------------------------------- */
.thankstext {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 30px;
}
#completetext {
    font-size: 14px;
    padding: 5%;
    clear: both;
}
#completetext .shopInformation {
    border-top: solid 1px #ccc;
    padding: 5% 0 0;
    margin-top: 5%;
}
#completetext p,
#completetext .shopInformation p {
    margin-bottom: 10px;
}
#complete_payinfo_area {
	border: solid 1px #ccc;
	margin-bottom: 30px;
	padding: 5%;
	font-size: 12px;
	word-break: break-all;
}

/* -----------------------------------------------
アンケートフォーム/確認・完了画面共通
----------------------------------------------- */
#enquete_area {
    padding: 5%;
}
#enquete_area h3 {
    color: #f60;
}
#enquete_area h4 {
    background: #f0f0f0;
    font-size: 100%;
    padding: 5px 10px;
    margin: 15px 0 10px;
}
#enquete_area table {
	width: 100%;
}
#enquete_area td {
	padding-top: 1%;
	padding-bottom: 2%;
}
#enquete_area input[type="radio"] {
	display: inline-block;
}
/* -----------------------------------------------
特定商/当サイトについて
----------------------------------------------- */
dl.form_info {
    width: 100%;
    margin: 10px 0 15px 0;
    padding: 0;
    border-bottom: #999 solid 1px;
    position: relative;
}
dl.form_info dt {
    font-weight: bold;
    padding: 10px 10px 0;
}
dl.form_info dd {
    padding: 0 10px 10px;
    border-bottom: #CCC solid 1px;
}
dl.form_info dd:last-child {
    border-bottom: 0;
}

#maps {
    width: 88%!important;
    margin: 10px auto!important;
}
/* -----------------------------------------------
規約
----------------------------------------------- */
#kiyaku_text {
	margin: 30px 5% 0;
    text-align: center;
}
#kiyaku_text p {
    font-size: 12px;
    margin-bottom: 5px;
}
textarea.kiyaku_text,
textarea.shopping_kiyaku_text {
    width: calc(92% - 2px);
	height: 200px !important;
    padding: 4%;
    border: solid 1px #ccc;
}
/*-------------------------------------------------
error
----------------------------------------*/
#errorBox {
    text-align: left;
    padding: 20px;
}
/* -----------------------------------------------
ランキング、目玉商品、閲覧履歴
----------------------------------------------- */
ul.ranking_list,
ul.recommend_list,
ul.history_list,
ul.related_list {
    text-align: center;
    margin-left: -2%;
    margin-bottom: 10px;
}
div.raku2_ranking_list,
div.raku2_recommend_list,
div.raku2_history_list,
div.raku2_related_list {
    text-align: center;
}

.ranking_list_wrapper .bx-wrapper,
.recommend_list_wrapper .bx-wrapper,
.history_list_wrapper .bx-wrapper,
.related_list_wrapper .bx-wrapper,
div.raku2_ranking_list .bx-wrapper,
div.raku2_recommend_list .bx-wrapper,
div.raku2_history_list .bx-wrapper,
div.raku2_related_list .bx-wrapper {
    margin-left: 2%;
    margin-right: 2%;
    box-shadow: none;
    border: none;
}
div.raku2_ranking_list .bx-wrapper,
div.raku2_recommend_list .bx-wrapper,
div.raku2_history_list .bx-wrapper,
div.raku2_related_list .bx-wrapper {
    margin-top: 10px;
}

.bx-wrapper ul.ranking_list,
.bx-wrapper ul.recommend_list,
.bx-wrapper ul.history_list,
.bx-wrapper ul.related_list,
.bx-wrapper div.raku2_ranking_layout,
.bx-wrapper div.raku2_recommend_layout,
.bx-wrapper div.raku2_history_layout,
.bx-wrapper div.raku2_related_layout {
    margin-left: 0;
}
.bx-wrapper ul.ranking_list li,
.bx-wrapper ul.recommend_list li,
.bx-wrapper ul.history_list li,
.bx-wrapper ul.related_list li,
.bx-wrapper div.raku2_ranking_layout,
.bx-wrapper div.raku2_recommend_layout,
.bx-wrapper div.raku2_history_layout,
.bx-wrapper div.raku2_related_layout {
    margin-top: 0;
}
ul.ranking_list li,
ul.recommend_list li,
ul.history_list li,
ul.related_list li {
    display: inline-block;
    vertical-align: top;
    width: 30%;
    margin-left: 2%;
    margin-top: 10px;
    font-size: 78%;
}
ul.ranking_list.rmd_slider li,
ul.recommend_list.rmd_slider li,
ul.history_list.rmd_slider li,
ul.ranking_list.rmd_slider2 li,
ul.history_list.rmd_slider3 li,
ul.related_list.rmd_slider4 li,
ul.ranking_list.item-slider li,
ul.recommend_list.item-slider li,
ul.history_list.item-slider li,
ul.ranking_list.item-slider2 li,
ul.history_list.item-slider3 li,
ul.related_list.item-slider4 li,
div.raku2_ranking_list .raku2_ranking_layout,
div.raku2_recommend_list .raku2_recommend_layout,
div.raku2_history_list .raku2_history_layout,
div.raku2_related_list .raku2_related_layout {
    margin-left: 0;
}
ul.ranking_list li img,
ul.recommend_list li img,
ul.history_list li img,
ul.related_list li img,
div.raku2_ranking_list .raku2_ranking_layout img,
div.raku2_recommend_list .raku2_recommend_layout img,
div.raku2_history_list .raku2_history_layout img,
div.raku2_related_list .raku2_related_layout img {
    width: 100%;
}

.raku2_productImage {
    position: relative;
    margin-bottom: 1em;
    width: calc((100vw/3) - 1em);
    height: calc((100vw/3) - 1em);
    max-width: calc((100vw/3) - 1em);
    min-width: calc((100vw/3) - 1em);
}

.slick-list .raku2_productImage {
    padding: 0 5px;
}

.raku2_productImage .raku2_sold_out_band {
    position: absolute;
    top: 75%;
    left: 4%;
    text-align: center;
    min-width: 30%;
    background-color: #444;
    color: #fff;
    font-size: 0.8em;
    padding: 0.3em;
    border-radius: 5px;
}

.raku2_productImage .raku2_sold_out_band:empty {
    display: none;
}

div.raku2_ranking_list .raku2_ranking_layout,
div.raku2_recommend_list .raku2_recommend_layout,
div.raku2_history_list .raku2_history_layout,
div.raku2_related_list .raku2_related_layout {
    text-align: start;
}

div.raku2_ranking_list .raku2_ranking_layout img,
div.raku2_recommend_list .raku2_recommend_layout img,
div.raku2_history_list .raku2_history_layout img,
div.raku2_related_list .raku2_related_layout img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slick-list .raku2_productContents {
    padding: 0 4px;
}

.raku2_productContents div {
    padding-bottom: 0.5em;
}

div.raku2_ranking_list .raku2_ranking_layout .list_status_icon .raku2_status_text,
div.raku2_recommend_list .raku2_recommend_layout .list_status_icon .raku2_status_text,
div.raku2_history_list .raku2_history_layout .list_status_icon .raku2_status_text,
div.raku2_related_list .raku2_related_layout .list_status_icon .raku2_status_text {
    display: inline-block;
    border: solid 1px #F95D6C;
    border-radius: 2px;
    padding: 1px 2px;
    margin: 0 0.3em 0.3em 0;
    color: #F95D6C;
}

ul.ranking_list li a,
ul.recommend_list li a,
ul.history_list li a,
ul.related_list li a,
div.raku2_ranking_list .raku2_ranking_layout a,
div.raku2_recommend_list .raku2_recommend_layout a,
div.raku2_history_list .raku2_history_layout a,
div.raku2_related_list .raku2_related_layout a {
    color: #2D2D2F;
    text-decoration: none;
}
ul.ranking_list li h3,
ul.recommend_list li h3,
ul.history_list li h3,
ul.related_list li h3 {
    font-weight: normal;
    line-height: 1.3;
    margin: 5px 0 2px;
}

div.raku2_ranking_list .raku2_ranking_layout h3,
div.raku2_recommend_list .raku2_recommend_layout h3,
div.raku2_history_list .raku2_history_layout h3,
div.raku2_related_list .raku2_related_layout h3 {
    font-weight: normal;
    line-height: 1.3;
}

/* ランキングのみアイコン表示 */
ul.ranking_list li p[class^="icon_rank-"] {
    border: solid 1px #e7e8e9;
    border-radius: 50px;
    width: 28px;
    height: 22px;
    text-align: center;
    display: inline-block;
    padding-top: 6px;
    margin-bottom: 4px;
}
ul.ranking_list li p.icon_rank-1 {
	border: none;
    background: #d0ac56;
    color: #fff;
}
ul.ranking_list li p.icon_rank-2 {
	border: none;
    background: #a5a5a5;
    color: #fff;
}
ul.ranking_list li p.icon_rank-3 {
	border: none;
    background: #88672d;
    color: #fff;
}

/* レビュー一覧用
----------------------------------------------- */
#reviews_area .pagenumberarea li a:link,#reviews_area .pagenumberarea li a:visited {
    color: #39c;
    text-decoration: none;
}
#reviews_area .pagenumberarea li a:link:hover,#reviews_area .pagenumberarea li a[href]:hover {
    color: #aaaaaa;
    text-decoration: underline;
}
div#sort_area {
    margin: 5%;
    border-radius: 4px;
    border: solid 1px #ccc;
    background: #d3e8f2;
}
#sort_area .open-btn {
    position: relative;
    text-align: right;
    margin-top: 10px;
}
#sort_area h3 {
	margin: 0 18px 5px;
	display: inline-block;
	cursor: pointer;
}
#sort_area h3.active::before{
	content:"\f146";
	font-family: FontAwesome;
	margin-right: 5px;
	color: #3399cc;
}
#sort_area h3::before{
	content:"\f0fe";
	font-family: FontAwesome;
	margin-right: 5px;
	color: #3399cc;
}
#sort_area .filter_area.open-box {
    margin-bottom: 20px;
}
#sort_area .filter_area.open-box p.ttl {
	width: 100%;
	margin: 0 auto;
	display: block;
	background: #f0f0f0;
	text-align: center;
	color: #514c49;
	font-weight: bold;
	padding: 6px 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	font-size: 14px;
	letter-spacing: 1px;
}
#sort_area .filter_area {
    background: #fff;
}
#sort_area h3.table_ttl{
	background: #d3e8f2;
	width: 96%;
	padding: 2%;
	margin: 0;
}
#sort_area h3.table_ttl::before {
    content: " ";
}
.table_box label {
	width: 50%;
	display: inline-block;
	float: left;
	text-align: center;
	border-bottom: 1px solid #eee;
	padding: 2.5% 0;
	box-sizing: border-box;
}

.raku2_genre_box label {
	width: 50%;
	display: inline-block;
	border-bottom: 1px solid #eee;
	padding: 0.5% 0;
	box-sizing: border-box;
}

.table_box label:nth-child(even),
.raku2_genre_box label:nth-child(even) {
    border-right: 1px solid #eee;
}
.table_box label:last-child,
.raku2_genre_box label:last-child {
	border-bottom: none;
}
.review_form_area label:nth-child(even){
	border: none;
}
.review_form_area .table_box label,
.review_form_area .raku2_genre_box label,
.raku2_review_search_area .raku2_genre_box label {
	border-bottom: none;
	text-align: left;
}
.filter_area.open-box .table_box label img {
    max-width: 95px;
}

div#sort_area table{
	width: 100%;
	margin: 0 auto 20px auto;
}
div#sort_area p.btn input{
	width: 80%;
	margin: 0 auto;
}
div#reviews_area .pagenumberarea {
    margin: 0 4%;
    padding: 10px 0;
    box-shadow: none;
    border: none;
    background: #fff;
    display: block;
}
#reviews_area .list-inner-top p,#reviews_area .list-inner-top .reviewlevel {
    margin-left: 0;
}
.reviewlevel img {
    max-width: 95px;
    vertical-align: text-top;
}
#reviews_area #sort_area p.mg-l {
    display: inline-block;
    margin-left: 2.5%;
    font-size: 12px;
}
div#reviews_area .pagenumberarea ul {
    width: 95%;
    margin: 0 auto;
    border: none;
    border-radius: 0;
    display: block;
    overflow: hidden;
}
div#reviews_area .pagenumberarea li.on_number {
    color: #333;
    background: none;
}
div#reviews_area .pagenumberarea li {
    font-size: 12px;
    margin: 0;
    padding: 0;
    display: inline;
    float: left;
    text-align: center;
    background: none;
    width: auto;
    border-left: none;
}
div#reviews_area .pagenumberarea li a{
	padding: 0;
	display: inline-block;
}
#reviews_area .pagenumberarea li:first-child a, #reviews_area .pagenumberarea li:nth-child(2) a{
    border-radius: 0;
    border-right: none;
    background: none;
}
div#reviews_area .pagenumberarea li span{
    padding: 0 6px;
    color: #333;
}
div#reviews_area .pagenumberarea li:last-child {
    border-radius: 0;
}
div#reviews_area .pagenumberarea li:last-child a {
    border-radius: 0;
    border-left: #FFF solid 1px;
    background: none;
    box-shadow: none;
}
#reviews_area .pagenumber_area{
	margin: 3% auto;
    padding-bottom: 0;
    background: none;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
    width: 82%;
}
#reviews_area .pagenumber_area .navi {
    float: left;
}
#reviews_area .pagenumber_area .navi a {
    background: #eee;
    padding: 4px 6px;
    line-height: 24px;
    margin: 2px 0px 0;
    display: inline-block;
}
#reviews_area .pagenumber_area .pagenumber_all {
    float: right;
    margin: 2px 0px 0;
    display: inline-block;
    padding: 4px 6px;
}
#sort_area p.btn {
    display: block;
    margin-bottom: 20px;
    margin: 0 auto;
    padding: 4% 0;
    background: #d3e8f2;
}
.sorting_area {
    background: #fff;
    width: 76%;
    margin: 10% auto 0;
    text-align: center;
}
div#sort_area p.btn input {
	width: 80%;
	margin: 0 auto 2%;
	padding: 8px;
	background: #7AC943 none repeat scroll 0% 0%;
	color: #FFF !important;
	display: block;
	border-radius: 5px;
	text-decoration: none !important;
	text-align: center;
	border: none;
	cursor: pointer;
}
#reviews_area .list_area {
	background: #fff;
	margin-bottom: 3%;
	border-top: 4px solid #d3e8f2;
	border-bottom: none;
	padding: 5%;
}
.reviewcomment {
    margin-bottom: 2%;
}
.table_box {
    text-align: center;
}
.table_box input.box30,
.raku2_genre_box input.box30 {
    margin: 3%;
}
.table_box input[type="checkbox"] {
    margin: 0 5px;
    vertical-align: middle;
}
.raku2_genre_box input[type="checkbox"] {
    vertical-align: middle;
}
#reviews_area p.intro{
    display: block;
    text-align: right;
}
.reviewtitle {
    font-weight: bold;
    margin-bottom: 1.5%;
}
.reviewtitle::before {
    content: "\f27a";
    font-family: FontAwesome;
    margin-right: 4px;
    font-size: 16px;
    color: #3399cc;
}
.list-inner-sec {
    margin-bottom: 3%;
    display: inline-block;
    border-bottom: 1px dotted #ccc;
    width: 100%;
    padding-bottom: 2%;
}
.list-inner-top {
    display: inline-block;
}
.list-inner-top .listrightblock {
    width: 79%;
    float: right;
    padding-right: 1%;
    margin-bottom: 2%;
}
.list-inner-top {
    display: inline-block;
    border-bottom: 1px dotted #ccc;
    width: 100%;
}
.list-inner-top .listphoto {
    float: left;
    max-width: 15%;
    margin-right: 1%;
}
.list-inner-top .listrightblock h3 {
    font-size: 15px;
    clear: both;
    line-height: 20px;
    margin-bottom: 2%;
}
.list-inner-top .reviewdate {
    font-size: 12px;
    margin-bottom: 5px;
}
.list-inner-top .listrightblock .classcategory_name {
    font-weight: normal;
    font-size: 11px;
	margin-top: -5px;
}
.sale_price {
    color: #f00;
    font-weight: bold;
}
.detailrightblock .product_detail .sale_price,.detailrightblock .product_detail .sale_price .price {
    color: #333;
    font-size: 12px;
}
.sale_price .price{
    color: #f00;
    font-weight: bold;
}

#detailarea .price02_inctax_default, #detailarea .price03_inctax_default, .price01_inctax_dynamic, #detailarea .price02_inctax_dynamic, #detailarea .price03_inctax_dynamic {
    font-size: 20px;
	font-weight: normal;
}
#detailarea .price02_notax_default, #detailarea .price03_notax_default, #detailarea .price01_notax_dynamic, #detailarea .price02_notax_dynamic, #detailarea .price03_notax_dynamic {
    font-size: 20px;
    font-weight: normal;
}
#detailarea  #teiki_first_price_notax_default, #detailarea  #teiki_first_price_inctax_default, #detailarea  #teiki_first_price_notax_dynamic, #detailarea  #teiki_first_price_inctax_dynamic {
    font-size: 20px;
    font-weight: normal;
}
.list-inner-top .listrightblock h3 a:link,.list-inner-top .listrightblock h3 a:visited {
    color: #333333;
}
.list-inner-profile {
    display: inline-block;
    width: 100%;
}
.list-inner-profile .listrightblock {
	width: 75%;
	font-size: 12px;
}
.list-inner-bottom {
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 5px;
    width: 100%;
    overflow: hidden;
    background: #eee;
    padding: 10px 0;
}
.list-inner-profile .reviewphoto {
    display: inline-block;
    margin: 2% 2.5%;
    float: left;
    max-width: 15%;
}
.list-inner-profile .reviewphoto img{
	width: 100%;
}
.reviewcomment {
    margin-bottom: 2%;
    max-width: 420px;
    word-wrap: break-word;
}
.list-inner-sec .reviewcomment.reply {
    border: 1px dotted #ccc;
    padding: 10px;
}
.list-inner-sec .reviewcomment.reply p.reply-ttl {
    font-size: 12px;
    border-bottom: 1px dotted #ccc;
    margin-bottom: 5px;
    font-weight: bold;
    padding-bottom: 2px;
}
.list-inner-sec .reviewcomment.reply p.reply-ttl::before {
    content: "\f086";
    font-family: FontAwesome;
    margin-right: 4px;
    font-size: 16px;
    color: #3399cc;
}
.list-inner-bottom a {
	display: inline-block;
	padding: 3px 15px;
	margin: 5px;
    text-decoration: none;
    color: #ffffff;
    text-shadow: -1px -1px 2px #3885b1;
    background: #4291b8;
    background: -moz-linear-gradient(#62b0d7, #4291b8 75%, #4d9ac1);
    background: -webkit-gradient(linear,left top,left bottom,color-stop(0, #62b0d7),color-stop(.75, #4291b8),color-stop(1, #4d9ac1));
    border: 1px solid #2c88b5;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.list-inner-bottom .tbl_review_ref_btn {
    display: inline-block;
}
.review_item {
    margin: 0 5%;
    display: inline-block;
}
.item_spec_area {
    overflow: hidden;
}
.reviewrefok span {
    font-weight: bold;
}
#reviews_area .item_spec_area p.listphoto {
    max-width: 30%;
    margin: 10px 2% 15px 0;
}
#reviews_area .item_spec_area .item_spec_text {
    float: right;
    width: 65%;
    margin-top: 10px;
    margin-bottom: 15px;
}
#reviews_area .list-inner-top p.listphoto {
    display: inline-block;
    margin: 0 2.5% 2% 0;
    float: left;
    max-width: 15%;
}
.main_comment {
    margin-bottom: 15px;
    display: inline-block;
}
.review_item .price_area br {
    display: none;
}
.review_item span.price.normal {
    font-size: 11px;
}
p.item_page_btn::before {
    content: "\f0a9";
    font-family: FontAwesome;
    margin-right: 1px;
    font-size: 13px;
    color: #3399cc;
}
p.item_review_btn::before {
    content: "\f0a9";
    font-family: FontAwesome;
    margin-right: 1px;
    font-size: 13px;
    color: #3399cc;
}
.item_spec_box {
    border: 1px solid #ccc;
}
.item_link {
    text-align: left;
    margin: 4% auto 0%;
}
.item_link p{
	display: inline-block;
	margin-right: 2%;
	font-size: 13px;
}
.ave {
    text-align: center;
    margin-right: 0;
    padding: 3% 1%;
    border-bottom: 1px solid #ccc;
}
.ave p {
    font-size: 12px;
}
.item_spec_box .rank {
    padding: 3%;
}
.item_spec_box .item_spec_box>div {
    text-align: left;
    margin: 1% 0 0 0;
}
.review_item dl.product_code {
    display: none;
}
.item_spec_box img {
    vertical-align: text-top;
    max-width: 95px;
}
.item_spec_box .ave img {
	vertical-align: top;
    max-width: 22px;
}
#reviews_area .ui-shadow {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
#reviews_area .ui-btn-corner-all {
    -webkit-border-radius: 6px;
    border-radius: 6px;
}
#reviews_area ui-focus, .ui-btn:focus{
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
#reviews_area .ui-btn-active{
	background-image: none;
	background: ccc;
	color: #444;
	text-shadow: none;
}
#reviews_conf_area h3.table_ttl {
    border: 1px solid #ccc;
    color: #333;
    background-color: #f0f0f0;
    padding: 2%;
    text-align: center;
}
#reviews_conf_area .table_box,
#reviews_conf_area .raku2_genre_box,
.raku2_review_search_area .raku2_genre_box {
    margin: 5%;
}
#reviews_conf_area ul.btn_btm {
    clear: both;
    display: block;
    clear: both;
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
#reviews_conf_area .btn_area li, ul.btn_btm li {
    margin-bottom: 12px;
    display: inline-block;
    width: 100%;
    margin: 0 auto;
}
#reviews_area div#completebox {
    width: 90%;
    margin: 5% auto;
    text-align: center;
}
#reviews_area .btn_area {
    clear: both;
    display: inline-block;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 0;
}
#reviews_area .btn_area p {
    display: inline-block;
    width: 80%;
}
#reviews_area input[type="submit"].btn{
    padding: 3%;
    background: #7AC943 none repeat scroll 0% 0%;
    -moz-background: #7AC943!important;
    -webkit-background: #7AC943!important; 
    background-image: none;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    border: none;
    float: left;
    cursor: pointer;
    width: 100%;
}
#reviews_conf_area input[type="submit"].btn{
	padding: 3%;
    background: #7AC943 none repeat scroll 0% 0%!important;
    -moz-background: #7AC943!important;
    -webkit-background: #7AC943!important; 
    background-image: none;
    -webkit-transition: none;
    color: #FFF!important;
    display: inline-block;
    border-radius: 5px;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    border: none;
    float: left;
    cursor: pointer;
    width: 100%;
    margin: 0 auto;
}
#reviews_conf_area a.btn_back{
    padding: 2% 3%;
    background: #7AC943 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 0 auto;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    border: none;
    width: 94%;
    cursor: pointer;
}
#reviews_area a.btn_back {
    padding: 10px;
    background: #333333 none repeat scroll 0% 0%;
    color: #FFF !important;
    display: block;
    border-radius: 5px;
    margin: 1%;
    text-decoration: none !important;
    font-size: 133%;
    text-align: center;
    width: 90%;
    cursor: pointer;
}
#reviews_area .reviewlevel {
    margin-left: 2.5%;
    margin-top: 5px;
}
#reviews_area h3.table_ttl {
    background: #d3e8f2;
    width: 96%;
    padding: 2%;
    margin: 0;
}
#reviews_area .table_box,
#reviews_area .raku2_genre_box,
.raku2_review_search_area .raku2_genre_box {
    margin: 5%;
    overflow: hidden;
}
.raku2_review_search_area .raku2_genre_box label:nth-child(even) {
	border: none;
}
div#sort_area .raku2_review_search_area .raku2_genre_box {
	text-align: left;
}

#reviews_area .profile-img label{
	text-align: center;
}
.review_form_area .table_box label img,
.review_form_area .raku2_genre_box label img,
.raku2_review_search_area .raku2_genre_box label img {
    width: 50%;
}
#reviews_area .table_box .txtarea {
    width: 80%;
}
#reviews_area .raku2_genre_box .txtarea,
.raku2_review_search_area .raku2_genre_box .txtarea {
    width: 95%;
}
#reviews_area #sort_area .table_box {
    margin: 0;
}
label.ui-checkbox-off.ui-btn.ui-btn-up-f.ui-btn-corner-all.ui-fullsize.ui-btn-icon-left {
    border: 1px solid #ccc;
    background: #eee;
    color: #444;
    text-decoration: none;
    text-shadow: 0 1px 1px #f6f6f6;
    width: 100%;
}
img.profile_img {
    width: 28%;
}

/* ==============================================
▼カートインパーツ
=============================================== */
/* 基本スタイル（縦型／幅200px）
----------------------------------------------- */
form[name^="product_"].product_form_cartin {
    width: 100%;
}
.cartin_productinfo {
    font-size: 12px;
    line-height: 1.6;
}
.cartin_productinfo p {
    margin: 0;
}
/* 商品ステータス */
.cartin_productinfo ul.status_icon li {
    width: 60px;
    float: left;
    line-height: 1;
    margin: 0 5px 5px 0;
}
.cartin_productinfo ul.status_icon li img {
	width: 100%;
    vertical-align: middle;
}
.cartin_productinfo .product_photo {
    width: 100%;
}
.cartin_productinfo .product_photo img {
    width: 100%;
}
.cartin_productinfo .product_detail {
    width: 100%;
}
.cartin_productinfo .product_detail p.cartin_productname {
    margin-top: 5px;
}
.cartin_productinfo .product_detail p.price_title {
    display: none;
}
.cartin_productinfo .product_detail p.price {
    font-size: 11px;
    text-align: right;
    font-weight: normal;
}
.cartin_productinfo .product_detail p.price #price02_notax_dynamic,
.cartin_productinfo .product_detail p.price #price02_inctax_dynamic {
    font-size: 15px;
}
.cartin_productinfo .product_detail .point {
    text-align: right;
    font-size: 11px;
    font-weight: normal;
}
.cartin_productinfo .product_detail .classlist {
    margin-top: 10px;
}
.cartin_productinfo .product_detail select[name^="classcategory"] {
    font-size: 12px;
    height: 22px;
    padding: 0;
}
.cartin_productinfo .product_detail .cartin_btn {
    margin-top: 10px;
}
.cartin_productinfo .product_detail .cartin_btn a {
    padding: 5px 0;
    color: #FFF;
    display: block;
    border-radius: 4px;
    text-decoration: none;
    text-align: center;
    background-color: #F95D6C;
    width: 100%;
}
/* ==============================================
▼加盟店ページ
=============================================== */
/* 一覧ページ
----------------------------------------------- */
#members_area #members_area_list {
    margin: 30px 0 0;
}
/* タブメニュー */
#members_area #members_area_list ul#area_nav {
    overflow: hidden;
    border-left: solid 1px #ccc;
    width: 90%;
    margin: 0 auto;
}
#members_area #members_area_list ul#area_nav li a {
    float: left;
    padding: 10px 0;
    background: linear-gradient(to bottom, #ffffff 0%,#ededed 100%);
    border-right: solid 1px #ccc;
    width: 33%;
    text-align: center;
}
#members_area #members_area_list ul#area_nav li.active a {
	background: #fff;
}

/* タブの中身 */
#members_area #members_area_list #area_list {
    padding: 15px 5% 0;
}
#members_area #members_area_list #area_list div {
	display: none;
}
#members_area #members_area_list #area_list div.active {
	display: block;
}
#members_area #members_area_list #area_list ul {
    overflow: hidden;
    margin-bottom: 30px;
}
#members_area #members_area_list #area_list ul li a {
    float: left;
    border-right: solid 1px #ccc;
    padding: 0 10px;
}
#members_area #members_area_list #area_list ul li:last-child a {
    border-right: none;
}

#members_area h3 {
    margin: 30px 5% 15px;
    font-weight: normal;
    padding: 5px 10px;
    font-size: 14px;
    background: #999999;
    color: #fff;
}
#members_area table {
    width: 90%;
    margin: 0 auto;
}
#members_area table th {
    background: #f0f0f0;
}
#members_area table th,
#members_area table td {
    border: solid 1px #ccc;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.4;
}


/* 詳細ページ
----------------------------------------------- */
#members_detail {
    padding: 5%;
}
#members_detail #members_detail_info {
    width: 100%;
}
#members_detail #members_detail_info .logo_image {
    width: 100%;
    text-align: center;
    vertical-align: middle;
}
#members_detail #members_detail_info .logo_image img {
    width: 100%;
}
#members_detail #members_detail_info h2#company_name {
	color: #247731;
    padding: 0 0 5px;
    border-bottom: solid 1px #91ba97;
    margin-bottom: 15px;
    background: #fff;
    text-align: center;
    font-size: 19px;
}
#members_detail #members_detail_info .logo_image + h2#company_name {
    margin-top: 15px;
}
#members_detail #members_detail_info h3 {
    font-weight: normal;
    font-size: 100%;
}
#members_detail #members_detail_info dt,
#members_detail #members_detail_info dd {
    float: left;
    margin-bottom: 8px;
}
#members_detail #members_detail_info dl {
    width: 100%;
    overflow: hidden;
}
#members_detail #members_detail_info dt {
    clear: both;
    width: 20%;
}
#members_detail #members_detail_info dd {
    width: 80%;
}
#members_detail #members_detail_info dd a.site_url {
	word-break: break-all;
}
#members_detail #members_detail_info dt h3.member_tel_ttl {
    margin-top: 3px;
}
#members_detail #members_detail_info dd span.member_tel {
    font-size: 28px;
    font-family: arial;
    line-height: 1;
}
#members_detail #members_detail_info dd span.member_tel img {
    vertical-align: baseline;
}
#members_detail #members_detail_maps {
    width: 100%;
    margin-top: 15px;
}
#members_detail #members_detail_maps > #maps {
    margin: 0 !important;
    width: 100% !important;
}
#members_detail #comment_pc {
	margin-top: 5%;
}

/* まとめ割注意文言 */
.matome_attention_msg {
    color: #008a00;
    font-size: 11px;
    font-weight: normal;
}

/* セレクトボックスの初期表示解除 */
select{
    padding: 0.5em 0 0.5em 0.5em;
}

/* LP支払方法説明 */
.lp_payment_description{
    margin-top: 10px;
}

.lp_payment_description img{
    width: 100%;
}

.message_sp_contact_button_upper{
    padding: 0 5% 15px;
}

/* 必須デフォルト */
.required_label {
    color: #CC0000;
}

/* お支払方法変更画面プレゼント */
.presentForm {
	margin: 0;
}
.form_area .present_message_upper, 
.form_area .present_message_lower {
	margin: 0;
}
.form_area .present_message_lower {
	margin-bottom: 10px;
}
.present_img{
	width: auto;
	height: auto;
	max-width: 100%;
}
.present_box {
	display: inline-block;
	padding: 5px 10px;
}
.present_box {
	display: flex;
	align-items: center;
}
.present_box .item_img{
	width: 30%;
}

.present_box .item_chk{
	width: 70%;
	margin-left: 5px;
}


/* トップページ
----------------------------------------------- */
.top_page .pickup_item, .top_page .bnr_area {
    width: 96%;
    margin: 2% 2% 12%;
}
.top_page .pickup_item a {
	margin: auto auto 2%;
	display: block;
}
.top_page .pickup_item a img {
	width:100%;
}
.top_page .recommend_brand {
    margin-bottom: 12%;
}
.top_page .recommend_brand ul {
    margin-top: 2%;
}
.top_page .recommend_brand ul li:nth-child(odd) {
    margin-right: 0;
}
.top_page .recommend_brand ul li {
    float: left;
    width: 47%;
    margin: 0 2% 2%;
}
.top_page .recommend_brand ul li img {
    width: 100%;
}

/* カスタムページ
----------------------------------------------- */
/* ご利用ガイド */
.custom_page .a_hyo table {
    margin: 15px auto 20px auto;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.custom_page .a_hyo table th {
    padding: 3%;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    color: #333;
    background-color: #f0f0f0;
    font-weight: normal;
}
.custom_page .a_hyo table td {
    padding: 3%;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
}
.custom_page .btn_readmore {
    margin: 2% auto;
    text-align: center;
}
.custom_page .btn_readmore a {
    width: 90%;
    display: block;
    color: #333 !important;
    background: #fff;
    border: #333 solid 2px;
    padding: 3%;
    font-size: 0.9em;
    font-weight: 600;
    margin: 0 auto;
}
.custom_page .btn_readmore a:after {
    content: ' >';
}
.custom_page #guide_area dl.form_info {
    width: 95%;
    margin: 10px auto 15px;
}
.custom_page #guide_area dl.form_info dt {
	font-size: 120%;
	border-left: #999 solid 5px;
	vertical-align: middle;
	padding: 1% 2%;
	margin: 5% 0 3%;
}
.custom_page #guide_area dl.form_info dd {
    padding: 0 10px 5%;
}
.custom_page #guide_area dl.form_info dd p {
    margin-bottom: 5%;
}
.custom_page #guide_area dl.form_info dd p.sub_ttl {
    font-weight: bold;
    margin-bottom: 1%;
    font-size: 110%;
}

/* よくあるご質問 FAQ */
.custom_page #faqarea {
    position: relative;
    width: 100%;
    margin: 20px auto 0;
    padding: 20px 0 30px;
    box-sizing: border-box;
    font-weight: 400;
}
.custom_page #faqarea .heading {
    font-size: 19px;
    text-align: center;
    margin-bottom: 8px;
    letter-spacing: 1px;
    line-height: 25px;
}
.custom_page #faqarea .heading .small {
    font-size: 13px;
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 1px;
}
.custom_page #faqarea h3 {
    background-color: #353535;
    color: #FFFFFF;
    padding: 2.5% 5%;
    letter-spacing: 1px;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
}
.custom_page #faqarea h4 {
    font-size: 16px;
    color: #fd008b;
}
.custom_page #faqarea p.sub_ttl {
    font-size: 15px;
    font-weight: 600;
    line-height: 12px;
    margin: 12% 5% 4%;
}
.custom_page #faqarea .category {
    width: 84%;
    margin: 5% auto 12%;
    font-size: 120%;
    text-align: left;
    line-height: 35px;
}
.custom_page #faqarea .category a {
    color: #333;
    text-decoration: none;
    display: block;
    margin: 0 0 2%;
}
.custom_page #faqarea .ma-30 {
    margin: 3% 0;
}
.custom_page #faqarea span.small {
    font-size: 12px;
    line-height: 18px;
    display: inline-block;
}
.custom_page .acMenu {
    width: 90%;
    margin: 0 auto 10px;
}
.custom_page .acMenu dt.check {
    background: #FFFFFF;
    border: 2px solid #009ee7;
    color: #009ee7;
    border-radius: 20px;
    font-size: 15px;
    line-height: 22px;
    box-sizing: border-box;
    text-indent: -1.9em;
}
.custom_page .acMenu dt.checked {
    background: #FFFFFF;
    border: 2px solid #fd008b;
    color: #fd008b;
    border-radius: 20px;
}
.custom_page .acMenu dt {
    display: block;
    width: 108%;
    margin-left: -4%;
    padding: 0.7em 0.5em 0.7em 2.5em;
    cursor: pointer;
    color: #FFFFFF;
}
.custom_page .acMenu dt p {
    width: 100%;
    text-align: center;
    margin: 5px 0;
    font-size: 12px;
}
.custom_page .acMenu dd {
    display: block;
}
.custom_page .acMenu dd .answer {
    color: #353535;
    font-size: 15px;
    padding: 3% 0 5% 1.5em;
    position: relative;
}
.custom_page .acMenu dd .answer sub {
    font-size: 11px;
    text-indent: -1.5em;
}
.custom_page .acMenu dd .answer strong {
    font-size: 20px;
    font-weight: 500;
    text-indent: -2.5em;
}
.custom_page .answer:before {
    content: 'A.';
    position: absolute;
    margin-left: -16px;
    top: 10px;
}
.custom_page .answer ul li {
    margin-bottom: 15px;
}

/* PICKUP */
.custom_page p.page_ttl{
    display: block;
    background: #eee;
    padding: 5px;
    margin-bottom: 30px;
}
.custom_page .main_page{
    margin: 0 2.5% 50px;
}
.custom_page .main_page .ttl {
    font-weight: bold;
}
.custom_page .main_page .detailtext {
    font-size: 12px;
    margin-bottom: 20px;
}
.custom_page .custom_cart_outer{
    margin: 30px auto 40px;
}
.custom_page .custom_cart_area{
    width: 100%;
    text-align: center;
}
.custom_page .custom_cart_area img.item_img{
    width: 70%;
}
.custom_page .main_page table{
    width: 90%;
    box-sizing: border-box;
    margin: 5%;
}
.custom_page .main_page table {
    margin: 0 auto 30px auto;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.custom_page .main_page table th {
    padding: 8px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    color: #333;
    background-color: #f0f0f0;
    font-weight: normal;
}
.custom_page .main_page table td {
    padding: 8px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
}

/* カートボタン */
.custom_page .cart_in_btn {
    margin: 25px auto;
    text-align: center;
}
.custom_page .cart_in_btn a {
    display: inline-block;
    padding: 0.9em 5em;
    text-decoration: none;
    color: #009ee7;
    border: solid 2px #009ee7;
    border-radius: 3px;
    transition: .4s;
}
.custom_page .cart_in_btn a:hover {
  background: #009ee7;
  color: white;
}

/* カテゴリーページ
----------------------------------------------- */
/* カテゴリー説明文用 */
.cat_uppertext {
    margin: 10px 2.5% 15px;
}
.cat_uppertext .ttl {
    font-weight: bold;
}
.cat_uppertext .detailtext {
    font-size: 12px;
}


/* フォーム一体型LP
----------------------------------------------- */
.layout_lpmain p.page_ttl{
    display: block;
    background: #eee;
    padding: 5px;
    margin-bottom: 30px;
}
.layout_lpmain .main_page{
    margin: 0 2.5% 50px;
}
.layout_lpmain .main_page .ttl {
    font-weight: bold;
}
.layout_lpmain .main_page .detailtext {
    font-size: 12px;
    margin-bottom: 20px;
}
.layout_lpmain .custom_cart_outer{
    margin-top: 30px;
}
.layout_lpmain .custom_cart_area{
    width: 100%;
    margin-right: 40px;
    text-align: center;
}
.layout_lpmain .custom_cart_area img.item_img{
    width: 70%;
}
.layout_lpmain .main_page table{
    width: 100%;
    box-sizing: border-box;
    margin: 15px auto 30px auto;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
.layout_lpmain .main_page table td {
    padding: 12px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
}

/* 商品一覧
----------------------------------------------- */
/* 在庫 */
.sold_out_band {
	position: absolute;
	top: 25%;
	left: 4%;
	text-align: center;
	width: 21.5%;
	background-color: #c10000;
	color: #fff;
	font-size: 0.8em;
}

.sold_out_back {
	opacity: 0.5;
}

/* 新商品一覧 */
.raku2_product_list_new {
    padding: 0 1.0em;
}
.raku2_product_list_new .list_status_icon .raku2_status_text {
	display: inline-block;
	border: solid 1px #F95D6C;
	border-radius: 2px;
	padding: 1px 2px;
	margin: 0 0.3em 0.3em 0;
	color: #F95D6C;
}

.raku2_product_list_new .raku2_product_list_container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 1.0em;
	margin-bottom: 20px;
}
.raku2_product_list_new .raku2_product_list_container a {
    text-decoration: none;
}

.raku2_product_list_new .raku2_product_list_container .list_area {
    border: none;
    padding: 0;
}

.raku2_product_list_new .raku2_product_list_container .listrightblock {
    padding: 0;
}
.raku2_product_list_new .list_status_icon {
	margin: 1em 0;
}

.list_area .raku2_review,
div.raku2_ranking_list .raku2_ranking_layout .raku2_review,
div.raku2_recommend_list .raku2_recommend_layout .raku2_review,
div.raku2_history_list .raku2_history_layout .raku2_review,
div.raku2_related_list .raku2_related_layout .raku2_review {
	display: flex;
}

div.raku2_ranking_list .raku2_ranking_layout .raku2_review,
div.raku2_recommend_list .raku2_recommend_layout .raku2_review,
div.raku2_history_list .raku2_history_layout .raku2_review,
div.raku2_related_list .raku2_related_layout .raku2_review {
	flex-direction: column;
}

.list_area .raku2_review .raku2_ave,
div.raku2_ranking_list .raku2_ranking_layout .raku2_review .raku2_ave,
div.raku2_recommend_list .raku2_recommend_layout .raku2_review .raku2_ave,
div.raku2_history_list .raku2_history_layout .raku2_review .raku2_ave,
div.raku2_related_list .raku2_related_layout .raku2_review .raku2_ave {
    display: flex;
    align-items: center;
}

.list_area .raku2_review .raku2_ave img,
div.raku2_ranking_list .raku2_ranking_layout .raku2_review .raku2_ave img,
div.raku2_recommend_list .raku2_recommend_layout .raku2_review .raku2_ave img,
div.raku2_history_list .raku2_history_layout .raku2_review .raku2_ave img,
div.raku2_related_list .raku2_related_layout .raku2_review .raku2_ave img {
	width: 15px;
	height: 15px;
	position: relative;
	top: -2px;
	margin-right: 3px;
}

.raku2_product_list_new .raku2_product_list_container .listrightblock h3,
.raku2_product_list_new .raku2_product_list_container .raku2_price_area {
    padding: 0;
    margin: 0;
    font-weight: normal;
    font-size: 1.2em;
    margin-bottom: 0.5em;
}


.raku2_child_categories,
.raku2_product_list_new .layout_uppertext,
.raku2_product_list_new .layout_mainimage,
.raku2_product_list_new .raku2_message_product_list_upper {
    margin-bottom: 2.5em;
}

.raku2_product_list_new .layout_mainimage {
    margin-left: -1.0em;
    margin-right: -1.0em;
}

.raku2_product_list_new .raku2_product_list_container .raku2_listcomment,
.raku2_product_list_new .raku2_product_list_container .raku2_sale_time_area,
.raku2_product_list_new .raku2_product_list_container .raku2_list_rcatalog_id_area,
.raku2_product_list_new .raku2_product_list_container .raku2_stock_quantity_area {
    margin-bottom: 0.5em;
}

.raku2_product_list_new h2.raku2_title {
    background: initial;
    color: initial;
	text-align: initial;
	border-bottom: none;
	margin-bottom: 20px;
	padding: 0;
	font-size: 200%;
	font-weight: normal;
}

.raku2_product_list_new .product_list_header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	margin-bottom: 20px;
}

.raku2_product_list_new .raku2_product_list_order,
.raku2_new_order_list .raku2_product_list_order,
.raku2_new_order_list .raku2_product_order_number {
	height: 3rem;
	width: 12rem;
}
.raku2_product_list_new .raku2_pagenumber_area {
	justify-self: end;
}

.raku2_product_list_new .raku2_product_list_container .listphoto {
    position: relative;
    float: none;
    margin: auto;
    width: calc((100vw/2) - 2em);
    height: calc((100vw/2) - 2em);
    max-width: calc((100vw/2) - 2em);
    min-width: calc((100vw/2) - 2em);
}

.raku2_product_list_new .raku2_product_list_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.raku2_product_list_new .listphoto .raku2_sold_out_band {
    position: absolute;
    top: 75%;
    left: 3%;
    text-align: center;
    min-width: 30%;
    background-color: #444;
    color: #fff;
    font-size: 0.8em;
    padding: 0.5em;
    border-radius: 5px;
}

.raku2_product_list_new .listphoto .raku2_sold_out_band:empty {
    display: none;
}

.raku2_product_list_new .listphoto .sold_out_back {
    opacity: 1.0;
}

/* 下位カテゴリ */
.raku2_child_categories {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	place-items: center;
	place-content: center;
	gap: 1.5em;
}

.raku2_child_categories a.category_no_image:link,
.raku2_child_categories a.category_no_image:visited {
	display: block;
	width: 80%;
	border: 1px #333 solid;
	border-radius: 10px;
	margin: 0.5rem 0;
	padding: 1em;
    text-decoration: none;
}

.raku2_child_categories a.category_image:link,
.raku2_child_categories a.category_image:visited {
	display: grid;
	grid-template-columns: 40% 1fr 4%;
	place-items: center;
	place-content: center;
	padding: 1.0em 1.5em;
	width: 85%;
	height: 80%;
	background-color: #eee;
	border-radius: 5px;
    text-decoration: none;
}

.raku2_child_categories a.category_image img {
	justify-self: start;
	width: 50px;
	height: 50px;
}

.raku2_child_categories a.category_image div {
	justify-self: start;
}

/* 商品部 */
.raku2_product_list_new .raku2_list_product_name,
.raku2_product_list_new .raku2_listcomment,
.raku2_product_list_new .raku2_price_area,
.raku2_product_list_new .raku2_stock_quantity_area,
.raku2_product_list_new .raku2_sale_time_area,
.raku2_product_list_new .raku2_list_rcatalog_id_area {
    margin-bottom: 0.5em;
}

.raku2_price_area .raku2_differ_arrow {
    margin: 0 0.2em;
}

.raku2_price_area .raku2_differ_price ~ .raku2_price_label,
.raku2_price_area .raku2_differ_price ~ .raku2_price,
.raku2_price_area .raku2_differ_price ~ .raku2_price_unit {
    color: #f00;
}

.raku2_price_area .raku2_differ_price {
    text-decoration: line-through;
}

/* ページナビ */
.raku2_product_list_new .product_list_footer {
	display: grid;
    grid-template-areas:
        "count ..... order"
        "pager pager pager"
    ;
	grid-template-columns: 1fr 1fr 1fr;
    gap: 2.0em 0;
	align-items: center;
}

.raku2_product_list_new .product_list_footer .raku2_product_list_number {
    grid-area: count;
}
.raku2_product_list_new .product_list_footer .raku2_navi,
.raku2_new_order_list .product_list_footer .raku2_navi {
    grid-area: pager;
	justify-self: center;
    font-size: 1.5em;
}

.raku2_product_list_new .product_list_footer .raku2_pagenumber_area {
    grid-area: order;
}


/* ページナビゲーション */
.raku2_product_list_new .raku2_navi,
.raku2_product_list_new .raku2_navi .fa-angle-left:before,
.raku2_product_list_new .raku2_navi .fa-angle-right:before,
.raku2_new_order_list .raku2_navi,
.raku2_new_order_list .raku2_navi .fa-angle-left:before,
.raku2_new_order_list .raku2_navi .fa-angle-right:before {
    color: #333;
}

.raku2_product_list_new .raku2_navi p,
.raku2_new_order_list .raku2_navi p {
    display: inline-block;
    margin-right: 0.5em;
}
.raku2_product_list_new .raku2_navi a,
.raku2_new_order_list .raku2_navi a {
    padding: 0.8em;
    margin-right: 0.5em;
    background: #eee;
    padding: 4px 6px;
    border-radius: 3px;
    line-height: 24px;
}

/* オーダーシート
----------------------------------------------- */
p.raku2_purchase_limit_message {
	font-size: initial;
	font-weight: initial;
	color: #f00;
	margin-bottom: 0;
}

/* 闇市商品の場合は数量欄非表示 */
div.raku2_limited_product div.quantity input {
    display:none;
}
div.raku2_limited_product div.quantity select {
    display:none;
}

/* 商品詳細
----------------------------------------------- */
#detailarea .review_link_bloc {
    margin-top: 10px;
    border: solid 1px #ccc;
    padding: 7px 15px;
    border-radius: 3px;
    overflow: hidden;
    display: inline-block;
    background-color: #fff;
    color: #555;
    display: none;
}

.add_favorite_readonly {
	text-align: center;
	display: block;
	border: solid 1px #aaa;
	border-radius: 5px;
	padding: 10px 0px;
}

.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_lotpricetable'],
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_lotratetable'],
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_warehousestocktable'] {
	width: 100%;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
	font-size: 0.6em;
}

.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_lotpricetable'] th,
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_lotratetable'] th,
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_warehousestocktable'] th  {
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	background-color: #eee;
}
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_lotpricetable'] td,
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_lotratetable'] td,
.plg_Raku2_LC_Page_Products_Detail table[class*='raku2_warehousestocktable'] td {
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}


.plg_Raku2_LC_Page_Products_Detail table.raku2_lotpricetable_d_none {
	display: none;
}

.plg_Raku2_LC_Page_Products_Detail table.raku2_warehousestocktable_d_none {
	display: none;
}

/* 拠点別在庫 出荷拠点選択 table */
.raku2_warehouse_select_table_area {
	overflow-x: auto;
}
#warehouse_select_table {
	white-space: nowrap;
}
#warehouse_select_table th{
	background-color: var(--base-back-color);
    border-collapse: collapse;
    border-spacing: 0px;
    border:1px solid var(--base-line-color);
    font-weight: unset;
    padding: 8px;
}
#warehouse_select_table td{
    border-collapse: collapse;
    border-spacing: 0px;
    border:1px solid var(--base-line-color);
    padding: 8px;
}

#warehouse_select_table .raku2_warehouse_select_input {
    margin: unset;
}
#warehouse_select_table .raku2_warehouse_select_radio {
	width: 10%;
    min-width: 50px;
}
#warehouse_select_table .raku2_warehouse_select_warehouse {
	width: 10%;
    min-width: 50px;
}
#warehouse_select_table .raku2_warehouse_select_product {
    min-width: 150px;
}
#warehouse_select_table .raku2_warehouse_select_disabled td {
	background-color: #DDDDDD;
}
#warehouse_select_table input[type="radio"] + label{
    padding-left: 16px;
    position: relative;
}
#warehouse_select_table input[type="radio"] + label::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #2E2E2E;
    border-radius: 50%;
    top: 1px;
	box-sizing: initial;
}
#warehouse_select_table input[type="radio"]:checked + label::after{
	content: "";
	display: block;
	position: absolute;
	left: 3px;
	width: 11px;
	height: 11px;
	background: var(--accent-color);
	border-radius: 50%;
	top: 4px;
}

/* まとめ請求書　価格表
----------------------------------------------- */
.matome_itemname {
	width: 96%;
	margin: 5% auto;
}
.matome_itemname p {
	margin-bottom: 2%;
}
table.matome_price {
	margin: 15px auto 20px auto;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	width: 96%;
	border-collapse: collapse;
	text-align: left;
}
table.matome_price th {
	width: 20%;
	padding: 5% 2%;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	color: #333;
	background-color: #f0f0f0;
	font-weight: normal;
	text-align: center;
}
table.matome_price th:nth-child(2) {
	width: 25%;
}
table.matome_price th:last-child {
	width: 35%;
}
table.matome_price td {
	padding: 5% 2%;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background-color: #fff;
	text-align: right;
}

/* 見積詳細
----------------------------------------------- */
/* 見積内容詳細 */
.workflow_attention {
    color: #f00;
}

/* 定期購入お申し込み詳細
----------------------------------------------- */
.item_detail.raku2_item_bloc_end,
.periodical_item .raku2_item_bloc_end {
	background-color: #E0E0E0;
}

/* ローディングアニメーション
----------------------------------------------- */
.spinner {
	position: absolute;
	top: calc(50% - 47px);
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	-webkit-transform-origin: center;
		transform-origin: center;
	width: 94px;
	height: 94px;
}
/* Loading テキスト */
.raku2_loading {
	-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	top: 44.5%;
	left: 50%;
	position: absolute;
	font-size: 12px;
}
.spinner_wrapper p {
	position: absolute;
	top: calc(50% + 47px);
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-size: 11px;
}
.spinner.type1 {
	border-radius: 50%;
	border-width: 5px;
	border-style: solid;
	border-color: #fff rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
	-webkit-animation: spinner1_1 1.5s infinite linear forwards;
		animation: spinner1_1 1.5s infinite linear forwards;
}
.spinner.type1 span {
	animation: spinner1_1 1.5s infinite linear forwards reverse;
}
@-webkit-keyframes spinner1_1 {
	0% {
		-webkit-transform: translate(-50%, -50%) rotate(0);
			transform: translate(-50%, -50%) rotate(0);
	}
	100% {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
			transform: translate(-50%, -50%) rotate(360deg);
	}
}
@keyframes spinner1_1 {
	0% {
		-webkit-transform: translate(-50%, -50%) rotate(0);
			transform: translate(-50%, -50%) rotate(0);
	}
	100% {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
			transform: translate(-50%, -50%) rotate(360deg);
	}
}
/* Loading テキストのアニメーション内容 */
@-webkit-keyframes spinner_loading_text {
	0% {
		opacity: 1;
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
			transform: translate(-50%, -50%) rotate(0deg);
	}
	50% {
		opacity: 0;
		-webkit-transform: translate(-50%, -50%) rotate(180deg);
			transform: translate(-50%, -50%) rotate(180deg);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
			transform: translate(-50%, -50%) rotate(360deg);
	}
}
@keyframes spinner_loading_text {
	0% {
		opacity: 1;
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
			transform: translate(-50%, -50%) rotate(0deg);
	}
	50% {
		opacity: 0;
		-webkit-transform: translate(-50%, -50%) rotate(180deg);
			transform: translate(-50%, -50%) rotate(180deg);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
			transform: translate(-50%, -50%) rotate(360deg);
	}
}
.loading-box.loading{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 9999;
	color: #fff;
	background-color: #373737;
	visibility: inherit;
	pointer-events: inherit;
	opacity:0.9;
}
/* ローディング表示を消すための定義 */
.loading-box{
	opacity:0;
	visibility:hidden;
	pointer-events:none;
}
/* ローディングアニメーションここまで
----------------------------------------------- */



/* モーダル＆ツールチップ
----------------------------------------------- */
.raku2_round_btn {
	display: block;
	position: absolute;
	cursor: pointer;
	width: 20px;
	height: 20px;
	border: 1px solid #333; /* 枠の調整 */
	border-radius: 50%;  /* 丸みの度合い */
	background: #fff; /* ボタンの背景色 */
	top: 3%;
	right: 3%;
}

.raku2_round_btn::before, .raku2_round_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px; /* 棒の幅（太さ） */
	height: 12px; /* 棒の高さ */
	background: #333; /* バツ印の色 */
}

.raku2_round_btn::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.raku2_round_btn::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

div[class^="raku2_infomation_modal"] {
	display: none;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}

.raku2_modal_bg {
	background: rgba(0, 0, 0, 0.3);
	height: 100vh;
	position: absolute;
	width: 100%;
}

.raku2_modal_container {
	background: #fff;
	left: 50%;
	padding: 10% 5% 0 5%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 75%;
	max-height: 65%;
	overflow-x: scroll;
	overflow-y: scroll;
}

.raku2_modal_main {
	padding-bottom: 15px;
}

.raku2_modal_bottom {
	text-align: center;
	padding-bottom: 15px;
}

.raku2_modal_bottom input {
	vertical-align: middle;
}
/* モーダル＆ツールチップここまで
----------------------------------------------- */

/* -----------------------------------------------
   お友達紹介
----------------------------------------------- */
.friend_area select {
    width: 100%;
}
.friend_area p.friend_code {
    font-size: 12px;
    padding-left: 39px;
    font-weight: normal;
}

#friend_list_wrap .formBox {
    margin-bottom: 0;
    border: none;
}
#friend_list_wrap #friend_list {
    margin: 0 auto 20px;
    border: solid 1px #ccc;
    border-radius: 4px;
}

/* お友達紹介画像・回数 */
#friend_list_wrap #friend_list #friend_list_left {
    float: left;
    clear: left;
    width: 20%;
    text-align: center;
    padding: 5% 0 5% 5%;
}
#friend_list_wrap #friend_list #friend_list_left img {
    display: block;
    border: solid #eee 1px;
    width: 100%;
    margin: 0 auto;
}

/* 以下、お友達紹介内容詳細 */
#friend_list_wrap #friend_list #friend_list_right {
    float: left;
    width: 75%;
}
#friend_list_wrap #friend_list #friend_list_right #friend_info p#friend_name {
    margin-bottom: 0;
}
#friend_list_wrap #friend_list #friend_list_right #friend_info p#friend_name i {
    margin-right: 5px;
}
#friend_info {
    border: none;
    margin: 0;
    padding: 5%;
    border-radius: none;
    box-shadow: none;
}
#friend_info dt h3 {
    font-size: 100%;
}
#friend_info dd {
    font-size: 85%;
    padding: 0 5% 8px;
    border-bottom: dashed 1px #ccc;
    margin-bottom: 8px;
}

#friend_info p#friend_code {
    text-align: right;
    font-size: 60%;
}

#friend_info p#friend_name {
    background: #fef9d9;
    padding: 6px 12px;
    margin: 5px 0 15px;
    color: #e64c66;
    font-weight: bold;
}

/* お友達紹介獲得画面での詳細画像 */
#friend_info img.widget_friend_image {
    width: 100%;
}
/* お友達紹介獲得画面での詳細情報 */
#friend_info #friend_info_detail {
    border: solid 1px #ccc;
    margin-top: 5%;
    padding: 5%;
    border-radius: 4px;
    box-shadow: 0 0 6px #ddd;
}
/* お友達紹介発行時メッセージ */
p.friend_msg {
    text-align: center;
    border: solid 2px #ccc;
    padding: 2% 4%;
    margin: 30px 5%;
    background: #fcfcf7;
}
.form_area #friend_info_serial h2 {
    margin-bottom: 3%;
}

/* 検索ボックス */
.raku2_search_area {
	position: fixed;
    top: 0;
    display: none;
	min-height: 5em;
	width: 100%;
	z-index: 1001;
	background-color: #fff;
}
.raku2_search_area form {
	position: relative;
	display: flex;
	/* justify-content: center; */
	margin: 1em;
}
.raku2_search_area button {
	outline: none;
	width: 10%;
    height: 49px;
	background: #333;
	border: none;
	color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}
.raku2_search_area .raku2_cross {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
}

.raku2_search_area_box {
    width: 90vw;
}
.raku2_search_area_box button {
	outline: none;
	width: 40px;
	height: 30px;
	background: #333;
	border: none;
	color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.raku2_search_area i {
	font-size: 2em;
}

.raku2_search_area .raku2_cross i {
	position: absolute;
	top: 28%;
	right: 1%;
	cursor: pointer;
}

/*******************************************************************************
/* プレースホルダーフローティング
*******************************************************************************/
.raku2_search_area_box {
    position:relative;
    overflow: hidden;
}

.raku2_search_area_box .raku2_search_box_label {
    position:absolute;
    top: 12px;
    left: 7px;
    font-size: 1.2em;
    transform-origin: 0 0;
    transition: all 0.2s ease;
}
.raku2_search_area_box .raku2_search_box_border {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    width: 100%;
    transform: scaleX(0);
    transform-origin: 0 0;
    transition: all 0.15s ease;
}

.raku2_search_area_box input {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    width: 100%;
    height: 40px;
    padding: 7px 0 0 5px!important;
    font-weight: 500;
    border-bottom: 1px solid #c8ccd4;
    background: none;
    color: #223254;
    transition: all 0.15s ease;
}

.raku2_search_area_box input:hover {
    background: rgba(0, 0, 0, 0.04);
}
.raku2_search_area_box input:not(:placeholder-shown) + .raku2_search_box_label {
    transform: translate3d(0, -8px, 0) scale(0.6);
}
.raku2_search_area_box input:focus {
    background: rgba(0, 0, 0, 0.05);
    outline: none;
}

.raku2_search_area_box input:focus + .raku2_search_box_label {
    color: #0077FF;
    transform: translate3d(0, -8px, 0) scale(0.6);
}

.raku2_search_area_box input:focus + span + .raku2_search_box_border {
    transform: scaleX(1);
}

/* 検索ボックス */
.raku2_search_box {
	display: flex;
}

.raku2_search_box button {
	outline: none;
	width: 40px;
	height: 30px;
	background: #333;
	border: none;
	color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
    padding-top: 6px;
}

.raku2_search_box span {
    font-size: 18px;
}

.raku2_search_area input {
	height: 37px;
	padding: 10px 0 0 6px;
	border-right: none;
}

.raku2_search_box input {
	height: 28px;
	padding: 0;
	padding-left: 3px;
	border-right: none;
}
.raku2_search_area input:focus,
.raku2_search_box input:focus {
	outline: none;
}

.raku2_search_box .raku2_search_keyword {
    padding: 0;
    padding-left: 2%;
}

/* スライドイン */
.raku2_cart_slidein {
    position: fixed;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 10fr 7fr;
    height: 100%;
    width: 90%;
    top: 0;
    right: -120%;
    transition: all 0.6s;
    overflow-y: hidden;
    background-color: #fff;
    z-index: 10001;
    padding: 5%;
}
.raku2_cart_slidein a:link,
.raku2_cart_slidein a:visited {
    text-decoration: none;
}

.raku2_cart_slidein.raku2_slide_active {
    right: 0;
}

.raku2_cart_slidein .raku2_slidein_header,
.raku2_cart_slidein .raku2_slidein_main {
    border-bottom: 1px solid #666;
}

.raku2_cart_slidein .raku2_slidein_header {
    display: grid;
	grid-template-areas:
		"close .... cart .... ...."
		"..... msg  msg  msg  ...."
	;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: 1fr 1fr;
    width: 100%;
    height: 100%;
}

.raku2_cart_slidein .raku2_slidein_close {
    grid-area: close;
    align-self: center;
    justify-self: start;
    cursor: pointer;
}

.raku2_cart_slidein .raku2_slidein_cart {
    grid-area: cart;
    align-self: center;
    justify-self: center;
    position: relative;
}

.raku2_cart_slidein .raku2_quantity {
    position: absolute;
    top: -8px;
    right: -4px;
    background: #e64c66;
    color: #fff;
    width: 21px;
    height: 17px;
    border-radius: 50%;
    line-height: 1.3;
    padding-top: 3px;
    text-align: center;
}

.raku2_cart_slidein .raku2_slidein_message {
    grid-area: msg;
    align-self: center;
    justify-self: center;
}
.raku2_cart_slidein .raku2_slidein_main {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.raku2_cart_slidein .raku2_slidein_detail {
    display: flex;
    overflow-y: auto;
    padding: 2.5em 0;
    position: relative;
    right: 0;
}
.raku2_cart_slidein .raku2_slidein_detail:not(:last-child) {
    border-bottom: 1px solid #666;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_left {
    flex-basis: 20%;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_center {
    flex-basis: 70%;
    padding: 0 1em 0 1.5em;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_right {
    flex-basis: 10%;
}

.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_image {
    width: 100px;
    height: 100px;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_name {
    font-size: 1.2em;
    font-weight: 700;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_class:empty,
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_option:empty {
    display: none;
}
.raku2_slidein_detail_center_footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1.0em;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_name,
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_class,
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_option,
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_center_footer {
    margin-bottom: 0.5em;
}

.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_quantity select {
    padding: 5px 30px 5px 0;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    border: 2px solid rgb(211, 212, 213);
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_down {
    position: relative;
    display: block;
    appearance: none;
    border: none;
    text-align: center;
    padding: 0px;
    margin: 0px;
    text-indent: -9999em;
    width: 24px;
    height: 24px;
    min-width: 24px;
    background-color: rgb(255, 255, 255);
    outline: none;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_down::before {
    height: 2px;
    width: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-color: rgb(211, 212, 213);
    transition: background-color 250ms linear 0s;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_down::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-color: rgb(211, 212, 213);
    transition: background-color 250ms linear 0s;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stteper_quamtity {
    width: 100%;
    min-width: 20px;
    text-align: center;
    user-select: none;
    font-weight: 700;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_up {
    position: relative;
    display: block;
    appearance: none;
    border: none;
    padding: 0px;
    margin: 0px;
    text-indent: -9999em;
    width: 24px;
    height: 24px;
    min-width: 24px;
    background-color: rgb(255, 255, 255);
    outline: none;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_up::before {
    height: 2px;
    width: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-color: rgb(211, 212, 213);
    transition: background-color 250ms linear 0s;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_up::after {
    height: 10px;
    width: 2px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    background-color: rgb(211, 212, 213);
    transition: background-color 250ms linear 0s;
}

.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_down:hover,
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_up:hover {
    cursor: pointer;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_down:hover::before,
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_down:hover::after,
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_up:hover::before,
.raku2_cart_slidein .raku2_slidein_detail .raku2_number_stepper_up:hover::after {
    background-color: #333;
}
.raku2_cart_slidein .raku2_slidein_detail_delete {
    cursor: pointer;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_price {
    font-size: 1.6em;
    font-weight: 700;
}
.raku2_cart_slidein .raku2_slidein_detail .raku2_slidein_detail_quantity span {
    font-size: 1.5em;
}

.raku2_cart_slidein .raku2_slidein_price {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.raku2_cart_slidein .raku2_slidein_footer {
    font-size: 2.0em;
    width: 100%;
    height: 100%;
}

.raku2_cart_slidein .raku2_slidein_btn,
.raku2_cart_slidein .raku2_slidein_price {
    margin-top: 1.5em;
}
.raku2_cart_slidein .raku2_slidein_btn_buy {
    color: #FFF;
    display: flex;
    border-radius: 5px;
    text-decoration: none;
    letter-spacing: 2px;
    text-align: center;
    background-color: #F95D6C;
    align-items: center;
    justify-content: center;
}
.raku2_cart_slidein .raku2_slidein_btn_buy a {
    width: 100%;
    height: 100%;
    padding: 0.5em 0;
}
.raku2_cart_slidein .raku2_slidein_btn_buy:hover {
    color: #aaaaaa;
    opacity: 0.7;
}
.raku2_cart_slidein .raku2_slidein_total,
.raku2_cart_slidein .raku2_slidein_matome,
.raku2_cart_slidein .raku2_slidein_delivfee {
    align-self: center;
    justify-self: end;
}

.raku2_cart_slidein .raku2_slidein_empty {
    text-align: center;
    margin-top: 1.5em;
    font-size: 2em;
}
.raku2_cart_slidein .raku2_slidein_close span[class^="material-symbols"],
.raku2_cart_slidein .raku2_slidein_cart span[class^="material-symbols"] {
    font-size: 35px!important;
}

/* 新オーダーシート */
/* リストレイアウト */
.raku2_new_layout_orderlist {
	display: grid;
	grid-template-areas:
		"img name    name   "
		"img listadd listadd"
		"img price   price  "
		"img unit    unit   "
		"img quan    add    "
	;
	/* grid-template-columns: 35% 25% auto; */
	grid-template-columns: 25% 25% auto;
	grid-template-rows: auto auto 1fr;
	gap: 5px 10px;
	margin: 20px 10px;
}

/* タイル状レイアウト */
.raku2_new_layout_ordergrid {
	display: inline-grid;
	grid-template-areas:
		"img    "
		"name   "
		"price  "
		"quan   "
		"add    "
		"listadd"
	;
	gap: 10px 0;
	width: 44%;
	margin-left: 3%;
	margin-bottom: 5%;
    width: 45%;
	vertical-align: top;
}

.raku2_new_layout_ordergrid .raku2_product_name,
.raku2_new_layout_ordergrid .raku2_product_name a {
	display: inline-grid;
	grid-template-areas:
		"inner_name"
		"inner_status"
		"inner_comment"
	;
}
.raku2_new_layout_ordergrid .raku2_product_name .raku2_status_all {
	grid-area: inner_status;
}
.raku2_new_layout_ordergrid .raku2_product_name .raku2_main_name {
	grid-area: inner_name;
}
.raku2_new_layout_ordergrid .raku2_product_name .raku2_main_list_comment {
	grid-area: inner_comment;
}
/* 非表示 */
.raku2_new_layout_orderlist.raku2_new_layout_orderlist_header,
.raku2_new_layout_orderlist .raku2_check,
.raku2_new_layout_orderlist .raku2_product_code,
.raku2_new_layout_orderlist .raku2_stock_quantity_area,
/* .raku2_new_layout_orderlist [class^="raku2_order_list_fav_undone"],
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_done"], */
.raku2_new_layout_orderlist .raku2_purchase_limit_message:empty,
.raku2_new_layout_ordergrid.raku2_new_layout_orderlist_header,
.raku2_new_layout_ordergrid .raku2_check,
.raku2_new_layout_ordergrid .raku2_product_code,
.raku2_new_layout_ordergrid .raku2_product_name .raku2_main_list_comment,
.raku2_new_layout_ordergrid .raku2_stock_quantity_instock,
.raku2_new_layout_ordergrid .raku2_stock_quantity_area,
.raku2_new_layout_ordergrid .raku2_quantity.raku2_partially_hidden,
.raku2_new_layout_ordergrid .raku2_purchase_limit_message:empty {
	display: none;
}
.raku2_new_layout_orderlist .raku2_product_image,
.raku2_new_layout_ordergrid .raku2_product_image {
	grid-area: img;
    justify-self: center;
}
.raku2_new_layout_orderlist .raku2_product_image {
	grid-row: 1 / span 2;
}

.raku2_new_layout_ordergrid .raku2_product_image {
	align-self: start;
}

.raku2_new_layout_orderlist .raku2_product_name,
.raku2_new_layout_ordergrid .raku2_product_name {
	grid-area: name;
}
.raku2_new_layout_orderlist .raku2_product_name a,
.raku2_new_layout_ordergrid .raku2_product_name a {
	text-decoration: none;
}
.raku2_new_layout_orderlist span.raku2_main_name,
.raku2_new_layout_orderlist .raku2_stock_quantity_instock,
.raku2_new_layout_ordergrid span.raku2_main_name,
.raku2_new_layout_ordergrid .raku2_stock_quantity_instock {
	font-size: 1.3em;
}

.raku2_new_layout_orderlist .raku2_stock_quantity_instock,
.raku2_new_layout_ordergrid .raku2_stock_quantity_instock {
	font-size: 1em;
	text-align: center;
	margin-top: 5px;
}

.raku2_new_layout_orderlist .raku2_quantity,
.raku2_new_layout_ordergrid .raku2_quantity {
	grid-area: quan;
	align-self: end;
}

.raku2_new_layout_ordergrid .raku2_quantity {
    justify-self: center;
    width: 50%;
	text-align: right;
}
.raku2_new_layout_orderlist .raku2_quantity.raku2_partially_hidden {
	display: none;
}

.raku2_new_layout_orderlist .raku2_price_area,
.raku2_new_layout_ordergrid .raku2_price_area {
	grid-area: price;
	align-self: center;
}
.raku2_new_layout_orderlist .raku2_unit2 {
	grid-area: unit;
	align-self: center;
}
.raku2_new_layout_ordergrid .raku2_price_area {
	justify-self: start;
}
.raku2_new_layout_orderlist .raku2_price_area .raku2_price,
.raku2_new_layout_orderlist .raku2_price_area .raku2_price_unit,
.raku2_new_layout_ordergrid .raku2_price_area .raku2_price,
.raku2_new_layout_ordergrid .raku2_price_area .raku2_price_unit {
	font-size: 1.3em;
	font-weight: bold;
}
.raku2_new_layout_orderlist .raku2_order_list_add,
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_undone"],
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_done"],
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_loading"],
.raku2_new_layout_ordergrid .raku2_order_list_add,
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_undone"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_done"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_loading"] {
	grid-area: add;
	align-self: end;
	padding: 5px; /* リスト登録のborder分上下padding上書き */
}

.raku2_new_layout_orderlist .raku2_not_purchase_message,
.raku2_new_layout_orderlist .raku2_sale_time_area,
.raku2_new_layout_ordergrid .raku2_not_purchase_message,
.raku2_new_layout_ordergrid .raku2_sale_time_area {
	grid-area: add;
	align-self: end;
	justify-self: center;
	font-weight: bold;
	margin-bottom: 3%;
}
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_undone"],
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_done"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_undone"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_done"] {
	grid-area: listadd;
	align-self: start;
    justify-self: center;
}

/* 数量がない場合、文言・ボタンを中央に寄せる */
.raku2_new_layout_orderlist .raku2_not_purchase_message,
.raku2_new_layout_orderlist .raku2_sale_time_area {
	grid-column: 2 / span 2;
	justify-self: start;
	display: block!important;
}

/* 数量がない場合、文言・ボタンを中央に寄せる */
.raku2_new_layout_orderlist .raku2_not_purchase_message,
.raku2_new_layout_orderlist .raku2_sale_time_area {
	display: block;
}

.raku2_new_layout_orderlist .raku2_product_image img,
.raku2_new_layout_ordergrid .raku2_product_image img {
	width: 100%;
}

.raku2_new_layout_orderlist input.raku2_quantity_text {
    padding: 5px;
    border-radius: 6px;
	width: 86%;
}

.raku2_new_layout_ordergrid input.raku2_quantity_text {
	padding: 5px;
    border-radius: 6px;
    width: 100%;
}

.raku2_new_layout_orderlist .raku2_unit,
.raku2_new_layout_ordergrid .raku2_unit,
.raku2_new_layout_ordergrid .raku2_unit2 {
	display: none;
    /* text-align: center; */
}
/*入り数見出し装飾*/
.raku2_unit2 span {
	border: 1px solid #e6e6e6;
	background-color: #fafafa;
	margin-right: 8px;
	padding: 2px 4px;
	font-size: 12px;
}

.raku2_new_layout_orderlist select.raku2_quantity_select,
.raku2_new_layout_ordergrid select.raku2_quantity_select {
	padding: 6px 0 6px 65%;
	text-align: right;
	border-radius: 6px;
}
.raku2_new_layout_ordergrid select.raku2_quantity_select {
	padding: 6px 25px;
}

/* ボタンデザイン */
.raku2_new_layout_orderlist button,
.raku2_new_layout_ordergrid button {
    width: 90%;
    margin: 0 auto;
    border: none;
    border-radius: 4px;
	min-height: 30px;
}
.raku2_new_layout_orderlist button span,
.raku2_new_layout_ordergrid button span {
	vertical-align: middle;
}

.raku2_new_layout_orderlist .raku2_order_list_add,
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_undone"],
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_done"],
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_loading"],
.raku2_new_layout_ordergrid .raku2_order_list_add,
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_undone"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_done"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_loading"] {
	background-color: #F95D6C;
}
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_undone"],
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_done"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_undone"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_done"] {
	font-size: 0.8rem;
}

.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_undone"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_done"] {
	min-height: auto;
}

.raku2_new_layout_orderlist [class^="raku2_order_list_fav_undone"],
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_done"] {
	margin: 0;
	min-height: auto;
	width: auto;
	justify-self: start;
	padding: 5px 0;
}
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_undone"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_undone"] {
	color: #39c;
}

.raku2_new_layout_orderlist [class^="raku2_order_list_fav_done"],
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_done"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_done"],
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_done"] {
	opacity: 0.4;
}
.raku2_new_layout_orderlist .raku2_order_list_fav_not_del,
.raku2_new_layout_ordergrid .raku2_order_list_fav_not_del {
	pointer-events: none;
}

.raku2_new_layout_orderlist [class^="raku2_order_list_fav_done"] span.material-symbols-sharp,
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_undone_"] span.material-symbols-sharp,
.raku2_new_layout_orderlist [class^="raku2_order_list_stock_notify_done"] span.material-symbols-sharp,
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_done"] span.material-symbols-sharp,
.raku2_new_layout_ordergrid [class^="raku2_order_list_fav_undone_"] span.material-symbols-sharp,
.raku2_new_layout_ordergrid [class^="raku2_order_list_stock_notify_done"] span.material-symbols-sharp {
	font-size: 16px;
	margin-left: -5px;
    margin-right: 5px;
}
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_undone_"] span.material-symbols-sharp,
.raku2_new_layout_orderlist [class^="raku2_order_list_fav_done"] span.material-symbols-sharp {
    margin-right: 0;
}
.raku2_new_layout_orderlist button:hover,
.raku2_new_layout_ordergrid button:hover {
    opacity: 0.7;
	cursor: pointer;
}

.raku2_new_layout_orderlist .raku2_status_text,
.raku2_new_layout_ordergrid .raku2_status_text {
	display: inline-block;
	border: solid 1px #F95D6C;
	border-radius: 2px;
	/* padding: 1px 2px;
	margin: 0 0.3em 0.3em 0; */
	color: #F95D6C;
	font-size: 0.75rem;
	padding: 1px 4px;
	margin: 0 0.4em 0.4em 0;
}

/* オーダーシートヘッダー、フッター部 */
.raku2_new_order_list .error {
	margin: 0 10px;
}
.raku2_new_order_list .product_list_header,
.raku2_new_order_list .product_list_footer {
	display: grid;
    grid-template-areas:
        "count count count count ..... ..... ....."
        "info  info  order order order list  grid "
        "pager pager pager pager pager pager pager"
        "stock stock stock favo  favo  favo  favo "
    ;
	grid-template-columns: 2fr 1fr 2fr 2fr 1fr 1fr 1fr;
    gap: 2.0em 0;
	align-items: center;
	margin: 20px 10px;
}
.raku2_new_order_list .raku2_product_list_number {
	grid-area: count;
}
.raku2_new_order_list .raku2_pagenumber_area {
	grid-area: order;
	justify-self: end;
}
.raku2_new_order_list .raku2_page_info {
	grid-area: info;
	justify-self: start;
	display: flex;
    align-items: center;
}
.raku2_new_order_list .raku2_page_info span {
	margin-right: 5px;
}

.raku2_new_order_list .raku2_view_list {
	grid-area: list;
	justify-self: end;
}
.raku2_new_order_list .raku2_view_grid {
	grid-area: grid;
	justify-self: end;
}
.raku2_new_order_list .raku2_navi {
	grid-area: pager;
}
.raku2_new_order_list .raku2_filter_stock {
	grid-area: stock;
	justify-self: center;
	grid-row: 3 / span 2;
}
.raku2_new_order_list .raku2_filter_favorite {
	grid-area: favo;
	justify-self: center;
	grid-row: 3 / span 2;
}

.raku2_new_order_list .raku2_dispnumber_area,
.raku2_new_order_list_upper,
.raku2_new_order_list_lower {
	display: none;
}
.raku2_product_list_number {
	align-self: center;
	flex-grow: 10;
}
.raku2_navi {
	flex-grow: 15;
	text-align: center;
}
.raku2_view_list,
.raku2_view_grid {
	flex-grow: 1;
	text-align: end;
}

.raku2_new_order_list .raku2_filter_stock input[type=checkbox],
.raku2_new_order_list .raku2_filter_favorite input[type=checkbox] {
	inline-size: 1.5rem;
	block-size: 1.5rem;
	margin: 0 5px 0 0;
}

.raku2_new_order_list .raku2_filter_stock,
.raku2_new_order_list .raku2_filter_favorite {
	display: flex;
	align-items: center;
}

.raku2_new_order_list_sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
    background: #ff931f;
}

.raku2_new_order_list_sticky .raku2_continue_to_checkout {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80%;
	margin: 0 auto;
	/* padding: 10px 5px; */
	border: none;
	/* border-radius: 20px; */
	/* font-size: 1.5em; */
	background-color: #A1887F;
	color: #fff;
	padding: 8px 5px;
	border-radius: 50px;
	font-size: 1.4em;
}

/* 追加吹き出し */
.raku2_balloon {
	position: absolute;
	animation: fade-in 0.5s ease-in-out;
}

.raku2_balloon .balloon {
    display: flex;
    justify-content: center;
    padding: 5px 18px;
    border-radius: 5px;
    background-color: #F95D6C;
    color: #ffffff;
}

.raku2_balloon .balloon::before {
    position: absolute;
    bottom: -6px;
    width: 15px;
    height: 8px;
    background-color: #F95D6C;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

@keyframes slide-in {
	0% {
	  transform: translate(0, 100%);
	}
	100% {
	  transform: translate(0, 0);
	}
}

/* 詳細検索エリア
----------------------------------------------- */
.raku2_right_slidein {
    position: fixed;
    height: 100%;
	padding: 0;
	width: 100%;
    top: 0;
    right: -120%;
    transition: all 0.6s;
    background-color: #fff;
    z-index: 10001;
	overflow-y: auto;
}
.raku2_slidein_search_form .raku2_slidein_search_area_header,
.raku2_slidein_category .raku2_slidein_category_area_header {
    position: fixed;
    top: 0;
    right: -120%;
	transition: all 0.6s;
    width: 100%;
    box-sizing: border-box;
	border-bottom: 1px solid #ddd;
	background: #fff;
    z-index: 10002;
}
.raku2_slidein_search_form .raku2_slidein_search_area_footer,
.raku2_slidein_category .raku2_slidein_category_area_footer {
    position: fixed;
    bottom: 0;
    right: -120%;
	transition: all 0.6s;
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
	background: #fff;
    z-index: 10002;
}

.raku2_right_slidein.raku2_slide_active,
.raku2_slidein_search_form .raku2_slidein_search_area_header.raku2_slide_active,
.raku2_slidein_search_form .raku2_slidein_search_area_footer.raku2_slide_active {
    right: 0;
}

.raku2_slidein_search_form h4 {
	background: #eee;
	padding: 10px 5px;
	font-size: 0.8em;
	color: #888;
}

.raku2_slidein_search_form .raku2_slidein_search_area_header,
.raku2_slidein_category .raku2_slidein_category_area_header,
.raku2_slidein_search_form .raku2_slidein_search_keyword,
.raku2_slidein_search_form .raku2_slidein_search_category,
.raku2_slidein_search_form .raku2_slidein_search_content {
	display: flex;
	align-items: center;
	padding: 15px 10px;
	border-bottom: 1px solid #eee;
}

.raku2_slidein_search_form .raku2_slidein_search_content {
	position: relative;
}
.raku2_slidein_search_content::before,
.raku2_slidein_search_content:has(:checked)::after {
    content: '';
}

.raku2_slidein_search_content:has(:checked)::before {
    background-color: #ff931f;
}

.raku2_slidein_search_content:has(:checked)::after {
    position: absolute;
    top: 12px;
	right: 33px;
    transform: rotate(45deg);
    width: 8px;
    height: 13px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
}

.raku2_slidein_search_content input {
    display: none;
}

.raku2_slidein_search_content::before {
	position: absolute;
	top: 10px;
	right: 25px;
    width: 25px;
    height: 25px;
    border-radius: 3px;
    background-color: #e6edf3;
}

.raku2_slidein_search_form .raku2_icon,
.raku2_slidein_category .raku2_icon {
	flex-basis: 5%;
	font-size: 1.5em;
}
.raku2_slidein_search_form h3,
.raku2_slidein_category h3 {
	font-size: 1.5em;
	margin: auto;
}
.raku2_slidein_search_form .raku2_dummy,
.raku2_slidein_category .raku2_dummy {
	flex-basis: 15%;
}
.raku2_slidein_search_form .raku2_slidein_search_detail {
	flex-basis: 30%;
}
.raku2_slidein_search_form .raku2_slidein_search_content_area {
	flex-basis: 70%;
	text-align: right;
}
.raku2_slidein_search_form .raku2_slidein_search_category .raku2_slidein_search_content_area {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 1.3em;
}
.raku2_slidein_search_form .raku2_slidein_search_content_area label {
	display: inline-block;
	width: 25%;
	padding: 10px 10px;
	font-size: 0.8em;
	text-align: center;
	border: 1px solid #e9e9e9;
	border-radius: 4px;
	margin-left: 5px;
	color: #888;
}
.raku2_slidein_search_form .raku2_slidein_search_category .raku2_slidein_search_allcategory {
	color: #888;
}

.raku2_slidein_search_form .raku2_slidein_search_keyword {
	margin-top: 60px;
}
.raku2_slidein_search_form .raku2_search_keyword {
	width: 95%;
	border-radius: 4px;
	padding: 5px;
	text-align: left;
}
.raku2_slidein_search_form .raku2_search_keyword:focus {
	border: 2px solid #E65100;
	padding: 4px;
}
.raku2_slidein_search_form .raku2_slidein_search_status {
	margin-bottom: 70px;
}
.raku2_slidein_search_form .raku2_slidein_search_area_footer button,
.raku2_slidein_category .raku2_slidein_category_area_footer button {
	padding: 8px 5px;
	font-size: 1.4em;
	border-radius: 4px;
}
.raku2_slidein_search_form .raku2_slidein_search_area_footer .raku2_slidein_clear,
.raku2_slidein_category .raku2_slidein_category_area_footer .raku2_slidein_close {
	width: 30%;
	border: #ff931f 1px solid;
	color: #ff931f;
	font-weight: bold;
}
.raku2_slidein_category .raku2_slidein_category_area_footer .raku2_slidein_close {
	width: 100%;
}

.raku2_slidein_search_form .raku2_slidein_search_area_footer .raku2_slidein_search_search,
.raku2_slidein_category .raku2_slidein_category_area_footer .raku2_slidein_search_search {
	width: 65%;
	background-color: #ff931f;
	color: #fff;
	font-weight: bold;
}

/* カテゴリスライドイン */
.raku2_slidein_category .raku2_slidein_category_area_header.levelactive,
.raku2_slidein_category .raku2_slidein_category_area_footer.levelactive {
    right: 0;
}

/*******************************************************************************
/* バリデーション
*******************************************************************************/
.raku2_validate_target {
    background-color: #ffffe7 !important;
}
.raku2_validate_error {
    background-color: #F0DFDF !important;
}
.raku2_validate_focus {
    background-color: #e7f7f6 !important;
    outline: none;
    border: 2px solid #1cbaa5 !important;
}
[class^="raku2_validate_bubble"] {
    color: white;
    position: absolute;
	background-color: #c61616;
    padding: 5px 10px;
    border-radius: 8px;
    box-shadow: 0px 2px 3px #888;
    opacity: 0.9;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 0.2em;
    white-space: nowrap;
    z-index: 9999;
    max-width: 85%;
    white-space: normal;
}
[class^="raku2_validate_bubble"]::before {
    position: absolute;
    bottom: -6px;
    width: 14px;
    height: 7px;
    background-color: #c61616;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}
.raku2_validate_box {
    position: fixed;
    bottom: 0;
    /* right: 60px; */
    /* min-width: 215px; */
    width: 100%;
    background-color: #cd0a0a;
    /* border-radius: 20px; */
	z-index: 2;
}
.raku2_validate_box div {
	/* font-size: 1.5em; */
	padding: 10px 20px;
	margin: 2px 3px;
	text-align: center;
	/* border-radius: 20px 20px 0 0; */
}
.raku2_validate_box .raku2_validate_message {
	background-color: white;
}
.raku2_validate_box .raku2_validate_count {
	background-color: #c61616;
	color: white;
	border-radius: 20px;
}

div.raku2_incomplete_btn {
    text-align: center;
}

button.raku2_incomplete {
    line-height: 1.6em;
    border-radius: 4px;
    padding: 10px 20px;
    /* margin: 10px; */
    font-size: 133%;
    /* min-width: 220px; */
    width: 100%;
    background: #c61616;
    color: white;
    border: none;
    text-align: center;
    /* display: inline-flex;
    align-items: center;
    justify-content: center; */
}

button.raku2_incomplete span {
    margin-right: 5px;
    font-size: 133%;
}

table#entry_input span[class^="raku2_valid_circle"],
table#entry_input span[class^="raku2_valid_circle"] span.material-symbols-sharp,
table.delivname span[class^="raku2_valid_circle"],
table.delivname span[class^="raku2_valid_circle"] span.material-symbols-sharp {
    margin: 0;
}

span[class^="raku2_valid_circle"] {
    position: absolute;
    background-color: #4eb94e;
    border-radius: 50%;
    color: #fff;
}

span[class^="raku2_valid_circle"] span.material-symbols-sharp {
    font-size: 16px;
    display: block;
}

span[class^="raku2_valid_circle"] span.raku2_valid_check {
    content: '';
    width: 7px;
    height: 3px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg);
}

.grecaptcha-badge {
	z-index: 3;
}

/* 商品一覧(一部メディアクエリ)
----------------------------------------------- */
@media (max-width:364px) {
    .raku2_product_list_new .raku2_product_list_container .listphoto {
        width: calc((100vw) - 2em);
        height: calc((100vw) - 2em);
        max-width: calc((100vw) - 2em);
        min-width: calc((100vw) - 2em);
    }
}

@media (min-width:540px) {
    .raku2_product_list_new .raku2_product_list_container .listphoto {
        width: calc((100vw/3) - 2em);
        height: calc((100vw/3) - 2em);
        max-width: calc((100vw/3) - 2em);
        min-width: calc((100vw/3) - 2em);
    }
}

@media (min-width:540px) {
    .raku2_product_list_new .raku2_product_list_container .listphoto {
        width: calc((100vw/4) - 2em);
        height: calc((100vw/4) - 2em);
        max-width: calc((100vw/4) - 2em);
        min-width: calc((100vw/4) - 2em);
    }
}
