@charset "utf-8";

#cmeCont {
	padding: 0;
}

/*body.remodal_lock {
	position: fixed;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: visible;
	padding-right: 15px;
}*/

html.remodal_lock, body.remodal_lock {
	width: 100%;
	overflow: visible;
}
.titleArea{
	position: relative;
    background-image: url(../images/bg_mainimage.jpg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: auto;
    text-align: center;
    background-color: #efe743;
}	
.main_image {
    overflow: hidden;
    min-width: 0;
}
.main_image img {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
}
.recommended_text{
	position: relative;
    z-index: 2;
	padding: 16px 0 22px;
	font-size: 166.6666%;
	font-weight: 700;
	line-height: 1.45;
	box-shadow: 0px 7px 3.5px 1.5px rgb(0 0 0 / 5%);
	text-align: center;
	color: #fff;
	background: #a9a007;
}
.campContArea {
	padding: 41px 0 0;
}
.campContArea .loginNote {
	display: flex;
	align-items: center;
	margin: 0 0 50px;
    padding: 15px 3em 20px 3.2em;
	color: #cb0000;
    background: #fcf2f2;
	font-size: 133.333%;
	line-height: 1.625;
}
.campContArea .loginNote p{
	background-image: url(../images/icon_ex.png);
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: left center;
	padding-left: 3em;

}
.container{
	max-width: 1254px;
	margin: 0 auto;
}
.unit{
	width: 100%;
    max-width: 1414px;
    margin: 0 auto;
}
.campaign_content {
	background-color: #fdfbe3;
	padding-bottom: 102px;
}
.campaign_content img {
	width: 100%;
}
.campaign_content .heading {
	padding-top: 83px;
	text-align: center;
}
.campaign_content .heading img {
	max-width: 267px;
}
.campaign_content .present_block {
	background-color: #fff;
	padding: 62px 7.36% 80px 7.76%;
	margin-top: 28px;
}
.present_block .present_product_list{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.present_block .present_product_list .product_item{
	width: 30.66%;
	margin-top: 60px;
	margin-left: 4.01%;
}
.present_block .present_product_list .product_item:nth-child(3n-2){
	margin-left: 0;
}
.present_block .present_product_list .product_item:nth-child(-n+3){
	margin-top: 0;
}
.present_block .present_product_list .product_item .product_title_block{
	text-align: center;
}
.present_block .present_product_list .product_item .product_title_block .product_title{
	font-weight: bold;
	color: #333;
	margin-top: 15px;
	line-height: 1.36;
	display: flex;
	align-items: center;
	justify-content: center;
}
.present_block .present_product_list .product_item .product_title_block .product_title .present_title{
	font-size: 128.205%;
}
.present_block .present_product_list .product_item .product_title_block .product_title .small_text{
	font-size: 78%;
}
.present_block .present_product_list .product_item .product_title_block .present_icon img{
	max-width: 66px;
}
.present_block .present_product_list .product_item .product_img{
	margin-top: 17px;
}
.present_block .present_product_list .product_item .product_img img {
	border: 1px solid #e5e5e5;
}
.present_block .present_product_list .product_item .under_text {
	text-align: right;
	margin-top: 8px;
}
.present_block .present_product_list .product_item .under_text+.img_caption {
	margin-top: 3px;
}
.present_block .present_product_list .product_item .img_caption {
	font-size: 110%;
	color: #000;
	text-align: right;
	margin-top: 8px;
}
.present_block .present_product_list .product_item .product_text_block{
	margin-top: 13px;
    font-size: 133.4%;
    color: #000;
    line-height: 1.75em;
}
.present_block .present_product_list .product_item .product_text_block .product_text_note.note{
	font-size: 87.5%;
	margin-top: 8px;
	line-height: 1.56em;
}
.present_block .present_product_list .product_item .product_text_block .product_text_note{
	position: relative;
	padding-left: 1em;
}
.present_block .present_product_list .product_item .product_text_block .product_text_note .indent{
	position: absolute;
	left: 0;
}
.present_block .present_product_list .product_item .product_text_block .product_info {
	position: relative;
	padding-left: 1em;
	margin-top: 8px;
}
.present_block .present_product_list .product_item .product_text_block .product_info .info_note {
	position: absolute;
	left: 0;
}
.present_block .present_product_list .product_item .product_link{
	margin-top: 27px;
}
.present_block .present_product_list .product_item .product_link .button {
	position: relative;
    width: 100%;
    color: #000;
    background-color: #fff74a;
    background-size: 9px 14px;
    display: inline-block;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    padding: 17px 20px 16px;
    text-decoration: none;
    border-radius: 3px;
    line-height: 1.2em;
    transition: all 0.3s ease;
}
.present_block .present_product_list .product_item .product_link .button:hover {
    opacity: 0.7;
}
.present_block .present_product_list .product_item .product_link .button:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	background: url(../images/icon_blank.png) no-repeat right center;
	background-size: 20px auto;
	width: 20px;
	height: 18px;
}
.present_block .present_product_list .product_item .small_link_text{
	font-size: 77.8%;
	padding: 0 22px;
	display: inline-block;
}
.campaign_content.apparea{
	background: none;
	padding: 0;
	margin-top: 55px;
}
.campaign_content.apparea .heading {
	padding-top: 20px;
	text-align: center;
}
.campaign_content.apparea .heading img {
	max-width: 241px;
}
.campaign_content.apparea .applicationblock{
	max-width: 1200px;
	margin: 0 auto;
}
.campaign_content.apparea .presentsummary {
    width: 100%;
    border-collapse: collapse;
    font-size: 133.333%;
    line-height: calc(7/4);
    margin-top: 33px;
}
.campaign_content.apparea .presentsummary th {
    width: 26.5%;
    white-space: nowrap;
    text-align: left;
}
.campaign_content.apparea .presentsummary th, .campaign_content.apparea .presentsummary td {
    padding: 35px 29px 32px 30px;
    border-bottom: 1px solid #dbdbdb;
    letter-spacing: -0.05em;
}
.campaign_content.apparea .color_red {
    color: #cc0000;
}
ul{
	list-style: none;
}
.campaign_content.apparea .presentsummary td .detail a {
    color: #c00 !important;
    text-decoration: underline;
}
.campaign_content.apparea .presentsummary td ul li {
    margin-left: 1em;
    text-indent: -1em;
}
.campaign_content.apparea .presentsummary td ul.termsnote {
    margin: 24px 0;
}

.bottomFunc {margin: 49px 0 109px;}
.bottomBtn {margin: 0 auto;text-align: center;}
.bottomBtn a {-webkit-box-sizing: border-box !important;-moz-box-sizing: border-box !important;box-sizing: border-box !important;font-family: 'Noto Sans JP', sans-serif;color: #222;display: inline-block;max-width: 50%;padding: 12px 20px;background-color: #fff;border: 1px solid #dbdbdb;border-radius: 3px;font-size: 16px;text-decoration: none;transition: all 0.3s ease;line-height: 1.5;}
.bottomBtn a:hover {color: #c00 !important;background: #f5f5f5;}
.bottomBtn .inner {position: relative;display: inline-block;padding: 0 20px;text-align: left;}
.bottomBtn .inner::after {content: '';position: absolute;right: 0;top: calc(50% + 1px);-webkit-box-sizing: border-box !important;-moz-box-sizing: border-box !important;box-sizing: border-box !important;display: block;width: 7px;height: 7px;border-top: 2px solid #c00;border-right: 2px solid #c00;transform: translate(-50%, -50%) rotate(45deg);}

@media only screen and (max-width:767px) {
	
	.titleArea{
    background-image: url(../images/bg_mainimage_sp.jpg);
    background-size: cover;
	}
	#cmeCont {
		padding: 0;
	}
	.container{
		max-width: 100%;
	}
	.main_image{
		min-width: 0;
		width: 100%;
		padding-top: 3.924%;
		margin: 0 auto;
	}
	.main_image img {
    	width: 100%;
	}
	.recommended_text{
		font-size: 125%;
		padding: 30px 0 33px;
		box-shadow: 0px 3px 3.5px 2px rgb(0 0 0 / 5%);
		line-height: 1.4em;
	}		
	.campContArea {
		padding: 24px 0 4px;
	}
	.campContArea .loginNote {
		padding: calc(100vw/(750/25)) calc(100vw/(750/25)) calc(100vw/(750/25)) calc(100vw/(750/30));
		font-weight: normal;
		font-size: 108.333%;
		margin-bottom: 22px;
		line-height: 1.54;
	}
	.campContArea .loginNote p{
		background-size: 23px 23px;
		background-position:left 0.3em;
		padding-left: 2.5em;
	}
	.campContArea .loginNote small {
		font-size: 92.308%;
	}
	.campaign_content {
		padding-bottom: 45px;
	}
	.campaign_content .heading {
		padding-top: 40px;
	}
	.campaign_content .heading img {
		max-width: 148px;
	}
	.campaign_content .present_block {
		background-color: #fff;
		padding: 24px 20px 30px;
		margin-top: 20px;
	}
	.present_block .present_product_list {
		display: block;
	}
	.present_block .present_product_list .product_item .product_img {
    	margin-top: 16px;
    	text-align: center;
	}
	.present_block .present_product_list .product_item{
		width: 100%;
		margin-left: 0;
	}
	.present_block .present_product_list .product_item .under_text {
		font-size: 90%;
		margin-top: 4px;
	}
	.present_block .present_product_list .product_item .under_text+.img_caption {
		margin-top: 0;
	}
	.present_block .present_product_list .product_item .img_caption { 
		font-size: 100%;
		margin-top: 4px;
	}
	.present_block .present_product_list .product_item+.product_item {
		margin-top: 28px;
	}
	.present_block .present_product_list .product_item .product_title_block{
		display: flex;
		align-items: center;
		text-align: left;
	}
	.present_block .present_product_list .product_item .product_title_block .product_title{
		font-size: 104%;
		margin-top: 0;
		margin-left: 18px;
		width: calc(100% - 44px);
		justify-content: initial;
		line-height: 1.4;
	}
	.present_block .present_product_list .product_item .product_text_block{
		font-size: 117%;
		margin-top: 14px;
		line-height: 1.4em;
	}
	.present_block .present_product_list .product_item .product_title_block .product_title .small_text {
		font-size: 81.3%;
		line-height: 1.23em;
		display: inline-block;
		padding-top: 3px;
	}
	.present_block .present_product_list .product_item .product_text_block .product_text_note.note{
		font-size: 85.5%;
		margin-top: 8px;
		line-height: 1.4em;
	}
	.present_block .present_product_list .product_item .product_title_block .present_icon img{
		width: 44px;
	}
	.campaign_content.apparea {
    	margin-top: 14px;
	}
	.campaign_content.apparea .heading {
		padding-top: 20px;
	}

	.campaign_content.apparea .heading img {
		max-width: 130px;
	}
	.applicationBlock .presenttitle {
    	margin-bottom: 0;
	}
	.present_block .present_product_list .product_item .product_link .button{
		font-size: 125%;
		padding: 6px 10px 7px;
	}
	.present_block .present_product_list .product_item .small_link_text {
		font-size: 80%;
	}
	.present_block .present_product_list .product_item .product_link{
		position: inherit;
		margin-top: 12px;
	}
	.present_block .present_product_list .product_item .product_link .button:after {
		width: 12px;
		height: 11px;
		background-size: 12px auto;
	}
	.campaign_content.apparea .applicationblock .quizcont {
    	padding: 10px 20px 0;
	}
	.campaign_content.apparea .presentsummary, .campaign_content.apparea .presentsummary tbody, .campaign_content.apparea .presentsummary tr, .campaign_content.apparea .presentsummary th, .campaign_content.apparea .presentsummary td {
    	display: block;
	}
	.campaign_content.apparea .presentsummary {
    	width: 100%;
    	font-size: calc(100vw/(750/26));
    	line-height: 2;
    	margin-top: 2px;
	}
	.campaign_content.apparea .presentsummary th {
    	width: auto;
    	margin-bottom: 6px;
	}
	.campaign_content.apparea .presentsummary td {
    	line-height: 1.6;
	}
	.campaign_content.apparea .presentsummary th, .campaign_content.apparea .presentsummary td {
    	letter-spacing: normal;
    	padding: 0;
    	border: none;
	}
	.campaign_content.apparea .presentsummary tr {
    	margin-bottom: -1px;
    	padding: 20px 0;
   		border-bottom: 1px solid #dbdbdb;
	}
	.campaign_content.apparea .presentsummary td ul li {
    	margin-left: 1em;
    	text-indent: -1em;
	}
	.campaign_content.apparea .presentsummary td .detail {
    	margin: calc(100vw/(750/24)) 0;
	}
	.campaign_content.apparea .presentsummary td ul.termsnote {
    	margin: calc(100vw/(750/10)) 0;
	}
	
	.bottomFunc{margin: calc(100vw/(750/80)) 0;}
	.bottomBtn a {max-width: 90%;border-radius: 5px;font-size: calc(100vw/(750/30))}
	.bottomBtn .inner::after {width: 9px;height: 9px;}
	
}

@media only screen and (max-width: 350px){
	.bottomBtn a {
		font-size: 14px;
	}
}