﻿@charset "UTF-8";

/* ----トップページ本文---- */

.block-top-body--items img {
    width: 100%;
}

.block-top-body {
    margin: 0 0 35px;
}


/* ----トップページ予備テンプレート2---- */

.block-free-2--items img {
    width: 100%;
}

.block-free-2--sub-items {
    overflow: hidden;
}

.block-free-2--sub-items li {
    float: left;
    width: 33.33%;
    height: 33.33%;
}


/* ----ヘッダー---- */

.block-header-logo {
    width: auto;
    display: inline-block;
    margin: 0 auto;
}

.block-header-logo--img {
    width: 147px;
}

.block-headernav {
    width: 55%;
    display: inline-block;
    text-align: right;
}

.block-headernav--item-list li {
    width: 52px;
    position: relative;
    display: inline-block;
    font-size: 10px;
    text-align: center;
}

.block-headernav--item-list li i.fa {
    position: relative;
    display: block;
    font-size: 20px;
    margin: 5px 0;
    z-index: 1;
}

.block-headernav--item-list li a {
    display: block;
}

.block-headernav--item-list li a:hover {
    text-decoration: none;
}

.block-headernav--cart-count {
    display: none;
    position: absolute;
    width: 17px;
    height: 17px;
    line-height: 17px;
    font-size: 10px;
    text-align: center;
    background-color: #b71c20;
    color: #fff;
    border-radius: 10px;
    top: -3px;
    right: -6px;
    z-index: 2;
}

.block-header-search-btn {
    width: 20px;
    height: 20px;
}

.icon-search {
    display: block;
    width: 20px;
    height: 20px;
    background: url(../../img/usr/common/icn_search_sp.png) center no-repeat;
    background-size: 20px auto;
}

.block-search-box {
    display: none;
    width: 100%;
    height: 55px;
    position: absolute;
    top: 73px;
    left: 0;
}

.search-bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 990;
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: 0.4;
}


/* ----グローバルナビ---- */

.block-globalnav--item-list {
    display: table;
    width: 100%;
}

.block-globalnav--item-list>li {
    display: table-cell;
    width: 20%;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    border-left: 1px solid #666;
    padding: 10px 0;
}

.block-globalnav--item-list>li>a {
    display: block;
    color: #fff;
}

.block-globalnav--item-list li i.fa {
    display: block;
    font-size: 20px;
    margin-bottom: 10px;
    z-index: 1;
}

.menu-content-bnr {
    padding: 0 16px 30px;
}

.menu-content-bnr .sideBnr:first-of-type {
    margin-top: 30px;
}

.menu-content-search {
    padding: 20px 16px 140px;
    background: #f7f7f7;
}

.menu-content-search .block-search-box--form {
    border: solid 1px #cbd2d8;
    background: #fff;
    align-items: center;
}


/* ----フッター---- */

.contents__sub {
    margin: 70px 16px 90px;
}

.programBnr a img {
    vertical-align: top;
    width: 100%;
}

.block-footer-inner {
    position: relative;
    background: #f7f7f7;
}

.cateNav.cateNav--middle {
    margin: 40px 0 0;
    border-top: 1px solid #ccd1d8;
}

.cateNav .cateNav__item {
    border-bottom: 1px solid #ccd1d8;
}

.cateNav .cateNav__item.is--open .cateNav__item__title__act--switch .arw {
    margin-top: -2px;
    transform: rotate(-90deg);
}

.cateNav .cateNav__item__title {
    position: relative;
}

.cateNav .cateNav__item__title__link {
    display: block;
    padding: 13px 30px 12px 10px;
    font-weight: bold;
}

.cateNav .cateNav__item__title__link .arw {
    position: absolute;
    top: 50%;
    right: 7px;
    margin-top: -4px;
}

.cateNav .cateNav__item__title__link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 35%;
    transform: translate(0, -50%);
    background: #b71c20;
}

.cateNav .cateNav__item__title__act {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 100%;
}

.cateNav .cateNav__item__title__act::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 38%;
    transform: translate(0, -50%);
    background: #ccd1d8;
}

.cateNav .cateNav__item__title__act .arw {
    position: absolute;
    top: 25%;
    right: 5px;
    cursor: pointer;
}

.cateNav .cateNav__item__title__act.cateNav__item__title__act--switch .arw {
    top: 50%;
    right: 7px;
    margin-top: -4px;
    transform: rotate(90deg);
}

.cateNav .cateNav__item__child {
    position: relative;
    margin: 0 0 1px;
    border-top: 1px solid #e5e8eb;
    background: #f7f7f7;
}

.cateNav .cateNav__item__child {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 15px 10px 2px 15px;
    line-height: 1.57;
    font-size: 14px;
}

.cateNav .cateNav__item__child::before {
    content: '';
    position: absolute;
    top: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
}

.cateNav .cateNav__item__child.cateNav__item__child--white {
    background: none;
}

.cateNav .cateNav__item__child__item {
    width: 47.62%;
    margin-bottom: 11px;
}

.programBnr+.programBnr {
    margin-top: 20px;
}

.deliverySearch {
    padding: 18px 20px 30px;
    margin: 40px 0 0;
    border-top: 5px solid #b71c20;
    background: #f7f7f7;
}

.deliverySearch .deliverySearch__title {
    text-align: center;
    font-weight: bold;
}

.deliverySearch .deliverySearch__text {
    margin: 12px 0 0;
    font-size: 14px;
}

.deliverySearch .deliverySearch__text small {
    display: block;
}

.deliverySearch .deliverySearch__search {
    display: block;
    border-radius: 2px;
    background: #b79353;
    text-align: center;
    font-weight: bold;
    color: #fff;
    overflow: hidden;
    margin: 15px 0 0;
    line-height: 45px;
    height: 45px;
}

.deliverySearch .deliverySearch__search::after {
    position: relative;
    display: inline-block;
    content: '';
    top: -2px;
    width: 17px;
    height: 17px;
    margin-left: 5px;
    background: url(../../img/usr/common/icn_search_white.png) center center/17px auto no-repeat;
    vertical-align: middle;
}

.sideBnr {
    margin: 40px 0 0;
}

.sideBnr+.sideBnr {
    margin-top: 20px;
}

.sideBnr.sideBnr--special {
    margin: 30px 0 0;
}

.sideBnr.sideBnr--special+.sideBnr {
    margin-top: 20px;
}

.sideBnr img {
    vertical-align: top;
    width: 100%;
    box-sizing: border-box;
}

input.block-search-box--keyword {
    width: 100%;
    height: 55px;
    font-size: 14px;
    outline: none;
}

input.block-search-box--keyword:hover,
input.block-search-box--keyword {
    border: none;
    background-color: transparent;
    flex-grow: 1;
}

button.block-search-box--search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background-color: transparent;
    width: 45px;
    height: 45px;
    padding: 4px;
}

.footer__in {
    padding: 0 16px;
}

.footCate {
    padding: 45px 0 0;
}

.footCate .footCate__title {
    position: relative;
    border-bottom: 1px solid #ccd1d8;
    font-weight: bold;
    font-size: 16px;
}

.footCate .footCate__title {
    padding: 0 0 12px 13px;
}

.footCate .footCate__title::after {
    content: "";
    position: absolute;
    left: 0;
    background: #b71c20;
}

.footCate .footCate__title::after {
    top: 7px;
    width: 10px;
    height: 10px;
}

.footCate .footCate__body {
    border-bottom: 1px solid #ccd1d8;
}

.footCate .footCate__body__box {
    border-bottom: 1px solid #ccd1d8;
}

.footCate .footCate__body__box.is--open .footCate__body__box__title__act.footCate__body__box__title__act--switch .arw {
    margin-top: -2px;
    transform: rotate(-90deg);
}

.footCate .footCate__body__box__title {
    position: relative;
}

.footCate .footCate__body__box__title+.footCate__body__box__title {
    border-top: 1px solid #ccd1d8;
}

.footCate .footCate__body__box__title__link {
    position: relative;
    font-weight: bold;
}

.footCate .footCate__body__box__title__link {
    display: block;
    padding: 15px 25px 15px 10px;
    font-size: 14px;
}

.footCate .footCate__body__box__title__link::before {
    position: absolute;
    content: "";
    width: 3px;
    left: 0;
    background: #b71c20;
}

.footCate .footCate__body__box__title__link::before {
    height: 33%;
    top: 33%;
}

.footCate .footCate__body__box__title__link .arw {
    display: none;
}

.footCate .footCate__body__box__title__link.footCate__body__box__title__link--jump .arw {
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: 7px;
}

.footCate .footCate__body__box__title__act {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 30px;
}

.footCate .footCate__body__box__title__act::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 38%;
    transform: translate(0, -50%);
    background: #ccd1d8;
}

.footCate .footCate__body__box__title__act.footCate__body__box__title__act--switch .arw {
    position: absolute;
    margin-top: -5px;
    top: 50%;
    right: 7px;
    transform: rotate(90deg);
}

.footCate .footCate__body__box__title__act.footCate__body__box__title__act--jump .arw {
    position: absolute;
    margin-top: 0px;
    top: 50%;
    right: 7px;
}

.footCate .footCate__body__box__body {
    display: none;
}

.footCateList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 0 5px;
    font-size: 14px;
}

.footCateList .footCateList__item {
    width: 47.81%;
    margin: 0 0 12px;
}

.footCateList .footCateList__item a {
    display: block;
    line-height: 1.57;
}

.footInfo {
    display: flex;
    justify-content: space-between;
}

.footInfo {
    align-items: center;
    flex-wrap: wrap;
    padding: 50px 0 40px;
}

.footAbout {
    width: 100%;
}

.footAbout .footAbout__logo a {
    display: inline-block;
}

.footAbout .footAbout__logo a.footAbout__logo__ichiba {
    width: 165px;
    margin-right: 12px;
}

.footAbout .footAbout__logo a.footAbout__logo__tvtokyo {
    width: 87px;
}

.footAbout .footAbout__logo img {
    width: 100%;
    vertical-align: top;
}

.footAbout .footAbout__text {
    margin: 15px 0 0;
    line-height: 1.5;
    font-size: 12px;
}

.footLink {
    margin: 18px 0 0;
}

.footLink .footLink__item {
    margin: 12px 0 0;
    font-size: 12px;
}

.footSsl {
    font-size: 0;
    margin: 18px 0 0;
}


/*標準デザイン*/

.block-footernav {
    padding: 10px 0;
    text-align: center;
    background: #eee;
    font-size: 0;
}

.block-footernav li {
    padding: 0 5px;
    display: inline-block;
    font-size: 11px;
    border-left: 1px solid #444;
}

.block-footernav li:first-child {
    border-left: none;
}

.block-footernav li a {
    color: #444;
}

.block-footer-menu {
    background: #eee;
    border-top: 1px solid #dcdcdc;
}

.block-footer-menu li {
    border-bottom: 1px solid #dcdcdc;
}

.block-footer-menu li a {
    display: table;
    width: 100%;
    position: relative;
    text-decoration: none;
}

.block-footer-menu li span {
    display: table-cell;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
    line-height: 20px;
}

.block-footer-menu li i {
    display: table-cell;
    padding-left: 10px;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    line-height: 20px;
    width: 40px;
    color: #999;
}

.block-footer-menu li a:after {
    font-family: FontAwesome;
    content: "\f105";
    position: absolute;
    height: 100%;
    top: 50%;
    font-size: 20px;
    line-height: 20px;
    margin-top: -10px;
    right: 10px;
}


/* ----ページトップに戻る---- */

.block-page-top a {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #2c2d38;
    opacity: 0.3;
}

.block-page-top a:after {
    content: "";
    display: block;
    position: absolute;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 50%;
    top: 50%;
    margin-top: -2px;
    margin-left: -5px;
}

.block-page-top {
    position: fixed;
    top: auto;
    bottom: 10px;
    right: 26px;
    display: none;
    z-index: 9999;
    transition: all 0.5s;
}

.block-page-top.footer-cart--on {
    bottom: 60px;
}

.page-method .block-page-top {
    position: fixed;
    top: auto;
    bottom: 74px;
    right: 26px;
    display: none;
}


/* ----PC/スマホ切り替えスイッチ---- */

.block-switcher {
    border-top: 1px solid #eee;
    display: block;
    padding: 10px 10px 0 0;
}

.block-switcher li {
    display: inline-block;
    padding: 0 0 10px 10px;
    width: 50%;
}

.block-switcher--switch {
    display: block;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #444;
    color: #fff;
    text-decoration: none;
}

.block-switcher--current {
    display: block;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #ccc;
    color: #fff;
}

.block-switcher .fa {
    margin-right: 10px;
    vertical-align: middle;
}

.block-switcher .fa-mobile-phone {
    font-size: 24px;
}

.block-switcher .fa-desktop {
    font-size: 18px;
}


/* ----Copyright---- */

.block-copyright {
    display: block;
    background: #2c2d38;
    text-align: center;
    color: #fff;
    padding: 7px 0 6px;
    font-size: 10px;
}


/* ----ブランド画面---- */

.block-brand-list--item-img img {
    width: 100%;
    height: auto;
}

.block-brand-list--item-name {
    padding: 10px;
    text-decoration: underline;
}

.block-brand-list--item-comment {
    padding: 0 10px 10px 10px;
}

.block-brand-detail--image img {
    width: 100%;
    height: auto;
}

.block-brand-detail--description {
    margin: 0 10px 10px 10px;
}


/* ----商品詳細画面---- */


/*CSSによる商品詳細画面の項目の並び順変更用*/

.block-goods-detail {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column wrap;
    flex-flow: column nowrap;
    margin-bottom: 25px;
}

.block-src-l {
    order: 10;
}

.block-src-c {
    order: 20;
}

.block-goods-gallery {
    order: 30;
}

.block-goods-name {
    order: 60;
}

.page-goods .block-icon {
    order: 40;
}

.block-goods-comment {
    order: 50;
}

.block-goods-detail--promotion-freespace {
    order: 105;
}

.block-goods-affix-list {
    order: 90;
}

.block-goods-price {
    order: 70;
}

.block-goods-code {
    order: 100;
}

.block-goods-item-code {
    order: 110;
}

.block-goods-item-code2 {
    order: 120;
}

.block-goods-item-code3 {
    order: 130;
}

.block-goods-release-dt {
    order: 140;
}

.block-goods-class1 {
    order: 150;
}

.block-goods-class2 {
    order: 160;
}

.block-goods-attr1 {
    order: 170;
}

.block-goods-attr2 {
    order: 180;
}

.block-goods-attr3 {
    order: 190;
}

.block-goods-point {
    order: 80;
}

.toranomon-revico-star-zone {
    order: 85;
}

.block-goods-postage {
    order: 75;
}

.block-goods-comment1 {
    order: 86;
}

.block-goods-comment5 {
    order: 87;
}

.block-goods-stock {
    order: 220;
}

.block-goods-spec {
    order: 230;
}

.block-goods-sales-detail-append {
    order: 240;
}

.block-variation {
    order: 250;
}

.block-custom-order {
    order: 260;
}

.block-add-cart {
    order: 270;
}

.block-outside-sales-period {
    order: 275;
}

.block-goods-favorite {
    order: 280;
}

.block-arrival-notice {
    order: 290;
}

.block-no-stock {
    order: 271;
}

.block-goods-store-stock {
    order: 310;
}

.block-variation-back-order {
    order: 275;
}

.block-goods-set {
    order: 330;
}

.block-goods-sns {
    order: 340;
}

.block-contact-about-goods {
    order: 350;
}

.block-goods-link {
    order: 360;
}


/* ----ゲストお気に入り画面---- */

.block-guest-favorite-synchronize-title {
    font-weight: bold;
    font-size: 16px;
}

.block-guest-favorite-synchronize-description {
    font-size: 14px;
}

.block-guest-favorite-synchronize-link {
    text-align: center;
}


/* ----定期購入商品サイクル情報変更画面---- */

.block-regular-purcharse-cycle-info-update--skip-cancel-message {
    margin: 5px 0 0 5px;
}