/* reset / common */
body {
  font-family: "メイリオ", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  color: #310000;
}
.l-main, main {
  margin-bottom: 0;
}
img {
  width: 100%;
  display: block;
}
ul {
  list-style-type: none;
  padding: 0;
}
ul li {
  list-style: none;
}
figure {
  margin: 0;
}
p {
  margin: 0;
}
a {
  text-decoration: none;
  display: block;
  transition: .2s all linear;
  color: #310000;
}
a:hover {
  opacity: .6;
}
.l-header {
  z-index: 100;
}
/* PC: 1023px ~ */
/* modal */
/* ロード後モーダル */
.modal-load-bg {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, .6);
  z-index: 200;
  top: 0;
  left: 0;
}
.modal-load {
  opacity: 0;
  transition: all .2s ease;
  margin: 0;
  position: fixed;
  max-width: 680px;
  max-height: 680px;
  width: 65%;
  z-index: 300;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.modal-load-list {
  margin: 0;
}
.modal-load-close {
  position: fixed;
  max-width: 387px;
  width: 56.912%;
  z-index: 350;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
/* ジャックについて */
.about-jack {
  display: none;
}
.modal-jack-bg {
  position: fixed;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, .6);
  z-index: 200;
  top: 0;
  left: 0;
}
.modal-jack {
  position: fixed;
  width: 100%;
  z-index: 300;
  top: 0;
  left: 0;
}
.modal-jack li {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.modal-jack-close {
  width: 68px;
  position: fixed;
  z-index: 350;
  top: 48.5%;
  left: 47%;
  transform: translateY(-50%) translateX(-50%);
}
.modal-jack-item {
  display: none;
  width: 75%;
  max-width: 838px;
  position: relative;
  transition: all .2s ease;
}
.modal-jack-btn {
  width: 155px;
  position: absolute;
  bottom: 50px;
  right: 50px;
}
.show {
  display: block;
}
/* mv */
.mv-section {
  background-image: url('/products/brand/okashihappy/assets/images/bg01.png');
  background-position: center;
  /*background-size: 100%;*/
  background-size: 1920px;
}
.mv-block {
  position: relative;
  /*min-width: 1300px;*/
  z-index: 0;
}
.mv-img {
  max-width: 908px;
  margin: 0 auto;
  width: 70%;
}
.mv-jack {
  max-width: 345px;
  width: 25%;
  position: absolute;
  bottom: 76px;
  right: 50%;
  transform: translateX(-90%);
}
.mv-about-jack {
  cursor: pointer;
  max-width: 266px;
  width: 19%;
  position: absolute;
  bottom: 76px;
  right: 5%;
  background-image: url('/products/brand/okashihappy/assets/images/mv_about_jack_on.png');
  background-size: 100%;
  background-repeat: no-repeat;
}
.mv-about-jack:hover img {
  visibility: hidden;
}
/* info */
.info-section {
  background-image: url('/products/brand/okashihappy/assets/images/bg02.png');
  background-size: 100%;
  padding: 77px 0 100px;
  position: relative;
  margin-top: -12px;
}
.info-section:before {
  content: '';
  width: 100%;
  height: 31px;
  position: absolute;
  bottom: 100%;
  background-image: url('/products/brand/okashihappy/assets/images/bg02_parts.png');
  background-size: 107px 31px;
  background-repeat: repeat-x;
}
.info-head {
  width: 210px;
  margin: 0 auto 50px;
  position: relative;
}
.info-head_jack {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-120px) translateX(35px);
  width: 151px;
  height: 190px;
}
.info-slider {
  max-width: 1000px;
  width: 95%;
  margin: 0 auto;
  position: relative;
}
.info-arrow {
  width: 61px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.info-arrow.prev {
  right: 100%;
}
.info-arrow.next {
  left: 100%;
}
/* スライドの端に来た時の矢印処理 211217追加 */
.info-arrow.prev.slick-disabled, .info-arrow.next.slick-disabled{
  opacity: 0;
}

.info-item {
  width: 300px;
  border: 2px #ffe79a solid;
  border-radius: 10px;
  background: #fff;
  margin: 0 15px;
}
.info-item a {
  display: block;
  padding: 2.5%;
}
.info-img {
  border-radius: 14px 14px 0 0;
  overflow: hidden;
}
.infp-type {
  text-align: center;
  height: 0;
}
.info-date {
  margin-top: 37px;
  position: relative;
  text-align: center;
  font-size: 20px;
  color: #7d2a13;
  font-weight: bold;
  line-height: 1em;
}
.info-type_info:before, .info-type_new:before, .info-type_pickup:before {
  content: '';
  background-image: url('/products/brand/okashihappy/assets/images/info/type_info.png');
  background-size: 100%;
  height: 40px;
  width: 170px;
  text-align: center;
  transform: translateY(-16px) translateX(-50%);
  position: absolute;
  bottom: 100%;
  left: 50%;
}
.info-type_new:before {
  background-image: url('/products/brand/okashihappy/assets/images/info/type_new.png');
  width: 140px;
}
.info-type_pickup:before {
  background-image: url('/products/brand/okashihappy/assets/images/info/type_pickup.png');
}
.info-ttl {
  line-height: 1.5em;
  margin: 10px 12px 50px;
}
/* -----高さ一定 211217追加----- */
.slick-list .slick-track {
  display: flex;
}
.slick-list .slick-track .slick-slide {
  height: auto !important;
}
/* contents */
.contents-section {
  background-image: url('/products/brand/okashihappy/assets/images/bg03.png');
  background-size: 100%;
  padding: 70px 0 85px;
  position: relative;
}
.contents-section:before {
  content: '';
  width: 100%;
  height: 31px;
  position: absolute;
  bottom: 100%;
  background-image: url('/products/brand/okashihappy/assets/images/bg03_parts.png');
  background-size: 107px 31px;
  background-repeat: repeat-x;
}
.contents-list {
  max-width: 960px;
  width: 95%;
  margin: 0 auto;
  display: flex;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.contents-item {
  /* width: 48.4%; 2つの際に使用 */
  width: 32.3%;
  max-width: 465px;
  margin: 0 auto;
}
.contents-item_img {
  border: 2px #fff solid;
  border-radius: 9px;
  overflow: hidden;
  background: #fff;
}
.contents-item_txt {
  margin: 20px 0;
  color: #310000;
}
/* sns */
.sns-section {
  background-image: url('/products/brand/okashihappy/assets/images/bg04.png');
  background-size: 100%;
  padding: 70px 0 85px;
  position: relative;
}
.sns-section:before {
  content: '';
  width: 100%;
  height: 31px;
  position: absolute;
  bottom: 100%;
  background-image: url('/products/brand/okashihappy/assets/images/bg04_parts.png');
  background-size: 107px 31px;
  background-repeat: repeat-x;
}
.sns-head {
  max-width: 580px;
  width: 75%;
  margin: 0 auto;
  position: relative;
}
.sns-head_jack {
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(-20px);
  width: 165px;
  height: 196px;
  z-index: 0;
}
.sns-list {
  max-width: 970px;
  width: 95%;
  margin: 50px auto 0;
  display: flex;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  position: relative;
  z-index: 10;
  text-align: center;
}
.sns-list_item {
  max-width: 300px;
  background: #fff;
  margin: 0 5px;
}
.sns-list_item a {
  border: 10px #fff solid;
}
.sns-btn_insta {
  width: 485px;
  margin: 50px auto 0;
}
.sns-recom_box {
  max-width: 960px;
  width: 95%;
  margin: 96px auto 0;
  background: #fff;
  border-radius: 14px;
  padding: 50px 6.25%;
  box-sizing: border-box;
}
.sns-recom-head {
  width: 370px;
  margin: 0 auto;
}
.sns-recom-list_item {
  border-top: 4px #b6dce4 dotted;
  display: flex;
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  padding: 30px 0;
}
.sns-recom-list_item:first-child {
  border-top: none;
}
.sns-recom-list_item > .icon {
  width: 130px;
}
.sns-recom-list_item > .txt {
  width: 470px;
  padding: 0 2.2%;
  color: #310000;
}
.sns-recom-list_item > .txt .txt-main {
  font-size: 22px;
  font-weight: bold;
}
.sns-recom-list_item > .txt .txt-sub {
  margin-top: 10px;
}
.sns-recom-list_item > .sns-icon {
  width: 140px;
  display: flex;
  display: -webkit-flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.sns-recom-list_item > .sns-icon span {
  display: block;
  width: 62px;
  padding: 0 3px;
}
/* link */
.link-section {
  background: #fff;
  padding: 70px 0 85px;
  position: relative;
}
.link-section:before {
  content: '';
  width: 100%;
  height: 31px;
  position: absolute;
  bottom: 100%;
  background-image: url('/products/brand/okashihappy/assets/images/bg05_parts.png');
  background-size: 107px 31px;
  background-repeat: repeat-x;
}
.link-head {
  width: 276px;
  margin: 0 auto;
}
.link-list {
  max-width: 960px;
  margin: 40px auto 0;
  font-size: 0;
  text-align: center;
}
.link-list_item {
  display: inline-block;
  width: 205px;
  margin: 20px 15px 0;
  vertical-align: top;
}
.link-list_item a {
  font-size: 22px;
  font-weight: bold;
  border-bottom: 6px #e57daf dotted;
  padding: 15px 0;
  position: relative;
  height: 60px;
  box-sizing: border-box;
}
.link-list_item a:after {
  content: '';
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 4px #e57daf solid;
  border-right: 4px #e57daf solid;
  top: 46%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.link-list_item.line02 a {
  padding: 3px 0;
}
.link-list_item:nth-of-type(2) a, .link-list_item:nth-of-type(2) a:after {
  border-color: #e37b7d;
}
.link-list_item:nth-of-type(3) a, .link-list_item:nth-of-type(3) a:after {
  border-color: #62bacf;
}
.link-list_item:nth-of-type(4) a, .link-list_item:nth-of-type(4) a:after {
  border-color: #aac37a;
}
.anch-top {
  display: none;
  width: 154px;
  height: 154px;
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 50;
}
.anch-top a:hover {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .isSP {
    display: none;
  }
}
/* SP: ~ 768px */
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
  }
  a:hover {
    opacity: 1;
  }
  .isPC {
    display: none;
  }
  .modal-load {
    width: 90%;
  }
  .modal-jack-item {
    width: 90%;
  }
  .modal-jack-btn {
    width: 70.5%;
    bottom: 30px;
  }
  .modal-jack-close {
    width: 41px;
    top: 49%;
    left: 43%;
  }
  .mv-section {
    background-image: url('/products/brand/okashihappy/assets/images/bg01_sp.png');
    background-position: center;
    background-size: 100%;
  }
  .mv-img {
    padding-top: 20px;
    width: 90%;
  }
  .mv-jack {
    width: 22.75%;
    bottom: 30px;
    right: 50%;
    transform: translateX(-112%);
  }
  .mv-about-jack {
    width: 24.26%;
    top: 3.5%;
    bottom: auto;
    right: 3.5%;
    background: none;
  }
  .mv-about-jack:hover img {
    visibility: auto;
  }
  .info-section {
    padding: 40px 0 45px;
    background-image: url('/products/brand/okashihappy/assets/images/bg02_sp.png');
  }
  .info-section:before {
    height: 15px;
    background-size: 53px 15px;
  }
  .info-head {
    width: 27.73%;
    margin: 0 auto 25px;
  }
  .info-head_jack {
    left: 110%;
    transform: translateY(-56%) translateX(0);
    width: 74px;
    height: 95px;
  }
  .info-slider {
    width: 100%;
  }
  .info-arrow {
    width: 30px;
    z-index: 50;
  }
  .info-arrow.prev {
    right: 80%;
  }
  .info-arrow.next {
    left: 80%;
  }
  /* スライドの端に来た時の矢印処理 211217追加 */
  .info-arrow.prev.slick-disabled, .info-arrow.next.slick-disabled{
    opacity: 0;
  }
  
  .info-img {
    border-radius: 7px 7px 0 0;
  }
  .info-date {
    margin-top: 25px;
    font-size: 15px;
  }
  .info-type_info:before, .info-type_new:before, .info-type_pickup:before {
    height: calc(40px * 0.625);
    width: calc(170px * 0.625);
    transform: translateY(-13px) translateX(-50%);
  }
  .info-type_new:before {
    width: calc(140px * 0.625);
  }
  .info-ttl {
    margin: 10px 12px 20px;
  }
  /* -----高さ一定 211217追加----- */
  .slick-list .slick-track {
    display: flex;
  }
  .slick-list .slick-track .slick-slide {
    height: auto !important;
  }
  /* contents */
  .contents-section {
    background-image: url('/products/brand/okashihappy/assets/images/bg03_sp.png');
    padding: 45px 0 50px;
    position: relative;
  }
  .contents-section:before {
    height: 15px;
    background-size: 53px 15px;
  }
  .contents-list {
    width: 90%;
    display: block;
  }
  .contents-item {
    width: 100%;
  }
  .contents-item_txt {
    margin: 10px 0 20px;
  }
  /* sns */
  .sns-section {
    background-image: url('/products/brand/okashihappy/assets/images/bg04_sp.png');
    padding: 35px 0 50px;
  }
  .sns-section:before {
    height: 15px;
    background-size: 53px 15px;
  }
  .sns-head {
    width: 49.2%;
  }
  .sns-head_jack {
    width: 80px;
    height: 95px;
    right: 95%;
  }
  .sns-list {
    width: 90%;
    margin: 26px auto 0;
    display: block;
    font-size: 0;
  }
  .sns-list_item {
    max-width: 46%;
    margin: 0 2%;
    display: inline-block;
  }
  .sns-list_item a {
    border: 5px #fff solid;
  }
  .sns-btn_insta {
    width: 76%;
    margin: 25px auto 0;
  }
  .sns-recom_box {
    width: 90%;
    margin: 35px auto 0;
    border-radius: 7px;
    padding: 27px 4.5% 5px;
  }
  .sns-recom-head {
    width: 76%;
  }
  .sns-recom-list_item {
    border-top: 3px #b6dce4 dotted;
    display: block;
    padding: 13px 0;
    min-height: 120px;
    position: relative;
  }
  .sns-recom-list_item > .icon {
    width: 75px;
    margin-right: 2%;
    position: absolute;
    top: 13px;
    left: 0;
  }
  .sns-recom-list_item > .txt {
    width: auto;
    margin-left: 75px;
    padding: 0 0 0 5%;
    box-sizing: border-box;
  }
  .sns-recom-list_item > .txt .txt-main {
    font-size: 14px;
  }
  .sns-recom-list_item > .txt .txt-sub {
    margin-top: 5px;
    font-size: 13px;
  }
  .sns-recom-list_item > .sns-icon {
    position: absolute;
    top: 95px;
    width: 75px;
    justify-content: center;
    -webkit-justify-content: center;
  }
  .sns-recom-list_item > .sns-icon span {
    width: 50%;
    display: inline-block;
    text-align: center;
  }
  /* link */
  .link-section {
    padding: 35px 0 40px;
  }
  .link-section:before {
    height: 15px;
    background-size: 53px 15px;
  }
  .link-head {
    width: 36.8%;
  }
  .link-list {
    width: 70.66%;
    margin: 15px auto 0;
  }
  .link-list_item {
    width: calc(48% - 2%);
    ;
    margin: 10px 2% 0;
  }
  .link-list_item a {
    font-size: 14px;
    border-bottom: 3px #e57daf dotted;
    padding: 7px 0;
    height: 35px;
    line-height: 1.1em;
  }
  .link-list_item a:after {
    width: 5px;
    height: 5px;
    border-top: 2px #e57daf solid;
    border-right: 2px #e57daf solid;
    top: 46%;
  }
  .link-list_item.line02 a {
    padding: 0;
  }
  .anch-top {
    width: 80px;
    height: 80px;
    bottom: 20px;
    right: 20px;
  }
}
/* 769px ~ 1023px */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .info-section {
    padding-bottom: 120px;
  }
  .info-arrow {
    width: 61px;
    position: absolute;
    top: 105%;
    transform: translateY(0);
  }
  .info-arrow.prev {
    right: 55%;
  }
  .info-arrow.next {
    left: 55%;
  }
  /* スライドの端に来た時の矢印処理 211217追加 */
  .info-arrow.prev.slick-disabled, .info-arrow.next.slick-disabled{
    opacity: 0;
  }
  
  /* -----高さ一定 211217追加----- */
  .slick-list .slick-track {
    display: flex;
  }
  .slick-list .slick-track .slick-slide {
    height: auto !important;
  }
}