@charset "UTF-8";
/* CSS Document */

html {scroll-behavior: smooth;}

body {
	background-color: #FFFFFF;
}

img{vertical-align: middle;}

a {
	text-decoration: none;
}

a:hover img{
	opacity: 0.85;
	filter: alpha(opacity=85);
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

header{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

main{
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	background-color: #ffffff;
	color: #262626;
}

.category_anchor ol{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.category_anchor li{
	width: 47%;
	margin: 3% 1.5% 0 1.5%;
}

.category_anchor li:last-of-type{
	width: 97%;
	margin: 3% 1.5% 0 1.5%;
}

.category_anchor img:hover {
  	transform: scale(0.9,0.9);
}

.online_shopping_information{
	margin: 5% 2% 0%;
	font-family: "M PLUS 1p", sans-serif;
  	font-weight: 500;
  	font-style: normal;
	font-size: 120%;
	text-align: center;
}

.online_shopping_information p{
	margin-top: 5%;
	line-height: 1.6;
}

.online_shopping_information p:first-of-type img{
	width: 2em;
	margin-top: -1%;
}

.online_shopping_information p:last-of-type img{
	width: 2em;
	margin-top: -1%;
}

.mothersday_event img{
	width: 80%;
	margin: 10% 10% 0;
}

.mothersday_event img:hover {
  	transform: scale(0.9,0.9);
}

#category1 h2{
	margin: 10% 0 5% 0;
	position: relative;
  	padding: 1.65rem 0rem;
  	background-color: #ea6e9b;
    background-image: 
     linear-gradient(140deg, transparent 5%, #eac3cd 5%, #eac3cd 10%, transparent 10%), 
     linear-gradient(-40deg, transparent 5%, #eac3cd 5%, #eac3cd 10%, transparent 10%); 
	font-size: 180%;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
  	font-weight: 700;
  	font-style: normal;
	line-height: 1.4;
	color: #ffffff;
}

.subcategory_anchor{
	width: 90%;
	margin: 0 5% 0 5%;
	display: flex;
	flex-wrap: wrap;
}

.subcategory_anchor li{
	margin: 0 2% 0 2%;
	font-size: 140%;
	font-family: "M PLUS 1p", sans-serif;
  	font-weight: 500;
  	font-style: normal;
	line-height: 1.6;
}

.subcategory_anchor li:hover {
  	transform: scale(0.9,0.9);
	color: #FF3D79;
}

.subcategory_anchor span{
	font-size: 80%;
	margin-right: 0.2em;
} 

#category1 h3{
	margin: 7% 0 -5% 0;
	font-size: 160%;
	text-align: center;
	font-family: "M PLUS 1p", sans-serif;
  	font-weight: 500;
  	font-style: normal;
}

.box{
	width: 100%;
	margin-top: 10%;
}

#category1 .store_information{
	display: flex;
	flex-wrap: wrap;
	margin-top: 5%;
	padding: 3% 0;
	background-image : url("../img/category_background_1.jpg" );
}


.store_information dt{
	padding: 1% 1% 1% 2%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	font-size: 150%;
	line-height: 1;
}

.store_information dt span{
	font-size: 80%;
}


.store_information dd{
	padding: 2% 1% 1% 5%;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
	font-size: 120%;
	line-height: 1;
}

.store_information dd span{
	font-size: 80%;
	margin-right: 0.2em;
}

.period{
	width: 90%;
	margin: 2% 5% 3% 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 700;
  	font-style: normal;
	font-size: 120%;
	line-height: 1.8;
}

.reservation{
	color: #e60012;
}

.sales{
	color: #1d2088;
}

.reservation .circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
	line-height: 1;
	border: solid 1px #e60012;
    font-size: 70%;
    margin: 0 0.2em;
    vertical-align: 0.25em; /* 縦位置の基準を調整 */
    box-sizing: border-box;
  	font-weight: 700;
}

.reservation .circle_2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5em;
    width: auto;
    height: 1.5em;
    border-radius: 1.5em;
	padding: 0 0.4em;
	line-height: 1;
	border: solid 1px #e60012;
    font-size: 70%;
    margin: 0 0.2em;
    vertical-align: 0.25em; /* 縦位置の基準を調整 */
    box-sizing: border-box;
  	font-weight: 700;
}

.sales .circle {
   	display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
	line-height: 1;
	border: solid 1px #1d2088;
    font-size: 70%;
    margin: 0 0.2em;
    vertical-align: 0.25em; /* 縦位置の基準を調整 */
    box-sizing: border-box;
  	font-weight: 700;
}

.sales .circle_2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5em;
    width: auto;
    height: 1.5em;
    border-radius: 1.5em;
	padding: 0 0.4em;
	line-height: 1;
	border: solid 1px #1d2088;
    font-size: 70%;
    margin: 0 0.2em;
    vertical-align: 0.25em; /* 縦位置の基準を調整 */
    box-sizing: border-box;
  	font-weight: 700;
}

.item_introduction{
	display: flex;
	flex-direction: row;
}

.item_introduction .product_image {
  order: 1;
}

.item_introduction .product_description {
  order: 2;
}

.box:nth-of-type(even) .item_introduction {
  flex-direction: row-reverse !important;
}

.product_image{
	width: 50%;
}

.product_image img {
	display: block;
  	width: 100%;
  	height: auto;
	transition: opacity 0.3s ease-in-out;
}

.product_description{
	width: 47%;
	margin: 0 1.5% 0 1.5%;
}

.flex{
	display: flex;
	gap: 10%;
}

.icon_net{
	width: 15%;
	margin-top: 3%;
}

.toubugentei{
	width: 50%;
	margin-top: 3%;
}

.limited-menu{
	width: 75%;
	margin-top: 3%;
}

.toubu-online{
	width: 64%;
	margin-top: 3%;
}

.toubu-online-limited{
	width: 100%;
	margin-top: 3%;
}

.product_name{
	margin-top: 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 600;
  	font-style: normal;
	font-size: 120%;
	line-height: 1.4;
}

.product_name span{
	font-size: 80%;
}

.price{
	margin-top: 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 600;
  	font-style: normal;
	font-size: 130%;
}

.price span{
	margin-left: 0.2em;
	font-size: 80%;
}

.price span.circle {
   	display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
	line-height: 1;
	border: solid 0.75px #EC008C;
    font-size: 70%;
    margin: 0 0.2em;
    vertical-align: 0.25em; /* 縦位置の基準を調整 */
    box-sizing: border-box;
  	font-weight: 700;
}

.price span.limited_price{
	font-size: 100%!important;
	color: #e60012;
}

.note{
	margin: 3% 2% 0 0;
	text-indent: -1em;
  	padding-left: 1em;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 90%;
	text-align: justify;
	color: #5E728C;
	line-height: 1.4;
}

.note_2{
	margin: 3% 2% 0 0;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 90%;
	text-align: justify;
	color: #5E728C;
	line-height: 1.4;
}

.item_copy{
	margin-top: 5%;
	font-family: "Shippori Mincho", serif;
  	font-weight: 400;
  	font-style: normal;
	line-height: 1.4;
	text-align: justify;
}

#category2 h2{
	margin: 10% 0 5% 0;
  	position: relative;
  	padding: 1.65rem 0rem;
  	background-color: #f49d3d;
    background-image: 
     linear-gradient(140deg, transparent 5%, #ffcc66 5%, #ffcc66 10%, transparent 10%), 
     linear-gradient(-40deg, transparent 5%, #ffcc66 5%, #ffcc66 10%, transparent 10%); 
	font-size: 180%;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
  	font-weight: 700;
  	font-style: normal;
	line-height: 1.4;
	color: #ffffff;
}


#category3 h2{
	margin: 10% 0 5% 0;
	position: relative;
  	padding: 1.65rem 0rem;
  	background-color: #6ab34e;
    background-image: 
     linear-gradient(140deg, transparent 5%, #aace8d 5%, #aace8d 10%, transparent 10%), 
     linear-gradient(-40deg, transparent 5%, #aace8d 5%, #aace8d 10%, transparent 10%);
	font-size: 180%;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
  	font-weight: 700;
  	font-style: normal;
	line-height: 1.4;
	color: #ffffff;
}

#category4 h2{
	margin: 10% 0 5% 0;
	position: relative;
  	padding: 1.65rem 0rem;
  	background-color: #6b64a0;
    background-image: 
     linear-gradient(140deg, transparent 5%, #b592be 5%, #b592be 10%, transparent 10%), 
     linear-gradient(-40deg, transparent 5%, #b592be 5%, #b592be 10%, transparent 10%); 
	font-size: 180%;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
  	font-weight: 700;
  	font-style: normal;
	line-height: 1.4;
	color: #ffffff;
}

#category5 h2{
	margin: 10% 0 5% 0;
	position: relative;
  	padding: 1.65rem 0rem;
  	background-color: #80c2ef;
    background-image: 
     linear-gradient(140deg, transparent 5%, #d0e7f9 5%, #d0e7f9 10%, transparent 10%), 
     linear-gradient(-40deg, transparent 5%, #d0e7f9 5%, #d0e7f9 10%, transparent 10%); 
	font-size: 180%;
	text-align: center;
	font-family: "Zen Maru Gothic", serif;
  	font-weight: 700;
  	font-style: normal;
	line-height: 1.4;
	color: #ffffff;
}

#category2 h3,
#category3 h3,
#category4 h3,
#category5 h3{
	margin: 7% 0 -5% 0;
	font-size: 160%;
	text-align: center;
	font-family: "M PLUS 1p", sans-serif;
  	font-weight: 500;
  	font-style: normal;
}

#category2 .store_information{
	display: flex;
	flex-wrap: wrap;
	margin-top: 5%;
	padding: 3% 0;
	background-image : url("../img/category_background_2.jpg" );
}

#category3 .store_information{
	display: flex;
	flex-wrap: wrap;
	margin-top: 5%;
	padding: 3% 0;
	background-image : url("../img/category_background_3.jpg" );
}

#category4 .store_information{
	display: flex;
	flex-wrap: wrap;
	margin-top: 5%;
	padding: 3% 0;
	background-image : url("../img/category_background_4.jpg" );
}

#category5 .store_information{
	display: flex;
	flex-wrap: wrap;
	margin-top: 5%;
	padding: 3% 0;
	background-image : url("../img/category_background_5.jpg" );
}

.color_magenta{
	color: #EC008C;
}

.color_orange{
	color: #D93D04;
}

.mgt5{
	margin-top: 5%!important;
}

.Red{
	color: #e60012;
}

.sky_gray{
	color: #5E728C;
}

.text_small_90{
	font-size: 90%;
}

.text_small_80{
	font-size: 80%!important;
}

.text_small_70{
	font-size: 70%!important;
}

.text_small_65{
	font-size: 65%!important;
}

.text_small_60{
	font-size: 60%!important;
}

.text_small_50{
	font-size: 50%!important;
}

sup{
	font-size: 70%;
}

.hr1 {
  	position: relative;
	width: 80%;
	margin: 5% 10% 0;
	height: 3px;
	border-width: 0;
	background-color: #00bcd4;
	background-image: -webkit-linear-gradient( 135deg, #FD6585 10%, #0D25B9 100%);
	background-image: linear-gradient( 135deg, #FD6585 10%, #0D25B9 100%);
}


footer{
	width: 100%;
	margin-top: 5%;
	padding-bottom: 3%;
	border-bottom: #06027D solid 5px;
}

footer ul{
	width: 94%;
	margin: 6% 3% 0 3%;
}

footer ul li{
	margin-top: 2%;
	padding-left: 1em;
	text-indent: -1em;
	font-family: "M PLUS 1p", sans-serif;
  	font-weight: 400;
  	font-style: normal;
	font-size: 90%;
	line-height: 1.4;
}

footer .logo{
	width: 25%;
	margin: 5% auto 0;
}

a {
  text-decoration: none;
}

br.sp{
	display: block;
}

br.pc{
	display: none;
}

.sp_none{
	display: none;
}
	
.pc_none{
	display: inline;
}



/*---オンラインボタン用---*/
.online {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px; /* 2つある時だけ、間に隙間を作る */
    margin-top: 5%;
}

.online-button {
	display: inline-block;
	background-color: #cc3366; 
  	color: white;
  	border: none; 
  	padding: 5px 8px 6px; 
  	text-align: center;
  	text-decoration: none;
  	font-size: 13px;
  	cursor: pointer; 
	border-radius: 10px; 
	letter-spacing: -1px;
	font-family: 'Shippori Mincho', serif;
	font-weight: 600;
	width: fit-content; /* 文字数に合わせて幅を伸縮させる */
    transition: 0.3s;
}
.online-button:hover {
  	background-color: #333399; 
}
 
.online-button:visited {
    color: white;
    text-decoration: none;
}


/*---東武百貨店へ戻る用ボタン---*/
.return_button{
	background-color: #bdd7e9;
	color: #222224;
  	border: none;
  	padding: 7px 5px 7px 15px;
  	text-align: center; 
  	text-decoration: none; 
  	display: block;
  	font-size: 16px;
  	margin: 7% auto; 
  	cursor: pointer; 
	border-radius: 15px; 
	font-family: "Noto Sans JP", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 400;
  	font-style: normal;
}

.return_button:hover {
	background-color: #333399; 
	color: white;
}



@media (min-width: 768px){
	.category_anchor ol{
		width: 90%;
		margin: 0 5% 0;
	}
	
	#category1 .store_information,
	#category2 .store_information,
	#category3 .store_information,
	#category4 .store_information,
	#category5 .store_information{
		padding: 3% 0;
	}
	
	.reservation .circle {
    	width: 1.4em;
    	height: 1.4em;
    	font-size: 70%;
		vertical-align: 0.1em;
	}
	
	.reservation .circle span {
		transform: translateY(-0.05em);
	}
	
	.reservation .circle_2,
	.sales .circle_2{
    	min-width: 1.4em;
    	width: auto;
    	height: 1.4em;
    	border-radius: 1.4em;
		padding: 0 0.4em;
    	font-size: 70%;
    	vertical-align: 0.15em;
	}
	
	.sales .circle {
    	width: 1.4em;
    	height: 1.4em;
    	font-size: 70%;
		vertical-align: 0.1em;
	}
	
	.sales .circle span {
		transform: translateY(-0.05em);
	}
	
	.price span.circle {
    	width: 1.4em;
   	 	height: 1.4em;
    	border-radius: 50%;
		border: solid 1px #EC008C;
    	font-size: 70%;
   		vertical-align: 0.15em;
	}
	
	.online{
		margin-top: 4%;
		gap: 30px; 
	}
	
	.online-button {
		padding: 10px 20px 12px; 
		border-radius: 20px;
		font-size: 24px;
	}
	
	.return_button{
		padding: 16px 7px 14px 20px;
		border-radius: 25px;
		font-size: 28px;
	}
}

@media (min-width: 980px){
	.btn-flat{font-size: 31px}
	
	.category_anchor ol{
		width: 80%;
		margin: 0 10% 0;
	}
		
	.online_shopping_information{
		margin: 5% 2% 0%;
		font-size: 28px;
	}
	
	.mothersday_event img{
		width: 50%;
		margin: 5% 25% 0;
	}
	
	#category1 .store_information,
	#category2 .store_information,
	#category3 .store_information,
	#category4 .store_information,
	#category5 .store_information{
		padding: 2.5% 0;
	}
	
	#category1 h2,
	#category2 h2,
	#category3 h2,
	#category4 h2,
	#category5 h2{
		width: 80%;
		margin: 7% 10% 5% 10%;
		padding: 0.75rem 0rem;
		font-size: 40px;
		
	}
	
	.subcategory_anchor{
		justify-content: center;
	}
	
	.subcategory_anchor li{
		margin: 0 2% 0 2%;
		font-size: 28px;
	}
	
	#category1 h3,
	#category2 h3,
	#category3 h3,
	#category4 h3,
	#category5 h3{
		margin: 5% 0 -2% 0;
		font-size: 38px;
	}

	.box{
		width: 100%;
		margin-top: 5%;
	}

	.store_information dt{
		padding: 1% 1% 1% 2%;
  		font-weight: 800;
		font-size: 34px;
	}

	.store_information dd{
		padding: 2% 1% 1% 5%;
		font-weight: 500;
		font-size: 25px;
	}

	.store_information dt span{
		font-size: 25px;
	}
	
	.store_information dd span{
		font-size: 15px;
	}
	
	.period{
		width: 100%;
		margin: 2% 0% 3% 0%;
		font-size: 26px;
		line-height: 1.8;
		text-align: center;
	}
	
	.reservation .circle {
    	width: 1.5em;
    	height: 1.5em;
    	font-size: 70%;
		vertical-align: 0.1em;
	}
	
	.reservation .circle span {
		transform: translateY(-0.05em);
	}
	
	.reservation .circle_2,
	.sales .circle_2{
    	min-width: 1.5em;
    	width: auto;
    	height: 1.5em;
    	border-radius: 1.5em;
		padding: 0 0.4em;
    	font-size: 70%;
    	vertical-align: 0.1em;
	}
	
	.reservation .circle_2 span,
	.sales .circle_2 span{
    	display: inline-block;
    	transform: translateY(-0.05em);
    	white-space: nowrap; /* 改行を禁止して横一列に並べる */
	}
	
	.sales .circle {
    	width: 1.5em;
    	height: 1.5em;
    	font-size: 70%;
		vertical-align: 0.1em;
	}
	
	.sales .circle span {
		transform: translateY(-0.05em);
	}
	
	.icon_net{
		width: 12%;
		margin-top: 3%;
	}

	.toubugentei{
		width: 40%;
		margin-top: 3%;
	}
	
	.limited-menu{
		width: 60%;
		margin-top: 3%;
	}
	
	.toubu-online{
		width: 50%;
		margin-top: 3%;
	}

	.product_name{
		margin-top: 5%;
		font-size: 34px;
	}

	.price{
		margin-top: 5%;
		font-size: 32px;
	}
	
	.price span.circle{
    	width: 1.5em;
   	 	height: 1.5em;
    	font-size: 70%;
   		vertical-align: 0.1em;
	}

	.note{
		margin: 3% 2% 0 0;
		text-indent: -1em;
  		padding-left: 1em;
		font-size: 24px;
	}
	
	.note_2{
		margin: 3% 2% 0 0;
		font-size: 24px;
	}

	.item_copy{
		margin-top: 5%;
		font-size: 26px;
		line-height: 1.4;
	}
	
	footer ul{
		width: 60%;
		margin: 3% 20% 0 20%;
	}
	
	footer ul li{
		margin-top: 1%;
		font-size: 20px;
		line-height: 1.2;
	}
	
	footer p{
		font-size: 24px;
	}
	
	footer .logo{
		width: 18%;
		margin: 3% auto 0;
	}
	
	br.sp{
		display: none;
	}
	
	br.pc{
		display: block;
	}
	
	.sp_none{
		display: inline;
	}
	
	.pc_none{
		display: none;
	}
	
	.more-button {
		font-size: 16px;
	}
	
	.online{
		margin-top: 3%;
		gap: 30px; 
	}
	
	.online-button {
		padding: 10px 20px 12px; 
		border-radius: 20px;
		font-size: 26px;
	}
	
	.return_button{
		padding: 16px 7px 14px 20px;
		border-radius: 25px;
		font-size: 30px;
	}
}




/* ==========================================
   早期特典セクション（追加）
   ========================================== */
.early-bird {
	margin-top: 10%;
  	background-color: #fffafb;
  	padding: 40px 15px;
  	font-family: "Hiragino Mincho ProN", "serif"; /* 明朝体 */
  	color: #333;
}

.early-bird__inner {
  	max-width: 1000px;
  	margin: 0 auto;
}

.early-bird__header {
  	text-align: center;
  	margin-bottom: 30px;
}

.early-bird__title {
  	font-size: 160%;
  	color: #d63384;
  	margin-bottom: 10px;
  	font-weight: 600;
  	line-height: 1.4;
}

.early-bird__deadline {
  	font-size: 120%;
  	font-weight: bold;
  	color: #d63384;
  	display: inline-block;
  	border-bottom: 2px solid #f8d7da;
  	padding-bottom: 3px;
}

.early-bird__deadline span {
  	margin-right: 5px;
}

.early-bird__grid {
  	display: flex;
  	flex-direction: column;
  	gap: 20px;
}

.benefit-box {
  	background: #fff;
  	border: 1px solid #f8d7da;
  	border-radius: 12px;
  	padding: 25px 18px;
  	box-shadow: 0 4px 10px rgba(214, 51, 132, 0.05);
}

.benefit-box__title {
  	font-size: 140%;
  	color: #d63384;
  	margin-bottom: 15px;
  	text-align: center;
  	border-bottom: 1px dotted #f8d7da;
  	padding-bottom: 10px;
}

.benefit-box__text {
  	font-size: 120%;
  	font-weight: bold;
  	line-height: 1.6;
  	text-align: center;
  	margin-bottom: 15px;
}

.benefit-box__note {
  	font-size: 90%;
	text-indent: -1em;
  	padding-left: 1em;
  	color: #666666;
  	line-height: 1.5;
  	text-align: left;
}

/* --- 追加：詳しくはこちらボタン --- */
.early-bird__footer {
  text-align: center;
  margin-top: 30px; /* 特典ボックスとの間隔 */
}

.early-bird__btn {
  display: inline-block;
  background-color: #d63384;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  padding: 12px 60px;
  border-radius: 50px;
  font-size: 110%;
  transition: background-color 0.3s, transform 0.2s;
  box-shadow: 0 4px 12px rgba(214, 51, 132, 0.2);
}

.early-bird__btn:hover {
  background-color: #b52a6f;
  transform: translateY(-2px);
}

.early-bird__btn:visited {
    color: #ffffff;
    text-decoration: none;
}
/* -------------------------------- */


@media (min-width: 768px) {
	.early-bird {
    	padding: 60px 30px;
  	}
	
	.early-bird__title {
  		font-size: 140%;
		margin-bottom: 20px;
}

  	.benefit-box {
    	padding: 30px;
  	}
}


@media (min-width: 980px) {
	.early-bird {
		margin-top: 5%;
		padding: 30px 15px;
	}
	
	.early-bird__title {
  		font-size: 34px;
	}

	.early-bird__deadline {
  		font-size: 30px;
  		border-bottom: 4px solid #f8d7da;
  		padding-bottom: 3px;
}
	
  	.early-bird__grid {
    	flex-direction: row;
    	align-items: stretch;
  	}

  	.benefit-box {
    	flex: 1;
    	display: flex;
    	flex-direction: column;
  	}
	
	.benefit-box__title {
  		font-size: 26px;
  		border-bottom: 2px dotted #f8d7da;
}

  .benefit-box__text {
    	flex-grow: 1; /* テキストの高さを揃える */
    	display: flex;
    	align-items: center;
    	justify-content: center;
	  	font-size: 22px;
  }
	
	.benefit-box__note {
  		font-size: 16px;
	}
	
	.early-bird__footer {
    	margin-top: 40px;
  }

  	.early-bird__btn {
    	font-size: 20px;
    	padding: 15px 80px;
  }
}


/* ==========================================
   店頭特典セクション（追加）
   ========================================== */
.store-campaign {
	padding: 15px 30px;
  	background-color: #fff;
  	font-family: "Shippori Mincho", serif;
  	font-style: normal;
}

.store-campaign__inner {
  	max-width: 1000px;
  	margin: 0 auto;
}

.store-campaign__box {
 	background-color: #fdf2f4;
  	border: 6px solid #e597b2;
  	border-radius: 12px;
  	padding: 15px 5px;
  	display: flex;
  	flex-direction: column; /* スマホは縦並び */
  	align-items: center;
  	gap: 20px;
  	text-align: center;
}

.store-campaign__catch {
  	font-size: 150%;
  	line-height: 1.6;
  	color: #a44d78;
  	font-weight: 800;
}

.store-campaign__catch .highlight {
  	display: block;
   	font-size: 110%;
  	margin-top: 10px;
  	color: #d63384;
}

.store-campaign__note {
  	font-size: 90%;
  	color: #666;
  	margin-top: 15px;
}

.store-campaign__image {
  	width: 100%;
  	max-width: 150px; /* スマホで大きくなりすぎないよう制限 */
}

.store-campaign__image img {
  	width: 100%;
  	height: auto;
  	border-radius: 4px;
  	box-shadow: 0 4px 12px rgba(214, 51, 132, 0.15);
}


@media (min-width: 768px) {
	.store-campaign {
    	padding: 40px 30px;
  	}

  	.store-campaign__box {
    	flex-direction: row; /* 横並びに変更 */
    	justify-content: center;
    	padding: 35px 50px;
    	gap: 40px;
    	text-align: left;
  	}

  	.store-campaign__content {
    	flex: 1;
  	}

  	.store-campaign__catch {
    	font-size: 130%;
  	}

  	.store-campaign__catch .highlight {
    	font-size: 110%;
    	display: inline; /* PCでは一行につなげる */
  	}

  	.store-campaign__image {
    	max-width: 240px; /* PCでは画像を少し大きく */
  	}
}


@media (min-width: 980px) {
  	.store-campaign {
    	padding: 60px 50px;
  	}

  	.store-campaign__box {
    	padding: 20px 60px;
    	border-width: 8px;
	  	gap: 60px;
    	text-align: center;
  	}

  	.store-campaign__catch {
    	font-size: 32px;
  	}

  	.store-campaign__catch .highlight {
    	font-size: 34px;
  	}
	
	.store-campaign__note {
  		font-size: 16px;
	}
	
  	.store-campaign__image {
    	max-width: 200px;
  	}
}






/*---スクロール＆ページTOPへ戻る---*/
/*スクロールリンクの形状*/
.scroll-top {
  /*表示位置*/
  position: fixed;
  right: 20px;
  bottom: 10px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  visibility: hidden; 
  transition: opacity .5s, visibility .5s; /*それぞれに0.5秒の変化のアニメーション*/
  /*縦書き*/
  -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  /*改行禁止*/
    white-space: nowrap;
  /*矢印の動き*/
  animation: arrowmove 1s ease-in-out infinite;
}

@keyframes arrowmove{
      0%{bottom:20px;}
      50%{bottom:25px;}
     100%{bottom:20px;}
 }


/*.scroll-viewクラスがついたら出現*/
.scroll-top.scroll-view {
  opacity: 1;
  visibility: visible;
}

/*リンク全体の aタグの形状*/
.scroll-top a {
  text-decoration: none;
  color: #666;
  text-transform: uppercase;
  font-size:0.9rem;
    display: block;
}

/*スクロールリンクの形状*/
.js-scroll a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#666;
}

.js-scroll a::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #666;
    transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before{
  right:-11px;
}

/*ページトップリンクの形状*/
.js-pagetop a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#666;
}

.js-pagetop a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #666;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-pagetop a::before{
  right:0;
}
