@charset "utf-8";

/* ============== 共通 =================== */
#contents {
	background-color: #ffffff;
	padding: 0;
	color: #333333;
	text-align: center;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

h2 {
	margin-bottom: 40px;
}

h2,
h3 {
	color: #111111;
}

h3 {
	font-size: 24px;
}

.fc-red {
	color: #f50028 !important;
}

.fc-orange {
	color: #FF9123;
}

.fw-bold {
	font-weight: bold;
}

.note-txt {
	font-size: 16px;
	color: #666666;
}

#contents * {
	box-sizing: border-box;
}

#contents a {
	color: #0099cc;
	text-decoration: underline;
}

#contents a:hover {
	opacity: 0.7;
}

.display-tb {
	display: none;
}

.display-sp {
	display: none;
}

.u-mt10 {
	margin-top: 10px !important;
}

.u-mt20 {
	margin-top: 20px !important;
}

.sec_ttl {
	margin-bottom: 50px;
}


/* ============== ボタン =================== */
.entry {
	margin: 60px auto;
}

.entry .btn {
	width: 78%;
	margin: auto;
}

#contents .btn {
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	text-decoration: none;
}

.btn {
	position: relative;
	margin: 18px auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	width: 100%;
	max-width: 400px;
	height: 50px;
	background-color: #ff9123;
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/btnarrow_right.png);
	background-size: 20px;
	background-position: center right 30px;
	background-repeat: no-repeat;
}

#contents .btn_secondary {
	color: #ff9123;
}

.btn_att {
	margin-top: 18px;
	color: #666;
	font-size: 16px;
	text-align: left;
	max-width: 610px;
	width: 100%;
	margin: 18px auto 0;
}

.btn_att_txt-bk {
	color: #333;
}

.btn_mcopy {
	font-size: 14px;
	margin-bottom: 5px;
	font-weight: bold;
	color: #333;
}

.btn_mcopy::before {
	font-size: 14px;
	content: "";
	display: inline-block;
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic01_left.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 70%;
	width: 20px;
	height: 25px;
	margin-right: 15px;
	vertical-align: bottom;
}

.btn_mcopy::after {
	font-size: 14px;
	content: "";
	display: inline-block;
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic01_right.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 70%;
	width: 20px;
	height: 25px;
	margin-left: 15px;
	vertical-align: bottom;
}

/* 追従ボタン */
#js-fixedcta {
	display: none;
}

.js-fixedcta {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 999;
	background: rgb(255, 255, 255, 0.95);
	padding: 10px 0 15px;
}

.js-fixedcta .btn {
	margin: 0 auto;
}

/*終了対応*/
#contents .btn_close {
	pointer-events: none;
	position: relative;
}

#contents .btn_close::before {
	content: none;
}

#contents .btn_close::after {
	content: "※本キャンペーンは終了しました";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 105%;
	height: 120%;
	background-color: rgba(0, 0, 0, 0.7);
	margin: 0 auto;
	z-index: 10;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
}


/* ============== トップ =================== */
.top_ttl {
	background: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/bg.png);
	background-color: #FFFFD6;
}

.top_date {
	background-color: #3895F2;
}


/* ============== キャンペーン概要 =================== */
.overview {
	background-color: #fff;
	padding: 60px 0;
	position: relative;
	max-width: 970px;
	width: 100%;
	margin: 0 auto;
}

.overview .content_list {
	background-color: #FFFFD6;
	border-radius: 10px;
	border: 3px solid #042376;
	max-width: 820px;
	width: calc(100% - 60px);
	margin: 0 auto;
	padding: 40px 60px 20px;

}

.overview .content_list li::before {
	content: "";
	display: inline-block;
	vertical-align: top;
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_star.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	margin-right: 10px;

}

.overview .content_list li {
	text-align: left;
	text-indent: -1.9em;
	padding-left: 1.9em;
	margin-bottom: 20px;
}

.overview .content_list li span {
	font-weight: bold;
}

.overview h3 {
	margin-top: 60px;
	color: #042376;
}

.overview .content_img {
	position: absolute;
	top: 200px;
	right: 100px;
}

.overview .content_txt {
	margin-top: 30px;
}

.overview .content_table {
	max-width: 970px;
	width: calc(100% - 60px);
	margin: 40px auto 0;

}

.overview .content_table tr {
	width: 32.5%;
	border: 3px solid #042376;
	border-radius: 10px;
	box-shadow: 0px 5px 0px rgb(134, 137, 29, 0.3);
}

.overview .content_table tbody {
	display: flex;
	justify-content: space-between;
}

.overview .content_table th {
	color: #fff;
	letter-spacing: 0.05em;
	padding: 0;
	border-radius: 6px;
	color: #fff;
	letter-spacing: 0.03em;
	position: relative;
	display: block;
}

#overview_link a {
	text-decoration: none;
	color: #fff;
	display: block;
	height: auto;
	padding: 5px 0 15px;
	border-radius: 10px;
	width: 100%;
}

#overview_link a:hover {
	opacity: initial;
}

.overview .content_table tr:hover {
	filter: brightness(0.85);
	transition: .3s;
}

.overview .content_table th img {
	max-width: 100px;
	margin: 0 auto 5px;
}

/* キャンペーン概要の内部リンクアイコン▼ */
.overview .content_table th .table_item_ic {
	position: absolute;
	top: 65px;
	left: 50%;
	transform: translateX(-50%);

}

/* キャンペーン概要のボタン、特典内容の各見出し
------------------ */
.content_table .tap01 th {
	background-color: #05B5FC;
}

.content_table .tap02 th {
	background-color: #3895F2;
}

.content_table .tap03 th {
	background-color: #036DD7;
}


/* ============== 特典内容・対象条件 =================== */
.bonusdetails {
	background: #FFFFD6;
	padding: 60px 0;
}

.bonusdetails .content_box {
	background: #fff;
	max-width: 970px;
	width: calc(100% - 60px);
	margin: 0 auto;
	border: 3px solid #042376;
	border-radius: 10px;
	padding: 0 15px 30px;
}

.bonusdetails .content_box .content_img-badge {
	margin-top: -5px;
}

.bonusdetails .content_box h3 {
	margin-top: 30px;
}

.bonusdetails .content_box .content_img {
	margin-top: 0;
}

.bonusdetails .content_img {
	margin-top: 30px;
}

.bonusdetails .content_table tbody {
	display: flex;
	flex-direction: column;
}

.bonusdetails .content_table {
	margin-top: 5px;
	max-width: 970px;
	width: 100%;
	margin: 0 auto;
	width: calc(100% - 60px);
}

.bonusdetails .content_table tbody {
	display: flex;
	justify-content: space-between;
}

.bonusdetails .content_table tr {
	border: 3px solid #042376;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: 40px;
}

.bonusdetails .content_table th {
	border-radius: 6px 6px 0 0;
	letter-spacing: 0.05em;
	border-bottom: 3px solid #042376;
	color: #fff;
	font-size: 24px;
	padding: 20px 0;
	margin-bottom: 0;
	position: relative;
}

.bonusdetails .content_table .content_img-badge {
	position: absolute;
	top: -5px;
	left: 60px;
}

.bonusdetails .content_img-mock {
	margin: 30px auto;
}

.bonusdetails .content_table td {
	padding: 40px;
	background: #fff;
	border-radius: 0 0 10px 10px;
}

.bonusdetails .content_img-icon {
	margin: 20px auto;
}

.bonusdetails .content_subttl {
	font-size: 20px;
	color: #111111;
}

.bonusdetails .content_subttl::before {
	content: "";
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_01_left.png);
	background-repeat: no-repeat;
	display: inline-block;
	width: 25px;
	height: 38px;
	margin-right: 15px;
	vertical-align: middle;
}

.bonusdetails .content_subttl::after {
	content: "";
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_01_right.png);
	background-repeat: no-repeat;
	display: inline-block;
	width: 25px;
	height: 38px;
	margin-left: 15px;
	vertical-align: middle;
}

.bonusdetails .content_wrap {
	background: #FFFFD6;
	max-width: 710px;
	width: 100%;
	margin: 0 auto;
	padding: 40px;
}

.bonusdetails .content_list {
	margin-top: 10px;
}

.bonusdetails .content_wrap .content_ttl::before,
.bonusdetails .content_wrap .content_ttl::after {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	width: 50px;
	height: 50px;
	vertical-align: middle;
}

.bonusdetails .content_wrap .content_ttl::before {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_02_left.png);
	margin-right: 10px;
}

.bonusdetails .content_wrap .content_ttl::after {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_02_right.png);
	margin-left: 10px;
}

.bonusdetails .content_wrap .fs-l {
	font-size: 24px;
	font-weight: bold;
}

.bonusdetails .content_wrap .content_ttl {
	font-size: 20px;
}

.bonusdetails .content_list .content_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	font-weight: bold;
	padding: 10px 20px;
	border-bottom: 1px solid #ccc;
	max-width: 420px;
	width: 100%;
}

.bonusdetails .content_list .content_item-last {
	font-weight: normal;
}

.bonusdetails .content_wrap-point .content_list .content_item:last-child {
	border: none;
}

/* ２位以下 */
.cntent_img-place {
	vertical-align: middle;
}

.content_txt-point {
	font-size: 16px;
	color: #333;
}

.content_txt-point span {
	font-size: 22px;
}

.content_txt-people {
	color: #FF9123;
	font-size: 16px;
}

.content_txt-people span {
	font-size: 22px;
}

/* 1位 */
.content_item-1st .content_img-place {
	margin-top: -20px;
}

.content_item-1st .content_txt-point {
	font-size: 18px;
	margin-left: 17px;
}

.content_item-1st .content_txt-point span {
	font-size: 24px;
}
/* ２位のポイント */
.content_item-2nd .content_txt-point {
	margin-left: -8px;
}

/* 特典２のスコア表 */
.bonusdetails .content_wrap-score .content_list .content_item {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.bonusdetails .content_wrap.content_wrap-score {
	margin-bottom: 10px;
}
.bonusdetails .content_wrap.content_wrap-score .content_img:last-child {
	margin-top: 0;
}

.bonusdetails .content_wrap-score .content_list .content_item {
	max-width: 477px;
}

.bonusdetails .content_wrap-score .content_txt-point {
	margin-left: 10px;
	font-size: 22px;
	font-weight: bold;
}

.bonusdetails .content_wrap-score .content_item-1st .content_txt-point {
	margin-top: -20px;
}

.bonusdetails .content_wrap-score .content_txt-point .fs-l {
	font-size: 24px;
	margin: 0 0 0 3px;
	vertical-align: inherit;
}

.bonusdetails .content_wrap-score .content_item-4th {
	border: none;
	margin-bottom: -10px;
}

.bonusdetails .tap02 .content_txt {
	max-width: 710px;
	width: 100%;
	margin: 0 auto;
	text-align: left;
}

.bonusdetails .note-txt {
	text-align: left;
	max-width: 710px;
	width: 100%;
	margin: 3px auto 0;
}

#contents .bonusdetails .btn-b {
	background: #fff;
	color: #3895F2;
	border: 3px solid #3895F2;
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/btnarrow_right_b.png);
	background-size: 20px;
	background-position: center right 15px;
	background-repeat: no-repeat;
}

.tap03 .content_wrap {
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 710px;
	width: 100%;
	margin: 0 auto 30px;
	padding: 0;
}

.content_subttl03 img {
	vertical-align: middle;
	margin-right: 10px;
}

.tap03 .content_wrap .content_img-icon {
	margin-top: 40px;
	margin-left: -5px;
}

.tap03 .content_wrap .content_img {
	width: 45%;
}

.tap03 .content_wrap .content_txt span {
	color: #036DD7;
	font-weight: bold;
}


/* ============== おすすめのスコア獲得方法 =================== */
.recommendation {
	background: #EBF5FF;
	padding: 60px 0;
	margin: 0 auto;
}

.recommendation .content_container {
	max-width: 970px;
	width: calc(100% - 60px);
	position: relative;
	margin: 0 auto;

}

.recommendation .content_img-ponta {
	position: absolute;
	right: 30px;
	top: 88px;
	z-index: 100;
}

.recommendation .content_wrapper {
	margin: 45px auto 0;
	background: #fff;
	border-radius: 10px;
	border: 3px solid #042376;
	padding: 40px 60px 40px;
}

.recommendation .content_wrapper .content_list {
	margin-top: 40px;
}

.recommendation .content_wrapper li {
	background: #FFFFD6;
	max-width: 710px;
	width: 100%;
	margin: 30px auto 0;
	border-radius: 10px;
	padding: 0 0 40px;
}

.recommendation .content_wrapper-service li:nth-child(even) {
	background: #fff;
	padding-bottom: 0;
	margin: 10px auto 40px;
	max-width: 45px;
}

.content_img-service {
	margin: 15px auto;
}

.recommendation .content_wrapper li .content_img-badge img {
	margin-top: -3px;
}

.recommendation .content_list .content_txt {
	max-width: 542px;
	width: 100%;
	margin: 0 auto;
	text-align: left;
}

.recommendation .u-border {
	border-bottom: 1px solid #ccc;
	max-width: 540px;
	width: 100%;
	margin: 30px auto;
}

.recommendation .note-txt-recomendation {
	text-align: left;
	max-width: 710px;
	width: calc(100% - 60px);
	margin: 10px auto 30px;
}

.recommendation .content_img-icon {
	margin: 20px auto -20px;
}

.recommendation .content_wrapper-basic .content_wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 30px;
}

.recommendation .content_wrapper-basic h3 {
	color: #042376;
	font-size: 20px;
}

.recommendation .content_wrapper-basic .content_txt {
	margin-top: 30px;
}

.recommendation .content_wrap_left,
.recommendation .content_wrap_right {
	width: 48%;
}

.recommendation .content_wrap_left img {
	width: 100%;
}

.recommendation .content_wrap_left .note-txt {
	text-align: left;
	padding-left: 15px;
	margin-top: 10px;
}

.recommendation .content_wrap_right .content_img {
	border: 1px solid #dddddd;
	padding: 10px 20px;
	margin-top: 5px;
	border-radius: 10px;
}

.recommendation .content_wrapper-app {
	padding: 40px 60px;
}

.recommendation .content_wrapper-app .content_list {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 30px auto 0;
}

.recommendation .content_wrapper-app h3 {
	color: #042376;
	font-size: 20px;
}

.recommendation .content_wrapper-app .content_txtbox {
	background: #fff;
	text-align: left;
	width: 70%;
}

.recommendation .content_wrapper-app li {
	background: #fff;
	padding: 0;
	margin-top: 0;
}

.recommendation .content_wrapper-app .content_txtbox .content_txt {
	margin-top: 15px;
	max-width: initial;
}

.recommendation .content_wrapper-app .content_img {
	width: 30%;
	text-align: right;
}


/* ============== よくあるご質問 =================== */
.cpfaq {
	padding: 60px 0 0;
}

.cpfaq h3 {
	color: #042376;
}

.cpfaq h3:nth-child(4) {
	margin-top: 50px;
}

/* accordion */
.camp-att {
	max-width: 710px;
	margin: 30px auto 0;
}

.spare-att.ly-board+.camp-att {
	margin: 50px auto 40px;
}

input[type="checkbox"].acd-check {
	display: none;
}

.acd-label {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	position: relative;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	color: #ffffff;
	background-color: #3895F2;
	border-radius: 10px;
	text-align: left;
	padding: 15px 30px;

}

.acd-label img {
	margin-right: 20px;
}

.acd-label::after {
	content: "";
	background: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_faq_open.png) top center/contain no-repeat;
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 30px;
	width: 28px;
	height: 28px;
	z-index: 2;
}

.acd-check:checked+.acd-label {
	border-radius: 10px 10px 0 0;
}

.acd-check:checked+.acd-label::after {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_faq_close.png);
}

.acd-content {
	border-radius: 0 0 10px 10px;
	border-top: 0;
	height: 0;
	opacity: 0;
	visibility: hidden;
	margin: 0 auto;
	margin-bottom: 40px;
	background-color: #EBF5FF;
	overflow: hidden;
	text-align: left;
}


.acd-check:checked~.acd-content {
	height: auto;
	padding: 30px 42px;
	opacity: 1;
	visibility: visible;
	border: 3px solid #3895F2;
	border-top: 0;
	letter-spacing: 0.05em;
}

.content_txt_imgbox {
	text-align: center;
	margin: 30px auto;
}
.content_txt_imgbox .content_img {
	max-width: 300px;
	width: 100%;
	margin: 0 auto;
}

.content_txt_imgbox h4 {
	margin-bottom: 10px;
	font-weight: normal;
}

.acd-content_lead {
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.acd-content_box {
	margin-bottom: 40px;
}

.acd-content .sec {
	margin: 30px auto 50px;
}

.acd-content .sec.camp-ankt {
	margin: 30px auto 20px;
}

.acd_provisional_img {
	max-width: 292px;
	margin: 0 auto;
	padding: 40px 0 20px;
	position: relative;
	text-align: center;
	border-radius: 8px;
	z-index: 2;
}

.acd-content .app-logo {
	width: 190px;
}

.acd-content_list>li+li {
	margin-top: 45px;
}

.acd-content .camp-ankt_unit {
	margin: 0;
	padding: 0 30px;
	width: 100%;
}

.acd_xp {
	margin-bottom: 40px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	color: #ff9123;
}

.acd_choice {
	margin-bottom: 35px;
}

.acd_choice .note-txt {
	padding: 0;
}

.acd_choice_list {
	padding-left: 24px;
	text-indent: -24px;
}

.acd_choice_list li+li {
	margin-top: 35px;
}

.acd_choice_list dl {
	margin: 40px 0 40px 24px;
}

.acd_choice_list dt {
	margin-bottom: 6px;
}

.acd_choice_list dd:not(:last-child) {
	margin-bottom: 15px;
}

.acd_choice_list dd {
	margin-left: 0;
	text-indent: -10px;
}

.acd_list-01_img,
.acd_list-03_img {
	max-width: 670px;
	margin: 0 auto;
}

.acd_list-02_img {
	margin: 0 auto 20px;
	max-width: 400px;
	width: 71%;
}

.acd_list-03_img {
	margin-bottom: 40px;
}

.acd_att {
	text-align: center;
}

.acd_main {
	margin: 0 auto;
}

.acd-content .content_list {
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
}

.acd-content .content_item {
	border-bottom: 1px solid #ccc;
	padding-top: 15px;
}

.acd-content .content_item:nth-child(1) {
	padding-top: 0;
}

.acd-content .content_item:nth-child(3) {
	border: none;
}

.acd-content .content_item .contetnt_txt {
	font-size: 16px;
	text-align: left;
	font-weight: normal;
	padding: 0;
	margin-bottom: 25px;
	margin-top: 5px;
	line-height: 1.5;
}


/* ============== キャンペーン詳細 =================== */
.att {
	padding: 6px 0;
	font-size: 16px;
}

.att_content_wrap {
	overflow: hidden;
	padding: 35px 0;
	margin: 0 auto;
	text-align: left;
	line-height: 1.7;
	max-width: 970px;
	width: calc(100% - 60px);
	border-radius: 8px;
	border: 3px solid #333333;
	margin-bottom: 60px;
}

.att_ttl {
	font-size: 26px;
	text-align: center;

}

.att_list {
	width: calc(100% - 60px);
	max-width: 830px;
	margin: 40px auto 60px;
}

.att_item+.att_item {
	margin-top: 30px;
}

.att_item_ttl {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 15px;
	padding-left: 1.5em;
	position: relative;
}

.att_item_ttl span {
	display: inline-block;
	margin-left: 40px;
}

/*「●」タイプのリスト用*/
.att_item_ttl::before {
	content: "";
	display: block;
	background-color: #3895F2;
	border-radius: 50%;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 2px;
	left: 0;
}

.att_item_inner p {
	margin-top: 5px;
}

.att_item_inner .note-txt {
	margin-top: 0;
}

.att_item_inner p+p {
	margin-top: 0;
}

.att_item_img {
	text-align: center;
	margin: 20px auto;
}

.att_list-style {
	text-indent: -1em;
	margin-bottom: 10px;
	padding-left: 1em;
}

.att_num-style {
	text-indent: -1.4em;
	margin-top: 10px;
	padding-left: 1.5em;
	counter-reset: number 0;
}

.att_num-style>li::before {
	counter-increment: number 1;
	content: "(" counter(number) ")";
}

.att_small-unit {
	margin: 10px auto;
}

.att_list-style .att_small-unit {
	text-indent: 0;
}

.att_list-style li>.att_list-style,
.att_list-style li>.att_num-style,
.att_num-style li>.att_list-style,
.att_num-style li>.att_num-style,
.att_small-unit .att_list-style,
.att_small-unit .att_num-style {
	margin-top: 0;
	margin-bottom: 10px;
}

.att_list-style li>.att_num-style,
.att_num-style li>.att_num-style {
	transform: translateX(-0.2em);
}

.att_small-unit .att_list-style,
.att_small-unit .att_num-style {
	margin-left: 0.5em;
}

.att_item_fwb {
	font-weight: bold;
}


/* コンテンツ（SP：767px以下）
========================================================*/
@media screen and (max-width: 767px) {

	/* ============== 共通 =================== */
	.display-pc {
		display: none;
	}

	.display-tb {
		display: none;
	}

	.display-sp {
		display: block;
	}

	#contents {
		font-size: 16px;
	}

	h3 {
		font-size: 20px;
	}

	.note-txt {
		font-size: 14px;
	}

	.sec_ttl img {
		max-width: 280px;
		width: 100%;
	}

	.sec_ttl {
		margin-bottom: 35px;
	}

	.fc-red {
		color: #f50028;
		line-height: 1.6;
		text-align: left;
	}

	/* パンくずリスト */
	.breadcrumb {
		width: 100%;
		overflow: scroll;
		padding-left: 15px;
		display: inherit;
		white-space: nowrap;
		min-height: initial;
	}

	.breadcrumb::-webkit-scrollbar {
		display: none;
	}

	.breadcrumb li {
		display: inline;
	}


	/* ============== ボタン =================== */
	.entry {
		margin: 45px auto;
		padding: 0 15px;
	}

	.entry .btn {
		width: 100%;
		margin: auto;
	}

	.entry .btn_att {
		margin: 10px auto 0;
	}

	.btn {
		margin: 10px auto;
		border-radius: 4px;
		background-position: center right 10px;
		height: 55px;
	}

	#contents .btn {
		font-size: 16px;
		letter-spacing: 0.03em;
	}

	#contents .bonusdetails .btn-b {
		border-radius: 8px;
		border: 2px solid #3895F2;
		background-position: center right 10px;
		font-size: 16px;
		padding-right: 20px;
		letter-spacing: 0.03em;
	}

	.btn_att {
		text-align: left;
		padding: 0;
		margin: 18px auto 0;
		font-size: 14px;
	}

	/* 追従ボタン */
	.js-fixedcta .btn {
		width: 92%;
	}

	/*終了対応*/
	#contents .btn_close::after {
		font-size: 1.8rem;
	}


	/* ============== トップ =================== */
	.top_date img {
		width: 100%;
		margin: 0 auto;
		max-width: 310px;
	}
	.top_date {
		padding: 0 15px;
	}

	/* ============== キャンペーン概要 =================== */
	.overview {
		padding: 45px 15px;
	}

	.overview h3 {
		margin-top: 40px;
	}

	.overview .content_txt {
		margin-top: 20px;
	}

	.overview .content_list {
		padding: 35px 15px 40px;
		width: 100%;
		border: 2px solid #042376;
	}

	.overview .content_img {
		top: 435px;
		right: 18px;
	}

	.overview .content_img img {
		max-width: 100px;
	}

	.overview .content_table tbody {
		flex-direction: column;
	}

	.overview .content_table td {
		padding: 12px 10px;
		border-radius: 0 0 15px 15px;
	}

	.overview .content_table tr {
		width: 100%;
		margin-top: 20px;
		border: 2px solid #042376;
		border-radius: 15px;
		margin-bottom: 20px;
	}

	.overview .content_table {
		margin-top: 10px;
		width: 100%;
	}

	.overview .content_table td span {
		font-size: 18px;
	}

	.overview .content_table th {
		padding: 0;
		border-radius: 12px;
	}

	#overview_link a {
		padding: 5px 0 15px;
		font-size: 18px;
	}

	/* キャンペーン概要の内部リンクアイコン▼ */
	.overview .content_table th .table_item_ic {
		position: absolute;
		top: 65px;
		left: 50%;
		transform: translateX(-50%);
	}

	.overview .content_table th img.table_item_ic {
		width: 30px;
	}

	.overview .content_table th span,
	.bonusdetails .content_table th span {
		padding: 2px 8px 0;
	}


	/* ============== 特典内容・対象条件 =================== */
	.bonusdetails {
		padding: 45px 15px;
	}

	.bonusdetails .content_box {
		border: 2px solid #042376;
		width: 100%;
	}

	.bonusdetails .content_box h3 {
		margin-top: 30px;
		font-size: 16px;
	}

	.bonusdetails .content_box img {
		margin-top: 5px;
	}

	.bonusdetails .content_box .content_img-badge img {
		max-width: 250px;
		width: 100%;
		margin-top: -1px;
		padding: 0 10px;
	}

	.bonusdetails .content_table .content_img-badge {
		top: -6px;
		left: 10px;
	}

	.bonusdetails .content_table .content_img-badge img {
		width: 50px;
	}

	.bonusdetails .content_table {
		width: 100%;
	}

	.bonusdetails .content_table th {
		border-bottom: 2px solid #042376;
		border-radius: 12px 12px 0 0;
		font-size: 16px;
		text-align: center;
		padding: 15px 15px 15px 50px;
		letter-spacing: 0.03em;
	}

	.bonusdetails .content_table th span {
		display: block;
		margin: 0 auto;
		width: 70px;
		padding: 0;
		font-size: 16px;
		margin-bottom: 2px;
	}

	.bonusdetails .content_table tr {
		border-radius: 15px;
		margin-top: 30px;
		border: 2px solid #042376;
	}

	.bonusdetails .content_table td {
		padding: 30px 15px 25px;
		border-radius: 0 0 12px 12px;
	}

	.bonusdetails .content_subttl {
		font-size: 16px;
		position: relative;
		padding: 0 5px;
		margin: 10px auto;
	}

	.bonusdetails .content_table .content_subttl+.content_img {
		display: flex;
		justify-content: center;
	}

	.bonusdetails .content_table .tap01 .ontent_subttl+.content_img img {
		width: 95%;
	}

	.bonusdetails .content_subttl::after,
	.bonusdetails .content_subttl::before {
		vertical-align: bottom;
		content: "";
		background-repeat: no-repeat;
		background-size: contain;
		display: inline-block;
		height: 45px;
		position: absolute;
		top: 0;
		margin-right: 0;
		margin-left: 0;

        transform: translateX(-50%);
	}

	.bonusdetails .content_subttl::before {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_01_left_sp.png);
		background-position: left;
	}

	.bonusdetails .content_subttl::after {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_01_right_sp.png);
		background-position: right;
	}

	.bonusdetails .content_subttl01::before {
		width: 130px;
	} 

	 .bonusdetails .content_subttl01::after {
		width: 80px;
	}

	.bonusdetails .content_subttl02::before {
		width: 120px;
	}

	.bonusdetails .content_subttl02::after {
		width: 150px;
	}

	.bonusdetails .content_subttl03::before,
	.bonusdetails .content_subttl03::after {
		width: 65px;
        background-size: 30%;
        top: -12px;
	}


	.content_subttl03 {
		letter-spacing: 0.03em;
	}
	.content_subttl03 img {
		max-width: 17px;
		margin-right: 2px;
	}
	.bonusdetails .content_img {
		margin: 8px auto 0;
		width: 100%;
		max-width: 310px;
	}

	.bonusdetails .content_img-mock {
		max-width: 310px;
		width: 100%;
		margin: 10px auto;
		text-align: center;
	}

	.bonusdetails .content_item-last.note-txt {
		padding-left: 10px;
		text-indent: 0;
	}

	.bonusdetails .tap03 .content_wrap {
		padding: 0;
	}

	.bonusdetails .content_img-icon {
		max-width: 36px;
	}

	.bonusdetails .tap03 .content_img-icon {
		width: 36px;
		margin: 10px auto -10px;
	}

	.bonusdetails .tap03 .content_wrap {
		margin-bottom: 20px;
	}

	.bonusdetails .content_wrap {
		padding: 20px;
	}

	.bonusdetails .content_wrap .fs-l {
		font-size: 18px;
		font-weight: bold;
	}

	.bonusdetails .content_wrap .content_ttl {
		font-size: 16px;
		position: relative;
	}

	.bonusdetails .content_wrap .content_ttl::before,
	.bonusdetails .content_wrap .content_ttl::after {
		content: "";
		background-repeat: no-repeat;
		background-size: contain;
		display: inline-block;
		vertical-align: middle;
		position: absolute;
		top: 0;
		transform: translateX(-50%);
	}

	.bonusdetails .content_wrap.content_wrap-point .content_ttl::before {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_02_left_sp.png);
		width: 107px;
        height: 50px;
		background-position: left;
	}
	.bonusdetails .content_wrap .content_ttl::before {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_02_left_sp.png);
		width: 180px;
        height: 50px;
		background-position: left;
	}

	.bonusdetails .content_wrap .content_ttl::after {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/ranktap_2510/img/ic_bonusdetails_02_right_sp.png);
		width: 50px;
        height: 50px;
		background-position: right;
	}

	.bonusdetails .content_list .content_item {
		padding: 10px 0;
	}

	.bonusdetails .content_wrap-point .content_img-place img {
		max-width: 42px;
		width: 100%;
	}

	/* ２位以下 */
	.content_txt-point {
		font-size: 12px;
		margin-left: -10px;

	}
	.content_txt-point span {
		font-size: 16px;
	}

	.content_txt-people {
		color: #FF9123;
		font-size: 12px;
	}

	.content_txt-people span {
		font-size: 16px;
	}

	.content_item-2nd .content_txt-point {
		margin-left: -15px;
	}

	/* 1位 */
	.content_item-1st .content_img-place {
		margin-top: -15px;
	}

	.content_item-1st .content_txt-point {
		font-size: 12px;
		margin-left: 0;
	}

	.content_item-1st .content_txt-point span {
		font-size: 18px;
	}

	.content_item-1st .content_txt-people span {
		font-size: 18px;
	}

	.bonusdetails .content_wrap-score {
		padding: 20px 10px;
	}

	.bonusdetails .content_wrap-score .content_list {
		margin-top: 25px;
		width: 100%;
		text-align: center;
	}

	.bonusdetails .content_wrap-score .content_list .content_item {
		padding: 10px 0;
		max-width: 310px;
		width: 100%;
	}

	.bonusdetails .content_wrap-score .content_item-1st .cntent_img-place {
		margin-top: 0;
	}

	.bonusdetails .content_wrap-score .content_img-place img {
		max-width: 81px;
	}

	.bonusdetails .content_wrap-score .content_txt-point {
		font-size: 16px;
		margin-left: 5px;
		letter-spacing: 0.03em;
	}

	.bonusdetails .content_wrap-score .content_txt-point .fs-l {
		font-size: 18px;
		margin: 0 0 0 2px;
	}

	.bonusdetails .content_wrap-score .content_txt-point small {
		font-size: 14px;
		display: inline;
		margin-left: -6px;
		letter-spacing: 0.03em;
	}

	.bonusdetails .content_wrap-score .content_item-4th {
		border: none;
		margin-bottom: -5px;
	}

	.tap03 .content_wrap {
		flex-direction: column;
	}

	.tap03 .content_wrap .content_img {
		width: 100%;
	}


	/* ============== おすすめのスコア獲得方法 =================== */
	.recommendation {
		padding: 45px 15px;
	}

	.recommendation .content_img-ponta {
		max-width: 100px;
		top: 82px;
		right: -8px;
	}

	.recommendation .content_container {
		width: 100%;
	}
	.recommendation .content_wrapper-service h3 img {
		max-width: 310px;
		width: 100%;
		margin: 0 auto;
	}

	.recommendation .content_wrapper {
		width: 100%;
		padding: 10px 15px 30px;
		border: 2px solid #042376;
	}

	.recommendation .content_wrapper .content_list {
		margin-top: 30px;
	}

	.recommendation .content_wrapper li {
		margin: 20px auto 0;
		padding: 20px 20px 30px;
	}

	.recommendation .content_img-badge {
		margin-top: -15px;
	}
	.recommendation .content_wrapper li .content_img-badge img {
		max-width: 280px;
		margin: -3px auto 0;
		width: 100%;
	}

	.content_img-service {
		margin: 15px auto 10px;
		width: 100%;
		text-align: center;
	}

	.content_img-service img {
		max-width: 210px;
		width: 100%;
		margin: 0 auto;
	}

	.recommendation .u-border {
		margin: 15px auto;
	}

	.recommendation .note-txt-recomendation {
		width: 100%;
	}

	.recommendation .content_wrapper-service {
		margin-bottom: 20px;
	}

	.recommendation .content_wrapper-service li:nth-child(even) {
		margin: 10px auto -10px;
		padding: 0;
	}

	.recommendation .content_wrapper-basic {
		margin-top: 20px;
		padding: 30px 15px;
	}

	.recommendation .content_wrapper-basic .content_wrap {
		margin-top: 15px;
	}

	.recommendation .content_wrapper-basic h3 {
		font-size: 16px;
	}

	.recommendation .content_wrapper-basic .content_txt {
		text-align: left;
	}

	.recommendation .content_wrapper-basic .content_wrap_right {
		margin-top: 30px;
	}

	.recommendation .content_wrap {
		flex-direction: column;
	}

	.recommendation .content_wrap_left,
	.recommendation .content_wrap_right {
		width: 100%;
	}
	.recommendation .content_wrap_left .content_img {
		width: 100%;
		max-width: 310px;
		margin: 0 auto;
	}

	.recommendation .content_wrap_right .content_img {
		width: 100%;
		max-width: 420px;
		margin: 0 auto;
	}

	.recommendation .content_wrapper-app .content_txtbox {
		width: 100%;
	}

	.recommendation .content_wrapper-app li {
		padding: 0;
	}

	.recommendation .content_wrapper-app .content_list {
		margin-top: 0;
	}

	.recommendation .content_wrapper-app {
		padding: 30px 15px;
		margin-top: 30px;
	}

	.recommendation .content_img-icon {
		max-width: 32px;
		margin: 0 auto;
	}

	.recommendation .content_item02 .recommendation .content_wrap+.recommendation .content_txt {
		margin-top: 20px;
	}

	.recommendation .content_img-app {
		max-width: 210px;
		width: 100%;
		margin: 0 auto;
	}

	.recommendation .content_item03 .recommendation .content_txtbox .note-txt {
		margin-top: 5px;
	}

	.store_btn {
		max-width: 210px;
		margin: 20px auto;
	}


	/* ============== よくあるご質問 =================== */
	.cpfaq {
		padding: 45px 15px 0;
	}

	.camp-att {
		margin-top: 0;
	}

	.acd-label {
		height: auto;
		font-size: 16px;
		margin-right: .3em;
		padding: 12px 38px 12px 12px;
	}

	.acd-label img {
		width: 24px;
		margin-right: 10px;
	}

	.acd-label::after {
		width: 24px;
		height: 24px;
		right: 12px;
	}

	.acd-check:checked~.acd-content {
		border: 2px solid #3895F2;
		padding: 20px;
	}

	.cpfaq h3 {
		font-size: 18px;
		margin-bottom: 20px;
		margin-top: 40px;
	}

	.acd-content {
		margin-bottom: 30px;
	}

	.content_txt_imgbox {
		margin: 20px auto;
	}


	/* ============== キャンペーン詳細 =================== */
	.att {
		padding: 0 15px 15px;
	}

	.att_content_wrap {
		margin: 0 auto 45px;
		border: 2px solid #042376;
		padding: 25px 0;
		width: 100%;
	}

	.att_ttl {
		font-size: 20px;
	}

	.att_list {
		width: calc(100% - 35px);
		margin: 25px auto 28px;
	}

	.att_item_ttl {
		margin-bottom: 10px;
		padding-left: 1.2em;
	}
}



/* PC小～タブレット調整
========================================================*/
@media screen and (min-width: 768px) and (max-width: 970px) {

	/* 共通 -------------*/
	.display-tb {
		display: block;
	}
	/* キャンペーン概要 -------------*/
	.overview .content_table th {
		line-height: 1.4;
	}
	.overview .content_table th .table_item_ic {
		top: 90px;
	}
	.overview_content_txtbox {
		margin-top: 0;
	}

	/* 特典内容・対象条件 -------------*/
	.bonusdetails .content_table .content_img-badge {
		left: 30px;
	}
}

@media screen and (min-width: 768px) and (max-width: 860px) {
	/* キャンペーン概要の指 */
	.overview .content_img {
		display: none;
	}

	/* 特典内容・対象条件 -------------*/
	.bonusdetails .content_wrap {
		padding: 40px 10px;
	}
}

@media screen and (min-width: 500px) and (max-width: 768px) {
	/* キャンペーン概要の指 */
	.overview .content_img {
		display: none;
	}
}

@media screen and (max-width: 500px) {
	/* キャンペーン概要の指 */
	.overview .content_img {
		display: none;
	}
}

@media screen and (max-width: 440px) {
	/* キャンペーン概要の指 */
	.overview .content_img {
		display: block;
		top: 437px;
	}
}



/* ミニ 370 330
========================================================*/
@media screen and (max-width: 370px) {
	/* キャンペーン概要の指 */
	.overview .content_img {
		top: 480px;
	}

	/* 特典内容・対象条件  -------------*/
	.bonusdetails .content_table th {
		text-align: left;
        padding: 10px 10px 10px 70px;
        line-height: 1.4;
	}

	/* 特典１、２のランキング・スコア表 */
	.bonusdetails .content_wrap .content_ttl {
        font-size: 15px;
        letter-spacing: 0.03em;
    }
	.content_item .content_txt-point span,
	.content_item .content_txt-people span {
		font-size: 14px;
	}
	.bonusdetails .content_wrap {
		padding: 20px 10px;
	}
	.bonusdetails .content_wrap-point .content_img-place img {
		max-width: 34px;
	}
	.bonusdetails .content_list .content_item {
        letter-spacing: 0.03em;
    }
}
@media screen and (max-width: 350px) {
	/* 特典１～３の「＼ 見出し ／」 */
	.bonusdetails .content_subttl {
		font-size: 15px;
	}
	.bonusdetails .content_subttl01::before {
		width: 90px;
		height: 30px;
		top: 20px;
	} 

	 .bonusdetails .content_subttl01::after {
		width: 38px;
		height: 30px;
		top: 20px;
	}

	.bonusdetails .content_subttl02::before {
		width: 60px;
			height: 30px;
		top: 20px;
	}

	.bonusdetails .content_subttl02::after {
		width: 90px;
			height: 30px;
		top: 20px;
	}

	.bonusdetails .content_subttl03::before,
	.bonusdetails .content_subttl03::after {
		width: 40px;
        background-size: 30%;
        top: -12px;
	}
	/* 特典１、２のランキング・スコア表 */
	.bonusdetails .content_wrap .fs-l {
		font-size: 15px;
		letter-spacing: 0.03em;
	}
	.bonusdetails .content_wrap.content_wrap-point .content_ttl::before {
		width: 94px;
        height: 37px;
		top: 10px;
	}
	.bonusdetails .content_wrap .content_ttl::before {
		width: 130px;
        height: 37px;
		top: 10px;
	}
	.bonusdetails .content_wrap .content_ttl::after {
		width: 34px;
        height: 37px;
		top: 10px;
	}
}


/* SE */
@media screen and (max-width: 330px) {
	/* キャンペーン概要の指 */
	.overview .content_img {
		top: 535px;
	}
	/* キャンペーン概要の各特典ボタン */
		#overview_link a {
		font-size: 15px;
	 }
	/* 特典１、２のランキング・スコア表 */
	.bonusdetails .content_wrap-score .content_img-place img {
		max-width: 65px;
	}
	.bonusdetails .content_wrap-score .content_txt-point .fs-l,
	.bonusdetails .content_wrap-score .content_txt-point {
		font-size: 14px;
	}
	.bonusdetails .content_wrap-score .content_txt-point small {
		font-size: 12px;
	}
	.bonusdetails .content_wrap-score .content_txt-point {
		margin-left: 3px;
	}
	.bonusdetails .content_wrap {
		padding: 20px 10px;
	}
	.content_item-1st .content_txt-point {
		margin-left: -10px;
	}
	/* 青枠ボタン */
	#contents .bonusdetails .btn-b {
		background-size: 16px;
		font-size: 13px;
	}
} 

/* SP小以下 */
@media screen and (max-width: 300px) {
	.display-mini {
		display: block;
	}
	/* キャンペーン概要の指 */
		.overview .content_img {
		display: none;
	}
		 .overview .content_table th .table_item_ic {
		top: 85px;
	 }
	/* 特典１、２のランキング・スコア表 */
	.bonusdetails .content_list .content_item {
		flex-direction: column;
	}
	.content_item .content_txt-point span,
	.content_item .content_txt-people span {
		font-size: 16px;
	}
	.bonusdetails .content_wrap .content_ttl::before,
	.bonusdetails .content_wrap .content_ttl::after {
		display: none;
	}
	.bonusdetails .content_wrap-score .content_item-1st .content_txt-point {
		margin-top: 0;
	}
	 .bonusdetails .content_subttl01::before,
	 .bonusdetails .content_subttl01::after,
	 .bonusdetails .content_subttl02::before,
	 .bonusdetails .content_subttl02::after,
	 .bonusdetails .content_subttl03::before,
	 .bonusdetails .content_subttl03::after  {
		display: none; 
	 }

	/* おすすめのスコア獲得方法のPonta */
	.recommendation .content_img-ponta {
		display: none;
	}
	
	 .recommendation .sec_ttl {
		margin-bottom: -20px;
	 }
}