.product__fav-item {
margin: 0px 0;
display: flex;
}

.product__fav-item button {
cursor: pointer;
transition: .2s;
outline: none;
  color: #ddd;
}

.favorite-button {
width: 75%;
color: #4c4c4c;
padding: 10px 0;
border: 1px solid #4c4c4c;
border-radius: 100px;
background: transparent;
margin: 20px auto;
}

.favorite-icon {
width: 60px;
height: 60px;
border-radius: 100px;
background: rgba(255, 255, 255, .25);
display: flex;
align-items: center;
justify-content: center;
position: absolute;
right: 20px;
top: 74%;
z-index: 5;
border: 1px solid #ddd;
}

.product__fav-item svg {
width: 20px;
height: 20px;
vertical-align: -.35em;
fill: currentColor;
}

.product__fav-item .fav-items {
color: #fe5b4e;
}

.product_weight {
color: #fff;
}

#new_tabs {
margin: 12px 20px 0 !important;
}

#month-plan {
margin: 12px 20px 20px 20px !important;
}

#common_list {
border-top: 0;
}

section:first-of-type {
border-top: 8px solid #f7f6f5;
}

.float_button {
position: fixed;
right: 20px;
bottom: 80px;
z-index: 99;
font-weight: bold;
}

.float_button .btn_orange {
height: 50px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 6px rgba(0,0,0,.2);

}

.slick-dots li {
margin: 0 !important;
}

.slick-dotted.slick-slider {
margin-bottom: 0px !important;
}

.slick-dots {
bottom: auto;
position: relative;
padding-top: 10px;
}

.slick-slide p {
height: 100%;
align-items: center;
justify-content: center;
width: 100%;
display: flex !important;
max-height: 100%;
}

.slick-slide img {
max-height: calc(100vw - 40px);
}

.slick-list {
overflow: hidden;
}

.slick-track {
display: flex !important;
align-items: center !important;
}

input,
select {
-webkit-appearance: none;
appearance: none;
}

.btn_soldout {
  margin: 10px 0 0 0;
}

.detail_header {
margin: 10px 20px 0 20px;
}

.detail_header ul {
padding: 12px 12px;
    margin: 0 0 5px 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    text-align: left;
    position: relative;
    font-weight: bold;
    line-height: 1;
    font-size: 12px;
    border-radius: 100px;
    background: #f7f6f5;
}

.detail_header ul li {
text-align: center;
}

.detail_header li a {
  position: relative;
}

.detail_header li a:before {
  content: "";
  background: #999;
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: -3px;
  left: 0;
}

.detail_header li b {
color: #fe5b4e;
}

.detail_header li span {
font-size: 9px;
font-weight: normal;
  display: block;
}

small {
font-weight: normal;
font-size: 11px;
margin: 0 0 0 3px;
color: #999;
}

.detail_header p {
width: 1px;
height: 14px;
background: #ccc;
display: inline-block;
}

.detail_slider {
padding: 20px;
margin: 0;
overflow: hidden;
background: #fff;
border-radius: 20px;
position: relative;
}

.cart_btn {
text-align: center;
padding: 10px;
}

.cart_btn_sub {
position: relative;
background-color: #fff;
padding: 5px 10px;
border: 1px solid #4c4c4c;
color: #333;
margin: 16px 0 0 0;
font-size: 14px;
font-weight: bold;
border-radius: 100px;
line-height: 1;
letter-spacing: 1px;
text-align: center;
}

.cart_btn_sub span {
color: #fe5b4e;
}

.cart_btn_sub::before,
.cart_btn_sub::after {
content: '';
position: absolute;
border: 8px solid transparent;
border-bottom: 8px solid #fff;
top: -15px;
left: 47%;
}

.cart_btn_sub::before {
border-bottom: 8px solid #4c4c4c;
top: -16px;
}

.btn_sub_notice {
font-size: 12px;
color: #999;
line-height: 1.5;
padding: 0 20px 20px 20px;
}

.btn_sub_notice a {
font-size: 12px;
text-decoration: underline;
color: #999;
}

.cart_banner {
margin: 20px 0 0 0;
}

.cart {
text-align: center;
position: relative;
padding: 0 20px;
}

.select_title {
text-align: left;
font-weight: 600;
display: inline-block;
}

.radio_toggle {
display: none;
}

.radio_toggle:checked+ .radio_title + .radio_box  {
height: auto;
}

.radio_toggle:checked+ .radio_title + .radio_box_first  {
height: auto;
}

.radio_toggle:checked + .radio_title::before {
transform: rotate(180deg) !important;
color: #ccc;
}

.radio_title {
display: flex;
flex-wrap: wrap;
align-items: center;
width: 100%;
font-size: 14px;
padding:10px 20px;
position: relative;
}

.radio_title:first-of-type {
border: 0;
}

.radio_title div {
font-size: 13px;
}

.radio_title div:after {
content: "：";
}

.radio_title .select_term strong {
color: #fe5b4e;
font-weight: normal;
font-size: 15px;
}

.select_title a {
color: #fe5b4e;
font-size: 11px;
}

select {
margin: 0 0 10px 0;
background: #fff;
padding: 13px 30px 13px 13px;
}


.priceform_wrap {
padding: 0px 20px 10px 20px;
}

.soldout_price {
display: inline-block;
color: #4c4c4c;
font-weight: bold;
font-size: 22px;
}

.s_o {
background-color: #ddd;
}

.damage_link {
display: inline-block;
color: #fe5b4e;
text-decoration: underline;
cursor: pointer;
display: block;
font-size: 12px;
position: absolute;
right: 20px;
}

.slide_cleaning h4 {
margin: 20px 0;
font-size: 16px;
}

.slide_cleaning .cleaning_img {
width: 300px;
}

.slide_cleaning .passd_img, .slide_cleaning .damage_img {
position: relative;
display: block;
}

.slide_cleaning .passd_img img, .slide_cleaning .damage_img img {
margin: 0 !important;
width: 300px;
}

.slide_cleaning figcaption {
margin: 10px 0 30px 0;
font-size: 13px;
}

.slide_cleaning .passd_img:after,.slide_cleaning .damage_img:after {
font-family: "Font Awesome 5 Free";
position: absolute;
left: 0;
top: 0;
color: #ff0000;
z-index: 99;
width: 56px;
height: 56px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
}

.slide_cleaning .passd_img:after {
content: "\f00c";
font-size: 28px;
line-height: 1;
font-weight: 600;
}

.slide_cleaning .damage_img:after {
content: "×";
font-size: 44px;
line-height: 0.5;
}

#slide {
display: none;
position: fixed;
z-index: 20000;
width: 100%;
top: auto;
height: 350px;
bottom: 0;
overflow-y: auto;
background: #fff;
border-top: 1px solid #ccc;
border-radius: 8px 8px 0px 0px;
}

.price_caution {
color: #999;
font-size: 12px;
margin: 10px 0 0;
}

.open_postage_price {
display: table;
padding: 22px 0px;
width: 100%;
font-size: 14px;
border-bottom: solid 1px #ddd;
}

.postage_way {
display: table-cell;
padding: 0px 8px;
}

.place {
border-bottom: solid 1px #ddd;
padding: 0px 0px 12px;
display: flex;
align-items: center;
font-weight: bold;
position: relative;
}

.place select {
margin: 0 8px 0 0;
height: auto;
padding: 8px 12px;
width: 90px;
font-size: 13px;
font-weight: bold;
background: #fff;
border: 1px solid #eaeaea;
}

.place::after {
width: 6px;
height: 6px;
content: " ";
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
border-top: 1px solid #333;
border-right: 1px solid #333;
position: absolute;
top: 12px;
bottom: 0;
left: 70px;
}

.pref_name {
height: auto;
padding: 8px;
margin: 0px 8px;
background-color: #fff;

}

.pst_li {
margin: 10px 20px;
background-color: #f3f3f3;
padding: 30px 10px;
display: block;
width: 30%;
text-align: center;
font-size: 13px;
display: table-cell;
vertical-align: middle;
text-align: center;
font-weight: bold;
}


.postage_fee {
display: table;
margin: 0 0 20px 0;
table-layout: fixed;
border-radius: 8px;
width: 100%;
}

.pst_fee {
display: table-cell;
vertical-align: middle;
text-align: left;
width: 70%;
padding: 10px 0px 10px 10px;
margin: 24px 0px;
}

.slide_howto,
.slide_option,
.slide_payment,
.slide_cleaning,
.slide_ship,
.slide_status {
position: fixed;
z-index: 10000012;
bottom: -120%;
left: 0;
width: 100%;
transition: all 0.7s;
background: #fff;
border-radius: 16px 16px 0px 0px;
}

.slide_overLay, .slide_overLay_2 {
display: none;
position: fixed;
left: 0;
background: rgba(0, 0, 0, 0.5);
width: 100%;
height: 100vh;
z-index: 10000010;
transition: all 2s;
top: 0;
}

.panelactive {
bottom: 0;
}



.option2 {
text-align: center;
margin: 8px 0px;
}

.price_caution li {
margin-bottom: 10px;
}

#demo,
#demo3 {
color: #fe5b4e;
}

#prepareprice {
display: none;
font-size: 12px;
color: #fe5b4e;
}

.check_box {
margin: 20px 20px 10px 20px;
font-size: 15px;
font-weight: bold;
display: flex;
align-items: center;
padding: 10px;
border: 1px solid #eaeaea;
}

.check_box input[type="checkbox"] {
position: relative;
border: 1px solid #4c4c4c;
}

.check_box input[type="checkbox"]::after {
content: "";
display: block;
position: absolute;
border-bottom: 3px solid #fe5b4e;
border-left: 3px solid #fe5b4e;
opacity: 0;
height: 6px;
width: 11px;
transform: rotate(-45deg);
top: 6px;
left: 6px;
}

input[type="checkbox"]:checked::after {
opacity: 1;
}

.check_box label {
margin: 0 0 0 5px;
}

.check_box p {
color: #fe5b4e;
font-size: 14px;
font-weight: normal;
margin: 0 0 0 10px;
}

.select_table {
display: flex;
align-items: center;
padding: 16px 0;
justify-content: space-between;
border-bottom: 1px solid #eaeaea;
}

.select_table .select_title {
margin: 0;
text-align: left;
font-weight: normal;
width: auto;
font-size: 14px;
min-width: 30%;
max-width: 30%;
}

.select_table .select_title:after {
content: "：";
}

.select_table .select_box,
.select_table input[type="number"] {
margin: 0 0 0 10px;
width: auto;
max-width: 70%;
border: 0;
overflow: hidden;
}

.select_table .select_box select,
.select_table input[type="number"] {
border: 0;
padding: 0 10px 0 0;
margin: 0;
max-width: 100%;
width: auto;
}

.select_table .select_box select {
background: transparent;
padding-right: 20px;
font-size: 14px;
text-align: right;
font-weight: bold;
}

.select_box:after {
font-family: "Font Awesome 5 Free";
content: "\f078";
font-weight: 600;
font-size: 10px;
color: #888;
position: absolute;
right: 0px;
top: 40%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 6px;
height: 6px;
line-height: 1;
transition: all 0.3s;
}

.radio_tab {
display: -webkit-inline-box;
position: relative;
padding: 0 10px 0 20px;
}

.radio_tab li {
background: #ccc;
color: #fff;
padding: 14px 20px 12px 20px;
box-sizing: border-box;
font-size: 14px;
border-radius: 5px 5px 0 0;
margin: 0 5px 0 0;
line-height: 1;
}

.radio_tab .active {
background: #fff;
color: #4c4c4c;
border-top: 1px solid #ddd;
border-right: 1px solid #ddd;
border-left: 1px solid #ddd;
font-weight: bold;
margin: 0 10px -2px 0;
}


#cart-form {
background: #f7f6f5;
padding: 8px 0;
margin: 20px 0 0 0;
}

/* 自治体 */
#cart-form.jichitai {
background:none
}
#cart-form.jichitai .priceform_wrap {
padding: 0px 20px 10px;
background: #f7f6f5;
}
#cart-form.jichitai .select_table {
background: #f7f6f5;
margin-bottom: 10px;
}
#cart-form.jichitai .cart_color {
margin: 0 20px 16px 20px;
width: 90%;
}
/* END 自治体*/

#cart-form .radio_box_first a {
display: block;
margin: 0 0 16px 0;
color: #fe5b4e;
text-decoration: underline;
}

#cart-form .scroll_list > div {
order: 99;
}


#cart-form .radio_box .scroll_list, #cart-form .radio_box_first .scroll_list {
padding: 0 8px 14px 0;
}

#cart-form .radio_box input[type="radio"],
#cart-form .radio_box_first input[type="radio"] {
display: none;
}

#cart-form .scroll_list label p, #cart-form .scroll_list div p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
text-align: center;
overflow: hidden;
font-size: 14px;
line-height: 1;
}

#cart-form .scroll_list label p span, #cart-form .scroll_list div p span {
display: none;
}

#cart-form .scroll_list div p {
color: #aaa;
}

#cart-form .scroll_list strong {
font-weight: normal;
}

#cart-form .scroll_list .green {
color: #3cb371;
}

#cart-form .scroll_list .pink {
color: #fe5b4e;
font-size: 13px;
}

.select_shipping {
display: flex;
align-items: center;
flex-wrap: wrap;
}

.select_shipping .select_box {
display: inline-block;
}

.select_shipping select {
border: 0;
margin: 0;
padding: 0 14px 0 5px;
font-size: 14px;
}

.shipping_free {
display: block;
font-size: 15px;
margin: 0 20px 0 0px;
color: #fe5b4e;
width: 100px;
}

.short_cart {
border: 0;
padding: 10px 0;
width: auto;
background: #3cb371;
color: #fff;
font-size: 12px;
line-height: 1;
border-radius: 4px;
}

.select_subtitle {
margin: -12px -12px 10px -12px;
background: #f7f6f5;
padding: 5px 12px;
border-radius: 5px 5px 0 0;
font-weight: bold;
display: flex;
justify-content: space-between;
}

.option_item, .option_item_anshin {
display: flex;
justify-content: space-between;
margin: 20px 0;
border-bottom: 1px solid #eaeaea;
padding: 0 0 20px 0;
}

.option_item_anshin {
padding: 0 20px 20px 20px;
margin: 0;
}

.option_item:last-child {
border: 0;
padding: 0;
margin: 0;
}

.option_item .img, .option_item_anshin .img {
display: flex;
align-items: flex-start;
justify-content: center;
flex: 1;
}

.option_item .item {
width: 76%;
padding: 0 0 0 16px;
}

.option_item_anshin .item {
width: 78%;
padding: 0 0 0 10px;
}

.option_item_anshin .item form {
display: flex;
align-items: center;
justify-content: space-between;
}

.option_item .ttl, .option_item_anshin .ttl {
overflow: hidden;
display: block;
margin: 0 0 5px 0;
font-weight: bold;
}

.option_item .price p {
font-size: 12px;
}

.option_item .price:after {
content: none;
}

.scroll_list .option_item .price {
display: block;
}

.option_item .ttl span, .option_item_anshin .ttl span {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
font-size: 12px;
}

.option_item .option_price {
font-size: 16px;
font-weight: bold;
}

.option_item_anshin p {
font-size: 12px;
}

.option_item_anshin .option_price {
font-size: 16px;
font-weight: bold;
color: #fe5b4e;
}

.option_item .short_cart {
width: 100px;
}

.option_item_anshin .short_cart {
width: 100%;
min-width: 110px;
}

.option_item .select_table .select_box select, .option_item_anshin .select_table .select_box select {
font-weight: normal;
}

.scroll_list .option_item {
width: 30vw;
margin: 0px 24px 0px 0;
display: block;
border: 0;
padding: 0;
}

.scroll_list .option_item .item {
width: 100%;
padding: 0;
}

.scroll_list .option_item .img {
display: flex;
align-items: center;
justify-content: center;
height: 30vw;
  background: #fff;
}

.scroll_list .option_item .img img {
max-height: 100%;
}

.scroll_list .option_item .ttl {
overflow: hidden;
display: block;
margin: 8px 0 5px 0;
font-weight: bold;
font-size: 13px;
}

.scroll_list .option_item .ttl span {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
height: 42px;
}

.scroll_list .option_item .price_area {
}

.scroll_list .option_item .select_table {
display: block;
margin: 0 0 10px 0;
padding: 5px 0;
}

.scroll_list .option_item .select_title {
display: none;
}

.scroll_list .select_table .select_box select {
font-size: 15px;
padding: 0;
-webkit-appearance: none;
appearance: none;
width: 85% !important;
font-weight: normal;
text-align: left;
}

.scroll_list .option_item .select_box {
max-width: 100%;
}

.scroll_list .option_item .select_box select {
font-size: 13px;
}

.scroll_list .select_box:after {
top: 12%;
display: flex;
align-items: center;
justify-content: flex-end;
width: 20px;
height: 20px;
transform: none;
-webkit-transform: none;
}

.scroll_list .option_item .option_price {
font-size: 16px;
margin: 0 0 12px;
line-height: 1;
font-weight: bold;
}

.scroll_list .option_item .short_cart {
width: 100%;
}

.scroll_list .option_cart {
display: block;
}

.scroll_list .cart_checkin_sub {
text-align: left;
justify-content: left;
}

.scroll_list .cart_checkin_sub i {
margin: 0 6px 0 0px;
}

.option_cart {
display: flex;
align-items: center;
justify-content: space-between;
}

.select_container {
padding: 0 20px 0 0;
overflow-x: scroll;
overflow-y: hidden;
}

.select_container .select_box {
margin: 0;
}

.select_container select {
width: auto !important;
text-align: left !important;
}

.priceform_note {
border: 2px dashed #FF994E;
margin: 20px;
padding: 16px;
text-align: center;
}

.priceform_note .des {
margin: 0 0 10px 0;
font-size: 13px;
}

.priceform_note .title {
margin: 0 0 8px;
font-size: 16px;
font-weight: bold;
}

.priceform_note img {
width: 100%;
border: 1px solid #eaeaea;
}

.price_term {
color: #999;
  font-size: 12px;
}

.price_term:before {
content: "/";
margin: 0 5px 0 0;
}

.price_text {
margin: 20px 0;
}

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

.nekurumi_price span {
text-decoration: line-through;
}

.sold_price {
font-size: 28px;
font-weight: bold;
display: inline-block;
height: 30px;
line-height: 1;
}

.sold_price:after {
content: "税込";
color: #999;
margin: 0 5px;
font-size: 14px;
}

.buy_price {
font-size: 18px;
display: none;
color: #fe5b4e;
font-weight: bold;
height: 30px;
}

table tr:last-of-type {
border: 0;
}

.buy {
display: none;
}

.buy_price a {
margin: 10px 0;
display: block;
text-decoration: underline;
font-size: 15px;
}

.buy_price a:after {
font-family: "Font Awesome 5 Free";
content: "\f054";
padding: 0 0 0 5px;
font-weight: 600;
font-size: 15px;
}

.select_term {
font-weight: bold;
}

.select_soldout {
font-weight: bold;
color: #fe5b4e;
font-size: 16px;
}

.rpd {
vertical-align: bottom;
width: auto;
font-size: 16px;
color: #fe5b4e;
width: 100%;
}

.rpd:before {
content: "1日あたり";
color: #4c4c4c;
font-size: 16px;
}

#select_price {
color: #fe5b4e;
font-size: 16px;
}


.cart_wrap_soldout {
padding: 0 20px;
}

.another_stock {
margin: -10px 20px 20px 20px;
}

.alert_wrap:not(:empty) {
margin: 10px 20px 20px 20px;
}

.stock_alert {
display: block;
width: 100%;
position: relative;
padding: 0 0 0 20px;
margin: 0 0 10px 0;
}

.stock_alert time {
font-weight: bold;
color: #fe5b4e;
}

.stock_alert div {
line-height: 1;
}

.stock_alert p {
display: block;
line-height: 1.5;
}
.stock_alert .term_label{
color:#fe5b4e;
}

.stock_alert .pink {
color: #fe5b4e;
font-size: 14px;
}

.stock_alert::before,.plan-ship p::before {
font-family: "Font Awesome 5 Free";
content: "\f05a";
font-weight: 600;
font-size: 10px;
color: #888;
position: absolute;
left: 0;
  top: 0;
font-size: 15px;
}

.subsc_alert {
width: 100%;
margin: 0 0 16px;
}

.subsc_alert p {
background: #ffebbc;
padding: 8px;
display: inline-block;
line-height: 1;
font-size: 13px;
font-weight: bold;
}

.subsc_ex {
position: absolute;
bottom: 33px;
right: -160px;
color: #fff;
font-size: 13px;
background: rgba(0, 0, 0, 0.5);
padding: 8px;
border-radius: 5px;
display: none;
width: 200px;
line-height: 1.35;
}

.subsc_ex::before, .subsc_ex::after {
content: '';
position: absolute;
border: 7px solid transparent;
border-top: 7px solid rgba(0, 0, 0, 0.3);
bottom: -14px;
left: 9%;
}

.subsc_question {
position: relative;
display: inline-block;
}

.subsc_question i {
cursor: pointer;
position: relative;
}

#price_down {
color: #e50053;
font-weight: bolder;
display: block;
}

.stock_ok {
color: #3CB371;
font-weight: normal;
border-bottom: none;
}

.slider-hide li {
display: none;
height: 330px;
}

#images {
height: 350px;
margin: 20px 0 0 0;
overflow: hidden;
}

#images img {
max-width: 90%;
width: auto;
max-height: 300px;
margin: auto;
}

.button_box {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.button_box .btn_detail,
.button_box .btn_detail_outline {
padding: 10px 16px;
font-size: 14px;
line-height: 1.4;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
margin: 16px 0 0 0;
}

.more_cart {
padding: 0 20px;
}

.detail_modal {
padding: 20px 20px 0 20px;
}

.modal_wrap {
width: 100%;
overflow: scroll;
height: 75vh;
padding: 0 0 20px 0;
}

.detail_modal h2 {
font-size: 18px;
font-weight: 600;
line-height: 1;
margin: 0 0 20px 0;
background: none;
color: #4c4c4c;
text-align: left;
}

.detail_modal h3 {
font-size: 16px;
padding: 0 0 0 10px;
line-height: 1.4;
font-weight: bold;
margin: 0 0 20px 0;
border-left: solid 3px #E3B39A;
}

.modal_wrap p {
margin: 0 0 10px 0;
}

.howto {
padding: 0 0 20px 10px;
}

.howto li {
margin: 0 0 24px 0;
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
}

.howto li:last-child {
margin: 0;
}

.howto li:after {
content: "";
width: 1px;
height: 63px;
border-left: dashed 2px #eaeaea;
position: absolute;
top: 75px;
left: 36px;
z-index: -1;
}

.howto li:last-child:after {
content: none;
}

.howto li p {
width: 72px;
height: 72px;
margin: 0 0 0 0px;
border-radius: 100px;
display: flex;
justify-content: center;
align-items: center;
background: #f7f6f5;
}

.howto li p img {
width: 64%;
height: auto;
}

.howto li dl {
width: 70%;
}

.howto li dl dt {
font-size: 15px;
font-weight: bold;
margin: 0 0 5px 0;
}

.howto li dl dd {}

.howto_box {
margin: 0 0 20px 0;
}

.howto_box p {
padding: 0 0 20px 0;
font-size: 14px;
}

.howto_box img {
padding: 0 20px;
width: 100%;
min-height: 135px;
}

.detial_box b {
font-weight: bold;
}

.icon_star {
margin: 0 0 5px 0;
width: 70px;
overflow: hidden;
height: 14px;
}

.icon_star img {
width: auto;
margin: 0;
height: 14px;
max-width: none;
}

.review_ttl {
font-size: 15px;
font-weight: bold;
margin-bottom: 8px;
}

.detail_icons {
padding: 10px 6px;
margin: 0 20px 20px 20px;
border: 1px solid #eaeaea;
}

.icons_wrap {
display: flex;
justify-content: space-between;
}

.icons_wrap li {
width: calc(100vw / 5);
}

.icons_wrap li .img {
border-radius: 100px;
width: 34px;
height: 34px;
display: flex;
align-items: center;
border: 0px solid #555;
background: #fff;
}

.icons_wrap li:last-child {
margin: 0 0 0 0;
}

.icons_wrap li a,
.icons_wrap li div {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.icons_wrap li img {
width: 100%;
height: auto;
display: block;
}

.icons_wrap li p {
font-size: 11px;
margin: 5px 0 0 0;
width: 100%;
text-align: center;
line-height: 1.3;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
text-decoration: underline;
}

.detail_together {
padding: 0px 20px 20px 20px;
overflow: hidden;
}

.detail_together h2 {
font-size: 18px;
font-weight: bold;
margin: 0 0 20px 0;
}

.together_wrap {
display: -webkit-inline-box;
overflow-x: scroll;
width: auto;
margin: 0;
overflow: hidden;
}

.together_item, .together_wrap a {
border-bottom: 0px;
position: relative;
width: calc(100vw / 3 - 27px);
margin: 0 20px 0 0;
display: block;
position: relative;
}

.together_item:after {
content: "+";
color: #999;
font-size: 30px;
position: absolute;
top: 20%;
right: -18px;
font-weight: normal;
}

.together_item:last-child {
padding: 0;
content: "+";

}

.together_item:last-child::after {
content: "";
}

.together_wrap .pict {
width: 100%;
height: auto;
overflow: hidden;
padding: 10px;
text-align: center;
}

.together_wrap .pict img {
max-height: 90px;
}

.together_wrap .name {
font-weight: normal;
margin: 10px 0 0 0;
overflow: hidden;
line-height: 1.3;
font-size: 13px;
}

.together_wrap .name span {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
height: 32px;
}

.together_wrap .price {
font-weight: bold;
margin: 3px 0 0 0;
font-size: 15px;
}

.reviewlist {
border-top: none;
padding: 0 0 20px;
border: 0;
}

.reviewlist_datas {
overflow: hidden;
}

.shopcomment {
margin-top: 10px;
background: #fff;
padding: 15px;
border-radius: 6px;
}

.shopcomment p {
margin: 0;
}

.none {
display: none;
}

.star-rate {
vertical-align: middle;
text-align: left;
margin: 5px 20px 0 20px;
}

.star-rating-box {
position: relative;
display: inline-block;
width: 80px;
line-height: 0.1;
vertical-align: middle;
}

.filled-star,
.empty-star {
line-height: 1;
}

.filled-star {
overflow: hidden;
}

.rate {
vertical-align: middle;
line-height: 1;
display: inline-block;
font-size: 14px;
font-weight: bold;
}

.c-share-trigger {
display: flex;
align-items: center;
justify-content: center;
margin: 6px 0px 20px;
width: 100%;
padding: 20px 0px;
background: #06c755;
border: 0;
outline: 0;
text-align: center;
height: 56px;
}

.c-share-trigger-icon {

font-size: 34px;
line-height: 1;

}

.c-share-trigger-label {
font-size: 18px;
color: #fff;
vertical-align: middle;
display: table-cell;
}

.p-goods-information__share {
display: table;
width: 100%;
}

.accordion {
border-radius: 0;
}

.accordion_box .reviewlist_content p {
margin: 0 0 8px 0;
}

.review_date {
font-size: 12px;
color: #999;
width: 100%;
white-space: nowrap;
overflow: hidden;
}

.review_link {
display: block;
color: #fe5b4e;
text-align: center;
margin: 0 0 20px 0;
font-weight: bold;

font-size: 16px;
}

.shopcomment_ttl {
font-weight: bold;
}

.accordion_box .accordion_detail {
padding: 0 0 20px 0;
}

/*フロー*/
* {
box-sizing: border-box;
}

.body {
min-height: 100vh;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
}

.body ul {
padding: 0;
}

.body li {
list-style-type: none;
}

.body dd {
margin-left: 20px;
}

.flow {
padding: 0;
margin-bottom: 50px;
}

.flow > li {
position: relative;
}

.flow > li:not(:last-child) {
margin-bottom: 40px;
}

.flow > li:not(:first-child)::before {
content: "";
height: 60px;
display: block;
border-left: 4px dotted #e5e5e5;
position: absolute;
top: -40px;
left: -webkit-calc(10% + 30px - 2px);
left: calc(10% + 30px - 2px);
z-index: 0;
}

.flow > li dl {
width: 100%;
padding: 15px 20px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 2px solid #EA467F;
border-radius: 10px;
position: relative;
}

.flow > li:not(:last-child) dl::before,
.flow > li:not(:last-child) dl::after {
content: "";
border: solid transparent;
position: absolute;
top: 100%;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
}

.flow > li:not(:last-child) dl::before {
border-width: 22px;
border-top-color: #EA467F;
}

.flow > li:not(:last-child) dl::after {
border-width: 20px;
border-top-color: #fff;
}

.flow > li dl dt {
font-size: 20px;
font-weight: 600;
color: #EA467F;
-ms-flex-preferred-size: 20%;
flex-basis: 20%;
margin-right: 2vw;
text-align: center;
}

.flow > li dl dt .icon {
font-size: 12px;
color: #fff;
background: #EA467F;
background: -moz-linear-gradient(left, #EA467F 0%, #EA467F 100%);
background: -webkit-linear-gradient(left, #EA467F 0%, #EA467F 100%);
background: linear-gradient(to right, #EA467F 0%, #EA467F 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b90db', endColorstr='#66d5e9', GradientType=1);
padding: 5px 10px;
margin-bottom: 10px;
display: block;
border-radius: 20px;
position: relative;
z-index: 0;
}

/*フロー*/
/*QA*/
.qaContainer dt {
padding: 10px 10px 10px 35px;
border-radius: 5px;
background: #fedcbd;
text-indent: -25px;
}

.qaContainer dt:before {
content: "Q.";
font-weight: bold;
margin-right: 7px;
}

.qaContainer dd {
margin: 20px 10px 40px 35px;
text-indent: -25px;
}

.qaContainer dd:before {
content: "A.";
color: #fe5b4e;
font-weight: bold;
margin-right: 7px;
}

.cart_modal {
position: fixed;
bottom: -20px;
left: 0;
width: 100%;
background-color: #fff;
box-sizing: border-box;
transition: transform 0.3s ease-in-out;
transform: translateY(100%);
z-index: 10000011;
border-radius: 14px 14px 0 0;
}

.cart_modal.open {
transform: translateY(0);
bottom: 0;
}

.cart_modal .subcate_close {
top: 20px;
}

.block {
display: block;
}

.cart_modal .cart_header {
display: flex;
align-items: center;
padding: 16px 20px;
}

.cart_modal .cart_img {
width: 40px;
height: auto;
display: flex;
}

.cart_modal .cart_img img {
max-height: 100%;
}

.cart_modal .cart_header_sub {
padding: 0 20px;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #eaeaea;
}

.cart_modal .cart_header_sub .btn {
width: calc(100% / 2 - 6px);
font-size: 14px;
}

.cart_checkin {
color: #3cb371;
font-weight: bold;
font-size: 16px;
}

.cart_checkin_sub {
color: #3cb371;
font-weight: bold;
text-align: right;
height: 32px;
width: 100%;
align-items: center;
justify-content: right;
font-size: 13px;
}

.option_item_anshin .cart_checkin_sub {
color: #3cb371;
font-weight: bold;
text-align: right;
height: 32px;
width: 110px;
align-items: center;
justify-content: space-between;
font-size: 13px;
}

.cart_checkin i {
margin: 0 6px 0 20px;
font-size: 16px;
}

.cart_option_wrap {
max-height: 600px;
overflow-y: scroll;
background: #f7f6f5;
}

.cart_option {
overflow-x: scroll;
}

.cart_option_wrap h2 {
font-size: 16px;
margin: 20px;
}

.option_item .select_table {
padding: 8px 0;
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #eaeaea;
margin: 0 0 10px 0;
}

.option_item_anshin .select_table {
padding: 5px 0;
display: flex;
width: 80px;
max-width: none;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #eaeaea;
margin: 0;
}

.option_item .select_box {
max-width: 100%;
margin: 0;
}

.option_item select {
text-align: left;
}

.cart_color,
.select_btn {
font-weight: 700;
color: #fff;
font-size: 16px;
line-height: 1;
height: 50px;
background-color: #3cb371;
border-radius: 8px;
border: 1px solid transparent;
position: relative;
-webkit-tap-highlight-color: rgba(0, 0, 0, .3);
margin: 10px 0 0 0;
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 !important;
box-shadow: 0 5px 0 #028760;
text-align: center;
}

.cart_color {
background: url(https://img08.shop-pro.jp/PA01197/427/etc/icon_button_cart.png?cmsp_timestamp=20230426200331) no-repeat #3cb371;
background-position: 12% center;
background-size: 20px 20px;
}

.vacation {
border: 4px double #fe5b4e;
font-size: 12px;
font-weight: bold;
color:  #fe5b4e;
padding: 10px;
margin: 0px 20px 20px 20px;
}

#saleitems {
display: block;
padding: 16px;
margin: 0;
color: #fff;
background-color: #FF994E;
border-radius: 8px;
font-weight: bolder;
position: relative;
text-align: center;
}

h1 {
margin: 0 20px 0px 20px;
font-size: 16px;
line-height: 1.3;
font-weight: 600;
}

.bottom_float {
box-sizing: border-box;
position: fixed;
bottom: 20px;
right: 20px;
display: flex;
z-index: 10;
background: #fff;
align-items: center;
box-shadow: 0 2px 16px 0 rgba(0, 0, 0, .15);
border-radius: 100px;
padding: 11px 24px 16px 24px;
font-weight: bold;
text-decoration: underline;
text-underline-offset: 5px;
}

.pd_btn_sc li {
width: 49%;
display: inline-block;
padding: 8px 10px;
margin: 16px auto;
}

.pd_btn_sc li + li {
border-left: 1px solid #ddd;
}

.gray_button {
margin: 0 0 20px 0;
width: 100%;
display: block;
padding: 14px;
color: #999;
background: #f7f6f5;
border-radius: 8px;
font-weight: bolder;
text-align: center;
}

.detail_faq {
padding:20px;
border-top: 8px solid #f7f6f5;
}

.detail_notice {
padding: 20px 20px 10px 20px;
background: #f7f6f5;
}

.detail_notice ul {
text-align: center;
}

.detail_notice li {
margin: 0 8px 0 0;
font-size: 12px;
font-weight: bold;
display: inline-block;
border-right: 1px solid #ddd;
padding: 2px 8px 2px 0;
line-height: 1;
}

.detail_notice li:last-child {
margin: 0;
padding: 2px 0;
border-right: 0;
}

.detail_notice a {
color: #fe5b4e;
}

#prd_dtl section h2 {
font-size: 18px;
font-weight: bold;
}

#prd_dtl table tr {
vertical-align: middle;
}

#prd_dtl table th {
background: #f7f6f5;
font-weight: normal;
vertical-align: middle;
width: 30%;
font-weight: bold;
}

.accordion_box h4 {
margin: 0 0 10px 0;
}

.accordion_box table th,
.accordion_box table td {
padding: 10px;
font-size: 13px;
}

.accordion_box table td {
word-break: break-all;
}

.accordion_box table td:first-child {
width: 30%;
}

.accordion_box table td:last-child {
width: 70%;
}

.accordion_box table.pricetbl td {
padding: 15px 0;
border-right: 1px solid #eaeaea;
vertical-align: middle
}

.productLinkArea {
display: none;
}

.recommend_toggle {
display: none;
}

.panel_wrap {
padding: 0 20px;
}

.gray_line_btn {
padding: 14px;
display: block;
border: 1px solid #ddd;
text-align: center;
font-weight: bold;
position: relative;
border-radius: 8px;
}

.arrow_vertical:before,
.arrow_vertical:after,
.arrow_right:after {
font-family: "Font Awesome 5 Free";
margin-right: 10px;
font-weight: 600;
font-size: 10px;
color: #888;
position: absolute;
right: 0;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
font-size: 14px;
}

.arrow_vertical:before {
content: "\f077";
display: none;
}

.arrow_vertical.active:before {
display: inline-block;
}

.arrow_vertical:after {
content: "\f078";
}

.arrow_vertical.active:after {
display: none;
}

.arrow_right:after {
content: "\f054";
}

.panel_list {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
overflow: hidden;
transition: all .3s;
height: 330px;
transition: height 0.3s ease;
}

.panel_list li {
width: calc(100% / 3 - 16px);
margin: 0 0 24px;
}

.panel_list li .name {
font-size: 13px;
margin: 8px 0 0 0;
overflow: hidden;
line-height: 1.2;
}

.panel_list li .name span {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}

.panel_list li .pict {
display: flex;
align-items: center;
justify-content: center;
height: 96px;
}

.panel_list li .pict img {
max-height: 95.66px;
width: auto;
}

.panel_list .price, .price_other {
font-size: 14px;
}

.panel_list .overview,
.panel_list .not_on_rental,
.panel_list .on_rental,
.panel_list .shipping,
.panel_list .restock,
.quantity, .keywords,
.panel_list .subsc, .panel_list .rating ,.panel_list .product-list__fav-items {
display: none !important;
}

.child_link {
font-size: 15px;
font-weight: bold;
color: #fe5b4e;
text-decoration: underline;
margin: 0 0 24px 0;
display: block;
}

.used_title {
margin: 0 0 30px 0;
border: 2px solid #fe5b4e;
padding: 16px;
text-align: center;
font-weight: bold;
font-size: 16px;
color: #fe5b4e;
}

.used_title table {
margin: 16px 0 0 0;
border: 1px solid #eaeaea;
color: #4c4c4c;
}

.RestockRequest-restockRequest-nVwrx {
left: auto !important;
right: 20px !important;
bottom: 20px !important;
margin-right: 0 !important;
z-index: 2 !important;
}

.RestockRequest-restockRequestFabText-3JjHa {
background: #FF994E !important;
color: #fff !important;
border-radius: 10px !important;
box-shadow: 0 0 5px rgba(0,0,0,.2) !important;
font-size: 14px !important;
height: 50px !important;
padding: 0 0.9rem !important;
}

.RestockRequest-restockRequestFab-BXUem {
color: #fff !important;
background: #FF994E !important;
}

/* カートボタンの表示 */
/* #cart-formにdata-soldout属性がないとき、弟要素の.cart_wrapのうち .cart_soldoutを持たない要素を表示  */
/* #cart-formにdata-soldout属性があるとき、弟要素の.cart_soldoutを表示 */
#cart-form:not([data-soldout]) .cart_wrap:not(.cart_soldout),
#cart-form[data-soldout="true"] .cart_soldout{
display:block
}
/* #cart-formにdata-soldout属性があるとき、弟要素の.cart_wrapのうち .cart_soldoutを持たない要素を非表示 */
/* #cart-formにdata-soldout属性がないとき、弟要素の.cart_soldoutを表示  */
#cart-form[data-soldout="true"]  .cart_wrap:not(.cart_soldout),
#cart-form:not([data-soldout="true"])  .cart_soldout{
display:none !important
}
/* リユース・新品の表示きりかえ */
/* #cart-formのdata-state属性が「reuse」のとき、.is_newクラスをもつ.type_labelと、.is_newクラスをもつinputに隣接するlabelを非表示 */
/* #cart-formのdata-state属性が「new」または「.subsc」のとき、.is_newクラスをもたない.type_labelと、.is_newクラスをもたないinputに隣接するlabelを非表示 */
#cart-form[data-state="reuse"] :is(.type_label , [name="option1"]+label ).is_new,
#cart-form:is([data-state="new"],[data-state="subsc"]) :is( .type_label, [name="option1"]+label ):not(.is_new){
display: none;
}

/* 延長商品の購入オプション選択時 */
.price_text[data-ask="true"] > .sold,
#cart-form:not([data-ask]) .buy{
display: none;
}
#cart-form[data-ask="true"] .buy{
display: block;
margin: 0;
}
.price_text:not([data-ask]) > .sold,
#cart-form .price_text[data-ask="true"] > .buy{
display: inline-block;
}


/* オプション選択時のラベル装飾（オプション２のラベルは除くが安心補償は含む）
* (プランは別に指定するのでここでは除く) */
#cart-form :not(#option2-box.block-view) > [type="radio"][aria-checked="true"]:not([name="plan"]) + label:not(#important) {
background-color: #FFF4EB;
border: 1px solid #FF994E;
font-weight: bold;
}
/* 在庫なしオプションを後方に */
#cart-form :is([type="radio"][data-soldout], [type="radio"][data-soldout] + label) {
order: 99;
}
/* 在庫なしオプションに在庫切れ表示 */
input[name="state"][data-soldout]+label::after,
input[name="option1"][data-soldout]+label::after{
content: "在庫切れ";
font-size: 13px;
line-height:1.3;
color:#fe5b4e;
}

/* 新品選択時、非表示期間に該当したら非表示 */
#cart-form label[hidden] {
display: none !important;
}
#cart-form input:is([id^="type"], [name^="option"]):not(#important) {
display: none;
}

/* 型番にRSVがあるとき、当日発送か７営発送のどちらかのカラーを非表示*/
#cart-form [name^=option][disabled] + label{
display:none;
}
/* RSV をもつ要素は通常の後ろ、在庫切れの前にまわす*/
#cart-form .scroll_list > .rsv+label{
order: 88;
}

/* 追加@24-06-14 */
#cart-form fieldset {
width:100%;
min-width: 100%;
max-width: 100%;
overflow-x: scroll;
overflow-y: hidden;
}
fieldset:first-child .radio_title {
border: 0;
}

.radio_title div {
font-size: 13px;
}
.radio_title div:after {
content: "：";
}
.radio_title .select_term strong {
color: #fe5b4e;
font-weight: normal;
font-size: 15px;
}


#type_box:not(:has(>:nth-child(3))),/* リユースのみまたは新品のみ */
#option1-box.hosho:not(:has(>:nth-child(3))){ /* 安心補償の適用期間*/
display:none
}

#cart-form .scroll_list > .rsv + label{
order: 88;
}
#cart-form .scroll_list {
padding-bottom:10px;
}
:is(#type_box,  #option1-box, #option2-box.inline-view) label {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
width: 150px;
height: 100%;
min-height: 50px;
margin: 0 8px 0 0;
padding: 10px 4px;
background: #fff;
border-radius: 6px;
border: 1px solid #ccc;
box-shadow: 0 0px 12px 0 rgba(0, 0, 0, .1);  overflow: hidden;
line-height: 1.3;
}
#cart-form .scroll_list > label p{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
text-align: center;
overflow: hidden;
font-size: 13px;
line-height: 1.2;
width: 100%;
}

#cart-form .scroll_list > label strong {
font-weight: normal;
line-height: 1;
}

#cart-form .scroll_list > label p span{
display: none;
}
#cart-form .scroll_list > label p span.opt2-name__subsc {
display: inline;
font-weight: 400;
}

#cart-form .scroll_list .checked {
background-color: #FFF4EB;
border: 1px solid #FF994E;
font-weight: bold !important;
}

#cart-form .scroll_list label .name_sub {
font-weight: normal;
line-height: 1.5;
font-size: 12px;
}

#cart-form .scroll_list label .name_red {
color: #fe5b4e;
font-weight: bold;
font-size: 13px;
}

#cart-form .scroll_list strong {
font-weight: normal;
}

#cart-form .scroll_list .pink {
color: #fe5b4e;
font-size: 13px;
}
#cart-form .hosho .scroll_list {
margin: 0;
}
#option2-box.block-view {
display:block;
padding: 0;
margin: 0;
}
#option2-box.block-view > label {
display: flex;
justify-content: space-between;
align-items: center;
min-height: 50px;
border: none;
border-bottom: 1px solid #eaeaea;
position: relative;
}
.option2-box__title {
font-weight: 600;
color: #4c4c4c;
padding: 8px 10px;
margin: 16px 0 8px 0;
border-radius: 100px;
line-height: 1;
font-size: 12px;
text-align: center;
position: relative;
background: #fff;
}
#option2-box.inline-view .option2-box__title{
display:none
}
.option2-box__title::before, .option2-box__title::after {
content: '';
position: absolute;
border: 8px solid transparent;
border-top: 8px solid #fff;
bottom: -15px;
left: 47%;
}

#option2-box:not(:has(.short + .item:not([hidden]))) .short-title {/* 有効なショートレンタルが無いとき */
display: none;
}
#option2-box:not(:has(.item:not([hidden]):nth-of-type(2))) .option2-box__title {/* 有効な期間が１つしかない*/
display: none;
}
#option2-box.block-view .opt2-name {/* 日数 */
font-weight:600;
grid-area: days;
width: 110px;
text-align: left;
padding: 0;
}
#option2-box .opt2-name {
font-size: 12px;
}
#option2-box .opt2-tag{ /*割引率や人気タグ*/
display: flex;
justify-content: center;
align-items: center;
height: 20px;
font-size: 12px;
color: #fff;
border-radius: 2px;
position: absolute;
width: 60px !important;
left: 22%;
}
.opt2-tag:not(:empty):not(#important){
border: 1px solid #FF994E;
color: #FF994E;
padding: 4px 0;
line-height: 1;
font-size: 11px;
}
input[name="option2"].popular + label .opt2-tag::after {
content: "人気";
position: absolute;
inset: 0;
display: flex;
justify-content: center;
align-items: center;
height: 20px;
font-size: 12px;
color: #fff;
background: #FF994E;
border-radius: 2px;
}
#option2-box.block-view > label > strong{/* 金額 */
grid-area: price;
font-size: 16px;
font-weight: 600;
text-align: center;
width: 100px;
margin: 0 40px 0 0;
}
#option2-box > label .perday {/* 1日あたり */
grid-area: perday;
font-size: 12px;
font-weight: 400;
color: #fe5b4e;
line-height: 1.2;
position: absolute;
left: 72%;
text-align: left;
}
.perday::before {
content: "1日あたり";
display:block;
font-size:10px;
color:#4c4c4c;
}
.long + label .perday::before{
content:"1ヶ月あたり"
}
#option2-box > label::after { /* チェックマーク */
grid-area: mark;
content: "";
display: block;
width: 22px;
height: 22px;
background: #fff;
border: 1px solid #ccc;
border-radius: 50%;
box-shadow: 0 0px 12px 0 rgba(0, 0, 0, .1);
margin: 0 5px 0 0;
}
#option2-box > [aria-checked="true"] + label::after {
background: radial-gradient(circle at center,orange 0 6px,#fff 7px) #fff;
}
#option2-box.inline-view :is(.opt2-tag , .perday),
#option2-box.inline-view > label::after {
display: none;
}

#ship-date { /*最短発送日*/
color: #fe5b4e;
font-weight: bold;
}
/* END // option新スタイル*/

/*レビューまわり　変更@ 2024-05-20*/
dialog {
color: #4c4c4c;
}

#top-reviews{
display:flex;
flex-direction:row;
flex-wrap:wrap;
justify-content: space-between;
border-top: 1px solid #eaeaea;
margin: 0 -20px;
padding: 0 20px;
}
#top-reviews .reviewlist{
order:2
}

#top-reviews .reviewlist.good {
order: 1;
margin: 20px 0 0 0;
}

#top-reviews .good .review_date, #top-reviews .bad .review_date {
display: none;
}

#top-reviews .good {
margin: 20px 0 0 0;
}

.review_author{
display:none;
}
.review-container {
margin: 0 -20px;
padding: 0px 20px;
border-top: 1px solid #eaeaea;
}

#top-reviews .reviewlist {
margin-bottom: 20px;
}

article.reviewlist {
margin-bottom: 20px;
padding: 20px;
background: #f7f6f5;
border-radius: 10px;
}
.star-rating,
.review__rate {
display:inline-block;
min-height:1em;
color: lightgray;
line-height: 1;
position: relative;
}
.review_header .review__rate {
margin: 0;
}
.review__rate::after,
.star-rating::after {
content: "★★★★★";
position: absolute;
inset: 0;
width: 0;
color: gold;
overflow: hidden;
}
.review__rate.rate-1::after{width:1em}
.review__rate.rate-2::after{width:2em}
.review__rate.rate-3::after{width:3em}
.review__rate.rate-4::after{width:4em}
.review__rate.rate-5::after{width:5em}

.star-rating[data-rate="1.0"]::after{width:1em}
.star-rating[data-rate="1.5"]::after{width:1.5em}
.star-rating[data-rate="2.0"]::after{width:2em}
.star-rating[data-rate="2.5"]::after{width:2.5em}
.star-rating[data-rate="3.0"]::after{width:3em}
.star-rating[data-rate="3.5"]::after{width:3.5em}
.star-rating[data-rate="4.0"]::after{width:4em}
.star-rating[data-rate="4.5"]::after{width:4.5em}
.star-rating[data-rate="5.0"]::after{width:5em}

#review-modal, .bbr-modal{
width:100vw;
height:100vh;
max-width:100vw;
max-height:100vh;
margin:0;
padding:0;
background:none;
-ms-scroll-chaining:none;
overscroll-behavior: contain;
border: 0;
}

#review-modal h2{
margin: 20px 0;
}

.review_header {
margin: 0 0 20px 0;
display: flex;
justify-content: space-between;
}

.review_header .review_rate {
display: flex;
align-content: space-around;
flex-direction: row;
flex-wrap: wrap;
}

.review_header .review_average {
font-size: 30px;
line-height: 1;
}

.review_header .review_stars {
margin: 0 0 0 10px;
display: flex;
flex-direction: column;
justify-content: center;
font-size: 16px;
}

.review_header .review_count {
line-height: 1;
font-size: 12px;
margin: -3px 0 0 0;
display: none;
}

.review_header .review_button {
width: 50%;
display: block;
padding: 10px 0;
color: #4c4c4c;
border: 1px solid #ddd;
border-radius: 100px;
font-weight: bolder;
text-align: center;

}

.review_button a {
text-decoration: none;
}

.review_button:before {
font-family: "Font Awesome 5 Free";
content: "\f304";
margin-right: 6px;
font-weight: 600;
font-size: 14px;
margin-top: 3px;
color: #999;
}

#review-modal::backdrop, #kariosae-modal::backdrop {
background: rgb(0 0 0 /.5);
transition: 0.2s ease;
}

.bbr-modal-inner {
position: absolute;
top: 50%;
left: 50%;
}

.review-modal-body {
padding: 0 20px;
background: #fff;
position: fixed;
border-radius: 16px 16px 0px 0px;
bottom: 0;
}

#review-modal h2 {
margin: 20px 0;
}

#review-modal .review-container {
margin: 0;
padding: 0;
border: 0;
}

.review_modal_header {
display: flex;
font-weight: bold;
justify-content: space-between;
align-items: center;
margin: 0 0 20px 0;
line-height: 1;
}

#review-sort {
border: 0;
font-size: 13px;
background: transparent;
font-weight: bold;
margin: 0;
line-height: 1;
outline: none;
}

#review-sort::after {
width: 6px;
height: 6px;
content: "";
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
border-top: 2px solid #f1997d;
border-right: 2px solid #f1997d;
margin: auto;
position: absolute;
top: -3px;
bottom: 0;
right: 10px;
}

.reader-txt{
width: 0;
height: 0;
position: absolute;
clip: rect(0 0 0 0);
-webkit-clip-path: inset(50%);
clip-path: inset(50%);
overflow: hidden;
}
.bbr-modal__close{
position: absolute;
top: 20px;
right: 20px;
width: 26px;
height: 26px;
margin: 0;
padding: 0;
background: #fff;
border: none;
outline: none;
cursor: pointer;
}
.bbr-modal__close > svg {
width: 27px;
height: 26px;
fill: currentColor;
}
.review-modal__close{
position: absolute;
top: 20px;
right: 20px;
width: 20px;
height: 20px;
margin: 0;
padding: 0;
background: #fff;
border: none;
outline: none;

}
.review-modal__close > svg {
width: 27px;
height: 26px;
fill: currentColor;
}
/* @2024-12追加
* 月額レンタルプランのスタイル */
input[name="plan"]{
display:none
}
.plan-container{
--strong-color: #fe5b4e;
}
/* 選択中のプラン*/
.plans-title[hidden]{
display: none !important;
}
/* 選択中のプラン表示 */
.selected-plan::before {
content: "";
font-weight: 700;
}
#cart-form:has(#month_plan[aria-checked="true"]) .selected-plan::before {
content: "月額レンタルプラン";
}
#cart-form:has(#spot_plan[aria-checked="true"]) .selected-plan::before {
content: "スポットレンタルプラン";
}

/* 月額プランはstripeリンクがあるとき&新品のときだけ表示 */
.monthly-plan{
display:none
}
#cart-form[data-state="new"][data-has_subsc="true"] .monthly-plan {
display: block;
}
.plan-container > .radio_title {
display: none;
}
#cart-form .monthly-plan,
#cart-form .spot-plan {
margin:0 20px 20px 20px;
}
#cart-form .subsc-plan {
margin:20px;
}

.plan{
display: block
}

/* プランが閉じているときはnot-active以外を非表示 */
input[name="plan"]:not([aria-checked="true"]) + .plan > :not(.not-active) ,
input[name="plan"]:not([aria-checked="true"]) + .plan > .not-active > .plan-intro-term{
display: none !important;
}

/* 条件に応じたオレンジ背景・枠線・余白の設定 */
.monthly-plan .plan, /* 月額プラン*/
.spot-plan:has(>[aria-checked="true"]):not(:has( .hosho)), /* 選択中のスポットプラン（あんしん補償のぞく）*/
#option2-box.block-view.encho{ /* 延長 */
border-radius: 6px;
border: 1px solid #FF994E;
background-color: #FEF6EF;
box-shadow: 0 0px 12px 0 rgba(0, 0, 0, .1);
padding: 0 20px 20px;
}
#option2-box.block-view.encho {
padding: 0 20px 20px;
margin: 0 20px;
}

/* 月額プランがあるときのプラン */
:where(#cart-form[data-has_subsc="true"]) .plan{
border-radius: 6px;
padding-inline: 0;
}

/* 月額プランがある & 非選択中のプラン */
#cart-form[data-has_subsc="true"] :not([aria-checked="true"]) + .plan{
border: 1px solid #ccc;
background-color: #FFF;
}
/* 月額プランがある & 非選択中のスポットプラン*/
#cart-form[data-has_subsc="true"] > .spot-plan:not(:has(>[aria-checked="true"])) .plan{
padding: 0 20px 20px;
}

.plan-intro-banner {
padding: 6px 12px;
background: #ff994e;
width: max-content;
font-size: 12px;
font-weight: 700;
color: #fff;
border-radius: 50px;
white-space: nowrap;
margin-inline: auto;
position: relative;
top: -16px;
}

/* 「プランを選ぶ」*/
.monthly-plan .radio_title {
padding: 16px 10px 8px;
}

/*各プラン名*/
#cart-form .plan-title{
font-weight: 600;
color: #4c4c4c;
padding: 16px 0 36px 0;
font-size: 14px;
text-align: left;
}
/*　補償のときプラン名非表示 */
#cart-form .plan.hosho .plan-title {
display: none;
}

/* 月額プラン表示時は「レンタル期間」を非表示*/
#cart-form[data-has_subsc="true"] .spot-plan .radio_title {
display: none;
}

/* プランの導入部分 */
.plan-intro {
padding:0 10px 16px;
background: #f7f6f5;
position: relative;
margin: 0 0 10px 0;
}
.plan.hosho .plan-intro{ /*安心補償のときは非表示*/
display:none
}

/* プランが選択されているとき導入部分の背景は白 */
input[name="plan"][aria-checked="true"] + label .plan-intro{
background:#fff;
}
.plan-intro-text p {
color: #3bb371;
text-align: center;
font-weight: 700;
line-height: 1.5;
}
.plan-intro-term {
display: grid;
grid-template-columns: 144px auto;
row-gap: 6px;
padding: 16px 0 0 0;
border-top: 1px solid #eaeaea;
margin: 16px 0 0 0;
}
.plan-intro-term dd {
font-weight: 700;
color: var(--strong-color);
}
.plan-intro-term dt::before {
content: "";
width: 14px;
height: 14px;
background-image: url('https://file001.shop-pro.jp/PA01197/427/webp/new/otameshi_icon_check.svg');
background-size: cover;
display: inline-block;
margin-right: 4px;
}
.plan-intro-term dd::before {
content: ":";
font-weight: 400;
color:initial;
margin-right: 1em;
}

.plan-price {
display: grid;
grid-template-columns: auto 100px 32px;
align-items: center;
gap:1em;
height: 50px;
font-size: 14px;
font-weight: 700;
line-height: 1.4;
border-bottom: 1px solid #eaeaea;
}
.plan-price::after {
content: "";
display: block;
width: 22px;
height: 22px;
background: #fff;
border: 1px solid #ccc;
border-radius: 50%;
box-shadow: 0 0px 12px 0 rgba(0, 0, 0, .1);
margin: 0 5px 0 0;
}

/* スポットプランが選択中、ダミーボタンに色 */
input[name="plan"][aria-checked="true"] + label .plan-price::after {
background: radial-gradient(circle at center,orange 0 6px,#fff 7px) #fff;
}
/* スポット選択中（プラン有効・無効に関わらず）はダミー価格とか非表示 */
input#spot_plan[aria-checked="true"] + label .plan-price{
display: none !important;
}
/* 月額プラン選択中はスポットの金額・カートボタン・発送目安を非表示*/
#spot_plan:not([aria-checked="true"]) ~ :is(.price_text, .stock_alert, .cart_wrap) {
display: none !important;
}
.subsc-price {
text-align: right;
}
.plan-price-large {
padding-block: 20px;
}
.plan-price-large .subsc-price {
font-size: 28px;
font-weight: 700;
line-height: 1;
}
.plan-price-large .subsc-price + span {
color: #999;
}

.plan-ship {
  color: #4c4c4c;
  position: relative;
  padding: 0 0 5px 20px;
}
.plan-ship p {
line-height: 1.5;
}

.plan_alert {
  font-size: 12px;
    margin: 5px 0;
    display: inline-block;
    width: auto;
    line-height: 1;
    border-bottom: 1px solid #4c4c4c;
    color: #4c4c4c;
    padding: 0 0 5px 0;
}
.plan-ship strong {
color: var(--strong-color);
}

.plan-cart.cart_color {
background-position: 10% center;
}

.plan-cart-sub {
position: relative;
background-color: #fff;
padding: 5px 10px;
border: 1px solid #4c4c4c;
color: #333;
margin: 16px 0 0 0;
font-size: 14px;
font-weight: bold;
border-radius: 100px;
line-height: 1;
letter-spacing: 1px;
text-align: center;
}
.plan-cart-sub::before,
.plan-cart-sub::after {
content: '';
position: absolute;
left: 47%;
top: -8px;
left: 47%;
width: 1em;
height: 1em;
background: #fff;
border: 1px solid #4c4c4c;
rotate:45deg;
clip-path: polygon(0 0,100% 0,0 100%);
}
.plan-cart-sub::after {
top: -6px;
border: none !important;
}
.plan-cart-sub strong {
color: var(--strong-color);
}

/* カートボタン後ろの説明図など */
/* プラン表示が有効なときのみ表示*/
.plan-outro {
display: none;
margin-top: 20px;
padding: 20px;
background: #fff;
}
/* 購入時に割引く表示*/
input[name="plan"][aria-checked="true"] + .plan .cart_wrap .plan-outro, /* 月額 */
input[name="plan"][aria-checked="true"] ~ .cart_wrap .plan-outro {  /* スポット */
display: none;
}
.plan-outro .plan-outro-title {
font-size: 14px;
font-weight: 700;
padding: 4px 8px;
background: #6c9;
width: max-content;
line-height: 1.5;
color: rgb(76, 76, 76);
}
.plan-outro img {
margin-block: 10px 8px;
}
.plan-outro p {
font-size: 12px;
font-weight: 400;
line-height: 1.5;
}
/* 値引き表示*/
.discount-detail[hidden]{
display:none
}
.discount-detail {
display: grid;
grid-template-columns: 100px auto;
gap: 2px 0;
padding-block: 8px;
display:none;
}
.discount-detail .coral{
color: var(--strong-color)
}
.discount-detail .bold{
font-size:1.1em;
font-weight: 700
}
/* END　月額レンタルプラン */

.kariosae {
display:none;
background: #fff3d9;
margin: 20px;
padding: 20px;
position: relative;
font-size: 14px;
line-height: normal;
}
#cart-form[data-plan="monthly"] ~ .kariosae,
#cart-form[data-has_subsc="true"] ~ .kariosae{
display: block;
}
.kariosae strong {
font-size: 14px;
display: block;
}
/*#cart-form[data-soldout="true"] .kariosae {
display: none;
}*/
.kariosae-price {
padding-block: 8px;
border-bottom: 1px solid #ccc;
margin-block: 8px;
}
.kariosae-price > p {
text-align: center;
}
.kariosae-price__price {
font-size: 1.2em;
font-weight: 600;
letter-spacing: 0.1em;
}
.kariosae-btn {
display: inline-block;
width: max-content;
margin: 0;
padding: 0;
vertical-align: text-bottom;
background: transparent;
border: 0;
}
.kariosae-btn i {
font-size: 16px;
color: #ff994e;
cursor: pointer;
}
.kariosae-icon {
width: 16px;
height: 16px;
fill: #799de1;
color: #fff;
}
.kariosae .caution {
padding-left: 10px;
font-size: 0.8em;
position: relative;
}
.kariosae .caution::before {
content: "※";
position: absolute;
left: 0;
}

#kariosae-desc[hidden]{
display:none
}
#kariosae-desc {
padding: 20px;
background: #fff;
position: fixed;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
max-width: 500px;
width: 90%;
z-index: 9999;
font-size: 14px;
border-radius: 16px;
overflow-y: scroll;
max-height: 500px;
}
#kariosae-desc h3 {
margin: 0 40px 20px 0;
}
#kariosae-desc button {
font-weight: bold;
}
.kariosae-desc-wrap {
margin: 20px 0;
}