@charset "utf-8";




*{
margin:0px;
padding:0px;
}

    body { 
	-webkit-text-size-adjust : 100%!important ;
        min-width:980px;
        font-family: verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;  
        line-height: 150%;
		color:#000;
		font-size:14px;
		font-weight:bold;
		letter-spacing: 1.5px;
		background-color:#fff;
	/*	
		    background-image: url('../hina_back.jpg'); /* 背景画像のパスを設定 */
            background-size: 100% auto; /* 横幅を100%に設定し、高さは自動調整 */
            background-repeat: repeat-y; /* 縦方向に繰り返し */
		*/
		
		
    }  
   
   
   
   /*背景固定*/
  
            body::before {
            content: ""; /* 疑似要素にはcontentが必須 */
            position: fixed; /* 背景固定の場合はfixed, それ以外はabsolute */
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('../hina_back.jpg'); /* 背景画像のURL */
            background-size: 100% auto; /* 横幅を100%に設定し、高さは自動調整 */
            background-repeat: repeat-y; /* 縦方向に繰り返し */
            opacity: 0.5; /* 不透明度を70%に設定 */
            z-index: -1; /* 背景にするためz-indexを-1に */
            }
     
            
    * + html body {  
        font-family: "メイリオ","Meiryo";  
    }  
	
table   {  
    border-collapse: collapse;  border-spacing: 0;  
} 

 
img {  
    border: 0;  
}  


li  {  
    list-style-type: none;  
	
}  

	
	
a {
text-decoration: none;
}
a:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

a:link { color: #000; }
a:visited { color: #000; }
a:hover { color: #000; }
a:active { color: #000; }



.headermenu a:link { color: #000; }
.headermenu a:visited { color: #000; }
.headermenu a:hover { color: #000; }
.headermenu a:active {
	color: #000;
}


.headslider {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
}

    

  .headslidermain  img {
	  position:absolute;
	  left:0;
	  right:0;
	  top:0;
	  bottom:0;
	  margin: auto;
	  z-index:99999;
	  height:100%;   
      max-height: 600px;
	  border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
}



 .topslider img{
 
 width:100%;
 max-width:980px;

}




.topslider a:hover {
    filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}

.topslideritem div{
	 padding:3px 3px 3px 0px;
	 border:0px;
}


.topslideritem p{
	 padding:5px;
}


.topslideritem img{
    width:95%;
	border:0px;
	margin:5px;
}


.topslideritem a:hover {
    filter:alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
}
	
	
.header{
	
		width:100%;
	 height:40px;
	 background-color:#FFFFFF;
	 color:#666;
	   
	   
}

.rakuten{
 	line-height:40px;
	
}
	
.header a {
text-decoration: none;
}
.header a:hover {
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

.header a:link { color: #666; }
.header a:visited { color: #666; }
.header a:hover { color: #666; }
.header a:active { color: #666; }



.header ul{
	display: flex;
	justify-content: space-between;
	align-items:flex-end;

}

.header li{
  list-style-type: none;
  color: #000;
  flex-grow: 1;
  text-align: center;

	
}





.header img{
		width:20px;
		margin-top:10px;
	
	
}



.searchtxt{
	width:200px;
	height:20px;
	margin-bottom:3px;
		

}


.headermenu {
	width:100%;/*rgba(0,153,204,1.0)*/
	background-color:#fcef64;
    background-size:cover;
    opacity: 5;
    background-position-y: 400px;
    background-position-x: 0px;
	

	   
}

.headermenu ul{
	display: flex;
	justify-content: space-between;
	align-items:center;
		 height:100px;
}

.headermenu li{
	list-style-type: none;
	color: #666;
	flex-grow: 1;
	text-align: center;
	width:196px;

	
}


.header input[type="submit"] {
   background-color: #ccc;
   color: #333;
   border: 1px solid #999;
   height:20px;
}




  /* キラッとさせる */
  .kirakira {
    position: relative;
    overflow: hidden;
  }
  .kirakira::before {
    content: '';
    display: block;
    position: absolute;
    width: 200%;
    height: 100%;
    top: 0;
    left: -200%;
    background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
    /* 【変更部分】inifiniteによりずっと続ける */
    -webkit-animation: shine 3s infinite;
            animation: shine 3s infinite;
  }
  
  @-webkit-keyframes shine {
    100% {
      left: 100%;
    }
  }
  
  @keyframes shine {
    100% {
      left: 100%;
    }
  }

  

h1 {
  position: relative;
  color: #000;
  font-size: 30px;
  padding: 10px 0;
    line-height: 1.8em;
  text-align: center;
  margin: 2em 0;
    font-family:'Times New Roman', Times, serif; 
    
}


h2{
  position: relative;
  color: #000;
  font-size: 30px;
  padding: 10px 0;
  text-align: center;
  margin: 1em 0;
    font-family:'Times New Roman', Times, serif; 
line-height:1.5em;
    

}

h2 p {
font-size:15px;

}


.eventfont{
    background: linear-gradient(transparent 60%, #ff99ff 60%);
    font-weight: bold;
    font-size: 24px;
	line-height:1.8em;

}

.eventfont2{
    font-weight: bold;
    font-size: 24px;
	line-height:1.8em;

}

.eventfonty{
    background: linear-gradient(transparent 60%, #ffff00 60%);
    font-weight: bold;
    font-size: 24px;
    line-height:1.8em;

}


.eventfontb{
    background: linear-gradient(transparent 60%, #00bfff 60%);
    font-weight: bold;
    font-size: 24px;
    line-height:1.8em;

}



.eventfont3{
    background: linear-gradient(transparent 60%, #ff99ff 60%);
}

.topcontents2l{
width:980px;
height:auto;
padding:0px 0px 0px 0px;
margin:0 auto;
line-height:1em;
	display: flex;
}



.topcontents2l ul{
width:980px;
margin-top:50px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-around;
	align-items:flex-start;
}

.topcontents2l li{
	margin-bottom:50px;
}


.topcontents2l li:nth-of-type(1) {
width:700px;
line-height:1.8em;

}
.topcontents2l li:nth-of-type(2) {
width:700px;
line-height:1.8em;
font-size: 18px;
    
}
.topcontents2l li:nth-of-type(2) p{
 padding:0px 20px 0px 20px;
font-size:18px;

}


.topcontents2l img{
width:100%;
}




.pagelink{
width:100%;
	line-height:5em;
	background-color:#0e192b;
	color:#FFCC00;
	text-align:center;
	border:#ffcc00 1px solid;
	margin:40px 0px 50px 0px;
	
}



.lineup-title{
	
	font-size: xx-large;
}
	

.lineup-title2{
	
	font-size: large;
	margin:2em;
}
	

.lineupprice{
 color:#ffffff;
 	
	
}


.lineup{
width:980px;
height:auto;
padding:0px 0px 0px 0px;
margin:0 auto;
line-height:1.8em;
	display: flex;


}



.lineup ul{
width:980px;
margin-top:50px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.lineup li{
width:300px;
line-height:1.8em;
margin-bottom: 50px;
	
}


.lineup img{
width:300px;
}



.lineup-link div{
	width:100%;
		
}
.lineup-link hr{
	width:100%;
	color:#666;
	margin:50px 0px;	
}
.lineup-link p{
	font-size:large;
	text-align:right;
	margin:20px; 10px; 20px 0px;
		
}


.lineuptxt{
width:980px;
height:auto;
padding:0px 0px 0px 0px;
margin:0 auto;
line-height:1.8em;
	display: flex;
}


.lineuptxt ul{
width:980px;
margin-top:50px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}


.lineuptxt li{
width:300px;
    height: 2em;
    line-height:1.5em;
border:#666 solid 1px;
padding: 30px 0px 30px 0px;
margin: 30px 0px 0px 0px;     
border-radius: 50px;
background-color: azure;
color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    

    font-size: 22px;

	
}

.lineuptxt li a{
color: #000;

    
    
}

.lineuptxt img{
width:300px;
}



.lineuptxt-link div{
	width:100%;
		
}
.lineuptxt-link hr{
	width:100%;
	color:#666;
	margin:50px 0px;	
}
.lineuptxt-link p{
	font-size:large;
	text-align:right;
	margin:20px; 10px; 20px 0px;
		
}




.line{
    width:980px;
    margin-top:150px;
    margin-bottom:50px;

}



.itemcontents {
    width: 980px;
    height: auto;
    padding: 0px 0px 0px 0px;
    margin: 0 auto;
    line-height: 1.8em;
    display: flex;
    margin-bottom: 100px;
    
}

.itemcontents ul {
    width: 100%px;
    margin-top: 30px;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.itemcontents li {
    width: 45%;
    line-height: 1.8em;
    font-size: 12px;
    margin: 30px 0px 5px 0px;
}

.itemcontents li img {
    width: 100%;
}



.topshop{
width:980px;
height:auto;
padding:0px 0px 0px 0px;
margin:0 auto;
line-height:1.8em;
	display: flex;
	color:#000;
}



.topshop ul{
width:980px;
margin-top:50px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.topshop li{
width:280px;
/*
line-height:100px;
	*/
}



.footerall{
	 width:100%;
	height:400px;
	
	background-color:rgba(222,203,212,1.0);
/*
	background-color:rgba(0,153,204,1.0);
*/
}


.footer{
width:980px;
height:350px;
padding:40px 0px 0px 0px;
margin:0 auto;
margin-top:200px;
line-height:1.8em;
letter-spacing: 0.5px;
	display: flex;
	justify-content: space-between;
	
	
}


.footerall a:link { color: #666; }
.footerall a:visited { color:#666; }
.footerall a:hover { color: #666; }
.footerall a:active { color: #666; }




.foooterabout{
	width:400px;
	margin:0px 10px 0px 20px;
	line-height:2.3em;
	color: #666;
    font-size: 18px;
    
	
}

.foootermore{
text-align:right;	
}

.foooterabout2{
	width:400px;
	margin:0px 10px 0px 20px;
	color:#666;
	
}

.footertitle{
font-size:20px;
font-weight:bold;
margin-bottom:20px;	
}

.footer ul{
width:400px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content: flex-start;

}
.footer li{
	width:auto;
line-height:2.5em;
padding-right:30px;
font-size: 18px;
    
	
	
}


.footershop ul{
width:400px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;

}
.footershop li{
width:100px;
line-height:2.5em;
}

.footercopyr{
	text-align:center;
	margin-top:0px;
	color:#666;
	
}


.footerlogo {
	text-align:center;
	margin-top:20px;
}
.footerlogo img{
	width:60px;
}
	


.aboutbenebene{
	width:700px;
	text-align:center;
	line-height:3em;
	margin:0 auto;
	font-weight:normal;
	margin-bottom:100px;
	
}


.aboutbenebenetop {
	font-size:18px;
	margin:50px 0px 50px 0px;
	font-weight:bold;
	
}









.aboutline{
width:980px;
height:auto;
padding:0px 0px 0px 0px;
margin:0 auto;
line-height:1.8em;
	display: flex;
}



.aboutline ul{
width:980px;
margin-top:50px;
padding:0px;
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

.aboutline li{
width:280px;/*４個　220px*/
height:100px;
line-height:2em;
background:#F2E4CC;
border:1px #666666 solid;
text-align:center;
display:table-cell;
vertical-align:middle;
	
}



#page-top {
	position: fixed;
	bottom: 65px;
	right: 20px;
	font-size: 95%;
	z-index:99999;
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 70px;
	padding: 20px 0px;
	text-align: center;
	display: block;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
}

.topcsdate{
	color:#000000;
}


#floatlinebtn {
    width: 100px;
    margin: 0;
    padding: 0;
    position: fixed;
    /*fixed;*/
    bottom: 200px;
    left: 0px;
    z-index: 999999;


}

#floatlinebtn img {
    width: 100%;
}

#floatmailbtn {
    width: 100px;
    margin: 0;
    padding: 0;
    position: fixed;
    /*fixed;*/
    bottom: 350px;
    left: 0px;
    z-index: 999999;


}

#floatmailbtn img {
    width: 100%;
}



 .catemenu{
	width:980px;
	background-color:#000000;
	margin:0 auto;
	margin-top:100px;
	margin-bottom:50px;
	 
	 
 }
 .catemenunews{
	width:980px;
	background-color:#000000;
	margin:0 auto;
	margin-top:0px;
	margin-bottom:30px;
	 
	 
 }
 
 .catemenutxt{
	padding-top:10px;
	padding-bottom:10px;
	padding-left:20px;
	color:#FFF;	
	font-size:18px;
	font-family:Verdana, Geneva, sans-serif;
	  
 }
 
  

.btn-flat-border-entry {
    display: inline-block;
    padding: 2em 4em;
    text-decoration: none;
    background:#ff90c6;
    border: solid 2px ##ff90c6;
    border-radius: 50px;
    transition: .4s;
    font-size: 36px;
    margin: 50px 0px 100px 0px;
    color: #000 !important;
     font-family:sans-serif;
    
}


.btn-flat-border-entry:hover {
    background: #66ccff;
    color: white !important;
}
 
  

.btn-flat-border-entry2 {
    display: inline-block;
    padding: 2em 4em;
    text-decoration: none;
    background:#3cb371;
    border: solid 2px #d2691e;
    border-radius: 50px;
    transition: .4s;
    font-size: 36px;
    margin: 50px 0px 100px 0px;
    color: #000 !important;
     font-family:sans-serif;
    
}


.btn-flat-border-entry2:hover {
    background: #e6e6fa;
    color: #000 !important;
}



/* solid021 */
.button_solid021 a {
    background: #6bb6ff;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 616px;
    padding: 1.5em 1em;
    color: #000;
    transition: 0.3s ease-in-out;
    font-weight: 600;
     font-family:sans-serif;
            font-size: 30px;
    border-radius: 50px;
    border-bottom: 4px solid #1d7fde;
    overflow: hidden;
}
.button_solid021 a:active {
  transform: translateY(4px);
  box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
  border-bottom: none;
}
.button_solid021 a:before {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
  animation: shine 3s infinite;
}
@keyframes shine {
  33% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

/*ボタン最後に矢印
.button_solid021 a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: rotate(45deg) translateY(-48%);
    position: absolute;
    top: 48%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
*/


.btn-flat-border-pagego {
    display: inline-block;
    padding: 30px;
    width: 300px;

    text-align: center;
    line-height: 1.3em;
    text-decoration: none;
    color: #fff!important;
    background:#eb47a4;
    border: solid 2px #666;
    border-radius: 300px;
    transition: .4s;
    font-size: 40px;
    margin: 50px 0px 100px 0px;
}


.btn-flat-border-pagego:hover {
    background: #ff8c00;
    color: white;
}



.btn-flat-border {
    display: inline-block;
    padding: 0.5em 2em;
    text-decoration: none;
    color: #fff;
    border: solid 2px #666;
    border-radius: 3px;
    transition: .4s;
    font-size: 22px;
    margin: 80px 0px 80px 0px;
}

.btn-flat-border:hover {
    background: #ff8c00;
    color: white;
}

.animation{
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;

}


.animation3{
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
  animation-iteration-count: 3;
}

.keyframe6 {
  animation-name: poyopoyo;
}

@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}



/* 横幅が320px以下の場合に適用するスタイル */

@media screen and (max-width: 414px) {
    
    .headermenu li{
        font-size: 14px;        


    }

    h1 {
        position: relative;
        color: #000;
        font-size: 40px;
        padding: 10px 0;
        line-height: 1.5em;
        text-align: center;
        margin: 2em 0;
        font-family:'Times New Roman', Times, serif; 

    }

    .topcontents2l li:nth-of-type(1) {
        width: 850px;
        line-height:1.8em;
        font-size: 28px;    
    }

    .lineuptxt ul{
        padding: 0px 20px 0px 20px;

    }


    .lineuptxt li a{
        color: #000;
        font-size: 30px!important;


    }

    .lineuptxt li{
        font-size: 24px;


    }

    .lineup ul{
        padding: 0px 20px 0px 20px;


    }
    .lineup li {
        font-size: 20px!important;
        line-height: 30px!important;
        font-weight:normal;

    }
    .itemcontents li{
        font-size: 20px!important;
        line-height: 30px!important;
        font-weight:normal;

    }

    .itemcontents ul{
        padding: 0px 20px 0px 20px !important;


    }
    

    .eventfont{
        background: linear-gradient(transparent 60%, #ff99ff 60%);
        font-weight: bold;
        font-size: 28px;

    }

    .eventfont2{
        font-weight: bold;
        font-size: 28px;

    }


    .eventfonty{
        background: linear-gradient(transparent 60%, #ffff00 60%);
        font-weight: bold;
        font-size: 28px;
    }

    .eventfontb{
        background: linear-gradient(transparent 60%, #00bfff 60%);
        font-weight: bold;
        font-size: 28px;
    }


    .eventfont3{
        background: linear-gradient(transparent 60%, #ff99ff 60%);
    }

    .topcontents2l{
        width:980px;
        height:auto;
        padding:0px 0px 0px 0px;
        margin:0 auto;
        line-height:1.8em;
        display: flex;
    }




    .topshop ul{
        
        padding: 0px 20px 0px 20px !important;
    
    }

    .catemenutxt{
        font-size:16px;
        padding: 10px 0px 10px 0px;
        
    }

}



/* =========================================================
   2026 Event LP modern responsive override
   元の表示項目・画像・リンクは残したまま、見た目とスマホ導線を改善
   ========================================================= */
:root{
  --bb-bg:#fbf7f3;
  --bb-bg2:#fffdfa;
  --bb-text:#35261f;
  --bb-muted:#7d6a60;
  --bb-main:#9d5b4f;
  --bb-main-dark:#6f342d;
  --bb-gold:#c99947;
  --bb-line:#eadbd2;
  --bb-card:rgba(255,255,255,.92);
  --bb-shadow:0 18px 54px rgba(99,57,39,.12);
}
html{scroll-behavior:smooth;background:var(--bb-bg);}
body{
  min-width:0!important;
  margin:0!important;
  background:
    radial-gradient(circle at top left, rgba(255,235,218,.85), transparent 34%),
    linear-gradient(180deg,#fffaf7 0%,#fbf7f3 45%,#fff 100%)!important;
  color:var(--bb-text)!important;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;
  font-weight:500!important;
  letter-spacing:.04em!important;
  line-height:1.85!important;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;vertical-align:bottom;}
a{transition:opacity .2s ease, transform .2s ease, box-shadow .2s ease;}
a:hover{opacity:.86!important;}
body::before{opacity:.16!important;background-size:1000px auto!important;}
.headermenu{background:linear-gradient(90deg,#7d9fe1,#4f79c8)!important;box-shadow:0 8px 22px rgba(40,64,113,.16);}
.headermenu ul{max-width:1120px!important;width:calc(100% - 32px)!important;margin:0 auto!important;}
.headermenu li{width:auto!important;}
#page-top a{background:var(--bb-main-dark)!important;color:#fff!important;border-radius:999px!important;}
#floatlinebtn,#floatmailbtn{z-index:50;}
body > center{
  display:block;
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
}
/* 元のメイン画像を主役として生かす */
.kirakira{
  width:min(1120px,100%)!important;
  max-width:1120px!important;
  margin:0 auto 26px!important;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  box-shadow:var(--bb-shadow);
}
.kirakira img{display:block;width:100%!important;}
.kirakira::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 42%,rgba(255,255,255,.12));
}
/* 新しい要約ブロック */
.bb-modern-event-summary{
  max-width:1040px;
  margin:0 auto 44px;
  padding:clamp(28px,5vw,58px);
  box-sizing:border-box;
  border:1px solid rgba(201,153,71,.28);
  border-radius:32px;
  background:
    radial-gradient(circle at 12% 8%, rgba(255,231,214,.9), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(244,220,177,.7), transparent 28%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,248,243,.92));
  box-shadow:var(--bb-shadow);
  text-align:center;
  position:relative;
  overflow:hidden;
}
.bb-modern-event-summary::before,.bb-modern-event-summary::after{
  content:"";
  position:absolute;
  border-radius:999px;
  border:1px solid rgba(201,153,71,.24);
  pointer-events:none;
}
.bb-modern-event-summary::before{width:220px;height:220px;right:-90px;top:-95px;}
.bb-modern-event-summary::after{width:150px;height:150px;left:-70px;bottom:-65px;}
.bb-modern-kicker{
  margin:0 0 12px!important;
  color:var(--bb-gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.bb-modern-title{
  margin:0 auto 18px!important;
  padding:0!important;
  color:var(--bb-text)!important;
  font-family:"Hiragino Mincho ProN","Yu Mincho",serif!important;
  font-size:clamp(28px,4.2vw,50px)!important;
  line-height:1.35!important;
  font-weight:600!important;
  background:none!important;
  box-shadow:none!important;
  border:0!important;
}
.bb-modern-lead{
  max-width:760px;
  margin:0 auto 26px!important;
  color:var(--bb-muted);
  font-size:clamp(15px,2vw,18px);
  line-height:1.9;
}
.bb-modern-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:28px 0;
}
.bb-modern-benefit{
  padding:22px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--bb-line);
  box-shadow:0 10px 28px rgba(99,57,39,.08);
}
.bb-modern-benefit span{
  display:inline-grid;
  place-items:center;
  width:34px;height:34px;
  margin-bottom:10px;
  border-radius:50%;
  background:#f7e8df;
  color:var(--bb-main-dark);
  font-size:12px;
  font-weight:700;
}
.bb-modern-benefit strong{
  display:block;
  font-size:clamp(18px,2.4vw,25px);
  line-height:1.45;
  color:var(--bb-main-dark);
}
.bb-modern-benefit p{margin:8px 0 0!important;color:var(--bb-muted);font-size:14px;line-height:1.7;}
.bb-modern-benefit.is-main{background:linear-gradient(180deg,#fff9f3,#fff);border-color:rgba(201,153,71,.45);}
.bb-modern-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:24px;}
.bb-modern-cta,
a.btn-flat-border-entry,
a.btn-flat-border-entry2{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:14px 26px!important;
  box-sizing:border-box!important;
  border-radius:999px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  line-height:1.45!important;
  text-align:center!important;
  text-decoration:none!important;
}
.bb-modern-cta.primary,
a.btn-flat-border-entry2{
  color:#fff!important;
  border:1px solid rgba(255,255,255,.32)!important;
  background:linear-gradient(135deg,var(--bb-main),var(--bb-main-dark))!important;
  box-shadow:0 12px 26px rgba(111,52,45,.24)!important;
}
.bb-modern-cta.secondary,
a.btn-flat-border-entry{
  color:var(--bb-main-dark)!important;
  border:1px solid rgba(157,91,79,.35)!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 9px 20px rgba(111,52,45,.10)!important;
}
.bb-modern-cta:hover,
a.btn-flat-border-entry:hover,
a.btn-flat-border-entry2:hover{transform:translateY(-2px);}
.bb-modern-period{
  display:inline-block;
  margin:22px auto 0!important;
  padding:8px 18px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--bb-line);
  color:var(--bb-main-dark);
  font-size:14px;
}
.sp-only{display:none;}
/* 既存の表示項目は消さず、カード化して読みやすくする */
center > h1,
center > h2,
body > h1,
body > h2,
#bb-scratch{
  max-width:960px!important;
  width:calc(100% - 0px)!important;
  margin:28px auto!important;
  padding:clamp(24px,4vw,44px)!important;
  box-sizing:border-box!important;
  border-radius:28px!important;
  background:var(--bb-card)!important;
  border:1px solid rgba(234,219,210,.9)!important;
  box-shadow:0 12px 36px rgba(99,57,39,.10)!important;
  color:var(--bb-text)!important;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;
  font-size:clamp(18px,2.2vw,26px)!important;
  line-height:1.85!important;
  text-align:center!important;
}
center > h1 font[color="#FF0000"],
center > h1 font[color="#ff0000"],
center > h2 font[color="#FF0000"],
center > h2 font[color="#ff0000"],
#bb-scratch font[color="#FF0000"],
#bb-scratch font[color="#f00"]{
  color:var(--bb-main-dark)!important;
  background:linear-gradient(transparent 62%,rgba(247,205,154,.72) 62%);
  padding:0 .08em;
}
.eventfontb{
  background:linear-gradient(transparent 62%,rgba(169,206,220,.45) 62%)!important;
  color:#24485b;
}
center img[width="890"],
center img[width="700"],
div[style*="width:890px"] img{
  max-width:100%!important;
  height:auto!important;
  border-radius:22px;
  box-shadow:0 14px 40px rgba(99,57,39,.12);
}
/* 下部のカテゴリ・商品導線をレスポンシブに */
.topcontents2l,.lineup,.lineuptxt,.itemcontents,.topshop,.aboutline,.line{
  width:min(980px,calc(100% - 32px))!important;
  max-width:980px!important;
}
.topcontents2l ul,.lineup ul,.lineuptxt ul,.itemcontents ul,.topshop ul,.aboutline ul{
  width:100%!important;
  box-sizing:border-box;
  gap:24px;
}
.itemcontents ul,.lineup ul{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-content:stretch!important;
}
.itemcontents li,.lineup li{
  width:auto!important;
  margin:0 0 24px!important;
  padding:14px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(234,219,210,.9);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 24px rgba(99,57,39,.08);
  overflow:hidden;
  font-size:14px!important;
  line-height:1.7!important;
}
.itemcontents li img,.lineup li img{width:100%!important;border-radius:16px;margin-bottom:10px;}
.catemenu,.catemenunews{
  width:min(980px,calc(100% - 32px))!important;
  margin:70px auto 24px!important;
  border-radius:999px;
  background:linear-gradient(90deg,#fff,#f8ebe4,#fff)!important;
  border:1px solid var(--bb-line);
  box-shadow:0 10px 26px rgba(99,57,39,.07);
}
.catemenutxt{color:var(--bb-main-dark)!important;letter-spacing:.08em!important;}
@media screen and (max-width: 768px){
  body{font-size:15px!important;line-height:1.78!important;}
  body > center{width:calc(100% - 20px);}
  .headermenu ul{width:calc(100% - 20px)!important;height:auto!important;min-height:68px!important;}
  .headermenu li{font-size:12px!important;line-height:1.45!important;}
  .headermenu img{height:64px!important;width:auto!important;}
  .kirakira{border-radius:20px;margin-bottom:18px!important;}
  .bb-modern-event-summary{padding:26px 16px;border-radius:24px;margin-bottom:24px;}
  .bb-modern-title{font-size:29px!important;}
  .bb-modern-benefits{grid-template-columns:1fr;gap:12px;}
  .bb-modern-benefit{padding:18px 14px;}
  .bb-modern-cta-row{display:grid;grid-template-columns:1fr;gap:12px;}
  .bb-modern-cta,
  a.btn-flat-border-entry,
  a.btn-flat-border-entry2{width:100%!important;min-height:50px!important;padding:13px 18px!important;border-radius:18px!important;font-size:15px!important;}
  .bb-modern-period{border-radius:16px;font-size:13px;line-height:1.6;}
  .sp-only{display:block;}
  center > h1,
  center > h2,
  body > h1,
  body > h2,
  #bb-scratch{
    width:100%!important;
    padding:22px 14px!important;
    border-radius:22px!important;
    font-size:17px!important;
    line-height:1.82!important;
    margin:22px auto!important;
  }
  center img[width="890"],center img[width="700"]{border-radius:16px;}
  .itemcontents ul,.lineup ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;}
  .itemcontents li,.lineup li{padding:10px!important;border-radius:16px;font-size:12px!important;margin-bottom:12px!important;}
  .catemenu,.catemenunews{margin:44px auto 18px!important;border-radius:18px;}
  .footer,.footerall,.foooterabout,.foooterabout2,.footer ul,.footershop ul{width:100%!important;max-width:100%!important;height:auto!important;box-sizing:border-box;}
  .footer{display:block!important;padding:28px 16px!important;margin-top:60px!important;}
}
@media screen and (max-width: 420px){
  .bb-modern-title{font-size:25px!important;}
  .bb-modern-lead{font-size:14px;}
  .itemcontents ul,.lineup ul{grid-template-columns:1fr;}
  center > h1,center > h2,#bb-scratch{font-size:16px!important;}
  #floatlinebtn img,#floatmailbtn img{width:40px!important;height:auto!important;}
  #floatmailbtn{bottom: 130px;}
  #floatlinebtn{bottom: 72px;}
  #page-top a {width: 35px;padding: 15px 10px;}
  #page-top {bottom: 5px;right: 5px;}
}
}


/* =========================================================
   2026-07-01 additional fixes v2
   該当のポイント10倍ボタン強調 / 下部セクションSP2列維持
   ========================================================= */
#bb-event-items{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(92%, 720px)!important;
  min-height:84px!important;
  padding:20px 36px!important;
  margin:34px auto 34px!important;
  border-radius:999px!important;
  border:2px solid rgba(173,94,84,.28)!important;
  background:linear-gradient(135deg,#fff8f3 0%, #fff 100%)!important;
  color:#823e33!important;
  font-size:clamp(34px,4.4vw,52px)!important;
  line-height:1.25!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  box-shadow:0 18px 34px rgba(111,52,45,.16)!important;
}
#bb-event-items:hover{
  transform:translateY(-3px) scale(1.01)!important;
  box-shadow:0 24px 42px rgba(111,52,45,.20)!important;
}
/* 下部カテゴリ・価格・ショップをSPでも2列に */
@media screen and (max-width: 768px){
  .itemcontents ul,
  .lineup ul,
  .lineuptxt ul,
  .topshop ul,
  .aboutline ul,
  .footer ul,
  .footershop ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  .lineuptxt li,
  .topshop li,
  .aboutline li,
  .footer li,
  .footershop li{
    width:auto!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .lineuptxt li{
    min-height:78px!important;
    height:auto!important;
    padding:14px 8px!important;
    border-radius:16px!important;
    font-size:15px!important;
    line-height:1.45!important;
  }
  .lineuptxt li a,
  .lineuptxt a{
    font-size:inherit!important;
  }
  .topshop li{
    padding:10px!important;
    border:1px solid rgba(234,219,210,.9)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(99,57,39,.08)!important;
  }
  .topshop img{
    width:100%!important;
    border-radius:12px!important;
    margin-bottom:10px!important;
  }
  .footer ul,
  .footershop ul{
    justify-content:stretch!important;
  }
  .footer li,
  .footershop li{
    width:auto!important;
    padding:0 4px!important;
    line-height:1.8!important;
    font-size:14px!important;
    text-align:center!important;
  }
  #bb-event-items{
    width:100%!important;
    min-height:72px!important;
    padding:18px 18px!important;
    margin:26px auto 26px!important;
    font-size:clamp(24px,7vw,34px)!important;
    line-height:1.3!important;
    border-radius:26px!important;
  }
}
@media screen and (max-width: 420px){
  .itemcontents ul,
  .lineup ul,
  .lineuptxt ul,
  .topshop ul,
  .aboutline ul,
  .footer ul,
  .footershop ul{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .itemcontents li,
  .lineup li,
  .lineuptxt li,
  .topshop li{
    font-size:11px!important;
  }
  .lineuptxt li{
    min-height:72px!important;
    padding:12px 6px!important;
  }
  #bb-event-items{
    font-size:clamp(20px,5.2vw,28px)!important;
    min-height:66px!important;
    padding:16px 12px!important;
  }
}


/* =========================================================
   2026-07-01 footer fixes v3
   footer full width on PC / clean mobile footer alignment
   ========================================================= */
.footerall{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding:0 0 26px!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg, rgba(222,203,212,0.98) 0%, rgba(230,214,221,1) 100%)!important;
}
.footer{
  width:min(1100px, calc(100% - 48px))!important;
  max-width:1100px!important;
  margin:0 auto!important;
  padding:42px 0 18px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:32px 48px!important;
  align-items:start!important;
  justify-content:center!important;
}
.footer > div:first-child,
.footer > div:last-child{
  display:none!important;
}
.foooterabout,
.foooterabout2{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
}
.footertitle{
  margin-bottom:16px!important;
  text-align:left!important;
}
.footer ul{
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 20px!important;
  justify-content:stretch!important;
}
.footer li{
  width:auto!important;
  padding-right:0!important;
  line-height:1.9!important;
  font-size:16px!important;
}
.footerlogo,
.footercopyr{
  width:min(1100px, calc(100% - 48px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.footercopyr{
  padding-top:8px!important;
}
@media screen and (max-width: 768px){
  .footerall{
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0 0 22px!important;
  }
  .footer{
    width:calc(100% - 24px)!important;
    max-width:640px!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:30px 0 12px!important;
    margin:0 auto!important;
  }
  .foooterabout,
  .foooterabout2,
  .footertitle{
    text-align:center!important;
  }
  .foooterabout{
    line-height:2!important;
    font-size:15px!important;
  }
  .foooterabout2{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }
  .footer ul{
    max-width:520px!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px 14px!important;
    justify-items:center!important;
    align-items:start!important;
  }
  .footer li{
    width:100%!important;
    padding:0!important;
    font-size:13px!important;
    line-height:1.7!important;
    text-align:center!important;
  }
  .footer li a{
    display:block!important;
    width:100%!important;
    text-align:center!important;
  }
  .footerlogo,
  .footercopyr{
    width:calc(100% - 24px)!important;
  }
}
@media screen and (max-width: 420px){
  .footer{
    width:calc(100% - 20px)!important;
    gap:20px!important;
  }
  .foooterabout{
    font-size:14px!important;
  }
  .footer ul{
    gap:10px 10px!important;
  }
  .footer li{
    font-size:12px!important;
    line-height:1.6!important;
  }
}


/* =========================================================
   2026-07-01 header mobile fixes v4
   SPヘッダー：ロゴ中央 / 左右文字配置 / ヒーロー画像までの余白詰め
   ========================================================= */
@media screen and (max-width: 768px){
  .headermenu{
    padding:0!important;
  }
  .headermenu ul{
    width:100%!important;
    max-width:100%!important;
    min-height:72px!important;
    height:72px!important;
    margin:0 auto!important;
    padding:0 10px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
  }
  .headermenu li{
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    margin:0!important;
    flex-grow:0!important;
    text-align:center!important;
    line-height:1.35!important;
    font-size:12px!important;
  }
  .headermenu li:first-child,
  .headermenu li:last-child{
    display:none!important;
  }
  .headermenu li:nth-child(2){
    grid-column:1!important;
    justify-self:stretch!important;
    text-align:center!important;
  }
  .headermenu li:nth-child(3){
    grid-column:2!important;
    justify-self:center!important;
    text-align:center!important;
  }
  .headermenu li:nth-child(4){
    grid-column:3!important;
    justify-self:stretch!important;
    text-align:center!important;
  }
  .headermenu li:nth-child(3) a{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
  }
  .headermenu li:nth-child(3) img{
    display:block!important;
    height:60px!important;
    width:auto!important;
    margin:0 auto!important;
  }

  /* ヘッダーとヒーロー画像の間のbr余白をSPだけ詰める */
  .headermenu + br,
  .headermenu + br + br,
  .headermenu + br + br + br{
    display:none!important;
  }
  body > center{
    margin-top:12px!important;
  }
  .kirakira{
    margin-top:0!important;
  }
}

@media screen and (max-width: 420px){
  .headermenu ul{
    height:66px!important;
    min-height:66px!important;
    padding:0 8px!important;
    gap:6px!important;
  }
  .headermenu li{
    font-size:10.5px!important;
    letter-spacing:.02em!important;
  }
  .headermenu li:nth-child(3) img{
    height:54px!important;
  }
  body > center{
    margin-top:8px!important;
  }
}


/* =========================================================
   2026-07-31 SP h1文字・カテゴリ見出し調整
   PCのh1文字サイズは変更しない
   ========================================================= */

/* 「アイテムから探す」など、同じカテゴリ見出しすべてに左余白 */
.catemenu .catemenutxt,
.catemenunews .catemenutxt {
  box-sizing: border-box !important;
  padding-left: 24px !important;
  padding-right: 16px !important;
}

/* SPでh1内の文章が意図しない位置で改行されるのを防ぐ */
@media screen and (max-width: 420px) {
  center > h1,
  body > h1 {
    font-size: 12px !important;
    line-height: 1.75 !important;
    letter-spacing: 0 !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  .catemenu .catemenutxt,
  .catemenunews .catemenutxt {
    padding-left: 18px !important;
    padding-right: 12px !important;
  }
}



/* ===== BeneBene Rakuten 22nd Anniversary LP ===== */
html { scroll-behavior:smooth; }
body.bb22-page{
  margin:0;
  background:#f7f1e8;
  color:#3b2925;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  letter-spacing:.03em;
  line-height:1.9;
}
.bb22-page *, .bb22-page *::before, .bb22-page *::after{ box-sizing:border-box; }
.bb22-page img{ max-width:100%; height:auto; }
.bb22-page a{ text-decoration:none; }
.bb22-skip{ position:absolute; left:-9999px; }
.bb22-skip:focus{ left:12px; top:12px; background:#fff; padding:10px 14px; border-radius:8px; z-index:999; }
.bb22-header{ position:sticky; top:0; z-index:50; background:rgba(252,249,244,.92); backdrop-filter:blur(8px); border-bottom:1px solid #e4d4bf; }
.bb22-header__inner{ width:min(1120px, calc(100% - 32px)); margin:0 auto; min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.bb22-brand{ color:#5c352f !important; font-family:Georgia,serif; font-size:30px; letter-spacing:.08em; line-height:1.1; }
.bb22-brand small{ display:block; font-size:12px; letter-spacing:.25em; text-align:center; margin-top:4px; }
.bb22-header__meta{ color:#8a6a52; font-family:Georgia,serif; font-size:12px; letter-spacing:.18em; text-transform:uppercase; }
.bb22-overline{ margin:0 0 10px; color:#9a7a59; font-size:12px; letter-spacing:.22em; font-family:Georgia,serif; text-transform:uppercase; }
.bb22-overline--light{ color:#f4d9ad; }
.bb22-hero{ position:relative; overflow:hidden; background: radial-gradient(circle at 8% 20%, rgba(163,30,54,.18), transparent 18%), radial-gradient(circle at 92% 12%, rgba(165,124,62,.22), transparent 18%), radial-gradient(circle at 85% 82%, rgba(163,30,54,.14), transparent 18%), linear-gradient(135deg, #f8f2e8 0%, #fffdf8 32%, #f4e4cc 100%); padding:72px 0 84px; }
.bb22-hero::before,.bb22-hero::after{ content:""; position:absolute; width:340px; height:340px; border:1px solid rgba(166,124,62,.18); border-radius:50%; }
.bb22-hero::before{ left:-120px; top:-110px; }
.bb22-hero::after{ right:-90px; bottom:-150px; }
.bb22-hero__frame{ width:min(1120px, calc(100% - 32px)); margin:0 auto; display:grid; grid-template-columns:1.18fr .82fr; gap:34px; align-items:stretch; }
.bb22-hero__copy,.bb22-hero__coupon{ position:relative; border-radius:28px; box-shadow:0 22px 50px rgba(90,55,25,.10); }
.bb22-hero__copy{ background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(251,245,236,.90)); border:1px solid rgba(205,177,140,.7); padding:50px 54px 46px; }
.bb22-anniv{ margin:0 0 14px; font-family:Georgia,serif; color:#aa7b35; font-size:clamp(56px,9vw,118px); line-height:.95; letter-spacing:-.06em; }
.bb22-anniv sup{ font-size:.32em; vertical-align:super; letter-spacing:0; }
.bb22-hero h1{ position:static !important; margin:0 0 14px !important; padding:0 !important; color:#5c2029 !important; font-size:clamp(30px,4vw,48px) !important; line-height:1.45 !important; background:none !important; font-family:inherit !important; text-align:left !important; }
.bb22-hero h1 strong{ display:block; }
.bb22-lead{ margin:0 0 28px; font-size:17px; color:#624a43; }
.bb22-hero__actions{ display:flex; flex-wrap:wrap; gap:14px; }
.bb22-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:14px 28px; border-radius:999px; font-family:"Yu Gothic",Meiryo,sans-serif; font-size:16px; font-weight:700; letter-spacing:.04em; transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
.bb22-btn:hover{ transform:translateY(-2px); opacity:.96; }
.bb22-btn--primary{ background:linear-gradient(135deg, #b22239 0%, #84192c 100%); color:#fff !important; border:1px solid #d4ab6d; box-shadow:0 12px 24px rgba(128,15,38,.24); }
.bb22-btn--ghost{ background:#fff; color:#7a2c39 !important; border:1px solid #dbc6a3; box-shadow:0 10px 20px rgba(83,60,30,.08); }
.bb22-btn--wide{ width:100%; }
.bb22-hero__coupon{ background:linear-gradient(160deg, #7c1226 0%, #9a1830 48%, #5d1021 100%); color:#fff5eb; border:1px solid rgba(222,191,137,.55); padding:36px 34px 34px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.bb22-chip{ margin:0 0 14px; color:#f0d8af; font-size:12px; letter-spacing:.22em; font-family:Georgia,serif; }
.bb22-ribbon{ margin:0 0 14px; color:#fff4dd; font-size:18px; }
.bb22-discount{ margin:0; font-family:Georgia,serif; color:#fff; font-size:clamp(46px,8vw,86px); line-height:1; letter-spacing:-.06em; }
.bb22-discount span{ font-size:1.46em; }
.bb22-couponword{ margin:6px 0 22px; color:#efd4ab; font-family:Georgia,serif; letter-spacing:.08em; font-size:32px; }
.bb22-target{ margin:0 0 20px; width:100%; background:rgba(255,248,236,.12); border:1px solid rgba(243,215,169,.48); border-radius:999px; padding:10px 14px; font-size:18px; }
.bb22-summary{ width:100%; margin:0; display:grid; gap:12px; }
.bb22-summary div{ background:rgba(255,255,255,.08); border-radius:16px; padding:12px 14px; }
.bb22-summary dt{ margin:0 0 4px; font-size:12px; color:#efd8b7; letter-spacing:.12em; }
.bb22-summary dd{ margin:0; font-size:14px; line-height:1.7; }
.bb22-message{ background:linear-gradient(135deg, #6d1225 0%, #922338 55%, #52131f 100%); color:#fff3e2; padding:84px 0; }
.bb22-message__inner{ width:min(1120px, calc(100% - 32px)); margin:0 auto; display:grid; grid-template-columns:.75fr 1.25fr; gap:52px; align-items:center; }
.bb22-message__mark{ text-align:center; color:#efd4a7; font-family:Georgia,serif; font-style:italic; line-height:.98; }
.bb22-message__mark span{ display:block; font-size:clamp(54px,8vw,98px); }
.bb22-message__mark small{ display:block; margin-top:18px; font-size:25px; }
.bb22-message__body h2{ position:static !important; margin:0 0 20px !important; padding:0 !important; background:none !important; color:#fff7ec !important; text-align:left !important; font-size:clamp(28px,4vw,42px) !important; line-height:1.55 !important; font-family:inherit !important; }
.bb22-message__body p{ margin:0 0 16px; font-size:16px; }
.bb22-event{ background:linear-gradient(180deg, #fff9f0 0%, #f4e5cf 100%); padding:86px 0 92px; }
.bb22-event__head,.bb22-links__heading,.bb22-shoppingintro{ width:min(1120px, calc(100% - 32px)); margin:0 auto; }
.bb22-event__head{ text-align:center; margin-bottom:34px; }
.bb22-event__head h2,.bb22-shoppingintro h2,.bb22-links__heading h2{ position:static !important; margin:0 0 10px !important; padding:0 !important; background:none !important; color:#5c2029 !important; text-align:center !important; font-size:clamp(28px,4vw,44px) !important; line-height:1.5 !important; font-family:inherit !important; }
.bb22-event__head p,.bb22-links__heading p,.bb22-shoppingintro p:last-child{ font-size:15px; color:#6a564e; }
.bb22-event__grid{ width:min(1120px, calc(100% - 32px)); margin:0 auto; display:grid; grid-template-columns:1.18fr .92fr .9fr; gap:20px; align-items:stretch; }
.bb22-card{ background:#fffdf9; border:1px solid #e4d4bc; border-radius:26px; box-shadow:0 18px 36px rgba(80,57,30,.09); padding:30px 28px; }
.bb22-card--main{ background: radial-gradient(circle at 18% 18%, rgba(167,30,55,.10), transparent 20%), radial-gradient(circle at 82% 30%, rgba(171,124,62,.13), transparent 18%), linear-gradient(160deg, #fffdf8 0%, #fbf2e4 100%); text-align:center; }
.bb22-card__top{ margin:0 0 10px; color:#7e2b38; font-size:22px; line-height:1.5; }
.bb22-card__maincopy{ margin:0; font-family:Georgia,serif; color:#aa1b33; font-size:clamp(52px,8vw,96px); line-height:.95; letter-spacing:-.05em; }
.bb22-card__maincopy span{ font-size:.42em; color:#7a2b38; }
.bb22-card__sub{ margin:12px 0 8px; font-size:22px; color:#5a4339; }
.bb22-card__period{ margin:0 0 20px; font-size:16px; }
.bb22-note{ margin:14px 0 0; font-family:"Yu Gothic",Meiryo,sans-serif; font-size:12px; line-height:1.8; color:#7f6155; text-align:left; }
.bb22-card--detail h3,.bb22-card--info h3{ margin:0 0 16px; color:#6c2130; font-size:22px; line-height:1.5; }
.bb22-checks{ list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.bb22-checks li{ position:relative; padding-left:30px; font-size:15px; line-height:1.9; }
.bb22-checks li::before{ content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:#8b2031; color:#fff; font-size:13px; line-height:20px; text-align:center; }
.bb22-card--info{ background:linear-gradient(160deg, #fffaf5 0%, #f7efe2 100%); }
.bb22-miniinfo{ display:grid; gap:14px; }
.bb22-miniinfo div{ border:1px solid #ead9c0; border-radius:18px; padding:16px 18px; background:#fff; }
.bb22-miniinfo strong{ display:block; margin-bottom:6px; color:#7e2b38; font-size:14px; }
.bb22-miniinfo span{ display:block; font-size:16px; line-height:1.8; color:#4f3b35; }
.bb22-shoppingintro{ text-align:center; padding:72px 0 36px; }
.bb22-links{ padding:0 0 88px; background:linear-gradient(180deg, #f7f1e8 0%, #fcfaf7 55%, #ffffff 100%); }
.bb22-links__heading{ text-align:center; margin-bottom:26px; }
.bb22-legacy{ width:min(1120px, calc(100% - 24px)); margin:0 auto; }
.bb22-legacy center{ display:block; width:100%; max-width:980px; margin:0 auto 28px; text-align:center; color:#684f44; }
.bb22-legacy center > a{ display:block; }
.bb22-legacy center img{ width:100%; max-width:980px; display:block; margin:0 auto 10px; border-radius:18px; box-shadow:0 18px 38px rgba(78,58,35,.12); }
.bb22-legacy .catemenu,.bb22-legacy .catemenunews{ width:100% !important; max-width:1120px !important; margin:56px auto 18px !important; padding:0 !important; background:none !important; height:auto !important; border:0 !important; }
.bb22-legacy .catemenutxt{ margin:0 !important; padding:0 0 14px !important; border-bottom:1px solid #ccb08b; color:#6a2431 !important; font-family:Georgia,"Yu Mincho",serif !important; font-size:30px !important; line-height:1.4 !important; letter-spacing:.10em !important; background:none !important; text-align:center !important; }
.bb22-legacy .itemcontents,.bb22-legacy .lineup,.bb22-legacy .lineuptxt,.bb22-legacy .topshop{ width:100% !important; max-width:1120px !important; margin:0 auto 12px !important; }
.bb22-legacy .itemcontents ul,.bb22-legacy .lineup ul,.bb22-legacy .topshop ul{ width:100% !important; display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:22px; margin:22px 0 0 !important; padding:0 !important; }
.bb22-legacy .itemcontents li,.bb22-legacy .lineup li,.bb22-legacy .topshop li{ list-style:none; width:100% !important; margin:0 !important; padding:0 !important; border-radius:18px; overflow:hidden; background:#fff; border:1px solid #ecdcc7; box-shadow:0 14px 30px rgba(78,58,35,.10); transition:transform .18s ease, box-shadow .18s ease; }
.bb22-legacy .itemcontents li:hover,.bb22-legacy .lineup li:hover,.bb22-legacy .topshop li:hover{ transform:translateY(-2px); box-shadow:0 18px 32px rgba(78,58,35,.14); }
.bb22-legacy .itemcontents li a,.bb22-legacy .lineup li a,.bb22-legacy .topshop a{ display:block; color:#4f312e !important; font-size:14px; line-height:1.8; }
.bb22-legacy .itemcontents li img,.bb22-legacy .lineup li img,.bb22-legacy .topshop li img{ width:100% !important; aspect-ratio:1.45; object-fit:cover; display:block; margin:0 0 12px; }
.bb22-legacy .itemcontents li a,.bb22-legacy .lineup li a{ padding:0 0 16px; }
.bb22-legacy .itemcontents li a br,.bb22-legacy .lineup li a br{ display:none; }
.bb22-legacy .itemcontents li a,.bb22-legacy .lineup li a{ padding-inline:16px; }
.bb22-legacy .lineuptxt ul{ width:100% !important; display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px; margin:22px 0 0 !important; padding:0 !important; }
.bb22-legacy .lineuptxt ul > a{ display:block; color:inherit !important; }
.bb22-legacy .lineuptxt li{ list-style:none; width:100% !important; height:auto !important; min-height:84px; margin:0 !important; padding:16px 14px !important; border-radius:16px; border:1px solid #e4d2b9 !important; background:#fff !important; box-shadow:0 10px 24px rgba(78,58,35,.08); display:flex; align-items:center; justify-content:center; text-align:center; color:#5f3b34 !important; font-size:15px !important; line-height:1.6 !important; }
.bb22-legacy .topshop li{ padding-bottom:20px !important; }
.bb22-legacy .topshop p{ margin:0; padding:0 16px; }
.bb22-legacy .topshopname{ color:#6a2431; font-size:16px; font-weight:700; margin-bottom:8px !important; }
.bb22-legacy .topshopadd,.bb22-legacy .topshoptel{ font-size:13px; line-height:1.8; color:#5b473f; }
.bb22-legacy .btn-flat-border,.bb22-legacy .btn-flat-border-entry{ display:inline-flex; align-items:center; justify-content:center; min-height:52px; margin:18px auto 0 !important; padding:12px 30px; background:linear-gradient(135deg, #a11f34, #7d182b) !important; color:#fff !important; border:1px solid #d4ab6d !important; border-radius:999px !important; box-shadow:0 12px 24px rgba(128,15,38,.20); }
.bb22-footer{ background:#4f1727; color:#f5e8d5; padding:36px 0; }
.bb22-footer__inner{ width:min(1120px, calc(100% - 32px)); margin:0 auto; text-align:center; }
.bb22-footer__brand{ margin:0 0 8px; font-family:Georgia,serif; font-size:24px; letter-spacing:.12em; }
.bb22-footer p{ margin:0 0 10px; }
.bb22-footer a{ color:#f7e8d2 !important; text-decoration:underline; }
@media (max-width: 980px){ .bb22-hero__frame{ grid-template-columns:1fr; } .bb22-event__grid{ grid-template-columns:1fr; } .bb22-message__inner{ grid-template-columns:1fr; gap:34px; } .bb22-message__mark{ order:-1; } }
@media (max-width: 760px){ .bb22-header__inner{ width:min(100%, calc(100% - 24px)); min-height:62px; } .bb22-brand{ font-size:22px; } .bb22-brand small{ font-size:10px; } .bb22-header__meta{ font-size:10px; } .bb22-hero{ padding:44px 0 54px; } .bb22-hero__copy{ padding:34px 24px 30px; } .bb22-hero__coupon{ padding:28px 22px; } .bb22-hero h1{ font-size:30px !important; } .bb22-message, .bb22-event{ padding:56px 0; } .bb22-shoppingintro{ padding:52px 0 24px; } .bb22-links{ padding-bottom:56px; } .bb22-legacy .itemcontents ul,.bb22-legacy .lineup ul,.bb22-legacy .topshop ul{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; } .bb22-legacy .lineuptxt ul{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; } .bb22-legacy .catemenutxt{ font-size:22px !important; } }
@media (max-width: 480px){ .bb22-hero__actions{ flex-direction:column; } .bb22-btn{ width:100%; } .bb22-message__mark span{ font-size:52px; } .bb22-legacy .itemcontents ul,.bb22-legacy .lineup ul,.bb22-legacy .topshop ul{ grid-template-columns:1fr; } .bb22-legacy .lineuptxt ul{ grid-template-columns:1fr 1fr; } }


/* 22周年LP デザイン改訂：ヒーローを一枚のエディトリアルデザインへ */
.bb22-hero{
  padding:100px 0 108px!important;
  background:
    radial-gradient(ellipse at 13% 85%,rgba(180,130,82,.16),transparent 45%),
    radial-gradient(ellipse at 85% 10%,rgba(138,32,49,.11),transparent 48%),
    linear-gradient(115deg,#fffaf1 0%,#f7e9d7 49%,#f6eee4 100%)!important;
}
.bb22-hero::before{width:780px;height:780px;left:-540px;top:-420px;border-color:rgba(172,124,70,.20)}
.bb22-hero::after{width:680px;height:680px;right:-440px;bottom:-410px;border-color:rgba(172,124,70,.17)}
.bb22-hero__frame{
  max-width:1190px!important;grid-template-columns:1.1fr .9fr!important;
  gap:60px!important;align-items:center!important;
}
.bb22-hero__copy,.bb22-hero__coupon{border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important}
.bb22-hero__copy{padding:22px 0 28px!important}
.bb22-hero__copy::before{content:"";display:block;width:110px;height:2px;background:#ad804b;margin-bottom:38px}
.bb22-anniv{font-size:clamp(70px,8.5vw,122px)!important;line-height:1.03!important;margin:12px 0 27px!important;color:#9a713c!important}
.bb22-hero h1{font-size:clamp(29px,3.7vw,49px)!important;letter-spacing:.03em!important;line-height:1.65!important}
.bb22-lead{line-height:2.1!important;margin:22px 0 32px!important}
.bb22-hero__coupon{
  border-left:1px solid #d5b88d!important;padding:20px 12px 24px 60px!important;
  color:#74303a!important;text-align:left!important;align-items:flex-start!important;
}
.bb22-chip{color:#99764d!important;letter-spacing:.24em!important}
.bb22-ribbon{font-size:22px!important;color:#77313a!important;margin-bottom:6px!important}
.bb22-discount{font-size:clamp(54px,7vw,94px)!important;color:#9d2337!important;letter-spacing:-.07em!important;white-space:nowrap}
.bb22-couponword{color:#9d7a53!important;margin:4px 0 24px!important;font-size:29px!important;letter-spacing:.26em!important}
.bb22-target{background:none!important;border:0!important;border-radius:0!important;border-top:1px solid #d2b18a!important;border-bottom:1px solid #d2b18a!important;padding:13px 0!important;color:#5c403a!important;font-size:18px!important}
.bb22-summary div{background:none!important;border-radius:0!important;padding:4px 0!important}
.bb22-summary dt{color:#866d57!important}.bb22-summary dd{color:#553d38!important}
/* 既存リンク先も画像ファイルもそのまま。縮尺だけ可変で、切り抜かず全体表示 */
.bb22-legacy .itemcontents li img,
.bb22-legacy .lineup li img,
.bb22-legacy .topshop li img,
.bb22-legacy center img{
  display:block!important;width:100%!important;max-width:100%!important;
  height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;
  object-position:center center!important;border-radius:10px!important;
  margin:0 auto 12px!important;
}
.bb22-legacy .itemcontents li a,.bb22-legacy .lineup li a{padding:0 0 16px!important}
.bb22-legacy .itemcontents li a img,.bb22-legacy .lineup li a img{padding:0!important}
.bb22-legacy .itemcontents li,.bb22-legacy .lineup li,.bb22-legacy .topshop li{border-radius:12px!important}
.bb22-legacy .topshop ul>a{display:block;min-width:0}
.bb22-legacy .topshop ul>a li{height:100%}
@media(max-width:980px){
 .bb22-hero__frame{grid-template-columns:1fr!important;gap:24px!important}
 .bb22-hero__copy{padding:16px 0!important}
 .bb22-hero__coupon{border-left:0!important;border-top:1px solid #d5b88d!important;padding:28px 0 0!important}
}
@media(max-width:600px){
 .bb22-hero{padding:52px 0 68px!important}
 .bb22-anniv{font-size:64px!important}
 .bb22-hero__coupon{align-items:center!important;text-align:center!important}
 .bb22-hero__coupon .bb22-summary{ text-align:center }
 .bb22-legacy .itemcontents ul,.bb22-legacy .lineup ul,.bb22-legacy .topshop ul{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* 2026 Rakuten 22nd hero and single target-items CTA */
.bb22-hero--visual{padding:0!important;background:#f8eddf!important}
.bb22-hero--visual::before,.bb22-hero--visual::after{display:none!important}
.bb22-hero--visual__image{max-width:1600px;margin:0 auto}
.bb22-hero--visual__image img{display:block;width:100%;height:auto;max-width:none;border:0}
.bb22-hero--visual__buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;padding:22px 20px 34px;background:linear-gradient(90deg,#f3e3cc,#fffaf1,#f3e3cc)}
.bb22-targetitems{text-align:center;margin:36px auto 0;max-width:830px;padding:34px 24px 30px;background:#fffaf5;border:1px solid #d6ba8f;border-radius:19px;box-shadow:0 10px 35px rgba(83,43,24,.08)}
.bb22-targetitems__title{font-size:20px;color:#682732;margin:0 0 18px}
.bb22-btn--target{background:#fff;color:#842237!important;border:2px solid #a52a41;box-shadow:0 8px 16px #5b253015;padding:16px 36px}
.bb22-targetitems .bb22-note{text-align:center;margin-top:12px}
@media(max-width:600px){.bb22-hero--visual__buttons{padding:18px 20px 26px}.bb22-targetitems{margin:25px 15px 0;padding:25px 16px}.bb22-targetitems__title{font-size:17px}}


/* v5: リンク画像は元比率のまま全体表示、キャプションに確実な内側余白 */
.bb22-page .bb22-legacy .itemcontents li a,
.bb22-page .bb22-legacy .lineup li a{
  display:block!important;
  padding:0 16px 18px!important;
  line-height:1.75!important;
  overflow-wrap:anywhere;
}
.bb22-page .bb22-legacy .itemcontents li a img,
.bb22-page .bb22-legacy .lineup li a img{
  width:calc(100% + 32px)!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  display:block!important;
  margin:0 -16px 15px!important;
  padding:0!important;
  border-radius:10px!important;
}
.bb22-page .bb22-legacy .topshop ul > a li{
  padding:0 16px 20px!important;
}
.bb22-page .bb22-legacy .topshop ul > a li img{
  width:calc(100% + 32px)!important;
  max-width:none!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  margin:0 -16px 14px!important;
  border-radius:10px!important;
}
.bb22-page .bb22-legacy .topshop li p{padding:0!important}
/* 対象商品へのリンクはイベント枠と同じ最大幅 */
.bb22-page .bb22-targetitems{max-width:1120px;width:calc(100% - 32px);}
/* 左下：ヒーローが画面外に出た後に表示 */
.bb22-float-contact{
  position:fixed;left:14px;bottom:25px;z-index:300;
  display:flex;flex-direction:column;gap:9px;
  opacity:0;visibility:hidden;transform:translateY(15px);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.bb22-float-contact.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.bb22-float-contact a{display:flex;align-items:center;gap:9px;min-width:150px;min-height:48px;padding:8px 14px;border-radius:30px;font:700 13px/1.3 'Yu Gothic',Meiryo,sans-serif;letter-spacing:0;color:white!important;box-shadow:0 7px 18px #30201930}
.bb22-float-contact__line{background:#16854a;border:1px solid #a4dfb8}
.bb22-float-contact__mail{background:#822a3d;border:1px solid #e4b99b}
.bb22-float-contact__icon{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#ffffff2c;font-size:11px;letter-spacing:-.04em}
.bb22-float-contact__mail .bb22-float-contact__icon{font-size:20px}
.bb22-backtop{text-align:center;background:#f8f0e5;padding:32px 16px 44px}
.bb22-backtop a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:200px;min-height:52px;border:1px solid #bd9976;border-radius:999px;background:#fff;color:#6b2a38!important;box-shadow:0 8px 18px #51301915;font:700 15px 'Yu Gothic',Meiryo,sans-serif}
@media(max-width:700px){
  .bb22-float-contact{left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:0;transform:translateY(100%);padding:0;}
  .bb22-float-contact.is-visible{transform:translateY(0)}
  .bb22-float-contact a{justify-content:center;min-width:0;border-radius:0;min-height:52px;padding:9px 6px;font-size:12px}
  .bb22-float-contact__line{border-right:1px solid white}
  .bb22-backtop{padding-bottom:74px}
  .bb22-footer{padding-bottom:64px}
}
@media(prefers-reduced-motion:reduce){.bb22-float-contact{transition:none!important}}


/* v6: hero image actually replaced with dedicated PC/SP visuals */
.bb22-hero--visual__image picture{display:block;max-width:1600px;margin:0 auto;}
.bb22-hero--visual__image img{display:block;width:100%;height:auto;max-width:none;border:0;}
@media(max-width:760px){
  .bb22-hero--visual__image picture{max-width:820px;}
}

/* v6: link-card image = top corners rounded only, bottom corners square */
.bb22-page .bb22-legacy .itemcontents li,
.bb22-page .bb22-legacy .lineup li,
.bb22-page .bb22-legacy .topshop ul > a li{
  overflow:hidden!important;
  border-radius:18px!important;
}
.bb22-page .bb22-legacy .itemcontents li a img,
.bb22-page .bb22-legacy .lineup li a img,
.bb22-page .bb22-legacy .topshop ul > a li img{
  border-radius:18px 18px 0 0!important;
}
.bb22-page .bb22-legacy .itemcontents li a,
.bb22-page .bb22-legacy .lineup li a{
  padding:0 16px 18px!important;
}
.bb22-page .bb22-legacy .itemcontents li a img,
.bb22-page .bb22-legacy .lineup li a img{
  margin:0 -16px 16px!important;
}
.bb22-page .bb22-legacy .topshop li p{padding:0 16px!important;}
.bb22-page .bb22-legacy .topshop ul > a li img{margin:0 -16px 14px!important;}

/* v6: floating back-to-top button on bottom right */
.bb22-topfloat{
  position:fixed; right:14px; bottom:25px; z-index:310;
  width:58px; min-height:58px; border-radius:999px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  background:linear-gradient(135deg,#fff8f1,#f2ddbd);
  border:1px solid #c9a977; box-shadow:0 10px 26px rgba(73,41,18,.18);
  color:#6b2a38!important; font:700 11px/1.1 'Yu Gothic',Meiryo,sans-serif;
  opacity:0; visibility:hidden; transform:translateY(15px); pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.bb22-topfloat span:first-child{font-size:18px; line-height:1;}
.bb22-topfloat.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
@media(max-width:700px){
  .bb22-topfloat{right:12px; bottom:62px; width:52px; min-height:52px; font-size:10px;}
}

/* v8: PC hero image edge-to-edge viewport width */
@media (min-width:761px){
.bb22-page .bb22-hero--visual{width:100%;max-width:none;margin:0;padding:0!important;}
.bb22-page .bb22-hero--visual__image,.bb22-page .bb22-hero--visual__image picture{width:100%;max-width:none!important;margin:0;}
.bb22-page .bb22-hero--visual__image img{width:100%;max-width:none;height:auto;}
}


/* v9: responsive first-view hero, live copy separated from imagery */
.bb22-page .bb22-hero--new{
 display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-items:center!important;
 box-sizing:border-box!important;padding:26px 30px 18px!important;
 height:clamp(425px, calc(100svh - 68px), 710px)!important;min-height:0!important;
 width:100%!important;max-width:none!important;
 background: #fff9ed url('../images/anniversary_hero_bg_pc.jpg') center center / cover no-repeat!important;
 position:relative!important;
}
.bb22-page .bb22-hero--new::before,.bb22-page .bb22-hero--new::after{display:none!important}
.bb22-hero__newcontent{position:relative;z-index:2;text-align:center;max-width:1100px;margin:auto auto 16px;color:#642b31;text-shadow:0 1px 5px #fff9;}
.bb22-hero__eyebrow{font:normal clamp(15px,1.6vw,24px)/1.3 Georgia,serif;letter-spacing:.14em;color:#65392e;margin:0 0 9px}
.bb22-page .bb22-hero--new h1{position:static!important;display:flex;flex-direction:column;align-items:center;margin:0!important;padding:0!important;color:#822137!important;font-family:Georgia,'Yu Mincho',serif!important;line-height:1.02!important;background:none!important}
.bb22-hero__year{font:normal clamp(92px,12vw,160px)/.84 Georgia,serif;letter-spacing:-.045em;color:#9b2134;text-shadow:2px 2px 1px #dcb675,0 3px 16px #fff9}
.bb22-hero__year sup{font-size:.25em;vertical-align:super;letter-spacing:0}
.bb22-hero__english{font:italic clamp(39px,5.5vw,78px)/1.15 Georgia,serif;color:#a97836;letter-spacing:-.035em}
.bb22-hero__jp{font:700 clamp(18px,2vw,31px)/1.6 'Yu Mincho','Hiragino Mincho ProN',serif;color:#6b252f;letter-spacing:.03em;margin-top:12px}
.bb22-hero__gratitude{font-size:clamp(14px,1.4vw,20px);color:#6b403b;margin:5px 0 0}
.bb22-hero__offer{
 position:relative;z-index:3;width:min(1200px,100%);display:grid;grid-template-columns:1fr 1.5fr 1.45fr 1.3fr;gap:16px;align-items:center;
 padding:14px 26px;border:2px solid #d9ab70;border-radius:18px;
 background:linear-gradient(110deg,#8a1830,#ac2a42 49%,#7a152b);box-shadow:0 12px 30px #6d253a35;color:#fff3e0;
}
.bb22-hero__offerLabel{font-size:clamp(13px,1.1vw,17px);line-height:1.55;text-align:center;letter-spacing:.07em}
.bb22-hero__offerValue{font:normal clamp(42px,5.5vw,76px)/.95 Georgia,serif;white-space:nowrap;letter-spacing:-.05em;text-align:center;color:#fff6df}
.bb22-hero__offerValue span{font-size:.42em;letter-spacing:-.03em}
.bb22-hero__offerDetails{font:600 clamp(12px,1.1vw,16px)/1.6 'Yu Gothic',Meiryo,sans-serif;white-space:nowrap}
.bb22-hero__offerDetails small{display:block;font-size:.75em;margin-top:4px;color:#ffe5c2;white-space:normal}
.bb22-hero__offerCTA{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:999px;padding:10px 15px;background:#fff9ee;color:#8c2336!important;font:700 clamp(12px,1.1vw,16px)/1.5 'Yu Gothic',Meiryo,sans-serif;box-shadow:0 5px 15px #25071933;text-align:center}
.bb22-hero__offerCTA:hover{opacity:.9;transform:translateY(-1px)}
.bb22-hero__below{display:none}
@media(max-width:860px){
 .bb22-hero__offer{grid-template-columns:.8fr 1.2fr 1.3fr;gap:10px;padding:12px 14px}
 .bb22-hero__offerCTA{grid-column:1/-1;min-height:40px;max-width:320px;width:100%;justify-self:center}
}
@media(max-width:760px){
 .bb22-page .bb22-hero--new{height:clamp(455px, calc(100svh - 62px), 610px)!important;padding:22px 14px 12px!important;background-image:url('../images/anniversary_hero_bg_sp.jpg')!important;background-position:center top!important;}
 .bb22-hero__newcontent{margin:auto auto 18px}
 .bb22-hero__eyebrow{font-size:13px;letter-spacing:.09em}
 .bb22-hero__year{font-size:clamp(74px,16vw,105px)}
 .bb22-hero__english{font-size:clamp(31px,8vw,50px)}
 .bb22-hero__jp{font-size:clamp(15px,3.8vw,22px);margin-top:12px}
 .bb22-hero__gratitude{font-size:12px}
 .bb22-hero__offer{width:100%;grid-template-columns:.62fr 1fr;gap:4px 9px;padding:9px 12px;border-radius:12px}
 .bb22-hero__offerLabel{font-size:11px;text-align:left;line-height:1.25}
 .bb22-hero__offerValue{font-size:clamp(39px,10vw,58px);text-align:right}
 .bb22-hero__offerDetails{font-size:12px;grid-column:1/-1;text-align:center;line-height:1.4}
 .bb22-hero__offerDetails small{font-size:10px;margin:0}
 .bb22-hero__offerCTA{grid-column:1/-1;min-height:37px;font-size:12px;padding:8px;max-width:none}
}
@media(max-height:660px) and (min-width:761px){
 .bb22-page .bb22-hero--new{padding-top:12px!important;padding-bottom:10px!important}
 .bb22-hero__year{font-size:clamp(75px,9vw,122px)}
 .bb22-hero__english{font-size:clamp(32px,4vw,58px)}
 .bb22-hero__offer{padding-top:8px;padding-bottom:8px}
}

/* ===== v10: editorial premium hero (overrides former v9 styles) ===== */
.bb22-page .bb22-hero--premium{
  height:clamp(510px, calc(100svh - 70px), 690px)!important;
  min-height:510px!important;
  padding:34px 3.8vw 35px!important;
  background-image:
    linear-gradient(90deg,rgba(255,250,242,.06),rgba(255,249,239,.12) 25%,rgba(255,252,244,.08) 76%,rgba(255,246,231,.02)),
    url('../images/anniversary_hero_bg_pc.jpg')!important;
  background-size:cover!important;background-position:center!important;
  justify-content:center!important;gap:0!important;
}
.bb22-hero--premium .bb22-hero__newcontent{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:min(900px,100%);flex:1 1 auto;min-height:0;
  margin:0 auto 0!important;padding:12px 16px 54px;
  text-align:center;text-shadow:0 2px 12px #fff9ee;
}
.bb22-hero--premium .bb22-hero__eyebrow{
  font:normal clamp(13px,1.35vw,19px)/1.2 Georgia,serif;
  letter-spacing:.18em;margin:0 0 14px;color:#5f4234;
}
.bb22-hero__separator{padding:0 .35em;color:#c69b5c}
.bb22-page .bb22-hero--premium h1{
  display:block!important;margin:0!important;
  line-height:1.1!important;
  text-align:center!important;
}
.bb22-hero__annivline{
  display:flex;flex-direction:column;align-items:center;
  gap:0;
}
.bb22-hero--premium .bb22-hero__year{
  display:block;font:normal clamp(100px,12vw,176px)/.88 Georgia,serif;
  letter-spacing:-.075em;color:#981c36;
  text-shadow:1px 1px 0 #f5d8a0, 3px 4px 1px #b98243, 0 8px 22px #fff8e0;
}
.bb22-hero--premium .bb22-hero__year sup{
  font-size:.24em;vertical-align:super;letter-spacing:0;margin-left:.05em;
}
.bb22-hero--premium .bb22-hero__english{
  display:block;font:italic clamp(44px,5.6vw,80px)/1.03 Georgia,serif;
  color:#a77331;letter-spacing:-.055em;
  margin-top:-8px;
}
.bb22-hero--premium .bb22-hero__jp{
  display:block;font:600 clamp(19px,2vw,30px)/1.48 "Yu Mincho","Hiragino Mincho ProN",serif;
  margin-top:20px;color:#651b2b;letter-spacing:.03em;
}
.bb22-hero--premium .bb22-hero__gratitude{
  margin:4px 0 0;color:#613b34;
  font-size:clamp(14px,1.4vw,19px);letter-spacing:.08em;line-height:1.5;
}
.bb22-hero--premium .bb22-hero__offer{
  width:min(1240px,100%);flex:0 0 auto;min-height:112px;
  margin:-32px auto 0;z-index:5;
  display:grid;grid-template-columns:1.25fr 1.2fr 1.6fr 1.45fr;
  column-gap:18px;align-items:center;
  padding:17px 26px;
  background:linear-gradient(115deg,#791529,#a1243c 40%,#891b31 70%,#6b1327);
  border:2px solid #d5ae72;border-radius:14px;
  box-shadow:0 12px 27px rgba(68,22,27,.27),inset 0 0 0 1px rgba(255,239,203,.20);
  color:#fff5de;
}
.bb22-hero--premium .bb22-hero__offerLabel{font-size:16px;line-height:1.5;text-align:center;white-space:nowrap}
.bb22-hero--premium .bb22-hero__offerLabel span{display:block;font:11px Georgia,serif;letter-spacing:.13em;color:#ead1a5}
.bb22-hero--premium .bb22-hero__offerLabel strong{display:block;font-weight:600;margin-top:7px}
.bb22-hero--premium .bb22-hero__offerValue{
  font:normal clamp(57px,6vw,90px)/.9 Georgia,serif;
  text-align:center;color:#ffe4ad;white-space:nowrap;letter-spacing:-.055em;
  text-shadow:0 2px 4px rgba(55,0,0,.2);
}
.bb22-hero--premium .bb22-hero__offerValue small{font-size:.41em;letter-spacing:-.02em;color:#fff8e7}
.bb22-hero--premium .bb22-hero__offerDetails{
  text-align:left;white-space:normal;font:normal 16px/1.55 "Yu Gothic",Meiryo,sans-serif;
  padding-left:20px;border-left:1px solid #e4ae7459;
}
.bb22-hero--premium .bb22-hero__offerDetails strong{font-weight:700;display:block}
.bb22-hero--premium .bb22-hero__offerDetails small{font-size:12px;margin-top:5px;white-space:nowrap}
.bb22-hero--premium .bb22-hero__offerCTA{
  min-height:58px;max-width:none;padding:12px 22px;
  background:#fff9ee;border:1px solid #ecd6b4;color:#8a1830!important;
  font-size:15px;box-shadow:0 4px 12px #3c0b202e;
}
.bb22-page .bb22-message{padding-top:70px}
@media(max-width:1000px) and (min-width:761px){
  .bb22-hero--premium .bb22-hero__offer{grid-template-columns:1fr 1fr 1.5fr;gap:10px}
  .bb22-hero--premium .bb22-hero__offerCTA{grid-column:1/-1;min-height:42px;max-width:400px;justify-self:center}
  .bb22-hero--premium .bb22-hero__offerValue{font-size:60px}
}
@media(max-width:760px){
  .bb22-page .bb22-hero--premium{
    height:clamp(465px, calc(100svh - 62px), 600px)!important;
    min-height:465px!important;
    padding:20px 14px 16px!important;
    background-image:
      linear-gradient(180deg,rgba(255,248,234,.16),rgba(255,252,247,.12)),
      url('../images/anniversary_hero_bg_sp.jpg')!important;
    background-position:center center!important;
  }
  .bb22-hero--premium .bb22-hero__newcontent{padding:0 3px 32px;justify-content:center;}
  .bb22-hero--premium .bb22-hero__eyebrow{font-size:12px;margin-bottom:13px;letter-spacing:.09em}
  .bb22-hero--premium .bb22-hero__year{font-size:clamp(82px,23vw,117px)}
  .bb22-hero--premium .bb22-hero__english{font-size:clamp(35px,10vw,51px);margin-top:-5px}
  .bb22-hero--premium .bb22-hero__jp{font-size:clamp(14px,3.8vw,20px);margin-top:19px;line-height:1.5}
  .bb22-hero--premium .bb22-hero__gratitude{font-size:12px;margin-top:7px;max-width:90%}
  .bb22-hero--premium .bb22-hero__offer{
    width:100%;min-height:0;margin:-12px auto 0;padding:11px 13px 12px;
    grid-template-columns:.83fr 1.1fr;column-gap:8px;row-gap:5px;border-radius:13px;
  }
  .bb22-hero--premium .bb22-hero__offerLabel{font-size:11px;line-height:1.3;text-align:left}
  .bb22-hero--premium .bb22-hero__offerLabel span{font-size:8px;letter-spacing:.06em}
  .bb22-hero--premium .bb22-hero__offerLabel strong{margin-top:4px}
  .bb22-hero--premium .bb22-hero__offerValue{font-size:clamp(45px,13vw,62px);text-align:right}
  .bb22-hero--premium .bb22-hero__offerDetails{
    grid-column:1/-1;text-align:center;border-left:0;padding:0;font-size:12px;
  }
  .bb22-hero--premium .bb22-hero__offerDetails small{font-size:10px;margin:1px 0 0;white-space:normal}
  .bb22-hero--premium .bb22-hero__offerCTA{
    grid-column:1/-1;min-height:37px;padding:7px 12px;max-width:none;
    width:100%;font-size:12px;
  }
  .bb22-page .bb22-message{padding-top:56px}
}
@media(max-width:380px){
 .bb22-hero--premium .bb22-hero__year{font-size:76px}
 .bb22-hero--premium .bb22-hero__english{font-size:33px}
 .bb22-page .bb22-hero--premium{padding-left:10px!important;padding-right:10px!important}
}
@media(max-height:670px) and (min-width:761px){
 .bb22-page .bb22-hero--premium{height:calc(100svh - 68px)!important;min-height:450px!important;padding-top:10px!important;padding-bottom:12px!important}
 .bb22-hero--premium .bb22-hero__newcontent{padding-bottom:38px}
 .bb22-hero--premium .bb22-hero__year{font-size:clamp(75px,9vw,135px)}
 .bb22-hero--premium .bb22-hero__english{font-size:clamp(36px,4.3vw,60px)}
 .bb22-hero--premium .bb22-hero__jp{margin-top:12px}
 .bb22-hero--premium .bb22-hero__offer{min-height:88px;padding:10px 18px}
}

/* v11 editorial refinement: compact anniversary copy, stronger offer, warm transition */
@media (min-width:761px){
 .bb22-hero--premium .bb22-hero__newcontent{padding-bottom:23px!important;gap:0!important;transform:translateY(-8px)}
 .bb22-hero--premium .bb22-hero__eyebrow{margin-bottom:5px!important;font-size:clamp(11px,1vw,14px)!important}
 .bb22-hero--premium .bb22-hero__year{font-size:clamp(116px,14.6vw,200px)!important;line-height:.78!important}
 .bb22-hero--premium .bb22-hero__english{font-size:clamp(56px,6.1vw,92px)!important;line-height:.96!important;margin-top:-3px!important}
 .bb22-hero--premium .bb22-hero__jp{margin-top:12px!important;font-size:clamp(20px,2.1vw,32px)!important}
 .bb22-hero--premium .bb22-hero__gratitude{margin-top:3px!important;font-size:clamp(14px,1.4vw,19px)!important}
 .bb22-hero--premium .bb22-hero__offer{margin:-18px auto 0!important;min-height:116px!important;grid-template-columns:1fr 1.35fr 1.55fr 1.5fr!important;gap:16px!important}
 .bb22-hero--premium .bb22-hero__offerValue{font-size:clamp(68px,7.4vw,112px)!important;letter-spacing:-.07em!important}
 .bb22-hero--premium .bb22-hero__offerCTA{font-size:16px!important;min-height:60px!important}
}
.bb22-hero--premium .bb22-hero__offerLabel span{letter-spacing:.07em!important}
.bb22-hero--premium .bb22-hero__offer{box-shadow:0 12px 26px #692a344a,0 0 0 2px #f4d4a94a!important}
/* Soften passage from festive cream hero to thank-you message */
.bb22-page .bb22-message{background:linear-gradient(180deg,#fff9ef 0%,#f8ecdc 100%)!important;color:#56302d!important;border-top:1px solid #e0c7a7!important;padding-top:70px!important;padding-bottom:80px!important}
.bb22-page .bb22-message__mark{color:#9a2640!important}
.bb22-page .bb22-message__body h2{color:#63283a!important}
.bb22-page .bb22-message__body p{color:#62433b!important}
.bb22-page .bb22-overline--light{color:#a66d4d!important}
@media (max-width:760px){
 .bb22-page .bb22-hero--premium{height:clamp(445px,calc(100svh - 62px),550px)!important;min-height:445px!important;padding-top:10px!important;padding-bottom:12px!important}
 .bb22-hero--premium .bb22-hero__newcontent{padding:0 1px 8px!important;transform:translateY(-4px);justify-content:center!important}
 .bb22-hero--premium .bb22-hero__eyebrow{margin-bottom:6px!important;font-size:11px!important}
 .bb22-hero--premium .bb22-hero__year{font-size:clamp(91px,25vw,122px)!important;line-height:.84!important}
 .bb22-hero--premium .bb22-hero__english{font-size:clamp(37px,10.8vw,54px)!important;margin-top:0!important}
 .bb22-hero--premium .bb22-hero__jp{margin-top:10px!important;font-size:clamp(14px,3.7vw,18px)!important}
 .bb22-hero--premium .bb22-hero__gratitude{margin-top:3px!important;font-size:clamp(11px,2.9vw,13px)!important}
 .bb22-hero--premium .bb22-hero__offer{margin:0 auto 0!important;padding:12px 14px!important;row-gap:4px!important}
 .bb22-hero--premium .bb22-hero__offerValue{font-size:clamp(55px,16vw,70px)!important;line-height:.85!important}
 .bb22-hero--premium .bb22-hero__offerCTA{min-height:42px!important;font-size:13px!important}
 .bb22-page .bb22-message{padding-top:46px!important;padding-bottom:56px!important}
 .bb22-page .bb22-message__mark{margin-bottom:25px!important;font-size:39px!important}
 .bb22-page .bb22-message__mark span{font-size:48px!important}
 .bb22-page .bb22-message__mark small{font-size:18px!important;margin-top:10px!important}
}
@media(max-width:380px){
 .bb22-page .bb22-hero--premium{min-height:440px!important}
 .bb22-hero--premium .bb22-hero__year{font-size:85px!important}
 .bb22-hero--premium .bb22-hero__english{font-size:35px!important}
}


/* v12: three-stage responsive hero backgrounds, no stretched objects */
/* Wide desktop: decorative picture stays near native scale; cream gradient naturally fills sides */
@media (min-width:1101px){
 .bb22-page .bb22-hero--premium{
   background-image:
     linear-gradient(90deg,rgba(250,240,223,.10),rgba(255,249,239,.04) 25%,rgba(255,249,239,.04) 75%,rgba(250,240,223,.10)),
     url('../images/anniversary_hero_bg_pc.jpg'),
     linear-gradient(90deg,#f1dfc6,#fff9ee 34%,#fff9ee 67%,#eed4b4)!important;
   background-size:100% 100%, min(100vw, 1920px) auto, 100% 100%!important;
   background-repeat:no-repeat!important;
   background-position:center center!important;
 }
}
/* Tablet and small PC: bespoke decoration stays at both sides even at 761px. */
@media (min-width:761px) and (max-width:1100px){
 .bb22-page .bb22-hero--premium{
   background-image:
     linear-gradient(90deg,rgba(255,251,241,.08),rgba(255,251,241,.04),rgba(255,251,241,.08)),
     url('../images/anniversary_hero_bg_tablet.jpg')!important;
   background-size:100% 100%,cover!important;
   background-position:center center!important;
   background-repeat:no-repeat!important;
   padding-left:20px!important;padding-right:20px!important;
 }
 .bb22-hero--premium .bb22-hero__newcontent{width:100%!important;padding-left:2px!important;padding-right:2px!important;padding-bottom:18px!important;}
 .bb22-hero--premium .bb22-hero__eyebrow{font-size:clamp(11px,1.3vw,13px)!important;letter-spacing:.07em!important;}
 .bb22-hero--premium .bb22-hero__year{font-size:clamp(100px,12.5vw,138px)!important;}
 .bb22-hero--premium .bb22-hero__english{font-size:clamp(45px,5.8vw,64px)!important;}
 .bb22-hero--premium .bb22-hero__jp{font-size:clamp(18px,2.1vw,23px)!important;}
 .bb22-hero--premium .bb22-hero__gratitude{font-size:clamp(13px,1.5vw,17px)!important;}
 .bb22-hero--premium .bb22-hero__offer{margin:0 auto!important;padding:10px 15px!important;min-height:102px!important;grid-template-columns:.8fr 1.12fr 1.25fr!important;gap:6px 12px!important;}
 .bb22-hero--premium .bb22-hero__offerLabel{font-size:13px!important;}
 .bb22-hero--premium .bb22-hero__offerValue{font-size:clamp(52px,6.7vw,72px)!important;}
 .bb22-hero--premium .bb22-hero__offerDetails{padding-left:12px;font-size:13px!important;}
 .bb22-hero--premium .bb22-hero__offerDetails small{font-size:10px!important;}
 .bb22-hero--premium .bb22-hero__offerCTA{grid-column:1/-1!important;width:min(100%,300px)!important;justify-self:center;min-height:36px!important;padding:6px 12px!important;font-size:13px!important;}
}
@media (max-width:760px){
 .bb22-page .bb22-hero--premium{
   background-size:100% 100%, cover!important;
   background-repeat:no-repeat!important;
 }
}


/* v13: isolate category heading display from old LP styles */
.bb22-page .bb22-legacy .catemenu,
.bb22-page .bb22-legacy .catemenunews {
  display:block !important;
  position:relative !important;
  width:min(100%, 1120px) !important;
  max-width:1120px !important;
  margin:55px auto 22px !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  transform:none !important;
}
.bb22-page .bb22-legacy .catemenu > .catemenutxt,
.bb22-page .bb22-legacy .catemenunews > .catemenutxt {
  display:block !important;
  box-sizing:border-box !important;
  position:static !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:11px 24px 16px !important;
  color:#69263b !important;
  background:none !important;
  border:0 !important;
  border-bottom:1px solid #c9a779 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif !important;
  font-size:clamp(20px, 2.4vw, 27px) !important;
  font-weight:600 !important;
  letter-spacing:.075em !important;
  line-height:1.5 !important;
  text-align:center !important;
  text-indent:0 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:normal !important;
}
.bb22-page .bb22-legacy .catemenu .catemenutxt::before,
.bb22-page .bb22-legacy .catemenu .catemenutxt::after,
.bb22-page .bb22-legacy .catemenunews .catemenutxt::before,
.bb22-page .bb22-legacy .catemenunews .catemenutxt::after { content:none !important; }
@media(max-width:600px){
  .bb22-page .bb22-legacy .catemenu,
  .bb22-page .bb22-legacy .catemenunews {margin:36px auto 16px !important;}
  .bb22-page .bb22-legacy .catemenu > .catemenutxt,
  .bb22-page .bb22-legacy .catemenunews > .catemenutxt {padding:10px 14px 13px !important;font-size:21px !important;}
}


/* v14: breathing room under shopping introduction */
.bb22-page .bb22-links{
  padding-top:clamp(54px,6vw,94px)!important;
}
.bb22-page .bb22-links__heading{
  margin-bottom:38px!important;
}
.bb22-page .bb22-links__heading .bb22-overline{
  margin-bottom:12px!important;
}
/* v14: LINE banner uses the same centered, full-image presentation as other feature links */
.bb22-page .bb22-legacy a.bb22-line-feature{
  display:block!important;
  width:min(890px,100%)!important;
  max-width:100%!important;
  margin:0 auto 40px!important;
  padding:0!important;
  text-align:center!important;
  color:#674940!important;
  font-size:14px!important;
  line-height:1.7!important;
}
.bb22-page .bb22-legacy .bb22-line-feature__caption{
  display:block!important;
  margin:0 0 12px!important;
  text-align:center!important;
  letter-spacing:.07em!important;
}
.bb22-page .bb22-legacy a.bb22-line-feature img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
  border-radius:12px!important;
  box-shadow:0 18px 38px rgba(78,58,35,.12)!important;
}
@media(max-width:600px){
 .bb22-page .bb22-links{padding-top:46px!important;}
 .bb22-page .bb22-links__heading{margin-bottom:28px!important;}
 .bb22-page .bb22-legacy a.bb22-line-feature{width:100%!important;}
}

/* v15: イベント以下、バナーの統一表示。元画像比率を維持 */
.bb22-page .bb22-legacy .bb22-feature-banner{
  width:min(890px, 100%)!important;
  max-width:890px!important;
  margin:0 auto 40px!important;
  padding:0!important;
  text-align:center;
}
.bb22-page .bb22-legacy .bb22-feature-banner>a{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  color:#642735!important;
}
.bb22-page .bb22-legacy .bb22-feature-banner__caption{
  display:block!important;
  padding:0 12px 12px!important;
  font-size:15px;
  line-height:1.65;
  letter-spacing:.04em;
}
.bb22-page .bb22-legacy .bb22-feature-banner img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  border-radius:12px!important;
  box-shadow:0 14px 32px rgba(76,44,29,.12)!important;
}


/* Yahoo WEB 22nd LP final adjustments */
.bb22-legacy{max-width:1120px;margin:0 auto}
.bb22-legacy .bb22-cardcaption{display:block;padding:0 16px 18px;line-height:1.85;font-family:"Yu Gothic",Meiryo,sans-serif;color:#5b3833;font-size:14px;overflow-wrap:anywhere}
.bb22-page .bb22-legacy .lineup li a{padding:0!important}
.bb22-page .bb22-legacy .lineup li a img,
.bb22-page .bb22-legacy .topshop li a img,
.bb22-page .bb22-legacy .topshop li>img{width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;display:block;margin:0 0 12px!important;border-radius:18px 18px 0 0!important}
.bb22-legacy .lineup li,.bb22-legacy .topshop li{border-radius:18px!important;overflow:hidden!important}
.bb22-legacy .lineuptxt li a{color:#5b3833!important}
.bb22-legacy .topshop .bb22-unlinked{display:block}
.bb22-legacy .bb22-line-feature{max-width:890px;margin:32px auto;text-align:center}
.bb22-legacy .bb22-line-feature a{display:block;color:#602c34!important}
.bb22-legacy .bb22-line-feature img{display:block;width:100%;height:auto;border-radius:15px;box-shadow:0 12px 24px #4b251f15}
.bb22-legacy .bb22-line-feature__caption{display:block;margin-bottom:10px;font-size:15px;color:#66342f}
.bb22-legacy .bb22-feature-banner{max-width:890px;margin:24px auto 44px;text-align:center}
.bb22-legacy .bb22-feature-banner img{width:100%;height:auto;border-radius:15px;box-shadow:0 12px 24px #4b251f15}
.bb22-page .bb22-links{padding-top:50px!important}
.bb22-page .bb22-links__heading{padding-top:25px!important}
.bb22-page .bb22-legacy .lineuptxt li{padding:0!important;overflow:hidden!important}
.bb22-page .bb22-legacy .lineuptxt li a{display:flex;justify-content:center;align-items:center;min-height:84px;padding:14px!important;width:100%;text-align:center}
@media(max-width:700px){.bb22-legacy .bb22-cardcaption{padding:0 12px 16px;font-size:13px}}

/* Yahoo price finder: Rakuten-matching 4-column grid with deliberate two-line labels */
.bb22-page .bb22-legacy .lineuptxt ul{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;margin:22px 0 0!important;padding:0!important;
  width:100%!important;
}
.bb22-page .bb22-legacy .lineuptxt ul>li{
  display:block!important;list-style:none!important;width:auto!important;
  min-width:0!important;height:auto!important;min-height:84px!important;
  margin:0!important;padding:0!important;
  border:1px solid #e4d2b9!important;border-radius:16px!important;
  background:#fff!important;overflow:hidden!important;
}
.bb22-page .bb22-legacy .lineuptxt ul>li>a{
  display:flex!important;flex-direction:column;justify-content:center;align-items:center;
  min-height:82px!important;width:100%!important;padding:14px!important;
  text-decoration:none!important;color:#5f3b34!important;
}
.bb22-page .bb22-legacy .lineuptxt ul>li>a>.bb22-cardcaption{
  display:block!important;padding:0!important;margin:0!important;
  text-align:center!important;font-size:15px!important;line-height:1.75!important;
  white-space:normal!important;
}
@media(max-width:760px){.bb22-page .bb22-legacy .lineuptxt ul{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Main shop link alignment */
.bb22-page .bb22-legacy .lineup li img{display:block;width:100%;height:auto;object-fit:contain;border-radius:16px 16px 0 0!important;}
.bb22-page .bb22-legacy .lineup li{border-radius:16px;overflow:hidden;}
.bb22-page .bb22-legacy .lineup li a .bb22-cardcaption{display:block;padding:12px 16px 18px;}
.bb22-page .bb22-legacy .lineuptxt ul{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.bb22-page .bb22-legacy .lineuptxt li{white-space:normal!important;}
@media(max-width:760px){.bb22-page .bb22-legacy .lineuptxt ul{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
