
.font-yumin{
	font-family: "游明朝", YuMincho,'Yu Mincho', "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","Noto Serif JP","serif" !important;
}

.font-garamond{
	font-family: 'EB Garamond', serif !important;
}

.font-arno{
	font-family: arno-pro, serif !important; 
}

.inview{
	opacity: 0;
}
body {
}

/*IE11*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .rel-block .anchor {
      top:-162px;
  }
}

/*footer {
    margin-top: 0px;
}*/

.scrolled main {
    padding-top: calc(130px + var(--fsBannerHeight));
}

html {
  scroll-padding-top: 0px
}


#hb{
	margin: 0px;
	padding: 0px;
    color: #724e2f;
}

#hb img{
    image-rendering: -webkit-optimize-contrast;
}

_::-webkit-full-page-media, _:future, :root #hb img {/*safari*/
    image-rendering: auto;
}

footer {
    margin-top: 0px;
}


html {
    -webkit-font-smoothing: antialiased;
}

body{
    -webkit-font-smoothing: subpixel-antialiased;
}

.wrapper {
    display: block;
}

.sns{
    margin: 0px;
    padding: 75px 0px;
    text-align: center;
    box-sizing: border-box;
    background-image: url(../../images/special_contents/happy_bag/20211201/bg_lead.png);
    background-repeat: repeat;
    background-position: center top;
    position: relative;
}

.sns .sns-frame{
    margin: 0px auto;
    padding: 75px 0px 50px;
    background-image: url(../../images/special_contents/happy_bag/20211201/bg_sns.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-color: #FFF;
    width: 710px;
    border: 5px solid #b09d60;
}

.sns h3{
	margin: 0px;
	padding: 0px;
    text-align: center;
    position: relative;
    font-size: 3.6rem;
    line-height: 3.6rem;
    font-style: italic;
    font-weight: 600;
}

.social-btn {
    margin-top: 15px;
    z-index: 10;
}




#hb .cbg{
    margin: 0px;
    padding: 0px;
    overflow: hidden;
    position: relative;
}

#hb .mv{
    margin: 0px;
    padding: 0px;
    background-image: url(../../images/special_contents/happy_bag/20211227/mv_bg.jpg);
    background-repeat: repeat;
    background-position: center top;
    height: 460px;
    width: 100%;
}

#hb .mv-in{
    margin: 0px;
    padding: 0px;
    width: 100%;
    position: relative;
    background-image: url(../../images/special_contents/happy_bag/20211201/bg_head_c.png);
    background-repeat: no-repeat;
    background-position: center top;
}

#hb .mv-in:before{
    content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
    width: 273px;
	height: 100px;
	background-image: url(../../images/special_contents/happy_bag/20211201/bg_head_l.png);
    background-repeat: no-repeat;
}

#hb .mv-in:after{
    content: "";
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
    width: 270px;
	height: 100px;
	background-image: url(../../images/special_contents/happy_bag/20211201/bg_head_r.png);
    background-repeat: no-repeat;
}

#hb .mv-in2{
    width: 872px;
    margin: 0px auto;
	padding: 0px;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#hb .mv-l{
    width: 436px;
    margin: 0px;
	padding: 0px;
    position: relative;
}

#hb .mv-r{
    width: 436px;
    margin: 0px;
	padding: 0px;
    position: relative;
}

#hb .mv h1{
    margin: 0px;
	padding: 130px 0px 0px;
    text-align: center;
    font-size: 9.2rem;
    line-height: 8rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    width: 100%;
}

#hb .mv .year{
    margin: 18px 0px 0px;
    padding: 0px;
    text-align: center;
    font-size: 5.6rem;
    line-height: 5.6rem;
    font-weight: 600;
    background-image: url(../../images/special_contents/happy_bag/20211227/mv_line.png);
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
}

#hb .mv .label{
    margin: 0px;
    padding: 0px;
    position: absolute;
    top: 80px;
    right: 16px;
}

#hb .mv .img{
    margin: 0px;
    padding: 117px 0px 0px;
    text-align: right;
}

#hb .lead{
    margin: 0px;
    padding: 40px 0px;
    background-image: url(../../images/special_contents/happy_bag/20211201/bg_lead.png);
    background-repeat: repeat;
    width: 100%;
    position: relative;
}

#hb .lead .text{
    margin: 0px;
    padding: 0px;
    text-align: center;
    font-size: 1.8rem;
    line-height: 3.2rem;
    font-weight: 600;
    color: #FFF;
    letter-spacing: 0.1em;
}

#hb .lead h2{
    position: absolute;
    top:-43px;
    left:0px;
    text-align: center;
    width: 100%;
}


#hb .lineup{
    margin: 0px;
    padding: 0px;
    background-image: url(../../images/special_contents/happy_bag/20211227/cbg.jpg);
    background-repeat: repeat;
    width: 100%;
    position: relative;
    border-top: 10px solid #b09d60;
    border-bottom: 10px solid #b09d60;
}

#hb .lineup:before{
    content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
    width: 138px;
	height: 140px;
	background-image: url(../../images/special_contents/happy_bag/20211201/bg_lu_lt.png);
    background-repeat: no-repeat;
}

#hb .lineup:after{
    content: "";
	display: block;
	position: absolute;
	top: 0px;
	right: 0px;
    width: 136px;
	height: 140px;
	background-image: url(../../images/special_contents/happy_bag/20211201/bg_lu_rt.png);
    background-repeat: no-repeat;
}

#hb .lineup-in{
    margin: 0px;
    padding: 85px 0px 150px;
    position: relative;
}

#hb .lineup-in:before{
    content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
    width: 141px;
	height: 144px;
	background-image: url(../../images/special_contents/happy_bag/20211227/c_obj9.png);
    background-repeat: no-repeat;
}

#hb .lineup-in:after{
    content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	right: 0px;
    width: 140px;
	height: 144px;
	background-image: url(../../images/special_contents/happy_bag/20211227/c_obj10.png);
    background-repeat: no-repeat;
}

#hb .lineup h2{
    margin: 0px;
	padding: 0px;
    text-align: center;
    font-size: 5.8rem;
    line-height: 5.8rem;
    font-weight: 600;
}

#hb .lineup .li-obj1{
    position: absolute;
    top:310px;
    left:0px;
}

#hb .lineup .li-obj2{
    position: absolute;
    top:460px;
    right:0px;
}

#hb .lineup .li-obj3{
    position: absolute;
    top:1045px;
    left:0px;
}

#hb .lineup .li-obj4{
    position: absolute;
    top:1200px;
    right:0px;
}

#hb .lineup .li-obj5{
    position: absolute;
    top:1810px;
    left:0px;
}

#hb .lineup .li-obj6{
    position: absolute;
    top:1920px;
    right:0px;
}

#hb .kit-block{
	margin: 130px auto 0px;
	padding: 0px;
	width: 912px;
    position: relative;
}

#hb .kit-block:first-child{
	margin: 60px auto 0px;
}

#hb .kit-block h3{
    margin: 0px;
    padding: 0px;
    text-align: center;
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 600;
    background-image: url(../../images/special_contents/happy_bag/20211227/t_line.png);
    background-repeat: no-repeat;
    background-position: center center;
}

#hb .kit-block.k2 h3{
    background-image: url(../../images/special_contents/happy_bag/20211227/t_line2.png);
    background-repeat: no-repeat;
    background-position: center center;
}

#hb .kit-block.k3 h3{
    background-image: url(../../images/special_contents/happy_bag/20211227/t_line3.png);
    background-repeat: no-repeat;
    background-position: center center;
}

#hb .kit-block .kit-in{
    margin: 60px 0px 0px;
	padding: 0px;
    position: relative;
}

#hb .kit-block .text{
    padding: 0px;
    font-size: 2.4rem;
    line-height: 3.4rem;
    font-weight: 600;
    text-align: center;
    width: 420px;
    position: absolute;
    top:0px;
    right:0px;
}

#hb .kit-block.k2 .text{
    right:auto;
    left: 0px;
}

#hb .kit-block.k4 .text{
    right:auto;
    left: 0px;
    top:70px;
}

#hb .kit-block .tb{
	margin: 0px;
	padding: 0px;
	width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#hb .kit-block .tb .img{
    margin: 6px 0px 0px;
    padding: 0px;
    width: 475px;
    height: 362px;
    display: block;
    position: relative;
    box-sizing: border-box;
    text-align: left;
    background-image: url(../../images/special_contents/happy_bag/20211227/bg_item.png);
    background-repeat: no-repeat;
    background-position: left 44px top 0px;
}

#hb .kit-block.k2 .tb .img{
    order: 2;
    padding: 0px 0px 0px 39px;
}

#hb .kit-block.k3 .tb .img{
    padding: 0px 0px 0px 39px;
}

#hb .kit-block.k4 .tb .img{
    order: 2;
    padding: 0px 0px 0px 45px;
}

#hb .kit-block .tb .img a{
	display: block;
}

#hb .kit-block .tb .img span.cell{
	display: block;
	position: relative;
    z-index: 20;
	padding: 0px;
}

#hb .kit-block.k1 .tb .img span.cell{
	padding: 76px 0px 0px;
}

#hb .kit-block.k2 .tb .img span.cell{
	padding: 68px 0px 0px;
}

#hb .kit-block.k3 .tb .img span.cell{
	padding: 68px 0px 0px;
}

#hb .kit-block.k4 .tb .img span.cell{
	padding: 50px 0px 0px;
}

#hb .kit-block .tb .img img{
	position: relative;
    z-index: 20;
}

#hb .kit-block .tb .img .limited {
    position: absolute;
    top: 20px;
    right: 70px;
    display: inline-block;
    width: 85px;
    height: 84px;
    z-index: 30;
    background-image: url(../../images/special_contents/happy_bag/20211227/label.png);
    background-repeat: no-repeat;
}

#hb .kit-block .tb .img .limited .ltext{
    position: absolute;
    display: inline-block;
    left: 0px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    text-align:center;
    font-size: 1.7rem;
    line-height: 1.1em;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #FFF;
    margin-top: 1px;
}

/*IE11*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #hb .kit-block .tb .img .limited .ltext {
      top: 55%;
  }
}

#hb .kit-block .tb .data{
	margin: 0px;
	padding: 90px 0px 0px;
	display:block;
    width:420px;
	vertical-align:top;
	text-align:center;
    box-sizing: border-box;
}

#hb .kit-block.k2 .tb .data{
    order: 1;
}

#hb .kit-block.k4 .tb .data{
    order: 1;
    padding: 160px 0px 0px;
}

#hb .kit-block .tb .data .name-and-price{
	margin: 0px;
	padding: 0px;
	display:block;
    text-align: center;
}

#hb .kit-block .tb .data h4{
	margin: 0px;
	padding: 0px;
	font-size: 1.4rem;
	line-height:1.4rem;
	font-weight:400;
	letter-spacing:normal;
    display: block;
}

#hb .kit-block .tb .data .fra{
	margin: 0px;
    padding: 8px 0px 0px;
    font-size: 1.4rem;
    line-height: 1.4rem;
    font-weight: 400;
    letter-spacing: normal;
    display: block;
}

#hb .kit-block .tb .data .price{
	margin: 0px;
	padding: 8px 0px 0px;
	font-size: 1.4rem;
	line-height: 1.4rem;
}

#hb .kit-block .tb .data .btn,
#hb .kit-block .tb .data .bcs{
	margin: 0px;
	padding: 20px 0px 0px;
    text-align: center;
}

#hb .kit-block .tb .data .btn a{
	margin: 0px;
	padding: 14px 0px;
	text-align: center;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 1.4rem;
	text-decoration: none;
	position: relative;
	display: inline-block;
	background: #724e2f;
	width:215px;
}

/*IE11*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #hb .kit-block .tb .data .btn a {
      padding: 16px 0px 13px;
  }
}

#hb .kit-block .tb .data .btn a span svg{
	margin: 0px;
	padding: 0px;
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	-webkit- transform: translateY(-50%);
    font-size:1.1rem;
}

#hb .kit-block .tb .data .bcs .bbg{
	margin: 0px;
	padding: 12px 0px;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.8rem;
	text-decoration: none;
	position: relative;
	display: inline-block;
	background: #FFF;
	width: 215px;
	border: 1px solid #724e2f;
}

/*IE11*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #hb .kit-block .tb .data .bcs .bbg {
      padding: 13px 0px 8px;
  }
}

#hb .kit-block .tb .data .notes{
	margin: 0px;
	padding: 15px 0px 0px;
	text-align: center;
	font-size: 1.2rem;
	line-height: 2rem;
}

#hb .kit-block .fra-box{
	margin: 20px auto 0px;
	padding: 0px 0px 40px;
    width: 408px;
    background-image: url(../../images/special_contents/happy_bag/20211227/t_fra2.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}

#hb .kit-block .fra-box h5{
    text-align: center;
    margin: 0px;
    padding: 0px;
    font-size: 2.4rem;
    line-height: 2.4rem;
    font-weight: 600;
    font-style: italic;
    background-image: url(../../images/special_contents/happy_bag/20211227/t_fra1.png);
    background-repeat: no-repeat;
    background-position: center top 5px;
}

#hb .kit-block .fra-box p.fra-text{
	text-align: center;
	margin: 0px;
	padding: 20px 0px 0px;
	font-size: 1.2rem;
	line-height: 2rem;
}

/*IE11*/
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, #hb .kit-block .fra-box p.fra-text {
      padding: 25px 0px 0px;
  }
}


#hb .kit-block .kit-text{
	margin: 50px auto 0px;
	padding: 30px 55px;
	border: 1px solid #a1915f;
    background-color: #fdf7ea;
	box-sizing: border-box;
    width: 100%;
}

#hb .kit-block .kit-text h5{
	text-align: center;
	margin: 0px;
	padding: 0px;
	font-size: 1.3rem;
	line-height: 1.3rem;
	font-weight:600;
    color: #724e2f;
}

#hb .kit-block .kit-text p.kit-t{
	text-align: left;
	margin: 0px;
	padding: 6px 0px 0px;
	font-size: 1.2rem;
	line-height: 1.8rem;
}




#hb .line{
    margin: 0;
    padding: 90px 0px;
    width: 100%;
    position: relative;
    background-image: url(../../images/special_contents/happy_bag/20211201/bg_line_p.png);
    background-repeat: repeat;
    background-position: center top;
}

#hb .line-in{
    margin: 0 auto;
    padding: 60px 0px 0px;
    width: 720px;
    height: 260px;
    position: relative;
    background-image: url(../../images/special_contents/happy_bag/20211201/bg_line.png);
    background-repeat: no-repeat;
    box-sizing: border-box;
}

#hb .line h2{
    margin: 0px;
    padding: 0px;
    font-size: 2.6rem;
    line-height: 2.6rem;
    text-align: center;
    color: #734f27;
    
}

#hb .line .text{
	margin: 0px;
	padding: 18px 0px 0px;
	font-size: 1.4rem;
	line-height: 1.4rem;
	text-align:center;
    color: #734f27;
}

#hb .line .btn{
	margin: 0px;
	padding: 30px 0px 0px;
	text-align:center;
}

#hb .line .btn a{
	margin: 0px;
	padding: 25px 0px 0px 70px;
	text-align: center;
	color: #FFF;
	font-size: 2rem;
	line-height: 2rem;
	text-decoration: none;
	position: relative;
	display: inline-block;
	background: #00b900;
	width:270px;
	height:70px;
	border-radius:10px;
	box-sizing:border-box;
	font-weight:600;
}

#hb .line .btn a:before{
	content: "";
	background: url(../../images/special_contents/HolidayCollection/20211014/icon_line.png?a=20211014) no-repeat center center;
	margin: 0px;
	padding: 0px;
	border-right: 1px solid #009e00;
	width: 70px;
	height:70px;
	position: absolute;
	left: 0px;
	top: 0px;
}


#hb .bn-jh{
    margin: 0;
    padding: 0px 0px 60px;
    text-align: center;
}



