@charset "utf-8";
/* CSS Document */

/*
* タグ共通
*/
/* フォントサイズ */
html {
    font-size: 62.5%;
}
body {
    font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
    body {
        font-size: 1.6rem;
    }
}
/* 行間 */
p {
    line-height: 1.6;
}
/* 画像 */
img {
    max-width: 100%;
    vertical-align: middle;
}
/* 下線 */
hr {
    margin: 0;
    padding: 0;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-shadow: none;
    border: none;
    font-size: 100%;
    background-image: url(../img/img_arrow_select.gif);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 30px;
}
input[type="text"],
input[type="search"],
input[type="number"],
input[type="email"],
input[type="password"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    background-color: #fffc72;
}
/* checkboxデフォルト */
input[type="checkbox"] {
    display: none
}
input[type="checkbox"] + label {
    cursor: pointer;
}
input[type="checkbox"] + label:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin: 0 5px 0 0;
    background-image: url('../img/check_icon.gif');
    background-position: bottom left;
    border: 1px solid #bbb;
    vertical-align: middle;
}
input[type="checkbox"] + label:before {
    border-radius: 3px;
}
input[type="checkbox"]:checked + label:before {
    background-position: top left;
}
/* radioデフォルト */
input[type="radio"] {
    display: none;
}
input[type="radio"] + label:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid #bbb;
    vertical-align: middle;
}
input[type="radio"] + label:before {
    border-radius: 50%;
}
input[type="radio"]:checked + label:before {
    background: url('../img/radio_icon.gif');
    background-size: 18px;
}
/* スピンボタン非表示 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
}

/*
* 共通フォームレイアウト
*/
.comFormHeader {
    margin: 0 10px 10px;
}
.comFormHeader p {
    margin: 0 0 10px;
}
.comFormHeader p:last-child {
    margin: 0;
}
.comFormHeader p span {
    color: #e43524;
    font-weight: bold;
}
.comFormBody {
    margin: 0 0 20px;
    border-top: 1px solid #bbb;
}
.comFormBody .fieldSet {
    padding: 20px 10px;
    border-bottom: 1px solid #bbb;
}
.comFormBody .fieldSplit .fieldRow:first-child {
    margin: 0 0 15px;
}
.comFormBody .fieldTitle {
    margin: 0 0 10px;
}
.comFormBody .fieldTitle span {
    vertical-align: middle;
}
.comFormBody .fieldTitle i {
    display: inline-block;
    margin: 0 8px 0 0;
    padding: 4px;
    color: #dc5244;
    border: 1px solid #dc5244;
    font-size: 1.2rem;
    vertical-align: middle;
}
.comFormBody .fieldTitle .any {
    color: #333;
    border: 1px solid #333;
}
.comFormBody .fieldColmun {
    width: 100%;
}
.comFormBody .fieldColmun input,
.comFormBody .fieldColmun select {
    width: 100%;
}
.comFormBody .fieldColmunAll select {
    width: 100%;
}
.comFormBody .fieldTextAreaColmun,
.comFormBody .fieldTextAreaColmun textarea {
    width: 100%;
}
.comFormBody .fieldRow {
    height: 44px;
}
.comFormBody .fieldTextAreaRow {
    height: 200px;
}
.comFormBody .fieldRow input,
.comFormBody .fieldRow select,
.comFormBody .fieldTextAreaRow textarea {
    height: 100%;
    padding: 0 10px;
    border: 1px solid #bbb;
    border-radius: 3px;
    font-size: 100%;
}
.comFormBody .fieldRow select {
    min-width: 70px;
}
.comFormBody .fieldTextAreaRow textarea {
    resize: vertical;
    padding: 10px;
    line-height: 1.6;
}
.comFormBody .errorMessage {
    margin: 10px 0 0;
    line-height: 1;
}
.comFormBody .fieldText {
    margin: 10px 0 0;
}
.comFormBody .fieldRadio {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.comFormBody .fieldRadio .radio {
    margin: 0 15px 0 0;
}
.comFormBody .fieldStarRadio .radio {
    margin: 0 0 15px;
}
.comFormBody .fieldStarRadio .radio:last-child {
    margin: 0;
}
.comFormBody .radio > span {
    vertical-align: middle;
}
.comFormBtnArea {
    margin: 20px 0 0;
    padding: 0 10px;
}
.comFormBtnArea .conversionBtn,
.comFormBtnArea .defaultBtn {
    display: block;
    width: 100%;
    padding: 20px;
    line-height: 1;
    text-align: center;
}
.comFormBtnArea .defaultBtn {
    margin: 20px 0 0;
}
/* 住所 */
.comFormBody .addrArea .addrSelect {
    margin: 0 0 10px;
}
.comFormBody .addrArea .addrSelect label {
    cursor: pointer;
}
.comFormBody .addrArea .addrSelect label span {
    padding: 0 0 0 5px;
    vertical-align: middle;
}
.comFormBody .addrArea .addrBlock {
    display: none;
    padding: 15px;
    border: 1px dashed #bbb;
    border-radius: 5px;
}
.comFormBody .addrArea .addrBlockActive {
    display: block;
}
.comFormBody .addrArea .addrLabel {
    margin: 0 0 10px;
    font-size: 1.6rem;
    font-weight: bold;
}
.comFormBody .addrArea .addrPostal {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 0 10px;
}
.comFormBody .addrArea .addrPostal input {
    width: 120px;
}
.comFormBody .addrArea .addrPostal span {
    height: 100%;
    padding: 0 10px 0 0;
}
.comFormBody .addrArea .addrPostal a {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    padding: 0 10px;
}
.comFormBody .addrArea .addrPref,
.comFormBody .addrArea .postPref,
.comFormBody .addrArea .postCity,
.comFormBody .addrArea .postOffice {
    margin: 0 0 10px;
}
.comFormBody .addrArea .addrPref select,
.comFormBody .addrArea .postPref select,
.comFormBody .addrArea .postCity select,
.comFormBody .addrArea .postOffice select {
    width: 280px;
}
.comFormBody .addrArea .addrAddress input {
    width: 100%;
}
.comFormBody .addrArea .postOfficeAddress {
    margin: 10px 0 0;
    padding: 10px;
    background: #f5f5f5;
}
@media screen and (min-width: 960px) {
    .comFormHeader {
        margin: 0 0 20px;
    }
    .comFormBody .fieldSet {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 20px 0;
    }
    .comFormBody .fieldTitle {
        width: 335px;
        margin: 0;
    }
    .comFormBody .fieldContent {
        width: 100%;
    }
    .comFormBody .fieldColmun {
        width: 415px;
    }
    .comFormBody .fieldSplit {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    .comFormBody .fieldSplit .fieldRow:first-child {
        margin: 0 15px 0 0;
    }
    .comFormBody .fieldSplit .fieldColmun {
        width: 200px;
    }
    .comFormBody .fieldRow select {
        min-width: 80px;
    }
    .comFormBtnArea .conversionBtn {
        width: 300px;
        margin: 0 auto;
    }
    .comFormBtnArea .defaultBtn {
        width: 300px;
        margin: 20px auto 0;
    }
    .comFormBody .addrArea .addrSelect {
        display: inline-block;
        margin: 0 10px 10px 0;
    }
}

/*
* サイトフレーム
*/
#mainContainer {
    margin: 0 0 30px;
}
@media screen and (min-width: 960px) {
    #mainContainer {
        max-width: 1220px;
        margin: 0 auto 40px;
        padding: 0 10px;
    }
    #twoColumn {
        float: left;
        width: 100%;
        margin: 0 -200px 0 0;
    }
    #twoColumn #mainArea {
        margin: 0 220px 0 0;
    }
    #rightSide {
        width: 200px;
        float: right;
    }
}

/*
* タイトル
*/
.comPageTitle {
    margin: 0 10px 10px;
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 1.4;
}
@media screen and (min-width: 960px) {
    .comPageTitle {
        margin: 0 0 20px;
        font-size: 3rem;
    }
}
.comPageSubTitle {
    margin: 0 0 10px;
    padding: 10px;
    border-left: 3px solid #42a660;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.2;
}
@media screen and (min-width: 960px) {
    .comPageTitle {
        line-height: 1;
    }
    .comPageSubTitle {
        margin: 0 0 20px;
        font-size: 1.8rem;
    }
}

/*
* ページング
*/
.comPager {
    margin: 20px 0 0;
    text-align: center;
}
.comPager .page {
    position: relative;;
    display: inline-block;
    margin: 0 0 0 10px;
    font-size: 0;
}
.comPager .pc {
    display: none;
}
.comPager .page a {
    display: block;
    padding: 20px;
    font-size: 16px;
    text-decoration: none;
}
.comPager .page span {
    display: block;
    padding: 20px;
    background: #f5f5f5;
    font-size: 16px;
    font-weight: bold;
}
.comPager .prev a {
    background: url('../img/arrow_prev.gif') no-repeat left center;
}
.comPager .next a {
    background: url('../img/arrow_next.gif') no-repeat right center;
}
@media screen and (min-width: 960px) {
    .comPager .page {
        margin: 0 0 0 10px;
    }
    .comPager .pc {
        display: inline-block;
    }
    .comPager .page a {
        padding: 20px;
        font-size: 16px;
        text-decoration: none;
    }
}

/*
* リンク・ボタン
*/
/* テキストリンク */
a:link,
a:visited {
    color: #005a99;
}
a:hover,
a:active {
    color: #e43524;
}
/* ボタン */
.conversionBtn {
    background: #dc5244;
    border: 1px solid #dc5244;
    border-radius: 3px;
    color: #fff !important;
    font-size: 100%;
    text-decoration: none;
}
.conversionBtn:hover {
    background: #dc3020 !important;
    border: 1px solid #dc4536 !important;
}
.conversionBtn:disabled {
    background: #ccc;
    border: 1px solid #ccc !important;
}
.defaultBtn {
    background: #f5f5f5;
    border: 1px solid #bbb;
    border-radius: 3px;
    color: #333 !important;
    font-size: 100%;
    text-decoration: none;
}
.defaultBtn:hover {
    background: #eee !important;
}
@media screen and (min-width: 960px) {
    .conversionBtn,
    .defaultBtn {
        cursor: pointer;
    }
}

/*
* プラグイン
*/
/* swiper js */
.swiper-button-next:after,
.swiper-button-prev:after {
    display: none;
}
.swiper-container .swiper-button-prev {
    left: 2px;
    background: url(../img/img_swiper_prev.png) center center / auto auto no-repeat !important;
}
.swiper-container .swiper-button-next {
    right: 2px;
    background: url(../img/img_swiper_next.png) center center / auto auto no-repeat !important;
}
.swiper-container .swiper-button-prev,
.swiper-container .swiper-button-next {
    width: 28px !important;
}

/*
* エラーメッセージ
*/
.errorMessage {
    color: #e43524;
}

/*
* その他
*/
/* レビュー星アイコン共通 */
.star {
    color: #ffba00;
}
.star span {
    color: #ccc;
}
/* 在庫切れ・ */
.noStockImage:before {
    display: block;
    content: "在庫切れ";
    position: absolute;
    width: 120px;
    height: 90px;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    text-align: center;
    line-height: 90px;
}
/* 取扱いなし */
.noHandlingImage:before {
    display: block;
    content: "取扱いなし";
    position: absolute;
    width: 120px;
    height: 90px;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    text-align: center;
    line-height: 90px;
}
/* 未入金お知らせ */
.orderPaymentInfo a {
    display: block;
    padding: 5px;
    background: #dc5547;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}
@media screen and (min-width: 960px) {
    .orderPaymentInfo {
        text-align: center;
    }
    .orderPaymentInfo a {
        padding: 10px 0;
        font-size: 1.8rem;
    }
}
/* Line@ポイントプレゼントお知らせ */
.linePrecentInfo {
    position: relative;
    max-width: 300px;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    text-align: center;
}
.linePrecentInfo div {
    margin: 0 0 20px;
    font-size: 2rem;
    font-weight: bold;
}
.linePrecentInfo img {
    width: 150px;
    margin: 0 auto;
}
.linePrecentInfo p {
    margin: 20px 0;
}
.linePrecentInfo p span {
    color: #e43524;
    font-weight: bold;
}
.linePrecentInfo a {
    display: block;
    width: 100%;
    padding: 15px;
}
/* キャンペーンお知らせ */
.siteHeaderBanner {
    text-align: center;
}
.siteHeaderBanner .banner {
    display: block;
    background: #00896b;
    text-align: center;
}
/* 訪問確認モーダル */
.visitModal {
    display: none;
    position: fixed;
    top: 10%;
    width: 100%;
    z-index: 100000;
    text-align: center;
}
.visitModal .visitContainer {
    width: 90%;
    max-width: 700px;
    margin: 0 auto;
    background: #fff;
    border-bottom: 10px solid #42a660;
    border-radius: 5px;
    -webkit-box-shadow: 5px 5px 15px 5px #ccc;
    box-shadow: 5px 5px 15px 5px #ccc;
}
.visitModal .visitHeader {
    padding: 10px;
    background: #42a660;
    color: #fff;
    border-radius: 4px 4px 0 0;
    font-weight: bold;
    text-align: left;
}
.visitModal .visitBody {
    padding: 20px;
    text-align: left;
}
.visitModal .visitBody .visitTitle {
    margin: 0 0 10px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
}
.visitModal .visitSiteBtnArea {
    margin: 20px 0 0;
}
.visitModal .visitSiteBtnArea .conversionBtn,
.visitModal .visitSiteBtnArea .defaultBtn {
    display: block;
    width: 100%;
    padding: 20px;
    line-height: 1;
    text-align: center;
}
.visitModal .visitSiteBtnArea .defaultBtn {
    margin: 20px 0 0;
}
@media screen and (min-width: 960px) {
    .visitModal .visitBody .visitTitle {
        margin: 0 0 20px;
        font-size: 3rem;
    }
    .visitModal .visitSiteBtnArea {
        max-width: 500px;
        margin: 20px auto 0;
    }
    .visitModal .visitSiteBtnArea .conversionBtn {
        float: right;
        width: 48%;
        margin: 0;
    }
    .visitModal .visitSiteBtnArea .defaultBtn {
        float: left;
        width: 48%;
        margin: 0;
    }
}
