@charset "UTF-8";
/*画像の表示方法 */
.image_fit { display: block; position: relative; background: #d9d9d7; user-select: none; width: 100%; }

.image_fit::after { content: ""; display: block; position: absolute; background: url("../img/sample.png") no-repeat; background-size: 100%; top: 0; left: 0; width: 100%; height: 100%; opacity: .7; }

.image_fit::before { content: ""; display: block; padding-top: 100%; }

.image_fit img { position: absolute; top: 0; left: 0; height: 100%; object-fit: contain; user-select: none; pointer-events: none; }

/*画像拡大 */
.expanding > div::after { content: ""; font-size: 1rem; font-family: FontAwesome; position: absolute; right: .5rem; bottom: .5rem; }

#photo { justify-content: normal; }
#photo .content { padding-top: 1.5rem; min-height: 60vh; background: #fbfbfb; position: relative; }

#photo .cart_tab { position: relative; }

#photo .cart_quantity { display: inline-block; background: #e86243; color: white; font-size: .6rem; width: 1.7rem; line-height: 1.7rem; border-radius: 50%; position: absolute; top: -2px; right: 5px; }

#photo .image_quantity { display: inline-block; background: #e86243; color: white; font-size: .6rem; width: 1.7rem; line-height: 1.7rem; border-radius: 50%; position: inherit; float: right; margin-top: -8px; text-align: center; }

#photo .purchase_price * { font-size: .9rem; }

#photo .purchase_price table { width: 100%; }

#photo .purchase_price table th, #photo .purchase_price table td { padding: 5px; border-bottom: 1px solid #eee; }

#photo .purchase_price .delivery { padding: .8rem 5px; border-bottom: 1px solid #eee; }

#photo .purchase_price .total_price { justify-content: flex-end; align-items: center; margin-top: 1rem; }

#photo .purchase_price .total_price h3 { margin-right: .7rem; color: #878787; }

#photo .purchase_price .total_price h4 { font-size: 1.1rem; }

#photo .sale .photo_list .item { background: white; border-radius: 5px; padding: 1rem; box-shadow: -2px 3px 8px 1px rgba(10, 10, 10, 0.02); position: relative; margin-bottom: 1.5rem; }

#photo .sale .photo_list .item::after { content: ""; display: block; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%) rotate(-45deg); border: solid #dbdbdb; border-width: 0 2px 2px 0; width: 10px; height: 10px; }

#photo .sale .photo_list .item *:not(h2) { font-size: .9rem; }

#photo .sale .photo_list .item .details { display: flex; align-items: center; flex-wrap: wrap; }

#photo .sale .photo_list .item .details span { min-width: 6rem; text-align-last: justify; margin-right: 1rem; }

#photo .sale .photo_list .item .details p, #photo .sale .photo_list .item .details input { min-width: calc(100% - 7rem); }

#photo .sale .photo_list .item h2 { width: 95%; overflow-x: hidden; white-space: nowrap; text-overflow: ellipsis; }

#photo .sale .photo_list .item .class_name { margin-bottom: .7rem; }

#photo .sale .photo_list .item .fx_gr * { color: #888; }

#photo .sale .photo_list .item input { transform: scale(1); width: calc(100% - 7rem); }

#photo .sale .photo_list .item input[type="submit"] { position: absolute; text-indent: -999px; background: transparent; z-index: 2; width: 100%; height: 100%; top: 0; left: 0; }

#photo .sale .photo_details h2 { font-size: 1.1rem; }

#photo .sale .photo_details > p { color: #999; margin-bottom: .5rem; }

#photo .sale .photo_details > .fx-b { flex-wrap: wrap; align-items: flex-start; }

#photo .sale .photo_details .item { width: 48%; margin-bottom: 2rem; }

#photo .sale .photo_details .item > p { margin: .2rem 0 .7rem; }

#photo .sale .photo_details .item > p .select { border: 1px solid #f7f7f7; }

#photo .sale .photo_details .item > p .select select { width: 2.5rem; }

#photo .sale .photo_details .item .btn { margin: 0 auto; width: 80%; padding: .5rem 0; }

#photo .cart { padding-bottom: 2rem; }

#photo .cart .item { align-items: flex-start; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid #eee; }

#photo .cart .item .image_fit { width: 35%; }

#photo .cart .item .details { width: 62%; }

#photo .cart .item .details .description { flex-wrap: wrap; padding-bottom: .5rem; border-bottom: 1px solid #f5f5f5; margin-bottom: 1rem; }

#photo .cart .item .details .description p { font-size: .85rem; margin-bottom: .3em; }

#photo .cart .item .details .description p:nth-child(odd) { width: 5em; text-align-last: justify; }

#photo .cart .item .details .description p:nth-child(even) { width: calc(100% - 5em); text-align: right; }

#photo .cart .item .details .fluctuation { align-items: center; justify-content: flex-end; }

#photo .cart .item .details .fluctuation .spinner { background: #5fa0b4; width: 2.7rem; height: 2rem; position: relative; }

#photo .cart .item .details .fluctuation .spinner::before { content: ""; display: block; position: absolute; width: 50%; height: 1px; background: white; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#photo .cart .item .details .fluctuation .minus { margin: 0 .5rem 0 1rem; }

#photo .cart .item .details .fluctuation .plus::after { content: ""; display: block; position: absolute; width: 1px; height: 50%; background: white; top: 50%; left: 50%; transform: translate(-50%, -50%); }

#photo .cart .item .details .fluctuation > .fx-b label { width: 4.4rem; background: white; padding: .3rem .7rem; border: 1px solid #f7f7f7; margin-right: .2rem; }

#photo .cart .item .details .fluctuation > .fx-b label input { text-align: right; }

#photo .cart .item .details a { display: block; width: 4.5em; margin: .5rem 0 0 auto; }

#photo .cart .delivery_address { margin-top: 1.5rem; }

#photo .cart .delivery_address .delivery_name { margin-bottom: 1rem; }

#photo .cart .delivery_address .other_address { color: #5fa0b4; margin: 1rem 0; }

#photo .cart .payment_detail { border: 1px solid #dbdbdb; padding: .7rem; margin: .7rem 0 1.5rem; }

#photo .cart .payment_detail:nth-of-type(2) { height: 35vh; overflow-y: auto; }

#photo .cart .payment_detail p, #photo .cart .payment_detail h3, #photo .cart .payment_detail li, #photo .cart .payment_detail a { font-size: .8rem; }

#photo .cart .payment_detail img { margin-top: 1rem; }

#photo .cart .payment_detail li { list-style: none; padding-left: 1.3em; text-indent: -1.3em; margin-bottom: .7rem; }

#photo .cart .payment_detail li a { margin-left: 1.3em; }

#photo .cart .order_confirm .order_photo { height: calc(100vh / 3 + .7rem); overflow-y: hidden; position: relative; }

#photo .cart .order_confirm .order_photo .fadeIn_btn { position: absolute; width: 100%; height: 14%; bottom: 0; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(143, 143, 142, 0) 33%, rgba(0, 0, 0, 0.5) 100%); }

#photo .cart .order_confirm .order_photo .fadeIn_btn::before { content: ""; display: block; position: absolute; }

#photo .cart .order_confirm .order_photo .fadeIn_btn::before { width: .7rem; height: .7rem; border: solid #eee; border-width: 2px 2px 0 0; transform: rotate(135deg) translateX(-50%); left: 50%; bottom: 5px; z-index: 2; }

#photo .cart .order_confirm .order_photo.fadeIn { height: auto; }

#photo .cart .order_confirm .order_photo > .fx { flex-wrap: wrap; }

#photo .cart .order_confirm .order_photo > .fx > div { width: calc(96% / 3); margin: 0 2% .7rem 0; }

#photo .cart .order_confirm .order_photo > .fx > div:nth-child(3n) { margin-right: 0; }

/*#photo .cart .radioBox { margin-left: -15px; }*/

#photo .history .image_fit::after { content: none; }

#photo .history .item { background: white; margin-bottom: 1.5rem; border: 1px solid #f2f2f2; }

#photo .history .item .order_date { width: 100%; background: #f2f2f2; padding: .4rem; font-size: .8rem; color: #777; }

#photo .history .item .image_fit { width: 40%; }

#photo .history .item > .fx_b { padding: 1rem;}

#photo .history .item .details a { margin-top: 1rem; text-decoration: underline; float: right; }

#photo .history .item .fx_gr { padding-bottom: 0; border-bottom: 0; margin-bottom: .7rem; }

#photo .history .item .fx_gr > div { text-align: right; }

#photo .history .history_detail .sub_title { margin-top: 1.5rem; background: #e3e3e3; padding: 5px; }

#photo .history .history_detail .tx-c { text-align: center; }

#photo .history .history_detail p { font-size: .9rem; }

#photo .history .history_detail .fx_gr.type_2 h2 { color: #737373; text-align-last: justify; width: 7em; margin-right: 1rem; }

#photo .history .history_detail .history_photo { flex-wrap: wrap; margin-top: 15px; }

#photo .history .history_detail .history_photo .photo { width: calc(96% / 3); margin: 0 2% 2% 0; }

#photo .history .history_detail .history_photo .photo:nth-child(3n) { margin-right: 0; }

#photo .history .history_detail .history_photo .photo span { display: block; text-align: right; font-size: .8rem; color: #999; }
#photo .fx-c { display: flex; justify-content: center; align-items: center; }
#photo .tab-panel { width: 100%; display: inline-flex; }
#photo .tab-panel .calendar-tab { width: 50%; font-size: 15px; font-weight: 600; padding: 5px 0px; }
#photo .tab-panel .tab { width: 25%; font-size: 15px; font-weight: 600; padding: 5px 0px; }
#photo .tab-panel .tab.active, .index .tab-panel .calendar-tab.active { border-bottom: 5px solid #327edc; }

#photo .btn:not(.bg_gry) {
	color: white;
    padding: 1rem 1rem;
    background: #3c81bd;
    border-radius: 3px;
    /*margin: 15px auto;*/
}

#photo .bg_gry { background: #999; }

#photo .btn i { color: #fff; }

#photo .checkbox .ckb-label, .radioBox .radio-label {
    position: relative;
    align-items: flex-end;
    display: flex;
}

#photo .radioBox span {
    position: relative;
    width: 1.51.5rem;
    height: 1.5rem;
    border: 1px solid #095d7d;
    border-radius: 50%;
    z-index: 2;
    margin-left: 1rem;
    margin-right: 10px;
}

#photo .radioBox input:checked ~ label span::after {
    content: "";
    display: block;
    position: absolute;
    margin: 3px;
    width: 0.5rem;
    height: 0.5rem;
    border: solid #095d7d;
    border-radius: 50%;
    background-color: #095D7A;
}

#photo .radioBox input {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 3;
    visibility: hidden;
}

#photo .flex-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#photo #main_contents { overflow-x: hidden; }