@charset "UTF-8";

/*-----------------------------------
 基本設定
------------------------------------*/
/* common調整 */
@media (max-width: 768px) {
    .header-fixed .o-header {
        min-height: 48px;
        position: sticky !important;
    }
}

/* コンテンツ余白調整 */
.outer-margin{
	margin: 16px;
}

.cont-width__640 {
	max-width: 640px;
	padding: clamp(24px, 6.4vw, 40px) 16px;
	margin: 0 auto;
  }

  .cont-width__640--nopadding {
	max-width: 640px;
	margin: 0 auto;
  }

@media (min-width: 769px) {
	.outer-margin{
		margin: 35px;
	}
}

/* ランキング棚調整 */
.cp-main #ranking{
	padding-bottom: min(8% ,50px)
}

/* ---------- 上部赤枠 ------------ */
.cp-attention-area{
	max-width: 960px;
	padding: 8px 16px 16px 16px;
	margin: 0 auto;
}

.cp_attention__txt{
	border: 2px solid;
	color: #cc0033;
	font-size: 16px;
	font-weight: 600;
	padding: 3% 30px;
	text-align: center;
	background: #fff;
}


  @media (min-width: 769px) {
	.cp-attention-area{
		padding: 0 16px 24px;
	}
}


  @media (min-width: 992px) {
	.cp-attention-area{
		padding: 0 0 24px;
	}
}


/*-----------------------------------
 パンクズ用
------------------------------------*/

.bw-breadcrumb {
	padding: 16px 0 0;
	display: none;
	line-height: 1;
  }
  
@media screen and (min-width: 769px) {
	.bw-breadcrumb {
		display: block;
	}
}
  
.bw-breadcrumb__item {
	display: inline-block;
	font-weight: 600;
	font-size: 10px;
	color: #0064D9;
}

.bw-breadcrumb__item a {
	color: #0064D9;
}

.bw-breadcrumb__item a:hover {
	text-decoration: none;
}

.bw-breadcrumb__item:after {
	content: " > ";
	display: inline-block;
	margin: 0 2px 0 5px;
	color: #888;
}

.bw-breadcrumb__item:last-of-type {
	color: #888;
}


.bw-breadcrumb__item:last-of-type:after {
	content: none;
}


.bw-breadcrumb-outer {
	display: none;
}

@media (min-width: 769px) {
	.bw-breadcrumb-outer {
		display: block;
		margin: 16px auto 0 auto;
		max-width: 1600px;
		padding-left: 30px;
		padding-right: 30px;
	}
}

/*-----------------------------------
 ページ調整
------------------------------------*/
.cp-main .bg-shelf-list{
	background-color: #fffce1;
}

/* リンク */
.cp-main a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* スムーズスクロール */
html {
	scroll-behavior: smooth;
}

/* コンテンツ */
.cp-main {
	background: #fff;
	font-size: 16px;
	line-height: 1.7;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.cp-main h1, .cp-main h2, .cp-main h3, .cp-main h4, .cp-main h5, .cp-main h6 {
	font-weight: bold;
	margin-bottom:0;
	max-width:initial;
}

.cp-main p ,
.cp-main li ,
.cp-main dt ,
.cp-main dd {
	line-height: 1.7;
}

.cp-main img{
		max-width: 100%;
		height: auto;
}

/* ページ内リンク調整用 */
.page__anchor{
	height: 0px;
	display: block;
	padding-top: 56px;
	margin-top: -56px;
}

@media (min-width: 769px) {
	.page__anchor{
		padding-top: 66px;
		margin-top: -66px;
	}
}

.cp-main .text-12{
	font-size: 12px;
}

/* setting a */

a.link-txt{
	color: #007bff;
	transition: none;
	text-decoration: underline;
}
a:hover.link-txt{
	text-decoration: none;
}

.cp-btn__small:hover{
	opacity:.7;
}

@media (min-width: 769px){
	.cp-main a,
	.cp-main .arrow:before,
	.cp-main .arrow:after,
	.cp-main .arrow--down:before,
	.cp-main .arrow--down:after,	
	.cp-btn__small{
		transition: all .3s ease-out;
	}

}

.color-red{
	color: #cc0033;
}

/* setting other */
.attention__txt{
	font-size: 3.5vw;
	color: #cc0033;
}

@media only screen and (min-width: 390px) {
	.attention__txt{
		font-size: 12px;
	}
}

/*-----------------------------------
 ボタン
------------------------------------*/


/* ボタン large -entry btn- */
.cp-btn__large{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 600px;
	font-size: clamp(16px, 3vw, 24px);
	font-weight: bold;
	line-height: 1.3;
	background: #cc0033;
	height: 60px;
	padding: 12px;
	border-radius: 100px;
	margin: auto;
	position: relative;
	line-height: 1.2;
	border-bottom: 5px solid #7f001b;
}

.cp-btn__large.arrow{
	padding-right: 30px;
	padding-left: 30px;
}

/* ボタン large -entry btn- end */
a.cp-btn__large.cp-end{
	pointer-events: none;
	background: #9a9a9a;
	border-bottom: 5px solid #616161;
}

.cp-btn__large.cp-end:hover{
	pointer-events: none;
	border-bottom: 5px solid #616161 !important;
}

/* ボタン middle -ボタンリンク- */
.cp-btn__middle {
    clear: both;
    display: flex;
	justify-content: center;
	align-items: center;
    background: #cc0033;
    color: #FFF;
	min-height: 52px;
    padding: 12px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 16px;
    position: relative;
}

/* ボタン middle -ボタンリンク- */
.cp-btn__small {
	clear: both;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #cc0033;
	color: #FFF;
	padding: 12px;
	min-height: 40px;
	border-radius: 30px;
	font-weight: bold;
	font-size: 14px;
	position: relative;
	padding: 0.5em;
}

/* ボタン→ */
a.cp-btn__large,
a.cp-btn__middle,
.cp-btn__small{
  color: #FFF;
}

.arrow:before{
	content: "";
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #fff;
	position: absolute;
	right: 24px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

/* ボタン 色設定 */
.btn-yellow{
	background: #ffb400;
}

.btn-green{
	background: #009141;
}

.btn-palegreen{
	background: #80e9b0;
}	

@media only screen and (min-width: 769px) {
	/* PC */
	.cp-btn__large{
	font-size: 24px;
	height: 90px;
	padding: 15px;
	border-radius: 100px;
	}
	
	.cp-btn__large:hover{
		border-bottom: 1px solid #7f001b;
	}

	.arrow:before,
	.arrow--down:before{
		position: absolute;
		content: " ";
		right: 10px;
		top: 50%;
		right: 15px;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: 2px solid #FFF;
		border-right: 2px solid #FFF;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
		.arrow--down:before{
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
}


/*-----------------------------------
 リスト頭出し
------------------------------------*/
.list__normal li{
	padding-left:1em;
	text-indent:-1em;
}

/*-----------------------------------
 メインビジュアル
------------------------------------*/
.cp-main h1 img{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: block;
}

/* メインビジュアル背景 */
.cp-main h1{
	background: url(../img/bg_kv.png) #ffd200;
}

/*-----------------------------------
 コンテンツ内赤枠
------------------------------------*/
.cp-info{

}
.cp-info .adjust{
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

/* 見出し */
.cp-info h2{
	text-align: center;
	padding: 5px;
	color: #ff0;
	background: #cc0033;
	font-size:16px;
	white-space: normal;
	text-overflow: initial;
	border-radius: 15px 15px 0 0;
}

.cp-info h2 strong{
	font-size:20px;
}

/* バナー */
.cp-info .bnr-img img{
	width: 100%;
	max-width: initial;
}

/* テキスト */
.cp-info .txt-area{
	background: #FFF;
	font-size: 12px;
	padding: 4%;
	border-radius: 0px 0px 15px 15px;
	text-align: center;
}

.cp-info .txt-area strong,
.cp-freearea .txt-area strong{
	font-size: 18px;
}

/* ボタン */
.cp-info .cp-btn__middle,
.cp-info2 .cp-btn__middle,
.cp-freearea .cp-btn__middle{
	margin: 10px auto 0 auto;
	width: 70%;
	max-width: 400px;
}

.cp-info .cp-btn__middle img,
.cp-info2 .cp-btn__middle img {
    height: 16px;
    max-width: initial;
    image-rendering: -webkit-optimize-contrast;
}

@media only screen and (min-width: 769px) {
	/* 見出し */
	.cp-info h2{
		padding: 8px;
		font-size: 22px;
	}

	.cp-info h2 strong{
		font-size: 34px;
	}
	/* テキスト */
	.cp-info .txt-area{
		font-size: 16px;
		padding: 25px;
	}

	.cp-info .txt-area strong,
	.cp-freearea .txt-area strong{
		font-size: 24px;
	}
}

/* html直接記述部分 */

.cp-lead-red {
	border: solid 3px #cc0033;
	max-width: 550px;
	margin: auto;
	padding: 16px;
}

.text-center {
	text-align: center;
}

.text-center-red {
	color: #cc0033;
	margin-bottom: 5px;
	font-weight: bold;
	line-height: 1.5 !important;
}

.text-14{
	font-size: 14px;
	line-height: 1.5 !important;
}


/*-----------------------------------
 キャンペーン＆エントリー期間
------------------------------------*/
/* ----------------------------------
   エントリー
  -----------------------------------*/
  .cp-entry {

  }
  .cp-entry__frame {
	margin: auto;
	background: #f5f5f5;
	max-width: 960px;
	border-radius: 16px;
  }

  .cp-entry__period-title {
	line-height: 1.3;
	font-size: 24px;
	font-weight: 600;
	color: #009141;
	text-align: center;
	display: flex;
	align-items: center;
	margin-bottom: 8px;
  }
  .cp-entry__period-title::before, .cp-entry__period-title::after {
	content: "";
	height: 2px;
	background: #009141;
	flex-grow: 1;
  }
  .cp-entry__period-title::before {
	margin-right: 0.333em;
  }
  .cp-entry__period-title::after {
	margin-left: 0.333em;
  }
  .cp-entry__period-text {
	text-align: center;
	font-size: clamp(14px, 4.375vw, 16px);
	font-weight: 600;
	color: #000;
	margin-bottom: clamp(24px, 6.4vw, 40px);
	line-height: 1.7;
  }
  .cp-entry__period-text > span {
	display: inline-block;
	line-height: 1.7;
  }
  .cp-entry__annotation {
	font-size: 12px;
	font-weight: 400;
	color: #000;
	margin-top: 1em;
  }
  .cp-entry__annotation > p, .cp-entry__annotation > ul {
	line-height: 1.7;
  }
  .cp-entry__annotation > ul {
	padding-left: 1em;
	text-indent: -1em;
  }

  .cp-entry__annotation > ul > li {
	line-height: 1.3;
	margin-bottom: 5px;
  }
  .cp-entry__annotation > ul > li:last-child {
	margin-bottom: 0px;
  }
  .cp-entry__rounded-btn {
	margin-bottom: 20px;
  }
  

/* ----------------------------------
   エントリー内バナー
-----------------------------------*/
.cp-entrybtn__banner {
    margin-top: 35px;
  }
  .cp-entrybtn__banner-title {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  .cp-entrybtn__banner-img a {
    display: block;
    margin-top: 10px;
    transition: 0.3s;
  }
  .cp-entrybtn__banner-img a:hover {
    opacity: 0.7;
  }

@media all and (min-width: 769px) {
    .cp-entrybtn__banner {
      margin-top: 50px;
    }
    .cp-entrybtn__banner-title {
      font-size: 20px;
    }
    .cp-entrybtn__banner-img a{
      margin-top: 15px;
    }
}

/*-----------------------------------
 キャンペーン対象！おすすめ作品
------------------------------------*/
/*　リボン余白調整　*/
.cp-reccomend .adjust{
	/*　リボンのマージン分　*/
	padding-top: 6px;
	text-align: center;
	max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

.shelf-area{
	text-align:left;
	padding-top: 30px;
}


/*-----------------------------------
 ボタン エリア
------------------------------------*/
.cp_btn-other,
.cp-freearea {
	text-align: center;
}
.cp-freearea {
	border-top:none;
}


/* バナー大 */
.cp_btn-other .bnr-large{
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
	margin-bottom: 24px;
}

/* サービスボタン */
.cp_btn-other ul.linl-btns {
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px 16px;
}


/* ボタン上　テキスト */
.txt__deco-slash{
	display: inline-block;
	padding: 0 1em;
	position: relative;
	text-align: center;
	margin: 0 0 6px;
	font-size: 14px;
	font-weight: bold;
}

/* ボタン上　飾り */
.txt__deco-slash:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 105%;
    border-right: 2px solid #cc0033;
    position: absolute;
    -webkit-transform: rotate(22.5deg);
    transform: rotate(22.5deg);
    top: -5px;
    right: 0;
}

.txt__deco-slash:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 105%;
    border-left: 2px solid #cc0033;
    position: absolute;
    -webkit-transform: rotate(-22.5deg);
    transform: rotate(-22.5deg);
    top: -5px;
    left: 0;
}

/* ボタン上　飾り */
.txt__deco-slash--blue:before {
    border-right: 2px solid #007bff;
}

.txt__deco-slash--blue:after {
    border-left: 2px solid #007bff;
}




@media only screen and (min-width: 769px) {
	.cp_btn-other ul.linl-btns {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 32px 24px;
	}

	/* ボタン上　テキスト */
	.txt__deco-slash{
		font-size: 16px;
	}
}

/*-----------------------------------
 バナー エリア
------------------------------------*/

.cp_bnr{
	background: #f4f4f4;
	text-align: center;
}

.cp_bnr ul{
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px 16px;
	width: 92%;
	margin: auto;
}

.cp_bnr ul li{
	/* margin-bottom: 1.5em; */
	width: 100%;
}

.cp_bnr ul li:last-child{
	margin-bottom: 0;
}

.cp_bnr ul img{
	margin-bottom: 7px;
}


@media only screen and (min-width: 769px) {
	.cp_bnr ul{
		display: grid;
	    grid-template-columns: repeat(2, 1fr);
	    gap: 32px 24px;
	}

}


/*-----------------------------------
 キャンペーン規約
------------------------------------*/
.cp_kiyaku .cp_kiyaku__inner{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.cp_kiyaku h2{
	background: #000066;
	color: #FFF;
	padding: 8px;
	text-align: center;
	font-size: 21px;
	margin-bottom: 0.8em;
	line-height: 1;
}

.kiyaku-txt__bold{
	font-weight: bold;
	border-bottom: 1px solid #c4c4c4;
	margin-bottom: 1em;
	padding-bottom: 1em;
}

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

.cp_kiyaku dt,
.cp_kiyaku dd{
	font-size: 14px;
	width: 100%;
}

.cp_kiyaku dt{
	color: #000066;
	font-weight: bold;
	
}

.cp_kiyaku dd{
	border-bottom: 1px solid #c4c4c4;
	margin-bottom: 1em;
	padding-bottom: 1em;
}

.cp_kiyaku dd:last-child{
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 0;
}

.outer-dot{
	padding:15px;
	margin:10px 0;
	border: 1px dashed #8b8b8b;
}

@media only screen and (min-width: 769px) {
	.cp_kiyaku h2{
		padding: 12px;
	}

	.cp_kiyaku dt{
		width: 265px;
		border-bottom: 1px solid #c4c4c4;
		margin-bottom: 1em;
		padding-bottom: 1em;
	}

	.cp_kiyaku dd{
		width: calc(100% - 265px)
	}
	
	.cp_kiyaku dd:last-of-type,
	.cp_kiyaku dt:last-of-type{
		margin-bottom: 0;
		border-bottom: none;
		padding-bottom: 0;
	}
}

/* 棚用調整 */
.whg_mostView{
	font-size: 12px;
}

.bw_linkContents{
	margin-bottom: 20px !important;
}

@media only screen and (min-width: 769px) {
	.bw_linkContents{
		margin-bottom: 30px !important;
	}
}

.cp-main .bw_linkContents h2{
	max-width: calc(100% - 100px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*-----------------------------------
 220111追記　3ストアCPバナー文言
------------------------------------*/
.bn-txt__bold{
	font-weight: bold;
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
}


/*-----------------------------------
 220210 追記余白調整
------------------------------------*/
.mt10{ margin-top:10px !important;}
.mt20{ margin-top:20px !important;}
.mt30{ margin-top:30px !important;}
.mt40{ margin-top:40px !important;}

/*-----------------------------------
 220210 追記 汎用枠
------------------------------------*/
.border-red_dash1{
	border: 1px dashed #cc0033;
	padding: 20px;
}
.border-red_dash2{
	border: 2px dashed #cc0033;
	padding: 20px;
}


/*-----------------------------------
 220210 追記 chance2 告知枠２
------------------------------------*/
.cp-info2{
	background: url(../img/bg_chance2.png) #d8d8d8;
	padding: 4%;
	text-align: center;
}

.cp-info2 .adjust{
	max-width: 960px;
	margin: auto;
	padding-top: 10px;
}

/*　バナー下のスペース　*/
.cp-info2 .bnr-list li{
	margin-bottom: 1em;
}

.cp-info2 li:last-child{
	margin-bottom: 0;
}

.cp-info2 .txt-list{
	margin-top: 1em;
	max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.cp-info2 .txt-list li{
	font-size: 12px;
	text-align: left;
}


/*　タイトル　*/
/*　リボン下　*/
.cp-info2 h2.cp-info2-title {
	display: inline-block;
	position: relative;
	text-align: center;
	font-size: 20px;
	color: #000;
	height: 38px;
	background: #e4ac00;
	overflow: initial;
	max-width: 640px;
	width: 92%;
	margin: 0 auto .8em auto;
}

.cp-info2 h2.cp-info2-title img{
	width:	94%;
	max-width: 430px;
	image-rendering: -webkit-optimize-contrast;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
}

/*　リボン上　*/
.cp-info2 h2.cp-info2-title span{
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 88%;
	height: 50px;
	line-height: 50px;
	margin-top: -6px;
	background: #ffd200;
	position: relative;
}

/*　リボン左右　*/
.cp-info2 h2.cp-info2-title:before, .cp-info2 h2.cp-info2-title:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.cp-info2 h2.cp-info2-title:before {
  top: 0;
  left: 0;
  border-width: 20px 0px 20px 10px;
  border-color: transparent transparent transparent #d8d8d8;
  border-style: solid;
}

.cp-info2 h2.cp-info2-title:after {
  top: 0;
  right: 0;
  border-width: 20px 10px 20px 0px;
  border-color: transparent #d8d8d8 transparent transparent;
  border-style: solid;
}

@media only screen and (min-width: 420px) {
	.cp-info2 h2.cp-info2-title img{
		width:	80%;
	}
}

@media only screen and (min-width: 769px) {
	.cp-info2{
		padding: 35px;
	}

	/*　タイトル　*/
	/*　リボン上　*/
	.cp-info2 h2.cp-info2-title span{
		width: 88%;
		height: 80px;
		line-height: 80px;
		margin-top: -8px;
	}

	/*　リボン下　*/
	.cp-info2 h2.cp-info2-title {
		font-size: 30px;
		height: 64px;
	}


	/*　リボン左右　*/
	.cp-info2 h2.cp-info2-title:before {
		border-width: 32px 0px 32px 25px;
	}
	.cp-info2 h2.cp-info2-title:after {
		border-width: 32px 25px 32px 0px;
	}
}

@media only screen and (min-width: 769px) {
	.cp-info2{
		padding: 35px;
	}

	/*　バナー下のスペース　*/
	.cp-info2 .bnr-list li{
		margin-bottom: 1.5em;
	}

	.cp-info2 .bnr-list li:last-child{
		margin-bottom: 0;
	}

	/*　タイトル　*/
	/*　リボン上　*/
	.cp-info2 h2.cp-info2-title span{
		width: 88%;
		height: 80px;
		line-height: 80px;
		margin-top: -8px;
	}

	/*　リボン下　*/
	.cp-info2 h2.cp-info2-title {
		font-size: 30px;
		height: 64px;
	}


	/*　リボン左右　*/
	.cp-info2 h2.cp-info2-title:before {
		border-width: 32px 0px 32px 25px;
	}
	.cp-info2 h2.cp-info2-title:after {
		border-width: 32px 25px 32px 0px;
	}
}


/* 対象キャンペンを確認　ボタン */
.cp-info2 .cp-btn__middle{
	margin: 10px auto 0 auto;
	width: 70%;
	max-width: 400px;
}

.cp-info2 .cp-btn__middle img.img-taisho__kakunin {
	margin: 10px auto 0 auto;
	width: 80%;
	vertical-align: baseline;
	height:auto;
	max-width: none;
    image-rendering: -webkit-optimize-contrast;
}

@media only screen and (min-width: 400px) {
	.cp-info2 .cp-btn__middle img.img-taisho__kakunin {
		width:auto;
		height:16px; 
		image-rendering: -webkit-optimize-contrast;
	}
}
/* 空き調整 */
.mb-35{
	margin-bottom:4%;
}
@media only screen and (min-width: 769px) {
	.mb-35{
		margin-bottom:35px;
	}
}	
.free-txt {
	margin-bottom: 1em;
}
.free-txt p{
	line-height:1.4;
	font-weight: bold;	
}
.free-txt li{
	padding-left:1em;
	text-indent:-1em;
}
@media only screen and (min-width: 769px) {
		.free-txt {
			text-align:center;
		}
	}

/*-------------------------------------------
　チェックボックス
-------------------------------------------*/
/* チェックボタンエリア */
.cp-main .checkbox-area__checkbox-set {
    margin: 1em auto;
	text-align: center;
}
.cp-main .cp-checkbox {
    font-size: clamp(13px, 3vw, 16px);
	border-top: 1px dashed #dcdcdc;
    border-bottom: 1px dashed #dcdcdc;
    margin: 1em auto;
    padding: 0.5em 0;
}

/* チェックボタン */
.cp-main input[type="checkbox"] {
    display: inline-block;
    visibility: visible;
    -webkit-appearance: checkbox;
    margin-right: 0.5em;
}
/* チェックボタン&テキスト */
.cp-main input,
.cp-main label {
    vertical-align: middle;
    line-height: 1;
	margin-bottom: 0;
}


/* 棚同士の余白*/
@media (min-width: 769px) {
    .cp-main .o-tile {
        padding-top: 0px;
        padding-bottom: 48px;
    }
}
/*-----------------------------------
 dブックデー24_バナー枠エントリー下
------------------------------------*/
.cp-bnr__title{
	 font-size: clamp(16px, 3vw, 19px);
    text-align: center;
    line-height: 1.3;
    margin-bottom: min(2%, 8px) !important;
}
