@charset "UTF-8";
/*
 * 商品紹介 CSS
*/

/*-- 共通*/
div.page-title {
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    background-color: rgba(0, 0, 0, .55);
}
div.page-title::before,
div.page-title::after {
    content: none;
}
div.page-title h1 {
    position: relative;
    padding: 1em;
    bottom: 0;
}
.concept {
    width: 100%;
    max-width: 600px;
    margin: auto;
}

/*商品リスト*/
.products-list {
    list-style-type: none;
    width: 96%;
    max-width: 600px;
    margin: 1em auto;
}
.products-list > li {
    margin: 5em 0 0 0;
    padding: 5em .5em 0 .5em;   
    border-top: 3px solid rgba(128, 128, 128, .70);
}
.products-list > li:first-child {
    border: none;
    padding-top: 0;
}
.product-title {
    margin: 0 0 .75em 0;
    padding: 0 .5em;
    border-left: 5px solid rgba(255, 255, 255, .75);
    font-family: "BIZ UDPMincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.35em;
    text-align: left;
}
.catchphrase {
    font-family: "BIZ UDPMincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.10em;
    margin: 0 .5em .75em .5em;
}
.product-info {
    margin: 2em 0;
    width: 100%;
}
.product-info thead {
    font-weight: normal;
    text-align: center;
}
.product-info tbody tr {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, .75);
}
.product-info tbody td {
    padding: .35em;
    vertical-align: middle;
}
.product-info tbody td.size {
    font-size: .95em;
}
.product-info tbody td.flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: right;
}
.product-info tbody td.flex .special {
    padding: 5px;
    font-size: 9pt;
    font-weight: 600;
    line-height: 100%;
    color: #fff;
    background-color: #ff0000;
    border-radius: 5px;
}
.product-info tbody td .price {
    margin-left: .75em;
    text-align: right;
    font-size: 1.50em;
}
.product-info tbody td .price.sp {
    color: #ff3333;
    font-weight: bold;
    text-shadow: 1px 1px 1px #000;
}
.product-info tbody td .price::before {
    content: "\A5";
}
.product-spec {
    margin: .75em 0;
    width: 100%;
    line-height: 140%;
    border: 1px solid rgba(255, 255, 255, .75);
    font-size: .95em;
}
.product-spec th {
    font-weight: normal;
    color: #000;
    background-color: rgba(204, 204, 204, .85);
    padding: .5em .5em .35em .5em;
    border-right: 1px solid rgba(255, 255, 255, .75);
    border-top: 1px dashed rgba(255, 255, 255, .75);
}
.product-spec td {
    padding: .5em .5em .35em .5em;
    border-right: 1px solid rgba(255, 255, 255, .75);
    border-top: 1px dashed rgba(255, 255, 255, .75);
}
.product-spec td .size2 {
    font-size: .925em;
}
.caution {
    font-size: .90em;
    list-style-type: none;
    padding-left: 1.5em;
    margin-left: 0.5em;
    line-height: 150%;
}
.caution li {
    text-indent: -1.5em;
    margin-bottom: .35em;
}
.caution li::before {
    content: "※";
    margin-right: .5em;
}

.products-list .explanation {
    margin-top: 1.0em;
    line-height: 150%;
    padding: 1em .65em;
    background-color: rgba(0, 0, 0, .55);
}
.products-list .explanation .title {
    font-size: 1.25em;
    margin-bottom: .35em;
}
.products-list .explanation .note {
    margin-top: .75em;
    padding-top: .75em;
    border-top: 1px dashed rgba(255, 255, 255, .55);
    color: #ffa07a;
    font-weight: bold;
}
.products-list p.comment {
    padding: 0 !important;
    margin-top: 1em;
    line-height: 160%;
}
.low-stock {
    background-color: rgba(128, 128, 128, .75);
    color: rgba(255, 255, 255, .95);
    padding: .55em 0;
    width: 100%;
    max-width: 560px;
    margin: auto;
    font-family: "BIZ UDPMincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.50em;
    text-align: center;
}
.contact {
    max-width: 600px;
    padding: 2em .5em .5em .5em;
    margin: 2em auto auto auto;
    line-height: 160%;
    border-top: dotted rgba(255, 255, 255, .55) 1px;
}
a.contact-link {
    margin: 1.5em auto 2em auto;
}

@media screen and (min-width: 768px) {

    .concept .comment {
        text-align: center !important;
    }
    .contact {
        text-align: center;
    }
    .product-title {
        font-size: 2.25em;    
    }
    .catchphrase {
        font-size: 1.50em;
    }
    .products-list li {
        margin: 100px auto;
    }
    .products-list .explanation {
        padding: 1.5em;
    }
    .products-list .explanation .title {
        font-size: 1.50em;
        margin-bottom: .5em;
    }
    .products-list .explanation .note {
        padding-top: 1.5em;
        margin-top: 1.5em;
    }
    .product-info {
        margin: 1em auto;
        width: 94%;
    }
    .product-info tbody td.flex .special {
        font-size: 1.05em;
        padding: 7px 8px 5px 8px;
    }
    .caution {
        margin: 1em auto;
        width: 92%;
        line-height: 135%;
    }
    section.inner p.comment {
        padding: 0 .5em !important;
    }
    .caution li {
        margin: .35em auto;
    }

}

@media screen and (min-width: 1024px) {
    section.inner {
        text-align: left;
    }
}