@charset "UTF-8";
.clearfix{
	overflow:hidden;
	height:100%;
	min-height: 1px;
}

.txtIndent {
	padding-left: 1.0em;
	text-indent: -1.0em;
}

.txtLink {
	color: #0000ff;
}

/* ------------------------------ */
/*PC用CSS                         */
/* ------------------------------ */
@media screen and (min-width: 769px), print {
#bodyInr{
	margin: 0 auto 15px;
	width: 1000px;
}
h1{
	margin-bottom: 10px;
}
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{
}
.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{
}
.cpnInfo dl dd dl{
	margin-top: -0.6em;
}
.cpnInfo dl dd dl dt{
	margin-top: 0.8em;
	font-size: 105%;
	font-weight: normal;
}
.cpnInfo dl dd dl dd{
}

/* ご注意事項 */
.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;
}
img.explain_img {
    margin-top: 5%;
}
.main {
	width: 768px;
	margin: 0 auto 40px;
	padding: 0;
	color: #000000;
}

.main * {
	line-height: 1.25;
	box-sizing: border-box;
}

.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;
}

.red {
	color: #cc0033;
}

.sec {
	font-feature-settings: "palt";
	position: relative;
	overflow: hidden;
}

.sec a {
	color: #000000;
}

h1 {
	margin-bottom: 0;
}

#cpn {
	margin-top: 5%;
    margin-bottom: 5%;
}

#term {
	background: #ffd0e0;
}

#term .border {
	margin: 22px;
	padding: 18px 18px 0;
	border: solid 8px #000000;
	background: #ffffff;
}

#term h2 {
	margin-bottom: 18px;
	font-size: 35px;
	text-align: center;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	display: block;
	position: relative;
}

#term h2:after {
	content: '';
	width: 46px;
	height: 46px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	background: url(../images/icon_open_tou.png) no-repeat;
	background-size: 100%;
	display: block;
}

#term h2.close:after {
	background: url(../images/icon_close_tou.png) no-repeat;
	background-size: 100%;
}

#term .btn_close {
	text-align: right;
	display: none;
}

#term .btn_close img {
	margin: 0;
	cursor: pointer;
}

#term .detail {
	margin: 0 0 10px 0;
	position: relative;
	display: none;
}

#term .caption {
	margin-bottom: 22px;
	margin-right: 20px;
	font-size: 2.2rem;
	text-align: right;
}

#entry.sec{
	margin: 50px 0 20px;
}
#entry.sec .caption{
	margin: 1.8%;
}

.attention {
	margin: 0 0 1em 0;
	padding: 1em;
	border: solid 4px #cc0033;
}

.attention strong {
	margin: 0 0 1em 0;
	font-size: 1.2em;
	color: #cc0033;
	text-align: center;
	font-weight: bold;
	display: block;
}

.ft_bnr {
	width: 768px;
	padding: 40px 0 20px;
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0);
	text-align: center;
	background: #ffffff;
	z-index: 100;
}

.ft_bnr a {
	margin: 0 0 1% 0;
	display: block;
}

.ft_bnr .caption {
	font-size: 1.4em;
}

.cp_close_alert_wrap {
	max-width: 768px;
	margin: 0 auto;
	display: table;
	width: 100%;
}

.cp_close_alert {
	margin: 0 auto 30px;
	padding: 15px;
	font-size: 14px;
	color: #c70014;
	text-align: justify;
	font-weight: bold;
	border: solid 1px #df6177;
	border-radius: 5px;
	background-color: #fcf0f2;
}

/*-------------------------------------------
応募要項
-------------------------------------------*/
#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: 10px;
	font-size: 2rem;
	color: #ffffff;
	line-height: 1;
	background: #d60038;
}

#requirements .notes h3 {
	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;
	font-size: 1.6rem;
	text-align: justify;
	line-height: 1.5;
	word-break: break-all;
}

#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-bottom: 0.5em;
	font-size: 1.6rem;
	text-align: justify;
	list-style: disc;
	line-height: 1.5;
	word-break: break-all;
}

#requirements ul.nd li {
	padding-left: 1em;
	text-indent: -1em;
	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;
}

#requirements sup {
	font-size: 0.8em;
}

.application_footer {
	margin: 0 0 30px 0;
}

#footer .footNavIn p a img {
	display: inline;
	vertical-align: baseline;
}

.cpn_code {
	margin: 2em 0 0;
	font-size: 1.5rem;
	text-align: right;
	background: #ffffff;
}

.flx-sb {
	display: flex;
	justify-content: space-between;
}

.flx-sb.wrap {
	flex-wrap: wrap;
}

.kv {
	padding-top: 1.8%;
	border: solid 1px #000000;
}

.kv_client{
	margin-top: 15px;
}
.kv_client .caption {
	margin: 1.8%;
}

.cpn_outer {
	margin: 0 2.2%;
	border-radius: 20px;
	background: #ffd0e0;
	overflow: hidden;
}

.cpn_inner {
	margin: 0 2.2% 2.2%;
	padding: 2.2% 0 0;
	border-radius: 20px;
	background: #ffd0e0;
	overflow: hidden;
}

.cpn_inner .more {
	padding: 0;
	padding-bottom: 2.5%;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
}

.more_red {
	color: #CC0033;
}

.bnr_list.flx-sb {
	display: flex;
	justify-content: center;
	margin-bottom: 3.8%;
	gap: 50px;
}

.bnr_list a {
	width: auto;
	max-width: 100%;
}

.bnr_list02 {
	margin: 3.8%;
}

.bnr_list02 a {
	width: auto;
	max-width: 100%;
}

.bnr_list02 li {
	margin-bottom: 3.8%;
}

.cpn_inner p{
	padding: 3%;
	font-size: 18px;
}

.bnr_area {
    margin: 30px 15px;
}
.bnr_area>img:first-child {
    margin-bottom: 15px;
}
.bnr_area a {
	max-width: 640px;
	display: block;
	margin: 0 auto;
}
}

/* ------------------------------------------------------ */
/* ------------------------------ */
/* SP用CSS                      */
/* ------------------------------ */
@media only screen and (max-width: 768px) {
	#bodyInr{
		margin: 0 auto 15px;
		width: 100%;
	}
	h1{
		margin-bottom: 10px;
	}
	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;
	}
	#cpn {
		margin-top: 5%;
		margin-bottom: 5%;
	}
	#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{
	}
	.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{
	}
	.cpnInfo dl dd dl{
		margin-top: -0.6em;
	}
	.cpnInfo dl dd dl dt{
		margin-top: 0.8em;
		font-size: 105%;
		font-weight: normal;
	}
	.cpnInfo dl dd dl dd{
	}
	/* ご注意事項 */
	.campaign-att{
	}
	.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;
	}
	img.explain_img {
		margin-top: 5%;
	}
	
	.main {
		margin: 0 0 20px 0;
		padding: 0;
	}
	
	.main * {
		line-height: 1.25;
		box-sizing: border-box;
	}
	
	.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;
	}
	
	.cp_close_alert {
		margin: 25px 20px 30px;
		padding: 15px;
		font-size: 14px;
		color: #c70014;
		text-align: justify;
		font-weight: bold;
		border: solid 1px #df6177;
		border-radius: 5px;
		background-color: #fcf0f2;
	}
	
	.red {
		color: #cc0033;
	}
	
	.sec {
		font-feature-settings: "palt";
		position: relative;
		overflow: hidden;
	}
	
	h1 {
		margin-bottom: 0;
	}
	
	#term {
		background: #ffd0e0;
	}
	
	#term .border {
		margin: 11px;
		padding: 9px 9px 0;
		border: solid 4px #000000;
		background: #ffffff;
	}
	
	#term h2 {
		margin-bottom: 9px;
		font-size: 17px;
		text-align: center;
		font-weight: bold;
		line-height: 1;
		cursor: pointer;
		display: block;
		position: relative;
	}
	
	#term h2:after {
		content: '';
		width: 23px;
		height: 23px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		background: url(../images/icon_open_tou.png) no-repeat;
		background-size: 100%;
		display: block;
	}
	
	#term h2.close:after {
		background: url(../images/icon_close_tou.png) no-repeat;
		background-size: 100%;
	}
	
	#term .btn_close {
		text-align: right;
		display: none;
	}
	
	#term .btn_close img {
		width: 4vw;
		margin: 0;
		cursor: pointer;
	}
	
	#term .detail {
		margin: 0 0 5px 0;
		position: relative;
		display: none;
	}
	
	#term .caption {
		margin-bottom: 11px;
		font-size: 0.9em;
		text-align: right;
		margin-right: 10px;
	}

	#entry.sec{
		margin: 40px 0 10px;
	}
	#entry.sec .caption{
		margin: 1.8%;
		font-size: 11.4px;
	}
	
	.banner {
		margin: 0 0 10px 0;
		display: flex;
		justify-content: space-between;
	}
	
	.attention {
		margin: 0 1em 1em;
		padding: 0.5em;
		border: solid 2px #cc0033;
	}
	
	.attention strong {
		margin: 0 0 1em 0;
		color: #cc0033;
		text-align: center;
		font-weight: bold;
		display: block;
	}
	
	.ft_bnr {
		padding: 30px 0 20px;
		background: #ffffff;
		z-index: 100;
		position: fixed;
		bottom: 0;
		left: 0;
		text-align: center;
		z-index: 100;
	}
	
	
	.ft_bnr a {
		margin: 0 0 1% 0;
		display: block;
	}
	
	.ft_bnr .caption {
		font-size: 0.8em;
	}
	
	/*-------------------------------------------
	応募要項
	-------------------------------------------*/
	#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: 10px;
		font-size: 1.2em;
		color: #ffffff;
		line-height: 1;
		background: #d60038;
	}
	
	#requirements .notes h3 {
		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;
		line-height: 1.25em;
		text-align: justify;
		word-break: break-all;
	}
	
	#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;
	}
	
	#requirements ul li {
		margin-bottom: 0.5em;
		text-align: justify;
		list-style: disc;
		line-height: 1.25em;
		word-break: break-all;
	}
	
	#requirements ul.nd li {
		text-align: justify;
		text-indent: -1em;
		padding-left: 1em;
		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;
	}
	
	#requirements sup {
		font-size: 0.8em;
	}
	
	.application_footer {
		margin: 0 0 1em 0;
	}
	
	#footer .footNavIn p a img {
		display: inline;
		vertical-align: baseline;
	}

	.cpn_code {
		margin: 2em 0.5em 0;
		text-align: right;
		background: #ffffff;
	}
	
	.flx-sb {
		display: flex;
		justify-content: space-between;
	}
	
	.flx-sb.wrap {
		flex-wrap: wrap;
	}
	
	.kv {
		padding-top: 1.8%;
		border: solid 1px #000000;
	}

	.kv_client{
		margin-top: 10px;
	}
	.kv_client .caption {
		margin: 1.8%;
	}
	
	.cpn_outer {
		margin: 0 2.2%;
		border-radius: 10px;
    	background: #ffd0e0;
		overflow: hidden;
	}
	
	.cpn_inner {
		margin: 0 2.2% 2.2%;
		padding: 2.2% 0 0;
		border-radius: 20px;
		background: #ffd0e0;
		overflow: hidden;
	}

	.cpn_inner .more {
        padding: 0;
        padding-bottom: 3.5%;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
	}
	
	.more_red {
		color: #CC0033;
	}
	
	.bnr_list.flx-sb {
		justify-content: center;
        flex-wrap: nowrap;
        gap: 20px;
        margin-top: 10px;
        margin-bottom: 3.8%;
	}

	.bnr_list a {
		width: auto;
		max-width: 100%;
	}

	.bnr_list02 {
		margin: 3.8%;
	}
	
	.bnr_list02 a {
		width: auto;
		max-width: 100%;
	}
	
	.bnr_list02 li {
		margin-bottom: 3.8%;
	}

	.cpn_inner p{
		padding: 3%;
		font-size: 10px;
	}
	.bnr_area {
		margin: 30px 15px;
	}
	.bnr_area img:first-child {
		margin-bottom: 15px;
	}
}
/* ------------------------------------------------------ */
/* End */
/* ------------------------------------------------------ */
