@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: #faf99d;
}	
.main_image {
    overflow: hidden;
    min-width: 0;
}
.main_image img {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
}
.recommended_text{
	padding: 20px 0;
	font-size: 166.6666%;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: 0px 7px 3.5px 1.5px rgb(0 0 0 / 5%);
	text-align: center;
	background: #faf171;
}
.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{
	max-width: 1254px;
    margin: 0 auto;
}
.item_link {
    display: inline-block;
    color: #005e8c !important;
    margin-top: 12px;
    padding-left: 12px;
    background: url(../images/arr.png) no-repeat 0 50%;
    background-size: 8px 8px;
}
.black_icon span {
    display: inline-block;
    background: url(../images/icon_blank.png) no-repeat right center;
    background-size: 14px 13px;
    padding-right: 20px;
    letter-spacing: 0.05em;
}
.campaign_content {
    padding: 44px 0 40px;
    background: #fef6e5;
    margin-top: 50px;
}
.campaign_content img {
	width: 100%;
}
.campaign_content .quickBlock{ 
	margin-bottom: 58px;
 }
.campaign_content .heading {
	margin-bottom: 48px;
	text-align: center;
}
.campaign_content .heading img {
	max-width: 191px;
}
.campaign_content .present_block {
	background-color: #fff;
	padding: 4.75em 13.4em 2.8em;
}
.present_block .present_product_list{
	width: 934px;
    margin: 0 auto;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
}
.present_block .present_product_list .product_item{
	position: relative;
    width: 45.504%;
    margin-bottom: 48px;
    padding-bottom: 80px;
}
.present_block .present_product_list .product_item:nth-of-type(7){
	padding-bottom: 90px;
}
.present_block .present_product_list .product_item:nth-of-type(4) .product_title_block .present_title,
.present_block .present_product_list .product_item:nth-of-type(7) .product_title_block .present_title{
	margin-top: -7px;
}
.present_block .present_product_list .product_item .product_title_block{
	display: flex;
    align-items: center;
    margin-bottom: 40px;
}
.present_block .present_product_list .product_item .product_title_block .present_title{
	width: 75.77%;
    font-size: 142.45%;
    font-weight: bold;
    letter-spacing: -0.003em;
    line-height: 1.32em;
    margin-top: -24px;
}

.present_block .present_product_list .product_item .product_title_block .present_icon{
	width: 19.06%;
    margin-right: 18px;
}

.present_block .present_product_list .product_item .product_img {
	max-width: 330px;
    margin: 0 auto;
}
.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{
	font-size: 133.333%;
    line-height: 1.89em;
    letter-spacing: -0.02em;
    margin-top: 13px;
}
.present_block .present_product_list .product_item .product_text_block .item_link +.product_text_note{
	margin-top: 17px;
}
.present_block .present_product_list .product_item .product_text_block .product_text_note{
	position: relative;
	padding-left: 1em;
	letter-spacing: -0.084em;
}
.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_text_note +.product_info{
	margin-top: 0;
}
.present_block .present_product_list .product_item .product_text_block p+.product_info{
	margin-top: 20px;

}
.present_block .present_product_list .product_item .product_text_block .product_info {
	position: relative;
	padding-left: 1em;
	letter-spacing: -0.015em;
}
.present_block .present_product_list .product_item .product_text_block .product_info.no_indent{
	position: inherit;
	padding-left: 0;

}
.present_block .present_product_list .product_item .product_text_block .product_info.no_indent span{
	position: inherit;
}
.present_block .present_product_list .product_item .product_text_block .product_info.text_indent_8em{
	padding-left: 8em;
}
.present_block .present_product_list .product_item .product_text_block .product_info.text_indent_6em{
	padding-left: 6em;
}
.present_block .present_product_list .product_item .product_text_block .product_info.text_indent_5em{
	padding-left: 5em;
}
.present_block .present_product_list .product_item .product_text_block .product_info.text_indent{
	padding-left: 4em;
}
.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{
	position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
.present_block .present_product_list .product_item .product_link .button {
    width: 100%;
    color: #000;
    background-color: #faf171;
    display: inline-block;
    text-align: center;
    font-size: 167.5%;
    font-weight: bold;
    padding: 16px 20px;
    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 span.small_link_text{
	font-size: 89.56%;
}
.present_block .present_product_list .product_item .product_link .button:hover {
    opacity: 0.7;
}
.campaign_content.apparea{
	background: none;
	padding: 0;
	margin-top: 75px;
}
.campaign_content.apparea .heading {
	margin-bottom: 38px;
}
.campaign_content.apparea .heading img {
	max-width: 172px;
}
.campaign_content.apparea .quizcont{
	max-width: 1114px;
	width: 100%;
	margin: 0 auto;
	padding-bottom:112px;
}
.campaign_content.apparea .presentsummary {
    width: 100%;
    border-collapse: collapse;
    font-size: 133.333%;
    line-height: calc(7/4);
}
.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 30px 32px;
    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;
}

.bottomBtn {width: 350px;margin: 50px auto 0;}
.bottomBtn a {display: flex;align-items: center;justify-content: center;width: 100%;height: 48px;padding: 0 24px;background-color: #fff;border: 1px solid #dbdbdb;border-radius: 3px;font-size: 133.333%;text-decoration: none;transition: all 0.3s ease;}
.bottomBtn a:hover {color: #c00 !important;background: #f5f5f5;}
.bottomBtn a:after {content: '';display: block;width: 7px;height: 7px;margin: 0 0 0 10px;border-top: 2px solid #c00;border-right: 2px solid #c00;transform: rotate(45deg)}

@media only screen and (min-width: 768px) and (max-width: 1200px){
.campaign_content .present_block{
	padding: 5em 2em;
}
.present_block .present_product_list{
	width: auto;
}
.present_block .present_product_list .product_item{
	padding-bottom: 90px;
}

}

@media only screen and (max-width:767px) {
	.unit{
		max-width: 100%;
	}
	.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%;
	    margin: 0 auto;
	    padding-top: 1%;
	}
	.main_image img {
    	width: 100%;
	}

	.period{
		padding: 6px 20px;
		font-size: 108.333%;
		text-align: center;
		font-weight: 700;
		line-height:1.54;
		background: #00ffea;
	}
	.recommended_text{
		font-size: 125%;
    	text-align: left;
    	padding: 31px 0;
    	box-shadow: 0px 3px 3.5px 2px rgb(0 0 0 / 5%);
	}		
	.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 {
	margin-top: 0;
    padding: 36px 0 20px;
	}
	.campaign_content .heading {
		margin-bottom: 20px;
	}
	.campaign_content .heading img {
		max-width: 124px;
	}
	.campaign_content .quickBlock{ 
	margin-bottom: 28px;
 }
	.campaign_content .present_block {
		padding: 30px 20px 20px;
	}
	.present_block .present_product_list {
		width: 100%;
		display: block;
	}
	.present_block .present_product_list .product_item{
		width: 100%;
    	padding-bottom: 0;
        margin-bottom: 40px;
	}
	.present_block .present_product_list .product_item:nth-of-type(7){
		padding-bottom: 0;
		margin-bottom: 10px;
	}
	.present_block .present_product_list .product_item .product_img{
		max-width: 240px;
	}
	.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_title_block{
		margin-bottom: 26px;
	}

	.present_block .present_product_list .product_item .product_title_block .present_title{
		width: calc(100% - 77px);
	    font-size: 113.96%;
	    line-height: 1.38em;
	    letter-spacing: -0.05em;
	    margin-top: -18px;

	}
	.present_block .present_product_list .product_item .product_text_block{
		font-size: 117%;
	    line-height: 1.5em;
	    letter-spacing: -0.02em;
	    margin-top: 14px;
	}
	.present_block .present_product_list .product_item .product_text_block .product_text_note.note{
		font-size: 85.5%;
		margin-top: 8px;
		letter-spacing: normal;
		line-height: 1.4em;
	}
	.present_block .present_product_list .product_item .product_title_block .present_icon{
		width: 62px;
		margin-right: 15px;
	}
	.campaign_content.apparea {
    	margin-top: 30px;
	}
	.campaign_content.apparea .heading {
		margin-bottom: 0;
	}

	.campaign_content.apparea .heading img {
		max-width: 111px;
	}
	.applicationBlock .presenttitle {
    	margin-bottom: 0;
	}
	.present_block .present_product_list .product_item .product_link .button{
		font-size: 125%;
		padding: 12px 10px 11px;
	}
	.present_block .present_product_list .product_item .product_link .button span.small_link_text{
		font-size: 93.333%;
	}
	.present_block .present_product_list .product_item .product_link{
		position: inherit;
		margin-top: 18px;
	}
	.campaign_content.apparea .applicationblock .quizcont {
    	padding: 10px 20px 42px;
	}
	.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;
	}
	.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;
	}
	.bottomBtn {
		width: calc(100vw/(750/510));
		margin: calc(100vw/(750/80)) auto 0;
	}
	.bottomBtn a {
		height: calc(100vw/(750/120));
	    border-radius: 5px;
	    font-size: calc(100vw/(750/30));
	}
	
	.bottomBtn a:after {
		width: 9px;
		height: 9px;
		margin: 0 0 0 calc(100vw/(750/14));
	}
	
}
