/* float用ハック */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	/*\*/
	display: block;
	*height: 1%;
	/**/
}

/* margin preset */

.mtb10 {
	margin-top:10px;
	margin-bottom:10px;
}
.mtb20 {
	margin-top:20px;
	margin-bottom:20px;
}
.mtb30 {
	margin-top:30px;
	margin-bottom:30px;
}
.mtb40 {
	margin-top:40px;
	margin-bottom:40px;
}
.mtb50 {
	margin-top:50px;
	margin-bottom:50px;
}
.mtb60 {
	margin-top:60px;
	margin-bottom:60px;
}
.mtb70 {
	margin-top:70px;
	margin-bottom:70px;
}
.mtb80 {
	margin-top:80px;
	margin-bottom:80px;
}
.mtb90 {
	margin-top:90px;
	margin-bottom:90px;
}
.mtb100 {
	margin-top:100px;
	margin-bottom:100px;
}
.mt10 {
	margin-top:10px;
}
.mt20 {
	margin-top:20px;
}
.mt30 {
	margin-top:30px;
}
.mt40 {
	margin-top:40px;
}
.mt50 {
	margin-top:50px;
}
.mt60 {
	margin-top:60px;
}
.mt70 {
	margin-top:70px;
}
.mt80 {
	margin-top:80px;
}
.mt90 {
	margin-top:90px;
}
.mt100 {
	margin-top:100px;
}
.mb10 {
	margin-bottom:10px;
}
.mb20 {
	margin-bottom:20px;
}
.mb30 {
	margin-bottom:30px;
}
.mb40 {
	margin-bottom:40px;
}
.mb50 {
	margin-bottom:50px;
}
.mb60 {
	margin-bottom:60px;
}
.mb70 {
	margin-bottom:70px;
}
.mb80 {
	margin-bottom:80px;
}
.mb90 {
	margin-bottom:90px;
}
.mb100 {
	margin-bottom:100px;
}
.ml10 {
	margin-left:10px;
}
.ml20 {
	margin-left:20px;
}
.ml30 {
	margin-left:30px;
}
.mr10 {
	margin-right:10px;
}
.mr20 {
	margin-right:20px;
}
.mr30 {
	margin-right:30px;
}
.ptb10 {
	padding-top:10px;
	padding-bottom:10px;
}
.ptb20 {
	padding-top:20px;
	padding-bottom:20px;
}
.ptb30 {
	padding-top:30px;
	padding-bottom:30px;
}
.ptb40 {
	padding-top:40px;
	padding-bottom:40px;
}
.ptb50 {
	padding-top:50px;
	padding-bottom:50px;
}
.ptb60 {
	padding-top:60px;
	padding-bottom:60px;
}
.ptb70 {
	padding-top:70px;
	padding-bottom:70px;
}
.ptb80 {
	padding-top:80px;
	padding-bottom:80px;
}
.ptb90 {
	padding-top:90px;
	padding-bottom:90px;
}
.ptb100 {
	padding-top:100px;
	padding-bottom:100px;
}
.pt10 {
	padding-top:10px;
}
.pt20 {
	padding-top:20px;
}
.pt30 {
	padding-top:30px;
}
.pt40 {
	padding-top:40px;
}
.pt50 {
	padding-top:50px;
}
.pt60 {
	padding-top:60px;
}
.pt70 {
	padding-top:70px;
}
.pt80 {
	padding-top:80px;
}
.pt90 {
	padding-top:90px;
}
.pt100 {
	padding-top:100px;
}
.pb10 {
	padding-bottom:10px;
}
.pb20 {
	padding-bottom:20px;
}
.pb30 {
	padding-bottom:30px;
}
.pb40 {
	padding-bottom:40px;
}
.pb50 {
	padding-bottom:50px;
}
.pb60 {
	padding-bottom:60px;
}
.pb70 {
	padding-bottom:70px;
}
.pb80 {
	padding-bottom:80px;
}
.pb90 {
	padding-bottom:90px;
}
.pb100 {
	padding-bottom:100px;
}
.pl10 {
	padding-left:10px;
}
.pl20 {
	padding-left:20px;
}
.pl30 {
	padding-left:30px;
}
.pr10 {
	padding-right:10px;
}
.pr20 {
	padding-right:20px;
}
.pr30 {
	padding-right:30px;
}
.pr70 {
	padding-right:70px;
}
.font110 {
	font-size:110%;
}

.alL{text-align:left!important;}
.alC{text-align:center!important;}
.alR{text-align:right!important;}

.txtS{font-size: 0.8em;}
.txtL{font-size: 1.2em;}

#contents #mainContents {
	width: 780px;
	padding:0;
	margin:0;
}
#contents #mainContents .main-visual h1 {
	padding:0;
	margin:0;
}

/*
#contents #mainContents .attention {
	font-size:11px;
}
#contents #mainContents .review-btn {
	text-align:center;
}
#contents #mainContents .review-method-title {
	width:718px;
	text-align:center;
	display:block;
	margin-bottom:30px;
}
#contents #mainContents .review-method-area {
	width:718px;
	margin:0 31px 20px;
	display:block;
	overflow:hidden;
}
#contents #mainContents .review-method-area .method01 {
	width:44%;
	margin-left:3%;
	padding-right:3%;
	border-right:1px dotted #969696;
	float:left;
	overflow:hidden;
}
#contents #mainContents .review-method-area .method02 {
	width:44%;
	margin-right:3%;
	float:right;
	overflow:hidden;
}
#contents #mainContents .review-method-attention-text {
	margin-left:54px;	
	display:block;
}
#contents #mainContents .campaign-detail-explain {
	width:718px;
	height:1150px;
	background:url(/campaign/review/img/explain-bg.png) top center no-repeat;
	display:block;
	margin:20px 31px 40px;
}

#contents #mainContents .campaign-detail-explain .explain-area {
	width:640px;
	padding:40px 0 0 40px;
	font-family:"ヒラギノ角ゴ StdN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#contents #mainContents .campaign-detail-explain .explain-area h3 {
	font-size:20px;
}
.att-indent {
	padding-left:1em;
	text-indent:-1em;
}

#contents #mainContents .faq_tit {
	background:url(/campaign/w160701/img/pointArea_bg.png) top no-repeat;
}
#contents #mainContents .faq {
	background:url(/campaign/w160701/img/pointArea_bg.png) top no-repeat;
	background-color: #fff8d7;
	border: 2px solid #ffe18f;
	width:780px;
	margin-top: 30px;
	margin-bottom: 20px;
}
#contents #mainContents .faq h2 {
	margin: 15px 0 30px 0;
	text-align:center;
}
	

#contents #mainContents .faq dl dt {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.375;
	color: #2c9ee8;
	padding-left: 25px;
	margin-bottom: 15px;
	background: url(/campaign/w160701/img/tit1_point1.png) left top no-repeat;
}
#contents #mainContents .faq dl dd {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.375;
	color: #f13567;
	padding-left: 25px;
	margin-bottom: 15px;
	background: url(/campaign/w160701/img/tit1_point2.png) left top no-repeat;
}
#mainContents .faq .q_block.clearfix {
	margin-bottom:30px;
}

#contents #mainContents .faq .q1 {
	width: 352px;
	float: left;
	margin-left: 20px;
}
#contents #mainContents .faq .q2 {
	width: 352px;
	float: right;
	margin-right: 20px;
}
#contents #mainContents h2 {
	margin:0 auto;
}

#mainContents .lineup h2 {
	padding:30px 0;
}

#contents #mainContents .lineup {
	width: 780px;
	background: url(/campaign/w160701/img/bg_lineup.png) left top repeat-y;
	padding-bottom: 20px;
	margin-bottom:20px;
}
#contents #mainContents .lineup .block1 {
	margin: 0 20px 40px 20px;
	padding-bottom: 20px;
	background-color: #fff;
}
#contents #mainContents .lineup .block1 h3 {
	width: 660px;
	margin:0 auto;
	margin-bottom:20px;
	padding-top: 20px;
}
#contents #mainContents .lineup .item1 .pack {
	padding-left: 280px;
	background: url(/campaign/w160701/img/tit2_point1_02.jpg) no-repeat;
	background-position:20px;
	min-height: 367px;
}
#contents #mainContents .lineup .item2 .pack {
	padding-left: 280px;
	background: url(/campaign/w160701/img/tit2_point2_02.jpg) no-repeat;
	background-position:20px;
	min-height: 367px;
}
#contents #mainContents .lineup .item1 .pack .lead {
	padding: 30px 210px 0 0;
	background: url(/campaign/w160701/img/tit2_point1_03.png) right top no-repeat;
	min-height: 142px;
	background-position:95% 40%;
}
#contents #mainContents .lineup .item2 .pack .lead {
	padding: 30px 200px 0 0;
	background: url(/campaign/w160701/img/tit2_point2_03.png) right top no-repeat;
	min-height: 142px;
	background-position:95% 40%;
}
#contents #mainContents .lineup .block1 .pack .cartBox {
	margin-top:20px;
	background-color: #fff8d7;
	width:412px;
	padding:16px;
}
#contents #mainContents .lineup .block1 .pack .cartBox .leftBox {
	font-size:14px;
}
#contents #mainContents .lineup .block1 .pack .cartBox .rightBox {
	float:right;
}
#contents #mainContents .lineup .block1 .pack .cartBox .rightBox p {
	margin-bottom: 12px;
}
#contents #mainContents .lineup .block1 .pack .cartBox .rightBox .btnBox {
	padding: 12px 24px;
	background-color: #FFF;
}
*/

/* START */
/*
#contents #mainContents .lineup .block1 .voice {
	margin-right: 20px;
	margin-left: 20px;
	border: 2px solid #83cffd;
}
#contents #mainContents .lineup .block1 .voice.clearfix .p1 {
	float: left;
	padding: 0 21px;
	margin: 15px 0;
	width: 290px;
	border-right: 1px dotted #83cffd;
}
#contents #mainContents .lineup .block1 .voice.clearfix .p2 {
	padding: 0 21px;
	margin: 15px 0;
	float: right;
	width: 290px;
}
*/


/*************** #cart ***************/
/*
#contents {
	border-bottom: 1px #cccccc solid;
	margin-bottom: 24px;
}
*/

/*
#mainContents .cartObj {
	width: 780px;
}
#mainContents .cartObj .block {
	border-bottom: 1px #cccccc solid;
	padding: 20px 0px 35px 15px;
}
#mainContents .cartObj .block.bottom {
	border-bottom: none;
}
#mainContents .cartObj h2 {
position: relative;
background-color: #f0e6d7;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
behavior: url(/css/PIE.htc);
height: 45px;
padding: 0 13px;
font-size: 16px;
line-height: 46px;
font-weight: bold;
}
#mainContents .cartObj .image {
padding-top: 15px;
float: left;
}
#mainContents .cartObj .pack {
padding-top: 15px;
width: 525px;
float: right;
}
#mainContents .cartObj .icon{
margin-top: -11px;
padding-right: 11px;
float: left;
}
#mainContents .cartObj .p1 {
margin-bottom: 6px;
font-size: 14px;
font-weight: bold;
line-height: 1.3;
color: #ed63aa;
}
#mainContents .cartObj h3 {
margin-bottom: 18px;
font-size: 18px;
font-weight: bold;
line-height: 1.3;
}
#mainContents .cartObj h3 a {
color: #333;
}
#mainContents .cartObj h3 span {
display: block;
font-size: 14px;
}
#mainContents .cartObj .p2 {
margin-bottom: 6px;
font-size: 12px;
border-bottom: 1px #999999 dotted;
padding: 0 0 15px 0;
}
#mainContents .cartObj .p2.line {
border-top: 1px #999999 dotted;
padding: 15px 0;
}
#mainContents .cartObj .noborder {
border-top: none;
}
#mainContents .cartObj .p2 span {
font-weight: bold;
}
#mainContents .cartObj .p3 {
margin-top: 5px;
font-size: 16px;
font-weight: bold;
line-height: 180%;
}
#mainContents .cartObj .red {
color: #c00;
}
#mainContents .cartObj .p3 span {
font-size: 12px;
font-weight: normal;
}
#mainContents .cartObj .p3 strong span {
font-family: Helvetica, Arial, 'Lucida Grande', sans-serif;
font-weight: bold;
font-size: 32px;
}
#mainContents .cartObj .price {
float: left;
}
#mainContents .cartObj .p5 {
background: url(../upload_science/campaign/w160701/img/bg_price.png) no-repeat center top;
margin-top: 8px;
padding: 6px 14px 2px 14px;
font-size: 12px;
font-weight: bold;
color: #fff;
float: left;
}
#mainContents .cartObj .p5 span {
font-size: 14px;
}
#mainContents .cartObj .p6 {
clear: both;
padding-top: 10px;
font-size: 12px;
line-height: 1.3;
margin-bottom: 20px;
}
#mainContents div.cartObj .button {
margin-top: 10px;
float: right;
width: 300px;
}
#mainContents div.cartObj .p7 a {
background: url(../upload_science/campaign/w160701/img/btn_bg_02.png) no-repeat;
background-position: 0 0;
margin: 0 0 0 auto;
float: left;
border: none;
width: 190px;
height: 39px;
font-weight: bold;
text-shadow: #e36000 1px 1px 1px;
color: #fff;
overflow: hidden;
cursor: pointer;
vertical-align: middle;
font-size: 16px;
line-height: 39px;
display: block;
text-align: center;
}
#mainContents div.cartObj .p7 a:hover {
background-position: 0 -39px;
text-decoration: none;
}
#mainContents .cartObj .p8 {
clear: both;
padding-top: 0px;
font-size: 14px;
line-height: 1.3;
margin-bottom: 20px;
}
*/




/*************** add 20201124 リニューアル ***************/

#mainContents a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#mainContents .cpn-detail-box {
	text-align: center;
	margin: 50px 0;
}
#mainContents .review-step-box{
	text-align: center
}
#mainContents .review-step-box h3 {
	margin: 0 0 40px 0;
}
#mainContents .review-step-box ul {
	display: flex;
	margin: 60px 0 100px;
	padding:0 30px;
}
#mainContents .review-step-box li {
	list-style: none;
	justify-content: space-between ;
}
#mainContents .review-step-box li:last-child {
	margin: 0 0 0 40px;
}
#mainContents .review-howto-box{
	margin: 0 0 80px;
}

#mainContents .review-howto-box h3{
	text-align: center;
	margin: 0 0 40px 0;
}

#mainContents .review-howto-box dl{
	display: flex;
	margin: 0 0 50px;
}
#mainContents .review-howto-box dt{
	justify-content: space-between ;
	margin: 0 50px 0 60px;
}
#mainContents .review-howto-box dd{
	justify-content: space-between ;
}
#mainContents .cpn-detail-explain{
	margin: 50px 0;
	padding: 0 30px;
}

#mainContents .cpn-detail-explain h4{
	margin: 0 0 30px;
	background: #fededf;
	font-weight: normal;
	font-size: 22px;
	text-align: center;
}

#mainContents .cpn-detail-explain p:nth-of-type(1){ /*初めの要素に指定*/
	margin: 0 0 20px;
	padding: 0 30px;
}

#mainContents .cpn-detail-explain p:nth-of-type(n+2){ /*初めの要素以外に指定*/
	margin: 0 0 50px;
	padding: 0 30px;
}

#mainContents .cpn-detail-explain ul.review-howto{
	padding: 0 30px;
	margin: 0 0 50px;
}
#mainContents .cpn-detail-explain li.review-howto-li{
	margin: 0 0 5px;
	text-indent: -1em;
	padding-left: 1em;
}

#mainContents .cpn-detail-explain h5{
	margin: 0 0 15px;
	background:#f5ecde;
	font-weight: normal;
	font-size: 20px;
	text-align: center;
}

#mainContents .cpn-detail-explain dl{
	background: #fcf9f5;
	margin: 0 0 15px;
	padding: 20px 30px 30px;
}

#mainContents .cpn-detail-explain dt{
	text-decoration: underline;
	margin: 0 0 20px;
}

#mainContents .cpn-detail-explain dd{
}

#mainContents .cpn-detail-explain ul.review-faq{
	margin: 30px 0 0;
}
#mainContents .cpn-detail-explain li.review-faq-li{
	margin: 0 0 5px;
	text-indent: -1em;
	padding-left: 1em;
}
#mainContents .campaign_item{
	display: flex;
    flex-wrap:nowrap;
    margin: 30px;
    gap: 20px;
	justify-content: space-evenly;
}
/*-- page top --*/
#page_top {
	position: fixed;
	bottom: 30px;
	right: 20px;
}
#page_top a {
	border-radius: 10px;
	background-color: #f0696c;
	color: #fff;
	text-align: center;
	text-decoration: none;
	padding: 20px 20px;
}
#page_top a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}


/*************** add 20210122 ピックアップクチコミ ***************/

#mainContents e {
	background: #fff09a;
	font-weight: bold;
	padding: 0 3px;
}

#mainContents .lead-box {
	margin: 40px 0 50px;
	padding: 0 30px;
}

#mainContents .pu-items {
	border-radius: 20px;
	background: #fee7e8;
	padding: 30px 30px 40px;
}

#mainContents .pu-items h2{
	text-align: center;
	margin: 0 0 20px;
}

#mainContents .pu-items h3 {
	font-size: 18px;
	color: #fff;
	background: #ff8e90;
	margin: 0 0 20px;
	padding: 3px 10px;
}

#mainContents .pu-items ul {
	display: flex;
	margin:0 auto;
}

#mainContents .pu-items li {
	list-style: none;
}

#mainContents .pu-items li:last-child {
	margin: 0 0 0 30px;
}

#mainContents .pu-items dd {
	font-weight: bold;
	text-decoration: underline;
	margin: 0 0 10px;
}

#mainContents .arrow{
	text-align: center;
	margin: 40px 0;
}

#mainContents .pu-kuchikomi {
	width: 660px;
	background: #fff4b8;
	margin: 0 auto;;
	padding: 30px 30px 40px;
}

#mainContents .pu-kuchikomi h2{
	text-align: center;
	margin: 0 0 20px;
}

#mainContents .pu-kuchikomi dl {
}

#mainContents .pu-kuchikomi dd {
	background-image:
	linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #fff4b8 0%, #fff4b8 100%), linear-gradient(180deg, rgba(100, 100, 100, 0) 0%, rgba(100, 100, 100, 0) 97.5%, #646464 100%);
	background-size: 8px 100%,100% 2em;
	line-height: 2em;
	margin:  0 0 1em;
	padding: 0 1em;
}

#mainContents .pu-kuchikomi dt {
	text-align: right;
}

#mainContents .pu-kuchikomi .kuchikomi-ttl{
	font-weight: bold;
}

#mainContents .answer dl {
	width: 720px;
	display: flex;
	flex-wrap: nowrap;
	margin: 80px auto;
}

#mainContents .answer dt{
	margin: 0 20px 0 0;
	align-self:flex-end;
}

#mainContents .answer dt img {
	vertical-align: bottom;
}

#mainContents .answer dd {
	position:relative;
	width:600px;
	height:auto;;
	background: #fee7e8;
	padding:30px;
	text-align:left;
	border-radius:20px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;
}


#mainContents .answer dd:after{
	border: solid transparent;
	content:'';
	height:0;
	width:0;
	pointer-events:none;
	position:absolute;
	border-color: rgba(254, 231, 232, 0);
	border-top-width:10px;
	border-bottom-width:10px;
	border-left-width:10px;
	border-right-width:10px;
	margin-top: -10px;
	border-right-color: #fee7e8;
	right:100%;
	top:50%;
}

#mainContents .recommend {
	width: 720px;
	margin:0 auto 80px;
}

#mainContents .recommend h2{
	text-align: center;
	margin: 0 0 20px;
}

#mainContents .recommend ul {
	display: flex;
}

#mainContents .recommend li {
	width: 210px;
	list-style: none;
	justify-content: space-between;
	margin: 0 45px 0 0;
}

#mainContents .recommend li:last-child {
	margin: 0 
}
#mainContents .recommend p:nth-child(even) {
	height: 4em;
}

#mainContents .recommend p:nth-child(odd) {
	text-align: right;
}

#mainContents .recruitment {
	margin: 0 0 80px;
	text-align: center;
}

#mainContents .recruitment div:last-child{
margin: 20px 0 0
}