/* 標準可変メディア
   メモ : 可変メディアでは、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;
  }
}


/* =========================
   モバイルファーストCSS
   - ベース：SP（820px想定）
   ========================= */

/* 共通（SP/PCどちらでも同じ） */

.box2_sub{
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	line-height: 1.5;
}

.box2_kikan {
	border: 3px solid #b04959;   /*←ここの色変更*/
	background-color: #fff;
	max-width: 80%;
	margin: 0 auto;
	}

.box2_ttl_kikan {
	font-size: 18px;
	margin: 0;
	background:#b04959;   /*←ここの色変更*/
	color: #fff;
	padding: 10px;
	text-align: center;
	font-weight: bold;
	text-align: center;
	}

.box2_main_kikan {
	padding-top: 0.8em;
	margin: 0;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}
/*期間ここまで*/

.apple{
	background-color: red;
}

.allbox {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	width: 100%;
  margin: 0 auto;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.item {
  text-align: center;
  border-radius: 12px;
  background: linear-gradient(45deg, #ffffff, #ffffff, #ffffff);
  box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}

.item img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 10px;
}

.item p {
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  margin: 0;
  color: #333;
}

.item span {
  text-align: center;
  font-weight: bold;
  margin: 0;
}


.main .allbox .button {
  text-decoration: none;        /* デフォルトCSS打ち消し */
  color: #fff;                  /* 文字色指定 */
  background-color: #333;       /* 背景色指定 */
  line-height: 30px;
  margin: 0 auto;
  margin-bottom: 7%;
  display: block;               /* ブロック要素にする */
  text-align: center;           /* 中央揃え */
  padding: 5px 15px 5px 15px;   /* 余白指定 */
  border-radius: 5px;           /* 角丸指定 */
  font-size: 14px;              /* 文字サイズ指定 */
  box-shadow: 0 2px 10px 0 #DEDADA; /* 影指定 */
  font-weight: bold;
}


.mt-30 {
  margin-top: 30px; /* 画像とボタンの間に30pxの余白 */
}

.btn-area {
  text-align: center; /* ボタンを中央寄せ */
  width: 100%;
}

.btn-area a {
  margin: 0 auto;
  text-align: center;
}

.fontsizekeeper {
  font-size: 16px !important;    /*←黒リンクバーをホバーしたときに文字が小さくなる現象を防ぐ*/
}
.logo{
	
}

.logo p strong{
	color:#5d3a7c;
}
.gazou_ichiran{

}
.gazou_ichiran div{
	border: 1px solid #fff;
}
.setsumei{
	
}
.setsumei p{
	vertical-align: middle; /* 縦中央 */
	text-align: center;
	line-height: 1.8;
  	letter-spacing: 0.05em; /* 字間も少し広げると更に読みやすい */
	font-size: 16px;
	margin-bottom: 10px;
}

.setsumei storng{
	text-align: left;
	line-height: 1.8;
  	letter-spacing: 0.05em; /* 字間も少し広げると更に読みやすい */
	font-size: 20px;
}

.tabtop20 {
	padding: 10px; text-align: center; background-color:#ec7692;  border-radius: 20px 20px 0px 0px;  font-size: 1.5em; font-weight: bold; font-family: YuMincho, Yu Mincho,Hiragino Mincho ProN,serif; color: #fff;
}

/* =========================
   ここからSP（ベース）スタイル
   ========================= */

.logo {
  text-align: center;
  padding: 20px 15px 20px 15px; 
line-height: 1.8; 
 letter-spacing:0.1em;
}

.logo p {
  text-align: center;
/*  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
  font-weight: lighter;
  font-size: 20px;       
  
}
.logo p  strong{
  font-size: 22px;       
}


.hot_item {
  text-align: center;
  /*font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";*/
  font-weight: bold;
  font-size: 25px;       
  line-height: 1.6em;
}

.item {
  width: calc(50% - 10px); /* ←SP: 2列 */
  margin: 0 5px 15px;      
  padding: 10px;           
}

.item span {
  font-size: 10px;        
}

.main .allbox .button {
  width: 100%;            
}

.btn-area a {
  width: 80%;              
}

iframe[src*="youtube.com"],
iframe[src*="youtube-nocookie.com"] {
  width: 100%;             /* ←SPは100% */
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  margin: 0 auto;
}
.row_m {
  display: block;
}

.br-pc {
	display:none;
}
.br-sp {
	display:inline;
}

.setsumei br:not(.br-pc):not(.br-title) {
        display: none;
}

.intro_2{
  text-align: center;
  padding: 10px;
	max-width: 800px;
}

.intro_2 p{
  text-align: center;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";    
  font-size: 15px; 
  font-weight: lighter;
  line-height: 22px;
}

.cpmidashi{
  text-align: center;    
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold;
  font-size: 30px;
  line-height: 1.3em;
	color:hotpink;
}

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

.insta img {
  width: 250px;   
  height: auto;
  border-radius: 8px;
 	display: block;
	margin: 0 auto;
}

/* =========================
   820px以上（タブレット/大きめ画面）
   ========================= */
@media only screen and (min-width: 820px) {

  .logo {
    padding: 20px; 
  }

  .logo p {
    font-size: 20px;  
    line-height: 1.4;
  }
	.logo p strong{
    font-size: 26px;  
    line-height: 1.4;
  }

  .hot_item {
    font-size: 30px; 
  }

  .item {
    width: calc(33% - 30px); /* ←PC: 3列 */
    margin: 0 15px 30px;    
    padding: 20px;          
  }

  .item span {
    font-size: 11px; 
  }

  .main .allbox .button {
    width: 170px; 
  }

  .btn-area a {
    width: 70%; 
  }

  iframe[src*="youtube.com"],
  iframe[src*="youtube-nocookie.com"] {
    width: 60%; /* ←PCは60% */
  }
	.setsumei p{
	text-align: left;
	line-height: 1.8;
  	letter-spacing: 0.05em; /* 字間も少し広げると更に読みやすい */
	font-size: 18px;
}
	
.setsumei strong{
	text-align: left;
	line-height: 1.8;
  	letter-spacing: 0.05em; /* 字間も少し広げると更に読みやすい */
	font-size: 22px;
}
	
 .row_m {
    display: flex;
    align-items: center;
  }	
		.br-pc {
	display:inline;
}
.br-sp {
	display:none;
}
	
.intro_2 {
  text-align: center;
  padding: 10px 8px 10px 8px;
		max-width: 600px;
}
	
.intro_2 p{
  font-size: 13px; 
  line-height: 130%;    
}	
	
	
}
/* =========================
   1140px以上（PC/大きめ画面）
========================= */
@media only screen and (min-width: 1140px) {
	
	}


/* ===========================
   キャンペーン参加方法ボックス
   =========================== */

.cp-step-box {
  border: 3px solid #897697;
  border-radius: 12px;
  max-width: 700px;
  margin: 0 auto 30px;
  overflow: hidden;
  background: #fff;
}

.cp-step-ttl {
  background: #897697;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 12px;
  letter-spacing: 0.1em;
}

/* STEPエリア */
.cp-step-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 20px 15px;
  background: #f9f4fc;
}

.cp-step-item {
  text-align: center;
  background: #fff;
  border: 2px solid #897697;
  border-radius: 10px;
  padding: 14px 10px;
  width: 140px;
  min-height: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.cp-step-num {
  background: #897697;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: 0.1em;
}

.cp-step-text {
  font-size: 13px;
  line-height: 1.7;
  color: #333;
}

.cp-step-arrow {
  font-size: 24px;
  color: #897697;
  font-weight: bold;
}

/* 注意事項エリア */
.cp-notes {
  padding: 15px 20px 20px;
  border-top: 2px dashed #897697;
  background: #fff;
}

.cp-notes-ttl {
  font-size: 15px;
  font-weight: bold;
  color: #897697;
  margin-bottom: 10px;
}

.cp-notes-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cp-notes-list li {
  font-size: 13px;
  line-height: 1.8;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
  color: #444;
}

.cp-notes-list li:last-child {
  border-bottom: none;
}

.cp-notes-num {
  font-weight: bold;
  color: #897697;
  margin-right: 5px;
}

.cp-notes-caution {
  display: block;
  font-size: 12px;
  color: #888;
  margin-top: 4px;
  padding-left: 1em;
  line-height: 1.8;
}

/* SP対応 */
@media only screen and (max-width: 819px) {
  .cp-step-arrow {
    transform: rotate(90deg);
  }

  .cp-step-item {
    width: 90%;}

  .cp-step-wrap {
    flex-direction: column;
    align-items: center;
  }
}