/* ------------------------------------------------------
    cart
------------------------------------------------------ */
.ec-cartRole {
    padding:0 0.5em;
}
.ec-cartRole .ec-cartRole__cart {
    margin:0 auto;
}
.ec-cartRole .ec-cartRole__actions {
    margin-right:0;
}
.ec-cartRow .ec-cartRow__summary .ec-cartRow__name a {
    color:#000;
    font-size:110%;
    font-weight:bold;
}
.ec-cartRow__unitPrice ,
.ec-imageGrid .ec-imageGrid__content p:last-of-type{
    display:block;
    text-align:right;
    color:#f33;
    font-weight:bold;
}
.ec-cartRow__options {
    color:#009;
    font-size:75%;
    font-weight:normal;
}
.ec-cartRow__options > br:first-of-type {
    display: none;
}

.ec-cartRole .ec-cartRole__totalAmount {
    color:#f33;
}

@media only screen and (max-width: 767px){
    .ec-cartRow .ec-cartRow__contentColumn {
        display:flex;
        flex-direction:column-reverse;
    }
    .ec-cartRow .ec-cartRow__img {
        width:100%;
        padding:0 15%;
        text-align:center;
    }
    .ec-cartRow .ec-cartRow__summary {
        width:100%;
        margin: 0 auto;
        padding:0 0 1em;
    }
    .ec-cartRow .ec-cartRow__summary .ec-cartRow__sutbtotalSP {
        display:none;
    }
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTitle {
    line-height: 1.3;
}
/* ------------------------------------------------------
    cart 2
------------------------------------------------------ */
.confirm-table {
    font-size:90%;
    width: 80%;
    margin: 0 auto;
}
.confirm-table th ,
.confirm-table td {
    border:1px solid #999;
    padding:0.2em 0.5em;
}
.ec-totalBox .ec-totalBox__taxRate {
    display:none;
}
.ec-imageGrid .ec-imageGrid__content {
    line-height: 1.2;
}
.ec-imageGrid .ec-imageGrid__content p {
    color: #000;
    font-size: 110%;
    font-weight: bold;    
}
.ec-imageGrid .ec-imageGrid__content p + p {
    color: #009;
    font-size: 75%;
    font-weight: normal;    
}
.ec-imageGrid .ec-imageGrid__content p:first-of-type {
    padding-bottom:0.5em;
}
.ec-imageGrid .ec-imageGrid__content p:last-of-type {
    padding-top:0.5em;
    text-align: right;
    font-size:110%;
}
.ec-imageGrid .ec-imageGrid__content p:last-of-type span {
    color: #f33;
    font-weight: bold;
}
.ec-imageGrid .ec-imageGrid__content p:last-of-type span:after {
    content:"（税込）";
    font-size:80%;
}

.ec-orderDelivery__edit {
    display: none;
}

.ec-totalBox {
    font-size: 120%;
}
.ec-totalBox .ec-totalBox__total ,
.ec-totalBox .ec-totalBox__price ,
.ec-totalBox .ec-totalBox__paymentTotal ,
.ec-totalBox .ec-totalBox__price {
    font-size:100%;
}

.ec-input select, .ec-birth select, .ec-select select, .ec-halfInput select, .ec-numberInput select, .ec-zipInput select, .ec-telInput select ,
.ec-input textarea, .ec-birth textarea, .ec-select textarea, .ec-halfInput textarea, .ec-numberInput textarea, .ec-zipInput textarea, .ec-telInput textarea ,
.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
    color:#000;
    border-color:#999;
}
/* ------------------------------------------------------
    option form
------------------------------------------------------ */
.ec-productRole .ec-productRole__description {
    margin-bottom:0;
    padding:0.1em 1em 1em;
    background:#eef;
}
.ec-productRole .ec-productRole__price {
    padding:1em 0;
    color:#f33;
}


.option_Label .form-label {
    margin-bottom:0.3em;
}

.ec-price-table-block {
    text-align:center;
}
.ec-price-table {
    min-width:90%;
    margin:1.5em auto 0;
    line-height:1.2;
}
.ec-price-table caption {
    caption-side: top;
    color:#fff;
    font-weight:bold;
    background:#06c;
    text-align:center;
}
.ec-price-table th ,
.ec-price-table td {
    vertical-align: middle;
    border:1px solid #999;
}
.ec-price-table th {
    padding:1em;
    font-size: 90%;
    text-align:center;
}
.ec-price-table th.total {
    font-size: 100%;
    font-weight:bold;
}
.ec-price-table td {
    padding:0.3em;
    color:#f33;
    font-size:150%;
    text-align:right;
}
.ec-price-table td.total {
    font-size:200%;
    font-weight:bold;
}
.ec-price-table td .tax {
    font-size:45%;
}

/* ------------------------------------------------------
    item list
------------------------------------------------------ */
#cat-select {
    padding:1em 0;
    text-align:center;
}
#cat-select li {
    padding:0 0.5em;
}
.cat-switch {
    display:block;
    width:100%;
    padding:0.5em 0;
    font-size:120%;
    color:#aaa;
    background:#eee;
    border:2px solid #333;
    border-radius:0.3em;
}
.cat-switch.on ,
.cat-switch:hover {
    color:#fff;
    background:#333;
}

.cat-switch.cat-1 {
    background:#def;
    border-color:#06f;
}
.cat-switch.cat-1.on ,
.cat-switch.cat-1:hover {
    background:#06f;
}
.cat-switch.cat-2 {
    background:#fde;
    border-color:#f39;
}
.cat-switch.cat-2.on ,
.cat-switch.cat-2:hover {
    background:#f39;
}


.itemList {
}
.itemList > .itemCell {
    width:calc(100% / 4);
    padding:1em;
    text-align: center;
}
.itemCell a {
    display: block;
    padding: 0.2em;
    border:2px solid #06f;
    border-radius: 0.3em;
}

.itemCell a:hover {
    background: #ffe;
}
.itemCell .name {
    padding:0.3em 0;
    line-height: 1.4;
    font-size:120%;
    font-weight: bold;
    color: #fff;
    background: #06f;
}
.itemCell .image {
    aspect-ratio:1/1;
    overflow: hidden;
}
.itemCell .image img {
    width:100%;
    height:100%;
    object-fit: cover;
}
.itemCell a:hover .image img {
    transform: scale(1.1);
}
.itemCell .price {
    padding:0.3em 0;
    font-size:200%;
    color:#f33;
    font-weight: bold;
}
.itemCell .price small {
    font-size:80%;
    padding-right:0.5em;
}
.ec-blockBtn--action {
    font-size: 110%;
    border-radius:0.3em;
    background:#f33;
}

.itemCell a.cat-2 {
    border-color:#f39;
}
.itemCell a.cat-2 .name {
    background: #f39;
}

@media only screen and (max-width: 767px){
    .itemList > .itemCell {
        width:calc(100% / 2);
        padding:0.5em;
    }
    .itemCell .name {
        font-size:110%;
    }
    .itemCell .price {
        font-size: 180%;
        line-height:1.2;
    }
    .itemCell .price small {
        font-size: 70%;
        padding-right:0;
    }
}


/* ------------------------------------------------------
    help
------------------------------------------------------ */
.help-header {
    padding:2em 0;
}
.help-header h1{
    margin:0 auto;
    padding:0;
    font-size: 240%;
    font-weight: bold;
    text-align: center;
    border-bottom:1px solid #ccc;
}
.help-off1Grid-center{
    display:flex;
    justify-content:center;
}
.help-off1Grid{
    padding:1em 2em;
}
.help-off1Grid__cell + .help-off1Grid__cell{
    padding-top:2em;
}
.help-h2{
    font-size: 110%;
    font-weight: bold;
}
.help-off1Grid ol,
.help-off1Grid ul,
.help-off1Grid dl{
    margin-bottom:0;
}
.help-off1Grid li{
    list-style: initial;
}
.help-off1Grid p{
    padding-left:1em;
}
.help-off1Grid p + p{
    padding-top:0.5em;
}
.help-off1Grid p + ul{
    padding-left:2.5em;
}

@media only screen and (max-width: 767px){
    .help-header h1{
        font-size:150%;
    }
    .help-off1Grid{
        padding:0 0.5em 1em;
        font-size:95%;
    }
    .help-h2{
        font-size: 105%;
    }
    .help-off1Grid-center{
        display:block;
    }
    .help-off1Grid p{
        padding-left:0;
    }
    .help-off1Grid ol,
    .help-off1Grid ul,
    .help-off1Grid dl,
    .help-off1Grid p + ul{
        padding-left: 1.2em;
    }
}

/* ------------------------------------------------------
    message & table
------------------------------------------------------ */
.common-message-cover {
    padding: 1em 1em 0;
}

.common-table-cover{
    padding:2em 1em 0;
}
.common-table{
    margin:0 auto;
    width:800px;
    max-width:100%;
    box-shadow: 1px 1px 5px 0 #bbb;
}
.common-table th{
    padding: 1em;
    color: #fff;
    font-weight: bold;
    background-color: #26448d;
    border: 1px solid #fff;
    text-align: center;
    white-space:nowrap;
}
.common-table td{
    padding: 1em;
    color: #000;
    background-color: #eee;
    border: 1px solid #fff;
}
.common-table .caption-date{
    caption-side: bottom;
    padding: 0.5em 0.5em 0;
    text-align: right;
}
.common-table.type2 th {
    width:38%;
    white-space: normal;
}
.common-table.type2 td {
    width:62%;
}


@media only screen and (max-width: 767px){
    .common-table{
        width:100%;
        font-size:95%;
    }
    .common-table th,
    .common-table td{
        padding: 0.5em;
    }
}


/* ------------------------------------------------------
    terms
------------------------------------------------------ */
.terms h2 {
    font-weight: bold;
    padding-bottom: 1em;
}
.terms * + h2 {
    padding-top: 1em;
}
.terms p {
    padding:0 1em 0.5em;
}
.terms li {
    list-style:inherit;
}
.terms ul {
    list-style:disc;
    padding:0 2.5em 0.5em;
}
.terms ol {
    list-style:numeric;
    padding:0 2em 0.5em;
}
.terms ol ol {
    list-style-type: cjk-ideographic;
}


/* ------------------------------------------------------
    overload
------------------------------------------------------ */
.ec-productRole {
    color:#000;
}
.ec-orderRole{
    color:inherit;
}

.ec-layoutRole__header {
    background:#fff;
}

.ec-layoutRole .ec-layoutRole__main {
    padding-bottom:4em;
}
.ec-blockTopBtn.pagetop{
    display:none !important;
}
.ec-layoutRole .ec-layoutRole__contents{
    max-width: none;
}

.ec-role{
    padding:0 1em;
    line-height:1.6;
}
.ec-cartNavi {
    align-items: flex-end;
}

.ec-pageHeader{
    padding-top:3.5em;
}
.ec-pageHeader h1{
    display:flex;
    padding:0;
    font-size: 170%;
    border-top:0 none;
    border-bottom:0 none;
}
.ec-pageHeader h1:before{
    display: block;
    content: "";
    background-color: #f5eb42;
    width: 10px;
    height: 40px;
    margin-right: 5px;
}
.ec-productRole__category {
    padding-top:1em;
}
.ec-productRole__category a {
    font-size:90%;
}
.ec-productRole__category span {
    padding:0 0.3em;
}

.ec-price {
    padding: 0.3em 0 0.4em;
    line-height: 1.2;
    text-align: center;
    border: 6px double #f33;
}
.ec-price .ec-price__label {
    text-align:right;
    font-size:60%;
}
.ec-price .ec-price__price {
    padding-right:0;
    font-size:160%;
}
.ec-price .ec-price__tax {
    padding-top: 0.8em;
    font-size:70%;
}

.ec-numberInput {
    text-align: center;
}
.ec-productRole .ec-productRole__btn {
    margin:0 auto 1em;
}

.ec-login {
    background:#f7f7ff;
}
.ec-progress .ec-progress__number {
    background:#ccc;
}
.ec-progress .is-complete .ec-progress__number {
    background:#f33;
}
.ec-progress .is-complete .ec-progress__label {
    color:#f33;
}

.ec-required {
    margin-left:0.5em;
    padding:0 0.3em;
    color:#fff;
    background:#f33;
    border-radius:0.3em;
}

.ec-rectHeading h1, .ec-rectHeading .h1, .ec-rectHeading h2, .ec-rectHeading .h2, .ec-rectHeading h3, .ec-rectHeading .h3, .ec-rectHeading h4, .ec-rectHeading .h4, .ec-rectHeading h5, .ec-rectHeading .h5, .ec-rectHeading h6, .ec-rectHeading .h6 {
    color: #fff;
    text-shadow: 1px 1px 0 #000;
    background: #09f;
}

#product_review_area .recommend_average {
    color:#ff0 !important;
}

.ec-newsRole .ec-newsRole__newsCloseBtn {
    width:1.5em;
    height:1.5em;
    padding-top: 0.1em;
    display:flex;
    justify-content: center;
    align-items: center;
}

.ec-footerNavi {
    width: 800px;
    max-width: 100%;
    margin: 0 auto;
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}
.ec-footerNavi .ec-footerNavi__link {
    padding:0 1em;
}
.ec-footerNavi .ec-footerNavi__link a {
    padding:0.5em 0;
    border-bottom: 0 none;
}

@media only screen and (max-width: 767px){
    #bgLayer {
        padding-top:40px;
    }
    .ec-layoutRole__header > .all-center-1400 {
        position:fixed;
        top:0;
        left:0;
        background:#fff;
        z-index:99999;
    }
    .ec-headerNaviRole__nav .flex.right{
        justify-content:flex-start;
    }
    .bg-text-e {
        font-size: 170%;
    }
}

/* ------------------------------------------------------
    base
------------------------------------------------------ */
.hide {
    display:none!important;
}
.bg-img{
    line-height:1.3;
    background-image:url(/html/user_data/assets/img/common/pageheader-bg.jpg); 
    background-position: 70% 50%;
}
.bg-img.company-bg{
    background-image:url(/html/user_data/assets/img/common/company-bg.jpg); 
}
.bg-img.fc-bg{
    background-image:url(/html/user_data/assets/img/common/fc-bg.jpg); 
}
.bg-img.flow-bg{
    background-image:url(/html/user_data/assets/img/common/flow-bg.jpg); 
}
.bg-img.works-bg{
    background-image:url(/html/user_data/assets/img/common/works-bg.jpg); 
}
.padding-block {
    padding:2em 0
}

.trans0_3 {
    transition:all 0.3s ease;
    -webkit-transition:all 0.3s ease;
}