@charset "UTF-8";
/* =================================
 reset
================================= */
body {
  color: #323232;
}

/* =================================
l_container
================================= */
.l_container {
  opacity: 0;
  position: relative;
}

/* =================================
l_header
================================= */

.l_header {
  border-top: solid 3px #A50D0D;
  height: 154px;
  overflow: visible;
}

.l_header .top {
  border-top: none;
  position: relative;
  height: 100px;
  padding-top: 1.9em;
  text-align: right;
}

.l_header.fixed .btm {
  position: fixed;
  top: 0;
  z-index: 99;
}

.l_header .btm {
  background: #141414;
  position: absolute;
  height: 54px;
  width: 100%;
}

.l_header .logo {
  left: 0;
  position: absolute;
}

.l_header .l_content_size_pc_1 {
  position: relative;
}

.l_header .deliv, .l_header .moji, .l_header .pay, .l_header .tel {
  display: inline-block;
  vertical-align: middle;
}

.l_header .moji {
  margin-left: 11px;
}

.l_header .pay {
  margin-left: 19px;
}

.l_header .tel {
  margin: 0 5px 0 12px;
  padding: 6px 0 0;
}

.l_header .tel img {
  width: 240px;
}

.l_header .tel p {
  font-size: 1.2em;
  font-weight: 700;
  margin-top: .5em;
  letter-spacing: .02em;
}

.l_header .tel i {
  display: inline-block;
  margin-left: 1em;
  font-style: normal;
  font-size: 1rem;
  border: solid 1px #141414;
  padding: .1em .7em .2em .7em;
  margin-right: 4px;
  vertical-align: middle;
}

.l_header .cart {
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
}

.l_header .cart p {
  display: inline-block;
  font-weight: normal;
  text-align: left;
  padding: 1em 1.5em 0 0;
}

.l_header .cart p em {
  display: block;
  font-size: 1.6em;
  font-style: normal;
  margin-top: .3em;
}

.l_header .cart p span {
  font-size: 1.2em;
}

.l_header .cart p span.ten {
  font-weight: 400;
}

.l_header .cart p span.yen {
  font-size: 14px;
}

.l_header .cart img {
  position: absolute;
  left: 2em;
  top: 1.6em;
}

.l_header .cart a {
  display: block;
  width: 160px;
  height: 55px;
  background: #A50D0D;
  transition: all .2s ease-in;
  border-left: solid 1px #fff;
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;

}

.l_header .cart a:hover {
  opacity: 1;
  background-color: #7E0606;
}

.l_header .nav {
  position: absolute;
  top: 0;
  height: 100%;
  text-align: center;
}

.l_header .nav li {
  float: left;
  width: 135px;
  border-left: solid 1px #fff;
  border-bottom: solid 1px #fff;
}

.l_header .nav li:nth-child(n + 7) a {
  background: #0DA6A6;
  border: solid 1px #0DA6A6;
}

.l_header .nav li:nth-child(n + 7) a:hover {
  opacity: 1;
  background-color: #0B8C8C;
  color: #fff;
}

.l_header .nav img {
  display: block;
  margin: 0 auto .5em;
}

.l_header .nav a {
  height: 54px;
  font-size: 1.4em;
  line-height: 1.4;
  background: #141414;
  transition: all .2s ease-in;
  border: solid 1px #141414;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.l_header .nav a:hover {
  opacity: 1;
  background-color: #505050;
}

.l_header a {
  display: block;
  color: #fff;
}

@media screen and (min-width: 769px) {
  .l_header_top_block {
    position: relative;
    width: 1240px;
    margin: 0 auto;
  }

  .l_header_top_block:before {
    content: '';
    position: absolute;
    top: -3px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #A50D0D;
  }
}

@media screen and (max-width: 768px) {
  .l_header {
    display: none;
  }
}

/* =================================
l_header_side
================================= */
.l_header_side {
  position: fixed;
  right: 0;
  z-index: 6;
  font-size: 1.4em;
  top: 300px;
}

.l_header_side a {
  text-align: center;
  width: 4.2em;
  display: block;
  background: #0DA6A6 url(../img/ico/ico_search.svg) no-repeat center 1.7em;
  color: #fff;
  padding: 3.5em 1.5em 2.3em;
  line-height: 1.1;
  transition: all .2s ease-in;
  -webkit-border-top-left-radius: 3px;
  -moz-border-radius-topleft: 3px;
  border-top-left-radius: 3px; 
  -webkit-border-bottom-left-radius: 3px; 
  -moz-border-radius-bottomleft: 3px;
  border-bottom-left-radius: 3px; 
}

.l_header_side a:hover {
  opacity: 1;
  background-color: #0B8C8C;
}

@media screen and (max-width: 768px) {
  .l_header_side {
    display: none;
  }
}

/* =================================
l_header_sp
================================= */
.l_header_sp {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  height: 91px;
  background: #fff;
  border-top: solid 2px #A50D0D;
}

.l_header_sp .top {
  position: relative;
  height: 46px;
  padding: 0 0 0 4%;
}

.l_header_sp a {
  display: block;
}

.l_header_sp .logo {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

.l_header_sp .logo img {
  width: 160px;
}

@media screen and (max-width: 359px) {
  .l_header_sp .logo img {
/*
    width: calc(100vw - 235px);
*/
   width: 125px;
  }
}

.l_header_sp ul {
  position: absolute;
  right: 0;
}

.l_header_sp li {
  text-align: center;
  float: left;
}

.l_header_sp li span {
  display: block;
}

.l_header_sp li a {
  position: relative;
  padding: 8px 0 0;
  width: 57px;
  height: 46px;
  box-sizing: border-box;
}

.l_header_sp li img {
  width: 18px;
  margin-bottom: .25em;
}

.l_header_sp li a span {
  font-size: 10px;
}


.l_header_sp .menu {
  width: 50px;
}

.l_header_sp .menu .close {
  opacity: 0;
}

.l_header_sp .menu .open {
  position: absolute;
}

.l_header_sp .mypage {
  background: #0DA6A6;
  color: #fff;
}

.l_header_sp .cart {
  background: #A50D0D;
  color: #fff;
}

.l_header_sp .cart i {
  font-style: normal;
  position: absolute;
  right: .65em;
  top: .3em;
  background: #e3721e;
  border: solid 1px #fff;
  border-radius: 100%;
  width: 1.6em;
  height: 1.6em;
  line-height: 1.4;
  font-size: 1.0em;
}

.l_header_sp .btm {
  position: absolute;
  width: 100%;
  top: 46px;
  z-index: 1;
  color: #fff;
  background: #141414;
  padding: 0 4%;
  height: 45px;
}

.l_header_sp .search {
  position: relative;
  border: solid 1px #fff;
/*
  width: calc(100% - 115px);
*/
  width: calc(100% - 95px);
  border-radius: .3em;
}

.l_header_sp .search input[type="text"] {
/*
  width: calc(100% - 40px);
*/
  width: 100%;
  height: 30px;
  padding: .4em .6em;
  background: #fff;
  box-sizing: border-box;
}

.l_header_sp .search input[type="submit"] {
  background: #141414 url(../img/ico/ico_search.svg) no-repeat center center;
  width: 36px;
  height: 30px;
  position: absolute;
  right: 0;
  top: 0;
  color: transparent;
}

.l_header_sp .cate {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  border: solid 1px #fff;
  color: #fff;
  border-radius: .3em;
  width: 91px;
  text-align: center;
  padding: .7em 0 0 0;
  font-size: 1.0em;
}

.l_header_sp a.cate {
    opacity: 1;
}

.l_header_sp .cate img {
  width: 15px;
  vertical-align: -30%;
  margin-right: 9px;
}

.l_header_sp .cate .close {
  opacity: 0;
}

.l_header_sp .cate .open {
  position: absolute;
}

.l_header_sp .inner {
  position: relative;
  margin: 7px 0 0 0;
}

@media screen and (min-width: 769px) {
  .l_header_sp {
    display: none;
  }
}

html.open .l_header_sp .menu .open {
  opacity: 0;
}

html.open .l_header_sp .menu .close {
  opacity: 1;
}

html.open.open_category .l_menu_sp .cate {
  display: block;
  padding-top: 2%;
}

html.open.open_category .l_menu_sp .nav, html.open.open_category .l_menu_sp .bnr, html.open.open_category .l_menu_sp .cal {
  display: none;
}

html.open.open_category .l_header_sp .menu .open {
  opacity: 1;
}

html.open.open_category .l_header_sp .menu .close {
  opacity: 0;
}

html.open.open_category .l_header_sp .cate .open {
  opacity: 0;
}

html.open.open_category .l_header_sp .cate .close {
  opacity: 1;
}

/* =================================
l_menu_sp
================================= */
.l_menu_sp {
  position: fixed;
  background: #fff;
  width: 100%;
  top: 91px;
  left: 0;
  display: none;
}

.l_menu_sp .inner {
  height: calc(100vh - 91px);
  overflow-y: auto;
}

.l_menu_sp .close {
  text-align: center;
  font-size: 1.2em;
  display: block;
  padding: 1em 0 3em;
}

@media screen and (min-width: 769px) {
  .l_menu_sp {
    display: none !important;
  }
}

.l_menu_sp .nav.a {
  background: #141414;
  border-top: solid 1px #323232;
}

.l_menu_sp .nav.a a {
  color: #fff;
}

.l_menu_sp .nav.a li {
  border-bottom: solid 1px #323232;
}

.l_menu_sp .nav.b {
  background: #0DA6A6;
}

.l_menu_sp .nav.b a {
  color: #fff;
}

.l_menu_sp .nav.b li {
  border-bottom: solid 1px #059292;
}

.l_menu_sp .nav.c {
  background: #F0F0F0;
}

.l_menu_sp .nav.c a {
  color: #0DA6A6;
  padding: 1.4em 4%;
}

.l_menu_sp .nav.c a span {
  display: block;
  color: #141414;
  margin-top: .5em;
  font-size: 90%;
}

.l_menu_sp .nav.c a:before {
  border-top: 2px solid #0DA6A6;
  border-right: 2px solid #0DA6A6;
}

.l_menu_sp .nav.c li {
  border-bottom: solid 1px #DCDCDC;
}

.l_menu_sp .nav a {
  display: block;
  font-size: 1.4em;
  padding: 1.7em 4%;
  position: relative;
}

.l_menu_sp .nav a:before {
  content: '';
  position: absolute;
  right: 4.8%;
  width: .4em;
  height: .4em;
  top: 48%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
}

.l_menu_sp .cate {
  display: none;
  padding: 0 2%;
}

.l_menu_sp .cate li {
  border: solid 1px #F0F0F0;
  width: 49%;
  margin: 0 0 2%;
  background: #fff;
}

.l_menu_sp .cate li a {
  display: block;
  position: relative;
}

.l_menu_sp .cate li p {
  position: absolute;
  top: 50%;
  left: 60px;
  transform: translate(0, -50%);
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.3;
}

.l_menu_sp .cate li p small {
  font-size: 85.7%;
}

.l_menu_sp .cate li img {
  display: block;
  height: 60px;
  margin-left: 4%;
}

.l_menu_sp .cate li:nth-child(odd) {
  float: left;
}

.l_menu_sp .cate li:nth-child(even) {
  float: right;
}

.l_menu_sp .bnr {
  margin: 5% 15%;
}

.l_menu_sp .bnr img {
  max-width: 100%;
  display: block;
}

.l_menu_sp .bnr a {
  display: block;
  padding: 1px;
  background: #fff;
  border: solid 1px #DCDCDC;
}

.l_menu_sp .bnr li + li {
  margin-top: -1px;
}

.l_menu_sp .cal {
  background: #fff;
  text-align: center;
  margin: 0 4%;
}

.l_menu_sp .cal dt {
  color: #fff;
  font-weight: bold;
  font-size: 1.4em;
  padding: 1em 0;
  background: #141414;
}

.l_menu_sp .cal dd {
  border: solid 1px #DCDCDC;
}

.l_menu_sp .close {
  text-align: center;
  margin: .3em 0 6.6em;
}

.l_menu_sp .close a {
  display: inline-block;
  background: #0DA6A6;
  box-shadow: 0 6px 0 0 #0B8C8C;
  width: 200px;
  border-radius: .3em;
  padding: 1em 0 .8em;
  font-weight: bold;
  color: #fff;
  font-size: 1.2em;
  transition: background .2s ease-in;
  position: relative;
}

.l_menu_sp .close a img {
  width: 15px;
  vertical-align: -15%;
  margin-right: .5em;
}

.l_menu_sp .close a:hover {
  opacity: 1;
  background: #0B8C8C;
  box-shadow: none;
  bottom: -6px;
}

/* =================================
l_header_nav
================================= */
.l_header_nav {
  position: relative;
  z-index: 1;
}

.l_header_nav li a {
  display: block;
}

.l_header_nav nav {
  padding: 18px 10px 25px;
  text-align: center;
}

.l_header_nav p {
  height: 2.6em;
  font-size: 1.2em;
  line-height: 1.4;
  font-weight: bold;
}

.l_header_nav p span {
  position: relative;
  display: block;
  top: 50%;
  transform: translate(0, -50%);
}

@media screen and (min-width: 769px) {
  .l_header_nav.sp {
    position: absolute;
    left: 0;
    width: 100%;
    visibility: hidden;
  }
  .l_header_nav .bx-prev {
    display: none;
  }
  .l_header_nav .bx-next {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .l_header_nav {
    margin: 60px 0 0;
  }
  .l_header_nav.pc {
    position: absolute;
    left: 0;
    width: 100%;
    visibility: hidden;
  }
  .l_header_nav nav {
    padding: 10px 50px 0;
  }
  .l_header_nav .bx-prev {
    left: 2em;
    background: url(../img/ico/ico_arrow_slide_l_sp.svg) no-repeat center center;
  }
  .l_header_nav .bx-next {
    right: 2em;
    background: url(../img/ico/ico_arrow_slide_r_sp.svg) no-repeat center center;
  }
  .l_header_nav .bx-controls-direction a {
    position: absolute;
    top: 0;
    width: 12px;
    height: 100%;
    z-index: 98;
    color: transparent;
    background-size: contain;
  }
}


/* =================================
l_side
================================= */
body.page .l_side .search {
  display: none;
}

body.p_history .l_side .search {
  display: block;
}
.l_side {
  width: 260px;
  float: left;
  margin-left: -1px;
  margin-top: -1px;
}

.l_side dl {
  margin-bottom: 20px;
  background: #F0F0F0;
}

.l_side dt {
  color: #fff;
  font-weight: 400;
  font-size: 1.4em;
  text-align: center;
  padding: 15px 0 0;
  background: #141414;
  height: 45px;
}

.l_side dd {
  padding: 20px 20px 22px;
}

.l_side .news dt {
  background: #A50D0D;
  padding: 12px 0 0 2px;
  font-weight: normal;
}

.l_side .news dt img {
  vertical-align: -40%;
  margin-right: .6em;
}

.l_side .news dd {
  background: #fdeeee;
  padding: 20px 21px 25px;
}

.l_side .news a {
  font-size: 1.2em;
  padding-left: 1.5em;
  display: block;
  position: relative;
  font-weight: 500;
}

.l_side .news a span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #A50D0D;
  font-weight: bold;
  margin-top: .7em;
  font-size: 116%;
}

.l_side .news a:before {
  content: '';
  position: absolute;
  margin-top: -1px;
  left: -3px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1.5px solid #A50D0D;
  border-right: 1.5px solid #A50D0D;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
}

.l_side .news li + li {
  margin-top: 14px;
  padding-top: 15px;
  border-top: none;
  background: url(../img/common/l_side_news_line.png) repeat-x 0 0;
}

.l_side .deliv dd {
  padding-bottom: 2.4em;
  padding-left: 2.15em;
}

.l_side .deliv dd dl {
  background: #fff;
  position: relative;
  overflow: hidden;
  margin: 0 2px 0 0;
}

.l_side .deliv dd dl.b {
  margin: 1.4em 2px 1.4em 0;
}

.l_side .deliv dd dl.b dt {
  background: #0DA6A6;
}

.l_side .deliv dd dl.b dt:before {
  border-color: transparent transparent transparent #0DA6A6;
}

.l_side .deliv dd dl.b dd em {
  color: #0DA6A6;
}

.l_side .deliv dd dt {
  position: absolute;
  color: #fff;
  font-size: 1.4em;
  margin-bottom: .5em;
  font-weight: 500;
  text-align: left;
  padding: .65em .5em 0 1.2em;
  line-height: 1.4;
  letter-spacing: .05em;
  background: #A50D0D;
  height: 100%;
}

.l_side .deliv dd dt:before {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 3em 0 3em 1em;
  border-color: transparent transparent transparent #A50D0D;
  right: -.8em;
  top: 50%;
  transform: translate(0, -50%);
}

.l_side .deliv dd dd {
  padding: .8em 0 .7em;
  font-size: 1.2em;
  line-height: 1.2;
  margin-left: 6.6em;
}

.l_side .deliv dd dd em {
  font-style: normal;
  font-size: 1.333em;
  color: #A50D0D;
  font-weight: bold;
  margin: 0 0 0 .3em;
}

.l_side .deliv dd dd i {
  font-style: normal;
  font-size: 1.25em;
}

.l_side .deliv dd dd span {
  margin: 0 0 0 0;
}

.l_side .deliv dd dd span.deliv_deadline {
  font-weight: 500;
}
.l_side .deliv dd dd span.deliv_line {
  margin: 0 0 0 0;
  color: #b4b4b4;
  vertical-align: baseline;
}

.l_side .deliv dd dd span.deliv_time {
  margin: 0 0 0 .45em;
}

.l_side .deliv dd .detail {
  text-align: center;
  font-size: 1.2em;
}

.l_side .deliv dd .detail a {
  border-bottom: solid 1px #141414;
}

.l_side .search dt {
  padding: 1.15em 2px 1.15em 0;
}

.l_side .search dd dl {
  border: none;
  margin-bottom: 0;
}

.l_side .search dd dt {
  color: #323232;
  font-size: 1.4em;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: left;
  padding: 0;
  background: transparent;
  height: auto;
}

.l_side .search dd dd {
  padding: 0;
  font-size: 1.2em;
  margin-bottom: 15px;
  margin-left: 1px;
}

.l_side .search dd dd select {
  font-size: 1em;
}

.l_side .search dd .left {
  float: left;
  width: 100px;
  position: relative;
}

.l_side .search dd .left:before {
  content: '-';
  position: absolute;
  right: -.9em;
  bottom: 23px;
  font-size: 1.4em;
}

.l_side .search dd .left dd {
  margin-bottom: 13px;
}

.l_side .search dd .right {
  float: right;
  width: 100px;
}

.l_side .search dd .right dd {
  margin-bottom: 13px;
}

.l_side .search dd .c_btn_search {
  margin-top: 2em;
}

.l_side .search dd .txt {
  position: relative;
}

.l_side .search dd .txt input[type="text"] {
  width: 194px;
  height: 28px;
  border: solid 1px #c8c8c8;
  border-right: none;
/*
  padding: .4em .6em;
*/
  padding: .3em .6em .4em .6em;
  background: #fff;
  border-radius: .2em;
}

.l_side .search dd .txt input[type="submit"] {
  background: #141414 url(../img/ico/ico_search.svg) no-repeat center center;
  background-size: 14px auto;
  width: 26px;
  height: 28px;
  position: absolute;
  right: 0;
  top: 0;
  color: transparent;
  border-radius: 0 .2em .2em 0;
}

.l_side #category {
  position: absolute;
  margin-top: -60px;
  width: 100%;
  left: 0;
}

.l_side .cate {
  background: #f8f8f8;
}

.l_side .cate dd {
  padding-bottom: 10px;
}



.l_side .cate .head {
  display: block;
  background: #fff;
  border: solid 1px #F0F0F0;
  border-radius: .2em;
  color: #A50D0D;
  font-size: 1.8em;
  font-weight: bold;
  position: relative;
  padding: .4em 0 .4em 4.4em;
  line-height: 1.4;
  margin-bottom: .5em;
}

.l_side .cate .head small {
  display: block;
  font-size: 66.66%;
}

.l_side .cate .head:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 64px;
  background: #A50D0D url(../img/ico/ico_express.svg) no-repeat center center;
}

.l_side .cate a.cate_head_link:hover .head {
  opacity: .7;
}



.l_side .cate li + li {
  margin-top: 1px;
  border-top: none;
  background: url(../img/common/l_side_cate_line.png) repeat-x 0 0;
}

.l_side .cate li a {
  display: block;
  position: relative;
  padding: 7px 0 .54em;
  height: 74px;
}

.l_side .cate li p {
  position: absolute;
  top: 50%;
  left: .3em;
  transform: translate(0, -50%);
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.3;
}

.l_side .cate li p small {
  font-size: 85.7%;
}

.l_side .cate li img {
  display: block;
  margin-left: auto;
  margin-right: -1px;
}

.l_side .bnr {
  margin-bottom: 2em;
}

.l_side .bnr img {
  max-width: 100%;
  display: block;
}

.l_side .bnr a {
  display: block;
  padding: 1px;
  border: solid 1px #DCDCDC;
}

.l_side .bnr li + li {
  margin-top: -1px;
}

.l_side .use dd {
  padding: 26px 20px 24px 21px;
}

.l_side .use li {
  position: relative;
}

.l_side .use li + li {
  margin-top: 2em;
  padding-top: 1.96em;
  border-top: none;
  background: url(../img/common/l_side_use_line.png) repeat-x 0 0;
}

.l_side .use li a {
  display: block;
  padding-left: 5.5em;
}

.l_side .use li img {
  position: absolute;
  left: 0;
  bottom: -.5em;
}

.l_side .use li p {
  font-size: 1.4em;
  font-weight: bold;
}

.l_side .use li p span {
  display: block;
  font-size: 85.7%;
  margin-top: .7em;
  font-weight: normal;
}

.l_side .cal {
  background: #fff;
  text-align: center;
}

.l_side .cal dd {
  padding: 0;
  border: solid 1px #DCDCDC;
}

.l_side .cal img {
  display: block;
}

.l_side .cal .common_calendar_block {
  padding-top: 1px;
}

.common_calendar_block {
  width: 199px;
  margin: 20px auto 20px auto;
}
.common_calendar_ttl_block {
  position: relative;
  padding-bottom: 15px;
}

.common_calendar_ttl {
  text-align: center;
  color: #0A0A0A;
  font-size: 1.2em;
  padding: 0 25px 0 25px;
}

.common_calendar_ttl_prev {
  width: 17px;
  height: 17px;
  position: absolute;
  top: 0;
  left: 0;
}

.common_calendar_ttl_next {
  width: 17px;
  height: 17px;
  position: absolute;
  top: 0;
  right: 0;
}

.common_calendar_tbl {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #fff;
}


.common_calendar_week {
/*
  border: 1px solid #fff;
  border-bottom: 1px solid #D1D1D1;
*/
  box-sizing: border-box;
  text-align: center;
  color: #0A0A0A;
  font-size: 1.3em;
  padding: 1px 0 6px 0;
}

.common_calendar_day {
  border: 1px solid #D1D1D1;
/*
  box-sizing: border-box;
*/
  text-align: center;
  color: #0A0A0A;
  font-size: 1.2em;
  padding: 2px 0 4px 0;
  vertical-align: middle;
}

.common_calendar_holiday {
  background-color: #F6CFFC;
}

.common_calendar_today {
  background-color: #CCCCCC;
  color: #0017F5;
}

.common_calendar_info {
  color: #0A0A0A;
  font-size: 1.1em;
  margin: 19px 0 0 0;
  text-align: left;
}

.common_calendar_info_space {
  margin-right: 17px;
}

.common_calendar_today_icon {
  background-color: #0017F5;
  color: #0017F5;
  margin: 0 13px 0 3px;
  display: inline-block;
  width: 6px;
  height: 6px;
  overflow: hidden;
  vertical-align: 2px;
}

.common_calendar_holiday_icon {
  background-color: #F6CFFC;
  color: #F6CFFC;
  margin: 0 16px 0 0;
  display: inline-block;
  width: 6px;
  height: 6px;
  overflow: hidden;
  vertical-align: 2px;
}


.common_calendar_block .slick-prev,
.common_calendar_block .slick-next {
  position: absolute;
  top: 8px;
  display: block;
  width: 17px;
  height: 17px;
  padding: 0;
  z-index: 2;
  cursor: pointer;
  border: none;
  outline: none;
  color: transparent;
}

.common_calendar_block .slick-prev {
  left: 0;
  background: url(../img/common/caol_icon_prev.png) no-repeat 0 0;
}

.common_calendar_block .slick-next {
  right: 0;
  background: url(../img/common/caol_icon_next.png) no-repeat 0 0;
}

.common_calendar_block .slick-prev:before, 
.common_calendar_block .slick-next:before {
  display: none;
}

.common_calendar_block .slick-prev.slick-disabled, 
.common_calendar_block .slick-next.slick-disabled {
  display: none;
  background-image: none;
  cursor: default;
}




@media screen and (max-width: 768px) {
  .l_side {
    width: auto;
    float: none;
    display: none;
  }
  .l_side dl {
    margin: 0;
  }

  .l_menu_sp .cal .common_calendar_block {
    width: 77%;
    margin: 23px auto 20px auto;
  }

  .common_calendar_ttl_block {
    padding-bottom: 18px;
  }

  .common_calendar_ttl {
    font-size: 1.4em;
  }

  .common_calendar_week {
    padding: 1px 0 7px 0;
  }

  .common_calendar_day {
    padding: 2px 0 4px 0;
  }

  .common_calendar_info {
    font-size: 1.1em;
    margin: 21px 0 0 0;
  }

  .common_calendar_today_icon {
    margin: 0 17px 0 3px;
  }

  .common_calendar_holiday_icon {
    margin: 0 18px 0 0;
  }

}

/* =================================
l_footer_note
================================= */
.l_footer_note {
  margin: 90px 0 -8px;
}

@media screen and (max-width: 768px) {
  .l_footer_note {
    margin: 0;
  }
}

.l_footer_note .info {
  position: relative;
}

.l_footer_note .info dt {
  color: #0DA6A6;
  font-weight: bold;
}

.l_footer_note .info dt.l_footer_note_postage {
  margin-bottom: -1px;
}

.l_footer_note .info dt.l_footer_note_shipping_ttl {
  margin-bottom: -2px;
}

.l_footer_note .info .l_footer_note_postage dd {
  margin-bottom: 1px;
}

.l_footer_note .info .l_footer_note_postage dd.l_footer_note_delivery_txt {
  margin-bottom: -1px;
}

.l_footer_note .info img {
  max-width: 100%;
}

.l_footer_note .info .card {
  background: #fff;
  padding: .5em 2.5em 0;
  margin: 20px 0 0;
}

.l_footer_note .info .deli {
  margin: 13px 0 0;
}

.l_footer_note .info .ttl {
  background: #141414;
  color: #fff;
  font-weight: 500;
  padding: 1.08em 1.5em 1.18em 1.5em;
  text-align: center;
  font-size: 1.4em;
}

.l_footer_note .info .box a {
  text-decoration: underline;
}


.l_footer_note .info .link {
  font-size: .85em;
  padding-right: 2px;
}

.l_footer_note .info .link a {
/*
  padding-left: .6em;
*/
  padding-left: 7px;
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.l_footer_note .info .link a:before {
  content: '';
  position: absolute;
  left: -5px;
  top: .6em;
  width: 5px;
  height: 7px;
  border: none;
  background: url(../img/common/link_arrow01.png) no-repeat 0 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
/*
  border-top: 1px solid #0DA6A6;
  border-right: 1px solid #0DA6A6;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
*/
}

.l_footer_note .info .box {
  font-size: 1.4em;
  line-height: 1.77;
  padding: 1em 1.4em 2.5em;
  background: #f8f8f8;
  height: calc(100% - 3em);
  position: relative;
}

.l_footer_note .info .box dd, 
.l_footer_note .info .box p {
  margin-bottom: .75em;
  font-weight: 500;
}

.l_footer_note .info .l_footer_note_postage .box dd {
  margin-bottom: .7em;
}

.l_footer_note .info .l_footer_note_return .box dd.l_footer_note_defective_txt {
  padding-bottom: 10px;
}



.l_footer_note .info .box li {
  position: relative;
  padding: 0 0 0 1em;
}

.l_footer_note .info .box li.l_footer_note_postage_cash {
	margin-bottom: -3px;
}

.l_footer_note .info .box li:before {
  content: '';
  position: absolute;
  left: .2em;
  top: .7em;
  width: .4em;
  height: .4em;
  background: #0DA6A6;
  border-radius: 100%;
}

.l_footer_note .info .box li em {
  display: block;
  font-style: normal;
}



@media screen and (min-width: 769px) {
  .l_footer_note .info {
    position: relative;
    margin-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .l_footer_note .info + .info {
    padding-top: 4px;
  }
  .l_footer_note .info > li {
    flex-basis: 455px;
    max-width: 455px;
  }
  .l_footer_note .info .link {
    text-align: right;
    bottom: 1.5em;
    right: 1.5em;
    position: absolute;
  }
}

@media screen and (max-width: 768px) {
  .l_footer_note .info .ttl {
    text-align: center;
    padding: 10px 1.5em 10px;
    font-size: 1.2em;
  }

  .l_footer_note .info .card {
    padding: 0;
    margin: -4px 0 0;
  }
  .l_footer_note .info .link {
    text-align: center;
    margin: 1.2em 0 0;
  }
  .l_footer_note .info .box {
    padding: 1.4em 1.2em 1.4em;
    font-size: 1.2em;
  }

  .l_footer_note .info .link a:before {
    top: .5em;
    left: -5px;
  }

  .l_footer_note .info .l_footer_note_postage dd.l_footer_note_delivery_txt {
    margin-bottom: 3px;
  }

  .l_footer_note .info dt.l_footer_note_shipping_ttl {
    margin-bottom: 1px;
  }

  .l_footer_note .info .box li.l_footer_note_postage_cash {
    margin-bottom: 1px;
  }

  .l_footer_note .info .l_footer_note_delivary_time {
    margin-top: -10px;
  }

  .l_footer_note .info .deli {
    margin: 6px 0 7px;
  }

  .l_footer_note .info .l_footer_note_return .box {
    padding: 1.0em 1.2em 1.4em;
    font-size: 1.2em;
  }

  .l_footer_note .info .l_footer_note_return .box dd, 
  .l_footer_note .info .l_footer_note_return .box p {
    margin-bottom: .55em;
  }

  .l_footer_note .info .l_footer_note_return .box dd.l_footer_note_cancel_txt  {
    margin-bottom: .35em;
  }

  .l_footer_note .info .l_footer_note_return .box dd.l_footer_note_defective_txt {
    padding-bottom: 0px;
  }

  .l_footer_note .info .l_footer_note_privacy .box p {
    margin-bottom: .6em;
  }

  .l_footer_note .info .l_footer_note_privacy .link  {
    margin-top: 5px;
  }

}


/* =================================
l_pagetop
================================= */
.l_pagetop_box {
  display: block;
  width: 70px;
  height: 25px;
  margin-left: auto;
  position: relative;
  bottom: -5px;
  background-color: #141414;
}

.l_pagetop a {
  position: absolute;
  display: block;
  width: 70px;
  height: 25px;
  top: -5px;
}

.l_pagetop a:hover {
  height: 30px;
  top: -10px;
  opacity: 1;
}

.l_pagetop img {
  display: block;
}

@media screen and (max-width: 768px) {
  .l_pagetop {
    display: none;
  }
}



/* =================================
l_footer
================================= */
.l_footer {
  border-top: none;
  padding: 0em 0 0;
  background: #141414;
  color: #fff;
}

.l_footer_in {
  padding: 3.6em 0 0;
  background: #141414;
}

.l_footer .info {
  padding: .3em 0 0;
}

.l_footer .info p {
  font-size: 1.2em;
  line-height: 1.8;
  margin-top: 1.2em;
  color: #fff;
}

.l_footer .nav a {
  color: #fff;
  display: block;
  font-size: 1.2em;
  position: relative;
  padding: .4em 0 .4em 16px;
}

.l_footer .nav a:before {
  content: '';
  position: absolute;
  left: 0;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: .8em;
}

.l_footer .nav a.out {
  background: url(../img/ico/ico_link.svg) no-repeat left center;
}

.l_footer .nav a.out:before {
  content: none;
}

.l_footer .nav li + li {
  margin: .5em 0 0;
}

@media screen and (min-width: 769px) {
  .l_footer .info {
    display: inline-block;
    vertical-align: top;
    padding-right: 1em;
  }
  .l_footer .nav {
    display: inline-block;
    vertical-align: top;
    margin-left: 7.1em;
  }

  .l_footer_in {
    padding-bottom: 32px;
  }

}

@media screen and (max-width: 768px) {
  .l_footer {
    padding: 15px 0 .4em;
  }
  .l_footer_in {
    padding: 0 15px;
  }

  .l_footer .info img {
    width: 150px;
  }

  .l_footer .info p {
    font-size: 1.0em;
    line-height: 1.8;
    margin-top: 1.0em;
  }

  .l_footer .info p a {
    color: #fff;
  }

  .l_footer .nav {
    display: none;
  }
  .l_footer .nav.link {
    display: block;
    margin-top: .5em;
    font-size: 1.0em;
  }
  .l_footer .nav.link li {
    margin-bottom: .4em;
  }
  .l_footer .nav.link a {
    font-size: 1.1em;
  }
}

.l_footer .copy {
  text-align: center;
  font-size: 1.2em;
  border-top: solid 1px #323232;
  padding: .4em 0 .6em;
  margin: 0 0 0;
  background: #141414;
}

@media screen and (max-width: 768px) {
  .l_footer .copy {
    padding: 10px 0 5px;
    font-size: 1.0em;
  }
}


/* =================================
clear
================================= */
/* ---IE7.IE8 clearfix--- */
.clearfix:after { content: ".";display: block;clear: both;height: 0;visibility: hidden; }
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

.clear {
	clear: both;
}


/* =================================
more
================================= */
.c_more {
  text-align: center;
  margin: .3em 0 4.5em;
}

@media screen and (max-width: 768px) {
  .c_more {
    margin: .3em 0 3.2em;
  }
}

.c_more a {
  display: inline-block;
/*
  background: #0DA6A6;
  background: red;
*/
  background: #0DA6A6;
  border: 1px solid #0DA6A6;
  box-shadow: 0 6px 0 0 #0B8C8C;
  width: 240px;
  padding: .95em 0 .9em 1em;
  color: #fff;
  font-size: 1.4em;
/*
  transition: background .2s ease-in;
*/
  position: relative;
  border-radius: .4em;
  zoom:1
}

.c_more a span {
  display: inline-block;
  position: relative;
}

.c_more a span:before {
  content: '';
  position: absolute;
  left: -1.6em;
  top: 45%;
  width: .4em;
  height: .4em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
}

.c_more a:hover {
  opacity: 1;
/*
  background: #0B8C8C;
  background: blue;
  transition: background .2s ease-in;
*/
  background: #0B8C8C;
  border: 1px solid #0B8C8C;
  box-shadow: none;
  bottom: -6px;
}

@media screen and (max-width: 768px) {
  .c_more a {
    width: 159px;
    font-size: 1.0em;
    box-shadow: 0 4px 0 0 #0B8C8C;
  }
}

.c_more_box.close .c_more a:before {
  content: '閉じる';
}

.c_more_box.close .c_list_3 li {
  display: block !important;
}

.c_more_box.more .c_more a:before {
  content: 'もっと見る';
}

@media screen and (min-width: 769px) {
  .c_more_box.more .c_list_3 li:nth-child(-n + 5) {
    display: block !important;
  }
  .c_more_box.more .c_list_3 li:nth-child(n + 6) {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .c_more_box.more .c_list_3 li:nth-child(-n + 6) {
    display: block !important;
  }
  .c_more_box.more .c_list_3 li:nth-child(n + 7) {
    display: none !important;
  }
}

/* =================================
btn
================================= */
.c_btn_search {
  text-align: center;
  margin-bottom: .5em;
}

.c_btn_search button {
  font-size: 1.4em;
  display: inline-block;
  background: #0DA6A6;
  width: 215px;
  color: #fff;
  box-shadow: 0 5px 0 0 #0B8C8C;
  padding: .75em 0 .65em 1em;
  border-radius: .4em;
  position: relative;
  border: 1px solid #0DA6A6;
}

.c_btn_search button:hover {
  background-color: #0B8C8C;
  box-shadow: none;
  bottom: -5px;
}

.c_btn_search button span {
  position: relative;
  display: inline-block;
}

.c_btn_search button span:before {
  content: '';
  position: absolute;
  left: -1.6em;
  top: 45%;
  width: .4em;
  height: .4em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
}

.p_products .search .c_btn_search button {
  font-size: 1.35em;
}
.p_products .search .c_btn_search button span:before {
  top: 45%;
}


@media screen and (max-width: 768px) {
  .c_btn_search button {
    width: 200px;
  }

  .p_products .search .c_btn_search button {
    font-size: 1.2em;
  }

}

.c_btn_cart {
  text-align: center;
  margin-bottom: .5em;
}

.c_btn_cart button {
  font-size: 14px;
  display: inline-block;
  background: #A50D0D;
  width: 230px;
  color: #fff;
  box-shadow: 0 5px 0 0 #8b0505;
  padding: 1.4em 0 .8em;
  border-radius: .4em;
  position: relative;
}

.c_btn_cart button img {
  vertical-align: -25%;
  margin-right: .5em;
}

.c_btn_cart button:hover {
  box-shadow: none;
  bottom: -5px;
}

/* =================================
l_breadcrumbs
================================= */
.l_breadcrumbs {
  background: url(../img/common/line_pattern01.png) repeat-x;
  border-bottom: solid 1px #e6e6e6;
  padding: 19.5px 0 14px;
  margin: 0 0 2em;
}

.l_breadcrumbs_trophy {
margin-left: -.35em;

}


.l_breadcrumbs > span {
  font-size: 1.2em;
  display: inline-block;
}

.l_breadcrumbs > span + span {
	padding-left: 23px;
  position: relative;
}
.l_breadcrumbs > span + span:before {
/*
  content: '>';
  margin: 0 .45em 0 .5em;
  color: #c8c8c8;
*/
  display: inline-block;
  top: 3px;
  left: 3px;
  content: '';
  position: absolute;
  width: 5px;
  height: 9px;
  background: url(../img/common/l_breadcrumbs_icon.png) no-repeat 100% center;
  background-size: 100% auto;
/*
  border-top: 1px solid #c8c8c8;
  border-right: 1px solid #c8c8c8;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
*/
  margin: 0 .45em 0 .5em;
}

.l_breadcrumbs a {
  color: #0DA6A6;
}

@media screen and (max-width: 768px) {
  .l_breadcrumbs {
    white-space: nowrap;
    overflow-x: auto;
    padding: 2.1em 0 1.4em;
    margin: 0 2px 2em;
  }
  .l_breadcrumbs > span {
    font-size: 1em;
  }

  .l_breadcrumbs > span + span:before {
    top: 2px;
    left: 3px;
  }

.p_colums .l_breadcrumbs {
    white-space: nowrap;
    overflow-x: auto;
    padding: 2.1em 0 1.4em;
    margin: 0 2px 16px;
  }

}



