@charset "utf-8";
#contents {
	background-color: #fff;
	padding: 0;
	color: #333333;
	text-align: center;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.03em;
}
#contents * {
	box-sizing: border-box;
}
#contents .inner {
	overflow: hidden;
}
#contents a {
	color: #0099cc;
	text-decoration: underline;
}
#contents a:hover {
	opacity: 0.7;
}
ul li {
	list-style: none;
}
.display-sp {
	display: none;
}
.display-pc {
	display: block;
}
.center {
	text-align: center;
}
.maT10 {
	margin-top: 10px;
}
.paT10 {
	padding-top: 10px;
}
.end_txt {
	padding: 15px 0;
	font-weight: bold;
	color: #FF0004;
	font-size: 180%;
	text-align: center;
}
.red {
	color: #ff0000;
}
.bold {
	font-weight: bold;
}

/*終了対応*/
#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;
}

/* ============== 全体、box =================== */
.content-wrap {
	background: #FFEADF;
	padding-bottom: 60px;
}
.ly-block {
	width: calc(100% - 30px);
	max-width: 970px;
	text-align: center;
	overflow: hidden;
	margin: 55px auto;
	background-color: #fff;
	box-sizing: border-box;
	border-radius: 20px;
	box-shadow: 2px 4px 10px #cc850233;
}
.ly-block_inner {
	margin: 10px;
	border: 2px dashed #EC4627;
	border-radius: 20px;
	padding: 45px 90px;
}
.content_ttl {
	color: #EC4627;
	font-size: 26px;
	font-weight: bold;
}
.note-txt {
	text-align: left;
}

/* ============== MV =================== */
.mv_img {
	background-color: #FFEADF;
}
.mv_term {
	background-color: #EC4627;
	font-size: 0;
	line-height: 1;
	padding: 10px;
}
.mv_term img {
	margin: 0 auto;
	height: 20px;
}

/* =================ボタン================== */
.entry {
	width: calc(100% - 30px);
	padding: 45px 0 0;
	margin: 0 auto;
}
.ly-btn {
	font-size: 0;
	display: block;
}
.ly-btn img {
	margin: 0 auto;
	width: 100%;
}
.ly-btn a {
	width: 100%;
	margin-bottom: 10px;
}
.entry_btn {
	max-width: 400px;
	margin: 0 auto;
}
.entry_btn a {
	display: inline-block;
	border-radius: 50px;
	box-shadow: 2px 2px 5px #a16b0541;
}
.entry .entry_btn a {
	margin-top: 10px;
}
.entry_btn a:hover {
	opacity: 0.8;
	box-shadow: none;
	transform: translateY(1px);
	transition: .2s;
}
.entry_btn + .step_sub-ttl{
	margin-top: 0;
	line-height: 1;
}
.entry .note-txt {
	max-width: 400px;
	width: 100%;
	margin: -5px auto 0;
}

/* =============キャンペーン概要================*/
.overview .content_ttl {
	margin-bottom: 25px;
}
.overview_inner {
	margin-top: 55px;
}
.overview .ly-block  {
	max-width: 750px;
}
.overview_lead {
	font-weight: bold;
	text-align: left;
	max-width: 380px;
	width: 100%;
	margin: 0 auto;
}
.overview_lead ul li {
	text-indent: -1em;
	padding-left: 1em;
}
.overview_lead p {
	margin: 8px 0 8px 0;
}
.overview_lead span {
	color: #FF9123;
	font-size: 16px;
}

/* =============参加方法================*/
.lead {
	margin-top: 55px;
}
.lead .content_ttl {
	margin-bottom: 35px;
}
.lead_list {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 25px;
}
.lead_item {
	width: calc((100% - 20px)/2);
	background: #FFEADF;
	border-radius: 10px;
	height: 546px;
}
.lead_item_ttl {
	background: #EC4627;
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	padding: 9px 0;
	border-radius: 10px 10px 0 0;
	letter-spacing: 0.05em;
}
.lead_item_wrap {
	padding: 30px 20px;
}
.lead_item_txt h3 {
	font-size: 16px;
	margin-bottom: 20px;
	color: #333;
}
.lead_item_txt h3,
.lead_item_txt p {
	margin-bottom: 20px;
}
.lead_item_img {
	margin-bottom: 20px;
}
.lead_item_img img,
.lead_item_btn img {
	margin: 0 auto;
}

/* アンカーボタン（枠線ボタン） */
.lead_btn_anc {
	border-radius: 50px;
	background: #fff;
	max-width: 290px;
	margin: 10px auto 0;
	position: relative;
}
.lead_btn_anc a {
	font-size: 14px;
	font-weight: bold;
	text-decoration: none!important;
	display: inline-block;
	width: 100%;
	border-radius: 50px;
	padding: 10px 0 9px;
}
.lead_btn_anc a::after {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right;
	width: 10px;
	height: 10px;
	vertical-align: middle;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

/* アンカーボタン：LINEマイカードへの追加方法 */
.lead_btn_anc-line a {
	color: #3DC462!important;
	border: 3px solid #3DC462;
}
.lead_btn_anc-line a::after  {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_btn_arrow_line.png);
}

/* アンカーボタン：PontaWeb会員登録とは？ */
.lead_btn_anc-pnt a {
	color: #FF9123!important;
	border: 3px solid #FF9123;
}
.lead_btn_anc-pnt a::after {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_btn_arrow_pnt.png);
}

.lead_list .note-txt {
	margin-top: 10px;
}
.lead_item_img-point {
	margin: 25px auto 10px;
}


/* =============いつでもサッと表示！LINEでPontaをもっと便利に================*/
.content_ttl_pointcard .content_ttl {
	font-size: 20px;
	font-weight: bold;
}
.content_ttl_pointcard {
	position: relative;
	display: inline-block;
}
.content_ttl_pointcard::before,
.content_ttl_pointcard::after {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-position: bottom;
	width: 50px;
	height: 50px;
	vertical-align: middle;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.content_ttl_pointcard::before {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_left.png);
	left: -55px;
}
.content_ttl_pointcard::after {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_right.png);
	right: -55px;
}
.pointcard .ly-block {
	margin-top: 10px;
}
.pointcard h3 {
	font-size: 22px;
	color: #333;
}
.pointcard h3 .pointcard_txt_line {
	color: #3DC462;
}
.pointcard h3 .pointcard_txt_pnt {
	color: #FF9123;
}
.pointcard_item_img-ttl img {
	max-width: 300px;
	margin: 20px auto 35px;
}
.pointcard_list {
	display: flex;
	align-items: center;
	justify-content: space-around;
	margin-bottom: 35px;
}
.pointcard_list .pointcard_item_img img {
	margin-top: 20px;
} 
.pointcard_logo h4 {
	font-size: 16px;
	color: #333;
	position: relative;
	display: inline;
}
.pointcard_logo h4::before,
.pointcard_logo h4::after {
	content: "";
	display: inline-block;
	background-repeat: no-repeat;
	background-position: bottom;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.pointcard_logo h4::before {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_left_bk.png);
	left: -20px;
}
.pointcard_logo h4::after {
	background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_right_bk.png);
	right: -20px;
}
.pointcard_logo ul {
	border: 1px solid #ccc;
	border-radius: 10px;
	display: flex;
	justify-content: space-between;
	padding: 30px 30px;
	margin-top: 5px;
}
.pointcard_logo ul.note-txt {
	border: none;
	display: block;
	padding: 0 0 0 1em;
}
.pointcard_logo li {
	margin-right: 5px;
	margin-left: 5px;
}
.pointcard_logo li img {
	max-width: 120px;
	width: 100%;
}
.pointcard_whats {
	margin-top: 35px;
}
.pointcard_whats .pointcard_whats_ttl {
	background: #3DC462;
	display: block;
	width: 100%;
	max-width: 235px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	border-radius: 10px 10px 0 0;
	padding: 10px 0;
	letter-spacing: 0.05em;
}
.pointcard_whats .pointcard_whats_ttl img {
	vertical-align: middle;
	margin-right: 5px;
}
.pointcard_whats_content {
	background: #EAFFE5;
	padding: 25px 30px;
	border-radius: 0 10px 10px;
}

/* ================= PontaWeb会員登録とは？ ================= */
.pwmr .ly-block_inner {
	border: 2px dashed #FF9123;
	padding: 45px 60px;
}
.pwmr .content_ttl {
	color: #FF9123;
	margin-bottom: 35px;
}
.pwmr_lead {
	margin-bottom: 35px;
}
.pwmr_list {
	display: flex;
	justify-content: space-between;
}
.pwmr_item {
	max-width: calc((100% - 30px) / 3);
	margin-bottom: 35px;
}
.pwmr .note-txt {
	max-width: 400px;
	margin: 5px auto 0;
}
.pwmr .entry_btn a {
	box-shadow: 2px 2px 8px #8f5f072f;
	border: 1px solid #ececec;
}
.pwmr .entry_btn a:hover {
	opacity: 0.8;
	box-shadow: none;
	transform: translateY(1px);
	transition: .2s;
}
.pwmr .entry_btn img {
	border: none;
	box-shadow: none;
}

/* ============= LINEマイカードへの追加方法 ================*/
.linemycard .ly-block_inner {
	border: 2px dashed #3DC462;
	padding: 45px 60px;
}
.linemycard .content_ttl {
	color: #3DC462;
}
.linemycard_list-pc {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 40px auto 20px;
}
.linemycard_list-sp {
	display: none;
}
.linemycard_list-pc .linemycard_item {
	width: calc((100% - 30px)/4);
	margin-right: 10px;
	margin-bottom: 20px;
}
.linemycard_list-pc .linemycard_item:nth-of-type(4) {
	margin-right: 0;
}
.linemycard_list-pc .linemycard_item:nth-of-type(5) {
	margin-left: 10px;
}

/* ============== att =================== */
.att {
	margin: 60px auto 0;
	text-align: left;
	line-height: 1.7;
}
.att .content_ttl {
	text-align: center;
	margin-bottom: 35px;
	color: #111;
}
.att_list.ly-block_inner {
	margin: 45px auto;
}
.att_item + .att_item {
	margin-top: 30px;
}
.att_item_ttl{
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	padding-left: 1.5em;
	line-height: 1.3; 
}
/*「●」タイプのリスト用*/
.att_item_ttl::before {
	content: "";
	display: block;
	position: absolute;
	background-color: #EC4627;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	left: 0;
	top: 2px;
}
.att_item_img {
	text-align: center;
}
.att_item_inner p {
	margin-top: 10px;
}
.att_item_inner p + p {
	margin-top: 0;
}
.att_item_img img {
	margin: 20px auto;
}
.att_list-style {
	margin-top: 10px;
	padding-left: 1em;
	text-indent: -1em
}
.att_list-style li > ul, .att_list-style li > ol,
.att_list-style .att_small-unit {
	margin-left: 1em;
	margin-bottom: 5px;
}
.att_small-unit {
	margin: 5px auto 10px;
}
.att_small-unit dt {
	font-weight: bold;
}
.att_list-style .att_small-unit {
	text-indent: 0;
}

/* ================= その他 ====================== */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.fl-l {
	float: left;
}
.fl-r {
	float: right;
}
.mT10 {
	margin-top: 10px;
}
.mT20 {
	margin-top: 20px;
}
.mT25 {
	margin-top: 25px;
}
.mT30 {
	margin-top: 30px;
}

/* コンテンツ（PC/TB：768px以上）
========================================================*/
@media (min-width: 768px) {}
/* ============== タブレット調整用=============== */
@media only screen and (min-width:768px) and (max-width:1024px) {}
/* ================= SP ====================== */
@media screen and (max-width: 767px) {
	.display-pc {
		display: none;
	}
	.display-sp {
		display: block;
	}
	.sec-box {
		width: 94%;
		padding: 6% 4%;
		margin: 5% auto;
	}
	.line_wallet {
		padding: 20px 3%;
		margin-bottom: 8%;
	}
	.step {
		padding-bottom: 0;
	}
	.end_txt {
		margin-top: 3%;
		font-size: 150%;
		padding: 2%;
	}
	/*終了対応*/
	#contents .btn_close::after {
		font-size: 1.8rem;
	}

	/* ========== ぱんくず =============== */
	/* パンくずを一行に */
	.breadcrumb {
		flex-wrap: nowrap;
		white-space: nowrap;
		overflow-x: auto;
	}
	.breadcrumb::-webkit-scrollbar {
	display: none;
	}

	/* ========== 全体、box =============== */
	.content-wrap {
		padding-bottom: 30px;
	}
	.ly-block {
		margin-top: 0;
		margin-bottom: 25px;
		border-radius: 10px;
	}
	.ly-block_inner {
		padding: 30px 20px;
		border-radius: 10px;
	}
	.content_ttl {
		font-size: 20px;
	}

	/* ========== MV ============= */
	.mv_term {
		padding: 12px;
	}
	.mv_term img {
		width: 100%;
		height: auto;
		max-width: 320px;
	}

	/* =================ボタン================== */
	.entry {
		padding: 30px 0 0;
	}
	.entry_btn {
		max-width: initial;
		width: 90%;
		margin: 0 auto;
	}
	.entry .note-txt {
		max-width: initial;
		width: 80%;
		margin: 0 auto;
	}
	.entry_btn img {
		border: none;
	}
	.entry_btn a {
		/* border: 1px solid #e0e0e0; */
		border-radius: 100px;
        width: 100%;
	}
	.entry .entry_btn a {
		margin-top: 0;
	}

	/* ========= キャンペーン概要 ========== */
	.overview_inner {
		margin-top: 25px;
	}
	.overview .content_ttl {
		margin-bottom: 20px;
	}
	.overview_lead ul li {
		text-indent: -1.3em;
		padding-left: 1.3em;
	}

	/* ========= 参加方法 ========== */
	.lead {
		margin-top: 25px;
	}
	.lead .content_ttl {
		margin-bottom: 25px;
	}
	.lead_item_ttl {
		font-size: 12px;
		padding: 5px 0;
	}
	.lead_item_wrap {
		padding: 25px 15px;
	}
	.lead_item_txt h3,
	.lead_item_txt p {
		font-size: 14px;
	}
	.lead_item_txt h3 {
		margin-bottom: 10px;
	}
	.lead_item {
		height: auto;
		width: 100%;
	}
	.lead .entry_btn {
		width: 100%;
	}

	/* アンカーボタン（枠線ボタン） */
	.lead_btn_anc {
		max-width: initial;
		width: 90%;
		margin-top: 0;
	}
	.lead_btn_anc a {
		font-size: 13px;
	}
	.lead_btn_anc a::after {
		right: 15px;
	}
	.lead_btn_anc-line a {
		border: 2px solid #3DC462;
	}
	.lead_btn_anc-pnt a {
		border: 2px solid #FF9123;
	}

	.lead_list {
		margin-bottom: 15px;
		flex-direction: column;
	}
	.lead_img_arrow {
		max-width: 98px;
		margin: 0 auto;
	}
	.lead_item_img-point {
		margin-top: 15px;
	}
	.lead_item_img-point img {
		width: 100%;
	}
	 .lead_item + .lead_item {
		margin-top: 8%;
	}

	/* =============いつでもサッと表示！LINEでPontaをもっと便利に================*/
	.content_ttl_pointcard .content_ttl {
		font-size: 16px;
	}
	.pointcard h3 {
		font-size: 14px;
	}
	.pointcard_item_img-ttl img {
		max-width: 180px;
		width: 100%;
		margin: 10px auto 25px;
	}
	.pointcard .ly-block_inner {
		padding: 30px 20px;
	}
	.pointcard_list {
		flex-direction: column;
		margin-bottom: 0;
	}
	.pointcard_list .pointcard_item_img img {
		margin-top: 5px;
	}
	.pointcard_item {
		margin-bottom: 30px;
	}
	.pointcard_logo h4 {
		font-size: 14px;
	}
	.pointcard_logo h4::before,
	.pointcard_logo h4::after {
		background-size: contain;
		width: 20px;
		height: 40px;
	}
	.pointcard_logo h4::before {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_left_bk_sp.png);
		left: -30px;
	}
	.pointcard_logo h4::after {
		background-image: url(https://pntc.sslcs.cdngc.net/cdn/campaign/line202510_37/img/ic_right_bk_sp.png);
		right: -30px;
	}
	.pointcard_logo ul {
		flex-wrap: wrap;
		padding: 25px 0 15px;
		justify-content: space-around;
	}
	.pointcard_logo li {
		margin-bottom: 10px;
		max-width: 42%;
	}
	.pointcard_logo ul.note-txt li {
		margin-bottom: 0;
		max-width: initial;
	}
	.pointcard_whats {
		margin-top: 25px;
	}
	.pointcard_whats .pointcard_whats_ttl {
		font-size: 14px;
		padding: 5px 0;
		max-width: 200px;
		border-radius: 5px 5px 0 0;
	}
	.pointcard_whats_content {
		padding: 15px 12px;
		text-align: left;
		border-radius: 0 5px 5px;
	}

	/* ============= PontaWeb会員登録とは？ ================*/
	.pwmr .ly-block_inner {
		padding: 30px 15px;
	}
	.pwmr .content_ttl {
		margin-bottom: 25px;
	}
	.pwmr_lead {
		text-align: left;
		margin-bottom: 25px;
	}
	.pwmr_list {
		flex-direction: column;
	}
	.pwmr_item {
		width: 100%;
		max-width: initial;
		margin-bottom: 25px;
	}
	.pwmr_item img {
		width: 100%;
	}
	.pwmr .note-txt {
		margin-top: 0;
	}
	.pwmr .entry_btn {
		max-width: initial;
		width: 100%;
	}

	/* =============LINEマイカードへの追加方法================*/
	.linemycard .content_ttl {
		margin-bottom: 25px;
	}
	.linemycard .ly-block_inner {
		padding: 30px 15px;
	}
	.linemycard_list-sp {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		max-width: 100%;
	}
	.linemycard_list-pc {
		display: none;
	}
	.linemycard_item {
		margin-bottom: 20px;
		width: 48%;
	}
	.linemycard .entry_btn img {
		border: none;
	}
	.linemycard .entry_btn a {
		box-shadow: 2px 2px 8px #8f5f072f;
    	border: 1px solid #ececec;
	}
	.linemycard .entry_btn {
		max-width: initial;
		width: 100%;
	}
		
	/* ============== att =================== */
	.att {
		margin: 30px auto 0;
	}
	.att .content_ttl {
		margin-bottom: 25px;
	}
	.att_list.ly-block_inner {
		margin: 30px 20px;
	}
	.att_list {
		width: calc(100% - 40px);
		width: 100%;
	}
	.att_item + .att_item {
		margin-top: 8%;
	}
	.att_item_ttl{
		padding-left: 1.5em;
		margin-bottom: 10px;
	}
	.att_item_inner p, .att_list-style {
		margin-top: 5px;
	}
}


/* キャンペーン参加方法のアンカーボタン
（LINEマイカードへの追加方法）  */
@media screen and (min-width: 768px) and (max-width: 845px) {
	.lead .ly-block_inner {
		padding: 45px 60px;
	}
	.lead_btn_anc-line a::after {
		right: 13px;
	}
}
@media screen and (max-width: 376px) {
	.lead_btn_anc {
		width: 95%;
	}
}
@media screen and (max-width: 365px) {
	.lead_btn_anc a {
		font-size: 11px;
		padding-right: 8px;
	}
	    .lead_btn_anc a::after {
        right: 12px;
    }
	    .lead_item_wrap {
        padding: 25px 10px;
    }
}
@media screen and (max-width: 312px) {
	.lead_btn_anc a::after {
        display: none;
    }
		.lead_btn_anc a {
		font-size: 11px;
		padding-right: initial;
	}
}


/* ================= SP小以下 ====================== */
@media screen and (max-width: 260px) {
	.content_ttl_pointcard::before, 
	.content_ttl_pointcard::after,
	.pointcard_logo h4::before, 
	.pointcard_logo h4::after {
		display: none;
	}
	.pointcard_logo ul {
		flex-direction: column;
		width: 100%;
	}
	.pointcard_logo li {
		max-width: initial;
	}
	.linemycard_list-sp {
		flex-direction: column;
	}
	.linemycard_list-sp li {
		width: 100%;
	}
}