@charset "UTF-8";
main {
	font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
}
.bgYellow {
	background: url(../img/bg_01.png) repeat left top;
}
.bgPurple {
	background: url(../img/bg_02.png) repeat left top;
}
.bgRed {
	background-color: #ffa8ac;
}
.linkBtn {
	max-width: 744px;
	width: 96.9%;
	margin: 0 auto;
}
a.txtLink {
	text-decoration: underline;
	color: #0000ff;
	display: inline;
}
.contsTtlImg {
	max-width: 1080px;
	width: 100%;
	margin: 0;
	padding: 0;
}
.cRed {
	color: #ff0000;
}
.aplWrap * {
	box-sizing: border-box;
}
.aplWrap {
	max-width: 880px;
	width: 81.5%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 auto;
}
.aplBox {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	background: #FFF;
	border-radius: 14px;
}
.aplIcon, .aplName, .aplLink {
	width: 100%;
}
.aplName {
	font-size: 16px;
	margin-top: 5%;
}
.aplLink {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 12% auto 0;
  padding: 7% 1em 7.5% 2.0em;
  -webkit-border-radius: 50px;
  border-radius: 50px;
  background: #ff5a00;
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}
.contsTxt.cpcode {
	max-width: 880px;
	padding: 0 0 2.77778%;
}
.copyrightList {
	font-size: 16px;
	max-width: 880px;
	width: 81.5%;
	margin: 4.4% auto 6.25%;
}
@media only screen and (min-width: 768px) {
	.aplBox {
		width: calc((100% - 40px)/3);
		padding: 20px;
		margin: 0 20px 30px 0;
	}
	.aplBox:nth-of-type(3n) {
		margin-right: 0;
	}
}
@media only screen and (max-width: 1079px) {
	.aplLink {
		font-size: 16px;
		padding: 0.7em 1em 0.7em 2.0em;
	}
}
@media only screen and (max-width: 767px) {
	.aplBox {
		width: calc((100% - 3.125%)/2);
		padding: 3.125%;
		margin: 0 3.125% 4.687% 0;
	}
	.aplBox:nth-of-type(2n) {
		margin-right: 0;
	}
	.aplLink {
  	font-size: 16px;
		padding: 0.7em 0.2em 0.7em 1.0em;
  }
}
@media only screen and (max-width: 640px) {
	.aplWrap {
		width: 92%;
	}
	.aplName {
  	font-size: 12px;
  }
	.aplLink {
		font-size: 16px;
	}
	.copyrightList{
		font-size: 14px;
	}
}
@media only screen and (max-width: 460px) {
	.aplBox {
		border-radius: 10px;
	}
	.aplName {
  	font-size: 11px;
  }
	.aplLink {
		font-size: 14px;
	}
}

/* キャンペーンの詳細とご注意事項
======================================================================== */
/* ご注意事項 */
.cpNotes2 {
	max-width: 880px;
	width: 91.7%;
	margin: 0 auto;
}
.cpNotesBtnWrap2 {
	width: 100%;
	text-align: center;
	position: relative;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}
.cpNotesBtn2 {
	position: relative;
	z-index: 1;
	display: table;
	width: 100%;
}
.cpNotesBtn2 a {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
}
.cpNotesFlame2 {
	position: relative;
	 display: none; 
	width: 100%;
	margin: -5% auto 0;
	padding: 9.5% 0 0;
	border:4px solid #ffb534;
	border-radius: 12px;
	background: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cpNotesList {
	position: relative;
	z-index: 1;
	padding-top: 0;
}
.cpNotesList > li:first-of-type {
	margin-top: 0;
}
.cpNotesSubttl {
	margin-top: 1em;
}
.cpNotesItem {
	text-indent: -1.0em;
	padding-left: 1.0em;
}
.cpNotesItem02{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.cpNotesItem03{
	text-indent: -3em;
	padding-left: 3em;
}
@media only screen and (min-width: 641px) {
	.cpNotesTtl {
		font-size: 26px;
	}
}
@media only screen and (max-width: 640px) {
	.cpNotesSubttl {
		border-radius: 10px;
	}
	.cpNotesFlame2 {
		border-radius: 9px;
		border-width: 3px;
	}
}
@media only screen and (max-width: 480px) {
	.cpNotesFlame2 {
		border-radius: 6px;
		border-width: 2px;
	}
}

/*フローティングバナー*/
.floatSpBnr {
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	display: none;
	z-index: 2;
	box-sizing: border-box;
}
.floatSpLink {
	display: block;
}
.floatSpBnr img {
	width: 100%;
}
.floatPcBnr {
	height: 300px;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	display: block;
	z-index: 122;
}
a.floatPcLink {
	display: block;
}
@media only screen and (max-width: 640px) {
	.floatSpBnr,a.floatSpLink {
		display: block;
	}
	.floatPcBnr,a.floatPcLink {
		display: none;
	}
	.dh-footer {
		padding-bottom: 18% !important;
	}
}