@charset "utf-8";

@import url("bootstrap.custom.min.css"); /* only Grid system CSS */


/* --------------------------------
	Common style
-------------------------------- */


html {
    font-size: 62.5%; /* 62.5%を指定すると「1.0 rem = 10px」 */
}

body {
    font-size: 16px;
    font-size: 1.6rem;
}
a { color: #0092C4;
    text-decoration: none;
    cursor: pointer;
}
a:hover,
a:focus,
a:active { color: #33A8D0;text-decoration: none; outline: none;}


textarea { /* for chrome fontsize bug */
    font-family: sans-serif;
}

ul, ol {
    list-style: none;
    margin: 0; padding: 0;
}
dl, dt, dd, li{
    margin: 0; padding: 0;
}
img {
    max-width: 100%;
}

/* svg icon */
#svgicon {
    display: block;
    width: 0; height: 0; overflow: hidden;
}
.cb {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    fill: currentColor;
}
.cb-images {
    width: 1.125em;
}
.icon-bg {
    fill: #d4d4d5;
}
.icon-with-bg {
    fill: #fff;
}

.container-fluid {
    margin-left: auto;
    margin-right: auto;
    padding-left: 8px;
    padding-right: 8px;
}
.row {
    margin-left: -8px;
    margin-right: -8px;
    padding-bottom: 16px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
    padding-left: 8px;
    padding-right: 8px;
}


/*  table
============================ */

.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
    padding:8px;
    line-height:1.42857143;
    vertical-align:top;
    border-top:1px solid #ddd
}
.table-bordered {
    border:1px solid #ddd
}
.table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered>thead>tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td {
    border:1px solid #ddd
}
.table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
    border-bottom-width:2px
}



/*	form
============================ */

label {
    font-weight: normal;
}
input:focus,
select:focus {
    outline: none;
}
input[type="number"] {
    text-align: right;
}
.form-group .errormsg {
    margin-top: 3px;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
}
dd.form-group .errormsg {
    margin-bottom: 0;
}

.form-control {
    border: 1px solid #C4CCCE;
    border-radius:3px !important;
    box-shadow:none;
    font-size: 16px;
    font-size: 1.6rem;
    height: 40px;
    padding: 6px 12px;
    width: auto;
    line-height: 1.5
}
.form-control:focus {
    border-color:#3c8dbc !important;
    box-shadow:none
}
.has-success .form-control:focus,
.has-warning .form-control:focus,
.has-error .form-control:focus {
    box-shadow:none;
    background: none;
}
.has-success .form-control { border-color: #0D8969; background: #e7f6f3; }
.has-warning .form-control { border-color: #E99133; background: #fdf7ed; }
.has-error .form-control { border-color: #CF3F34; background: #FDF1F0; }

.has-error .help-block, .has-error .control-label, .has-error .radio, .has-error .checkbox, .has-error .radio-inline, .has-error .checkbox-inline {
    color: inherit;  background: #FDF1F0;
}

.form-control::-moz-placeholder {
    color:#bbb;
    opacity:1
}
.form-control:-ms-input-placeholder {
    color:#bbb
}
.form-control::-webkit-input-placeholder {
    color:#bbb
}
.form-control:not(select) {
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none
}

.form-group .form-control {
    width: 100%;
}
.form-inline .form-control {
    width: auto;
}

.form-group.lange input[type="text"], .form-group.lange label {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 1%;
    margin-right: 1%;
    vertical-align: middle;
}
.form-group.lange input[type="text"] {
    width: 28%;
}
.input_tel input {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 1px;
    margin-right: 1px;
    max-width: 5em;
    vertical-align: middle;
    width: 30%;
}
.form-group.input_tel input:first-child {
    margin-left: 0;
}
.form-group.input_name input {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 2%;
    vertical-align: middle;
    width: 48%;
}
.form-group.input_name input:first-child {
    margin-left: 0;
}
.form-group.input_zip input {
    display: inline-block;
    margin-left: 1%;
    margin-right: 1%;
    max-width: 5em;
    vertical-align: middle;
    width: 30%;
}
.form-group.input_zip .question-circle {
    font-size: 11px;
    display: inline-block;
    width: 15px; height: 15px;
    line-height: 15px;
    text-align: center;
    vertical-align: middle;
    background: #525263;
    border-radius: 50%;
}
.form-group.input_zip .question-circle .cb-question {
    fill: #fff;
}


.form-group .item_price input, .form-group .item_quantity input {
    margin: 0 1%;
    text-align: right;
    width: 50%;
}

.form-inline label {
    margin: 0 10px 0 0;
}
.form-inline label:first-child + select,
.form-inline label:first-child + input {
    margin-right: 10px;
}

.form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: top;
}
.checkbox-inline, .radio-inline {
    cursor: pointer;
    margin-left: 20px;
}
.checkbox-inline:first-child, .radio-inline:first-child {
    margin-left: 0;
}

span.required {
    color: #DE5D50;
    font-weight: normal !important;
    margin-left: 1em;
    font-size: 12px;
    font-size: 1.2rem;
}

/* --------------------------------
	Parts
-------------------------------- */

/* heading */

h2 {
    font-size: 16px;
    font-size: 1.6rem;
}
.page-heading {
    margin: 0 0 8px;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px dotted #ccc;
    border-top: 1px solid #ccc;
    padding: 8px;
}

.heading01 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}
.heading02,
.heading03 {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
}
.heading04 {
    clear: both;
    margin-bottom: 5px;
}
.heading05 {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}


/*************
よくある質問
*************/

.faq{
  background: #faeabf;
  padding: 2em;
  border-radius: 1em;
  margin: 0px 0px 10px 0px;
}
.faq dt{
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px dotted;
  font-weight: bold;
  font-size: 25px;
  
}
.faq dt:before{
  content: "Q";
  font-weight: normal;
  background: #cc0000;
  color: #fff;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.6;
  text-align: center;
  display: inline-block;
  border-radius: 1em;
  margin-right: .5em;
}
.faq dd{
  margin-bottom: 2em;
  font-size: 21px;
}
.faq dd:last-child{
  margin-bottom: 0;
}


.responsive {
width: 100%;
aspect-ratio: 35/15;
}



/* btn */

.btn {
    font-size: 16px;
    font-size: 1.6rem;
    padding:10px 16px;
    font-weight: bold;
}

.btn-lg{padding:10px 16px;font-size:16px;line-height:1.3333333}
.btn-sm{padding:8px 10px;font-size:12px;line-height:1.5;font-weight: normal;}
.btn-xs{padding:5px 8px;font-size:10px;line-height:1.5;font-weight: normal;}

.btn .cb {
    margin: 0 5px;
}

/* btn_circle */

.btn_circle {
    border: 0 none;
    padding: 0; margin: 0;
    text-shadow: none;
    box-shadow: none;
    border-radius: 50%;
    color: #fff;
    background: #B8BEC4;
    cursor: pointer;
    width: 40px; height: 40px;
    line-height: 40px;
    vertical-align: middle;
}
.btn_circle .cb {
    font-size: 24px;
    font-size: 2.4rem;
    position: relative;
    top: -1px;
}
.btn_circle:hover {
    opacity: 0.8;
}

/* icon_close */

.icon_close {
    /* container for the X icon */
    position: absolute;
    height: 100%;
    width: 50px;
    top: 0;
    left: 0;
}
.icon_close::before, .icon_close::after {
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;

    /* close icon */
    content: '';
    position: absolute;
    display: inline-block;
    height: 3px;
    width: 22px;
    top: 50%;
    margin-top: -2px;
    left: 50%;
    margin-left: -11px;
    background: #525263;
}
.icon_close::before {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.icon_close::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}


/* badge */

.badge {
    display:inline-block;
    min-width:10px;
    padding:3px 7px;
    font-size:10px;
    font-size:1rem;
    font-weight:700;
    line-height:1;
    color:#fff;
    text-align:center;
    white-space:nowrap;
    vertical-align:baseline;
    background-color:#DE5D50;
    border-radius:10px
}
.btn .badge {
    position:relative;
    top:-1px
}

/* tableStyle */

div.table {
    width: 100%;
    display: table;
}
div.table .thead {
    display: none;
}
div.table .tbody {
    display: table-row-group;
}
div.table .tbody .tr {
    display: table-row;
    margin: 0;
}
div.table .tbody .tr > .td {
    display: table-cell;
    padding: 10px 8px;
    text-align: center;
    overflow-x:hidden;
}
.table .tbody .tr > .price {
    text-align: right;
}

/* dl_table */

.dl_table {
    border-top: 1px dotted #ccc;
}
.dl_table dl {
    padding: 8px 0;
    border-bottom: 1px dotted #ccc;
}
.dl_table dd .form-group {
    padding-top: 8px;
}
.dl_table dd > .form-group:first-child {
    padding-top: 0;
}
.dl_table .zip-search {
    margin-top: 8px;
}

/* pagination */

.pagination {
    width: 95%;
    margin: 16px auto;
    position: relative;
    clear: both;
}
.pagination ul {
    list-style-type: none;
    margin: 0 auto;
    padding: 1em 0;
    text-align: center;
}
.pagination ul li {
    display: inline-block;
    min-width: 29px;
    padding: 0 3px 0 2px;
    text-align: center;
    position: relative;
}

.pagination ul li a {
    color: #525263;
    display: block;
    line-height: 1.8;
    padding: 5px 1em;
    text-decoration: none;
}
.pagination ul li a:hover, .pagination ul li a:focus {
    background: #f1f1f1;
}
.pagination ul li.active a {
    background: #F3F3F3;
    text-decoration: none;
}
.pagination ul li.active a:hover, .pagination ul li.active a:focus {
    background: #F3F3F3;
}
.pagination ul li.disabled a {
    color: #9797A0;
    text-decoration: none;
}
.pagination ul li.disabled a:hover, .pagination ul li.disabled a:focus {
    color: #9797A0;
}

/* topicpath */

#topicpath {
    border-top: 1px solid #ccc;
    border-bottom: 1px dotted #ccc;
    padding: 0 8px;
}
#topicpath ol {
    padding-top: 1em;
    padding-bottom: 1em;
    list-style: none;
    overflow: hidden;
}
#topicpath li {
    float: left;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
}
#topicpath li a {
    float: left;
    display: inline-block;
}

#topicpath li:after {
    content:"｜";
}
#topicpath li:last-child {
    font-weight: bold;
}
#topicpath li:last-child:after {
    content:"";
}

/* message */
.message {
    text-align: center;
    padding: 16px 0;
    margin: 0;
}
p.message {
    padding: 0 0 16px;
}
.heading04 + .message {
    padding-top: 0;
    text-align: left;
}
.message .errormsg {
    padding: 8px;
    font-weight: bold;
}
.message .errormsg:first-child {
    margin-top: 0;
}
.message .errormsg:last-child {
    margin-bottom: 0;
}
.message .errormsg .cb {
    margin-right: 5px;
    font-size: 130%;
    position: relative;
    top: -1px;
}

/* pagenumberarea */

.pagenumberarea {
    text-align: right;
    margin: 0;
    padding-right: 16px;
    padding-bottom: 20px;
}
.pagenumberarea > li {
    float: none;
    display: inline-block;
    margin-left: 3px;
    width: auto;
}
.dropdown.open > a {
    background: #ededed;
}

/* flowline */

.flowline {
    position: relative;
    margin: 0;
    padding: 8px 0 16px;
    border-bottom: 1px dotted #ccc;
}
.flowline ul {
    position: relative;
    margin: 0 auto;
}
.flowline ul::before {
    content: "";
    height: 4px;
    background: #525263;
    position: absolute;
    top: 13px;
    margin: 0;
    border-radius: 2px;
    z-index:0;
}
.flowline.step3 ul::before {
    width: 66.66666666%;
    left: 16.6666666%;
}
.flowline.step4 ul::before {
    width: 75%;
    left: 12.5%;
}
.flowline ul li {
    float: left;
    position: relative;
    text-align: center;
    white-space: nowrap;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    z-index:1;
}
.flowline.step3 ul li {
    width: 33.33333333333333%;
}
.flowline.step4 ul li {
    width: 25%;
}
.flowline li .flow_number {
    line-height: 30px;
    width: 30px; height: 30px;
    margin-bottom: 5px;
    font-size: 12px;
    font-size: 1.2rem;
    background: #525263;
    color: #fff;
    top: 0; left: 18px;
    display: inline-block;
    margin-bottom: 5px;
    text-align: center;
    vertical-align: middle;
    border-radius: 50%;
}
.flowline li.active {
    color: #5CB1B1;
}
.flowline li.active .flow_number {
    background: #5CB1B1;
}


/* item_box */

.item_box > div {
    padding: 8px;
}
.item_box .item_photo {
    max-width: 100px;
}
.item_box .icon_edit {
    position: absolute;
    top: 16px; right: 16px;
    text-align: right;
    padding: 0;
}

/* .cart .item_box */

#cart .inner {
    padding: 0 8px;
}
.cart .item_box {
    border-bottom: 1px solid #E8E8E8;
    position: relative;
}
.cart .item_box:last-child {
    border: 0 none;
}
.cart .item_box > div,
.cart .item_box > dl {
    padding: 8px 0;
}
.cart .item_box .item_photo {
    padding: 8px 8px 8px 0;
    float: left;
}
.cart .item_box .item_detail {
    padding-left: 108px;
}
.cart .item_box .icon_edit {
    height: 30px; width: 30px;
    right: 0; top: 10px;
    text-align: center;
    vertical-align: middle;
}
.cart .item_box .icon_edit button {
    display: inline-block;
    vertical-align: middle;
}
.cart .item_box .icon_close {
    width: 30px;
}
.cart .item_box .cb {
    font-size: 20px;
    font-size: 2rem;
}
.cart .item_box .item_name {
    margin-right: 35px;
    font-size: 16px;
    font-size: 1.6rem;
}
.cart .item_box .item_pattern {
    font-size: 14px;
    font-size: 1.4rem;
}
.cart .item_box .item_price {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}
.cart .item_box .item_price .small {
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: normal;
    margin-left: 10px;
}
.cart .item_box .item_quantity {
    vertical-align: middle;
    font-size: 14px;
    font-size: 1.4rem;
}
.cart .item_box .item_quantity input {
    font-size: 16px;
    font-size: 1.6rem;
    display: inline-block;
    vertical-align: middle;
    width: 100px;
    text-align :right;
}
.cart .cart_price {
    font-size: 14px;
    font-size: 1.4rem;
    padding: 8px;
    border-bottom: 1px solid #E8E8E8;
    text-align: right;
}
.cart .cart_price .price {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}
.cart .btn_area {
    padding: 8px 0 0;
}
.cart .btn_area li {
    padding-bottom: 8px;
}
.cart .btn_area .btn {
    width: 100%;
}
.cart .btn_area .btn-sm {
	height: auto;
    font-size: 14px;
    font-size: 1.4rem;
	line-height: 1.4;
    padding: 10px 8px;
}

/* form_terms_link */

.form_terms_link {
    text-align: center;
}

/* error_box */
.error_box {
    text-align: center;
    padding: 5% 0;
}
.error_box .btn_back {
    padding: 5% 0;
}
.error_box .btn_back a {
    width: 100%;
    max-width: 320px;
}


/* --------------------------------
	Common
-------------------------------- */

.inner {
    max-width: 1200px;
}

/****** Base Layout Setting ********/

#contents, #header, #footer, .pagetop {
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}

#contents, #header, #footer, .pagetop {
    position: relative;
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    transition: transform 0.3s;
}

#contents {
    min-height: 100vh;
    z-index: 2;
}
#header .container {
    position: relative;
}

/* main */
#main {

}

/* side */
.side {

}



/****** Header Setting ********/

#header {
    background: #ffffff;
    z-index: 3;
    padding-top: 8px;
    min-height: 45px;
}
#header .inner {
    position: relative;
}
#header .copy {
    font-size: 9px;
    font-size: 0.9rem;
    margin-top: 0;
    margin-bottom: 0;
}
.header_logo_area {
    position: relative;
    z-index: 10;
    min-height: 54px;
}
.header_logo_area .header_logo {
    font-size: 20px;
    font-size: 2rem;
    margin: 0;
}

/* header-buttons */

.header-buttons {
    position: absolute;
    display: inline-block;
    top: 3px;
    right: 5%;
    background: #999;
    z-index: 11;
}
.header-buttons li {
    display: inline-block;
}

.cart-trigger, .nav-trigger {
    position: relative;
    display: block;
    height: 44px;
    overflow: hidden;
    white-space: nowrap;
    z-index: 3;
    cursor: pointer;
}
.nav-trigger {
    color: transparent !important;
}

p.cart-trigger a:link,
p.cart-trigger a:visited,
p.cart-trigger a:hover,
p.cart-trigger a:active {
    text-decoration: none;
    color: #525263;
}
p.cart-trigger:hover {
    opacity: 0.8;
}
p.cart-trigger a {
    display: inline-block;
    width: 50px;
    height: 44px;
    line-height: 44px;
    vertical-align: middle;
    text-align: center;
    outline: none;
}
p.cart-trigger .cb {
    vertical-align: middle;
    font-size: 30px;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
    -moz-transition: opacity 0.3s, -moz-transform 0.3s;
    transition: opacity 0.3s, transform 0.3s;
}
p.cart-trigger .cb-close {
    opacity: 0;
    position: absolute;
    left: 13px; top: 9px;
    font-size: 24px;
}
p.cart-trigger .badge {
    position: absolute;
    right: 1px; top: 5px;

}
p.cart-trigger.cart-is-visible .cb-shopping-cart,
p.cart-trigger.cart-is-visible span.badge {
    /* hide cart icon */
    opacity: 0;
}
p.cart-trigger.cart-is-visible .cb-close {
    /* show close icon */
    opacity: 1;
}

#btn_menu {
    margin: 0;
    position: absolute;
    right: 15px; top: 0;
    z-index: 11;
}

.nav-trigger span, .nav-trigger span::before, .nav-trigger span::after {
    /* hamburger icon in CSS */
    position: absolute;
    display: inline-block;
    height: 3px;
    width: 24px;
    background: #525263;
}
.nav-trigger span {
    /* line in the center */
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -2px;
    -webkit-transition: background 0.3s 0.3s;
    -moz-transition: background 0.3s 0.3s;
    transition: background 0.3s 0.3s;
}
.nav-trigger span::before, .nav-trigger span::after {
    /* other 2 lines */
    content: '';
    right: 0;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-origin: 0% 50%;
    -moz-transform-origin: 0% 50%;
    -ms-transform-origin: 0% 50%;
    -o-transform-origin: 0% 50%;
    transform-origin: 0% 50%;
    -webkit-transition: -webkit-transform 0.3s 0.3s;
    -moz-transition: -moz-transform 0.3s 0.3s;
    transition: transform 0.3s 0.3s;
}
.nav-trigger span::before {
    /* menu icon top line */
    top: -6px;
}
.nav-trigger span::after {
    /* menu icon bottom line */
    top: 6px;
}
.drawer-open .nav-trigger span {
    /* hide line in the center */
    background: rgba(46, 50, 51, 0);
}
.drawer-open .nav-trigger span::before, .drawer-open .nav-trigger span::after {
    /* keep visible other 2 lines */
    background: #525263;
}
.drawer-open .nav-trigger span::before {
    -webkit-transform: translateX(4px) translateY(-3px) rotate(45deg);
    -moz-transform: translateX(4px) translateY(-3px) rotate(45deg);
    -ms-transform: translateX(4px) translateY(-3px) rotate(45deg);
    -o-transform: translateX(4px) translateY(-3px) rotate(45deg);
    transform: translateX(4px) translateY(-3px) rotate(45deg);
}
.drawer-open .nav-trigger span::after {
    -webkit-transform: translateX(4px) translateY(2px) rotate(-45deg);
    -moz-transform: translateX(4px) translateY(2px) rotate(-45deg);
    -ms-transform: translateX(4px) translateY(2px) rotate(-45deg);
    -o-transform: translateX(4px) translateY(2px) rotate(-45deg);
    transform: translateX(4px) translateY(2px) rotate(-45deg);
}


/****** drawer Setting ********/

.drawer {
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    width: 260px;
    background: #F6F6F6;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    transition: transform 0.3s;
}


/*	Category navigation
--------------------------- */

/* category-nav */

#drawer .category-nav {
    margin-bottom: 16px;
}
.category-nav a {
    display: block;
    height: 50px;
    line-height: 50px;
    padding: 0 10px;
    color: #525263;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
    border-bottom: 1px solid #E8E8E8;
}
.category-nav a.has-toggle {
    padding-right: 50px;
}
.category-nav a:link,
.category-nav a:visited,
.category-nav a:hover,
.category-nav a:active {
    text-decoration: none;
}
.category-nav a:hover {
    background: rgba(204, 204, 204, 0.1);
}
.category-nav a .toggle {
    display: block;
    position: absolute;
    right: 10px; top: 5px;
    width: 40px; height: 40px;
    line-height: 40px;
    text-align: center;
    vertical-align: middle;
}
.category-nav .active > .toggle .cb {
    -webkit-transform:rotate(-180deg);
    -ms-transform:rotate(-180deg);
    -o-transform:rotate(-180deg);
    transform:rotate(-180deg)
}
.category-nav li > a:hover {
    background: rgba(204, 204, 204, 0.1);
}
.category-nav li > a.active {
    background: rgba(204, 204, 204, 0.1);
}

.category-nav ul {
    /*display: none;*/
}
.category-nav ul > li > a {
    padding-left: 18px;
}
.category-nav ul > li > ul > li > a {
    padding-left: 26px;
}
.category-nav ul > li > ul > li > ul > li a {
    padding-left: 42px;
}



/****** Footer Setting ********/

#footer {
    background: #f8f8f8;
    border-top: 1px solid #e8e8e8;
    padding: 0;
  margin: 0;
}
#footer ul {
  /*  text-align: center;*/
}
#footer ul li {
      /*  display: inline-block;*/
    margin: 0 0px 0px;
}

.footer-brand {
  color: #fff;
}


#footer a {
    color: #ccc;
}
#footer a:hover {
    color: #686868;
}


.footer {
  background: #333;  /* または任意のダーク色 */
  color: #fff;
}
.footer_logo_area {
    text-align: center;
    color: #000;
}
.footer_logo_area .logo {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 0;
}
.footer_logo_area .copyright {
    font-size: 10px;
    font-size: 1rem;
    margin-top: 0;
}
.footer-desc {
  color: #ccc;
}

.footer-bottom {
  color: #aaa;
  border-top: 1px solid #555;
  text-align: center;
  padding-top: 16px;
  margin-top: 24px;
}
.pagetop {
    display: none;
    text-align: right;
    position: fixed;
    bottom: 10px; right: 10px;
    z-index: 2;
}
.pagetop a {
    display: inline-block;
    position: relative;
    width: 30px; height: 30px;
    background-color: #B8BEC4;
    border-radius: 50%;
}
.pagetop a:hover {
    opacity: 0.8;
}
.pagetop a .cb-angle-down {
    fill: #fff;
    font-size: 25px;
    font-size: 2.5rem;
    position: absolute;
    top: 50%; left: 50%;
    margin-left: -0.5em;
    margin-top: -0.5em;
    -webkit-transform:rotate(-180deg);
    -ms-transform:rotate(-180deg);
    -o-transform:rotate(-180deg);
    transform:rotate(-180deg);
}

/****** Each BlockParts Setting ********/

/* Cart */

.cart {
    position: absolute;
    height: 50px;
    width: 100%;
    top: 50px;
    left: 0;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .3s 0s, visibility 0s .3s;
    -moz-transition: opacity .3s 0s, visibility 0s .3s;
    transition: opacity .3s 0s, visibility 0s .3s;
}

.cart.is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s;
}


/* Search */

.bt_search {
    border: 0;
    background: none;
    position: absolute;
    right: 0; top: 0;
    display: block;
    width: 44px;
    height: 44px;
    overflow: hidden;
    white-space: nowrap;
    z-index: 1;
}
.bt_search .cb-search {
    fill: #636378;
    font-size: 25px;
    font-size: 2.5rem;
}

#searchform {
    position: relative;
}

.search select {
    height: 50px;
    border: 1px solid #ccc;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 0.5em 1em;
    border-radius: 0;
    box-shadow: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.search select option {
    max-width: 190px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.search .input_search {
    height: 50px;
    padding: 0 50px 0 1em;
    border-bottom: 1px solid #ccc;
    position: relative;
    margin-left: 1%;
}

.search input[type="search"] {
    height: 50px;
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    border: 0 none;
    padding: 0.5em 0;
    box-shadow: none;
    background: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.search .bt_search {
    margin-top: 3px;
}


/* Member area */

.member_link {
    margin-bottom: 16px;
}
.member_link a {
    border-bottom: 1px solid #e8e8e8;
    color: #525263;
    display: block;
    font-size: 14px;
    font-size: 1.4rem;
    height: 50px;
    line-height: 50px;
    overflow: hidden;
    padding: 0 10px;
    text-overflow: ellipsis;
    transform: translateZ(0px);
    transition: transform 0.3s ease 0s, opacity 0.3s ease 0s;
    white-space: nowrap;
}
.member_link a:hover {
    color: #9797a1;
}
.member_link a .cb {
    font-size: 30px;
    font-size: 3rem;
    fill: #B8BEC4;
    margin-right: 5px;
    position: relative;
    top: -1px;
}
.member_link a:hover .cb {
    fill: #c6cbd0;
}

/* News List */

.newslist {
    border-bottom: 1px solid #f8f8f8;
}
.newslist dl {
    border-top: 1px dotted #ccc;
}
.newslist dt {
    cursor: pointer;
    padding: 8px;
    position: relative;
}
.newslist dt span {
    display: block;
}
.newslist dt .angle-circle {
    position: absolute;
    right: 16px;top: 17px;
    display: inline-block;
    width: 21px; height: 21px;
    border-radius: 50%;
    background: #B8BEC4;
}
.newslist dt .cb {
    position: relative;
    top: -1px; left: 5px;
    fill: #fff;
    font-size: 11px;
    font-weight: normal;
}
.newslist dt:hover .news_title {
    text-decoration: underline;
}
.newslist dt.active .cb {
    position: relative;
    top: -2px;
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}
.newslist dt:hover .cb {
    opacity: 0.8;
}
.newslist dd {
    display: none;
    margin: 0 8px 8px;
}


/* Item List Page
------------------------------------------- */

.product_item {
    position: relative;
}
.product_item a {
    display: block;
}
.product_page .product_item a {
    padding-bottom: 16px;
}
.product_item a:hover {
    background: rgba(255,255,255,0.3);
    text-decoration: none;
}
.product_item a:hover img {
    opacity: 0.8;
}
.item_photo {
    display: block;
    margin: 0 0 8px;
    text-align: center;
}
.item_photo img {
    width: 100%;
}
.product_item .btn_circle {
    position: absolute;
    right: 8px; top: 8px;
}
.item_comment {
    margin: 0 0 8px;
}
.item_name {
    color: #525263;
    margin: 0 0 8px;
}
.item_price {
    color: #525263;
    font-weight: bold;
}
.item_price .small {
    font-size: 86%;
}

.special_price {
    color: #DE5D50;
}
#item_list .item_comment {
  margin: 4px 0 6px !important;
  font-size: 13px;
  color: var(--text-light);
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (min-width: 768px) {
  #item_list .item_comment {
    font-size: 14px;
  }
}
/* Item Detail Page
------------------------------------------- */


dl.quantity dt {
    float: left;
    min-height: 40px;
    line-height: 40px;
    vertical-align: middle;
}
dl.quantity dd {
    padding-left: 3em;
}

.classcategory_list li {
    margin-top: 8px;
}
.classcategory_list li:first-child {
    margin-top: 0;
}
.btn_area .btn {
    height: 56px;
    line-height: 56px;
    vertical-align: middle;
    padding-top: 0;
    padding-bottom: 0;
}
.btn_area .btn_icon .cb {
    display: inline-block;
    font-size: 30px;
    font-size: 3.0rem;
    height: 54px;
    line-height: 54px;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

#item_photo_area {
    padding-top: 8px;
    padding-bottom: 8px;
}
#item_photo_area img {
    text-align: center;
}
#item_detail_area .small {
    font-size: 10px;
    font-size: 1rem;
    font-weight: normal !important;
}
#item_detail_area .item_name {
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;
    margin-bottom: 5px;
}
#item_detail_area .item_detail p {
    margin: 0;
}
#item_detail_area .item_detail .sale_price {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
}
#item_detail_area .item_detail .announce {
    padding: 8px 0;
    font-weight: bold;
}
#item_detail_area .item_detail .point {
    padding: 8px 0;
}
#item_detail_area .item_detail .item_code {
    padding: 8px 0;
}
#item_detail_area .item_detail .relative_cat {
    padding: 8px 0;
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
}
#item_detail_area .item_detail .item_comment {
    margin-bottom: 8px;
}
.cart_area {
    padding-top: 8px;
}
.cart_area .classcategory_list li select {
    width: 100%;
}
.cart_area .quantity {
    margin: 8px 0;
}
.cart_area .quantity dd input {
    max-width: 100px;
}
#item_detail .snsbtn_area {
    padding: 8px 0;
}

/* freearea */

#item_detail .freearea p {
    margin-top: 0;
}
#item_detail .freearea .heading01 {
    margin-bottom: 8px;
}

/* relative_cat */

.relative_cat > p {
    margin: 0;
}
.relative_cat ol {
    list-style: none;
}
.relative_cat li {
    display: inline-block;
    color: #333;
}
.relative_cat li a {
    padding: 0 0.5em;
    display: inline-block;
}
.relative_cat li:first-child a {
    padding-left: 0;
}

.relative_cat li:after {
    content:" > ";
}
.relative_cat li:last-child:after {
    content:"";
}

/* review_area */

#review_area {
    border-top: 1px solid #E8E8E8;
    padding-bottom: 0;
}
#review_area dl dt {
    padding: 16px 0;
    cursor: pointer;
}
#review_area dl dt:hover {
    color: #9797A0;
}
#review_area dl dt.active .cb {
    transform: rotate(180deg);
}
#review_area dl dt .cb {
    position: absolute;
    right: 16px;
    top: 17px;
}
#review_area dl dd {
    display: none;
    padding-bottom: 0;
}
#review_area dl dd .review_btn a {
    margin: 0 auto;
    padding: 16px;
    width: 100%;
}
#review_area .review_list {
    padding: 8px 0;
}
#review_area .review_list li {
    padding: 8px 0;
}
#review_area .review_list p {
    margin: 4px 0;
}
#review_area .review_list .review_date {
    font-weight: bold;
}
#review_area .review_list .recommend_level {
    margin-left: 16px;
}
#review_area .review_list .recommend_level span {
    color: #DE5D50;
}

/* keyword_area */

#keyword_area {
    border-top: 1px solid #E8E8E8;
}
#keyword_area .heading03 {
    padding: 8px 0 0;
}
#keyword_area ul li {
    display: inline-block;
    margin-right: 5px;
}
#keyword_area ul li a {
    display: inline-block;
    padding: 5px;
    font-size: 10px;
    background: #F5F7F8;
    border: 1px solid #D7DADD;
    color: #525263;
}
#keyword_area ul li a:hover {
    background: #EEF1F3;
}

/* recommend_area */

#recommend_area {
    border-top: 1px solid #E8E8E8;
}
#recommend_area .carousel {
    margin-left: -8px;
    margin-right: -8px;
}
#recommend_area .carousel .product_item {
    padding: 0 8px;
}
#recommend_area .carousel .product_item .btn_circle {
    right: 16px;
}
#recommend_area .slick-prev,
#recommend_area .slick-next {
    border: 0 none;
    background: 0 none;
    padding: 0; margin: 0;
    text-shadow: none;
    box-shadow: none;

    position: absolute;
    font-size: 18px;
    font-size: 1.8rem;
    width: 36px; height: 36px;
    line-height: 36px;
    vertical-align: middle;
    top: -2em;
}

#recommend_area .angle-circle {
    display: inline-block;
    background: #bfbfbf;
    border-radius: 50%;
    width: 30px; height: 30px;
    margin-top: 3px;
}
#recommend_area .slick-prev .cb,
#recommend_area .slick-next .cb {
    fill: #fff;
    position: relative;
    top: -4px; right: -2px;
    font-size: 25px;
    font-size: 2.5rem;
}
#recommend_area .slick-prev .cb {
    left: -2px;
    -webkit-transform:rotate(-180deg);
    -ms-transform:rotate(-180deg);
    -o-transform:rotate(-180deg);
    transform:rotate(-180deg)
}

#recommend_area .slick-prev:hover,
#recommend_area .slick-next:hover {
    opacity: 0.8;
}

#recommend_area .slick-disabled {
    opacity: 0.4;
    cursor: default;
}
#recommend_area .slick-disabled:hover {
    opacity: 0.4;
}

#recommend_area .slick-next {
    right: 0;
}
#recommend_area .slick-prev {
    right: 40px;
    left: auto;
}
#recommend_area .item_name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* product_tag */
.product_tag_list {
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 80%;
    color: #525263;
    border: solid 1px #D7DADD;
    border-radius: 3px;
    background-color: #F5F7F8;
}

/* Cart Page
------------------------------------------- */

#form_cart > .message:first-child {
	padding-top: 16px;
}

.total_box {
    padding: 8px 0;
}
.total_box dl {
    margin-left: 40%;
}
.total_box dl dt {
    float: left;
    width: 45%;
    white-space: nowrap;
    text-align: right;
    font-weight: bold;
}
.total_box dl dd {
    padding-left: 50%;
    text-align: right;
}
.total_box dl.total_price dd {
    font-weight: bold;
}
.total_box .btn_group {
    padding: 8px 0;
}
.total_box .btn_group p {
    margin: 8px 0;
}

.cart_item {
    border-top: 1px dotted #ccc;
}
.cart_item .item_box > .td {
    border-bottom: 1px dotted #ccc;
}
.cart_item .item_box .td {
    vertical-align: middle;
}
.cart_item .icon_edit {
    position: static;
    width: 8.3333333333%;
}
.cart_item .icon_edit a .cb {
    color: #B8BEC4;
    fill: #B8BEC4;
    font-size: 20px;
    font-size: 2rem;
}
.cart_item .icon_edit a:hover .cb {
    opacity: 0.8;
}
.cart_item .item_box a:hover img {
    opacity: 0.8;
}
.cart_item .item_box .table {
    width:58.33333333%;
}
.cart_item .item_box .table .item_photo,
.cart_item .item_box .table .item_detail {
    display: table-cell;
    vertical-align: middle;
}
.cart_item .item_box .table .item_photo {
    min-width: 80px;
    padding-right: 8px;
}
.cart_item .item_box .table .item_detail {
    text-align: left;
}
.cart_item .item_box .table .item_name a {
    font-weight: bold;
    color: #525263;
}
.cart_item .item_box .table .item_name a:hover {
    color: #9797a1;
}
.cart_item .item_detail .item_subtotal {
    display: block;
}
.cart_item.table .tbody .tr div.item_subtotal {
    display: none;
}
.cart_item .item_quantity {
    width: 16.66666667%;
}
.cart_item .item_quantity::before {
    content: "数量：";
}
.cart_item .item_quantity ul {
    text-align: center;
    white-space: nowrap;
}
.cart_item .item_quantity ul li {
    display: inline-block;
    margin: 8px 4px;
}
.cart_item .item_quantity ul li a,
.cart_item .item_quantity ul li span {
    display: inline-block;
    width: 32px; height: 32px;
    line-height: 32px;
    vertical-align: middle;
    border-radius: 50%;
}
.cart_item .item_quantity ul li a {
    border: 2px solid #c9c9c9;
}
.cart_item .item_quantity ul li span {
    border: 2px solid #e9e9e9;
}
.cart_item .item_quantity ul li a .cb {
    color: #525263;
    fill: #525263;
    margin-top: 6px;
    vertical-align: top;
}
.cart_item .item_quantity ul li span .cb {
    color: #babac1;
    fill: #babac1;
    margin-top: 6px;
    vertical-align: top;
}
.cart_item .item_quantity ul li a:hover {
    opacity: 0.8;
}
.column p {
    margin: 8px 0;
}
.column select {
    width: 100%;
}
.column textarea {
    width: 100%;
    height: 6em;
}
.column.is-edit > p {
    margin-right: 4em;
    min-height: 40px;
}
.column.is-edit .btn_edit {
    margin: 0;
    position: absolute;
    right: 0; top: 0;
}
.column .form-inline input,
.column .form-inline select {
    margin-bottom: 8px;
}

.address_table {
    border-bottom: 1px dotted #ccc;
}
.addr_box {
    position: relative;
}
.addr_box .icon_radio {
    vertical-align: middle;
    text-align: center;
    max-width: 32px;
}
div.table .tbody .addr_box .column {
    text-align: left;
}
.addr_box .column .address {
    margin: 0;
}
.addr_box .column.is-edit .address {
    margin: 0 4em 0 0;
    min-height: 40px;
}
.addr_box .column.is-edit .btn_edit {
    top: 10px;
}
.addr_box > .td {
    border-top: 1px dotted #ccc;
}

/* payment_list */

.payment_list li {
	margin-bottom: 8px;
}
.payment_list li img {
margin-top: 5px;
}
#shopping_confirm .payment_list .radio label{
	font-weight: normal;
}





/* MyPage
------------------------------------------- */

.local_nav ul {
    border-color: #D0D0D0;
    border-style: solid;
    border-width: 1px 0 0 1px;
}

.local_nav ul:before,.local_nav ul:after {content:" ";display:table}
.local_nav ul:after {clear:both}

.local_nav li {
    float: left;
    width: 50%;
    /* 項目が1行に3件の場合
    width: 33.33333333%;*/
    border-color: #D0D0D0;
    border-style: solid;
    border-width: 0 1px 1px 0;
    text-align: center;
}
.local_nav li a {
    padding: 16px;
    font-weight: bold;
    color: #525263;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.local_nav li a:hover {
    background: #f5f7f8;
}
.local_nav li.active a {
    color: #DE5D50;
}
.order_detail dt {
    float: left;
    font-weight: bold;
}
.order_detail dd {
    padding-left: 7em;
}



.historylist_column {
    border-top: 1px solid #ccc;
    margin: 0;
}
.historylist_column > div {
    padding: 0;
}
.historylist_column .order_date {
    margin: 8px 0;
}
.historylist_column .table.item_box {
    border-top: 1px dotted #ccc;
}
.historylist_column .table.item_box .td {
    vertical-align: middle;
}
.historylist_column .order_date {
    font-size: 16px;
    font-size: 1.6rem;
}
.historylist_column .table.item_box .tbody .item_detail {
    padding: 8px 0;
    text-align: left;
}
.historylist_column .item_box .item_photo {
    padding: 8px 0;
    width: 20%;
    margin-bottom: 0;
    max-width: none;
    min-width: 100px;
}
.historylist_column .item_box .item_detail .item_name {
    font-weight: bold;
}
.historylist_column .item_box .item_detail .item_price {
    font-weight: normal;
    margin: 4px 0 8px;
}
.historylist_column + .pagination {
    margin-top: 0;
    border-top: 1px solid #ccc;
}

.mail_list dl {
    margin-bottom: 8px;
    border-bottom: 1px dotted #ccc;
}
.mail_list dl dt {
    margin-bottom: 4px;
}
.mail_list dl dd {
    margin-bottom: 8px;
}

.address_table .icon_edit {
    width: 8.33333%;
    vertical-align: middle;
}
.address_table .icon_edit a .cb {
    color: #b8bec4;
    fill: #b8bec4;
    font-size: 2rem;
}

.unsubscribe_box {
    text-align: center;
}
.unsubscribe_box .icon {
    font-size: 100px;
    font-size: 10rem;
    color: #E7E7E7;
}
.unsubscribe_box h3 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 16px;
}

#entry_birth select {
	margin: 0 8px;
}
#entry_birth select:first-child {
	margin-left: 0;
}
#entry_sex .radio {
	display: inline-block;
	margin-right: 10px;
}
#entry_sex .radio input[type="radio"] {
	margin-right: 10px;
}

.mypage .dl_table dt label {
	font-weight: bold;
}

#delivery_address_list div.is-edit {
    position: relative;
}

/* Error Page */

.message_box {
	text-align: center;
	padding-bottom: 50px;
}
.message_box .icon {
	font-size: 100px;
	font-size: 10rem;
	color: #ccc;
}
.message_box h1 {
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0 0 16px;
}
.message_box .btn_group {
	margin-top: 30px;
}
.error_page #contents {
	background: inherit;

}


/****** Effect Setting ********/

/* Overlay */
.overlay {
    /* shadow layer visible when navigation is active */
    position: fixed;
    z-index: 2;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    background-color: rgba(0,0,0, 0.5);
    visibility: hidden;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s, -webkit-transform 0.3s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s, -moz-transform 0.3s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s;
}
.overlay.is-visible {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0s, -webkit-transform 0.3s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0s, -moz-transform 0.3s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0s, transform 0.3s 0s;
}

/* modal */

.modal-header .close {
    font-size: 22px;
    font-size: 2.2rem;
}
.modal-content {
    background-color: #F3F3F3;
}
.modal-body .form-control {
    width: 100%;
}
.modal-body .quantity {
    width: 50%;
    float: right;
    text-align: right;
    padding: 16px 0;
    font-size: 16px;
    font-size: 1.6rem;
}
.modal-body .quantity dd input {
    text-align: right;
}
.modal-body .classcategory_list li {
    margin-top: 16px;
}
.modal-body .classcategory_list li:first-child {
    margin-top: 0;
}
.modal-body .item_price {
    margin: 0;
    clear: both;
    text-align: right;
    font-size: 16px;
    font-size: 1.6rem;
}
.modal-body .item_price .small {
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: normal;
    margin-left: 5px;
}
.modal-footer {
    padding: 16px 0;
    margin: 0 16px;
}
.modal-footer .btn_area {
    padding-bottom: 0;
}
.modal-footer .btn_area li:last-child {
    padding-left: 0;
}
.modal-footer .btn_area button {
    font-size: 16px;
    font-size: 1.6rem;
    height: 56px;
    line-height: 56px;
    vertical-align: middle;
    padding-top: 0;
    padding-bottom: 0;
}
.modal-footer .btn_area .btn_icon .cb {
    display: inline-block;
    font-size: 30px;
    font-size: 3.0rem;
    height: 54px;
    line-height: 54px;
    vertical-align: middle;
    position: relative;
    top: -2px;
}


/****** Each Page Setting ********/

/* Item List Page
------------------------------------------- */

/* Item Detail Page
------------------------------------------- */

/* Cart Page
------------------------------------------- */

.cart_page .dl_table {
    margin: 0 0 16px;
}
.cart_page .dl_table dt {
    font-weight: bold;
    margin-bottom: 5px;
}
.cart_page .form_terms_link {
    margin-bottom: 0;
}
#shopping_confirm .cart_item.table {
	border-top: 0 none;
}
#shopping_confirm .cart_item .item_box .table {
    width:100%;
}
#shopping_confirm .total_box {
    margin-top: 16px;
    background: #F3F3F3;
    padding: 8px;
}
#shopping_confirm .total_box dl {
    margin-left: 0;
}
#shopping_confirm .total_box dl dt {
    font-weight: normal;
    text-align: left;
}
#shopping_confirm .total_box .total_amount {
    border-top: 1px dotted #ccc;
    text-align: right;
}
#shopping_confirm .total_box .total_amount {
    margin-top: 8px;
}
#shopping_confirm .total_box .total_amount p {
    margin: 8px 0 0;
}
#shopping_confirm .total_box .total_amount p.total_price {
    font-weight: bold;
}
#shopping_confirm .total_box .total_amount p.total_price strong {
    font-size: 16px;
    font-size: 1.6rem;
    margin-left: 16px;
}
#shopping_confirm .total_box .total_amount p.total_price strong .small {
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: normal;
    margin-left: 8px;
}
#shopping_confirm .total_box .total_amount p.total_point {
    margin: 4px 0 0;
}
#shopping_confirm .cart_item .item_box .table .item_name {
    margin-bottom: 0;
}
#shopping_confirm .cart_item .item_box .table .item_photo {
    max-width: 96px;
}
#shopping_confirm .cart_item .item_box .table .item_price {
    font-weight: normal;
    display: inline;
    margin-right: 16px;
}
#shopping_confirm .cart_item .item_box .table .item_subtotal {
    display: inline;
}
#shopping_confirm label {
    font-weight: bold;
}

#shopping_confirm .heading02 {
    margin-top: 24px;
	font-weight: bold;
	background: #EFEFEF;
	padding: 8px 12px;
}
#shopping_confirm .column {
    position: relative;
}
.heading02 + .column .btn_edit {
    position: absolute;
    right: 0; top: 0;
}

#deliveradd_input .dl_table {
    border-top: 0 none;
}

.shipping_multiple_table {
    background-color: #f4f4f4;
}

.shipping_multiple_table .item_box > .td {
    border-bottom: none;
}

.shipping_multiple_table .item_box .item_photo {
    max-width: 200px;
    min-width: 200px;
    padding-right: 200px;
}

.shipping_item .quantity {
    width: 100px;
}


.use_point {
    text-align: center;
    margin: 16px 0;
}
.use_point input {
    text-align: right;
    width: 10%;
    min-width: 130px;
}
.use_point .text_accent {
    margin: 0 5px;
}

.multiple_column {
    padding-bottom: 16px;
}
.multiple_column .item_box {
    background: #F3F3F3;
}
.multiple_column .table.item_box .td {
    vertical-align: middle;
}
.multiple_column .table.item_box .tbody .item_detail {
    padding: 8px 0;
    text-align: left;
}
.multiple_column .item_box .item_photo {
    padding: 8px;
    width: 22%;
    margin-bottom: 0;
    max-width: none;
    min-width: 100px;
}
.multiple_column .item_box .item_detail .item_name {
    font-weight: bold;
}
.multiple_column .item_box .item_detail .item_price {
    font-weight: normal;
    margin: 4px 0 8px;
}
.multiple_column .form-group {
    margin: 8px 10px 0 0;
}
.multiple_column .item_quantity input {
    width: 100px;
}

.complete_message {
    text-align: center;
}
.complete_message .heading01 {
    font-size: 24px;
    font-size: 2.4rem;
}



/* MyPage
------------------------------------------- */

.mypage .message {
    border-bottom: 1px dotted #ccc;
    margin-bottom: 11px;
}
.mypage #item_list .product_item {
    padding-bottom: 8px;
}
.mypage #item_list .item_name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 2px;
}
.mypage #item_list .btn_circle span {
    position: relative;
    top: 3px;
}

.mypage .not_required {
    margin-top: 40px;
}

.mypage .title_hint {
    margin: 16px 0 0;
}
.mypage .title_hint + .form-group {
    padding-top: 4px;
}


/* Registration Page
------------------------------------------- */

.registration_page .not_required {
    margin-top: 16px;
}

.registration_page .title_hint {
    margin: 16px 0 0;
}
.registration_page .title_hint + .form-group {
    padding-top: 4px;
}
.registration_page .dl_table {
    margin: 0 0 16px;
}
.registration_page .dl_table dt {
    margin-bottom: 5px;
}
.registration_page .dl_table dt label {
    font-weight: bold;
}
.registration_page .form_terms_link {
    margin-bottom: 0;
}


/* Other Page
------------------------------------------- */


/* Login Page */

#login_box {
    padding-bottom: 32px;
}
#login_box .column {
    background: #F3F4F4;
    height: 100%;
    padding: 8px 8px 32px;
    margin-bottom: 16px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#login_box .column p {
    margin-top: 0;
    margin-bottom: 0;
}
#login_box .column  .icon {
    text-align: center;
    font-size: 70px;
    color: #e7e7e7;
}
#login_box .column  .icon svg {
	vertical-align: middle;
}
#login_box .column .form-group {
    padding: 8px 0 8px 10%;
}
#login_box .column input[type="text"],
#login_box .column input[type="email"],
#login_box .column input[type="password"]{
    width: 90%;
}
#login_box .column .form-group label {
    display: inline-block;
    padding	: 5px 0;
}
#login_box .column .btn_area {
    padding: 8px 10%;
}
#login_box .column .btn_area ul {
    margin-top: 8px;
}

#login_box .column .message {
    padding: 8px 10%;
}

/* Forgot Page */

#forgot_page .column {
    background: #F3F4F4;
    padding: 16px;
    margin-bottom: 16px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#forgot_page .column .form-group {
    padding-top: 8px;
}
#forgot_page .form-group.input_name input[type="text"] {
    float: left;
    width: 49%;
}
#forgot_page .column p {
    margin: 0;
}
#forgot_page .column .btn_area {
    padding-top: 8px;
}
#forgot_page .column .btn_area p {
    margin: 0;
}
#forgot_page .column h2 {
    margin: 0 0 8px;
}

/* Contact Page */

#contact_contents {
	height: 100px;
}


/*	module
============================ */

.no-padding {
    padding: 0 !important;
}
.no-margin {
    margin: 0 !important;
}
.is-padding {
    padding-left: 16px !important;
    padding-right: 16px !important;
}
.no-border-bottom {
    border-bottom: 0 none !important;
}
button.no-style {
    border: 0 none;
    background: none;
    padding: 0; margin: 0;
    text-shadow: none;
    box-shadow: none;
}
.text_accent {
    font-weight: bold;
}

/*	color setting
============================ */

/* text */
.text-default {
    color: #525263;
}
a.text-default:hover {
    color: #9797a1;
}
.text-primary {
    color: #DE5D50;
}
a.text-primary:hover {
    color: #e57d73;
}
.text-success {
    color: #18A689;
}
a.text-success:hover {
    color: #0D8969;
}
.text-info {
    color: #31708f;
}
a.text-info:hover {
    color: #245269;
}
.text-warning {
    color: #9A947E;
}
a.text-warning:hover {
    color: #AEA998;
}
.text-danger {
    color: #DE5D50;
}
a.text-danger:hover {
    color: #CF3F34;
}

/* bg */

.bg-default {
    color: #fff;
    background-color: #525263;
}
a.bg-default:hover {
    background-color: #9797a1;
}
.bg-primary {
    color: #fff;
    background-color: #DE5D50;
}
a.bg-primary:hover {
    background-color: #e57d73;
}
.bg-primary-border {
    color: #DE5D50;
    border: 2px solid #DE5D50;
    background: #fff;
}
a.bg-primary-border:hover {
    border: 2px solid #DE5D50;
    background: #FDF6F6;
}
.bg-success {
    background-color: #dff0d8;
}
a.bg-success:hover {
    background-color: #c1e2b3;
}
.bg-success-border {
    color: #5CB1B1;
    border: 2px solid #5CB1B1;
    background: #fff;
}
a.bg-success-border:hover {
    border: 2px solid #5CB1B1;
    background: #EEF7F7;
}
.bg-info {
    background-color: #d9edf7;
}
a.bg-info:hover {
    background-color: #afd9ee;
}
.bg-warning {
    background-color: #fcf8e3;
}
a.bg-warning:hover {
    background-color: #f7ecb5;
}
.bg-danger {
    color: #fff;
    background-color: #F99;
}
a.bg-danger:hover {
    background-color: #FF8D8D;
}

/* btn */
.btn-default {
    color: #525263;
    background-color: #F5F7F8;
    border-color: #D7DADD;
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
    color: #525263;
    background-color: #EEF1F3;
    border-color: #D7DADD;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
    background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
    background-color: #F5F7F8;
    border-color: #D7DADD;
    color: #525263;
}
.btn-default .badge {
    color: #fff;
    background-color: #525263;
}
.btn-primary {
    color: #fff;
    background-color: #DE5D50;
    border-color: #DE5D50;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #D85145;
    border-color: #D85145;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
    background-color: #DE5D50;
    border-color: #DE5D50;
}
.btn-primary .badge {
    color: #fff;
    background-color: #DE5D50;
}
.btn-primary-border {
    color: #DE5D50;
    background-color: #fff;
    border-color: #DE5D50;
    border-width: 2px;
}
.btn-primary-border:hover,
.btn-primary-border:focus,
.btn-primary-border:active,
.btn-primary-border.active,
.open > .dropdown-toggle.btn-primary-border {
    color: #DE5D50;
    background-color: #FDF6F6;
    border-color: #DE5D50;
}
.btn-primary-border:active,
.btn-primary-border.active,
.open > .dropdown-toggle.btn-primary-border {
    background-image: none;
}
.btn-primary-border.disabled,
.btn-primary-border[disabled],
fieldset[disabled] .btn-primary-border,
.btn-primary-border.disabled:hover,
.btn-primary-border[disabled]:hover,
fieldset[disabled] .btn-primary-border:hover,
.btn-primary-border.disabled:focus,
.btn-primary-border[disabled]:focus,
fieldset[disabled] .btn-primary-border:focus,
.btn-primary-border.disabled:active,
.btn-primary-border[disabled]:active,
fieldset[disabled] .btn-primary-border:active,
.btn-primary-border.disabled.active,
.btn-primary-border[disabled].active,
fieldset[disabled] .btn-primary-border.active {
    background-color: #fff;
    border-color: #DE5D50;
}

.btn-success {
    color: #fff;
    background-color: #5CB1B1;
    border-color: #5CB1B1;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
    color: #fff;
    background-color: #50A6A6;
    border-color: #50A6A6;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
    background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
    background-color: #5CB1B1;
    border-color: #5CB1B1;
}
.btn-success .badge {
    color: #5CB1B1;
    background-color: #fff;
}

.btn-success-border {
    color: #5CB1B1;
    background-color: #fff;
    border-color: #5CB1B1;
}
.btn-success-border:hover,
.btn-success-border:focus,
.btn-success-border:active,
.btn-success-border.active,
.open > .dropdown-toggle.btn-primary-border {
    color: #5CB1B1;
    background-color: #EEF7F7;
    border-color: #5CB1B1;
    border-width: 2px;
}
.btn-success-border:active,
.btn-success-border.active,
.open > .dropdown-toggle.btn-success-border {
    background-image: none;
}
.btn-success-border.disabled,
.btn-success-border[disabled],
fieldset[disabled] .btn-success-border,
.btn-success-border.disabled:hover,
.btn-success-border[disabled]:hover,
fieldset[disabled] .btn-success-border:hover,
.btn-success-border.disabled:focus,
.btn-success-border[disabled]:focus,
fieldset[disabled] .btn-success-border:focus,
.btn-success-border.disabled:active,
.btn-success-border[disabled]:active,
fieldset[disabled] .btn-success-border:active,
.btn-success-border.disabled.active,
.btn-success-border[disabled].active,
fieldset[disabled] .btn-success-border.active {
    background-color: #fff;
    border-color: #5CB1B1;
}

.btn-info {
    color: #fff;
    background-color: #525263;
    border-color: #525263;
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
    color: #fff;
    background-color: #474757;
    border-color: #474757;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
    background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
    background-color: #525263;
    border-color: #525263;
}
.btn-info .badge {
    color: #525263;
    background-color: #fff;
}
.btn-warning {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #f0ad4e;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
    color: #fff;
    background-color: #E99133;
    border-color: #E99133;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
    background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
    background-color: #f0ad4e;
    border-color: #f0ad4e;
}
.btn-warning .badge {
    color: #f0ad4e;
    background-color: #fff;
}
.btn-danger {
    color: #fff;
    background-color: #d9534f;
    border-color: #d9534f;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
    color: #fff;
    background-color: #CF3F34;
    border-color: #CF3F34;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
    background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
    background-color: #d9534f;
    border-color: #d43f3a;
}
.btn-danger .badge {
    color: #d9534f;
    background-color: #fff;
}
.btn-link {
    font-weight: normal;
    color: #DE5D50;
    cursor: pointer;
    border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
    border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
    color: #2a6496;
    text-decoration: underline;
    background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
    color: #777;
    text-decoration: none;
}

/* label */
.label-default {
    background-color: #777;
}
.label-default[href]:hover,
.label-default[href]:focus {
    background-color: #5e5e5e;
}
.label-primary {
    background-color: #DE5D50;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
    background-color: #e57d73;
}
.label-success {
    background-color: #18A689;
}
.label-success[href]:hover,
.label-success[href]:focus {
    background-color: #0D8969;
}
.label-info {
    background-color: #5bc0de;
}
.label-info[href]:hover,
.label-info[href]:focus {
    background-color: #3DA8CF;
}
.label-warning {
    background-color: #f0ad4e;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
    background-color: #E99133;
}
.label-danger {
    background-color: #d9534f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
    background-color: #CF3F34;
}

/* panel */
.panel-primary {
    border-color: transparent;
}
.panel-primary > .panel-heading {
    color: #fff;
    background-color:#DE5D50;
    border-color: transparent;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: transparent;
}
.panel-primary > .panel-heading .badge {
    color: #DE5D50;
    background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: #DE5D50;
}
.panel-success {
    border-color: transparent;
}
.panel-success > .panel-heading {
    color: #18A689;
    background-color: #dff0d8;
    border-color: transparent;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: transparent;
}
.panel-success > .panel-heading .badge {
    color: #dff0d8;
    background-color: #18A689;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: transparent;
}
.panel-info {
    border-color: transparent;
}
.panel-info > .panel-heading {
    color: #fff;
    background-color: #42B3E5;
    border-color: transparent;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: transparent;
}
.panel-info > .panel-heading .badge {
    color: #fff;
    background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: transparent;
}
.panel-warning {
    border-color: transparent;
}
.panel-warning > .panel-heading {
    color: #fff;
    background-color: #fcf8e3;
    border-color: transparent;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: transparent;
}
.panel-warning > .panel-heading .badge {
    color: #fff;
    background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: transparent;
}
.panel-danger {
    border-color: #ebccd1;
}
.panel-danger > .panel-heading {
    color: #fff;
    background-color: #DE5D50;
    border-color: transparent;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
    border-top-color: transparent;
}
.panel-danger > .panel-heading .badge {
    color: #fff;
    background-color: #DE5D50;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: transparent;
}

/* alert */

.alert-success {
    color:#fff;
    background-color:#18a689;
    border-color: transparent;
}
.alert-success hr {
    border-color: transparent;
}
.alert-success .alert-link {
    color:#fff
}
.alert-info {
    color:#fff;
    background-color:#42B3E5;
    border-color: transparent;
}
.alert-info hr {
    border-top-color:#a6e1ec
}
.alert-info .alert-link {
    color:#fff
}
.alert-warning {
    color:#fff;
    background-color:#f0ad4e;
    border-color: transparent;
}
.alert-warning hr {
    border-color: transparent;
}
.alert-warning .alert-link {
    color:#fff
}
.alert-danger {
    color:#fff;
    background-color:#DE5D50;
    border-color: transparent;
}
.alert-danger hr {
    border-color: transparent;
}
.alert-danger .alert-link {
    color:#fff
}


/******************************
	Media Query
*******************************/

@media only screen and (max-width: 767px) {

    /* --------- common ---------- */

    .drawer-open #contents, .drawer-open #header, .drawer-open #footer, .drawer-open .pagetop {
        -webkit-transform: translateX(-260px);
        -moz-transform: translateX(-260px);
        -ms-transform: translateX(-260px);
        -o-transform: translateX(-260px);
        transform: translateX(-260px);
    }

    .sp{display: block !important;}
    .pc{display: none !important;}
    span.sp{display: inline !important;}

    /****** Header Setting ********/


    /****** Side Setting ********/

    .drawer {
        height: 0;
        visibility: hidden;
        -webkit-transition: visibility 0s 0.3s;
        -moz-transition: visibility 0s 0.3s;
        transition: visibility 0s 0.3s;
    }
    .drawer-open .drawer {
        height: 100%;
        visibility: visible;
        -webkit-transition: visibility 0s 0s;
        -moz-transition: visibility 0s 0s;
        transition: visibility 0s 0s;
    }
    .category-nav a {
        will-change: transform, opacity;
    }


    /****** Effect Setting ********/

    /* Overlay */
    .overlay.is-visible {
        -webkit-transform: translateX(-260px);
        -moz-transform: translateX(-260px);
        -ms-transform: translateX(-260px);
        -o-transform: translateX(-260px);
        transform: translateX(-260px);
    }
    .overlay.is-visible.cart-is-visible {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }

    /* My page address */
    #delivery_address_list div.is-edit p.btn_edit {
        top: 30%;
    }

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

    /* --------- common ---------- */

    .container-fluid {
        padding-left: 16px;
        padding-right: 16px;
    }
    .row {
        margin-left: -16px;
        margin-right: -16px;
        padding-bottom: 16px;
    }
    .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
        padding-left: 16px;
        padding-right: 16px;
    }

    .sp{display: none !important;}
    .pc{display: block !important;}
    span.pc{display: inline !important;}


    /* --------------------------------
        Parts
    -------------------------------- */

    /* heading */

    h2 {
        font-size: 24px;
        font-size: 2.4rem;
    }
    .page-heading {
        font-size: 32px;
        font-size: 3.2rem;
        border-bottom-style: solid;
        border-top: 0 none;
        padding: 16px 0 12px;
        margin: 0 16px 48px;
    }
    .heading01,
    .heading03 {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: bold;
    }
    .heading02 {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: bold;
        background: #EFEFEF;
        padding: 8px 12px;
    }
    .heading05 {
        font-size: 16px;
        font-size: 1.6rem;
    }

    /* btn */

    .btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333}
    .btn-sm{padding:8px 10px;font-size:14px;line-height:1.5}
    .btn-xs{padding:5px 8px;font-size:12px;line-height:1.5}

    /* badge */

    .badge {
        font-size:12px;
        font-size:1.2rem;
    }

    /* tableStyle */

    div.table .thead {
        display: table-header-group;
    }
    div.table ol {
        display: table-row;
        margin: 0;
    }
    div.table ol li {
        display: table-cell;
        padding: 16px;
        text-align: center;
        background: #F4F3F0;
        overflow-x:hidden;
        font-weight: bold;
    }
    div.table .tbody .tr > .td {
        padding: 16px;
    }

    /* tableish */

    .tableish {
        display: table;
        width: 100%;
    }
    .tableish .thead {
        display: table-header-group;
    }
    .tableish .tbody {
        display: table-row-group;
    }
    .tableish .tr {
        display: table-row;
    }
    .tableish .th,
    .tableish .td {
        display: table-cell;
        vertical-align: top;
    }

    /* dl-table */

    .dl_table {
        display: table;
        width: 100%;
    }
    .dl_table dl {
        display: table-row;
        border: 0 none;
    }
    .dl_table dt,
    .dl_table dd {
        display: table-cell;
        border-bottom: 1px dotted #ccc;
        padding: 16px 0;
    }
    .dl_table dt {
        width: 30%;
    }

    .dl_table dd {
        padding: 16px;
    }
    .dl_table dd .form-group {
        padding-top: 16px;
    }
    .dl_table .zip-search {
        margin-top: 16px;
    }

    /* pagination */

    .pagination {
        width: 100%;
    }


    /* topicpath */

    #topicpath {
        padding: 24px 16px;
        border: 0 none;
    }
    #topicpath ol {
        padding-top: 0.7em;
        padding-bottom: 0.7em;
        border-bottom: 1px solid #ccc;
    }
    #topicpath li {
        font-size: 16px;
        font-size: 1.6rem;
    }

    /* intro */
    .intro {
        margin: 0;
        padding-top: 0.5em;
        padding-bottom: 28px;
    }

    /* message */
    .heading04 + .message {
        padding: 0;
    }
    .message .errormsg {
        padding: 16px;
    }


    /* flowline */

    .flowline {
        margin: 0;
        border-bottom: 0 none;
    }
    .flowline ul::before {
        top: 20px;
    }
    .flowline.step3 ul {
        max-width: 450px;
    }
    .flowline.step4 ul {
        max-width: 550px;
    }
    .flowline ul li {
        font-size: 14px;
        font-size: 1.4rem;
    }
    .flowline li .flow_number {
        line-height: 42px;
        width: 42px; height: 42px;
        font-size: 20px;
        font-size: 2rem;
    }

    /* .cart .item_box */

    #cart .inner {
        padding: 0 16px;
    }
    .cart .item_box > div,
    .cart .item_box > dl {
        padding: 16px 0;
    }
    .cart .item_box .item_photo {
        padding: 16px 8px 16px 0;
    }
    .cart .item_box .icon_edit {
        right: -7px; top: 10px;
    }

    .cart .btn_area {
        padding: 16px 0 8px;
    }

    /* error_box */
    .error_box {
        margin-bottom: 48px;
    }


    /****** Layout ********/


    /* header */
    .header_logo_area {
        position: relative;
    }

    #contents {
        min-height: 100%;
        z-index: 2;
    }


    #side_left {
        float: left;
        width: 25%;
        padding-right: 16px;
    }
    #side_right {
        float: right;
        width: 25%;
        padding-left: 16px;
    }

    /* -- main_left (side_right only) -- */

    /* main */
    .theme_side_right #main {
        width: 75%;
        float: left;
    }

    /* -- main_right (side_left only) -- */

    /* main */
    .theme_side_left #main {
        width: 75%;
        float: right;
    }

    /* -- main_only -- */

    /* main */
    .theme_main_only #main {
        width: 100%;
    }


    /* -- main_left_right (side_left & side_right) -- */

    /* main */
    .theme_side_both #main {
        width: 50%;
        float: left;
    }

    /* category_nav */
    #category {
        clear: both;
    }


    /****** Header Setting ********/

    #header {
        height: auto;
        padding-top: 15px;
    }
    #header:after {
        content: "";
        display: table;
        clear: both;
    }
    #header .copy {
        font-size: 16px;
        font-size: 1.6rem;
    }
    .header_logo_area .header_logo {
        font-size: 40px;
        font-size: 4rem;
        margin: 0;
    }

    #header .header_bottom_area {
        clear: both;
        padding-top: 16px;
    }

    /* header-buttons */

    .header-buttons {
        top: 18px;
        right: 4em;
    }

    /* cart_area */

    #header #cart_area {
        width: auto;
    }
    #header #cart_area p.cart-trigger a {
        position: relative;
        float: left;
    }
    #header #cart_area p.cart-trigger .cb-shopping-cart {
        position: relative;
        left: 9px;
    }
    #header #cart_area p.cart-trigger .badge {
        position: relative;
        left: 15px; top: 0;
    }
    #header #cart_area .cart_price {
        float: right;
        height: 44px;
        line-height: 44px;
        vertical-align: middle;
        margin-right: 16px;
    }

    /* search_area */

    #header .search .input_search {
        float: left;
    }
    .search select option {
        max-width: 246px;
    }




    /****** Side Setting ********/

    #btn_menu {
        display: none;
    }
    .drawer {
        position: static;
        height: auto;
        width: auto;
        margin: 0 auto;
        overflow: visible;
        background: transparent;
        text-align: center;
    }
    .drawer:after {
        content: "";
        display: table;
        clear: both;
    }


    /*	Category navigation
    --------------------------- */

    /* category-nav */

    .category-nav > li {
        text-align: left;
        margin: 0 1em;
        position: relative;
    }
    .category-nav ul {
        position: static;
        height: auto;
        width: auto;
        overflow: visible;
        z-index: 3;
        background: #fff;
    }
    .category-nav > li > a {
        position: relative;
        display: inline-block;
        color: #2e3233;
        overflow: visible;
        -webkit-transition: color 0.3s, box-shadow 0.3s;
        -moz-transition: color 0.3s, box-shadow 0.3s;
        transition: color 0.3s, box-shadow 0.3s;
    }



    /* ----- category_nav in header ---- */

    #header #category {
       /*  padding: 20px 0 0; */
    }

    /* category-nav */

    #header .category-nav {
        /*  border-top: 1px solid #D9D9D9; */
        border-bottom: 1px solid #D9D9D9;
        /* text-align: center; */
    }

    #header .category-nav .toggle {
        display: none;
    }
    #header .category-nav > li {
        margin: 0;
    }
    #header .category-nav li ul {
        display: block;
    }

    #header .category-nav li {
        position: relative;
        display: inline-block;
    }
    #header .category-nav > li > a {
        padding: 0 1em;
        height: 55px;
        line-height: 55px;
        border-bottom: none;
    }
    #header .category-nav li a {
        display: block;
    }
    #header .category-nav li ul {
        position: absolute;
        z-index: 100;
        top: 100%;
        left: 0;
        width: 200px;
        box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    }
    #header .category-nav li ul li {
        float: left;
        overflow: hidden;
        width: 100%;
        height: 0;
        transition: .2s;
    }
    #header .category-nav li ul li a {
        text-align: left;
    }
    #header .category-nav > li:hover > a {}
    #header .category-nav > li:hover li:hover > a {  background: rgba(204, 204, 204, 0.1)}
    #header .category-nav > li:hover > ul > li {
        overflow: visible;
        height: 50px;
    }
    #header .category-nav li ul li ul {
        top: 0;
        left: 100%;
    }
    #header .category-nav li:last-child ul li ul {
        left: 100%;
        width: 100%;
    }
    #header .category-nav li ul li ul:before {
        position: absolute;
        content: ">";
        top: 13px;
        left: -15px;
        width: 0;
        height: 0;
    }
    #header .category-nav li:last-child ul li ul:before {
        position: absolute;
        content: ">";
        top: 13px;
        left: -15px;
        width: 0;
        height: 0;
        /*
        content: "<";
        top: 13px;
        left: 200%;
        margin-left: -15px;
        */
    }
    #header .category-nav li ul li:hover > ul > li {
        overflow: visible;
        height: 50px;
    }
    #header .category-nav li ul li ul li a {}
    #header .category-nav li:hover ul li ul li a:hover {  background: rgba(204, 204, 204, 0.1)}

    #header .category-nav ul > li > a,
    #header .category-nav ul > li > ul > li > a,
    #header .category-nav ul > li > ul > li > ul > li a {
        padding-left: 10px;
    }



    /* ----- category_nav in side ---- */

    /* category-nav */

    .side .category-nav > li {
        display: block;
        margin: 0;
    }
    .side .category-nav li > a {
        width: 100%;
    }

    .side .category-nav > ul ul {
        width: 100%;
    }
    .side .category-nav > ul {
        width: 100%;
    }
    .side .category-nav > ul > li {
        width: 100%;
    }
    .side .category-nav > ul > li a {
        padding-left: 10px;
    }


    /* newslist */

    .newslist .heading01 {
        padding: 16px;
        text-align: left;
    }
    .newslist dt {
        padding: 16px;
    }
    .newslist dt .angle-circle {
        top: 14px;
        width: 25px; height: 25px;
    }
    .newslist dt .cb {
        font-size: 20px;
        top: 0; left: 3px;
    }
    .newslist dt .date {
        float: left;
        width: 6em;
    }
    .newslist dt .news_title {
        padding-left: 7em;
        padding-right: 30px;
    }
    .newslist dd {
        margin: 0 16px 16px;
    }

    /* Item List Page
    ------------------------------------------- */

    .product_page .product_item {
        padding-bottom: 24px;
    }
    .item_photo {
        margin: 0 0 15px;
    }
    .item_comment {
        margin: 0 0 15px;
    }


    /* Item Detail Page
    ------------------------------------------- */

    #item_photo_area {
        padding-top: 0;
        padding-bottom: 0;
    }
    #item_detail_area .small {
        font-size: 12px;
        font-size: 1.2rem;
    }
    #item_detail_area .item_name {
        font-size: 32px;
        font-size: 3.2rem;
        margin-bottom: 10px;
    }
    #item_detail_area .item_detail .sale_price {
        font-size: 28px;
        font-size: 2.8rem;
    }
    #item_detail_area .item_detail .sale_price .small {
        font-size: 16px;
        font-size: 1.6rem;
    }
    #item_detail_area .item_detail .announce {
        padding: 14px 0;
    }
    #item_detail_area .item_detail .point {
        padding: 14px 0;
        border-top: 1px dotted #ccc;
    }
    #item_detail_area .item_detail .item_code {
        padding: 14px 0;
        border-top: 1px dotted #ccc;
    }
    #item_detail_area .item_detail .relative_cat {
        padding: 14px 0;
        border-top: 1px dotted #ccc;
        border-bottom: 1px dotted #ccc;
    }
    #item_detail_area .item_detail .item_comment {
        margin-top: 14px;
        margin-bottom: 14px;
    }
    .cart_area {
        padding-top: 14px;
    }
    .cart_area .classcategory_list li {
        margin-top: 16px;
    }
    .cart_area .classcategory_list li:first-child {
        margin-top: 8px;
    }
    .cart_area .classcategory_list li select {
        width: auto;
        width: 350px;
    }
    .cart_area .quantity {
        margin: 14px 0;
    }
    #item_detail .snsbtn_area {
        padding: 14px 0;
    }

    /* freearea */

    #item_detail .freearea p {
        margin-bottom: 40px;
    }
    #item_detail .freearea .heading01 {
        margin-bottom: 16px;
    }

    /* review_area */

    #review_area {
        border-top: none;
        padding-bottom: 16px;
    }
    #review_area dl {
        padding-bottom: 32px;
    }
    #review_area dl dt {
        padding: 16px;
    }
    #review_area dl dt .cb {
        position: absolute;
        right: 32px;
        top: 24px;
        font-size: 16px;
        font-size: 1.6rem;
    }
    #review_area dl dd {
        display: block;
        padding: 16px 0 0;
    }
    #review_area dl dd .review_btn {
        padding: 16px 0 0;
        text-align: center;
    }
    #review_area dl dd .review_btn a {
        width: auto;
        min-width: 350px;
    }
    #review_area .review_list {
        padding: 16px 0 0;
    }
    #review_area .review_list li {
        padding: 16px 0;
    }
    #review_area .review_list p {
        margin: 6px 0;
    }

    /* keyword_area */

    #keyword_area {
        border: 0 none;
    }
    #keyword_area .heading03 {
        border-top: 1px solid #E8E8E8;
        margin-top: 0;
        padding-top: 18px;
    }
    #keyword_area ul li a {
        font-size: 14px;
        font-size: 1.4rem;
    }
    #keyword_area .keyword_list {
        padding-bottom: 16px;
    }

    /* recommend_area */

    #recommend_area {
        border: 0 none;
    }
    #recommend_area .heading03 {
        border-top: 1px solid #E8E8E8;
        margin-top: 0;
        padding-top: 18px;
    }
    #recommend_area .carousel .product_item .btn_circle {
        right: 24px;
    }
    #recommend_area .carousel {
        margin-left: -16px;
        margin-right: -16px;
    }
    #recommend_area .carousel .product_item {
        padding: 0 16px;
    }
    #recommend_area .slick-next,
    #recommend_area .slick-prev {
        font-size: 37px;
        font-size: 3.7rem;
        top: -1.4em;
    }
    #recommend_area .slick-next {
        right: 14px;
    }
    #recommend_area .slick-prev {
        right: 74px;
    }

    #recommend_area .angle-circle {
        width: 35px; height: 35px;
        margin-top: 0;
    }
    #recommend_area .slick-prev .cb,
    #recommend_area .slick-next .cb {
        fill: #fff;
        position: relative;
        top: -4px; right: -2px;
        font-size: 25px;
        font-size: 2.5rem;
    }




    /* Cart Page
    ------------------------------------------- */

    .total_box {
        min-width: 256px;
        float: right;
        padding: 0;
    }
    .total_box dl {
        margin-left: 0;
    }
    .total_box .btn_group {
        padding: 16px 0;
    }
    .total_box .btn_group p {
        margin: 16px 0;
    }
    .total_box dl.total_price dt {
        padding-top: 0.3em;
    }
    .total_box dl.total_price dd {
        font-size: 24px;
        font-size: 2.4rem;
    }
    .cart_item {
        margin: 24px 0 16px;
        border-top: 0 none;
    }
    .cart_item .item_box .table {
        width:58.33333333%;
    }
    .cart_item .item_quantity::before {
        content: "";
    }
    .cart_item.table .tbody .tr > .item_quantity {
        text-align: center;
    }
    .cart_item .item_detail .item_subtotal {
        display: none;
    }
    .cart_item.table .tbody .tr div.item_subtotal {
        display: table-cell;
        text-align: right;
    }
    .cart_item .item_box .table .item_photo {
        min-width: 160px;
        padding-right: 16px;
    }
    .column p {
        margin: 16px 0;
    }
    .column .form-inline input,
    .column .form-inline select {
        margin-bottom: 16px;
    }

    div.table .tbody .addr_box .column {
        text-align: left;
        position: relative;
    }
    .addr_box .column.is-edit .btn_edit {
        top: 16px;
    }

    .multiple_column .item_box > div,
    .multiple_column .item_box > dl {
        padding: 16px 0;
        vertical-align: middle;
    }
    .multiple_column .item_box .item_photo {
        padding: 16px;
        max-width: 198px;
    }
    .multiple_column .item_box .item_detail .item_price {
        margin: 8px 0 16px;
    }
    .multiple_column .form-group {
        margin-top: 16px;
    }
    .complete_message {
        text-align: center;
    }
    .complete_message .heading01 {
        font-size: 32px;
        font-size: 3.2rem;
    }

    #confirm_side {
        top: 0;
    }

	/* payment_list */

	.payment_list .radio {
		display: inline;
		margin-right: 16px;
		vertical-align:middle;
	}
	.payment_list .radio input[type="radio"] {
		margin-right: 10px;
	}
	.payment_list li img {
		margin-top: 0;
		vertical-align:middle;
	}

    /* MyPage
    ------------------------------------------- */
    /* ナビゲーション項目が6件の場合
    .local_nav li {
        width: 16.66666667%
    }*/

    .local_nav li {
        width: 25%;
    }
   .local_nav.favorite li {
        width: 20%;
    }
    .historylist_column {
        border-top: 1px solid #ccc;
        margin: 0;
    }
    .historylist_column .order_date {
        font-size: 20px;
        font-size: 2rem;
        margin-top: 16px;
    }
    .historylist_column .table.item_box:first-child {
        border-top: 0 none;
    }
    .historylist_column .item_box .item_photo {
        min-width: 130px;
    }
    .historylist_column + .pagination {
        padding-top: 16px;
    }
    .unsubscribe_box h3 {
        font-size: 24px;
        font-size: 2.4rem;
    }
	.message_box h1 {
		font-size: 24px;
		font-size: 2.4rem;
	}

    /****** Footer Setting ********/

    #footer {
        padding-top: 32px;
        margin-top: 80px;
    }

    #footer ul li {
        display: inline-block;
        margin: 0 8px 8px;
    }
    #footer ul li:first-child {
        margin-left: 0;
    }
    .footer_logo_area {
        margin-top: 88px;
    }
    .footer_logo_area .logo {
        font-size: 30px;
        font-size: 3rem;
        margin: 0;
    }
    .footer_logo_area .copyright {
        font-size: 16px;
        font-size: 1.6rem;
    }

    /****** Effect Setting ********/

    /* Overlay */
    .overlay {
        display: none;
    }

    /****** Each BlockParts Setting ********/

    /* Cart */
    .cart {
        height: 120px;
        top: 44px;
    }

    /* Search */

    /* ----- category_nav in header  ---- */

    #header #searchform select,
    #header #searchform input {
        float: left;
    }

    /* ----- category_nav in side ---- */

    .side #searchform select,
    .side #searchform input {
        float: none;
    }

    /* Member area */

    .member_link {
        margin: 0;
    }
    .member_link a {
        border: 0 none;
    }

    /****** Each Page Setting ********/

    /* Item List Page
    ------------------------------------------- */

    /* Item Detail Page
    ------------------------------------------- */

    /* Cart Page
    ------------------------------------------- */

    .cart_page .dl_table {
        margin: 24px 0 32px;
    }
    .cart_page .dl_table dt {
        margin-bottom: 0;
    }
    #shopping_confirm .cart_item.table {
        border-top: 1px dotted #ccc;
    }
    #shopping_confirm .column .cart_item.table {
        margin-top: 0;
    }
    #shopping_confirm .total_box {
        margin-top: 24px;
        padding: 16px;
        min-width: 0;
        width: 100%;
        float: none;
    }
    #shopping_confirm .total_box dl {
		padding-top: 8px;
	}
    #shopping_confirm .total_box dl:first-child {
		padding-top: 0;
	}
    #shopping_confirm .total_box dl dt {
        font-size: 14px;
        font-size: 1.4rem;
    }
    #shopping_confirm .total_box .total_amount {
        margin-top: 16px;
    }
    #shopping_confirm .total_box .total_amount p.total_price {
        font-size: 14px;
        font-size: 1.4rem;
    }
    #shopping_confirm .total_box .total_amount p.total_price strong {
        font-size: 24px;
        font-size: 2.4rem;
    }
    #shopping_confirm .total_box .total_amount p.total_price strong .small {
        font-size: 14px;
        font-size: 1.4rem;
    }
    #shopping_confirm .heading02 {
        font-size: 20px;
        font-size: 2rem;
        margin-top: 32px;
    }
    #shopping_confirm .cart_item .item_box .table .item_photo {
        min-width: 80px;
        max-width: 96px;
    }
    #deliveradd_input .dl_table {
        border-top: 1px dotted #ccc;
    }

    /* MyPage
    ------------------------------------------- */
    .mypage .intro {
        padding-bottom: 16px;
    }
    .mypage #shopping_confirm .cart_item,
    .mypage #shopping_confirm .total_box {
        margin-top: 0;
    }
    .mypage #item_list .product_item {
        padding-bottom: 24px;
    }
    .mypage .title_hint {
        margin: 24px 0 0;
    }
    .mypage .title_hint + .form-group {
        padding-top: 8px;
    }

    /* My page address */
    #delivery_address_list div.is-edit p.btn_edit {
        top: 30%;
    }


    /* Registration Page
    ------------------------------------------- */

    .registration_page .dl_table {
        margin: 24px 0 32px;
    }


    /* Other Page
    ------------------------------------------- */


    /* Login Page */

    #login_box .column {
        padding: 16px 16px 40px;
    }
    #login_box .column p {
        margin-bottom: 8px;
    }
    #login_box .column .form-group {
        padding: 8px 0 8px 13%;
    }
    #login_box .column .btn_area p {
        float: left;
        width: 37%;
        min-width: 195px;
        margin-right: 3%;
    }
	#login_box .column .btn_area ul {
		margin-top: 0;
	}
    #login_box .column .btn_area button {
        width: 100%;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #login_box .column .btn_area ul {
        float: left;
    }
    #login_box .column .btn_area ul li {
        margin: 4px 0;
    }

    #login_box .column input[type="text"],
    #login_box .column input[type="email"],
    #login_box .column input[type="password"]{
        width: 85%;
    }
    #login_box .column .btn_area,
    #login_box .column .message {
        padding: 8px 13%;
        margin: 0;
    }

    .login_cart .column .column_inner {
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    /* Forgot Page */

    #forgot_page .column {
        padding: 32px;
        margin-bottom: 16px;
    }
    #forgot_page .column .form-group {
        padding: 8px 0 8px 11%;
        width: 89%;
    }
    #forgot_page .column .btn_area {
        padding: 20px 0 0 21%;
        width: 79%;
    }
    #forgot_page .column .message {
        margin-bottom: 16px;
    }

	/* Error Page */

	.error_page .footer_logo_area {
		margin-top: 0;

	}
}


/*メニューをページ下部に固定*/
.for-sp{
  padding-left: 0 !important ;
   position: fixed;
	width: 100%;
  height: 40px;
  bottom: 0px;
  display: flex;
  justify-content: center;
	align-items: center;
	z-index:10000

  
}

/*メニューを横並びにする*/
.for-sp ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
      
}

.for-sp li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 14px;
   border-right: 1px solid #fff;

}

/*左側メニューを緑色に*/
.for-sp li:first-child{
   background: #e53935;
}

.for-sp li:nth-child(2){
   background: #e48ca0;
}

.for-sp li:nth-child(3){
   background: #38b435;
}

/*左側メニューをオレンジ色に*/
.for-sp li:last-child{
   background: #f3a324;
}

/*ボタンを調整*/
.for-sp li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding:10px;
}

/* PCでは非表示にする */
@media(min-width: 768px) {
	.for-sp {
		display: none;
	}
}


.btn-order {
  display:block;
  width:92%;
  margin:15px auto;
  padding:18px 10px;
  text-align:center;
  font-size:18px;
  font-weight:bold;
  border-radius:30px;
  text-decoration:none;
  box-shadow:0 6px 15px rgba(0,0,0,0.15);
  transition:0.3s;
}

/* プロポーズ */
.btn-order.propose {
  background: linear-gradient(90deg,#b71c1c,#e53935);
color:#ffffff;
}

/* ウエディング */
.btn-order.wedding {
  background: linear-gradient(90deg,#f4a6b8,#e48ca0);
color:#ffffff;
}

.btn-order:hover {
  transform:translateY(-2px);
  opacity:0.95;
}


.small{
  display:block;
  font-size:13px;
  font-weight:normal;
  opacity:0.9;
}





/* 全体の並び（横並びにする） */
.shipping-free-row {
    display: flex;
    align-items: flex-start; /* 上揃え */
    gap: 12px;               /* バッジとテキストの間隔 */
    margin: 15px 0;
    line-height: 1.5;
}

/* ピンクのバッジ部分 */
.shipping-pink-badge {
    background-color: #ec7382; /* 画像に近いピンク色 */
    color: #ffffff;            /* 文字色：白 */
    padding: 9px 16px;         /* 内側の余白 */
    font-size: 1.3rem;
    border-radius: 2px;        /* わずかに角を丸く */
    white-space: nowrap;       /* 改行させない */
    display: inline-block;
}
:root {
  --pink: #c75a7e;
  --pink-light: #fde8ee;
  --pink-bg: #faf3f5;
  --cream: #fdf9f3;
  --gold: #c9a961;
  --text: #2a1f24;
  --text-light: #6e5e64;
  --line: #e8dde1;
}
/* キャンペーンバー */
.campaign-bar { background: linear-gradient(90deg, var(--pink), #d97b9a); color: #fff; text-align: center; padding: 10px 16px; font-size: 13px; letter-spacing: 0.05em; }
.campaign-bar strong { font-size: 14px; }
.campaign-bar small { opacity: 0.9; margin-left: 8px; font-size: 11px; }
@media (max-width: 767px) {
  .campaign-bar { font-size: 11px; padding: 8px; }
  .campaign-bar small { display: block; margin-left: 0; margin-top: 2px; }
}

/* ヒーローイントロ */
.hero-intro { background: linear-gradient(135deg, #fde8ee 0%, #fff4e6 100%); padding: 48px 24px; text-align: center; position: relative; }
.hero-eyebrow { font-family: "Cormorant Garamond", serif; font-size: 13px; letter-spacing: 0.3em; color: var(--pink); margin-bottom: 20px; }
.hero-eyebrow::before, .hero-eyebrow::after { content: ''; display: inline-block; width: 28px; height: 1px; background: var(--pink); vertical-align: middle; margin: 0 12px; }
.hero-title { font-size: 28px; font-weight: 500; line-height: 1.6; margin-bottom: 14px; letter-spacing: 0.05em; }
.hero-subtitle { font-size: 14px; color: var(--text-light); line-height: 2; }
.hero-stats { display: flex; justify-content: center; gap: 32px; margin-top: 36px; }
.hero-stat-num { font-family: "Cormorant Garamond", serif; font-size: 32px; color: var(--pink); font-weight: 500; line-height: 1; }
.hero-stat-num small { font-size: 13px; color: var(--text); margin-left: 2px; }
.hero-stat-label { font-size: 10px; color: var(--text-light); margin-top: 6px; letter-spacing: 0.15em; }
@media (max-width: 767px) {
  .hero-intro { padding: 32px 16px; }
  .hero-title { font-size: 20px; }
  .hero-subtitle { font-size: 12px; }
  .hero-stats { gap: 18px; margin-top: 24px; }
  .hero-stat-num { font-size: 26px; }
}




/* ------------------------------------------------------------ */


* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: "Shippori Mincho", "Noto Serif JP", "游明朝", serif; color: #2a1f24; background: #fff; line-height: 1.9; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; transition: opacity 0.3s; }
a:hover { opacity: 0.75; }
img { max-width: 100%; height: auto; display: block; }

:root {
  --pink: #c75a7e;
  --pink-light: #fde8ee;
  --pink-bg: #faf3f5;
  --cream: #fdf9f3;
  --gold: #c9a961;
  --text: #2a1f24;
  --text-light: #6e5e64;
  --line: #e8dde1;
}

/* キャンペーンバー */
.campaign-bar { background: linear-gradient(90deg, var(--pink), #d97b9a); color: #fff; text-align: center; padding: 10px 16px; font-size: 13px; letter-spacing: 0.05em; }
.campaign-bar strong { font-size: 14px; }
.campaign-bar small { opacity: 0.9; margin-left: 8px; font-size: 11px; }
@media (max-width: 767px) {
  .campaign-bar { font-size: 11px; padding: 8px; }
  .campaign-bar small { display: block; margin-left: 0; margin-top: 2px; }
}

/* ヘッダー */
.header { background: rgba(255,255,255,0.96); backdrop-filter: blur(10px); padding: 12px 24px; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 100; display: flex; justify-content: space-between; align-items: center; }
.header-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.header-logo img { height: 56px; width: auto; }
.header-right { display: flex; align-items: flex-start; gap: 20px; }
.header-cart { position: relative; display: flex; align-items: center; gap: 6px; color: var(--text); }
.header-cart-icon { font-size: 26px; line-height: 1; }
.header-cart-badge { position: absolute; top: -6px; left: 16px; background: var(--pink); color: #fff; font-size: 10px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: "Shippori Mincho", serif; }
.header-cart-total { font-size: 13px; color: var(--text-light); font-family: "Shippori Mincho", serif; }
.header-contact { text-align: right; font-size: 12px; color: var(--text-light); line-height: 1.7; }
.header-tel { font-family: 'Inter','游ゴシック体','YuGothic','游ゴシック','Meiryo','ＭＳ Ｐゴシック','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','osaka',sans-serif; font-size: 26px; color: var(--gold); font-weight: 600; display: block; letter-spacing: 0.08em; line-height: 1.2; }
.header-tel:hover { color: var(--gold); opacity: 0.75; }

.header-contact-links a { color: #06a84a; font-size: 11px; display: block; }
.header-icon-btns { display: flex; align-items: flex-end; gap: 20px; }
.header-icon-btn { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--gold); font-size: 10px; letter-spacing: 0.05em; text-decoration: none; transition: opacity 0.3s; }
.header-icon-btn:hover { color: var(--gold);opacity: 0.6; }
.header-icon-btn svg { width: 24px; height: 24px; }
.header-icon-btn-line svg { color: #06c755; }
.header-nav { display: none; }




@media (max-width: 767px) {
  .header { padding: 8px 12px; }
  .header-logo img { height: 44px; }
  .header-right { gap: 12px; align-items: center; }
  .header-cart-total { display: none; }
  .header-icon-btn span { display: none; }
  .header-icon-btn svg { width: 20px; height: 20px; }
  .header-hours { display: none; }
  .header-tel { font-size: 18px; }
  .header-icon-btns { gap: 12px; }
}


@media (min-width: 1024px) {
  .header-nav { display: flex; gap: 24px; }
  .header-nav a { font-size: 13px; color: var(--text); letter-spacing: 0.08em; }
}
@media (max-width: 900px) {
  .header-contact-detail { display: none; }
}
@media (max-width: 767px) {
  .header { padding: 8px 12px; }
  .header-logo img { height: 44px; }
  .header-right { gap: 10px; }
  .header-cart-total { display: none; }
  .header-cart-icon { font-size: 24px; }
  .header-tel { font-size: 15px; }
  .header-contact { font-size: 10px; }
  .header-contact-links a { font-size: 9px; }
}

/* ヒーロー・スライダー */
.hero-slider { position: relative; overflow: hidden; }
.hero-slider img { width: 100%; height: auto; }
.hero-slider .slick-dots { bottom: 16px; }
.hero-slider .slick-dots li button:before { font-size: 10px; color: #fff; opacity: 0.6; }
.hero-slider .slick-dots li.slick-active button:before { color: var(--pink); opacity: 1; }

/* ヒーローイントロ */
.hero-intro { background: linear-gradient(135deg, #fde8ee 0%, #fff4e6 100%); padding: 48px 24px; text-align: center; position: relative; }
.hero-eyebrow { font-family: "Cormorant Garamond", serif; font-size: 13px; letter-spacing: 0.3em; color: var(--pink); margin-bottom: 20px; }
.hero-eyebrow::before, .hero-eyebrow::after { content: ''; display: inline-block; width: 28px; height: 1px; background: var(--pink); vertical-align: middle; margin: 0 12px; }
.hero-title { font-size: 28px; font-weight: 500; line-height: 1.6; margin-bottom: 14px; letter-spacing: 0.05em; }
.hero-subtitle { font-size: 14px; color: var(--text-light); line-height: 2; }
.hero-stats { display: flex; justify-content: center; gap: 32px; margin-top: 36px; }
.hero-stat-num { font-family: "Cormorant Garamond", serif; font-size: 32px; color: var(--pink); font-weight: 500; line-height: 1; }
.hero-stat-num small { font-size: 13px; color: var(--text); margin-left: 2px; }
.hero-stat-label { font-size: 10px; color: var(--text-light); margin-top: 6px; letter-spacing: 0.15em; }
@media (max-width: 767px) {
  .hero-intro { padding: 32px 16px; }
  .hero-title { font-size: 20px; }
  .hero-subtitle { font-size: 12px; }
  .hero-stats { gap: 18px; margin-top: 24px; }
  .hero-stat-num { font-size: 26px; }
}

/* CTA */
.hero-cta { background: #fff; padding: 24px; display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.hero-cta a { flex: 1; min-width: 220px; padding: 18px 24px; font-size: 14px; font-weight: 500; text-align: center; letter-spacing: 0.08em; transition: all 0.3s; }
.cta-primary { background: var(--pink); color: #fff !important; }
.cta-secondary { background: #fff; color: var(--pink) !important; border: 1px solid var(--pink); }
@media (max-width: 767px) {
  .hero-cta { padding: 16px; gap: 8px; }
  .hero-cta a { min-width: 100%; padding: 14px; font-size: 13px; }
  
  
  .hero-cta {
    background: #fdf9f3; /* 白→クリームに変更してボタンとの差をつける */
  }
  .cta-primary {
    box-shadow: 0 4px 16px rgba(199, 90, 126, 0.45);
  }
  .cta-secondary {
    background: #fff5f8 !important;
    border: 2px solid var(--pink) !important;
    box-shadow: 0 4px 16px rgba(199, 90, 126, 0.2);
  }
  
  
  
}







/* セクション共通 */
.section { padding: 100px 24px; }
.section--cream { background: var(--cream); }
.section--pink { background: var(--pink-bg); }
.section-inner { max-width: 1100px; margin: 0 auto; }
.section-eyebrow { font-family: "Cormorant Garamond", serif; font-size: 13px; letter-spacing: 0.3em; color: var(--pink); text-align: center; margin-bottom: 14px; }
.section-title { font-size: 30px; font-weight: 500; text-align: center; margin-bottom: 14px; line-height: 1.5; letter-spacing: 0.05em; }
.section-subtitle { font-size: 14px; color: var(--text-light); text-align: center; margin-bottom: 56px; line-height: 2; }
.divider { width: 40px; height: 1px; background: var(--pink); margin: 0 auto 40px; }
@media (max-width: 767px) {
  .section { padding: 56px 16px; }
  .section-title { font-size: 22px; }
  .section-subtitle { margin-bottom: 36px; font-size: 12px; }
}

/* コンテンツSEO（テキストブロック） */
.content-text { max-width: 800px; margin: 0 auto; font-size: 15px; line-height: 2.2; color: var(--text); }
.content-text p { margin-bottom: 24px; }
.content-text h3 { font-size: 22px; font-weight: 500; color: var(--pink); margin: 40px 0 20px; padding-bottom: 12px; border-bottom: 1px solid var(--line); letter-spacing: 0.05em; }
.content-text strong { color: var(--pink); font-weight: 600; }
.content-text .highlight { background: linear-gradient(transparent 60%, #fde8ee 60%); padding: 0 4px; }
@media (max-width: 767px) {
  .content-text { font-size: 14px; }
  .content-text h3 { font-size: 18px; }
}

/* お悩み */
.concern-wrap { background: #fff; padding: 48px 32px; border: 1px solid var(--line); max-width: 720px; margin: 0 auto; position: relative; }
.concern-wrap::before, .concern-wrap::after { content: ''; position: absolute; width: 20px; height: 20px; border: 1px solid var(--pink); }
.concern-wrap::before { top: -8px; left: -8px; border-right: none; border-bottom: none; }
.concern-wrap::after { bottom: -8px; right: -8px; border-left: none; border-top: none; }
.concern-list { list-style: none; }
.concern-list li { padding: 14px 0 14px 36px; border-bottom: 1px dashed var(--line); position: relative; font-size: 16px; }
.concern-list li:last-child { border-bottom: none; }
.concern-list li::before { content: '✓'; position: absolute; left: 8px; color: var(--pink); font-weight: bold; font-size: 18px; }
@media (max-width: 767px) {
  .concern-wrap { padding: 28px 18px; }
  .concern-list li { font-size: 13px; padding-left: 32px; }
}

.preserve-images img { width: 100%; margin-bottom: 16px; }

/* 商品ラインナップ */
.feature-block { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin-bottom: 80px; }
.feature-block--reverse { direction: rtl; }
.feature-block--reverse > * { direction: ltr; }
.feature-img-wrap { position: relative; }
.feature-img-wrap img { width: 100%; border: 1px solid var(--line); }
.feature-img-num { position: absolute; top: -20px; left: -20px; background: var(--pink); color: #fff; width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: "Cormorant Garamond", serif; font-size: 18px; letter-spacing: 0.1em; z-index: 2; }
.feature-content { padding: 24px; }
.feature-eyebrow { font-family: "Cormorant Garamond", serif; font-size: 12px; letter-spacing: 0.3em; color: var(--pink); margin-bottom: 12px; }
.feature-title { font-size: 26px; font-weight: 500; margin-bottom: 16px; line-height: 1.5; }
.feature-desc { font-size: 14px; color: var(--text-light); line-height: 2; margin-bottom: 24px; }
.feature-link { display: inline-flex; align-items: center; gap: 8px; padding: 14px 32px; border: 1px solid var(--pink); color: var(--pink); font-size: 13px; letter-spacing: 0.15em; transition: all 0.3s; }
.feature-link:hover { background: var(--pink); color: #fff; opacity: 1; }
@media (max-width: 767px) {
  .feature-block { grid-template-columns: 1fr; gap: 16px; margin-bottom: 48px; }
  .feature-block--reverse { direction: ltr; }
  .feature-img-num { width: 48px; height: 48px; font-size: 14px; top: -12px; left: -8px; }
  .feature-content { padding: 8px; text-align: center; }
  .feature-title { font-size: 20px; }
}

/* 選ばれる理由 */
.reasons-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.reason-card { text-align: center; padding: 40px 24px; background: #fff; border: 1px solid var(--line); transition: all 0.3s; }
.reason-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(199,90,126,0.1); }
.reason-num { font-family: "Cormorant Garamond", serif; font-size: 13px; color: var(--gold); letter-spacing: 0.2em; margin-bottom: 18px; }
.reason-icon-circle { width: 80px; height: 80px; margin: 0 auto 20px; background: var(--pink-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 36px; }
.reason-eyebrow { font-size: 11px; color: var(--text-light); margin-bottom: 8px; letter-spacing: 0.1em; }
.reason-title { font-size: 17px; font-weight: 500; line-height: 1.5; }
.reason-desc { font-size: 12px; color: var(--text-light); line-height: 1.9; margin-top: 10px; }
.reason-link { display: inline-block; margin-top: 12px; font-size: 12px; color: var(--pink); border-bottom: 1px solid var(--pink-light); padding-bottom: 1px; letter-spacing: 0.05em; }
@media (max-width: 767px) {
  .reasons-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .reason-card { padding: 24px 12px; }
  .reason-icon-circle { width: 56px; height: 56px; font-size: 24px; margin-bottom: 12px; }
  .reason-title { font-size: 14px; }
  .reason-eyebrow { font-size: 10px; }
  .reason-desc { font-size: 11px; }
}
/* カテゴリ */
.cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cat-item { background: #fff; border: 1px solid var(--line); overflow: hidden; transition: all 0.3s; }
.cat-item:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.cat-img { width: 100%; aspect-ratio: 1.3/1; object-fit: cover; display: block; }
.cat-info { padding: 18px 12px; text-align: center; border-top: 1px solid var(--line); }
.cat-name-en { font-family: "Cormorant Garamond", serif; font-size: 11px; letter-spacing: 0.3em; color: var(--pink); margin-bottom: 6px; }
.cat-name { font-size: 15px; font-weight: 500; }
@media (max-width: 767px) {
  .cat-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .cat-info { padding: 12px 8px; }
  .cat-name { font-size: 13px; }
}

/* 価格帯 */
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.price-item { background: #fff; border: 1px solid var(--line); padding: 32px 16px; text-align: center; transition: all 0.3s; position: relative; overflow: hidden; }
.price-item:hover { border-color: var(--pink); transform: translateY(-2px); }
.price-item::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--pink); transform: scaleX(0); transition: transform 0.3s; }
.price-item:hover::before { transform: scaleX(1); }
.price-icon { font-family: "Cormorant Garamond", serif; font-size: 28px; color: var(--pink); margin-bottom: 8px; }
.price-range { font-size: 14px; font-weight: 500; }
.price-sub { font-size: 11px; color: var(--text-light); margin-top: 6px; letter-spacing: 0.15em; }
@media (max-width: 767px) {
  .price-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .price-item { padding: 20px 8px; }
  .price-range { font-size: 12px; }
}

/* ランキング */
.ranking-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.rank-card { background: #fff; border: 1px solid var(--line); overflow: hidden; transition: all 0.3s; position: relative; color: var(--text) !important; text-decoration: none !important; display: block; font-family: "Shippori Mincho", "游明朝", serif; }
.rank-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,0.08); color: var(--text) !important; text-decoration: none !important; }
.rank-badge { position: absolute; top: 12px; left: 12px; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.95); color: var(--gold); display: flex; align-items: center; justify-content: center; font-family: "Cormorant Garamond", serif; font-size: 18px; font-weight: 500; z-index: 2; border: 1px solid var(--gold); }
.rank-badge--2 { color: #888; border-color: #888; }
.rank-badge--3 { color: #cd7f32; border-color: #cd7f32; }
.rank-badge--4 { color: var(--text-light); border-color: var(--text-light); }
.rank-img { width: 100%; aspect-ratio: 2/1.8; object-fit: cover; object-position: center top; display: block; }
.rank-price { serif !important; font-size: 22px; color: var(--pink) !important; font-weight: 500; }
.rank-info { padding: 14px 16px; }
.rank-name { font-size: 13px; font-weight: 500; line-height: 1.6; margin-bottom: 4px; min-height: auto; font-family: "Shippori Mincho", "游明朝", serif; color: var(--text); }

@media (max-width: 767px) {
  .ranking-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .rank-name { font-size: 11px; }
  .rank-info { padding: 10px 10px; }
  .rank-price { font-size: 18px; }
  .rank-badge { width: 36px; height: 36px; font-size: 14px; top: 8px; left: 8px; }
}

/* シーン */
.scene-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.scene-item img { width: 100%; height: auto; display: block; border: 1px solid var(--line); transition: transform 0.3s; }
.scene-item:hover img { transform: scale(1.02); }
@media (max-width: 767px) {
  .scene-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

/* 比較表 */
.compare-wrap { background: #fff; padding: 40px 32px; border: 1px solid var(--line); overflow-x: auto; border-radius: 8px; }
.compare-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.compare-table th, .compare-table td { padding: 14px 12px; text-align: center; border-bottom: 1px solid var(--line); font-size: 13px; vertical-align: middle; }
.compare-table thead th { background: var(--pink-bg); font-weight: 500; }
.compare-table .col-fiore { background: rgba(199,90,126,0.04); border-left: 2px solid var(--pink); border-right: 2px solid var(--pink); }
.compare-table .col-fiore-title { background: var(--pink); color: #fff; border: 2px solid var(--pink); }
.compare-mark-o { color: var(--pink); font-size: 18px; font-weight: bold; }
.compare-mark-x { color: #ccc; font-size: 16px; }
.compare-product-cell {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  text-align: left;
}
.compare-product-cell:hover .compare-product-name { color: var(--pink); text-decoration: underline; }
.compare-product-img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid var(--line);
}
.compare-product-info { flex: 1; }
.compare-product-name { font-weight: 600; font-size: 13px; color: #2a1f24; line-height: 1.4; transition: color 0.2s; }
.compare-product-sub { font-size: 11px; color: #888; margin-top: 2px; }
@media (max-width: 767px) {
  .compare-wrap { padding: 0; border: none; background: transparent; }
  .compare-table { display: none; }
  .compare-cards { display: flex; flex-direction: column; gap: 14px; }
  .compare-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
  .compare-card-header { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: var(--pink-bg); border-bottom: 1px solid var(--line); }
  .compare-card-header img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); flex-shrink: 0; }
  .compare-card-name { font-weight: 700; font-size: 14px; color: #2a1f24; line-height: 1.4; }
  .compare-card-link { font-size: 11px; color: var(--pink); text-decoration: none; display: inline-block; margin-top: 3px; }
  .compare-card-row { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .compare-card-cell { padding: 12px 8px; font-size: 12px; text-align: center; border-right: 1px solid #f5f0f2; border-bottom: 1px solid #f5f0f2; }
  .compare-card-cell:last-child { border-right: none; }
  .compare-card-cell-label { font-size: 10px; color: #888; margin-bottom: 4px; }
  .compare-card-cell-value { font-weight: 600; color: #2a1f24; }
  .compare-card-cell.is-fiore { background: rgba(199,90,126,0.05); border-left: 2px solid var(--pink); }
  .compare-card-cell.is-fiore .compare-card-cell-value { color: var(--pink); font-size: 15px; }
  .compare-card-common { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
  .compare-card-common-title { padding: 10px 16px; background: #2a1f24; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: 0.05em; }
  .compare-card-common-row { display: grid; grid-template-columns: 1fr 1fr 1fr; border-bottom: 1px solid #f5f0f2; }
  .compare-card-common-row:last-child { border-bottom: none; }
  .compare-card-common-label { font-size: 11px; color: #888; font-weight: 500; padding: 8px 16px 0; }
  .compare-card-common-cell { padding: 8px 8px 12px; font-size: 12px; text-align: center; font-weight: 600; border-right: 1px solid #f5f0f2; }
  .compare-card-common-cell:last-child { border-right: none; }
  .compare-card-common-cell.is-fiore { background: rgba(199,90,126,0.05); border-left: 2px solid var(--pink); color: var(--pink); }
  .compare-note-sp { font-size: 11px; color: #999; margin-top: 10px; text-align: right; }
}
@media (min-width: 768px) {
  .compare-cards { display: none; }
  .compare-note-sp { display: none; }
}


/* お客様の声 */
.voices-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.voice-card { background: #fff; padding: 32px 24px; border: 1px solid var(--line); position: relative; }
.voice-card::before { content: '"'; position: absolute; top: 8px; left: 20px; font-family: "Cormorant Garamond", serif; font-size: 64px; color: var(--pink-light); line-height: 1; font-weight: 500; }
.voice-stars { color: var(--gold); font-size: 14px; letter-spacing: 4px; margin-bottom: 8px; position: relative; }
.voice-tag { display: inline-block; background: var(--pink-light); color: var(--pink); font-size: 11px; font-weight: 500; padding: 3px 10px; margin-bottom: 12px; letter-spacing: 0.05em; }
.voice-text { font-size: 13px; line-height: 2; margin-bottom: 16px; position: relative; }
.voice-author { font-size: 11px; color: var(--text-light); border-top: 1px solid var(--line); padding-top: 14px; letter-spacing: 0.1em; }
@media (max-width: 767px) {
  .voices-grid { grid-template-columns: 1fr; gap: 12px; }
  .voice-card { padding: 24px 18px; }
}
/* フロー */
.flow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.flow-step { text-align: center; }
.flow-num-circle { width: 64px; height: 64px; border-radius: 50%; background: #fff; border: 2px solid var(--pink); margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; font-family: "Cormorant Garamond", serif; font-size: 24px; color: var(--pink); font-weight: 500; }
.flow-img-wrap { background: #fff; padding: 16px; margin-bottom: 12px; border: 1px solid var(--line); }
.flow-img-wrap img { width: 100%; }
.flow-title { font-size: 15px; font-weight: 500; margin-bottom: 8px; }
.flow-desc { font-size: 12px; color: var(--text-light); line-height: 1.8; }
@media (max-width: 767px) {
  .flow-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .flow-num-circle { width: 48px; height: 48px; font-size: 18px; margin-bottom: 10px; }
}

/* LINE CTA */
.line-cta { background: linear-gradient(135deg, #06c755, #04a847); padding: 72px 24px; text-align: center; position: relative; overflow: hidden; }
.line-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.1), transparent 60%); }
.line-cta-eyebrow { font-family: "Cormorant Garamond", serif; color: rgba(255,255,255,0.9); font-size: 13px; letter-spacing: 0.3em; margin-bottom: 16px; position: relative; }
.line-cta-title { color: #fff; font-size: 26px; font-weight: 500; margin-bottom: 10px; line-height: 1.6; position: relative; }
.line-cta-sub { color: rgba(255,255,255,0.95); font-size: 13px; margin-bottom: 28px; position: relative; }
.line-btn { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: #06c755; padding: 16px 44px; border-radius: 100px; font-size: 15px; font-weight: 500; box-shadow: 0 8px 24px rgba(0,0,0,0.15); position: relative; }
.line-cta-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; position: relative; }
.mail-btn { display: inline-flex; align-items: center; gap: 10px; background: transparent; color: #fff; padding: 16px 44px; border-radius: 100px; font-size: 15px; font-weight: 500; border: 2px solid rgba(255,255,255,0.8); position: relative; }
@media (max-width: 767px) {
  .line-cta-btns { flex-direction: column; align-items: center; }
  .line-btn, .mail-btn { width: 100%; max-width: 320px; justify-content: center; padding: 14px 24px; }
}
@media (max-width: 767px) {
  .line-cta { padding: 48px 16px; }
  .line-cta-title { font-size: 18px; }
}

/* FAQ */
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { background: #fff; margin-bottom: 12px; border: 1px solid var(--line); }
.faq-q { padding: 18px 50px 18px 56px; font-size: 14px; font-weight: 500; cursor: pointer; position: relative; }
.faq-q::before { content: 'Q'; position: absolute; left: 20px; top: 16px; font-family: "Cormorant Garamond", serif; font-size: 22px; color: var(--pink); font-weight: 500; }
.faq-q::after { content: '+'; position: absolute; right: 24px; top: 14px; font-size: 22px; color: var(--pink); font-weight: 300; transition: transform 0.3s; }
.faq-item.open .faq-q::after { transform: rotate(45deg); }
.faq-a { padding: 0 24px 0 56px; max-height: 0; overflow: hidden; transition: all 0.3s; font-size: 13px; color: var(--text-light); line-height: 2; }
.faq-item.open .faq-a { padding-top: 0; padding-bottom: 20px; max-height: 600px; }
.faq-a a { color: var(--pink); text-decoration: underline; }

/* 動画 */
.video-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 900px; margin: 0 auto; }
.video-frame { position: relative; padding-bottom: 56.25%; height: 0; }
.video-frame iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 767px) {
  .video-wrap { grid-template-columns: 1fr; }
}

/* バナー */
.banner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1000px; margin: 0 auto; }
.banner-grid img { width: 100%; border: 1px solid var(--line); }
@media (max-width: 767px) {
  .banner-grid { grid-template-columns: 1fr; gap: 10px; }
}

/* 最終CTA */
.cta-final { padding: 100px 24px; background: linear-gradient(135deg, var(--pink-bg), var(--cream)); text-align: center; }
.cta-final-title { font-size: 28px; font-weight: 500; margin-bottom: 14px; line-height: 1.5; }
.cta-final-sub { font-size: 14px; color: var(--text-light); margin-bottom: 40px; }
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; max-width: 600px; margin: 0 auto 24px; }
.cta-btn { flex: 1; min-width: 220px; padding: 20px 32px; font-size: 15px; font-weight: 500; letter-spacing: 0.1em; transition: all 0.3s; }
.cta-btn--primary { background: var(--pink); color: #fff !important; }
.cta-btn--secondary { background: #fff; color: var(--pink) !important; border: 1px solid var(--pink); }
@media (max-width: 767px) {
  .cta-final { padding: 56px 16px; }
  .cta-final-title { font-size: 20px; }
}

/* フッター */
.footer { background: #2a1f24; color: #fff; padding: 64px 24px 32px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; max-width: 1100px; margin: 0 auto 48px; }
.footer-brand { font-family: "Cormorant Garamond", serif; font-size: 32px; margin-bottom: 16px; }
.footer-desc { font-size: 12px; opacity: 0.7; line-height: 2; }
.footer-heading { font-size: 13px; letter-spacing: 0.15em; margin-bottom: 18px; color: var(--pink); }
.footer-list { list-style: none; }
.footer-list li { margin-bottom: 10px; font-size: 12px; opacity: 0.8; }
.footer-bottom { text-align: center; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.1); font-size: 11px; opacity: 0.5; }
@media (max-width: 767px) {
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
}
/* 固定メニュー */
.fixed-menu { display: none; }
@media (max-width: 767px) {
  .fixed-menu { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; bottom: 0; left: 0; right: 0; background: #fff; box-shadow: 0 -4px 20px rgba(0,0,0,0.08); z-index: 999; }
  .fixed-menu a { padding: 10px 4px; text-align: center; border-left: 1px solid var(--line); }
  .fixed-menu a:first-child { border-left: none; }
  .fixed-menu-icon { font-size: 18px; margin-bottom: 2px; }
  .fixed-menu-label { font-size: 10px; }
  body { padding-bottom: 60px; }
}


/* フッター全体 */
.footer {
  background: #2a1a1f;
  color: #fff;
  padding: 48px 24px 0;
}

/* グリッド */
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  text-align: left; /* ← これが重要 */
}

/* リストのリセット */
.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-list li {
  padding: 4px 0;
}

.footer-list a {
  color: #ccc;
  text-decoration: none;
}

.footer-list a:hover {
  color: #fff;
}

/* 見出し */
.footer-heading {
  color: #c75a7e;
  font-size: 12px;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  font-weight: 600;
}

.footer-brand {
  font-size: 22px;
  color: #fff;
  margin-bottom: 12px;
}

.footer-desc {
  color: #aaa;
  font-size: 13px;
  line-height: 1.8;
}

/* コピーライト */
.footer-bottom {
  text-align: center;
  color: #666;
  font-size: 12px;
  padding: 24px 0;
  margin-top: 40px;
  border-top: 1px solid #3a2a2f;
}

/* スマホ */
@media (max-width: 767px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
#footer .footer-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#footer .footer-list li {
  display: block !important;
  margin: 0 !important;
  padding: 4px 0 !important;
}

#footer .footer-list li a {
  display: block !important;
}


@media (min-width: 768px) {
  #contents_top section,
  #item_list section,
  #contents_bottom section,.hero-cta {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
  }
}

/*
================================================
  Fiore Flower 商品ページ共通CSS
  ファイル名: fiore_product_common.css
  
  【使い方】
  EC-CUBE3管理画面 > デザイン管理 > CSS編集
  または style.css の末尾に追記してください。
  
  【前提】
  既存 style.css の :root CSS変数を継承します。
  --pink: #c75a7e
  --cream: #fdf9f3
  --gold: #c9a961
  --text: #2a1f24
  --text-light: #6e5e64
  --line: #e8dde1
  --pink-light: #fde8ee
  --pink-bg: #faf3f5
================================================ */

/* ---- 基本ラッパー ---- */
.fp-wrap, .fp-wrap * { box-sizing: border-box; }
.fp-wrap {
  font-family: 'Shippori Mincho','Noto Serif JP','游明朝','Yu Mincho',serif;
  color: var(--text);
  line-height: 1.9;
  font-size: 14px;
}

/* EC-CUBE3デフォルト余白リセット */
.item_comment { margin: 0 !important; }
.item_comment p { margin: 0 !important; }
.fp-wrap p { margin: 0 0 8px; }

/* ---- シーンタグ ---- */
.fp-scene-tag {
  display: inline-block;
  background: var(--pink-light);
  color: var(--pink);
  font-size: 12px;
  font-family: sans-serif;
  padding: 4px 14px;
  border-radius: 20px;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

/* ---- セクションタイトル ---- */
.fp-section-title {
  font-size: 15px;
  font-weight: bold;
  color: var(--text);
  border-bottom: 2px solid var(--pink);
  padding-bottom: 6px;
  margin: 24px 0 14px;
  font-family: sans-serif;
  display: block;
}

/* ---- リードテキスト ---- */
.fp-lead {
  background: var(--cream);
  border-left: 3px solid var(--pink);
  padding: 14px 16px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.9;
  color: var(--text);
}
.fp-lead strong { color: var(--pink); }

/* ---- ノートボックス ---- */
.fp-note-box {
  background: var(--pink-bg);
  border-radius: 6px;
  padding: 12px 16px;
  font-family: sans-serif;
  font-size: 13px;
  color: var(--text-light);
  line-height: 1.8;
  margin: 12px 0;
}
.fp-note-box .fp-note-title {
  font-size: 12px;
  color: var(--pink);
  margin-bottom: 5px;
  font-weight: bold;
}

/* ---- 保証バッジ帯 ---- */
.fp-guarantee {
  display: flex;
  justify-content: space-around;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px 10px;
  margin: 16px 0;
  flex-wrap: wrap;
  gap: 10px;
}
.fp-guarantee-item { text-align: center; flex: 1 1 60px; }
.fp-guarantee-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--pink);
  color: #fff;
  font-family: sans-serif;
  font-size: 12px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 6px;
}
.fp-guarantee-label {
  font-family: sans-serif;
  font-size: 11px;
  color: var(--text-light);
  display: block;
}
.fp-guarantee-value {
  font-family: sans-serif;
  font-size: 13px;
  font-weight: bold;
  color: var(--text);
  display: block;
}

/* ---- ポイントカード ---- */
.fp-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.fp-point {
  flex: 1 1 160px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 16px 12px;
  text-align: center;
}
.fp-point-icon-text {
  font-size: 22px;
  color: var(--pink);
  margin-bottom: 6px;
  line-height: 1;
}
.fp-point-title {
  font-size: 13px;
  font-weight: bold;
  color: var(--pink);
  margin-bottom: 4px;
  font-family: sans-serif;
}
.fp-point-desc {
  font-size: 12px;
  color: var(--text-light);
  font-family: sans-serif;
  line-height: 1.7;
}

/* ---- 仕様テーブル ---- */
.fp-spec-table {
  width: 100%;
  border-collapse: collapse;
  font-family: sans-serif;
  font-size: 13px;
  margin: 0 0 16px;   /* ← 上下マージンを明示 */
}
.fp-spec-table tr { border-bottom: 1px solid var(--line); }
.fp-spec-table th {
  background: var(--cream);
  color: var(--text-light);
  padding: 9px 12px;
  text-align: left;
  width: 38%;
  font-weight: normal;
  vertical-align: top;
}
.fp-spec-table td {
  padding: 9px 12px;
  color: var(--text);
  vertical-align: top;
}

/* ---- 注文の流れ ---- */
.fp-flow { display: flex; flex-direction: column; gap: 4px; margin: 0 0 20px; }
.fp-flow-step { display: flex; align-items: flex-start; gap: 14px; }
.fp-flow-num {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--pink);
  color: #fff;
  font-size: 12px; font-weight: bold;
  font-family: sans-serif;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 3px;
}
.fp-flow-body {
  flex: 1;
  padding-bottom: 14px;
  border-bottom: 1px dashed var(--line);
}
.fp-flow-step:last-child .fp-flow-body { border-bottom: none; }
.fp-flow-title { font-size: 14px; font-weight: bold; color: var(--text); font-family: sans-serif; margin-bottom: 2px; }
.fp-flow-desc { font-size: 12px; color: var(--text-light); font-family: sans-serif; line-height: 1.7; }

/* ---- FAQ ---- */
.fp-faq { display: flex; flex-direction: column; gap: 10px; margin: 0 0 20px; }
.fp-faq-item { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; font-family: sans-serif; }
.fp-faq-q {
  padding: 11px 14px;
  font-size: 13px; font-weight: bold;
  color: var(--text);
  display: flex; gap: 8px;
  background: #fff;
}
.fp-faq-q-icon { color: var(--pink); font-weight: bold; flex-shrink: 0; }
.fp-faq-a {
  padding: 10px 14px 12px 36px;
  font-size: 12px; color: var(--text-light);
  line-height: 1.8;
  background: var(--cream);
  border-top: 1px solid var(--line);
}

/* ---- お客様の声 ---- */
.fp-reviews { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 20px; }
.fp-review-card {
  flex: 1 1 200px;
  background: var(--pink-bg);
  border-radius: 6px;
  padding: 14px;
  font-family: sans-serif;
}
.fp-review-stars { color: var(--gold); font-size: 13px; margin-bottom: 4px; letter-spacing: 2px; }
.fp-review-text { font-size: 12px; color: var(--text); line-height: 1.8; margin-bottom: 8px; }
.fp-review-author { font-size: 11px; color: var(--text-light); }

/* ---- 持込みボックス ---- */
.fp-bring-box {
  background: var(--pink-light);
  border-radius: 8px;
  padding: 16px;
  margin: 12px 0 20px;
  font-family: sans-serif;
  font-size: 13px;
}
.fp-bring-box-title { color: var(--pink); font-weight: bold; margin-bottom: 8px; font-size: 14px; }
.fp-bring-box ul { margin: 0; padding-left: 20px; color: var(--text); line-height: 1.9; list-style: disc; }
.fp-bring-box ul li { margin: 0; padding: 0; }

/* ---- タグ ---- */
.fp-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.fp-tag {
  display: inline-block;
  background: var(--pink-light);
  color: var(--pink);
  font-size: 11px;
  font-family: sans-serif;
  padding: 3px 10px;
  border-radius: 20px;
}

/* ---- 区切り線 ---- */
.fp-divider { height: 1px; background: var(--line); margin: 20px 0; }

/* ---- スマホ ---- */
@media (max-width: 767px) {
  .fp-point { flex: 1 1 calc(50% - 10px); }
  .fp-section-title { font-size: 14px; }
  .fp-guarantee { gap: 6px; padding: 12px 8px; }
  .fp-guarantee-icon { width: 36px; height: 36px; font-size: 11px; }
  .fp-faq-q { font-size: 12px; }
  .fp-faq-a { font-size: 11px; padding-left: 28px; }
  .fp-review-card { flex: 1 1 100%; }
  .fp-spec-table th, .fp-spec-table td { padding: 8px; font-size: 12px; }
}

/* ---- お知らせバナー(工房直販案内など) ---- */
.info-banner {
    border-top: 2px solid #c9a961;
    border-bottom: 2px solid #c9a961;
    background: #fff;
    text-align: center;
    margin: 32px 0 16px;
}
.info-banner--with-icon {
    padding: 20px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.info-banner p {
    margin: 0;
    font-size: 15px;
    color: #2a1f24;
    line-height: 1.8;
}
.info-banner strong {
    color: #c75a7e;
}
.info-banner-icon {
    font-size: 28px;
}

/* ---- 「もっと見る」リンク ---- */
.link-more {
    font-size: 13px;
    color: var(--pink);
    letter-spacing: 0.1em;
}
.link-more-wrap {
    text-align: center;
    margin-top: 40px;
}
.link-more-wrap--right {
    text-align: right;
    max-width: 800px;
    margin: 20px auto 0;
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    -moz-box-sizing: border-box;
         box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
@charset "utf-8";

/* --------------------------------
	Theme CSS for EC-CUBE 3
-------------------------------- */


/* --------------------------------
	Common
-------------------------------- */

body {
	font-family: Roboto, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	line-height: 1.4;
	background-color: #f2f2f2;
	color: #525263;
	-webkit-text-size-adjust: 100%;
}

.img_center,
.txt_center {
	text-align: center;
}
.img_right,
.txt_right {
	text-align: right;
}

/****** Base Layout Setting ********/

#header {
	background: #fff;
}
#contents {
	background: #fff;
}

/****** Header Setting ********/


.header_logo_area {
	margin-right: 100px;
}
.header_logo_area .header_logo a:link,
.header_logo_area .header_logo a:visited,
.header_logo_area .header_logo a:hover,
.header_logo_area .header_logo a:active {
	text-decoration: none;
	color: #000;
}
.header_logo_area .header_logo a:hover {
	color: #666;
}


/****** Side Setting ********/

/****** Footer Setting ********/

/****** Effect Setting ********/


/****** Each BlockParts Setting ********/

/* cart area */

#cart_area {
	width: 100%;
	position: absolute;
	right: 0; top: 0;
	z-index: 11;
}
#cart_area p {
	margin: 0;
}
#cart_area p.cart-trigger {
	position: absolute;
	right: 65px;
}

#cart .inner {
	background: #f3f3f3;
}


/* search area */

#search {
	background: #EBEBEB;
	padding: 16px 8px;
}
#search select {
	width: 100%;
}

/* snsbtn_area */
.snsbtn_area .snsbtn {
    float: left;
    height: 20px;
    margin: 0 10px 10px 0;
}

/* --------------------------------
	Top Page
-------------------------------- */

.front_page a:hover img {
	opacity: 0.8;
}
.front_page #contents .row > div {
	padding-bottom: 0px;
}
.front_page #contents .row.no-padding > div {
	padding-bottom: 0;
}

/* Comment Area */

.front_page .comment_area h4 {
	font-size: 24px;
	font-size: 2.4rem;
	margin: 0 0 2px;
}
.front_page .comment_area h5 {
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
}
.front_page .comment_area p {
	margin: 10px 0 15px;
}

/* Item List */

.front_page .item_comment {
	color: #444;
}
.front_page .item a {
	padding-bottom: 0;
}
.front_page .item a:hover {
	opacity: 0.8;
}
.front_page .item a:hover img {
	opacity: 1;
}
.front_page #contents_top .item_comment {
	color: #525263;
	font-weight: normal;
	font-size: 14px;
	font-size: 1.4rem;
}
.front_page #contents_top .item_comment.text-warning,
.front_page #contents_top .item_name.text-warning {
	color: #9a947e;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}
.front_page .more_link.text-warning {
	font-weight: bold;
	color: #9A947E;
}

/* news_area */

.news_contents {
	padding: 0;
}
#news_area {
	background: #F8F8F8;
}
#news_area .heading01 {
	padding: 8px;
	text-align: center;
	margin: 0;
}

/* txt_bnr */

.txt_bnr_area {
	padding: 0 0 16px;
}

.txt_bnr {
	background: #f8f8f8;
	border: 1px solid #D9D9D9;
	font-weight: bold;
	padding: 16px;
	margin: 12px 0 0;
	text-align: center;
}
.txt_bnr strong {
	color: #DE5D50;
	font-size: 20px;
	font-size: 2rem;
}
.txt_bnr strong strong {
	font-size: 32px;
	font-size: 3.2rem;
}

.item_gallery {
	clear: both;
}

/* --------------------------------
	Detail Page
-------------------------------- */

#item_detail + row {
	margin-top: -1px;
	background: #fff;
}

/*#item_detail .btn_area li:last-child {
    padding-left: 0;
}
*/


/* Slider */
.slick-loading .slick-list {
    background: #fff url('ajax-loader.gif') center center no-repeat;
}


/* Arrow */

.slick_prev,
.slick_next {
	font-size: 18px;
	font-size: 1.8rem;
	width: 40px; height: 40px;
	line-height: 40px;
}

/* Dots */
.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -45px;
    display: block;
    width: 100%;
    padding: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
	content:" ";
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    text-align: center;
    opacity: .25;
    background-color: black;
	border-radius: 50%;

}
.slick-dots li.slick-active button:before {
    opacity: .75;
    background-color: black;
}

.slick-dots li button.thumbnail img {
	width: 0; height: 0;
}

#item_photo_area .slick-slide {
	text-align: center;
}
#item_photo_area .slick-slide img {
	display: inline-block;
}


/******************************
	Media Query
*******************************/

@media only screen and (max-width: 767px) {

	/* --------- common ---------- */


	/****** Header Setting ********/


	/****** Side Setting ********/


	/****** Effect Setting ********/
	.header_logo img {
		width: 150px;
		height: auto;
    }
	.line_img {
		width: 170px;
		height: auto;
		margin: 0px 0px 10px;
    }
	
	
	#header .header_logo {
		margin-right: 100px;
		
	}
	
	 #header .header_logo_area {
		float: left;
		position: absolute;
	}
  	
	.header_logo_right{
		margin: 40px 0px 0px;
    }
	
	
	

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

	/* --------- common ---------- */

	#contents {
		padding-top: 30px;
	}
	#header_logo img {
		max-width: 100%;
	}
	
	#line_img {
		max-width: 100%;
	}
	 
	 
	 
	 
	 
	/****** Header Setting ********/

	/****** Layout ********/

	/* header */

	#header .header_logo_area {
		float: left;
		
	}
	#header #drawer #search {
		position: relative;
	}
	#search {
		background: none;
		padding: 0;
	}
	#member {
		float: right;
	}

	.member ul li {
		display: inline-block;
	}

	.header_logo_right{
		margin: 50px 0px 0px;
	}

	/****** Side Setting ********/

	/****** Footer Setting ********/

	/****** Each BlockParts Setting ********/

	/* search area */

	#search select {
		width: auto;
		max-width: 180px;
	}
	/* cart */

	#cart .inner {
		position: absolute;
		right: 0; top: 0;
	}
	#cart_area {
		top: 0; right: 16px;
	}
	#cart_area p {
		border: 1px solid #D9D9D9;
		float: right;
		min-width: 200px;
	}
	#cart_area p.cart-trigger {
		position: relative;
		right: 0;
	}
	#cart_area .inner {
		min-width: 256px;
	}
	#cart_area .cart_price {
		font-size: 12px;
	}
	#cart_area .cart_price .price {
		font-size: 16px;
	}


	/* --------------------------------
		Top Page
	-------------------------------- */

	.front_page #contents .row {
		padding-bottom: 10px;
	}
	/* Comment Area */

	.front_page .comment_area h4 {
		font-size: 32px;
		font-size: 3.2rem;
		margin: 0 0 8px;
	}
	.front_page .comment_area h5 {
		font-size: 20px;
		font-size: 2rem;
	}
	.front_page .comment_area p {
		font-size: 20px;
		font-size: 2rem;
		margin: 24px 0 24px;
	}

	/* news_area */

	.news_contents {
		padding: 0 16px 0 0;
	}

	#news_area .heading01 {
		padding: 16px;
		text-align: left;
	}
	#news_area {
		margin-bottom: 32px;
	}


	/* txt_bnr */

	.txt_bnr_area {
		padding-left: 16px;
	}

	.txt_bnr {
		margin:0 0 16px;
	}

	/* --------------------------------
		Detail Page
	-------------------------------- */

	#item_photo_area .slick-dots {
		margin: 0 -16px;
		position: relative;
		bottom: 0;
	}
	#item_photo_area .slick-dots::after {
		content: "";
		display: table;
		clear: both;
	}

	#item_photo_area .slick-dots li {
		width: 33.33333333%; height: auto;
		padding: 16px;
		margin: 0;
		float: left;
	}

	.slick-dots li button.thumbnail {
		width: 100%; height: auto;
		padding: 0;
	}
	.slick-dots li button.thumbnail img {
		width: 100%; height: auto;
		opacity: 0.8;
	}
	.slick-dots li button.thumbnail:hover img,
	.slick-dots li.slick-active button.thumbnail img {
		opacity: 1;
	}
	.slick-dots li button.thumbnail::before {
		display: none;
	}
}

/* --------------------------------
    display mask
-------------------------------- */
.prevention-masked {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3040;
    background-color: #000;
    filter: alpha(opacity=50);
    opacity: .5;
}

.extra-form {
  margin: 10px 0;
}










