@charset "utf-8";


/* -----------------------------------------------------------------------------

	input

----------------------------------------------------------------------------- */

#contents_block .input .leadTxt {
	text-align: center;
	margin-bottom: 50px;
}

/* error */
#contents_block .box.error .errorTxt {
	color: #e60012;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
	display: block;
}
#contents_block .box.error input {
	border: 2px solid #e60012;
	background: #fff4f9;
}
#contents_block .box.error span.placeholder {
	color: #e60012 !important;
}

/* .store
---------------------------------------------*/
#contents_block .store {
	text-align: center;
	font-weight: bold;
	padding: 45px 0;
	margin-bottom: 55px;
	background: url(../img/bg_store.png) no-repeat center top, url(../img/bg_store.png) no-repeat center bottom;
}
#contents_block .store .ttl {
	font-size: 52px;
	margin-bottom: 30px;
	background: #e60012;
	color: #fff;
	padding: 20px 20px 15px;
	line-height: 1.2;
}
#contents_block .store .storeName {
	/*padding-bottom: 55px;
	margin-bottom: 15px;
	background: url(../img/icon_store01.png) no-repeat center bottom;*/
}
#contents_block .store .storeName figure {
	width: 120px;
	margin: 0 auto 10px;
}
#contents_block .store .storeName figure img {
	width: 100%;
	height: auto;
}
#contents_block .store .storeName p {
	font-size: 42px;
}
#contents_block .store .cpName p {
	font-size: 42px;
}
#contents_block .store .cpName p span {
	display: block;
	font-size: 32px;
	margin-top: 10px;
}


/* #summary
---------------------------------------------*/
#contents_block #summary h2 {
	text-align: center;
	margin-bottom: 55px;
}
#contents_block #summary dl dt {
	font-weight: bold;
}
#contents_block #summary dl dt:before {
	content: "●";
	color: #e60012;
	display: inline;
}
#contents_block #summary dl dd {
	margin-bottom: 60px;
}
#contents_block #summary dl dd:last-child {
	margin-bottom: 0;
}
#contents_block #summary dl dd ul li {
	text-indent: -1em;
	padding-left: 1em;
}
#contents_block #summary dl dd ul li + li {
	margin-top: 30px;
}
#contents_block #summary dl dd ul li figure {
	margin-top: 25px;
}


/* #attention
---------------------------------------------*/
#contents_block #attention {
	margin-top: 60px;
}
#contents_block #attention .acdBtn .acdCont {
	background: rgb(255, 255, 255);
	border: 4px solid rgb(230, 0, 18);
	padding: 80px 40px;
}
#contents_block #attention .acdBtn .acdCont dl dt {
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
	position: relative;
}
#contents_block #attention .acdBtn .acdCont dl dt span {
	background: #fff;
	padding: 0 30px;
	position: relative;
	z-index: 2;
	display: inline-block;
	line-height: 1.3;
}
#contents_block #attention .acdBtn .acdCont dl dt:after {
	content: "";
	background: #e60012;
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -1px;
	z-index: 1px;
}
#contents_block #attention .acdBtn .acdCont dl dd figure {
	margin-top: 25px;
}
#contents_block #attention .acdBtn .acdCont dl + dl {
	margin-top: 60px;
}


/* #point
---------------------------------------------*/
#contents_block #point {
	margin-top: 60px;
}
#contents_block #point h2 {
	text-align: center;
	margin-bottom: 70px;
}
#contents_block #point .acdBtn .acdCont {
	display: none;
}
#contents_block #point ul.pointList > li {
	background: #fff;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
	padding: 50px 40px;
}
#contents_block #point ul.pointList > li + li {
	margin-top: 20px;
}
#contents_block #point ul.pointList > li dl dt {
	font-size: 36px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 40px;
}
#contents_block #point ul.pointList > li dl dt span {
	display: block;
	text-align: center;
	margin-bottom: 30px;
	line-height: 0;
}
#contents_block #point ul.pointList > li dl dd .note {
	color: #555;
	margin-top: 20px;
}
#contents_block #point ul.pointList > li dl dd .txtList li  {
	text-indent: -1em;
	padding-left: 1em;
}
#contents_block #point ul.pointList > li dl dd .txtList li + li {
	margin-top: 20px;
}


/* #ng
---------------------------------------------*/
#contents_block #ng {
	padding-bottom: 20px;
	margin-top: 60px;
}
#contents_block #ng h2 {
	margin-bottom: 40px;
}
#contents_block #ng .txtList {
	border: solid 2px #e60012;
	padding: 50px 60px;
	margin-top: 30px;
	background: #fff;
}
#contents_block #ng .txtList li {
	background: url(../img/icon_ng01.png) no-repeat center left;
	padding-left: 40px;
}
#contents_block #ng .txtList li + li {
	margin-top: 5px;
}
#contents_block #ng .imgList {
	margin-top: 40px;
	text-align: center;
}
#contents_block #ng .imgList li {
	display: inline-block;
	font-size: 0;
	text-align: center;
}
#contents_block #ng .imgList li:nth-child(2n) {
	margin-left: 20px;
}
#contents_block #ng .imgList li span {
	display: block;
	text-align: center;
	font-size: 28px;
	margin-top: 20px;
	margin-bottom: 30px;
}
#contents_block #ng .imgList li span b {
	background: url(../img/icon_ng02.png) no-repeat center left;
	padding-left: 40px;
	font-weight: normal;
}


/* #form
---------------------------------------------*/
#contents_block #form {
	padding-top: 20px;
	background: #fff;
	padding-bottom: 180px;
}
#contents_block #form h2 {
	text-align: center;
	margin-bottom: 70px;
}
#contents_block #form .txt .note {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
	color: #555;
	margin-top: 5px;
}
#contents_block #form .formTable {
	margin-top: 60px;
}
#contents_block #form .formTable > dl + dl {
	margin-top: 60px;
}
#contents_block #form .formTable > dl dt {
	position: relative;
	padding-left: 25px;
	font-weight: bold;
	font-size: 30px;
	margin-bottom: 30px;
}
#contents_block #form .formTable > dl dt:before {
	content: "";
	width: 10px;
	height: 36px;
	position: absolute;
	background: #e60012;
	left: 0;
	top: 50%;
	margin-top: -18px;
	border-radius: 10px;
}
#contents_block #form .formTable > dl dt span {
	display: inline-block;
	width: 80px;
	height: 40px;
	line-height: 40px;
	background: #e60012;
	color: #fff;
	font-size: 22px;
	text-align: center;
	vertical-align: top;
	margin: 0 0 0 20px;
	position: relative;
	top: 0px;
}
/*#contents_block #form .formTable > dl dd {
	padding-left: 25px;
}*/
#contents_block #form .formTable > dl dd .list li {
	float: left;
}
#contents_block #form .formTable > dl dd .list li + li {
	margin-left: 30px;
}
#contents_block #form .formTable .note {
	font-size: 28px;
	margin-top: 20px;
}
#contents_block #form .formTable .note li + li {
	margin-top: 10px;
}
#contents_block #form .formTable .remark {
    font-size: 28px;
    margin-top: 10px;
}
#contents_block #form .formTable .remark p + p {
	margin-top: 10px;
}
#contents_block #form .formTable .upload-box {
	display: none;
}
#contents_block #form .formTable .upload-box.on {
	display: block;
}
#contents_block #form .formTable .btnUpload {
	margin-top: 50px;
}
#contents_block #form .formTable .btnUpload input {
	width: 670px;
	height: 153px;
	font-size: 0;
	background: url(../img/btn_upload.png) no-repeat;
	border: none !important;
}
#contents_block #form .formTable .btnUpload.switch {
	margin-top: 0;
	padding-bottom: 30px;
	text-align: center;
	background: #f5f5f5;
}
#contents_block #form .formTable .btnUpload.switch input {
	width: 610px;
	background: url(../img/btn_upload_change.png) no-repeat;
}
#contents_block #form .formTable .upload-info {
	margin-top: 30px;
	text-align: center;
	background: #f5f5f5;
}
#contents_block #form .formTable .upload-info .close {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	width: 90px;
	height: 90px;
}
#contents_block #form .formTable .upload-info.upload{
	position: relative;
}
#contents_block #form .formTable .upload-info.upload .close {
	display: block;
}
#contents_block #form .formTable .upload-info > img {
	width: 50%;
	margin: 40px 0;
}
#contents_block #form .formTable .upload-info img.loading {
	width: 64px;
}
/*cppf連帯*/
#contents_block #form .cppf  {
	margin: 30px 0 90px;
}
#contents_block #form .cppf .txt {
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 80px;
	text-align: center;
}
#contents_block #form .cppf .txt span {
	display: inline-block;
	border-bottom: 4px solid #e60012;
}
#contents_block #form .cppf .txt span:first-child {
	margin-bottom: 5px;
}
#contents_block #form .btn_members_entry span {
	display: block;
	margin-top: 15px;
}
#contents_block #form .cppf > ul {
	margin-top: 15px;
}
#contents_block #form .cppf > ul li {
	text-indent: -1em;
	padding-left: 1em;
}
#contents_block #form .cppf > ul > li + li {
	margin-top: 20px;
}	
#contents_block #form .cppf > ul li dl {
	margin-top: 10px;
	padding-left: 1em;
}
#contents_block #form .formTable > dl.terms {
	margin-top: 50px;
}
#contents_block #form .formTable > dl.terms .termsBox {
	padding: 40px 30px 30px 30px;
	overflow: auto;
	border: 2px solid #c1bfb8;
	border-radius: 4px;
	font-size: 26px;
}
#contents_block #form .formTable > dl.terms .termsBox .inner {
	height: 440px;
	width: 100% !important;
}
#contents_block #form .formTable > dl.terms .termsBox .jspPane {
	padding: 0!important;
}
#contents_block #form .formTable > dl.terms .termsBox .jspDrag {
	background: #e60012;
	border-radius: 8px;
}
#contents_block #form .formTable > dl.terms .termsBox .jspContainer {
	width: 100% !important;
}
#contents_block #form .formTable > dl.terms .termsBox .jspTrack {
	background: #f0f0f0;
	border-radius: 8px;
}
#contents_block #form .formTable > dl.terms .termsBox .jspVerticalBar {
	background: none;
}
#contents_block #form .formTable > dl.terms .termsBox ul li {
	padding-left: 28px;
	text-indent: -28px;
}
#contents_block #form .formTable > dl.terms .termsBox ul li:before {
	content: "●";
	color: #e60012;
	display: inline;
}
#contents_block #form .formTable > dl.terms .termsBox dl {
	margin-top: 25px;
}
#contents_block #form .formTable > dl.terms .termsBox dl dt {
	padding-left: 0;
	font-size: inherit;
	margin-bottom: 5px;
}
#contents_block #form .formTable > dl.terms .termsBox dl dt:before {
	content: none;
}
#contents_block #form .formTable > dl.terms .termsBox dl dd span {
	text-indent: -1em;
	padding-left: 1em;
	display: inline-block;
}
#contents_block #form .formTable > dl.terms .checkTerms {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	margin-top: 50px;
	line-height: 50px;
}
#contents_block #form .formTable .btnConfirm {
	margin-top: 55px;
}

#contents_block #form .formTable .name li {
	float: left;
	width: 48%;
}
#contents_block #form .formTable .name li + li {
	margin-left: 2%;
}
#contents_block #form .formTable .age {
	width: 30%;
}
#contents_block #form .formTable .postcode input {
	width: 42%;
}
#contents_block #form .formTable .btnPostcode {
	margin: 20px 0;
	display: table;
}
#contents_block #form .formTable .btnPostcode button {
	display: table-cell;
}
#contents_block #form .formTable .btnPostcode span {
	display: table-cell;
	width: 385px;
	font-size: 22px;
	vertical-align: middle;
	padding-left: 20px;
}
#contents_block #form .formTable .address li:first-child {
	width: 50%;
}
#contents_block #form .formTable .address li + li {
	margin-top: 20px;
}
#contents_block #form .formTable select#age {
	width: 60%;
}

/* error_area */
#contents_block #form .error_area {
	margin: 60px 0 -20px;
}

/* logout */
#contents_block .logout {
	margin-top: 60px;
	text-align: center;
}
#contents_block .logout a {
	text-decoration: none;
	display: inline-block;
	border-bottom: solid 2px;
	padding-right: 30px;
	background: url(../common/img/louout.png) no-repeat center right / 20px;
}

/* contact */
#contents_block .contact {
	border: solid 8px #f0f0f0;
	text-align: center;
	font-weight: bold;
	padding: 30px;
	margin-top: 60px
}
#contents_block .contact dt {
	font-size: 32px;
	margin-bottom: 5px;
}
#contents_block .contact dd {
	font-size: 24px;
}
#contents_block .contact dd span {
	font-size: 20px;
	display: block;
	font-weight: normal;
}

/* change */
#contents_block .change {
	text-align: center;
	margin-top: 60px;
	padding: 35px 0;
}
#contents_block .change dl dt {
	font-weight: bold;
	font-size: 28px;
	margin-bottom: 10px;
}
#contents_block .change dl .input {
	width: 430px;
	margin: 0 auto;
}
#contents_block .change dl .input input {
	text-align: center;
}
#contents_block .change span.placeholder {
	left: 50% !important;
	margin-left: -60px !important;
}
#contents_block .change .btn_send {
	margin-top: 25px;
}

/* -----------------------------------------------------------------------------

	confirm

----------------------------------------------------------------------------- */
#contents_block .confirm .leadTxt {
	text-align: center;
	margin-bottom: 50px;
}
#contents_block .confirm figure {
	text-align: center;
}
#contents_block .confirm figure + figure {
	margin-top: 40px;
}
#contents_block .confirm .btnSend {
	margin-top: 70px;
}
#contents_block .confirm .btnBack {
	margin-top: 50px;
	text-align: center;
}
#contents_block .confirm .btnBack input {
	background-image: url("../common/img/btn_back.png");
	width: 473px;
	height: 116px;
	background-color: #fff;
	border: none;
	background-repeat: no-repeat;
}




/* -----------------------------------------------------------------------------

	complete

----------------------------------------------------------------------------- */
#contents_block .complete .leadTxt {
	text-align: center;
	margin-bottom: 50px;
}
#contents_block .complete .txt {
	text-align: center;
}
#contents_block .complete .topBtn {
	margin-top: 70px;
}



/* 静的表示用 */
#contents_block #form .formTable .btnConfirm {
	position: relative;
}
#contents_block #form .formTable .btnConfirm a {
	display: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#contents_block #form .formTable .btnConfirm a.test {
	display: block;
}