@charset "UTF-8";

ul.caption {
  text-indent: -1em;
  margin: 0 0 1em 0;
  padding: 0 20px;
}

.txtCenter {
	text-align: center;
}

.disp_inlineBlock {
	display: inline-block;
}


/* ------------------------------ */
/*PC用CSS                         */
/* ------------------------------ */
@media screen and (min-width: 769px), print {
	#bodyInr {
		margin: 0 auto 15px;
		width: 1000px;
	}
	h1 {
		margin-bottom: 10px;
	}
	h1 img {
		max-width: 100%;
		margin: 0 auto;
	}
	p.leadTxt {
		margin: 15px 8px;
		font-size: 110%;
	}
	div.cnpBnr {
		margin: 60px auto;
		text-align: center;
	}
	div.cnpBnr img {
		width: 950px;
		height: auto;
	}
	.anchorTop p {
			background: rgba(0, 0, 0, 0) url("/keitai_payment/common/images/icon_arrow_11.png") no-repeat scroll 100% center;
			font-size: 88%;
			padding-right: 18px;
			text-align: right;
	}
	#kebara a {
		color: #111;
		text-decoration: none;
	}
	#kebara div {
			margin-bottom: 15px;
	}
	#kebara #kebaraHowto {
		margin: 15px auto;
	}
	#kebara #kebaraHowto h3 {
			font-size: 130%;
			font-weight: bold;
			margin-bottom: 5px;
	}
	/* テキストリンク */
	.txtLink_right,
	.txtLink_bottom {
		text-align: right;
		margin-bottom: 20px;
	}
	.txtLink_right p,
	.txtLink_bottom p {
		padding-right: 15px;
		position: relative;
	}
	.txtLink_right p a:after {
		display: inline-block;
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		width: 7px;
		height: 12px;
		margin-top: -4px;
		background: url(/keitai_payment/common/images/icon_arrow_03.png) no-repeat;
		background-size: contain;
	}
	.txtLink_bottom p a:after {
		display: inline-block;
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		width: 12px;
		height: 12px;
		margin-top: -2px;
		background: url(/keitai_payment/common/images/icon_arrow_04_sp.png) no-repeat;
		background-size: contain;
	}
	.txtLink_right p a[target="_blank"]:after {
		display: block;
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		width: 11px;
		height: 9px;
		margin-top: -5px;
		background: url(/keitai_payment/common/images/icon_newwindow_01.png) no-repeat;
		-moz-background-size:cover!important;
		background-size:cover!important;
		background-size: contain;
	}
	.txtLink_right p a,
	.txtLink_bottom p a,
	.txtLink_right p a:hover,
	.txtLink_bottom p a:hover,
	.txtLink_right p a:active,
	.txtLink_bottom p a:active {
		color: #333;
		font-size: 90%;
		text-decoration: underline;
	}
	/* h2見出し */
	h2.red {
		width: 100%;
		height: auto;
		font-size: 170%;
		color: #FFF;
		background-color: #cc0033;
		padding: 10px 20px;
		box-sizing:border-box;
	}
	h2.gray {
		width: 100%;
		height: auto;
		font-size: 170%;
		color: #333;
		background-color: #eceaea;
		padding: 10px 20px;
		box-sizing:border-box;
	}
	h2.txt {
		font-size: 186%;
	}


	/* dケータイ払いプラスとは？ */
	#dPlus {
		margin-bottom: 40px!important;
	}
	.txtLink-right {
		text-align: right;
	}


	/* キャンペーン詳細 */
	.cpnInfo dl {
		margin-bottom: 30px;
	}
	.cpnInfo dl dt {
		margin-top: 1.5em;
		font-size: 105%;
		font-weight: bold;
	}
	.cpnInfo dl dt:first-child {
		margin-top: 1em;
	}
	.cpnInfo dl dd dl {
		margin-top: -0.6em;
	}
	.cpnInfo dl dd dl dt {
		margin-top: 0.8em;
		font-size: 105%;
		font-weight: normal;
	}


	/* ご注意事項 */
	.campaign-att {
		margin: 30px 0;
	}
	.campaign-att ul {
		margin: 15px 0;
		padding: 30px;
		background-color: #f9f4ea;
	}
	.campaign-att ul li {
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.6;
	}
	.campaign-att ul li:before {
		content: "・";
	}
	.campaign-att ul ul {
		margin: 0;
		padding: 0;
		background-color: #f9f4ea;
	}
	.campaign-att ul ul li {
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.6;
	}
	.campaign-att ul ul li:before {
		content: "－";
	}


	/* お問い合わせ */
	.access div.accessInr {
		margin: 15px 20px;
	}


	/* リスト */
	ul.list {
		font-size: 100%;
		margin: 0 0 0 1em;
	}
	ul.list li {
		list-style-type: none;
			text-indent: -1em;
	}
	ul.list li:before {
		display: inline;
		content: "・";
	}


	/* 注意リスト */
	ul.note {
		font-size: 85%;
		margin: 0 0 0 1em;
	}
	ul.note li {
		list-style-type: none;
			text-indent: -1em;
	}
	ul.note li:before {
		display: inline;
		content: "※ ";
	}



	/* ----- ▼ 以下特集コンテンツ領域 編集可能（PC） ▼ ----- */
	div.area {
		margin: 40px auto;
		width: 1000px;
		background-color: #ccc;
		text-align: center;
	}
	div.area p {
		padding: 500px 0;
		background-color: #ccc;
		font-size: 300%;
		font-weight: bold;
	}

	img {
		max-width: 100%;
		height: auto;
		display: block;
	}

	.main {
		width: 768px;
		margin: 0 auto 40px;
		padding: 0;
	}

	.ttl {
		margin: 0;
	}

	.notice {
		margin: 0 0 25px 0;
		text-indent: -1em;
		padding-left: 1em;
	}

	.noindent {
		text-indent: 0em;
		padding-left: 0em;
	}

	.notice ul {
		margin: 0 0 50px 0;
		padding: 0;
	}

	.notice ul li {
		margin: 0 0 1em 0;
		text-indent: -1.75em;
		padding-left: 1.75em;
	}


	/*-------------------------------------------
		.shop-list
	-------------------------------------------*/
	.shop-list {
		margin: 0 auto 1em !important;
		padding: 0 20px !important;
		text-align: center;
		overflow: hidden;
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}
	.shop-list li {
		width: calc(100% / 3 - 1.4%);
		margin: 0 2% 0.5em 0 !important;
		float: left;
		border: solid 1px #eeeeee;
		background-color: #f6f6f6;
		box-sizing: border-box;
		list-style: none !important;
	}
	.shop-list li:nth-child(3n) {
		margin-right: 0 !important;
	}
	.shop-list li a {
		display: block;
		width: 100%;
		height: 100%;
		text-align: center;
		text-decoration: none;
	}
	.shop-list li .picture {
		padding: 3px;
		height: 100px;
		box-sizing: border-box;
		background-color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.shop-list li .picture img {
		width: 150px;
	}
	.shop-list li .text {
		width: 100%;
		height: calc(100% - 100px);
		padding: 10px 11px 8px;
		position: relative;
		font-size: 0.8em;
		box-sizing: border-box;
		border-top: solid 1px #eeeeee;
		color: #333333;
		display: table;
	}
	.shop-list li .text .title {
		font-size: 0.8em;
		padding: 0;
		height: 100%;
		color: #333333;
		font-weight: normal;
		display: table-cell;
		vertical-align: middle;
	}


	.confm {
		margin: 30px 0 30px 0;
		text-align: center;
		font-size: 1em;
	}
	.entryconfm {
		text-align: center;
		font-size: 1.3em;
	}

	.atn {
		margin: 10px 0 10px;
		padding: 0 20px;
	}

	.main_bg .atn {
		margin: 20px 0 0 0;
		padding: 0 20px;
	}

	.main_bg {
		width: 100%;
		padding: 0 0 20px 0;
		display: inline-block;
	}

	.ft_bnr {
		width: 768px;
		padding: 10px 25px 20px;
		position: fixed;
		bottom: 0;
		left: 50%;
		-webkit-transform: translate(-50%,0);
		transform: translate(-50%,0);
		display: block;
		text-align: center;
		background: #e9e9e9;
		border-top: solid 2px #6c6c6c;
		z-index: 100;
	}

	.ft_bnr .flx {
		display: flex;
		justify-content: space-between;
	}

	.ft_bnr img {
		display: inline-block;
	}

	.ft_bnr > div {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}

	.ft_bnr h3 {
		text-align: center;
	}

	.ft_bnr h4 {
		margin: 0 0 10px 0;
		text-align: center;
	}

	.entry {
		margin: 20px 0 0 0;
		display: inline-block;
	}

	.cp_close_alert {
		padding-left: 19px;
		padding-bottom: 3px;
		color: #C70014;
		font-weight: bold;
		margin: 0 auto 20px;
		padding: 15px;
		border: solid 1px #df6177;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		background-color: #fcf0f2;
		margin-bottom: 30px;
	}

	#bodyInr {
		font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
	}

	.red {
		color: #cc0033;
	}

	.caption {
		font-size: 16px;
		font-weight: normal;
	}

	.caption.kv {
		padding: 0 22px 22px;
	}

	strong {
		font-weight: bold;
	}

	.sec {
		padding: 0 22px 22px;
		font-size: 24px;
		color: #000000;
		line-height: 1.2;
		letter-spacing: 0;
		font-feature-settings: "palt";
		background: #ffffff;
		position: relative;
	}

	#lower .sec {
		margin: 0 0 30px 0;
	}

	.sec h2 img {
		margin: 0 auto;
	}

	#lower .sec h2 {
		margin: 0 0 25px 0;
		padding: 16px 25px;
		font-size: 34px;
		color: #ffffff;
		text-align: left;
		background: #cc0033;
	}

	.sec p:not(:last-child) {
		margin: 0 0 1em 0;
	}

	.sec a {
		color: #000000;
	}


	#lower .sec > p.lpLink {
		margin: 0 0 0.3em 0;
		text-align: center;
	}



	#lower .sec .acc {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#lower .sec .acc:after {
		content: '';
		width: 44px;
		height: 44px;
		margin: 0 0 0 20px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icn_arrow_c.png) no-repeat;
		background-size: cover;
		display: block;
	}
	#lower .sec .acc.close:after {
		content: '';
		width: 44px;
		height: 44px;
		margin: 0 0 0 20px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icn_arrow_c.png) no-repeat;
		background-size: cover;
		transform:rotate(180deg);
		display: block;
	}



	/*	index
	------------------------------------------- */
	#lower .sec.index {
		padding: 30px 50px 0;
	}
	#lower .sec.index ul li {
		margin: 0 0 15px 0;
		font-size: 24px;
		font-weight: bold;
	}
	#lower .sec.index ul li:last-of-type {
		margin: 0;
	}



	/*	flowlist
	------------------------------------------- */
	#lower .sec.flowlist {
		text-align: center;
	}
	#lower .sec.flowlist h3 {
		margin: 0 0 30px 0;
		padding: 0;
		font-size: 24px;
		text-align: center;
		border-bottom: 3px solid #000000;
		background: #ffffff;
		display: inline-block;
		box-sizing: border-box;
		position: relative;
	}
	#lower .sec.flowlist h3:before {
		content: '';
		position: absolute;
		bottom: -24px;
		left: 50%;
		margin-left: -15px;
		border: 12px solid transparent;
		border-top: 12px solid #ffffff;
		z-index: 2;
	}
	#lower .sec.flowlist h3:after {
		content: '';
		position: absolute;
		bottom: -30px;
		left: 50%;
		margin-left: -17px;
		border: 14px solid transparent;
		border-top: 14px solid #000000;
		z-index: 1;
	}
	#lower .sec.flowlist .btn {
		margin: 0 0 10px 0;
		display: block;
	}
	#lower .sec.flowlist > p.caption:last-of-type {
		text-align: justify;
	}
	#lower .sec.flowlist .slide_shoplist {
		margin: 0 0 50px 0;
		padding: 0 0 20px 0;
		font-weight: normal;
		display: flex;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
	}
	#lower .sec.flowlist .slide_shoplist > div {
		width: 380px;
		margin: 0 20px 0 0;
		flex: 0 0 auto;
		position: relative;
	}
	#lower .sec.flowlist .slide_shoplist > div:not(:last-of-type):after {
		content: '';
		width: 51px;
		height: 70px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icn_arrow_sbl.png);
		background-size: cover;
		display: block;
		position: absolute;
		top: 38%;
		right: -10%;
		z-index: 2;
	}
	#lower .sec.flowlist .slide_shoplist > div img {
		margin: 0 0 10px 0;
	}
	#lower .sec.flowlist .slide_shoplist > div p {
		width: 80%;
		margin: 0 auto;
		text-align: justify;
	}




	.sec.banner {
		padding: 0 0 22px;
	}
	.sec.banner.mynapt {
		padding: 0 22px 0;
	}
	.sec.banner.plus {
		padding: 0 22px 0;
	}




	#lower .sec.campaign {
		padding-top: 22px;
		padding-bottom: 40px;
		color: #ffffff;
		background: #cc0033;
	}
	#lower .sec.campaign h2 {
		padding: 16px 25px 0;
	}
		#lower .sec.campaign h2 + p {
		font-weight: bold;
	}
	#lower .sec.campaign h2 img {
		margin: 0 auto;
	}




	#lower .sec.setting {
		color: #ffffff;
		background: #cc0033;
	}
	#lower .sec.setting {
		padding-top: 22px;
		margin-bottom: 50px;
	}
	#lower .sec.setting h2 {
		padding: 16px 25px 0;
		text-align: center;
		line-height: 1.25;
	}
	#lower .sec.setting h2 img {
		margin: 0 auto;
	}
	#lower .sec.setting .app_dl {
		margin: 0 0 8px 0;
		padding: 15px 15px 15px 25px;
		color: #cc0033;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: #ffffff;
	}
	#lower .sec.setting .app_dl h3,
	#lower .sec.setting .app_dl a {
		width: 48%;
		font-size: 32px;
		line-height: 1.25;
	}
	#lower .sec.setting .acc_cont {
		color: #000000;
		display: none;
	}
	#lower .sec.setting .acc_cont ul {
		padding: 45px 40px 40px;
		background: #ffffff;
	}
	#lower .sec.setting .acc_cont ul li {
		margin: 0 0 10px 0;
		font-size: 24px;
	}
	#lower .sec.setting .acc_cont > div {
		padding: 50px 40px 40px;
		background: #ffffff;
	}
	#lower .sec.setting .acc_cont > div:last-of-type {
		margin: 8px 0 0 0;
	}
	#lower .sec.setting .acc_cont > div > h3 {
		margin: 0 0 10px 0;
		font-size: 36px;
	}
	#lower .sec.setting .acc_cont > div > h3.setting_other_card {
		margin-top: 80px;
		font-size: 28px;
	}
	#lower .sec.setting .acc_cont > div dl {
		margin: 50px 0 0 0;
	}
	#lower .sec.setting .acc_cont > div dl dt {
		margin: 0 0 30px 0;
		display: flex;
		align-items: center;
	}
	#lower .sec.setting .acc_cont > div dl dt .num {
		width: 74px;
		height: 84px;
		margin: 0 15px 0 0;
		font-size: 42px;
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #cc0033;
	}
	#lower .sec.setting .acc_cont > div dl dt .num.txt {
		width: auto;
		padding: 0 15px;
	}
	#lower .sec.setting .acc_cont > div dl dt h4 {
		font-size: 30px;
	}
	#lower .sec.setting .acc_cont > div dl dt h4 sup {
		font-size: 0.7em;
	}
	#lower .sec.setting .acc_cont > div dl dd:not(:last-child) {
		margin: 0 0 90px 0;
		position: relative;
	}
	#lower .sec.setting .acc_cont > div dl dd:not(:last-child):after {
		content: '';
		width: 105px;
		height: 46px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icon_arrow_gr.png);
		background-size: cover;
		display: block;
		position: absolute;
		bottom: -65px;
		left: 50%;
		transform: translateX(-50%);
	}
	#lower .sec.setting .acc_cont > div dl dd img {
		margin: 0 0 20px 0;
	}
	#lower .sec.setting .acc {
		padding: 12px 0;
		font-size: 24px;
		color: #6b6b6b;
		font-weight: normal;
		background: #ffffff;
	}




	#lower .sec.inquiry {
		padding-bottom: 0;
		color: #6b6b6b;
	}
	#lower .sec.inquiry > div {
		margin: 0 0 40px 0;
		padding: 0 30px;
	}
	#lower .sec.inquiry > div.box {
		padding: 30px;
		border: solid 6px #d1d0d0;
	}
	#lower .sec.inquiry h2 {
		color: #ffffff;
		background: #000000;
	}
	#lower .sec.inquiry h4 {
		font-size: 44px;
	}
	#lower .sec.inquiry h4 a {
		color: #6b6b6b;
		text-decoration: none;
	}
	#lower .sec.inquiry h4 span {
		font-size: 0.7em;
	}
	#lower .sec.inquiry p:not(.caption) {
		margin: 0 0 0.5em 0;
		font-size: 24px;
		font-weight: normal;
	}
	#lower .sec.inquiry p:last-of-type {
		margin: 0;
	}
	#lower .sec.inquiry hr {
		margin: 30px 0;
		border-top: solid 2px #eeeeee;
	}




	#lower .sec.cp {
		margin-bottom: 30px;
		padding-top: 50px;
		color: #ffffff;
		background: #cc0033;
	}
	#lower .sec.cp h2 {
		padding: 0;
	}
	#lower .sec.cp h2 img {
		margin: 0 auto;
	}
	#lower .sec.cp ul {
		padding: 35px 39px 45px;
		background: #ffffff;
	}
	#lower .sec.cp ul li:not(:last-of-type) {
		margin: 0 0 75px 0;
	}
	#lower .sec.cp ul li h4 img {
		margin: 0 auto 10px;
	}




	/*-------------------------------------------
	応募要項
	-------------------------------------------*/
	.requirements {
		max-width: 768px;
		margin: 0 auto;
		padding: 0;
		position: relative;
		overflow: visible;
	}
	.requirements:before {
		position: absolute;
		left: 0;
		top: -38px;
	}
	.requirements:after {
		position: absolute;
		left: 0;
		bottom: -38px;
	}
	.requirements a {
		color: #006699;
		text-decoration: underline;
	}
	.requirements h3 {
		margin: 0 0 1em 0;
		padding: 0 20px;
		height: 30px;
		font-size: 1.2em;
		line-height: 30px;
		color: #ffffff;
		background: #d60038;
	}
	.requirements.notes h3 {
		color: #000000;
		background: #cccccc;
	}
	.requirements h4 {
		margin: 0 0 1em 0;
		padding: 0 20px;
		font-size: 1.2em;
		color: #cc0033;
	}
	.requirements h5 {
		margin: 0 0 0.25em 0;
		padding: 0 20px;
		font-size: 1em;
	}
	.requirements .title {
		margin: 0;
		padding: 0.75em;
		font-size: 1.7em;
		font-weight: bold;
		text-align: center;
		color: #cc0033;
	}
	.requirements p {
		margin: 0 0 1em 0;
		padding: 0 20px;
		line-height: 1.25em;
	}
	.requirements p:last-child {
		margin: 0;
	}
	.requirements p.indent {
		margin: 0 0 30px 0;
		padding: 0 20px 0 2em;
		text-indent: -1em;
	}
	.requirements p.indentall {
		margin: 0 0 30px 0;
		padding: 0 20px 0 2em;
	}
	.requirements ul {
		margin: 0 0 1em 0;
		padding: 0 20px;
	}
	.requirements ul li {
		margin-left: 1em;
		margin-bottom: 0.5em;
		list-style: disc;
		line-height: 1.25em;
	}
	.requirements ul.nd li {
		text-indent: -0.75em;
		padding-left: 0em;
		list-style: none;
	}
	.requirements ul li div.period {
		padding: 0.5em 0.75em 0.25em 0.75em;
		border: solid 2px #d00e31;
	}
	.requirements ul li div.period h5 {
		padding: 0;
	}
	.requirements ul li div.period p {
		margin: 0 0 0.25em 0;
		padding: 0;
	}
	.requirements table {
		width: calc(100% - 40px);
		margin: 0 auto 1em;
		border-collapse: collapse;
	}
	.requirements table th,
	.requirements table td {
		width: calc(100% / 4);
		padding: 0.25em 0;
		text-align: center;
		border: solid 1px #000000;
	}



	.application_footer {
		margin: 0 0 30px 0;
	}

	#footer .footNavIn p a img {
		display: inline;
		vertical-align: baseline;
	}
}







/* ------------------------------ */
/* SP用CSS                      */
/* ------------------------------ */
@media only screen and (max-width: 768px) {
	#bodyInr {
		margin: 0 auto 15px;
		width: 100%;
	}
	h1 {
		margin-bottom: 5px;
	}
	h1 img {
		width: 100%;
		height: auto;
	}
	p.leadTxt {
		margin: 10px 10px 23px;
		font-size: 100%;
		line-height: 1.5;
	}
	div.cnpBnr {
		margin: 30px 10px;
	}
	div.cnpBnr img {
		width: 100%;
		height: auto;
	}
	.anchorTop p {
	   background: rgba(0, 0, 0, 0) url("/keitai_payment/common/images/icon_arrow_11.png") no-repeat scroll 100% center;
	   font-size: 88%;
	   padding-right: 18px;
	   text-align: right;
	}
	#kebara {
		margin: 15px 10px;
	}
	#kebara a {
		color: #111;
		text-decoration: none;
	}
	#kebara img {
		width: 100%;
		height: auto;
	}
	#kebara div {
	   margin-bottom: 15px;
	}
	#kebara #kebaraHowto {
		margin: 15px auto;
	}
	#kebara #kebaraHowto h3 {
	   font-size: 130%;
	   font-weight: bold;
	   margin-bottom: 5px;
	}
	/* テキストリンク */
	.txtLink_right,
	.txtLink_bottom {
		text-align: right;
		margin: 0 10px 20px;
	}
	.txtLink_right p,
	.txtLink_bottom p {
		padding-right: 15px;
		position: relative;
	}
	.txtLink_right p a:after {
		display: inline-block;
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		width: 7px;
		height: 12px;
		margin-top: -4px;
		background: url(/keitai_payment/common/images/icon_arrow_03.png) no-repeat;
		background-size: contain;
	}
	.txtLink_bottom p a:after {
		display: inline-block;
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		width: 12px;
		height: 12px;
		margin-top: -2px;
		background: url(/keitai_payment/common/images/icon_arrow_04_sp.png) no-repeat;
		background-size: contain;
	}
	.txtLink_right p a[target="_blank"]:after {
		display: block;
		content: '';
		position: absolute;
		right: 0;
		top: 50%;
		width: 11px;
		height: 9px;
		margin-top: -5px;
		background: url(/keitai_payment/common/images/icon_newwindow_01.png) no-repeat;
		-moz-background-size:cover!important;
		background-size:cover!important;
		background-size: contain;
	}
	.txtLink_right p a,
	.txtLink_bottom p a,
	.txtLink_right p a:hover,
	.txtLink_bottom p a:hover,
	.txtLink_right p a:active,
	.txtLink_bottom p a:active {
		color: #333;
		font-size: 80%;
		text-decoration: underline;
	}
	/* h2見出し */
	h2.red {
		width: 100%;
		height: auto;
		font-size: 170%;
		color: #FFF;
		background-color: #cc0033;
		padding: 10px 20px;
		box-sizing:border-box;
	}
	h2.gray {
		width: 100%;
		height: auto;
		font-size: 170%;
		color: #333;
		background-color: #eceaea;
		padding: 10px 15px;
		box-sizing:border-box;
	}
	h2.txt {
		font-size: 150%;
	}
	/* リードテキスト */
	.main .campaignTxt {
	   margin: 0 10px;
	}
	.main .campaignTxt .ttl {
		margin-top: 0.75em;
	   color: #333;
		font-weight: bold;
	}
	.main .campaignTxt span {
	   color: #cc0033;
	}
	/* 注意リンク */
	.textAttention {
		color: #c03;
		text-align: center;
		font-size: 100%;
		margin: 0 10px 30px;
	}
	.textAttention a:link,
	.textAttention a:visited,
	.textAttention a:hover,
	.textAttention a:active {
		color: #c03;
	}
	#dPlus {
	margin:0 10px 30px!important;
	}
	/* キャンペーン詳細 */
	.cpnInfo a {
		color: #093475;
		text-decoration: underline;
	}
	.cpnInfo dl {
		margin: 0 10px 30px;
	}
	.cpnInfo dl dt {
		margin-top: 1.5em;
		font-size: 105%;
		font-weight: bold;
	}
	.cpnInfo dl dt:first-child {
		margin-top: 1em;
	}
	.cpnInfo dl dd dl {
		margin-top: -0.6em;
	}
	.cpnInfo dl dd dl dt {
		margin-top: 0.8em;
		font-size: 105%;
		font-weight: normal;
	}



	/* ご注意事項 */
	.campaign-att ul {
		margin-bottom: 30px;
		padding: 15px;
		background-color: #f9f4ea;
	}
	.campaign-att ul li {
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.6;
	}
	.campaign-att ul li:before {
		content: "・";
	}
	.campaign-att ul ul {
		margin: 0;
		padding: 0;
		background-color: #f9f4ea;
	}
	.campaign-att ul ul li {
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.6;
	}
	.campaign-att ul ul li:before {
		content: "－";
	}



	/* お問い合わせ */
	.access div.accessInr {
		margin: 15px 10px 30px;
	}



	/* リスト */
	ul.list {
		font-size: 100%;
		margin: 0 0 0 1em;
	}
	ul.list li {
		list-style-type: none;
	   text-indent: -1em;
	}
	ul.list li:before {
		display: inline;
		content: "・";
	}



	/* 注意リスト */
	ul.note {
		font-size: 85%;
		margin: 0 0 0 1em;
	}
	ul.note li {
		list-style-type: none;
	   text-indent: -1em;
	}
	ul.note li:before {
		display: inline;
		content: "※ ";
	}




	/* ----- ▼ 以下特集コンテンツ領域 編集可能(SP) ▼ ----- */
	div.area {
		margin: 20px auto;
		width: 100%;
		background-color: #ccc;
		text-align: center;
	}
	div.area p {
		padding: 300px 0;
		background-color: #ccc;
		font-size: 180%;
		font-weight: bold;
	}

	img {
		max-width: 100%;
		height: auto;
		display: block;
	}

	.main {
		margin: 0 0 20px 0;
		padding: 0;
	}

	.ttl {
		margin: 0;
	}

	.notice {
		margin: 0 0 25px 0;
		text-indent: -1em;
		padding-left: 1em;
	}

	.noindent {
		text-indent: 0em;
		padding-left: 0em;
	}

	.notice ul {
		margin: 0 0 50px 0;
		padding: 0;
	}
	.notice ul li {
		margin: 0 0 1em 0;
		text-indent: -1.75em;
		padding-left: 1.75em;
	}

	.entry {
		margin: 20px 0 0 0;
		display: inline-block;
	}




	/*-------------------------------------------
		shop-list
	-------------------------------------------*/
	.shop-list {
		margin: 0 auto 1em !important;
		padding: 0 20px !important;
		text-align: center;
		overflow: hidden;
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}
	.shop-list li {
		width: calc(100% / 2 - 1.4%);
		margin: 0 2% 0.5em 0 !important;
		float: left;
		border: solid 1px #eeeeee;
		background-color: #f6f6f6;
		box-sizing: border-box;
		list-style: none !important;
	}
	.shop-list li:nth-child(2n) {
		margin-right: 0 !important;
	}
	.shop-list li a {
		display: block;
		width: 100%;
		height: 100%;
		text-align: center;
		text-decoration: none;
	}
	.shop-list li .picture {
		padding: 3px;
		height: 70px;
		box-sizing: border-box;
		background-color: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.shop-list li .picture img {
		width: 100px;
	}
	.shop-list li .text {
		width: 100%;
		height: calc(100% - 70px);
		padding: 10px 11px 8px;
		position: relative;
		font-size: 0.8em;
		box-sizing: border-box;
		border-top: solid 1px #eeeeee;
		color: #333333;
		display: table;
	}
	.shop-list li .text .title {
		font-size: 0.8em;
		padding: 0;
		height: 100%;
		color: #333333;
		font-weight: normal;
		display: table-cell;
		vertical-align: middle;
	}




	.confm {
		margin: 20px 0 20px 0;
		text-align: center;
		font-size: 0.8em !important;
	}
	.entryconfm {
		text-align: center;
		font-size: 1em;
	}

	.atn {
		margin: 10px 0 10px;
		padding: 0 20px;
		font-size: 0.8em;
	}

	.main_bg .atn {
		margin: 20px 0 0 0;
		padding: 0 20px;
	}

	.main_bg {
		width: 100%;
		padding: 0 0 20px 0;
		display: inline-block;
	}




	.ft_bnr {
		padding: 5px 12px 10px;
		position: fixed;
		bottom: 0;
		left: 0;
		display: block;
		text-align: center;
		background: #e9e9e9;
		border-top: solid 1px #6c6c6c;
		z-index: 100;
	}
	.ft_bnr a {
		width: 100% !important;
	}
	.ft_bnr .flx {
		display: flex;
		justify-content: space-between;
	}
	.ft_bnr img {
		display: inline-block;
	}
	.ft_bnr > div {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.ft_bnr > div > img {
		max-width: 8%;
	}
	.ft_bnr h3 {
		text-align: center;
	}
	.ft_bnr h4 {
		margin: 0 0 5px 0;
		text-align: center;
	}




	.cp_close_alert {
		padding-left: 19px;
		padding-bottom: 3px;
		font-size: 14px;
		color: #C70014;
		font-weight: bold;
		margin: 25px 20px 20px;
		padding: 15px;
		border: solid 1px #df6177;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		background-color: #fcf0f2;
		margin-bottom: 30px;
	}

	.red {
		color: #cc0033;
	}

	.caption {
		font-size: 12px;
		font-weight: normal;
	}

	.caption.kv {
		padding: 0 11px 11px;
	}

	strong {
		font-weight: bold;
	}

	.sec {
		padding: 0 11px 11px;
		font-size: 15px;
		color: #000000;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing: 0.05em;
		font-feature-settings: "palt";
		background: #ffffff;
		position: relative;
	}


	#lower .sec {
		margin: 0 0 15px 0;
	}

	.sec h2 img {
		margin: 0 auto;
	}

	#lower .sec h2 {
		margin: 0 0 12.5px 0;
		padding: 8px 12.5px;
		font-size: 20px;
		color: #ffffff;
		text-align: left;
		background: #cc0033;
	}

	.sec p:not(:last-child) {
		margin: 0 0 1em 0;
	}

	.sec a {
		color: #000000;
	}




	#lower .sec .acc {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#lower .sec .acc:after {
		content: '';
		width: 22px;
		height: 22px;
		margin: 0 0 0 10px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icn_arrow_c.png) no-repeat;
		background-size: cover;
		display: block;
	}
	#lower .sec .acc.close:after {
		content: '';
		width: 22px;
		height: 22px;
		margin: 0 0 0 10px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icn_arrow_c.png) no-repeat;
		background-size: cover;
		transform:rotate(180deg);
		display: block;
	}



	/*	index
	------------------------------------------- */
	#lower .sec.index {
		padding: 15px 25px 0;
	}

	#lower .sec.index ul li {
		margin: 0 0 7.5px 0;
		font-size: 15px;
	}

	#lower .sec.index ul li:last-of-type {
		margin: 0;
	}



	/*	flowlist
	------------------------------------------- */
	#lower .sec.flowlist {
		text-align: center;
	}
	#lower .sec.flowlist h3 {
		margin: 0 0 15px 0;
		padding: 0;
		font-size: 15px;
		text-align: center;
		border-bottom: 1.5px solid #000000;
		background: #ffffff;
		display: inline-block;
		box-sizing: border-box;
		position: relative;
	}
	#lower .sec.flowlist h3:before {
		content: '';
		position: absolute;
		bottom: -12px;
		left: 50%;
		margin-left: -8.5px;
		border: 7px solid transparent;
		border-top: 7px solid #ffffff;
		z-index: 2;
	}
	#lower .sec.flowlist h3:after {
		content: '';
		position: absolute;
		bottom: -15px;
		left: 50%;
		margin-left: -8.5px;
		border: 7px solid transparent;
		border-top: 7px solid #000000;
		z-index: 1;
	}
	#lower .sec.flowlist .btn {
		margin: 0 0 5px 0;
		display: block;
	}
	#lower .sec.flowlist > p.caption:last-of-type {
		text-align: justify;
	}
	#lower .sec.flowlist .slide_shoplist {
		margin: 0 0 25px 0;
		padding: 0 0 10px 0;
		font-weight: normal;
		display: flex;
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
	}
	#lower .sec.flowlist .slide_shoplist > div {
		width: 190px;
		margin: 0 10px 0 0;
		flex: 0 0 auto;
		position: relative;
	}
	#lower .sec.flowlist .slide_shoplist > div:not(:last-of-type):after {
		content: '';
		width: 25.5px;
		height: 35px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icn_arrow_sbl.png);
		background-size: cover;
		display: block;
		position: absolute;
		top: 38%;
		right: -10%;
		z-index: 2;
	}
	#lower .sec.flowlist .slide_shoplist > div img {
		margin: 0 0 5px 0;
	}
	#lower .sec.flowlist .slide_shoplist > div p {
		width: 80%;
		margin: 0 auto;
		text-align: justify;
	}
	#lower .sec.flowlist .youtubeMovie iframe {
		width: 100%;
	}




	.sec.banner {
		padding: 0 0 11px;
	}
	.sec.banner.mynapt {
		padding: 0 11px 0;
	}
	.sec.banner.plus {
		padding: 0 11px 0;
	}



	#lower .sec.campaign {
		padding-top: 11px;
		padding-bottom: 20px;
		color: #ffffff;
		background: #cc0033;
	}
	#lower .sec.campaign h2 {
		padding: 8px 12.5px 0;
	}
	#lower .sec.campaign h2 + p {
		font-weight: bold;
	}
	#lower .sec.campaign h2 img {
		margin: 0 auto;
	}




	#lower .sec.setting {
		color: #ffffff;
		background: #cc0033;
	}
	#lower .sec.setting {
		padding-top: 11px;
		margin-bottom: 25px;
	}
	#lower .sec.setting h2 {
		padding: 8px 12.5px 0;
		text-align: center;
		line-height: 1.25;
	}
	#lower .sec.setting h2 img {
		margin: 0 auto;
	}


	#lower .sec.setting .app_dl {
		margin: 0 0 8px 0;
		padding: 7.5px 7.5px 7.5px 12.5px;
		color: #cc0033;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background: #ffffff;
	}
	#lower .sec.setting .app_dl h3,
	#lower .sec.setting .app_dl a {
		width: 48%;
		font-size: 19px;
		line-height: 1.25;
	}


	#lower .sec.setting .acc_cont {
		color: #000000;
		display: none;
	}
	#lower .sec.setting .acc_cont ul {
		padding: 22.5px 20px 20px;
		background: #ffffff;
	}
	#lower .sec.setting .acc_cont ul li {
		margin: 0 0 5px 0;
		font-size: 15px;
	}
	#lower .sec.setting .acc_cont > div {
		padding: 25px 20px 20px;
		background: #ffffff;
	}
	#lower .sec.setting .acc_cont > div:last-of-type {
		margin: 4px 0 0 0;
	}
	#lower .sec.setting .acc_cont > div > h3 {
		margin: 0 0 5px 0;
		font-size: 21px;
	}
	#lower .sec.setting .acc_cont > div > h3.setting_other_card {
		margin-top: 40px;
		font-size: 18px;
	}
	#lower .sec.setting .acc_cont > div dl {
		margin: 25px 0 0 0;
	}
	#lower .sec.setting .acc_cont > div dl dt {
		margin: 0 0 15px 0;
		display: flex;
		align-items: center;
	}
	#lower .sec.setting .acc_cont > div dl dt .num {
		width: 37px;
		height: 42px;
		margin: 0 7.5px 0 0;
		font-size: 24px;
		color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #cc0033;
	}
	#lower .sec.setting .acc_cont > div dl dt .num.txt {
		width: auto;
		padding: 0 7.5px;
	}
	#lower .sec.setting .acc_cont > div dl dt h4 {
		font-size: 17.5px;
	}
	#lower .sec.setting .acc_cont > div dl dt h4 sup {
		font-size: 0.7em;
	}
	#lower .sec.setting .acc_cont > div dl dd:not(:last-child) {
		margin: 0 0 30px 0;
		position: relative;
	}
	#lower .sec.setting .acc_cont > div dl dd:not(:last-child):after {
		content: '';
		width: 52.5px;
		height: 23px;
		background: url(/keitai_payment/campaign/dpay_ouen/images/icon_arrow_gr.png);
		background-size: cover;
		display: block;
		position: absolute;
		bottom: -32.5px;
		left: 50%;
		transform: translateX(-50%);
	}
	#lower .sec.setting .acc_cont > div dl dd img {
		margin: 0 0 10px 0;
	}




	#lower .sec.setting .acc {
		padding: 6px 0;
		font-size: 15px;
		color: #6b6b6b;
		font-weight: normal;
		background: #ffffff;
	}




	#lower .sec.inquiry {
		padding-bottom: 0;
		color: #6b6b6b;
	}
	#lower .sec.inquiry > div {
		margin: 0 0 20px 0;
		padding: 0 15px;
	}
	#lower .sec.inquiry > div.box {
		padding: 15px;
		border: solid 6px #d1d0d0;
	}
	#lower .sec.inquiry h2 {
		color: #ffffff;
		background: #000000;
	}
	#lower .sec.inquiry h4 {
		font-size: 25px;
	}
	#lower .sec.inquiry h4 a {
		color: #6b6b6b;
		text-decoration: none;
	}
	#lower .sec.inquiry h4 span {
		font-size: 0.7em;
	}
	#lower .sec.inquiry p:not(.caption) {
		margin: 0 0 0.5em 0;
		font-size: 15px;
		font-weight: normal;
	}
	#lower .sec.inquiry p:last-of-type {
		margin: 0;
	}
	#lower .sec.inquiry hr {
		margin: 15px 0;
		border-top: solid 1px #eeeeee;
	}




	#lower .sec.cp {
		margin-bottom: 15px;
		padding-top: 25px;
		color: #ffffff;
		background: #cc0033;
	}
	#lower .sec.cp h2 {
		padding: 0;
	}
	#lower .sec.cp h2 img {
		margin: 0 auto;
	}
	#lower .sec.cp ul {
		padding: 17.5px 18.5px 22.5px;
		background: #ffffff;
	}
	#lower .sec.cp ul li:not(:last-of-type) {
		margin: 0 0 32.5px 0;
	}
	#lower .sec.cp ul li h4 img {
		margin: 0 auto 5px;
	}
	



	/*-------------------------------------------
	応募要項
	-------------------------------------------*/
	.requirements {
		margin: 0;
		padding: 0;
		position: relative;
		overflow: visible;
	}
	.requirements:before {
		position: absolute;
		left: 0;
		top: -38px;
	}
	.requirements:after {
		position: absolute;
		left: 0;
		bottom: -38px;
	}
	.requirements a {
		color: #006699;
		text-decoration: underline;
	}
	.requirements h3 {
		margin: 0 0 1em 0;
		padding: 0 20px;
		height: 30px;
		font-size: 1.2em;
		line-height: 30px;
		color: #ffffff;
		background: #d60038;
	}
	.requirements.notes h3 {
		color: #000000;
		background: #cccccc;
	}
	.requirements h4 {
		margin: 0 0 30px 0;
		padding: 0 20px;
		font-size: 1.2em;
		color: #cc0033;
	}
	.requirements h5 {
		margin: 0 0 0.25em 0;
		padding: 0 20px;
		font-size: 1em;
	}
	.requirements .title {
		margin: 0;
		padding: 0.75em;
		font-size: 1.7em;
		font-weight: bold;
		text-align: center;
		color: #cc0033;
	}
	.requirements p {
		margin: 0 0 1em 0;
		padding: 0 20px;
		line-height: 1.25em;
	}
	.requirements p.indent {
		margin: 0 0 1em 0;
		padding: 0 20px 0 2em;
		text-indent: -1em;
	}
	.requirements p.indentall {
		margin: 0 0 1em 0;
		padding: 0 20px 0 2em;
	}
	.requirements ul {
		margin: 0 0 1em 0;
		padding: 0 20px;
	}
	.requirements ul li {
		margin-left: 1em;
		margin-bottom: 0.5em;
		list-style: disc;
		line-height: 1.25em;
	}
	.requirements ul.nd li {
		text-indent: -0.75em;
		padding-left: 0em;
		list-style: none;
	}
	.requirements ul li div.period {
		padding: 0.5em 0.75em 0.25em 0.75em;
		border: solid 2px #d00e31;
	}
	.requirements ul li div.period h5 {
		padding: 0;
	}
	.requirements ul li div.period p {
		margin: 0 0 0.25em 0;
		padding: 0;
	}
	.requirements table {
		width: calc(100% - 20px);
		margin: 0 auto 1em;
		border-collapse: collapse;
	}
	.requirements table th,
	.requirements table td {
		width: calc(100% / 4);
		padding: 0.25em 0;
		text-align: center;
		border: solid 1px #000000;
	}
	.application_footer {
		margin: 0 0 1em 0;
	}
	#footer .footNavIn p a img {
		display: inline;
		vertical-align: baseline;
	}
}




#sotsuWrapper .sotsukakunin {
	width: 100%;
    height: 80%;
    margin: 50px auto;
    text-align: center;
}
#sotsuWrapper .sotsukakunin p {
	margin-bottom: 1em;
}
#sotsuWrapper .sotsukakunin p.link {
	word-break: break-all;
}




@media screen and (min-width: 769px), print {
	.owabi {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.owabi p {
		font-size: 24px;
		color: #ff0000;
		border: 3px solid #ff0000;
		padding: 10px 20px;
		box-sizing: border-box;
	}
}




@media screen and (max-width: 768px) {
	.owabi {
		margin-top: 10px;
		margin-bottom: 10px;
		padding: 10px 15px;
		box-sizing: border-box;
	}
	.owabi p {
		font-size: 15px;
		color: #ff0000;
		border: 2px solid #ff0000;
		padding: 10px 20px;
		box-sizing: border-box;
	}
}




/* 終了対応 */
.cpCloseAlertWrp {
	width: 100%;
	max-width: 808px;
	margin: 0 auto;
	display: table;
}

.cpCloseAlert {
	padding-left: 19px;
	padding-bottom: 3px;
	color: #C70014;
	font-size: 14px;
	font-weight: bold;
	margin: 25px 20px 20px;
	padding: 15px;
	border: solid 1px #df6177;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-o-border-radius: 5px;
	border-radius: 5px;
	background-color: #fcf0f2;
	margin-bottom: 30px;
}

/* ------------------------------------------------------ */
/* End */
/* ------------------------------------------------------ */
