#warp {
	max-width: 920px; /* コンテンツの最大幅を920pxに設定 */
	margin: 0 auto; /* 画面中央に配置 */
}


html {
  -webkit-text-size-adjust: 100%;
}

/* スムーススクロール */
html { scroll-behavior: smooth; }
.main-image { animation: fadeIn 2s ease forwards; }

/* ヘッダーボタン */
.button-row a { display: block; }
.button-row a img { width: 100%; display: block; transition: transform 0.4s ease, box-shadow 0.4s ease, filter 0.4s ease; }

/* メインタイトル */
.relaxed-text { font-family: 'Rounded Mplus 1c', "Yu Gothic", sans-serif; font-size: 14px; line-height: 26px; color: #333333; max-width: 920px; margin: 10px auto; padding: 20px; background: linear-gradient(145deg, #fff9f0, #fff3e8); border: 1px solid rgba(255,200,180,0.4); transition: transform 0.3s ease, } 
.relaxed-text p { font-size: 16px; margin-bottom:16px; } 
.relaxed-text p span { font-size: 14px; } 
.relaxed-cyu { width: 95%; margin: 0 auto; margin-top: 1.0em; padding: 10px; font-size: 14px; line-height: 18px; color: #333; border: solid 1px #333; }
.main-title { width: 100%; text-align: center; line-height: 12px; margin-top: 18px; margin-bottom: 18px; font-family: "Yu Gothic", "Hiragino Kaku Gothic Pro", sans-serif; }
.main-title span { display: block; } 
.main-title .line1 { font-size: 18px; font-weight: bold; color: #333; }
.main-title .line2 { font-size: 22px; font-weight: bold; color: #111; display: inline; background-image: linear-gradient(#a8d5a2,#a8d5a2); background-repeat: no-repeat; background-size: 100% 20%; background-position: 0 85%; } 

/* エントリーボタン */
.entrybtn { margin: 20px 0px 40px; text-align: center; }
.entrybtn a { display: inline-block; padding: 0.9em 2em 0.7em; color: #ffffff; font-size: 20px; font-weight: 700; background-color: #009b73; border-radius: 40vh; transition: 0.3s; text-decoration: none !important; max-width: 420px; width: auto; }
.entrybtn a:hover { background-color: #217f67; }
.entrybtn span { font-size: 14px; color: #ffffff; }

/* カテゴリ枠 */
.agift-box{ position: relative; padding: 40px 20px 30px; box-sizing:border-box; background-repeat:no-repeat; background-position:right top; background-size:350px 350px; }
.agift-box h2{ margin:0 0 15px; font-size:28px; color:#fff; font-weight:bold; text-shadow:0 2px 4px rgba(0,0,0,0.2); line-height:1.2; }
.agift-box h2 span{ font-size:14px; margin-left:8px; font-weight:normal; }
.agift-box .agift-text{ background:#fff; border-radius:12px; padding:18px 16px; font-size:14px; line-height:1.8; color:#333; box-shadow:0 3px 8px rgba(0,0,0,0.08); }
.abox1{ background-color:#ee9ea7; background-image:url("../img/base/waku_01a.png"); }
.abox2{ background-color:#e7ba65; background-image:url("../img/base/waku_02a.png"); }
.abox3{ background-color:#e39e96; background-image:url("../img/base/waku_03a.png"); }
.abox4{ background-color:#f3b48b; background-image:url("../img/base/waku_04a.png"); }
.abox5{ background-color:#87a258; background-image:url("../img/base/waku_05a.png"); }

/* アイテム枠 */
.item-wrap{ display:flex; flex-wrap:nowrap; gap:10px; align-items:flex-start; padding:12px; box-sizing:border-box; font-family:sans-serif; text-decoration:none; color:inherit; margin: 10px 0; padding-bottom:10px; }
.aitem1{ background:#fff2f5; padding-bottom: 20px; }
.aitem2{ background:#fff5e3; padding-bottom: 20px; }
.aitem3{ background:#fff2f5; padding-bottom: 20px; }
.aitem4{ background:#faf5e8; padding-bottom: 20px; }
.aitem5{ background:#ffffee; padding-bottom: 20px; }

/* 左画像 */
.img-box{ position:relative; width:42%; flex-shrink:0; }
.img-box img{ width:100%; height:auto; display:block; border-radius:8px; }
/* おすすめバッジ */
.badge{ position:absolute; right:6px; bottom:6px; padding:4px 10px; font-size:11px; background:#d94b4b; color:#fff; border-radius:20px; border:2px solid #fff; }
.badge1{ position:absolute; left:6px; top:6px; padding:4px 10px; font-size:11px; background:#d94b4b; color:#fff; border-radius:20px; border:2px solid #fff; }
/* 右側 */
.right-box{ width:55%; display:flex; flex-direction:column; }
/* 吹き出し */
.fuki{ position:relative; background:#fff; color:#333; border:2px solid #777; border-radius:10px; padding:5px 3px 6px 6px; font-size:13px; line-height:1.5; }
.fuki:after{ content:""; position:absolute; bottom:-8px; left:20px; border-width:8px 8px 0 8px; border-style:solid; border-color:#777 transparent transparent transparent; }
.fuki:before{ content:""; position:absolute; bottom:-6px; left:22px; border-width:6px 6px 0 6px; border-style:solid; border-color:#fff transparent transparent transparent; }
/* 商品情報 */
.item-info{ margin-top:8px; font-size:16px; line-height:1.6; text-align:center; }
.item-name{ font-weight:bold; margin-bottom:6px; }
.price-main{ color:#d94b4b; font-weight:bold; }
.price-tax{ color:#555; font-size:12px; }
/* ボタン */
.item-btn{ text-decoration: none !important;}
.btn-area{ width:70%; margin:0 auto; }
.btn-area span{ display:block; width:100%; margin:0 auto; padding:5px 0; background:#777; color:#fff; border-radius:20px; font-size:14px; text-align:center; }

/* ボタン1 */

.bottom-links { display: flex; justify-content: space-between; max-width: 730px; margin: 30px auto 60px auto; }
.bottom-links a { flex: 1; text-align: center; padding: 6px; background-color: #f2efe9; border: 1px solid #e6d9c8; border-radius: 4px; text-decoration: none; color: #217f67; font-weight: bold; font-size: 14px; margin: 0 16px; }
@media (max-width: 539px) { 
.button-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; max-width: 400px; margin: 20px auto; }
.button-row a { width: 48%; }
.button-row a:nth-child(5) { width: 48%; margin-left: auto; margin-right: auto; }
}

/* スマホ最適化レスポンシブ */
@media (max-width: 768px) { 
} 

/* スマホ最適化メインタイトル */
@media (max-width: 360px) { 
.main-title .line1 { font-size: 18px; } 
.main-title .line2 { font-size: 22px; } 
.relaxed-text { font-size: 16px; line-height: 26px; padding: 15px 15px; margin: 30px 10px; }
} 
@media (max-width: 768px) { 
.relaxed-text p span { font-size: 14px; }
} 

/* スマホ最適化エントリーボタン */
@media (max-width: 768px) {
.entrybtn a { font-size: 18px; padding: 0.85em 1.8em 0.65em; }
}
@media (max-width: 480px) {
.entrybtn a { font-size: 16px; padding: 0.8em 1.6em 0.6em; max-width: 300px; }
}

/* スマホ最適化アイテム枠 */
@media screen and (max-width:480px){
.agift-box{ padding:20px 18px 20px; background-size:70vw 70vw; }
.agift-box h2{ font-size:24px; }
.agift-box h2 span{ font-size:13px; }
.agift-box .agift-text{ font-size:13px; }
.fuki{ font-size:13px; }
.item-info{ font-size:16px; }
}