@charset "UTF-8";
.breadcrumb-content {
  padding: 5px 0; }

.key-visual {
  width: 100%;
  height: 330px;
  margin-bottom: 40px; }

.link-btn {
  margin-top: 25px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 195px;
  height: 50px;
  font-size: 15px;
  color: #444;
  letter-spacing: 0.25px;
  white-space: nowrap;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 0;
  transition: 0.3s;
  -webkit-appearance: none; }

.link-btn svg {
  -webkit-transform: translateX(8px) translateY(1px);
  transform: translateX(8px) translateY(1px); }

.link-btn svg {
  -webkit-transform: translateX(8px) translateY(-1px);
  transform: translateX(8px) translateY(-1px); }

.link-btn i,
.link-btn svg {
  font-size: 12px;
  color: #d9d9d9;
  fill: #d9d9d9;
  transition: 0.3s; }

.link-btn:hover {
  color: #fff;
  background: #444; }

.link-btn:hover i,
.link-btn:hover svg {
  color: #a1a1a1;
  fill: #a1a1a1; }

.link-btn .btn-arw {
  width: 8px; }

h2 {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 1.75;
  text-align: center; }

.notice-text {
  margin: 50px 0;
  font-size: 17px; }

/*文字調節*/
.kome {
  margin-bottom: 20px;
  font-size: 11px;
  color: #777; }

.blue {
  color: #48C0BA; }

.orange {
  color: #fb7804; }

.expired {
  color: red;
  text-align: center;
  font-weight: 500;
  background-color: #FAE0E0;
  padding: 10px; }

/*キャンペーン終了の赤文字*/
/*強調ライン色別*/
.yline {
  background: linear-gradient(transparent 60%, #ffff99 0%); }

/*サイズ・位置調節*/
.w80 {
  width: 80% !important;
  margin-left: 10% !important; }

.w100 {
  width: 100%; }

.ctrt {
  text-align: center; }

.ctrm {
  margin: auto; }

.ctr {
  text-align: center !important; }

.w90pc {
  width: 90%;
  margin-left: 5%; }

hr {
  border: 0;
  border-top: 1px dashed #2d2d2d; }

.prodboxr, .prodbox {
  position: relative;
  background-color: #ffffff; }
  .prodboxr .txtbox, .prodbox .txtbox {
    width: 100%;
    margin-left: 0%; }
  .prodboxr .pimg, .prodbox .pimg {
    width: 82%;
    margin-left: 9%;
    margin-top: 40px; }
  .prodboxr .ttl, .prodbox .ttl {
    font-size: 21px;
    font-weight: 600; }
  .prodboxr .txt, .prodbox .txt {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8; }

.prodbox {
  background-image: url("https://www.haba.co.jp/assets/images/pages/f-static/campaign/188_deco_003.png");
  background-size: 100%;
  background-position: 0px 10px; }

.prodboxr {
  background-image: url("https://www.haba.co.jp/assets/images/pages/f-static/campaign/188_deco_004.png");
  background-size: 100%;
  background-position: 0px 10px; }

.specbox {
  width: 95%;
  margin-left: 0px;
  position: relative; }
  .specbox .name {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
    margin-top: 20px;
    line-height: 1.7;
    text-align: center; }
  .specbox .spec {
    font-size: 14px;
    letter-spacing: 0.11em;
    font-weight: 500; }
  .specbox .limit {
    font-size: 15px;
    letter-spacing: 0.13em;
    border: solid 1px #d252d2;
    padding: 1px 2px;
    color: #d252d2; }
  .specbox .price {
    font-size: 23px;
    font-weight: 700;
    margin-top: 10px;
    text-align: center; }
  .specbox .psmall {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.1em; }

.mainbk136 {
  width: 100%; }

.introbox .mimgs {
  width: 60%;
  margin-left: 20%; }
.introbox .txt_box_intro {
  width: 90%;
  margin-left: 5%;
  margin-top: 20px; }
.introbox button {
  padding: 3px 10px;
  border-radius: 10px;
  border: 1px solid #474747;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.15em;
  margin-right: 10px; }
.introbox .ttl {
  margin-top: 20px;
  font-size: 25px;
  font-weight: 600;
  letter-spacing: 0.15em; }
.introbox .txt {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 500; }

.mvbox {
  position: relative; }
  .mvbox .innermvbox {
    position: relative;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto; }
  .mvbox .ttlimge {
    position: absolute;
    top: 140px;
    right: 16%;
    width: 26%;
    max-width: 390px; }
    .mvbox .ttlimge img {
      width: 100%;
      padding-bottom: 30px; }
    .mvbox .ttlimge p {
      margin-left: 10px;
      width: 100%;
      font-size: 15px;
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone;
      display: inline;
      padding: .3em;
      line-height: 2.5;
      background-color: #ffffff;
      font-weight: 500; }
  .mvbox .product {
    position: absolute;
    top: 140px;
    left: 15%;
    width: 40%; }
  .mvbox .bgimg {
    width: 100%;
    max-height: 750px; }

a.setbtn {
  position: relative;
  display: block;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 88%;
  margin-left: 6%;
  padding: 5px;
  font-weight: bold;
  border: 2px solid #c6b2a3;
  background: #c6b2a3;
  color: #3c3c3c;
  transition: 0.5s; }
  a.setbtn:hover {
    background: #fff; }
  a.setbtn::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 30%;
    right: 20px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #3c3c3c;
    border-right: 2px solid #3c3c3c;
    transform: rotate(45deg); }

/* 買い物ボタン */
.btn_style {
  width: 230px;
  height: 45px;
  background: #444;
  letter-spacing: 0.15em;
  border: 1px solid #444;
  box-sizing: border-box;
  transition: all .3s 0s ease-in-out;
  text-align: center;
  font-size: 15px; }

.btn_style.mini {
  width: 100%;
  height: 45px; }

.btn_style.mini > a,
.btn_style.mini > span {
  font-size: 15px; }

.btn_style.mini > a span,
.btn_style.mini > span span {
  padding-left: 35px; }

.btn_style.off {
  background: #ccc;
  border: 1px solid #ccc; }

.btn_style:not(.btn_style.off):hover {
  background: #fff; }

.btn_style:not(.btn_style.off):hover > a,
.btn_style:not(.btn_style.off):hover > span {
  color: #444; }

.btn_style > a,
.btn_style > span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 17px; }

.btn_style > a span,
.btn_style > span span {
  position: relative;
  padding-left: 40px;
  text-align: center; }

.btn_style > a span:before,
.btn_style > span span:before {
  display: block;
  content: '';
  width: 23px;
  height: 17px;
  background: url("/assets/images/pages/f-static/campaign/icon_cart.png") left top no-repeat;
  background-size: 23px 17px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate3d(0, -50%, 0); }

.btn_style:not(.btn_style.off):hover > a span:before,
.btn_style:not(.btn_style.off):hover > span span:before {
  background: url("/assets/images/pages/f-static/campaign/icon_cart_b.png") left top no-repeat;
  background-size: 23px 17px; }

/* ここにPC向けのCSS指定 */
@media (min-width: 768px) {
  .breadcrumb-content {
    padding: 10px 0; }

  .key-visual {
    width: 1180px;
    height: 560px;
    margin: 0 auto 70px; }

  .link-btn {
    width: 190px;
    height: 55px;
    line-height: 55px; }

  .purchase-btn {
    width: 210px;
    height: 55px;
    line-height: 55px;
    margin-left: 350px; }

  .sec-mv {
    margin-bottom: 70px; }

  .heading {
    height: 180px; }

  .heading__main {
    font-size: 30px;
    white-space: nowrap; }

  h2 {
    margin-bottom: 30px;
    font-size: 26px; }

  .notice-text {
    margin: 80px 0;
    font-size: 18px; }

  .sponly {
    display: none !important; }

  /*サイズ・位置調節*/
  .mtm20 {
    margin-top: -20px; }

  .ml20pc {
    margin-left: 20px; }

  .rightpc {
    text-align: right; }

  .ctrpc {
    text-align: center; }

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

  .ml500 {
    margin-left: 710px; }

  .mt40pc {
    margin-top: 45px !important; }

  .prodbox, .prodboxr {
    display: flex;
    align-items: flex-start;
    position: relative;
    margin-top: 50px; }
    .prodbox .ttl, .prodboxr .ttl {
      font-size: 23px;
      letter-spacing: 0.13em; }
    .prodbox .txt, .prodboxr .txt {
      font-size: 15px;
      letter-spacing: 0.11em;
      line-height: 1.8; }

  .prodboxr {
    flex-direction: row-reverse;
    background-image: url("https://www.haba.co.jp/assets/images/pages/f-static/campaign/188_deco_004.png");
    background-size: 100%;
    background-position: 0px 40px; }
    .prodboxr .color {
      position: absolute;
      left: 130px;
      top: 50px;
      width: 500px; }
    .prodboxr .pimg {
      width: 31%;
      padding-top: 80px;
      margin-right: 110px;
      margin-left: 40px; }
    .prodboxr .txtbox {
      width: 45%;
      margin-left: 0%;
      margin-top: 130px; }

  .prodbox {
    background-image: url("https://www.haba.co.jp/assets/images/pages/f-static/campaign/188_deco_003.png");
    background-size: 100%;
    background-position: 0px 40px; }
    .prodbox .color {
      position: absolute;
      right: 155px;
      top: 50px;
      width: 500px; }
    .prodbox .pimg {
      width: 31%;
      padding-top: 80px;
      margin-left: 130px;
      margin-right: 30px; }
    .prodbox .txtbox {
      width: 45%;
      margin-left: 0%;
      margin-top: 130px; }

  .specbox {
    width: 95%;
    margin-left: 0px;
    position: relative; }
    .specbox .name {
      font-size: 18px;
      font-weight: 600;
      letter-spacing: 0.10em;
      margin-bottom: 10px;
      margin-top: 20px;
      text-align: left; }
    .specbox .spec {
      font-size: 15px;
      letter-spacing: 0.13em; }
    .specbox .limit {
      font-size: 15px;
      letter-spacing: 0.13em;
      border: solid 1px #d252d2;
      padding: 1px 3px;
      color: #d252d2; }
    .specbox .price {
      font-size: 25px;
      font-weight: 700;
      letter-spacing: 0.1em;
      margin-top: 0px;
      text-align: left;
      　margin-bottom: 20px;
      margin-left: 140px; }
    .specbox .psmall {
      font-size: 15px;
      font-weight: 500;
      letter-spacing: 0.1em; }

  .mainbk136 {
    max-width: 3000px;
    margin: 0 auto; }

  .mvbox {
    position: relative; }
    .mvbox .bgimg {
      width: 100%; }

  .btn_wrap {
    position: absolute;
    width: 200px;
    right: 10px;
    bottom: 0;
    box-sizing: border-box; }

  .detailimgs {
    display: flex;
    align-items: flex-start;
    padding: 10px 80px; }
    .detailimgs img {
      width: 50%; }

  .introbox {
    display: flex;
    align-items: flex-start;
    position: relative; }
    .introbox .mimgs {
      width: 33%;
      margin-right: 20px;
      margin-left: 100px; }
    .introbox .txt_box_intro {
      width: 60%;
      margin-left: 0%;
      margin-top: 60px; }
    .introbox button {
      padding: 3px 10px;
      border-radius: 10px;
      border: 1px solid #474747;
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 0.15em;
      margin-right: 10px; }
    .introbox .ttl {
      margin-top: 20px;
      font-size: 27px;
      font-weight: 600;
      letter-spacing: 0.15em; }
    .introbox .txt {
      margin-top: 20px;
      font-size: 15px;
      line-height: 1.8;
      font-weight: 500; }

  a.setbtn {
    position: relative;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 100%;
    margin: auto;
    padding: 3px;
    font-weight: bold;
    border: 2px solid #c6b2a3;
    background: #c6b2a3;
    color: #3c3c3c;
    transition: 0.5s; }
    a.setbtn:hover {
      background: #fff; }
    a.setbtn::after {
      content: "";
      margin: auto;
      position: absolute;
      top: 35%;
      right: 30px;
      width: 10px;
      height: 10px;
      border-top: 2px solid #3c3c3c;
      border-right: 2px solid #3c3c3c;
      transform: rotate(45deg); } }
/* ここにSP向けのCSS指定 */
@media (max-width: 768.98px) {
  .link-btn {
    margin: 25px auto 0; }

  .pconly {
    display: none; }

  .ctrsp {
    text-align: center; }

  .ctrsp2 {
    text-align: center;
    margin: auto; }

  /*サイズ調節	*/
  .w100sp {
    width: 100%; }

  .w70sp {
    width: 50%;
    margin-left: 25% !important; }

  .maintxtsp {
    margin: 20px; }
    .maintxtsp p {
      font-size: 14px;
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone;
      display: inline;
      padding: .3em;
      line-height: 2.5;
      background-color: #ffffff;
      font-weight: 500; }

  .detailimgs img {
    width: 100%; }

  .prodbox, .prodboxr {
    padding: 13px;
    margin-top: 60px; }
    .prodbox .color, .prodboxr .color {
      display: none; }
    .prodbox .scolor, .prodboxr .scolor {
      width: 100%;
      margin-left: 27%; }
    .prodbox .scolord, .prodboxr .scolord {
      width: 85%; }
    .prodbox .ttl, .prodboxr .ttl {
      text-align: center; }

  /*買い物ボタン*/
  .btn_style {
    height: 13vw;
    width: 100%; }
    .btn_style .mini {
      height: 12vw; }
      .btn_style .mini > a, .btn_style .mini > span {
        font-size: 0.9rem; }
      .btn_style .mini > a span, .btn_style .mini > span span {
        padding-left: 40px; }
    .btn_style > a, .btn_style > span {
      font-size: 0.9rem; }
    .btn_style > a span, .btn_style > span span {
      padding-left: 32px; }
    .btn_style > a span:before, .btn_style > span span:before {
      width: 20px;
      height: 15px;
      background: url("/assets/images/pages/f-static/campaign/icon_cart.png") left top no-repeat;
      background-size: 20px 15px; }

  .btn_style:not(.btn_style.off):hover > a span:before,
  .btn_style:not(.btn_style.off):hover > span span:before {
    background: url("/assets/images/pages/f-static/campaign/icon_cart_b.png") left top no-repeat;
    background-size: 20px 15px; }

  .btn_wrap {
    margin-top: 10px;
    width: 92%;
    margin-left: 7%; } }
