@charset "utf-8";

@-webkit-keyframes blink {
    0% {
        opacity: 0
    }

    50%,to {
        opacity: 1
    }
}

@-moz-keyframes blink {
    0% {
        opacity: 0
    }

    50%,to {
        opacity: 1
    }
}

@keyframes blink {
    0% {
        opacity: 0
    }

    50%,to {
        opacity: 1
    }
}

@keyframes invite-anime {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes invite-anime {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}


td {
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.6
}

a:link,a:visited {
    color: #1010ca
}

a:active,a:hover {
    color: #f00000
}

a:hover img {
    opacity: .8
}

.clear:after {
    clear: both;
    display: block;
    height: 0;
    content: ".";
    visibility: hidden
}

.focus {
    background: #ffffd0!important
}

.marker {
    background: linear-gradient(transparent 60%,#eee 60%)
}

.marker.yellow {
    background: linear-gradient(transparent 60%,#ffeeb6 60%)
}

.marker.blue {
    background: linear-gradient(transparent 60%,#99e2ff 60%)
}

.marker.red {
    background: linear-gradient(transparent 60%,#ffa7ae 60%)
}

.colorRed {
    color: red!important
}

.bold {
    font-weight: 700!important
}

.hide {
    display: none!important
}

.showy2 {
    padding: 0 3px;
    background: #fff352
}

ul.normal {
    margin-left: 20px;
    padding: 10px 20px 10px 25px
}

ul.normal li {
    padding: 2px 0
}

h2[id^=no] {
    margin-top: 30px!important;
    color: #da0000
}

.clr_000 {
    color: #000!important
}

.clr_fff {
    color: #fff!important
}

.clr_f00 {
    color: red!important
}

.clr_00f {
    color: #00f!important
}

.clr_0f0 {
    color: #0f0!important
}

.fw_no {
    font-weight: 400!important
}

.fw_bo {
    font-weight: 700!important
}

.fs_10 {
    font-size: 10px!important
}

.fs_11 {
    font-size: 11px!important
}

.fs_12 {
    font-size: 12px!important
}

.fs13,.fs13 td,.fs13 th,.fs_13 {
    font-size: 13px!important
}

.fs14,.fs14 td,.fs14 th,.fs_14 {
    font-size: 14px!important
}

.fs15,.fs15 td,.fs15 th,.fs_15 {
    font-size: 15px!important
}

.fs16,.fs16 td,.fs16 th,.fs_16 {
    font-size: 16px!important
}

.fs17,.fs17 td,.fs17 th,.fs_17 {
    font-size: 17px!important
}

.fs18,.fs18 td,.fs18 th,.fs_18 {
    font-size: 18px!important
}

.fs19,.fs19 td,.fs19 th,.fs_19 {
    font-size: 19px!important
}

.fs_20 {
    font-size: 20px!important
}

.fs_21 {
    font-size: 21px!important
}

.fs_22 {
    font-size: 22px!important
}

.fs_23 {
    font-size: 23px!important
}

.fs_24 {
    font-size: 24px!important
}

.fs_25 {
    font-size: 25px!important
}

.fs_26 {
    font-size: 26px!important
}

.fs_27 {
    font-size: 27px!important
}

.fs_28 {
    font-size: 28px!important
}

.fs_29 {
    font-size: 29px!important
}

.fs_30 {
    font-size: 30px!important
}

.fs_31 {
    font-size: 31px!important
}

.fs_32 {
    font-size: 32px!important
}

.fs_33 {
    font-size: 33px!important
}

.fs_34 {
    font-size: 34px!important
}

.fs_35 {
    font-size: 35px!important
}

.fs_36 {
    font-size: 36px!important
}

.center,.ta_c {
    text-align: center!important
}

.left,.ta_l {
    text-align: left!important
}

.right,.ta_r {
    text-align: right!important
}


.mt_0 {
	margin-top: 0px !important;
}

.mt_5 {
	margin-top: 5px !important;
}

.mt_10 {
	margin-top: 10px !important;
}

.mt_15 {
	margin-top: 15px !important;
}

.mt_20 {
	margin-top: 20px !important;
}

.mt_25 {
	margin-top: 25px !important;
}

.mt_30 {
	margin-top: 30px !important;
}

.mt_35 {
	margin-top: 35px !important;
}

.mt_40 {
	margin-top: 40px !important;
}

.mt_50 {
	margin-top: 50px !important;
}

.mt_100 {
	margin-top: 100px !important;
}

.mb_0 {
	margin-bottom: 0px !important;
}

.mb_5 {
	margin-bottom: 5px !important;
}

.mb_10 {
	margin-bottom: 10px !important;
}

.mb_15 {
	margin-bottom: 15px !important;
}

.mb_20 {
	margin-bottom: 20px !important;
}

.mb_25 {
	margin-bottom: 25px !important;
}

.mb_30 {
	margin-bottom: 30px !important;
}

.mb_35 {
	margin-bottom: 35px !important;
}

.mb_40 {
	margin-bottom: 40px !important;
}

.mb_50 {
	margin-bottom: 50px !important;
}

.mb_100 {
	margin-bottom: 100px !important;
}

.ml_0 {
    margin-left: 0!important
}

.ml_5 {
    margin-left: 5px!important
}

.ml_10 {
    margin-left: 10px!important
}

.ml_15 {
    margin-left: 15px!important
}

.ml_20 {
    margin-left: 20px!important
}

.ml_30 {
    margin-left: 30px!important
}

.ml_40 {
    margin-left: 40px!important
}

.ml_50 {
    margin-left: 50px!important
}

.ml_100 {
    margin-left: 100px!important
}

.mr_0 {
    margin-right: 0!important
}

.mr_5 {
    margin-right: 5px!important
}

.mr_10 {
    margin-right: 10px!important
}

.mr_15 {
    margin-right: 15px!important
}

.mr_20 {
    margin-right: 20px!important
}

.mr_30 {
    margin-right: 30px!important
}

.mr_40 {
    margin-right: 40px!important
}

.mr_50 {
    margin-right: 50px!important
}

.mr_100 {
    margin-right: 100px!important
}

.pt_0 {
    padding-top: 0!important
}

.pt_5 {
    padding-top: 5px!important
}

.pt_10 {
    padding-top: 10px!important
}

.pt_15 {
    padding-top: 15px!important
}

.pt_20 {
    padding-top: 20px!important
}

.pt_30 {
    padding-top: 30px!important
}

.pb_0 {
    padding-bottom: 0!important
}

.pb_5 {
    padding-bottom: 5px!important
}

.pb_10 {
    padding-bottom: 10px!important
}

.pb_15 {
    padding-bottom: 15px!important
}

.pb_20 {
    padding-bottom: 20px!important
}

.pb_30 {
    padding-bottom: 30px!important
}

.pl_0 {
    padding-left: 0!important
}

.pl_5 {
    padding-left: 5px!important
}

.pl_10 {
    padding-left: 10px!important
}

.pl_15 {
    padding-left: 15px!important
}

.pl_20 {
    padding-left: 20px!important
}

.pl_30 {
    padding-left: 30px!important
}

.pr_0 {
    padding-right: 0!important
}

.pr_5 {
    padding-right: 5px!important
}

.pr_10 {
    padding-right: 10px!important
}

.pr_15 {
    padding-right: 15px!important
}

.pr_20 {
    padding-right: 20px!important
}

.pr_30 {
    padding-right: 30px!important
}

.ime_act {
    ime-mode: active!important
}

.ime_dis {
    ime-mode: disabled!important
}

.po_re {
    position: relative!important
}

.dsp_non {
    display: none!important
}

.dsp_blc {
    display: block!important
}

.dsp_tbl {
    display: table!important;
    width: 100%
}

.dsp_cel {
    display: table-cell!important;
    vertical-align: middle
}

.wrp_100,.wrp_120 {
    width: 1000px;
    margin: 0 auto
}

.wrp_120 {
    width: 1200px
}

.ovr_hid {
    overflow: hidden!important
}

.no_border {
    border: 0!important
}

.link {
    color: #1010ca;
    cursor: pointer
}

#top_btn li.cart a:hover #cart_price,#top_menu .hide_menu .menu_tbl ul li a:hover,.left_menu .main_category:hover>a,.left_menu .sub_category a:hover,.link:hover,.warning p {
    color: #f00000
}

.ac_contents {
    display: none
}

.ls_di li,ul.normal li {
    list-style: disc
}

.bg-ly {
    background: #fff2cc
}

.bg-y {
    background: #ff0
}

.img-w398 {
    max-width: 398px!important;
    height: auto
}

.w100 {
    width: 100px
}

.w150 {
    width: 150px
}

.w200 {
    width: 200px
}

.w250,.w300,.w350 {
    width: 250px
}

.pcwd75 {
    width: 75px
}

.pcwd80 {
    width: 80px
}

.pcmin80 {
    min-width: 80px
}

.pcmin90 {
    min-width: 90px
}

.bg-wd3 {
    border-width: 3px!important
}

.bg-right_wd2 {
    border-right-width: 2px!important
}

.bg-right_wd3 {
    border-right-width: 3px!important
}

.bd-gray,.bd-gray td,.bd-gray th,.bd-gray tr {
    border-color: #d2d2d2!important
}

.bg-gray {
    background-color: #efefef
}

.ftr_prd {
    display: inline-block;
    overflow: hidden
}

.belt_link a:hover,.ftr_prd a:hover .prd_img img {
    opacity: .8
}

.recommend_category .ftr_prd {
    width: 148px;
    margin: 0 10px
}


.symptom_category {
    margin: 0 0 20px;
    font-size: 0;
    vertical-align: top
}

.symptom_category li {
    display: inline-block;
    width: 280px;
    margin: 0 10px 15px;
    font-size: 0;
    border-top: 4px solid #53c3f1
}

.recommend_category .menu h2 a,.symptom_category li a.title {
    display: block;
    position: relative;
    color: #2a2a2a;
    text-decoration: none
}

.symptom_category li a.title {
    padding: 8px 5px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1
}

.symptom_category li a.title::after {
    position: absolute;
    top: 10px;
    right: 5px;
    content: "全て見る";
    font-size: 13px;
    font-weight: 400;
    text-decoration: underline
}

.symptom_category .dsp_tbl .dsp_cel {
    vertical-align: top;
    padding: 0 5px 0 10px
}

.symptom_category .dsp_tbl .image {
    width: 72px;
    padding: 5px 10px
}

.symptom_category .dsp_tbl .image a,.symptom_category .dsp_tbl .image a img {
    display: block;
    width: 72px
}

.symptom_category .dsp_tbl .text {
    line-height: 1
}

.symptom_category .dsp_tbl .text a {
    position: relative;
    display: block;
    padding: 3px 10px 3px 12px;
    color: #2a2a2a;
    font-size: 13px;
    line-height: 1;
    text-decoration: none
}

.symptom_category .dsp_tbl .text a::before {
    position: absolute;
    top: calc(50% - 3.2px);
    left: 4px;
    width: 0;
    height: 0;
    content: "";
    border-color: transparent transparent transparent #53c3f1;
    border-style: solid;
    border-width: 3.2px
}

.symptom_category li .dsp_tbl .text a:hover,.symptom_category li a.title:hover,.symptom_category li a.title:hover::after {
    color: #f00000;
    text-decoration: underline
}

.recommend_category.dsp_tbl {
    width: 100%;
    margin: 0 0 20px
}

.recommend_category .menu {
    width: 198px;
    padding: 15px 20px;
    vertical-align: top;
    background: #fafafa;
    border: 1px solid #b0b0b0
}

.recommend_category .body {
    padding: 15px 20px 5px;
    vertical-align: top;
    border: 1px solid #b0b0b0;
    border-left: none
}

.recommend_category .menu h2 {
    padding: 0 0 8px;
    border-bottom: 2px solid #53c3f1
}

.recommend_category .menu h2 a {
    padding: 0 0 0 5px
}

.recommend_category .menu li a {
    display: block;
    position: relative;
    padding: 4px 0 4px 24px;
    font-size: 16px;
    line-height: 22px;
    text-decoration: none
}

.recommend_category .menu li a::before {
    position: absolute;
    top: calc(50% - 6px);
    left: 12px;
    font-family: icomoon;
    font-style: normal;
    content: "";
    font-size: 12px;
    line-height: 1
}

.prd_list.tate .item_maker a:hover,.prd_list.tate .item_review a:hover .num,.prd_list.yoko .item_maker a:hover,.prd_list.yoko .item_review a:hover .num,.recommend_category .menu a:hover {
    color: #f00000
}

.recommend_category .body .title {
    padding: 0 0 10px;
    font-size: 20px;
    font-weight: 700
}


.order_tbl {
    width: 960px;
    margin: 0 0 20px 20px
}

.order_tbl td,.order_tbl th {
    color: #2a2a2a;
    text-align: center;
    vertical-align: middle;
    border-top: 1px solid silver;
    border-left: 1px solid silver
}

.order_tbl th {
    padding: 10px 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    background: #f0f0f0
}

.order_tbl td {
    min-height: 48px;
    font-size: 15px;
    line-height: 19px
}

.order_tbl td:last-child,.order_tbl th:last-child {
    border-right: 1px solid silver
}

.order_tbl tr:last-child td {
    border-bottom: 1px solid silver
}

.order_tbl td:nth-child(1) {
    width: 200px
}

.order_tbl td:nth-child(2) {
    width: 160px;
    border-right: none
}

.order_tbl td:nth-child(3) {
    border-left: none
}

.order_tbl td:nth-child(4) {
    width: 80px
}

.order_tbl td:nth-child(5) {
    width: 240px
}

.order_tbl .basic {
    position: relative;
    padding: 24px 40px 8px 0;
    font-size: 16px;
    line-height: 16px;
    text-align: right
}

.order_tbl .basic del {
    color: #7a7a7a
}

.order_tbl .basic del span {
    color: #2a2a2a
}

.order_tbl .basic small {
    padding: 0 0 0 2px;
    font-size: 11px
}

.order_tbl .basic::after {
    position: absolute;
    top: calc(50% - 4px);
    right: 10px;
    font-family: icomoon;
    font-style: normal;
    content: "";
    color: #a0a0a0;
    font-size: 14px;
    line-height: 14px
}

.order_tbl .sale {
    height: 28px;
    padding: 14px 0 6px 20px;
    color: #da0000;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    text-align: left;
    vertical-align: bottom
}

.order_tbl .sale strong {
    display: inline-block;
    width: 120px;
    padding: 0 4px;
    font-size: 28px;
    text-align: right
}

.order_tbl .sale strong small {
    font-size: 14px
}

.order_tbl .sale .unit {
    position: relative;
    display: inline-block;
    min-width: 80px;
    margin: 0 0 0 6px;
    font-size: 15px
}

.order_tbl .sale .title {
    position: absolute;
    top: -18px;
    left: 10px;
    font-size: 11px;
    white-space: nowrap
}

.order_tbl .sale .unit small {
    font-size: 11px
}

.faq>div,.order_tbl .point {
    position: relative;
    padding: 0 0 10px
}

.order_tbl .point::after {
    position: absolute;
    bottom: 0;
    right: 8px;
    content: "ポイント";
    font-size: 10px;
    line-height: 1
}

.order_tbl .btn,.search_box p {
    font-size: 14px;
    text-align: center
}

.belt_link a,.order_tbl .btn {
    display: block;
    text-decoration: none
}

.order_tbl .btn {
    position: relative;
    width: 160px;
    height: 14px;
    margin: 0 auto;
    padding: 10px 0 10px 20px;
    color: #3a3a3a;
    font-weight: 700;
    line-height: 14px;
    background: -webkit-linear-gradient(top,#fff090,#f0ca5a);
    background: -moz-linear-gradient(top,#fff090,#f0ca5a);
    background: linear-gradient(to bottom,#fff090,#f0ca5a);
    border: 1px solid #8a8a50;
    border-radius: 4px
}

.order_tbl .btn::before {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    padding: 5px;
    font-family: icomoon;
    font-style: normal;
    content: "";
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    background: #505050;
    border-radius: 3px
}

.order_list .order_pay .payment_btn li.active:hover,.order_tbl .btn:hover {
    background: -webkit-linear-gradient(top,#fae080,#eaba4a);
    background: -moz-linear-gradient(top,#fae080,#eaba4a);
    background: linear-gradient(to bottom,#fae080,#eaba4a)
}

.order_list .order_title>div p strong,.order_tbl td.ng {
    color: #e00000;
    font-size: 18px;
    font-weight: 700
}


.belt_link {
    width: 100%;
    padding: 20px 0 0
}

.belt_link a {
    width: 100%;
    height: 40px;
    color: transparent;
    background: url(/img/banner/line_1000_belt.png)repeat-x 0 0
}


.contents .img_l,section .img_l {
    float: left;
    max-width: 60%;
    max-height: 400px;
    margin: 10px
}

.contents .img_r,section .img_r {
    float: right;
    max-width: 60%;
    max-height: 400px;
    margin: 10px 0 10px 10px
}

.contents .img_c,section .img_c {
    display: block;
    max-width: 100%;
    max-height: 400px;
    margin: 10px auto
}

.contents .img_c.border,section .img_c.border {
    border: 1px solid silver
}

.contents .youtube,section .youtube {
    display: block;
    margin: 20px auto;
    border: 1px solid #b0b0b0
}

.agree h2,.faq>h2 {
    margin: 0 0 0-10px;
    border: 0
}

.agree p {
    margin: 0 0 20px
}

.faq>h2 {
    position: relative;
    margin: 20px 0 0;
    padding: 10px 10px 10px 50px;
    vertical-align: bottom;
    background: #eaeaea
}

.faq .contents_menu li a::before,.faq>div::before,.faq>h2::before {
    position: absolute;
    left: 10px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1
}

.faq .contents_menu li a::before,.faq>h2::before {
    top: calc(50% - 12px);
    content: "Ｑ";
    color: #ea0000
}

.faq>div {
    padding: 20px 0 20px 50px
}

.faq>div::before {
    top: 30px;
    content: "Ａ";
    color: #1010a0
}

.faq>div p {
    font-size: 16px;
    line-height: 26px
}

.contents_menu {
    width: 640px;
    margin: 20px auto;
    padding: 15px 20px;
    background: #fdfdfd;
    border: 2px solid #a0a0a0;
    border-radius: 4px
}

.contents_menu li {
    padding: 2px 0;
    font-size: 16px;
    line-height: 20px
}

.contents_menu li a {
    position: relative;
    text-decoration: none
}

.faq .contents_menu li a {
    padding: 0 0 0 30px;
    color: #2a2a2a
}

.faq .contents_menu li a:hover {
    color: #f00000
}

.faq .contents_menu li a::before {
    top: calc(50% - 11px);
    left: 0;
    width: 22px;
    height: 14px;
    padding: 4px 0;
    content: "Q";
    color: #fff;
    font-size: 14px;
    text-align: center;
    background: #1010a0;
    border-radius: 2px
}

.contents_menu li a:hover,.faq .contents_menu li a {
    text-decoration: underline
}

.blue_box,.normal_box,.pink_box {
    margin: 20px;
    padding: 10px 15px;
    border-radius: 4px
}

.normal_box {
    background: #fff;
    border: 2px solid #b0b0b0
}

.pink_box {
    background: #fff7fa;
    border: 2px solid #f0a0c0
}

.blue_box {
    background: #f7ffff;
    border: 2px solid #90daf0
}

.blue_box .title,.normal_box .title,.pink_box .title {
    padding: 5px 0;
    font-size: 18px;
    font-weight: 700
}

.blue_box p:not(.title),.normal_box p:not(.title),.pink_box p:not(.title) {
    padding: 5px 20px;
    font-size: 16px;
    line-height: 1.6
}

ol.blue_box,ol.normal_box,ol.pink_box,ul.blue_box,ul.normal_box,ul.pink_box {
    padding: 10px 20px 10px 35px
}

.blue_box ol,.blue_box ul,.normal_box ol,.normal_box ul,.pink_box ol,.pink_box ul {
    padding: 0 20px 0 35px
}

.blue_box ul li,.normal_box ul li,.pink_box ul li,ol.blue_box li,ol.normal_box li,ol.pink_box li,ul.blue_box li,ul.normal_box li,ul.pink_box li {
    padding: 2px 0
}

.list_disc,.page_disc {
    padding: 0 10px 30px;
    font-size: 16px;
    line-height: 24px
}

.page_disc {
    padding: 0 10px 20px;
    line-height: 26px
}




.select_category {
    margin: 0 0 20px;
    font-size: 0
}

.select_category li {
    display: inline-block;
    width: 144px;
    margin: 0 10px
}

.flow_link li a img,.select_category li a,.select_category li a img {
    display: block;
    width: 100%
}

.select_category li a {
    color: #2a2a2a;
    font-size: 14px;
    line-height: 18px;
    text-align: center;
    text-decoration: none
}

.select_category li a:hover {
    color: #f00000;
    text-decoration: underline
}

.process {
    font-weight: 700;
    margin: 0 0 20px
}

.process li {
    font-weight: 400;
    padding: 0 0 10px;
    font-size: 16px;
    line-height: 22px;
    list-style: decimal
}

.normal_tbl {
    width: 100%;
    margin: 0 0 20px
}

.normal_tbl td,.normal_tbl th {
    padding: 15px;
    vertical-align: middle
}

.normal_tbl th {
    width: 140px;
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    text-align: left;
    background: #f0f0f0;
    border: 1px solid #b0b0b0;
    border-bottom: none
}

.normal_tbl td {
    font-size: 15px;
    line-height: 1.5;
    border-top: 1px solid #b0b0b0;
    border-right: 1px solid #b0b0b0
}

.normal_tbl td p {
    font-size: 15px;
    line-height: 1.5;
    vertical-align: bottom
}

.normal_tbl td p.calc,.normal_tbl th span {
    padding: 4px 0;
    font-size: 16px;
    font-weight: 700
}

.normal_tbl td p span {
    color: #f00000;
    font-size: 18px;
    font-weight: 700
}

.normal_tbl th span {
    float: right;
    display: inline-block;
    width: 32px;
    height: 12px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    background: #f00000;
    border: 1px solid #f00000
}

.normal_tbl input[type=text] {
    padding: 6px 8px;
    line-height: 1
}

.flow_link li a,.normal_tbl input[type=text],.normal_tbl select,.normal_tbl textarea {
    width: 500px;
    font-size: 16px;
    border: 1px solid #b0b0b0;
    border-radius: 2px
}

.flow_link li a,.normal_tbl textarea {
    padding: 6px 8px;
    height: 120px;
    line-height: 22px
}

.normal_tbl.login input[type=text] {
    width: 400px
}

.normal_tbl option,.normal_tbl select {
    line-height: 22px;
    padding: 6px 8px 8px
}

.normal_tbl.tips {
    width: auto;
    margin: 10px auto
}

.normal_tbl.login {
    width: 640px;
    margin: 0 auto
}

.normal_tbl.company th,.normal_tbl.contact th,.normal_tbl.tips th {
    width: 180px
}

.normal_tbl.maker {
    width: calc(100% - 20px);
    margin: 20px 10px
}

.normal_tbl.maker th {
    width: 60px;
    font-size: 15px;
    text-align: center;
    padding: 5px 15px
}

.normal_tbl.maker td {
    padding: 5px 15px
}

.normal_tbl.tips th {
    padding: 8px 15px
}

.normal_tbl.tips td {
    padding: 8px 40px;
    font-size: 18px;
    font-weight: 700
}

.normal_tbl.tips td strong {
    font-size: 24px;
    margin: 0 4px
}

.company1 {
    height: 286px;
    background: url(/img/images/company_2.png?20211001)no-repeat 0 0
}

.company2 {
    height: 289px;
    background: url(/img/images/company_3.png?20211001)no-repeat 0 0
}

.company3 {
    height: 272px;
    background: url(/img/images/company_4.png?20211001)no-repeat 0 0
}

.company4 {
    height: 332px;
    background: url(/img/images/company_5.png?20211001)no-repeat 0 0
}

.flow_link {
    margin: 0 0 40px;
    font-size: 0;
    text-align: center
}

.flow_link li {
    display: inline-block;
    width: 148px;
    height: 148px;
    margin: 0 5px
}

.flow_link li a {
    display: block;
    position: relative;
    width: 120px;
    padding: 20px 13px 6px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    border: solid 1px #0080ff;
    border-radius: 4px
}

.flow_link li a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 0;
    height: 0;
    content: "";
    border-top: 64px solid #0080ff;
    border-right: 64px solid transparent
}

.flow_link li a .step {
    position: absolute;
    top: 17px;
    left: -3px;
    z-index: 2;
    color: #fff;
    transform: rotate(-45deg)
}

.flow_link li a .title {
    position: absolute;
    top: 18px;
    left: 60px;
    z-index: 2;
    width: 80px;
    font-size: 20px;
    text-align: center;
    color: #0080ff
}

.flow_link.tracking {
    margin: 20px 0 40px
}

.flow_link.tracking li a .step {
    top: 15px;
    left: 7px
}

.flow_link.tracking li a .title {
    position: absolute;
    top: 120px;
    left: 0;
    width: 100%;
    height: 20px;
    line-height: 1
}

.tracking li.jp a {
    border: solid 1px #ff4040
}

.tracking li.jp a::before {
    border-top: 60px solid #ff4040
}

.tracking li.jp a .title {
    color: #ff4040
}

.flow_link li a:hover {
    border: solid 1px #53c3f1
}

.flow_link li a:hover::before {
    border-top: 60px solid #53c3f1
}

.flow_link li a:hover .title {
    color: #53c3f1
}

.flow_list {
    width: 640px;
    margin: 20px auto
}

.flow_list>.box:not(:last-child) {
    position: relative;
    padding: 0 0 80px
}

.flow_list>.box:not(:last-child)::after {
    position: absolute;
    bottom: 10px;
    left: calc(50% - 30px);
    width: 60px;
    height: 60px;
    content: "";
    background: url(/img/images/flow_5.png)no-repeat 0 0
}

.flow_list>.box .title {
    padding: 12px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    background: #0080ff
}

.flow_list>.box .body {
    padding: 20px;
    border: 2px solid #0080ff;
    border-top: none
}

.flow_list>.box>.body>a {
    max-height: 240px;
    margin: 0 auto;
    overflow: hidden
}

.flow_list>.box>.body>a,.flow_list>.box>.body>a>img {
    display: block;
    width: 560px
}

.flow_list .img_list {
    width: 100%;
    margin: 0 auto;
    font-size: 0;
    text-align: center
}

.flow_list .img_list li {
    display: inline-block;
    width: 180px;
    margin: 0 5px
}

.flow_list .img_list li a,.flow_list .img_list li a img,.order_list li .item_box table .item_img a img,.track_list .track_item .track_img a img,.tracking_tbl1 td a img,.tracking_tbl1 th img {
    display: block;
    width: 100%
}

.tracking_tbl1 {
    width: 100%
}

.tracking_tbl1 th {
    width: 160px;
    padding: 10px
}

.tracking_tbl1 td {
    padding: 10px
}

.tracking_tbl1 td a {
    display: block;
    padding: 0 20px;
    max-height: 200px;
    overflow: hidden;
    border: 1px solid silver
}

.tracking_tbl1 td p {
    margin: 10px 0 0;
    color: #ea0000;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center
}

.tracking_tbl1,.tracking_tbl2 {
    margin: 20px auto
}

.tracking_tbl1 th,.tracking_tbl2 td {
    vertical-align: middle
}

.tracking_tbl2 td:nth-child(1) {
    width: 300px;
    text-align: right
}

.tracking_tbl2 td:nth-child(2) {
    width: 60px;
    padding: 0 15px;
    vertical-align: top
}

.tracking_tbl2 td:nth-child(3) {
    width: 300px;
    font-size: 24px;
    font-weight: 700
}

.tracking_tbl2 td:nth-child(1) img {
    height: 50px
}

.tracking_tbl2 td:nth-child(2) img {
    width: 60px
}

.conveni_select li,.conveni_warn {
    margin: 0 10px 20px;
    font-weight: 700;
    text-align: center
}

.conveni_warn {
    padding: 14px 0;
    color: #e00000;
    font-size: 18px;
    line-height: 1;
    background: #fff0c0;
    border: 1px solid #ffc000
}

.conveni_select {
    margin: 0 10px;
    font-size: 0
}

.conveni_select li {
    display: inline-block;
    position: relative;
    width: calc(50% - 22px);
    padding: 16px 0 0;
    color: #202020;
    font-size: 20px;
    line-height: 24px;
    vertical-align: top;
    cursor: pointer;
    border: 1px solid gray;
    border-radius: 4px
}

.conveni_select li:hover {
    color: #f06000;
    font-size: 24px;
    border-color: #f06000
}

.conveni_select li img {
    display: block;
    width: 80%;
    max-width: 400px;
    margin: 0 auto
}


.reg_tbl {
    width: 100%;
    margin: 10px 0 0
}

.reg_tbl tr {
    background: #ffeaff
}

.reg_tbl tr.ok,.reg_tbl.check tr {
    background: #fff
}

.reg_tbl td,.reg_tbl th {
    vertical-align: middle;
    border-top: 1px solid #b0b0b0;
    border-bottom: 1px solid #b0b0b0
}

.reg_tbl th {
    width: 180px;
    font-size: 14px;
    font-weight: 700;
    text-align: right;
    border: 1px solid #b0b0b0;
    border-left: 1px solid #b0b0b0
}

.reg_tbl.check th {
    width: 120px;
    padding-right: 15px
}

.reg_tbl td {
    padding: 0 0 0 15px;
    border-right: 1px solid #b0b0b0
}

.reg_tbl th span {
    display: inline-block;
    width: 30px;
    height: 12px;
    margin: 0 10px 0 15px;
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    text-align: center;
    background: #e00000
}

.reg_tbl tr.ok th span {
    background: #009a3a
}

.reg_tbl td .inner {
    position: relative;
    padding: 10px 0
}

.reg_tbl td .mailMB,.reg_tbl td .mailPC {
    position: relative
}

.reg_tbl td .errorMessage,.reg_tbl td .inputHelp {
    position: absolute;
    padding: 8px 10px;
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    cursor: pointer;
    border: 2px solid #dadada;
    -webkit-box-shadow: 3px 4px 5px #606060;
    -moz-box-shadow: 3px 4px 5px #606060;
    box-shadow: 3px 4px 5px #606060
}

.reg_tbl td .inputHelp {
    top: -36px;
    z-index: 2;
    background: #000;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px
}

.reg_tbl td .inputHelp:after,.reg_tbl td .inputHelp:before {
    display: block;
    position: absolute;
    left: 15px;
    bottom: -8px;
    content: "";
    width: 0;
    border: 8px solid transparent;
    border-top-color: #dadada;
    border-bottom-width: 0
}

.reg_tbl td .inputHelp:after {
    left: 17px;
    bottom: -6px;
    border: 6px solid transparent;
    border-top-color: #000
}

#help_family_name {
    left: -6px
}

#help_first_name {
    left: 176px
}

#help_family_name_kana {
    left: -6px
}

#help_first_name_kana {
    left: 176px
}

#help_address1,#help_post_code {
    left: -6px
}

#help_address2 {
    left: -6px;
    top: -1px!important
}

#help_address3 {
    left: 176px;
    top: 40px!important
}

#help_mail_address,#help_mail_address1,#help_passwd,#help_tel_no {
    left: -6px
}

.reg_tbl td .errorMessage {
    top: 50%;
    left: 370px;
    z-index: 1;
    width: 280px;
    white-space: nowrap;
    background: #d00000;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px
}

.reg_tbl td .errorMessage:after,.reg_tbl td .errorMessage:before {
    display: block;
    position: absolute;
    top: 8px;
    left: -8px;
    content: "";
    width: 0;
    border: 8px solid transparent;
    border-right-color: #dadada;
    border-left-width: 0
}

.reg_tbl td .errorMessage:after {
    top: 10px;
    left: -6px;
    border: 6px solid transparent;
    border-right-color: #d00000
}

#error_kana,#error_kanji,#error_sex {
    margin-top: -22px
}

#error_zip {
    margin-top: -32px
}

#error_address1 {
    margin-top: -61px
}

#error_address2 {
    margin-top: -18px
}

#error_address3 {
    margin-top: 20px
}

#error_mail1,#error_mail2 {
    margin-top: -36px
}

#error_birth,#error_password,#error_payment,#error_tel {
    margin-top: -22px
}

.reg_tbl td input[type=text],.reg_tbl td select {
    display: inline-block;
    height: 26px;
    padding: 0 8px;
    font-size: 16px;
    line-height: 26px;
    background: #f0fffa;
    border: 1px solid #00aa4a;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px
}

.reg_tbl td input[type=text].ok,.reg_tbl td select.ok {
    background: #fff;
    border: 1px solid #b0b0b0
}

.reg_tbl td input[type=text].ng,.reg_tbl td select.ng {
    background: #ffdaea;
    border: 1px solid #e04040
}

.reg_tbl td input[type=text].no {
    background: #eaeaea;
    border: 1px solid #b0b0b0
}

.reg_tbl td select {
    padding: 0 6px
}

.reg_tbl td label {
    line-height: 30px
}

.reg_tbl td .notice {
    color: #f00000;
    font-size: 13px;
    font-weight: 700;
    line-height: 17px
}

.reg_tbl td .addressList li {
    display: table;
    width: 100%;
    border-top: 1px solid #b0b0b0
}

.reg_tbl td .addressList li:first-child {
    border-top: none
}

.reg_tbl td .addressList li .td1 {
    display: table-cell;
    width: 40px;
    text-align: center;
    vertical-align: middle;
    border-right: 1px solid #b0b0b0
}

.reg_tbl td .addressList li .td1 label {
    position: relative;
    display: block;
    padding: 10px 0
}

.reg_tbl td .addressList li .td1 label.selected span {
    width: 36px;
    position: absolute;
    top: 50%;
    left: 2px;
    margin-top: 8px;
    color: red;
    font-size: 10px;
    font-weight: 700;
    line-height: 12px
}

.reg_tbl td .addressList li .td2,.reg_tbl td .addressList li .td3 {
    display: table-cell;
    padding: 18px 8px;
    vertical-align: middle
}

.reg_tbl td .addressList li .td2 p {
    font-size: 15px;
    line-height: 23px
}

.reg_tbl td .addressList li .td3 {
    width: 36px;
    padding: 5px 0;
    text-align: center
}

.reg_tbl #addAddress,.reg_tbl td .addressList li .td3 a,.reg_tbl td .addressList li .td3 p {
    color: #1010ca;
    font-size: 12px;
    line-height: 30px;
    text-decoration: underline;
    cursor: pointer
}

.reg_tbl #addAddress {
    display: inline
}

.reg_tbl.check td .addressList li {
    display: block;
    padding: 10px 15px
}

.reg_tbl.check td .addressList li p {
    font-size: 15px;
    line-height: 23px
}

#inputConfirm,.gobackBtn .red_btn {
    width: 240px;
    margin: 30px auto;
    padding: 14px 0;
    font-size: 20px
}

.reg_tbl td .w36 {
    width: 36px
}

.reg_tbl td .w48 {
    width: 48px
}

.reg_tbl td .w64 {
    width: 64px
}

.reg_tbl td .w80 {
    width: 80px
}

.reg_tbl td .w96 {
    width: 96px
}

.reg_tbl td .w120 {
    width: 120px
}

.reg_tbl td .w150 {
    width: 150px
}

.reg_tbl td .w180 {
    width: 180px
}

.reg_tbl td .w310 {
    width: 310px
}

.gobackBtn {
    position: relative;
    height: 52px;
    margin: 30px 0
}

.gobackBtn .red_btn {
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0;
    padding: 15px 0
}

.gobackBtn .gray_btn {
    position: absolute;
    top: 7px;
    right: calc(50% + 50px);
    width: 140px;
    margin: 0;
    padding: 10px 0;
    color: #000;
    font-size: 16px
}

.line_flow h2 {
    margin: 40px 0 30px;
    padding: 14px 0;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    background: #00b000
}

.step_flow {
    position: relative;
    margin-top: 20px;
    padding: 10px 0;
    font-size: 0;
    text-align: center
}

.step_flow li {
    display: inline-block;
    position: relative;
    width: 154px
}

.step_flow li:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: -17px;
    width: 0;
    height: 0;
    margin-top: -15px;
    content: "";
    border-color: transparent transparent transparent #b0b0b0;
    border-style: solid;
    border-width: 15px 10px
}

.step_flow li a {
    display: block;
    position: relative;
    width: 120px;
    margin: 0 15px;
    padding: 4px 0 0;
    color: #000;
    font-size: 20px;
    line-height: 32px;
    text-align: center;
    text-decoration: none;
    border: 2px solid #a0a0a0;
    border-radius: 2px
}

.tel_flow .step_flow li a:hover {
    background: #ffeaaa;
    border-color: #f06000
}

.line_flow .step_flow li a:hover {
    background: #eaffea;
    border-color: #01b302
}

.step_flow li a span {
    display: block;
    padding-bottom: 4px;
    font-size: 16px;
    line-height: 20px;
    text-align: center
}

.step_box {
    position: relative;
    margin: 30px 0 50px
}

.box_title,.step_box .mark {
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-align: center
}

.step_box .mark {
    position: absolute;
    top: -27px;
    left: 30px;
    width: 84px;
    height: 56px;
    padding: 14px 0;
    font-size: 32px;
    border: 4px solid #fff;
    border-radius: 100%
}

.tel_flow .box_title,.tel_flow .step_box .mark {
    background: #f06000
}

.line_flow .box_title,.line_flow .step_box .mark {
    background: #01b302
}

.line_title .mark span,.step_box .mark span {
    display: block;
    height: 16px;
    padding-bottom: 8px;
    font-size: 16px;
    line-height: 1
}


.index_btn {
	width: 80%;
	margin: 0 auto 15px;
	font-size: 0;
}
.index_btn li {
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.index_btn.btn_1 li {
	width: 100%;
}
.index_btn li p {
	-webkit-appearance: none;
	display: block;
	position: relative;
	margin: 0 2px;
	padding: 20px 10px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background: #53c3f1;
	border: 1px solid #53c3f1;
	border-radius: 3px;
	-webkit-box-shadow: 2px 2px 2px -2px #bababa;
	-moz-box-shadow: 2px 2px 2px -2px #bababa;
	box-shadow: 2px 2px 2px -2px #bababa;
}
.index_btn li.active p {
	background: #504a4a;
	color: #fff;
	border: 1px solid #504a4a;
}

.search_box p {
	padding: 10px 20px;
	font-size: 14px;
	line-height: 24px;
	text-align: center;
	vertical-align: bottom;
	font-weight: bold;
}
.search_box_text {
	padding: 10px 20px 0px !important;
	font-size: 22px !important;
}
.search_box_notice {
	color: #f00;
}

.box_title {
    height: 18px;
    padding: 10px 0;
    font-size: 18px;
    border-radius: 4px 4px 0 0
}

.box_body {
    padding: 30px 20px;
    color: #000;
    font-size: 16px;
    line-height: 1.6;
    border-top: none;
    border-radius: 0 0 4px 4px
}

.tel_flow .box_body {
    border: 2px solid #f06000
}

.line_flow .box_body {
    border: 2px solid #01b302
}

.box_inner {
    display: table;
    width: 100%;
    margin: 10px 0
}

.box_img,.box_txt {
    display: table-cell;
    vertical-align: top
}

.box_txt {
    padding: 0 20px 0 0
}

.box_img {
    width: 300px
}

.box_img img {
    display: block;
    width: 288px;
    padding: 5px;
    background: #fafafa;
    border: 1px solid silver
}

.box_body p {
    padding-bottom: 10px
}

.border .box_img,.border .box_txt {
    padding-top: 10px;
    padding-bottom: 20px;
    border-bottom: 1px dotted #01b302
}

.line_box {
    position: relative;
    margin: 30px 0 50px
}

.line_inner {
    display: table;
    width: 100%
}

.line_left,.line_right {
    display: table-cell;
    padding: 0 20px 60px 0;
    vertical-align: top;
    font-size: 16px;
    line-height: 1.6
}

.line_right {
    width: 380px;
    padding: 20px 0;
    vertical-align: middle;
    background: #d8dce4;
    border-left: 1px solid #464e66;
    border-right: 1px solid #464e66
}

#step_line_1 .line_right {
    padding: 0
}

#step_line_4 .line_right {
    border-bottom: 1px solid #464e66
}

.line_right img {
    display: block;
    width: 380px
}

.line_title {
    height: 84px;
    margin: 0 0 20px
}

.line_title .mark,.line_title .text {
    display: inline-block;
    font-weight: 700;
    line-height: 1
}

.line_title .mark {
    width: 84px;
    height: 56px;
    padding: 14px 0;
    color: #fff;
    font-size: 32px;
    text-align: center;
    background: #01b302;
    border: 4px solid #fff;
    border-radius: 100%
}

.line_title .text {
    height: 24px;
    padding: 50px 0 10px 5px;
    color: #000;
    font-size: 24px
}

.scroll_lock,.scroll_lock2,.scroll_lock3,.scroll_lock4 {
    overflow: hidden
}

.scroll_wrap {
    z-index: 201;
    height: 100%;
    overflow: auto
}


.right_box2 {
    margin: 0 0 30px;
    padding: 15px 10px;
    background: #fff;
    border-radius: 2px
}

.right_box2 .sns_btn,.topics_table td img {
    width: 100%
}

.right_box2 .title {
    margin: 0 0 20px;
    font-size: 14px;
    text-align: center
}

.right_box2 p {
    font-size: 12px;
    line-height: 18px
}

.movie-wrap {
    text-align: center
}

.movie-wrap iframe {
    top: 0;
    left: 0;
    width: 560px;
    height: 315px;
    border: 1px solid #b0b0b0
}

.shipping_notice {
    padding: .5em 1em;
    margin: 1em 0;
    background: #ffebe9;
    border-top: solid 10px #ff7d6e
}

.shipping_notice p {
    margin: 0;
    padding: 0;
    color: #ff7d6e!important;
    font-size: 13px!important;
    line-height: 1.2
}

.acroll_tbl_row3 td.border,.acroll_tbl_row3 th.border {
    border-left-width: 4px;
    border-right-width: 4px
}

.acroll_tbl_row3 td.border-f,.acroll_tbl_row3 th.border-f {
    border-top-width: 4px;
    border-left-width: 4px;
    border-right-width: 4px
}

.acroll_tbl_row3 td.border-l,.acroll_tbl_row3 th.border-l {
    border-bottom-width: 4px;
    border-left-width: 4px;
    border-right-width: 4px
}

.acroll_tbl_row3 td .bf-tag,.acroll_tbl_row3 th .bf-tag {
    display: block;
    position: relative;
    min-width: 70%;
    max-width: 90%;
    background: #ff8000;
    color: #fff;
    text-align: center;
    font-size: 13px;
    padding: 2px 5px;
    top: -33px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 10px;
    z-index: 1
}

.acroll_tbl_row3 td .bf-tag::before,.acroll_tbl_row3 th .bf-tag::before {
    content: "";
    font-family: icomoon;
    padding-right: 5px;
    font-size: 20px
}

.cp_box *,.cp_box :after,.cp_box :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.cp_box {
    width: auto;
    margin: 2em auto
}

.cp_box label {
    font-weight: 700;
    position: relative;
    display: block;
    width: 80%;
    margin: auto;
    padding: .3em 1em;
    cursor: pointer;
    transition: all .3s;
    text-align: center;
    color: #da3c41;
    border: 2px solid #da3c41;
    border-radius: 3px
}

.cp_box label:hover {
    transition: all .3s;
    color: #fff;
    background: #da3c41
}

.cp_box label::after {
    font-family: "icomoon";
    content: " ";
    color: #da3c41
}

.cp_box label:hover::after {
    color: #fff
}

.cp_box input:checked~label::after {
    font-family: "icomoon";
    content: " ";
    color: #da3c41
}

.cp_box input:checked~label:hover::after {
    color: #fff
}

.cp_box .cp_container {
    position: relative;
    z-index: 10;
    overflow: hidden;
    height: 0;
    margin-top: -1px;
    transition: height .3s ease-in-out,box-shadow .6s linear;
    background: rgba(255,255,255,.5)
}

.cp_box input:checked~div {
    transition: height .5s ease-in-out,box-shadow .1s linear
}

.cp_box input:checked~div.cp_container {
    height: 300px
}

.banner_topics {
    text-align: center
}

ul.beginning_list {
    margin: 1.5em 2em;
    border: 2px solid #f89174;
    background: #fffbf4;
    padding: 1em 2.5em;
    border-radius: 5px;
    width: 90%;
    box-sizing: border-box
}

ul.beginning_list li {
    list-style: disc;
    line-height: 2
}

.btn_topics a,.link_topics a {
    text-decoration: none;
    transition: .5s
}

.btn_topics a {
    background: #53c3f1;
    color: #fff;
    width: 320px;
    display: block;
    text-align: center;
    line-height: 50px;
    margin: 1em auto 2em;
    border-radius: 10px;
    font-weight: 600;
    border-bottom: 3px solid #1789b7;
    max-width: 90%
}

.btn_topics a.line2 {
    line-height: 30px;
    padding: 10px 0
}

.btn_topics a:hover {
    opacity: .6
}

.btn_topics a:after {
    font-family: icomoon;
    content: "";
    margin-left: 5px;
    font-weight: 400;
    font-size: .8em
}

.link_topics {
    text-align: right;
    margin: 1em 0 3em
}

.link_topics a {
    border-bottom: 1px solid #1010ca
}

.link_topics a:hover {
    border-bottom: 1px solid #f00000
}

.link_topics a:before {
    content: ">>";
    margin-right: 5px
}

.topics_table {
    margin: 2em 0 3em;
    table-layout: fixed
}

.topics_table th {
    width: 20%;
    background: #53c3f1;
    color: #fff;
    vertical-align: middle;
    border-bottom: 1px solid #fff;
    padding: 15px
}

.topics_table td {
    padding: 15px;
    width: 40%;
    box-sizing: border-box;
    font-size: 14px
}

.topics_table td ul {
    padding: 0 1em 0 1.8em;
    position: relative;
    font-size: 14px
}

.topics_table td ul li {
    font-size: 14px;
    padding: .5em 0
}

.box_report .box_report_img a::before,.topics_table td ul li:before {
    font-family: icomoon;
    content: "";
    font-weight: 400;
    position: absolute;
    left: .3em;
    color: #53c3f1
}

.topics_table td ol {
    counter-reset: number;
    list-style-type: none!important
}

.topics_table td ol li {
    position: relative;
    padding: .5em .5em .5em 30px;
    line-height: 1.5em;
    font-size: 14px
}

.topics_table td ol li:before {
    position: absolute;
    counter-increment: number;
    content: counter(number);
    display: inline-block;
    background: #53c3f1;
    color: #fff;
    font-family: "Avenir","Arial Black","Arial",sans-serif;
    font-weight: 700;
    border-radius: 50%;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

a.topics_table_button {
    background: #fd9535;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 40px;
    border-radius: 10px;
    text-decoration: none;
    border-bottom: 3px solid #ce690b;
    transform: .5s
}

a.topics_table_button:hover {
    opacity: .6
}

.guide_mokuji {
    margin: 10px auto;
    text-align: center
}

.guide_mokuji li {
    width: calc(16% - 4px);
    display: inline-block;
    vertical-align: top;
    margin: 2px
}

.column_box .column_list .column_img a,.guide_mokuji li a {
    display: block
}

.column_box .column_list .column_img a img,.guide_mokuji li a img {
    width: 100%;
    height: auto
}

.hikaku-tbl {
    margin: 20px
}

.hikaku-tbl td,.hikaku-tbl th {
    padding: 13px;
    border: 1px solid #dacba2
}

.hikaku-tbl img,.hikaku-tbl.col5 img {
    max-width: 45%!important;
    height: auto;
    margin: 0 auto
}

.hikaku-tbl.col5 img {
    max-width: 80%!important
}

.l-card {
    background: #fafafa;
    margin: 30px 10px;
    max-width: 700px;
    box-shadow: 0 0 5px #ccc
}

.l-card a,.mokuji_mailcase ul li a {
    display: block;
    padding: 15px;
    text-decoration: none
}

.l-card a:hover,.mokuji_mailcase ul li a:hover {
    opacity: .5
}

.l-c_img,.l-c_txt {
    display: inline-block;
    vertical-align: top
}

.l-c_img {
    width: 200px
}

.l-c_img img {
    width: 100%;
    max-width: 200px!important;
    object-fit: contain;
    height: auto
}

.l-c_txt {
    padding: 25px;
    width: calc(100% - 260px)
}

.l-c_txt .l-c_name {
    font-size: 20px;
    font-weight: 700;
    text-decoration: underline;
    color: #1010ca;
    display: block
}

.l-c_txt .l-c_price {
    font-weight: 700;
    color: #888;
    font-size: 13px;
    display: block;
    margin: 10px 0
}

.l-c_txt .l-c_price price {
    color: #d90303;
    font-size: 20px
}

.l-c_txt .l-c_desc {
    font-size: 13px;
    line-height: 22px
}


.box_report {
    margin: 0 auto
}

.box_report .box_report_img {
    display: inline-block;
    vertical-align: top;
    width: 120px;
    margin-right: 10px;
    position: relative;
    z-index: 1
}

.box_report .box_report_img a {
    display: block;
    position: relative;
    border: 1px solid #a8a8a8
}

.box_report .box_report_img a::before {
    content: "";
    top: -1px;
    left: -1px;
    z-index: 2;
    color: #fff;
    background: #555;
    font-size: 22px;
    line-height: 1;
    padding: 5px
}

.box_report .box_report_img a:hover::before {
    opacity: .75
}

.box_report .box_report_img a img {
    width: 120px;
    height: 150px;
    object-fit: contain;
    border: 0!important
}

/* recommend */
.ppz_detail .ppz_title,.ppz_title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1
}

.ppz_item ul li.ppz_prd a {
    display: block;
    text-decoration: none
}

.ppz_item ul li.ppz_prd a .image {
    border: 1px solid silver;
    display: block;
    min-height: 100px
}

.ppz_item ul li.ppz_prd a .image img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    display: block
}

.ppz_item ul li.ppz_prd a .name {
    padding: 5px;
    text-decoration: underline;
    font-size: 14px;
    line-height: 18px;
    max-height: 65px;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}

.ppz_item ul li.ppz_prd a .price {
    display: block;
    text-align: center;
    color: red;
    padding: 7px;
    font-size: 14px;
    line-height: 18px
}

/* 再注文ボタン */
.reorder_btn{
    width: 600px;
    margin: auto;
    padding: 20px;
    text-align: center;
}
.reorder_btn span,
.reorder_btn a{
    display: block;
    text-decoration: none;
    background: #53c3f1;
    padding: 25px;
    border-radius: 50px;
    color: #3a3a3a;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    position: relative;
    background: -webkit-linear-gradient(top, #fff090, #f0ca5a);
    background: -moz-linear-gradient(top, #fff090, #f0ca5a);
    background: linear-gradient(to bottom, #fff090, #f0ca5a);
    border: 2px solid #fad359;
    box-shadow: 0px 0px 2px #daa910 inset;
}
.reorder_btn span::before,
.reorder_btn a::before{
    content: "";
    line-height: 0;
    margin-right: 18px;
}
.reorder_btn span:hover,
.reorder_btn a:hover{
    opacity: .75;
    background: -webkit-linear-gradient(top, #fff090, #f0ca5a);
    background: -moz-linear-gradient(top, #fff090, #f0ca5a);
    background: linear-gradient(to bottom, #fff090, #f0ca5a);
}

/* 250227 */
/* キャンペーンボックス */
.common__camp_banabox{
    max-width: 90%;
    margin: 0 auto 40px;
}
.common__camp_banabox_mini{
    width: 100%;
    min-width: 100%;
}
.common__camp_banabox a,
.common__camp_banabox_mini a{
    display: block;
}
.common__camp_banabox img,
.common__camp_banabox_mini img{
    width: 100%;
    height: auto;
    display: block;
    margin: auto;
}

.search_desc div.line1{
    margin: 0;
}

/* header */
.new_search_body.renewal{
    margin-top: 0;
}
.new_search_body.renewal .new_search_box{
    padding: 0;
}
.new_search_body.renewal .search_body{
    vertical-align: middle !important;
}
.card_tbl .detail_card_point img{
    width: 240px;
    height: auto;
}
.card_tbl .detail_card_point .modal_open{
    cursor: pointer;
    margin-bottom: 7px;
}
.card_tbl .detail_card_point .modal_open:hover{
    opacity: .75;
}
.modal_inner .modal-content-h {
    padding: 30px 60px 20px 30px;
    font-size: 28px;
    font-weight: 700;
    line-height: 36px;
    text-align: center;
}
.modal_inner p.ml_txt {
    margin: 20px 40px 40px;
}

.new_search_box{
    padding: 20px;
}
.new_search_box .search {
    position: relative;
    width: 480px;
    height: 38px;
    margin: 0px auto;
    background: #53c3f1;
    border-radius: 3px;
}
.new_search_box .search input[type=text] {
    left: 3px;
    width: 394px;
    padding: 0 10px;
    font-size: 18px;
    border-radius: 3px 0 0 3px;
}
.new_search_box .search input[type=image] {
    right: 3px;
    width: 60px;
    color: #fff;
    font-size: 20px;
    background: #53c3f1;
    border-radius: 0 3px 3px 0;
}

.new_search_box_text{
    font-size: 19px;
    padding: 10px 20px 0px;
    text-align: center;
    font-weight: 700;
}
.reorder_btn{
    width: 450px;
    margin: auto;
    padding: 0;
    text-align: center;
}
.reorder_btn a, .reorder_btn span{
    display: block;
    text-decoration: none;
    padding: 11px 17px 11px;
    border-radius: 10px;
    color: #3a3a3a;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    position: relative;
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 35%, rgba(219,219,219,1) 100%);
    border: 2px solid #d9d9d9;
    box-shadow: 0 0 2px #e3e3e3 inset;
}
.reorder_btn a:before, .reorder_btn span:before{
    content: "";
    line-height: 0;
    margin-right: 8px;
    width: 2.25pc;
    height: 2.2pc;
    display: inline-block;
    vertical-align: middle;
    margin-top: -3px;
    background-image: url(/img/icon/icon_reorder.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.reorder_btn span:hover, .reorder_btn a:hover {
    opacity: .75;
    background: rgb(255,255,255);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 35%, rgba(219,219,219,1) 100%);
}

/* サイドバナー */
.sidebana_box > .sidebana img{
	cursor: pointer;
}	
.sidebana_box > .sidebana img:hover{
	opacity: .75;
}
.bana_modal_win_ol{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 110901;
    width: 100%;
    height: 120%;
    background-color: rgba(0, 0, 0, 0.7);
}
.bana_modal_win{
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 110903;
    width: 100%;
    max-width: 1000px;
    max-height: 595px;
    height: 85%;
    margin: auto;
    padding: 0px;
    background: #fff;
    border-radius: 10px;
    box-sizing: border-box;
	overflow: hidden;
    /*overflow-y: auto;*/
}
.bana_modal{
	overflow: hidden;
    overflow-y: auto;
    height: 100%;
}
.btn-close{
	background-color: #fff;
	padding: 20px;
	box-sizing: border-box;
}
.btn-close div{
    font-size: 16px;
    border: 1px solid #a4a4a4;
    background-color: #eee;
    color: #333;
    display: block;
    width: 70%;
    max-width: 300px;
    box-shadow: 2px 2px 0px #c4c4c4ad;
    padding: 10px;
	margin: 0 auto;
    text-align: center;
    border-radius: 5px;
	cursor: pointer;
}
.btn-close div:hover{
	background-color: #ddd;
}

/* モーダル画面 */
/* ↓ブラックフライデー 2025年用 */
.bfriday2025_modal{
	background: #fff;
}
.bfriday2025_md_label{
	font-size: 0;
	text-align: center;
}
.bfriday2025_md_label img{
	width: 100%;
    height: auto;
}
.bfriday2025_md_txt{
    margin: 0 auto;
	font-family: 'Noto Sans JP';
	background-color: #fcdd21;
}
.bfriday2025_md_txt p{
	font-size: 20px;
    line-height: 1.5;
}
.bfriday2025_md_coupon{
	padding: 20px;
    margin: 20px 0;
    box-sizing: border-box;
    background: #000;
}
.bfriday2025_md_coupon img{
	max-width: 100%;
    width: 30%;
    height: auto;
    margin: 3px;
}