/* 標準可変メディア
   メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}
/* IE 6 では最大幅がサポートされていないため、デフォルトで幅 100% に設定される */
.ie6 img {
	width:100%;
}

a.white:link {
color : #ffffff; 
}
a.white:visited {
color : #ffffff; 
}
a.white:active {
text-decoration : underline; 
color : #ffffff; 
}
a.white:hover {
text-decoration : underline; 
color : #ffffff; 
}

/*
	Dreamweaver 可変グリッドプロパティ
	----------------------------------
	dw-num-cols-mobile:		5;
	dw-num-cols-tablet:		8;
	dw-num-cols-desktop:	10;
	dw-gutter-percentage:	25;
	
	以下からヒントを入手 : Ethan Marcotte 氏の「レスポンシブ Web デザイン」 
	http://www.alistapart.com/articles/responsive-web-design
	
	および Joni Korpi 氏の「Golden Grid System」
	http://goldengridsystem.com/ 
*/


@media (hover: hover) {
  .main .allbox .button:hover {
    background-color: #f79aa1;
    color: #000;
  }
}

@media (hover: none) {
  .main .allbox .button:active {
    background-color: #f79aa1;
    color: #000;
  }
}


/* ベース設定 */
body {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    color: #333;
    line-height: 1.5;
}

p, h2 {
    margin: 0;
    padding: 0;
}

h2 {
    font-weight: normal;
}

/* 全体コンテナ */
.campaign-container {
    max-width: 800px;
    margin: -50px  auto;
    padding: 0 10px 40px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 20px; /* 各セクション間の余白 */
	
}

/* プレースホルダー共通スタイル */
.ph-main-visual,
.ph-youtube-video,
.ph-novelty-sp,
.ph-novelty-pc,
.ph-text-banner,
.ph-product-img,
.ph-pdf-img,
.ph-bottom-banner {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #fff;
    box-sizing: border-box;
 /*   padding: 20px;*/
}

/* 各プレースホルダーの個別設定 */
.ph-main-visual {
    background-color: #fadadd;
    height: 50vw;
    font-size: clamp(16px, 4vw, 32px);
}

.ph-youtube-video {
    background-color: #c9aa7d;
    height: 250px;
    width: 80%;
    margin: 0 auto;
    font-size: 18px;
}

/* ノベルティ画像表示切り替え (モバイルファースト) */
.ph-novelty-sp {
    /*background-color: #9cbcae;*/
   /* aspect-ratio: 1 / 1;*/
    font-size: 16px;
    display: flex;
}

.ph-novelty-pc {
/*    background-color: #9cbcae;*/
    height: 140px;
    font-size: 20px;
    display: none; /* スマホでは非表示 */
}

.ph-text-banner {
    background-color: #CD9888;
    height: 60px;
    font-size: 20px;
}

/* 開催期間 */
.campaign-period {
    text-align: center;
    font-size: 14px;
}

.period-heading {
    margin-bottom: 5px;
}

/* 商品リスト */
.product-list {
    display: flex;
    flex-direction: column;
	flex-wrap: wrap;
}

.product-item {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ccc;
}

.product-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.ph-product-img {
/*    background-color: #9cbcae;*/
    height: 300px;
    font-size: 24px;
    margin-bottom: 20px;
}

.product-name {
    font-size: 16px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 15px;
	
	padding-left: 10px;        /* 左の余白 */
  border-left: 4px solid #999999; /* アクセントライン（グレー） */
}

.product-desc {
    font-size: 14px;
    margin-bottom: 20px;
}

.desc-heading {
    margin-bottom: 5px;
}

/* 価格エリア */
.product-price-area {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 10px;
}

.price-label {
    font-size: 14px;
}

.price-main {
    font-size: 24px;
}

.price-sub {
    font-size: 12px;
}

/* PDFエリア */
.pdf-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.ph-pdf-img {
   /* background-color: #9cbcae;*/
    width: 100%;
  /*  height: 250px;*/
    font-size: 28px;
}

.pdf-link-text {
/*    font-size: 16px;*/
    text-align: center;
}

.pdf-section .ph-pdf-img a,a:hover,a:visited{
	text-decoration: none;
}

/* ボトムバナー */
.ph-bottom-banner {
    background-color: #c9c1a3;
    height: 80px;
    font-size: 18px;
}

.desc-text span{
	display: block;
	background-color:#F2F2F2;
	padding: 10px;
}
/* バナー全体を囲う箱 */
.banner-container {
  position: relative; /* 子要素を重ねるための基準にする */
  max-width: 800px;   /* バナーの最大幅 */
  margin: 40px auto;  /* 中央寄せ（数字はお好みで調整してください） */
}

/* バナー画像 */
.banner-img {
  width: 100%;
  height: auto;
  display: block;
}

.ph-text-banner .smalltxt {
	font-size: 0.6em;
	display: block;
}

/* ＼リニューアル！／ の見出し部分 */
/* =========================================
   基本スタイル（モバイル用：画面幅600px以下）
========================================= */
.banner-catch {
  position: absolute;
/*  top: -15px;  モバイルサイズに合わせて調整 */
  left: 50%;
  transform: translateX(-50%);
  
  /* ベースのデザイン */
  background-color: #5b584f; /* 指定カラー */
  color: #ffffff;
  font-weight: bold;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif; /* セリフ体 */
  white-space: nowrap;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.25)); /* 影 */
  z-index: 10;
  margin: 0;

  /* モバイル用のサイズ・余白・切れ込み */
  font-size: 18px;
  padding: 6px 24px;
  clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0% 50%);
}

.price-buynow {
	background-color:#5b584f;
	color:#FFF;
	font-size: 14px;
	padding: 6px 10px;
	display: block;
}

.price-buynow a,a:hover,a:visited{
    color: inherit;
	text-decoration:none;
}


/* --- タブレット・PC向けレイアウト (820px以上) --- */
@media (min-width: 820px) {
    .campaign-container {
        padding: 0 0 40px;
    }

    .ph-main-visual {
        height: 360px; /* PCでの高さを固定 */
    }

    /* ノベルティ画像の切り替え */
    .ph-novelty-sp {
        display: none; /* PCではスマホ用を非表示 */
    }

    .ph-novelty-pc {
        display: flex; /* PC用を表示 */
    }

    /* 商品アイテムを2カラムに */
    .product-item {
        display: flex;
        gap: 30px;
        align-items: flex-start;
    }

    .ph-product-img {
        width: 300px;
        flex-shrink: 0;
        margin-bottom: 0;
    }

    .product-info {
        flex-grow: 1;
    }
	
	/* =========================================
   PC・タブレット用（画面幅601px以上で適用）
========================================= */
@media screen and (min-width: 601px) {
  .banner-catch {
    top: -18px; /* サイズアップに伴いはみ出し位置を調整 */
    font-size: 22px;
    padding: 8px 32px;
    
    /* リボンの切れ込みをPCのサイズ感に合わせて少し深く（15px） */
    clip-path: polygon(15px 0%, calc(100% - 15px) 0%, 100% 50%, calc(100% - 15px) 100%, 15px 100%, 0% 50%);
  }
}
	
	.price-buynow {
	font-size:12px;
	}
	
}





