/*
Theme Name: ColorMart-black
Version: 1.0
Note: All content are copyrighted by author. Please, don't steal anything.
*/
/**
TABLE OF CONTENTS
- Global
	- bootstrap-theme
	- utility
- UI
	- slider
	- button
	- header
	- nav
	- headline
	- box
	- list
	- form
	- table
	- shopping-guide
- Page
	- product-detail
	- product-list
	- 
*/
/* ------------------------------------- */
/*  bootstrap-theme: Bootstrap用テーマ
/*		- body
/*		- link
/*		- headline
/*		- form
/*		- thumbnail
/* ------------------------------------- */
/**
 *	body
 */
body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.6em;	
  background-color: #fff;
}

/**
 *	link
 */
a {
  color: #404040 !important;
}
a:hover {
  text-decoration: none !important;
  color: #D8373E !important;
}

/**
 *	headline
 */
h1 {
  font-size: 36px;
}

h2 {
  font-size: 28px;
}

h3 {
  font-size: 22px;
}

h4 {
  font-size: 16px;
}

h5 {
  font-size: 14px;
}

h6 {
  font-size: 12px;
}

/**
 *	form
 */
@media (min-width: 768px) {
  .input-group {
    display: inline-block;
  }
  .input-group .form-control {
    width: 100px;
  }
  .input-group .input-group-btn {
    width: auto;
  }
}

/**
 *	thumbnail
 */
.thumbnail {
  margin-bottom: 0 !important;
}

/**
 *	img
 */
.img-responsive {
  margin-left: auto !important;
  margin-right: auto !important;
}

/**
 *	breadcrumb
 */
.breadcrumb {
  padding: 5px 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  background: none !important;
}

/**
 *	well
 */
.well {
  padding: 15px !important;
  border-radius: 0 !important;
}

/* ------------------------------------- */
/*   utility: global class   */
/*		- display
/*		- position
/*		- padding
/*		- margin
/*		- border
/*		- font
/*		- background
/* ------------------------------------- */
/**
 *	display
 */
.div-inline > div {
  display: inline-block;
}

/**
 *	col gutter
 */
.col-gutter-10 {
  margin-left: -10px;
  margin-right: -10px;
}
.col-gutter-10 > div {
  padding-left: 10px;
  padding-right: 10px;
}

.col-gutter-5 {
  margin-left: -5px;
  margin-right: -5px;
}
.col-gutter-5 > div {
  padding-left: 5px;
  padding-right: 5px;
}

/**
 *	position
 */
.position-relative {
  position: relative;
}

.top-left {
  position: absolute;
  top: 15px;
  left: 15px;
}

.top-left-fit {
  position: absolute;
  top: 0;
  left: 0;
}

.top-left-xs {
  position: absolute;
  top: 5px;
  left: 5px;
}

.top-left-sm {
  position: absolute;
  top: 10px;
  left: 10px;
}

.top-left-lg {
  position: absolute;
  top: 30px;
  left: 30px;
}

.top-right {
  position: absolute;
  top: 15px;
  right: 15px;
}

.top-right-fit {
  position: absolute;
  top: 0;
  right: 0;
}

.top-right-xs {
  position: absolute;
  top: 5px;
  right: 5px;
}

.top-right-sm {
  position: absolute;
  top: 10px;
  right: 10px;
}

.top-right-lg {
  position: absolute;
  top: 30px;
  right: 30px;
}

.bottom-left {
  position: absolute;
  bottom: 15px;
  left: 15px;
}

.bottom-left-fit {
  position: absolute;
  bottom: 0;
  left: 0;
}

.bottom-left-xs {
  position: absolute;
  bottom: 5px;
  left: 5px;
}

.bottom-left-sm {
  position: absolute;
  bottom: 10px;
  left: 10px;
}

.bottom-left-lg {
  position: absolute;
  bottom: 30px;
  left: 30px;
}

.bottom-right {
  position: absolute;
  bottom: 15px;
  right: 15px;
}

.bottom-right-fit {
  position: absolute;
  bottom: 0;
  right: 0;
}

.bottom-right-xs {
  position: absolute;
  bottom: 5px;
  right: 5px;
}

.bottom-right-sm {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.bottom-right-lg {
  position: absolute;
  bottom: 30px;
  right: 30px;
}

/**
 *	padding
 */
.padding-none {
  padding: 0;
}

.padding-row {
  padding-top: 15px;
  padding-bottom: 15px;
}
.padding-row.ui-section {
  padding-top: 60px;
  padding-bottom: 60px;
}

.padding-row-xs {
  padding-top: 5px;
  padding-bottom: 5px;
}
.padding-row-xs.ui-section {
  padding-top: 20px;
  padding-bottom: 20px;
}

.padding-row-sm {
  padding-top: 10px;
  padding-bottom: 10px;
}
.padding-row-sm.ui-section {
  padding-top: 30px;
  padding-bottom: 30px;
}

.padding-row-lg {
  padding-top: 30px;
  padding-bottom: 30px;
}
.padding-row-lg.ui-section {
  padding-top: 120px;
  padding-bottom: 120px;
}

.padding-row-none {
  padding-top: 0;
  padding-bottom: 0;
}

.padding-box {
  padding: 15px;
}
.padding-box.ui-section {
  padding: 60px;
}

.padding-box-xs {
  padding: 5px;
}
.padding-box-xs.ui-section {
  padding: 20px;
}

.padding-box-sm {
  padding: 10px;
}
.padding-box-sm.ui-section {
  padding: 30px;
}

.padding-box-lg {
  padding: 30px;
}
.padding-box-lg.ui-section {
  padding: 120px;
}

.padding-box-none {
  padding: 0;
}

.padding-gutter {
  padding-left: 15px;
  padding-right: 15px;
}
.padding-gutter.row {
  padding: 0;
  margin-left: -15px;
  margin-right: -15px;
}
.padding-gutter.row > div {
  padding-left: 15px;
  padding-right: 15px;
}

.padding-gutter-xs {
  padding-left: 5px;
  padding-right: 5px;
}
.padding-gutter-xs.row {
  padding: 0;
  margin-left: -5px;
  margin-right: -5px;
}
.padding-gutter-xs.row > div {
  padding-left: 5px;
  padding-right: 5px;
}

.padding-gutter-sm {
  padding-left: 10px;
  padding-right: 10px;
}
.padding-gutter-sm.row {
  padding: 0;
  margin-left: -10px;
  margin-right: -10px;
}
.padding-gutter-sm.row > div {
  padding-left: 10px;
  padding-right: 10px;
}

.padding-gutter-lg {
  padding-left: 30px;
  padding-right: 30px;
}
.padding-gutter-lg.row {
  padding: 0;
  margin-left: -30px;
  margin-right: -30px;
}
.padding-gutter-lg.row > div {
  padding-left: 30px;
  padding-right: 30px;
}

.padding-gutter-none {
  padding-left: 0;
  padding-right: 0;
}
.padding-gutter-none.row {
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}
.padding-gutter-none.row > div {
  padding-left: 0;
  padding-right: 0;
}

/**
 *	margin
 */
.margin-none {
  margin: 0;
}

.margin-row {
  margin-top: 15px;
  margin-bottom: 15px;
}
.margin-row.ui-section {
  margin-top: 60px;
  margin-bottom: 60px;
}

.margin-row-xs {
  margin-top: 5px;
  margin-bottom: 5px;
}
.margin-row-xs.ui-section {
  margin-top: 20px;
  margin-bottom: 20px;
}

.margin-row-sm {
  margin-top: 10px;
  margin-bottom: 10px;
}
.margin-row-sm.ui-section {
  margin-top: 30px;
  margin-bottom: 30px;
}

.margin-row-lg {
  margin-top: 30px;
  margin-bottom: 30px;
}
.margin-row-lg.ui-section {
  margin-top: 120px;
  margin-bottom: 120px;
}

.margin-row-none {
  margin-top: 0;
  margin-bottom: 0;
}

.margin-section {
  margin-bottom: 60px;
}

.margin-section-xs {
  margin-bottom: 20px;
}

.margin-section-sm {
  margin-bottom: 30px;
}

.margin-section-lg {
  margin-bottom: 120px;
}

.margin-section-none {
  margin-bottom: 0;
}

.margin-content {
  margin-bottom: 15px;
}

.margin-content-xs {
  margin-bottom: 5px;
}

.margin-content-sm {
  margin-bottom: 10px;
}

.margin-content-lg {
  margin-bottom: 30px;
}

.margin-content-none {
  margin-bottom: 0;
}

/**
 *	border
 */
.border-none {
  border: none;
}

.border-box {
  border: 1px solid #ddd;
}

.divider {
  border-bottom: 1px solid #ddd;
}

.divider-dotted {
  border-bottom: 1px dotted #ddd;
}

.border-radius {
  border-radius: 2px;
}

.border-radiusp-top {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.border-radiusp-bottom {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

.border-radiusp-left {
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}

.border-radiusp-right {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}

/* ------------------------------------- */
/*  slider: sliderのスタイル
/*		- ui-slider
/* ------------------------------------- */
.ui-slider.carousel-indicators li {
  border: 1px solid #404040;
}
.ui-slider.carousel-indicators li.active {
  background-color: #404040;
}
.ui-slider .carousel-inner .item {
  text-align: center;
}
.ui-slider .carousel-inner .item img {
  display: inline-block;
}
.ui-slider .carousel-control {
  opacity: 1;
  width: 6%;
  height: 42px;
  top: 43%;
  text-shadow: none;
  background-color: #404040;
}
@media (max-width: 991px) {
  .ui-slider .carousel-control {
    width: 7%;
  }
}
@media (max-width: 767px) {
  .ui-slider .carousel-control {
    width: 10%;
    height: 40px;
    top: 40%;
  }
}
.ui-slider .carousel-control .glyphicon {
  opacity: 1;
  top: 23px;
  color: #fff;
  font-size: 24px;
}
@media (max-width: 767px) {
  .ui-slider .carousel-control .glyphicon {
    top: 10px;
    font-size: 18px;
  }
}
.ui-slider .carousel-control:hover {
  background-color: #D8373E;
}
.ui-slider .carousel-control:hover .glyphicon {
  opacity: 1;
}
.ui-slider .carousel-control.left {
  filter: none;
  background-image: none;
}
.ui-slider .carousel-control.right {
  filter: none;
  right: 0;
  background-image: none;
}

/* ------------------------------------- */
/*  button: ボタンのスタイル
/*    - btn-styled
/*    - btn-main
/*    - btn-key
/*    - btn-cart
/* ------------------------------------- */
/**
 *	btn-styled
 */
.btn-styled {
  -webkit-border-radius: 3;
  -moz-border-radius: 3;
  border-radius: 3px;
  color: #ffffff !important;
  font-size: 12px;
  padding: 6px 18px;
  text-decoration: none;
}
.btn-styled:hover, .btn-styled:focus {
  color: #ffffff !important;
  text-decoration: none;
}

/**
 *	btn-main
 */
.btn-main {
  background: #404040;
  background-image: -webkit-linear-gradient(top, #404040, #272727) !important;
  background-image: -moz-linear-gradient(top, #404040, #272727) !important;
  background-image: -ms-linear-gradient(top, #404040, #272727) !important;
  background-image: -o-linear-gradient(top, #404040, #272727) !important;
  background-image: linear-gradient(to bottom, #404040, #272727) !important;
  border: 1px solid #272727;
  -moz-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0.6);
}
.btn-main:hover {
  background: #404040 !important;
}

/**
 *	btn-key
 */
.btn-key {
  background: #D8373E;
  background-image: -webkit-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: -moz-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: -ms-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: -o-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: linear-gradient(to bottom, #D8373E, #b8242a) !important;
  border: 1px solid #b8242a;
  -moz-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0.6);
}
.btn-key:hover {
  background: #D8373E !important;
}

/**
 *	btn-cart
 */
.btn-cart {
  background: #D8373E;
  background-image: -webkit-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: -moz-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: -ms-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: -o-linear-gradient(top, #D8373E, #b8242a) !important;
  background-image: linear-gradient(to bottom, #D8373E, #b8242a) !important;
  border: 1px solid #b8242a;
  -moz-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0.6);
}
.btn-cart:hover {
  background: #D8373E !important;
}

/* ------------------------------------- */
/*  header: ヘッダーのスタイル
/*		- ui-header
/*		- ui-topbar
/* ------------------------------------- */
.ui-header {
  padding-top: 5px;
  padding-bottom: 5px;
}
.ui-header .logo {
  display: inline-block;
  margin: 0;
}
@media (max-width: 767px) {
  .ui-header .logo {
    display: block;
    text-align: center;
    width: 100%;
  }
  .ui-header .logo img {
    display: inline-block;
  }
}
.ui-header .header-content {
  display: inline-block;
}
@media (max-width: 767px) {
  .ui-header .header-content {
    display: block;
    text-align: center;
    width: 100%;
  }
  .ui-header .header-content img {
    display: inline-block;
  }
}

/**
 *	topbar
 */
.ui-topbar {
  border-top: 6px solid #D8373E;
  color: #555 !important;
}
.ui-topbar .description {
  padding-top: 5px;
}
.ui-topbar ul {
  margin-bottom: 0;
}
.ui-topbar ul li {
  padding-left: 2px;
  padding-right: 2px;
}
.ui-topbar ul li a {
  display: inline-block;
  padding: 5px 10px;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  border: 1px solid #cd282f;
  border-top: none;
  color: #fff !important;
  background-color: #D8373E;
}
.ui-topbar ul li a:hover {
  text-decoration: underline;
  background-color: #cd282f;
}

/* ------------------------------------- */
/*  nav: navのスタイル
/*		- ui-nav
/*		- nav-search
/* ------------------------------------- */
.ui-nav {
  min-height: 0 !important;
  border-radius: 0 !important;
  background: #404040 !important;
  border: 1px solid #272727 !important;
  -moz-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  -webkit-box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6);
  box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0.6);
}
.ui-nav .navbar-brand {
  font-size: 16px;
  color: #fff !important;
}
.ui-nav .navbar-brand:hover {
  color: #fff !important;
  text-decoration: none;
}
.ui-nav .navbar-collapse {
  padding: 0;
}
.ui-nav .navbar-toggle {
  border: none;
}
.ui-nav .navbar-toggle:hover, .ui-nav .navbar-toggle:active, .ui-nav .navbar-toggle:focus {
  background-color: transparent !important;
}
.ui-nav .navbar-toggle .icon-bar {
  background-color: #fff !important;
}
.ui-nav .navbar-form {
  border-color: transparent !important;
  box-shadow: none !important;
}
@media (max-width: 767px) {
  .ui-nav .navbar-form {
    margin: 0 !important;
  }
}
.ui-nav .navbar-nav > li > a {
  color: #fff !important;
}

/**
 *	nav-search
 */
@media (min-width: 768px) {
  .ui-nav.nav-search .navbar-form {
    padding-left: 0;
    padding-right: 0;
  }
}
.ui-nav.nav-search .navbar-form select {
  width: 200px;
}
@media (max-width: 991px) {
  .ui-nav.nav-search .navbar-form select {
    width: 150px;
  }
}
@media (max-width: 767px) {
  .ui-nav.nav-search .navbar-form select {
    width: 100%;
    margin-bottom: 10px;
  }
}
.ui-nav.nav-search .navbar-form input[type="text"] {
  width: 400px;
}
@media (max-width: 991px) {
  .ui-nav.nav-search .navbar-form input[type="text"] {
    width: 495px;
  }
}
@media (max-width: 767px) {
  .ui-nav.nav-search .navbar-form input[type="text"] {
    width: 100%;
  }
}

/* ------------------------------------- */
/*  footer: フッターのスタイル
/*		- ui-footer
/* ------------------------------------- */
.ui-footer .page-top {
  border-bottom: 6px solid #D8373E;
}
.ui-footer .page-top .link {
  display: inline-block;
  padding: 5px 10px;
  border-top-right-radius: 2px;
  border-top-left-radius: 2px;
  color: #fff !important;
  background-color: #D8373E;
}
.ui-footer .page-top .link:hover {
  background-color: #cd282f;
}
.ui-footer .ui-section {
  background-color: #FAFAFA;
}
@media (max-width: 767px) {
  .ui-footer .footer-content {
    margin-bottom: 15px;
  }
}
.ui-footer .footer-content .footer-title .title {
  margin-top: 0;
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .ui-footer .footer-content .footer-title .title {
    font-size: 16px;
    font-weight: bold;
  }
}
.ui-footer .footer-content .footer-list {
  margin: 0;
  padding-left: 15px;
}
.ui-footer .footer-content .footer-list li {
  padding: 2px 0;
}
.ui-footer .footer-content .footer-list li a {
  font-size: 12px;
}
.ui-footer .footer-content .footer-list li .fa {
  display: inline-block;
  margin-right: 5px;
  font-size: 16px;
}
.ui-footer .copyright {
  padding-top: 5px;
  padding-bottom: 5px;
  color: #fff;
  background-color: #333333;
}

/* ------------------------------------- */
/*  headline: 見出しタイトルのスタイル
/*		- page-title
/*		- section-title
/* ------------------------------------- */
.page-title,
.section-title {
  position: relative;
  border-radius: 2px;
}
.page-title .title,
.section-title .title {
  display: inline-block;
  margin: 0;
  color: #333;
}

/**
 *	page-title
 */
.page-title {
  margin-bottom: 15px;
}
.page-title .title {
  font-size: 28px;
  font-weight: bold;
}

/**
 *	section-title
 */
.section-title {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  background-color: #fafafa;
  background: -webkit-linear-gradient(#fff, #f0f0f0);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(#fff, #f0f0f0);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(#fff, #f0f0f0);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(#fff, #f0f0f0);
  /* Standard syntax */
}
.section-title .title {
  padding-left: 10px;
  border-left: 6px solid #404040;
  color: #333;
  font-size: 22px;
  font-weight: bold;
}

.ui-side .section-title {
  padding: 10px;
  margin-bottom: 10px;
  background: none;
  background-color: #404040;
}
.ui-side .section-title .title {
  padding-left: 0;
  border: none;
  font-size: 14px;
  color: #fff;
}

/* ------------------------------------- */
/*  content box: コンテンツボックスのスタイル
/*		- ui-box
/*		- item-card
/*		- box-list
/* ------------------------------------- */
.ui-box {
  margin-bottom: 30px;
}
.ui-box .box-title {
  margin-bottom: 5px;
}
.ui-box .box-title .title {
  margin: 0;
  color: #404040;
  font-size: 13px;
}
.ui-box .box-title .title a {
  color: #404040;
}
.ui-box .box-title .title a:hover {
  color: #D8373E;
}
.ui-box .box-image {
  margin-bottom: 10px;
}
.ui-box .description {
  margin-bottom: 10px;
}
.ui-box .more-link {
  margin-bottom: 10px;
}
.ui-box .col-left-fit {
  padding-right: 0;
}
.ui-box .col-left-sm {
  padding-right: 10px;
}
.ui-box .col-left-lg {
  padding-right: 30px;
}

/**
 *	item-card
 */
.ui-box.item-card .price {
  display: inline-block;
  margin-bottom: 0;
  color: red;
  font-size: 12px;
  font-weight: bold;
  line-height: 16px;
  letter-spacing: -1px;
}
.ui-box.item-card .price span {
  font-size: 12px;
}

/**
 *	box-table
 */
.ui-box.box-list {
  padding: 10px 0;
  margin-bottom: 0;
  border-bottom: 1px solid #ddd;
}

/* ------------------------------------- */
/*  list: ulリストのスタイル
/*		- ui-list
/*		- ui-cart
/*		- list-headline
/*		- list-category
/*		- list-scroll
/* ------------------------------------- */
.ui-list li {
  font-size: 12px;
}
.ui-list li span {
  margin-right: 5px;
}
.ui-list li a {
  font-size: 12px;
}

/**
 *	list-cart
 */
.ui-list.list-cart {
  display: inline-block;
  padding: 2px 10px;
  margin-bottom: 0;
  border-radius: 2px;
  border: 1px solid #ddd;
  background-color: #fff;
}
@media (max-width: 991px) {
  .ui-list.list-cart {
    padding: 8px 10px;
  }
}
.ui-list.list-cart .num {
  color: red;
}

/**
 *	list-headline
 */
.ui-list.list-headline li {
  padding-top: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #ddd;
}
.ui-list.list-headline li span {
  margin-right: 5px;
}
.ui-list.list-headline li a {
  font-size: 12px;
}

/**
 *	list-category
 */
.ui-list.list-category .category-level1 {
  margin-bottom: 10px;
}
.ui-list.list-category .category-level1 > a {
  display: block;
  padding: 5px;
  border: 1px solid #ddd;
  color: #555;
  font-size: 12px;
  font-weight: bold;
  background-color: #fff;
  background: -webkit-linear-gradient(#fff, #f0f0f0);
  /* For Safari 5.1 to 6.0 */
  background: -o-linear-gradient(#fff, #f0f0f0);
  /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(#fff, #f0f0f0);
  /* For Firefox 3.6 to 15 */
  background: linear-gradient(#fff, #f0f0f0);
  /* Standard syntax */
}
.ui-list.list-category .category-level1 > a .category-img {
  width: 30px;
  height: 30px;
  margin-right: 5px;
}
.ui-list.list-category .category-group {
  padding: 5px;
}
.ui-list.list-category .category-level2 {
  border-bottom: 1px dotted #ddd;
}
.ui-list.list-category .category-level2 > a {
  display: inline-block;
  padding: 5px 0;
}

/**
 *	list-scroll
 */
.ui-list.list-scroll {
  height: 150px;
  overflow-y: scroll;
  padding: 10px 15px;
  border: 1px solid #ddd;
}

/* ------------------------------------- */
/*  form: formのスタイル
/*		- ui-form
/*		- search-form
/* ------------------------------------- */
/**
 *	search-form
 */
/* ------------------------------------- */
/*  table: tableのスタイル
/*		- ui-table
/*		- tbl_calendar
/* ------------------------------------- */
.ui-table tbody tr th {
  background-color: #f4f4f4;
}
.ui-table tbody tr td {
  padding: 10px;
}

/**
 *	tbl_calendar
 */
.tbl_calendar {
  margin-bottom: 10px;
}
.tbl_calendar caption {
  padding: 4px 0;
  font-size: 14px;
}
.tbl_calendar tbody th {
  text-align: center;
  padding: 4px 12px;
  background-color: #eee;
}
.tbl_calendar tbody td {
  text-align: center;
  padding: 4px 8px;
  border: 1px solid #eee;
}
@media (max-width: 1199px) {
  .tbl_calendar tbody th, .tbl_calendar tbody td {
    padding: 2px 6px;
  }
}
@media (max-width: 991px) {
  .tbl_calendar tbody th, .tbl_calendar tbody td {
    padding: 1px 2px;
  }
}
@media (max-width: 767px) {
  .tbl_calendar tbody th, .tbl_calendar tbody td {
    padding: 4px 12px;
  }
}

/* ------------------------------------- */
/*  shoppingu guide: ガイドのスタイル
/*    - shopping_guide
/* ------------------------------------- */
#shopping-guide {
  margin-bottom: 40px;
  font-size: 12px;
}
#shopping-guide .section-title {
  margin-bottom: 0px;
  border-radius: 0;
  border: 1px solid #404040;
}
#shopping-guide .section-body {
  padding: 15px;
  border: 1px solid #404040;
}
#shopping-guide .guide-title {
  padding: 6px 10px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
}
@media (max-width: 767px) {
  #shopping-guide .guide-title {
    margin-top: 20px;
  }
}
#shopping-guide .guide-body ul li {
  margin-bottom: 5px;
}
#shopping-guide .guide-body img {
  max-width: 100%;
  max-height: 100%;
}

/* ------------------------------------- */
/*  product product: 商品詳細ページのスタイル
/*		- product
/* ------------------------------------- */
/**
 *	page-list
 */
#page-detail .product-title {
  margin: 0;
}
@media (max-width: 767px) {
  #page-detail .product-title {
    padding-left: 15px;
    padding-right: 15px;
  }
}
#page-detail .product-title .title {
  margin-top: 0;
  margin-bottom: 30px;
  color: #333;
  font-size: 22px;
  font-weight: bold;
}
#page-detail .photo-column {
  margin-bottom: 40px;
}
#page-detail .photo-column .thumb-src {
  padding: 5px;
  border: 1px solid #ddd;
}
#page-detail dl dt {
  width: 60px;
  text-align: left;
}
@media (min-width: 768px) {
  #page-detail dl dd {
    margin-left: 70px;
  }
}
@media (max-width: 767px) {
  #page-detail dl dt {
    display: inline-block;
  }
  #page-detail dl dd {
    display: inline-block;
  }
}
#page-detail .price-area,
#page-detail .option-area,
#page-detail .cart-area,
#page-detail .guide-area,
#page-detail .sns-area {
  margin-bottom: 15px;
}
#page-detail .price-area dl {
  margin-bottom: 5px;
}
#page-detail .price-area .price {
  font-size: 18px;
  font-weight: bold;
}
#page-detail .price-area .sale-price {
  color: #f00;
  font-size: 18px;
  font-weight: bold;
}
#page-detail .option-table table {
  border: 1px solid #ddd;
}
#page-detail .option-table table th {
  text-align: center;
  border: 1px solid #ddd;
  background-color: #f4f4f4;
}
#page-detail .option-table table td {
  padding: 10px;
  border: 1px solid #ddd;
}
#page-detail .option-table table td.none {
  background-color: #f4f4f4;
}
#page-detail .cart-area {
  padding: 15px;
  border: 1px solid #ddd;
  background-color: #f4f4f4;
}
#page-detail .cart-area input[type="text"] {
  width: 130px;
}
#page-detail .description-body {
  color: #333;
}
#page-detail .description-body h1 {
  margin-top: 20px;
  margin-bottom: 40px;
  font-size: 30px;
}
#page-detail .description-body h2 {
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 26px;
}
#page-detail .description-body h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 20px;
}
#page-detail .description-body p, #page-detail .description-body ul {
  font-size: 14px;
}
#page-detail .description-body table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
}
#page-detail .description-body table thead > tr > th,
#page-detail .description-body table tbody > tr > th,
#page-detail .description-body table tfoot > tr > th,
#page-detail .description-body table thead > tr > td,
#page-detail .description-body table tbody > tr > td,
#page-detail .description-body table tfoot > tr > td {
  padding: 8px;
  line-height: 1.4;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
@media (max-width: 991px) {
  #page-detail .description-body table thead > tr > th,
  #page-detail .description-body table tbody > tr > th,
  #page-detail .description-body table tfoot > tr > th,
  #page-detail .description-body table thead > tr > td,
  #page-detail .description-body table tbody > tr > td,
  #page-detail .description-body table tfoot > tr > td {
    padding: 4px;
  }
}
#page-detail .description-body table th {
  background-color: #f4f4f4;
}

/* ------------------------------------- */
/*  product list: 商品一覧、検索結果ページのスタイル
/*		- list
/* ------------------------------------- */
/**
 *	page-list
 */
#page-list .list-pager {
  padding-top: 5px;
  padding-bottom: 5px;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#page-list .list-pager ul {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  #page-list .list-pager ul .sort {
    width: 100%;
    margin-bottom: 10px;
  }
  #page-list .list-pager ul .sort select {
    width: 100%;
  }
}
#page-list .list-pager.bottom {
  margin-bottom: 30px;
}

/* ------------------------------------- */
/*  privacy: プライバシーポリシーページのスタイル
/* ------------------------------------- */
/**
 *	privacy
 */
#privacy h3 {
  margin-top: 40px;
  margin-bottom: 10px;
}

/* --- 2025/10/26 追加--- */
/* ============================================
   カスタムCSS - DENT Modern Style（完全版）
   Noto Sans JP適用
   2025年1月26日
   ============================================ */

/* ------------------------------------- */
/* 0. Webフォントの読み込み */
/* ------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

/* ------------------------------------- */
/* 1. 基本設定の改善 */
/* ------------------------------------- */
body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.8em !important;
  color: #333 !important;
  font-weight: 400 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-weight: 700 !important;
}

/* ------------------------------------- */
/* 2. コンテンツエリアの余白 */
/* ------------------------------------- */
#content {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

/* ------------------------------------- */
/* 3. セクション間の余白 */
/* ------------------------------------- */
.ui-section {
  margin-bottom: 40px !important;
}

/* ------------------------------------- */
/* 4. メインコンテンツの見出しのみ改善 */
/* ------------------------------------- */
#content > .ui-section > .section-title > .title,
#main .section-title .title,
#news .section-title .title,
.new-product .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #222 !important;
  background-color: transparent !important;
  padding: 0 0 12px 0 !important;
  border-bottom: 3px solid #D8373E !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  margin-bottom: 25px !important;
  margin-top: 0 !important;
}

/* ------------------------------------- */
/* 5. サイドバーの見出しを明示的に元に戻す */
/* ------------------------------------- */

/* サイドバー全体の見出し */
#sidebar .section-title {
  background-color: #3a3a3a !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: none !important;
}

#sidebar .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 123.076% !important;
  font-weight: bold !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: none !important;
}

/* カテゴリー */
#category .section-title {
  background-color: #3a3a3a !important;
}

#category .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  border: none !important;
}

/* カレンダー */
#calendar .section-title {
  background-color: #3a3a3a !important;
}

#calendar .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  border: none !important;
}

/* 売れ筋商品 */
#ranking .section-title {
  background-color: #3a3a3a !important;
}

#ranking .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  border: none !important;
}

/* お買い物ガイド */
.ui-shopping-guide .section-title {
  background-color: #3a3a3a !important;
}

.ui-shopping-guide .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  border: none !important;
}

/* その他のサイドバー項目 */
.ui-side-block .section-title {
  background-color: #3a3a3a !important;
}

.ui-side-block .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  border: none !important;
}

/* フッター付近のブロック */
.free_space_block .section-title {
  background-color: #3a3a3a !important;
}

.free_space_block .section-title .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #fff !important;
  background-color: #3a3a3a !important;
  padding: 0.6em 0.8em !important;
  border: none !important;
}

/* ------------------------------------- */
/* 6. ボタンの改善 */
/* ------------------------------------- */
.btn,
.btn-primary,
button {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 16px !important;
  padding: 12px 30px !important;
  border-radius: 5px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

.btn-primary:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

/* ------------------------------------- */
/* 7. 商品カードの改善 */
/* ------------------------------------- */
.product-item {
  margin-bottom: 30px !important;
  transition: all 0.3s ease !important;
}

.product-item:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1) !important;
}

.product-item .thumbnail {
  border-radius: 8px !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}

.product-item img {
  transition: all 0.3s ease !important;
}

.product-item:hover img {
  transform: scale(1.03) !important;
}

.product-item .product-name {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #222 !important;
  margin-top: 12px !important;
  line-height: 1.5em !important;
}

.product-item .price {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #D8373E !important;
  margin-top: 8px !important;
}

/* ------------------------------------- */
/* 8. 新着情報の改善 */
/* ------------------------------------- */
#news .list-headline li {
  padding: 12px 0 !important;
  border-bottom: 1px solid #eee !important;
  transition: all 0.2s ease !important;
}

#news .list-headline li:hover {
  background-color: #f9f9f9 !important;
  padding-left: 8px !important;
}

#news .date {
  display: inline-block !important;
  background-color: #D8373E !important;
  color: #fff !important;
  padding: 4px 12px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  margin-right: 12px !important;
  font-weight: 600 !important;
}

/* ------------------------------------- */
/* 9. スライダーの改善 */
/* ------------------------------------- */
.slider {
  margin-bottom: 30px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
}

/* ------------------------------------- */
/* 10. リンクの改善 */
/* ------------------------------------- */
a {
  transition: all 0.2s ease !important;
}

/* ------------------------------------- */
/* 11. フッターの文字サイズ改善 */
/* ------------------------------------- */
#footer {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7em !important;
}

#footer a {
  font-size: 15px !important;
}

#footer h3,
#footer .title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-bottom: 15px !important;
}

#footer ul li {
  margin-bottom: 8px !important;
}

#footer .company-info {
  font-size: 15px !important;
  line-height: 1.8em !important;
}

#footer .contact-info {
  font-size: 16px !important;
  font-weight: 600 !important;
}

#copyright,
.copyright {
  font-size: 14px !important;
  padding: 20px 0 !important;
}

/* ------------------------------------- */
/* 12. レスポンシブ対応 */
/* ------------------------------------- */
@media (max-width: 768px) {
  body {
    font-size: 15px !important;
  }
  
  #content > .ui-section > .section-title > .title,
  #main .section-title .title,
  #news .section-title .title {
    font-size: 20px !important;
  }
  
  .btn-primary {
    font-size: 15px !important;
    padding: 10px 25px !important;
  }
  
  .product-item .price {
    font-size: 18px !important;
  }
}

/* 13. 検索バーのレイアウト修正（レイアウト維持版） */

/* フォーム全体をフレックスボックス化（space-betweenで配置） */
.navbar-form {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;  /* 左右に配置 */
  gap: 8px !important;
  flex-wrap: wrap !important;  /* レスポンシブ対応 */
}

/* 検索部分をグループ化 */
.navbar-form > select,
.navbar-form > .input-group {
  flex-shrink: 0 !important;
}

/* カートボタンエリアを右寄せ維持 */
.navbar-form .list-cart {
  margin-left: auto !important;  /* 右端に配置 */
}

/* selectボックスの高さ統一 */
.navbar-form select.form-control {
  height: 38px !important;
  min-height: 38px !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* input-groupコンテナの調整 */
.navbar-form .input-group {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  height: 38px !important;
  flex: 0 1 auto !important;  /* 幅を適切に保つ */
}

/* テキスト入力フィールドの高さ統一 */
.navbar-form .input-group .form-control {
  height: 38px !important;
  min-height: 38px !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  border-right: none !important;
}

/* ボタンコンテナの調整 */
.navbar-form .input-group-btn {
  display: flex !important;
  align-items: stretch !important;
  height: 38px !important;
  margin: 0 !important;
  vertical-align: top !important;
}

/* 検索ボタンの高さ統一 */
.navbar-form .input-group-btn .btn {
  height: 38px !important;
  min-height: 38px !important;
  font-size: 14px !important;
  padding: 0 16px !important;
  line-height: 38px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* アイコンとテキストの間隔調整 */
.navbar-form .btn .fa {
  margin-right: 4px !important;
}

/* 15. フッターロゴのサイズ調整（正確版） */

/* フッターのロゴ画像を小さくする */
#footer .footer-content img,
.ui-footer .footer-content img {
  max-width: 200px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin-bottom: 15px !important;
}

/* フッターの行全体をフレックス化して間隔を確保 */
#footer .row,
.ui-footer .row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  align-items: flex-start !important;
}

/* 各列の幅を調整（ロゴ列を少し広めに） */
#footer .footer-content {
  flex: 1 1 200px !important;
  min-width: 180px !important;
  margin-bottom: 20px !important;
}

/* ロゴ列だけ少し幅を広げる */
#footer .footer-content:first-child {
  flex: 0 0 220px !important;
  max-width: 220px !important;
}

/* フッターのタイトルの余白調整 */
#footer .footer-title {
  margin-bottom: 15px !important;
}

/* フッターリストの余白 */
#footer .footer-list {
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}

#footer .footer-list li {
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}

/* 16. ヘッダーロゴのサイズ最適化（正確版） */

/* ロゴ画像を小さくする */
.ui-header .logo img,
.ui-header h1.logo img,
#header .logo img {
  max-height: 70px !important;
  width: auto !important;
  display: block !important;
}

/* ロゴを含むh1タグの調整 */
.ui-header .logo,
.ui-header h1.logo {
  margin: 15px 0 !important;
  line-height: 1 !important;
}

/* ヘッダー全体の上下余白を調整 */
.ui-header {
  padding: 15px 0 !important;
}

/* ロゴのリンクの調整 */
.ui-header .logo a {
  display: inline-block !important;
  line-height: 1 !important;
}

/* 17. 価格表示の改善 */

/* トップページの売れ筋商品の価格 */
#best-seller .price,
.item-card .price,
.box-body .price,
.product-price,
.item-price {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #d32f2f !important;
  margin: 8px 0 !important;
  line-height: 1.4 !important;
}

/* 商品一覧ページの価格 */
.product-list .price,
.item-list .price {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #d32f2f !important;
}

/* 詳細ページの価格（さらに大きく） */
.product-detail .price,
.item-detail .price {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #d32f2f !important;
}

/* 18. 商品カードのレイアウト改善（安全版） */

/* サイドバーの商品カード全体 */
#sidebar .item-card.box-list {
  margin-bottom: 15px !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 4px !important;
  padding: 10px !important;
  background: #fff !important;
  transition: box-shadow 0.2s ease !important;
}

#sidebar .item-card.box-list:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

/* サイドバーの商品画像 */
#sidebar .item-card .box-image img {
  width: 100% !important;
  height: auto !important;
  border-radius: 4px !important;
}

/* サイドバーの商品タイトル */
#sidebar .item-card .box-title {
  font-size: 13px !important;
  line-height: 1.4 !important;
  margin: 8px 0 !important;
  min-height: 36px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

#sidebar .item-card .box-title a {
  color: #333 !important;
  text-decoration: none !important;
}

#sidebar .item-card .box-title a:hover {
  color: #0066cc !important;
}

/* サイドバーの価格表示（すでに17で設定済みだが念のため） */
#sidebar .box-body .price {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #d32f2f !important;
  margin: 5px 0 0 0 !important;
}

/* メインエリアの商品カード */
#content .item-card {
  margin-bottom: 20px !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background: #fff !important;
  transition: box-shadow 0.2s ease !important;
  height: 100% !important;
}

#content .item-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}

/* メインエリアの商品画像 */
#content .item-card .box-image {
  background: #f9f9f9 !important;
  padding: 15px !important;
  text-align: center !important;
}

#content .item-card .box-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 200px !important;
  object-fit: contain !important;
}

/* メインエリアの商品タイトル */
#content .item-card .box-title {
  padding: 12px 15px !important;
  min-height: 60px !important;
}

#content .item-card .box-title .title {
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

#content .item-card .box-title a {
  color: #333 !important;
  text-decoration: none !important;
}

#content .item-card .box-title a:hover {
  color: #0066cc !important;
}

/* 行の下部余白調整 */
#content .row {
  margin-bottom: 20px !important;
}

/* カラム間のスペース調整 */
#content .col-xs-6,
#content .col-sm-3 {
  padding: 0 10px !important;
  margin-bottom: 20px !important;
}

/* 19. メイン商品カードの価格を完全に中央揃え（修正版） */

/* 価格を含む親要素の調整 */
#content .item-card .box-body {
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
}

/* メインエリアの商品価格を中央揃え */
#content .item-card .price,
#content .price {
  text-align: center !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #d32f2f !important;
  margin: 12px 0 !important;
  padding: 10px 15px !important;
  border-top: 1px solid #f0f0f0 !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 新着商品・売れ筋商品・おすすめ商品エリアの価格 */
#content .ui-section .price,
.section-body .price {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

/* 21. メインエリアとサイドバーの売れ筋・おすすめを非表示 */

/* メインエリアの売れ筋商品を非表示 */
#content #best-seller {
  display: none !important;
}

/* メインエリアのおすすめ商品を非表示 */
#content #recommend-products {
  display: none !important;
}

/* サイドバーのおすすめ商品を非表示 */
#sidebar #recommend-products-side {
  display: none !important;
}

/* 22. セクションタイトルをカラフルに（改善版） */

#content .section-title {
  background: #ffffff !important;
  padding: 15px 20px !important;
  margin-bottom: 25px !important;
  border-radius: 0 !important;
  border-left: 4px solid #0066cc !important;  /* ロゴの青色に合わせる */
  border-bottom: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
}

#content .section-title .title,
#content .section-title h2,
#content .section-title h3 {
  color: #333 !important;
  margin: 0 !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}
/* --- 2025/10/26 追加--- */

