@charset "UTF-8";

/* カスタマイズ用CSS */
.sp_hide {
    display: block
}

.pc_hide {
    display: none
}

@media(max-width: 768px) {
    .sp_hide {
        display: none
    }

    .pc_hide {
        display: block
    }
}

.tel,
.fax {
    pointer-events: none;
}

@media(max-width: 768px) {
    .tel {
        pointer-events: initial;
    }
}

h1.small_title {
    font-size: 0.8rem;
    color: #999;
    line-height: 1.2;
    text-align: right;
    margin: 1rem 0.5rem;
}

.category_banner_container {
    max-width: 1130px;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
}

.category_banner {
    height: 410px;
    width: 840px;
    padding: 24px 24px 24px 24px;
    margin: 0 auto;
    display: table;
}

.category_banner .title {
    display: table-cell;
    vertical-align: top;
    width: 380px;
    padding: 0px 12px 24px 0;
}

.category_banner .title h3 {
    border-bottom: none;
    color: #542912;
    font-style: italic;
    text-shadow: 0 0 5px #fff;
    margin: 12px 0;
    font-size: 18px;
    line-height: 22px;
}

.category_banner .title h3 strong {
    font-size: 24px;
}

.category_banner .txt {
    display: table-cell;
    color: #000;
    font-weight: bold;
    vertical-align: middle;
    padding: 18px 0;
}

.category_banner .txt p {
    font-size: 0.8125rem;
    line-height: 24px;
    margin: 0 0 24px 0;
}

.title_template {
    padding-left: 3rem;
}

@media(max-width: 768px) {
    .title_template {
        padding-right: 0.5rem;
    }
}

.title_template .subtitle {
    margin-bottom: -0.7rem;
}

.title_template .title {
    font-size: xx-large;
    letter-spacing: 4px;
    position: relative;
}

.title_template .title span {
    color: #bb5454;
}

.title_template .title .border-yoko {
    border-bottom: 2px black solid;
    position: absolute;
    width: 1.8rem;
    left: -3rem;
    top: 1.6rem;
    margin-left: 0.5rem;
}

@media(max-width: 768px) {
    .title_template {
        margin-bottom: 1rem;
    }

    .title_template .title {
        letter-spacing: 2px;
        line-height: 35px;
        font-size: x-large;
    }

    .title_template .subtitle {
        margin-bottom: -0.5rem;
        font-size: 0.8rem;
        line-height: 20px;
        margin-bottom: 0px;
    }
}

.breadcrump {
    padding: 1rem 0;
    display: flex;
    justify-content: flex-end;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 14px;
}

@media(max-width:768px) {
    .breadcrump {
        padding-right: 0.5rem;
        white-space: nowrap;
        width: 96% !important;
        margin: 0 3%;
        font-size: 0.8rem;
        display: flex;
        flex-flow: wrap;
    }
}

p.price02-default {
    color: #c36b69;
    /* letter-spacing: 4px; */
    /* display: flex;
    justify-content: flex-end; */
    text-align: right;
    font-size: 1.3125rem;
}

p.product_name_default {
    margin-bottom: 0.5rem;
    line-height: 1.2rem;
}

div.product_tag_default {
    margin: 1rem 0;
    display: flex;
}

@media(max-width:768px) {
    div.product_tag_default {
        margin: 0;
    }
}

div.product_tag_default div {
    width: 31.33%;
    margin: 0 1%;
    text-align: center;
}

#addRecommendProductList .product_image {
    margin-bottom: 10px;
}

#addRecommendProductList .product_name {
    min-height: 2em;
    margin-bottom: 20px;
}

.tag-gold {
    background-color: #a9850c;
    color: white;
}

.tag-black {
    background-color: #2f2725;
    color: white;
}

.tag-syu {
    background-color: #b94e4d;
    color: white;
}

.tag-red {
    background-color: red;
    color: white;
}

/*カートページ*/
.ec-cartRole .ec-cartRole__totalAmount {
    color: #b94e4e;
}

.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__price,
.ec-totalBox .ec-totalBox__paymentTotal .ec-totalBox__taxLabel {
    color: #b94e4e;
}

.ec-blockBtn--action {
    background-color: #b94e4e;
    border-color: #b94e4e;
}

.ec-progress .is-complete .ec-progress__number {
    background: #b94e4e;
}

.ec-progress .is-complete .ec-progress__label {
    color: #b94e4e;
}

@media only screen and (min-width: 768px) {
    .ec-orderRole .ec-orderRole__summary {
        padding: 100px 16px 0 16px;
    }
}

.ec-select {
    margin-bottom: 16px;
    text-align: left;
}

.ec-reportHeading {
    border-top: none;
}

/* カートページのパディング */
@media(max-width: 768px) {
    .cart_custom {
        padding: 0;
        font-size: 12px;
    }

    .ec-cartRow .ec-cartRow__delColumn {
        width: 10%;
    }

    .ec-cartRow .ec-cartRow__img {
        width: 25%;
    }
}

/* カートページのタイトル */
.cart_page .ec-pageHeader h1,
.mypage .ec-pageHeader h1,
#page_shopping .ec-pageHeader h1,
#page_shopping_confirm .ec-pageHeader h1,
.registration_page .ec-pageHeader h1 {
    color: #932d2d;
    background: #F6EEEB;
}

/* マイページのコンテンツ幅の調整 */
.ec-mypageRole {
    max-width: 1130px;
    margin: 0 auto;
}

/* firefoxでリセットCSSが適用できていない問題の解決 */
html p {
    margin-bottom: 0;
}

/* マイページボタン色変更 */
element.style {}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer;
}

.ec-withdrawRole *,
.ec-withdrawRole *::before,
.ec-withdrawRole *::after {
    box-sizing: inherit;
}

#page_mypage_withdraw .ec-blockBtn--cancel,
#page_mypage_change .ec-blockBtn--cancel,
#page_mypage_login .ec-blockBtn--cancel,
#page_shopping_login .ec-blockBtn--cancel {
    background-color: #B94E4E;
    border-color: #B94E4E;
}

#page_mypage_withdraw .ec-blockBtn--cancel:hover,
#page_mypage_change .ec-blockBtn--cancel:hover,
#page_mypage_login .ec-blockBtn--cancel:hover,
#page_shopping_login .ec-blockBtn--cancel:hover {
    background-color: #B94E4E;
    border-color: #B94E4E;
    opacity: 0.7;
}

#page_mypage_delivery .ec-inlineBtn,
#page_mypage .ec-inlineBtn {
    background-color: #B94E4E;
    border-color: #B94E4E;
    color: white;
}

#page_mypage_delivery .ec-inlineBtn:hover,
#page_mypage .ec-inlineBtn:hover {
    background-color: #B94E4E;
    border-color: #B94E4E;
    color: white;
    opacity: 0.7;
}

#page_shopping .ec-inlineBtn,
#page_shopping_confirm .ec-inlineBtn {
    background-color: #B94E4E;
    border-color: #B94E4E;
    color: white;
    font-weight: bold;
    font-size: medium;
}

#page_shopping .ec-inlineBtn:hover,
#page_shopping_confirm .ec-inlineBtn:hover {
    background-color: #B94E4E;
    border-color: #B94E4E;
    color: white;
    opacity: 0.7;
}

/* 商品一覧ページのスタイル */
.product_page .ec-searchnavRole .ec-select {
    display: flex;
    justify-content: flex-end;
}

.product_page .ec-searchnavRole .disp-number {
    margin-right: 5px;
}

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

/* 今月のおすすめプリザーブドフラワーのブロック(product_block_recommend.twig) */
section.recommend a {
    display: block;
}

/* ログインページにパスワード再設定 */
.reset_password_container {
    background-color: #f6eeea;
    margin-top: 2rem;
    padding: 0.5rem 0.3rem 1rem;
}

.reset_password_container .title {
    color: #b94e4d;
    border-bottom: 1.5px solid #b94e4d;
    font-weight: bold;
    letter-spacing: 1px;
}

.reset_password_container .txt {
    color: #b94e4d;
    letter-spacing: 1px;
    line-height: 25px;
    margin-top: 5px;
}

.reset_password_container .btn {
    margin-top: 5px;
    display: block;
}

.reset_password_container .btn a {
    color: #b94e4d;
    font-weight: bold;
    border: 1.5px solid #b94e4d;
    font-size: large;
    padding: 0.5rem 3rem;
    background-color: #fff;
}

.reset_password_container .btn a:hover {
    opacity: 0.7;
}

/* hoverでopacity0.7カスタマイズ */
.ec-shelfGrid .ec-shelfGrid__item img:hover {
    opacity: 0.7;
}

.item_tate .img img:hover {
    opacity: 0.7;
}

.form_container .ec-blockBtn--action:hover {
    opacity: 0.7;
}

.related_product_item .img img:hover {
    opacity: 0.7;
}

.recommend .img:hover {
    opacity: 0.7;
}

/* WPで商品の画像や特集や用途のhover時の設定 */
.post_body a img:hover {
    opacity: 0.7;
}

.wp-embed-featured-image img:hover {
    opacity: 0.7;
}

/*PCの時にTELリンクを無効にする*/
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

/* shopping_indexのスタイル */
.ec-orderDelivery .ec-orderDelivery__title {
    position: unset;
    display: flex;
    align-items: center;
}

.ec-orderDelivery .ec-orderDelivery__change {
    position: unset;
    margin-left: 3rem;
}

/* 横にはみ出してもスクロールできないようにするカスタマイズ */
html {
    overflow: auto;
}

body {
    overflow: hidden;
}

/*特集・用途SP*/
.product_image:hover {
    opacity: 0.7;
}

.img_sp {
    display: none !important;
}

.img_pc {
    display: block !important;
}

@media(max-width: 768px) {
    .category_top_container .eyecatch_container {
        padding: 0 10px;
    }

    .eyecatch_container .catchcopy {
        font-size: large;
    }

    .link_bg_container .link_container {
        flex-direction: column;
        padding: 1rem calc((100% - 1200px)/2) 2rem;
    }

    .link_bg_container .link_container a .link_block {
        text-align: center;
    }

    .img_pc {
        display: none !important;
    }

    .img_sp {
        display: block !important;
    }

    .category_top_container .description_container,
    .description_container {
        padding: 0 1rem;
        text-align: left;
    }

    .eyecatch_container .catchcopy p {
        padding: 0 0.5rem 1rem 1rem;
    }

    .eyecatch_container .catchcopy p:before {
        height: 3rem;
        width: 3rem;
        left: 0;
        top: 15%;
    }

    .product_container .description {
        display: none;
    }

    .product_container .price {
        letter-spacing: 0;
    }

    .products_container .product_container {
        width: calc(100% / 2);
    }

    .about_preserved .box1 .content .ttl {
        margin-bottom: 1rem;
    }

    .about_preserved .content .txt,
    .detail_container p {
        line-height: 1.8 !important;
        text-align: left;
    }

    .content .outline p {
        text-align: left;
    }

    .content .media .navi_lists {
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/*FAX注文用紙*/
.faxorder {
    color: #F00;
    text-decoration: underline;
}

/*topページSPの調整*/
@media(max-width: 768px) {

    .item_tate .price,
    .item_yoko .price,
    .common_ttl3 span,
    .content .media_ttl {
        font-size: 1.3125rem;
    }

    .content .information_ttl,
    .common_ttl2,
    .item_tate .txt,
    .content .information_lists .item,
    .common_txt,
    .item_yoko .txt,
    .content .special_ttl,
    .common_ttl1,
    span.big12,
    .content .interior_ttl,
    .content .difference_ttl,
    .content .store_box .name {
        font-size: 1rem;
    }

    .content .information_lists .item,
    .common_txt,
    .content .search_uses .txt,
    .content .media .txt,
    .content .store_box .content,
    .content .search_box .lists a,
    .content .search_box .lists a,
    .content .difference_info .txt,
    .content .media_lists .ttl {
        font-size: 0.8rem;
    }

    .item_yoko {
        width: 48% !important
    }

    .content .media .txt {
        display: none;
    }

    .content .store_lists {
        flex-direction: column;
    }

    .content .store_box {
        width: 100%;
        padding-bottom: 1rem;
    }

    .content .store_box:first-of-type {
        border: none;
        border-bottom: 1px solid #ccc;
        margin-bottom: 1rem;
    }

    .content .store_box .name {
        height: 1rem;
    }
}

/*お問い合わせフォーム調整*/
@media(max-width: 768px) {
    .ec-zipInput {
        display: flex;
    }
}

/*メンテナンスの表示を小さく*/
.ec-maintenanceAlert {
    height: 20px !important;
    font-size: xx-small;
}

/*商品詳細SP*/
@media(max-width: 768px) {
    .ec-shelfRole {
        padding-left: 0;
        padding-right: 0;
    }
}

/*関連商品*/
@media(max-width: 768px) {
    #RelatedProduct-product_area .ec-shelfRole .title_template {
        padding: 3rem 0 1rem 3rem;
    }

    .related_product_list {
        margin: 0;
    }

    .related_product_item .txt {
        padding: 0 0.5rem;
        font-size: 0.8rem;
        margin-bottom: 0 !important;
    }
}

/*共通*/
.caution {
    font-weight: bold;
    color: #F00;
}

.ec-pageHeader-title {
    margin: 0 0 8px;
    border-bottom: 1px dotted #ccc;
    border-top: 1px solid #ccc;
    padding: 8px 0 12px;
    font-size: 16px;
    font-weight: bold;
}

@media only screen and (min-width: 768px) {
    .ec-pageHeader-title {
        border-top: none;
        border-bottom: 1px solid #ccc;
        margin: 10px 16px 48px;
        padding: 8px;
        font-size: 32px;
        font-weight: bold;
    }
}

/* SP時にheaderを固定するカスタマイズ */
@media(max-width: 768px) {
    .ec-layoutRole__contents {
        margin-top: 60px;
    }

    header.header {
        position: fixed;
        z-index: 100;
    }
}

/* 固定バナー部分をマウスオーバーでopacityに */
.fixbtn_mypage>a:hover,
.fixbtn_bnr>a:hover,
.fixbtn_insta>a:hover {
    opacity: 0.7;
}