@charset "UTF-8";

/*-------------------------------------------
 基本設定
-------------------------------------------*/
.cp-body{
	/* ボタン影 色 */
	--btn-shadow: #750000;

	/* transition */
	--hover-transition: all .3s ease-out;

	/* テキストリンク */
	--col-txt-link: #0064D9;
	
	/* docomo red */
	--col-d-red: #cc0033;

	/* docomo green */
	--col-d-green: #009141;

	/* light gray(border.etc.) */
	--col-d-gray: #D9D9D9;

	/* main color */
	--col-main-color: #022020;
	
	/* light brown*/
	--col-l-brown: #B58E63;

	/* light pink*/
	--col-l-pink:#FD6262;
}


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

.cp-main {
	/* 基本テキスト設定 */
	font-size: 16px;
	overflow-wrap: break-word;
	word-wrap: break-word;
	line-height: 1.7;
}

/* PCで上にマージン */
@media all and (min-width: 769px) {
	.cp-main{
	  margin-top:15px;
	}
}

/* commonのlineheightを上書き他に合わせる */
.cp-main p{
	line-height: 1.7;
}

.cp-main__inner {
	/* 基本的に横中央になるように */
	margin: 0 auto;
  }

/* h系設定リセット */
.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;
}

/* 横幅MAX960 */
.cont960{
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

/* 横幅MAX960プラス中のコンテンツに左右余白 */
.cont960__margin{
	max-width: 960px;
	padding-left: 3%;
	padding-right: 3%;
	margin-left: auto;
	margin-right: auto;
}

/* 横幅MAX960プラス中のコンテンツに上下左右余白 */
.cont960__margin-all{
	max-width: 960px;
	padding: 3%;
	margin-left: auto;
	margin-right: auto;
}

/* 横幅MAX960プラス中のコンテンツにSPのみ上左右余白 */
.cont960__margin-sp-plus-top{
	max-width: 960px;
	padding: 3%;
	margin-left: auto;
	margin-right: auto;
}

@media all and (min-width: 1000px) {
	.cont960__margin,
	.cont960__margin-all{
		width: 960px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 0;
		padding-right: 0;
	}

	.cont960__margin-sp-plus-top{
		width: 960px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 0;
		padding-left: 0;
		padding-right: 0;
	}
}

/* 画像はmaxまで横100％に */
.cp-main img{
	max-width: 100%;
	height: auto;
}

/* setting a テキスト　リセット */
.cp-main a{
	color: var(--col-txt-link);
}

.cp-main a:link{
	text-decoration: underline;
}

.cp-main a:hover{
	text-decoration: none;
}

/* pcでのhoverにopacityとtransitionを設定 */
@media (min-width: 769px){
	.cp-main a,
	.cp-main a img,
	.cp-main .arrow:before,
	.cp-main .arrow:after,
	.cp-main .cp-btn__large,
	.cp-main .cp-btn__middle,
	.cp-main .cp-btn__small{
		transition: var(--hover-transition);
		opacity: 1;
	}
}


/*-------------------------------------------
 display
-------------------------------------------*
/* inline-blockに */
.cp-main .disp__inline-block {
	display: inline-block;
}

/*-------------------------------------------
 余白調整
-------------------------------------------*/
/* マージン */
.cp-main .mt1e{ margin-top: 1em !important;}
.cp-main .mt1-5e{ margin-top: 1.5em !important;}
.cp-main .mt2e{ margin-top: 2em !important;}
.cp-main .mt30{ margin-top: 30px !important;}
.cp-main .mt40{ margin-top: 40px !important;}
.cp-main .mt50{ margin-top: 50px !important;}

/* パディング */
.cp-main .pt1e{ padding-top: 1em !important;}
.cp-main .pt1-5e{ padding-top: 1.5em !important;}
.cp-main .pt2e{ padding-top: 2em !important;}
.cp-main .pt30{ padding-top: 30px !important;}
.cp-main .pt40{ padding-top: 40px !important;}
.cp-main .pt50{ padding-top: 50px !important;}

/*-------------------------------------------
 テキスト
-------------------------------------------*/
/* 汎用*/
.cp-main .text01{ font-size: clamp(12px , 0.688rem + 0.313vw , 14px); line-height: 1.4;}
.cp-main .text02{ font-size: clamp(14px , 0.813rem + 0.313vw , 16px); line-height: 1.4;}
.cp-main .text03{ font-size: clamp(14px , 0.75rem + 0.625vw , 18px); line-height: 1.4;}

/* 固定 */
.cp-main .txt-f-12{ font-size: 12px; line-height: 1.4; }

/* パーセント */
.cp-main .text-p-80 { font-size: 80%;}
.cp-main .text-p-90 { font-size: 90%;}
.cp-main .text-p-110 { font-size: 110%;}
.cp-main .text-p-120 { font-size: 120%;}
.cp-main .text-p-130 { font-size: 130%;}
.cp-main .text-p-140 { font-size: 140%;}
.cp-main .text-p-150 { font-size: 150%;}

/* ウェイト */
.cp-main .text-bold { font-weight: bold !important;}
.cp-main .text-normal { font-weight: normal !important;}

/* 色 */
.cp-main .text-dred{
	color: var(--col-d-red);
}

.cp-main .text-dgreen{
	color: var(--col-d-green);
}

.cp-main strong{
	font-weight: 700;
}


/*-------------------------------------------
 ボタン
-------------------------------------------*/
/* ボタン large */
.cp-main .cp-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	position: relative;
	line-height: 1.2;
}

/* ボタン large */
.cp-main .cp-btn__large{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(18px , 2.8vw ,22px);
	font-weight: bold;
	background: var(--col-d-red);
	height: 60px;
	padding: 12px;
	border-radius: 100px;
	margin: auto;
	position: relative;
	line-height: 1.2;
}

/* ボタン middle -ボタンリンク- */
.cp-main .cp-btn__middle {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--col-d-red);
	color: #fff;
	padding: 12px;
	border-radius: 30px;
	font-weight: bold;
	text-align: center;
	margin: auto;
	font-size: clamp(16px , 2.8vw ,22px);
	line-height: 1.2;
	position: relative;
}
  
/* ボタン small -ボタンリンク- */
.cp-main .cp-btn__small {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--col-d-red);
	color: #fff;
	padding: 12px;
	border-radius: 30px;
	font-weight: bold;
	text-align: center;
	font-size: 14px;
	position: relative;
	padding: 0.5em;
	margin: auto;
	line-height: 1.2;
	min-height: 44px;
}
  
/* ボタン　テキスト */
.cp-main a.cp-btn__large,
.cp-main a.cp-btn__middle,
.cp-main a.cp-btn__small,
.cp-main a.entry-block__btn{
	color: #fff;
	text-decoration: none;
}

/* ボタン　テキスト */
.cp-main a.cp-btn__large:hover,
.cp-main a.cp-btn__middle:hover,
.cp-main a.cp-btn__small:hover,
.cp-main a.entry-block__btn:hover{
	color: #fff;
	text-decoration: none;
}
  
/* ボタン　＞ */
.cp-main .arrow:before{
	position: absolute;
	content: " ";
	right: 15px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
}
  
/* ボタン影 */
.cp-main .btn-shadow{
	box-shadow: 0px 3px 0 var(--btn-shadow);
	transition: var(--hover-transition);
	transform: translateY(0);
}

@media only screen and (min-width: 769px) {
	/* PC */
	.cp-main .arrow:before{
		right: 20px;
		width: 16px;
		height: 16px;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
		right: 28px;
		border-radius: 2px;
	}

	.cp-main .btn-shadow{
		box-shadow: 0px 3px 0 var(--btn-shadow);
	}

	.cp-main .btn-shadow:hover{
		box-shadow: none !important;
		transform: translateY(3px);
	}
}


/*-----------------------------------
 テキスト　＼ ／
------------------------------------*/
/* テキスト */
.cp-main .text__deco-slash{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: min(2% , 8px);
}

.cp-main .text__deco-slash::before,
.cp-main .text__deco-slash::after{
	content: "";
	height: 2em;
	width: 2px;
	background: #000;
	vertical-align: bottom;
}

.cp-main  .text__deco-slash::before {
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
	margin-right: 0.7em;
}

.cp-main .text__deco-slash::after {
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
	margin-left: 0.7em;
}


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


/*-------------------------------------------
 下コンテンツのスマホの調整　ボーター入れる
-------------------------------------------*/
.bw-footer__download{
	padding-top: 2rem;
	border-top: 1px solid #ccc;
}

/*-------------------------------------------
close対応　
-------------------------------------------*/
/* ページ上テキスト */
.cp_attention__text {
    border: 2px solid var(--col-d-red);
    color: var(--col-d-red);
    font-size: 16px;
    font-weight: 600;
    margin: 15px 0;
    padding: 3% 30px;
    text-align: center;
    background: #fff;
    line-height: 1.75;
}

.cp_attention__text p{
    line-height: 1.7;
}

/* ボタン用 
------------------------*/
/* ボタンの色 */
 .cp-main .cp-end{
	pointer-events: none !important;
	background-color: #c8c8c8 !important;
	border: none !important;
	color: #FFF !important;
	box-shadow: none !important;
  }

/* 影 */
.cp-main .cp-end.btn-shadow {
    box-shadow: none !important;
}

/* 矢印 */
.cp-main .cp-end.arrow:before{
	border-color: #FFF !important;
}

/* 画像 */
.cp-main .cp-btn__large.cp-end img,
.cp-main .cp-btn__middle.cp-end img,
.cp-main .cp-btn__small.cp-end img{
	-webkit-filter: brightness(0) invert(1) !important;
	filter: brightness(0) invert(1) !important;
}

/* 画像直接用 
------------------------*/
.cp-main .cp-end .cp-end__img{
	-webkit-filter: grayscale(100%) !important;
	filter: grayscale(100%) !important;
	opacity: .5 !important;
}


/********************************************
-------------------------------------------
 ここからページ固有
-------------------------------------------
********************************************/


/* pcでのhoverにopacityとtransitionを設定 */
@media (min-width: 769px){
.cp-main .ranking-large a{
	position: relative;
	}

	.cp-main .ranking-large a:hover img{
		transform: scale(1.1);
	}

	
	.cp-main .rank-list-c a,
	.cp-main .rank-list-d a{
		transition: none;
	}

	.cp-main .rank-list-c a:hover,
	.cp-main .rank-list-d a:hover {
		background: #fff7c1;
		color: var(--col-l-pink);
	}

	.cp-main .btn-archive:hover{
		transform: translateY(5px);
		box-shadow: none;
	}

	.cp-main .btn-archive:hover.arrow:before{
		right:	20px;
	}
}

/*-------------------------------------------
 テキストアンダーライン
-------------------------------------------*/
.cp-main .text-uline{
	background: linear-gradient(transparent 70%, #FFE327 30%);
}


/*-------------------------------------------
 基本色設定
-------------------------------------------*/
.cp-main{
	/* max960で 960以下で左右に入れたい余白の数値 */
	/* 基本的にヘッダーなどに合わせ 8px */
	--size-rl-padding: 8px;

	/* （自動計算用） */
	--size-rl-padding-plus: calc( var(--size-rl-padding) + 2);

	/* コンテンツの余白　基本 */
	--gap-base: min(5%, 48px);

	/* コンテンツの余白 スマホで上下開けたい */
	--gap-base-tb: min(8%, 48px);

	/* 最大幅 */
	--maxwidth: 960px;
}

/*-------------------------------------------
 block 共通setting
-------------------------------------------*/
.cp-main .object-shadow{
	box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
}

.cp-main {
	color: var(--col-main-color);
	background-image: url(../img/bg_deco.png),url(../img/bg.jpg);
	background-position: center ,center;
	background-size: 450px auto, 450px auto;
}

/* コンテンツのpadding + max width */
.cp-main .cont__padding-maxwidth {
    padding: calc(var(--gap-base) * 2) var(--gap-base);
    max-width: calc(var(--maxwidth) + (var(--gap-base) * 2));
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (min-width: 789px) {
    .cp-main .cont__padding-maxwidth {
       padding: var(--gap-base);
        }

		.cp-main {
			background-size: auto,auto;
		}
}

/* コンテンツのpadding */
.cp-main .cont__padding{
	padding: var(--gap-base-tb) var(--gap-base);
}

/* コンテンツのpadding左右のみ */
.cp-main .cont__padding-only-rl{
	padding: 0 var(--gap-base);
}

/* コンテンツのpadding上下のみ */
.cp-main .cont__padding-only-tb{
	padding: var(--gap-base-tb) 0;
}

/* コンテンツのpadding上 */
.cp-main .cont__padding-only-t{
	padding-top: var(--gap-base-tb) ;
}
/* コンテンツのpadding下 */
.cp-main .cont__padding-only-b{
	padding-bottom: var(--gap-base-tb) ;
}
/* padding右 */
.cp-main .cont__padding-only-r{
	padding-right: var(--gap-base) ;
}
/* コンテンツの左 */
.cp-main .cont__padding-only-l{
	padding-left: var(--gap-base) ;
}

/* コンテンツのpadding全てなし */
.cp-main .cont__padding-none{
	padding: 0;
}

/* コンテンツの margin */
.cp-main .cont__margin{
	margin: var(--gap-base-tb) var(--gap-base);
}

/* コンテンツのmargin左右のみ */
.cp-main .cont__margin-only-rl{
	margin: 0 var(--gap-base);
}

/* コンテンツのmargin左右のみ */
.cp-main .cont__margin-only-rl-pc-auto{
	margin: 0 var(--gap-base);
}

/* コンテンツのmargin上下のみ */
.cp-main .cont__margin-only-tb{
	margin: var(--gap-base) 0;
}

/* コンテンツのmargin上 */
.cp-main .cont__margin-only-t{
	margin-top: var(--gap-base) ;
}
/* コンテンツのmargin下 */
.cp-main .cont__margin-only-b{
	margin-bottom: var(--gap-base) ;
}
/* margin右 */
.cp-main .cont__margin-only-r{
	margin-right: var(--gap-base) ;
}
/* コンテンツの左 */
.cp-main .cont__margin-only-l{
	margin-left: var(--gap-base) ;
}

/* コンテンツ */
.cp-main .block-inner{
	margin-left: auto;
	margin-right: auto;
}

/* コンテンツ内の最大幅 */
.cp-main .maxwidth{
	max-width: var(--maxwidth);
}


/*-------------------------------------------
 MV
-------------------------------------------*/

.cp-main .mv-block__main{
	margin: auto;
	width: min(100% ,960px);
}

@media only screen and (min-width: 789px) {
	.cp-main .mv-block{
		background: url(../img/flag.svg) no-repeat center top;
	}
}

/*-------------------------------------------
 cp-main__lower
-------------------------------------------*/
.cp-main .cp-main__lower{
	background: url(../img/flag_sp.svg) no-repeat center top;
	background-size: 200%;
}

@media only screen and (min-width: 550px) {
	.cp-main .cp-main__lower{
		background: url(../img/flag.svg) no-repeat center top;
		background-size: 120%;
	}
}


@media only screen and (min-width: 800px) {
	.cp-main .cp-main__lower{
		background-size: 110%;
	}
}


@media only screen and (min-width: 1060px) {
	.cp-main .cp-main__lower{
		background: none;
	}
}

/*-------------------------------------------
 ranking large
-------------------------------------------*/
.cp-main .ranking-large{
	margin-top: 20px;
	position: relative;
}

.cp-main .ranking-large__title{
	position: absolute;
    top: 0;
    left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cp-main .ranking-large__title-deco{
	background: var(--col-main-color);
	padding: 3px;
	border-radius: 999px;
	display: inline-block;
}

.cp-main .ranking-large__inner{
	position: relative;
	background: url(../img/title_bg01.png) repeat-x center top #FFF;
	box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
	border-radius: 8px;
	
}

.cp-main .ranking-large__title-inner{
	border-radius: 999px;
	border: 2px solid #FFF;
	min-height: 46px;
	padding: 4px 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	min-height: 46px;
}

.cp-main .ranking-large__title-inner::before,
.cp-main .ranking-large__title-inner::after{
	content: "";
	display: inline-block;
	width: 15px;
	height: 22px;
	background-image: url(../img/icon_star.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 15px auto;
	margin: 8px;
}

.cp-main .ranking-large__title-text{
	width: calc(100% - 32px);
	font-size: 20px;
	text-align: center;
}

.cp-main .ranking-large__inner{
	padding: 50px var(--gap-base) var(--gap-base-tb) var(--gap-base);
}

/* 1-3 */
.cp-main .rank-list-a{
	display: grid;
	margin-bottom: 8px;
}

.cp-main .rank-list-a__item{
	display: grid;
	align-items: center;
	justify-items: center;
	grid-template-columns: 35px 1fr;
	gap: 5px;
	border-bottom: 1px solid var(--col-l-pink);
	height: 80px;
	padding: 8px 0;
}

.cp-main .rank-list-a__rank{
	width: 40px;
}

.cp-main .rank-list-a__name img{
	display: block;
    margin: 0 auto;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    height: 55px;
    -o-object-fit: contain;
    object-fit: contain;
}

/* 4-10 */
.cp-main .rank-list-b{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.cp-main .rank-list-b__item{
	width:calc((100% - 8px) / 2);
	margin-right: 8px;
	margin-bottom: 8px;
	display: grid;
	align-items: center;
	justify-items: center;
	grid-template-columns: 20px 1fr;
	gap: 5px;
	border-bottom: 1px solid var(--col-d-gray);
	height: 60px;
	padding: 8px 0;
}

.cp-main .rank-list-b__item:nth-of-type(2n){
	margin-right: 0;
}

.cp-main .rank-list-b__rank{
	width: 20px;
}

.cp-main .rank-list-b__name img{
	display: block;
    margin: 0 auto;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    height: 35px;
    -o-object-fit: contain;
    object-fit: contain;
}


/* 11以下 */
.cp-main .rank-list-c__item{
	line-height: 2.6;
}

.cp-main .rank-list-c__item a{
	font-size: 14px;
	color: var(--col-main-color);
	text-decoration: none;
	font-weight: 700;
}

.cp-main .rank-list-c__item{
	display: inline-block;
	margin-right: 16px;
}

.cp-main .rank-list-c__item-no{
	color:  var(--col-l-brown);
	padding-right: 6px;
}


/* cracker */ 
.cp-main .cp-cracker__right{
	margin: 8px 0;
	text-align: right;
}

.cp-main .cp-cracker__right img{
	width: 113px;
	transform: translateX(16%)
}


@media only screen and (min-width: 400px) {
	.cp-main .rank-list-b{
		margin-top: 24px;
	}

	.cp-main .rank-list-b__item{
		width: calc((100% - (24px * 1)) / 2);
		margin-top: 0px;
		margin-right: 24px;
	}
}

@media only screen and (min-width: 600px) {
	.cp-main .rank-list-b__item{
		width: calc((100% - (24px * 3)) / 4);
		margin-bottom: 24px;
		margin-right: 24px;
	}

	.cp-main .rank-list-b__item:nth-of-type(2n){
		margin-right: 24px;
	}

	.cp-main .rank-list-b__item:nth-of-type(4n){
		margin-right: 0;
	}

	.cp-main .rank-list-b__name img{
		width: 85px;
		height: 43px;
	}

}



@media only screen and (min-width: 789px) {
	.cp-main .ranking-large{
		margin: 60px 0 0 0;
	}

	.cp-main .ranking-large__inner{
		padding-top: 90px;
	}

	.cp-main .ranking-large__title-inner{
		min-height: 58px;
	}

	.cp-main .ranking-large__title-text{
		font-size: 28px;
	}

	/* 1-3 */
	.cp-main .rank-list-a{
		grid-template-columns: repeat( 3 ,1fr);
		gap: 48px;
		margin-bottom: 40px;
	}

	.cp-main .rank-list-a__item{
		height: 85px;
		grid-template-columns: 46px 1fr;
	}

	.cp-main .rank-list-a__name img{
		height: 70px;

	}

	.cp-main .rank-list-a__rank{
		width: 46px;
	}


	.cp-main .rank-list-b{
		margin-bottom: 40px;
	}

	.cp-main .rank-list-b__name img{
		width: 100px;
	}
	
}

@media only screen and (min-width: 1100px) {
	.cp-main .ranking-large{
		margin: 60px 0 80px 0;
	}

	/* cracker */ 
	.cp-main .cp-cracker__right{
		position: absolute;
		right: -190px;
		bottom: -20px;
		margin-top: 0;
		width: 173px;

	}

	.cp-main .cp-cracker__right img{
		width: 100%;
		transform: translateX(0)
	}
}

/*-------------------------------------------
 ranking small
-------------------------------------------*/
.cp-main .ranking-small-area{
	position: relative;
	
}

.cp-main .ranking-small-area__inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	/*align-items: center;*/
	position: relative;
	
}

.cp-main .ranking-small{
	width: calc(( 100% - 8px ) / 2);
	margin-right: 8px;
	margin-bottom: 16px;
	border-radius: 8px;
	overflow: hidden;
	background: #FFF;
	box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.25);
}

.cp-main .ranking-small:nth-of-type(2n){
	margin-right: 0;
}
.cp-mian .ranking-small-inner{
	display: flex;
}

.cp-main .ranking-small__title{
	background: var(--col-main-color);
	text-align: center;
	display: flex;
    align-items: center;
    justify-content: center;
	min-height: 40px;
	padding: 8px 0;
}

.cp-main .ranking-small_title-inner{
	color: #FFF;
	display: flex;
    align-items: center;
    justify-content: center;
}

.cp-main .ranking-small_title-text{
	font-size: 14px;
	line-height: 1.1;
	text-align: center;
	width: calc(100% - 32px);
}

.cp-main .ranking-small_title-inner::before,
.cp-main .ranking-small_title-inner::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 14px;
    background-image: url(../img/icon_star.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 10px auto;
    margin: 8px;
}

.cp-main .rank-list-d{
	padding: 8px;
}


.cp-main .rank-list-d{
	display: grid;
}

.cp-main .rank-list-d__item{
	display: grid;
	align-items: center;
	grid-template-columns: 35px 1fr;
	gap: 5px;
	border-bottom: 1px solid var(--col-l-pink);
	min-height: 60px;
	padding: 8px 0;
}

.cp-main .rank-list-d__item:last-child{
	border-bottom: none;
}

.cp-main .rank-list-d__rank{
	width: 30px;
}

.cp-main .rank-list-d__name img{
	display: block;
    margin: 0 auto;
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    height: 48px;
    -o-object-fit: contain;
    object-fit: contain;
}


.cp-main .rank-lis-d__name{
	line-height: 1.1;
	text-align: left;

}
.cp-main .rank-lis-d__name a{
	color: var(--col-main-color);
	font-size: 14px;
	line-height: 1.1;
	text-decoration: none;
	font-weight: 700;
	display: block;
	width: 100%;
}

/* cracker */ 
.cp-main .cp-cracker__left{
	margin: 8px 0;
	text-align: left;
}

.cp-main .cp-cracker__left img{
	width: 113px;
	transform: translateX(-16%)
}

.cp-main .ranking-note{
	text-align: left;
	font-size: 16px;
}

@media only screen and (min-width: 769px) {
	.cp-main .ranking-small{
		width: calc(( 100% - 24px * 2 ) / 3);
		margin-right: 24px;
		margin-bottom: 24px;
	}

	.cp-main .ranking-small:nth-of-type(2n){
		margin-right: 24px;
	}

	.cp-main .ranking-small:nth-of-type(3n),
	.cp-main .ranking-small:last-child{
		margin-right: 0;
	}

	.cp-main .ranking-note{
		text-align: center;
	}
	
}

@media only screen and (min-width: 920px) {
	.cp-main .ranking-small{
		width: calc(( 100% - 48px * 2 ) / 3);
		margin-right: 48px;
		margin-bottom: 48px;
	}

	.cp-main .ranking-small:nth-of-type(2n){
		margin-right: 48px;
	}

	.cp-main .ranking-small:nth-of-type(3n),
	.cp-main .ranking-small:last-child{
		margin-right: 0;
	}
	
}

@media only screen and (min-width: 1100px) {
	/* cracker */ 
	.cp-main .cp-cracker__left{
		position: absolute;
		left: -190px;
		bottom: -20px;
		margin-top: 0;
		width: 173px;

	}

	.cp-main .cp-cracker__left img{
		width: 100%;
		transform: translateX(0)
	}
}


/*-------------------------------------------
 archive
-------------------------------------------*/

.cp-main .cp-archive__title{
	text-align: center;
    display: flex;
    align-items: center;
    margin-bottom: 1em;
	color: var(--col-l-pink);
	font-size: 20px;
}

.cp-main .cp-archive__title::before, 
.cp-main .cp-archive__title::after {
	content: "";
	height: 2px;
	background: var(--col-l-pink);
	flex-grow: 1;
  }
  .cp-archive__title::before {
	margin-right: 0.333em;
  }
  .cp-archive__title::after {
	margin-left: 0.333em;
  }


.cp-main .cp-archive__list{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}


.cp-main .cp-archive__list-item{
	width: 100%;
	margin-bottom: 1em;
}


.cp-main .btn-archive{
	font-size: 20px;
	font-weight: bold;
	background: var(--col-l-pink);
	height: 60px;
	padding: 12px;
	border-radius: 100px;
	margin: auto;
	position: relative;
	line-height: 1.2;
	box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.25);
}

@media only screen and (min-width: 769px) {


	.cp-main .cp-archive__title{
		font-size: 30px;
		margin-bottom: 32px;
	}

	.cp-main .cp-archive__list-item{
		width: calc((100% - 36px) / 2) ;
		margin-right: 36px;
	}

	.cp-main .cp-archive__list-item:nth-of-type(2n),
	.cp-main .cp-archive__list-item:last-child
	{
		margin-right: 0;
	}
}


@media only screen and (min-width: 1100px) {
	.cp-main .archive-area{
		margin-top: 6%;
	}

	.cp-main .cp-archive__title{
		font-size: 30px;
		margin-bottom: 42px;
	}

	.cp-main .cp-archive__list-item{
		width: calc((100% - 56px) / 2) ;
		margin-right: 56px;
	}

	.cp-main .cp-archive__list-item:nth-of-type(2n){
		margin-right: 0;
	}
}

.bw-footer {

    padding-top: 0px;
}

/*-------------------------------------------
 app-margin
-------------------------------------------*/

.app-margin {
	margin-top: -56px;
	}
  @media (min-width: 769px) {
	.app-margin {
	margin-top: -81px;
	}
  }