@charset "UTF-8";
body{
	font-family:'M PLUS Rounded 1c', "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif;
}


#i_campaign {
	font-size: 20px;
	line-height: 1.5;
	color: #141414;
	background-color: #fff;
	word-wrap: break-word;
}

.clearfix{
	overflow: hidden;
}

/*PC*/
	#main_visual{
		margin: 40px auto 38px;
		text-align: center;
	}
	
	#lead_area {
		max-width: 1050px;
		margin: 0 auto;
		text-align: center;
	}
	#lead_area h2 {
		font-size: 28px;
		margin: 0 auto;
		font-weight: bold;
		letter-spacing: 0.1em;
		line-height: 1.7;
	}
	
	h3 {
		font-size: 22px;
		font-weight: bold;
		letter-spacing: -0.7px;
		line-height: 1.7;
		border-bottom: 5px solid #0e529f;
		text-align: center;
		margin: 0 auto 40px;
		width: 53%;
	}
	
	#lead_area p {
		font-size: 15px;
		line-height: 1.6;
		margin: 27px 0 55px;
		font-weight: bold;
		letter-spacing: 0.1em;
	}
	
	#i_campaign .content_item {
		margin: 0 auto 100px;
		max-width: 980px;
	}
	
	#i_campaign #cont03.content_item{
		margin-bottom: 50px;
	}
	
	#i_campaign .left {
		max-width: 315px;
		border: 1px solid #4D4D4D;
		float: left;
		padding: 10px 10px 0 10px;
		margin: 0 10px 0 0;
		box-sizing: border-box;
	}
	#i_campaign .left:last-child{
		margin-right: 0;
	}
	#i_campaign p.pic {
		text-align: center;
	}
	
	#i_campaign .content_item h4 {
		font-size: 19px;
		text-align: center;
		max-width: 298px;
		margin: 24px 0 0 0;
		border-top: 2px solid #231815;
		border-bottom: 2px solid #231815;
		padding: 20px 0;
		font-weight: bold;
		line-height: 1.4;
		max-height: 3em;
	}
	
	#i_campaign .content_item h4.liion {
		padding: 6px 0;
	}
	
	#i_campaign #cont02.content_item h4 {
		font-size: 18px;
		text-align: center;
		max-width: 298px;
		margin: 24px 0;
		border-top: 2px solid #231815;
		border-bottom: 2px solid #231815;
		padding: 20px 0;
		font-weight: bold;
		line-height: 1.4;
		max-height: inherit;
	}
	
	#i_campaign #cont02.content_item h4.liion {
		padding: 6px 0;
	}
	
	.sub_ttl{
		font-size: 20px;
		color: #0e529f;
		font-weight: bold;
		text-align: center;
		margin-bottom: 10px;
	}
	
	.content_item p.txt {
		font-size: 15px;
		max-width: 280px;
		margin: 20px auto;
		padding: 0 10px;
		line-height: 1.7;
		text-align: justify;
	}
	
	.txt_link{
		margin-top: 65px;
		font-size: 14px;
		text-align: right;
		
	}
	.txt_link a{
		color: #2468b5 !important;
		font-weight: bold;
	}
	.txt_link a:after{
		content: "\f105";
		font-family: 'FontAwesome';
		padding-left: 10px;
		display: inline-block;
	}
	.txt_link a:hover{
		text-decoration: underline !important;
		opacity: 1 !important;
	}
	
	.ribbon2 {
	  display: inline-block;
	  position: relative;
	  height: 60px;
	  line-height: 60px;
	  text-align: center;
	  padding: 4px 0;
	  font-size: 18px;/*フォントサイズ*/
	  background: #1a1a1a;/*背景色*/
	  color: #FFF;/*文字色*/
	  box-sizing: border-box;
	  width: 100%;
	}

	.ribbon2 h3 {
	  max-width:980px;
	  margin: 0;
	  padding: 0;
	  border-top: dashed 1px #808080;/*上の破線*/
	  border-bottom: dashed 1px #808080;/*下の破線*/
	  line-height: 50px;
	  width: 100%;
	}

	.ribbon2:before, .ribbon2:after {
	  position: absolute;
	  content: '';
	  width: 0px;
	  height: 0px;
	  z-index: 1;
	}

	.ribbon2:before {
	  /*左端の山形*/
	  top: 0;
	  left: 0;
	  border-width: 30px 0px 30px 15px;
	  border-color: transparent transparent transparent #fff;
	  border-style: solid;
	}

	.ribbon2:after {
	  /*右端の山形*/
	  top: 0;
	  right: 0;
	  border-width: 30px 15px 30px 0px;
	  border-color: transparent #fff transparent transparent;
	  border-style: solid;
	}
	
	.termsBox{
		background-color: #fff;
		background-clip: border-box;
		border: 1px solid rgba(0,0,0,.125);
		border-radius: 5px;
		height: 43vh;
		overflow: auto;
		text-align: left;
		padding: 40px 63px;
		line-height: 1.6;
		margin: 28px auto 40px;
	}
	
	.btn{
		background: #2468b5;
		border-radius: 7px;
		text-align: center;
		max-width: 510px;
		margin: 0 auto;
	}
	.btn a{
		color: #fff !important;
		padding: 20px 10px;
		display: block;
	}
	.btn a:after{
		content: "\f105";
		font-family: 'FontAwesome';
		padding-left: 10px;
		display: inline-block;
		
	}
	
.st-contents,
.mod-SNSButtons,
.mod-breadCrumble,
.mod-breadCrumble_inner{
	width: 100%;
	margin: 0 !important;
	max-width: 100%;
	min-width: 100%;
	padding: 10px 0 !important;
}

.mod-breadCrumble ul{
	max-width: 1050px;
	margin: 0 auto;
}


.termsBox .ttl {
	margin-bottom: 20px;
	font-size: 20px;
	font-weight: bold;
}

.termsBox .red {
	color: #ff1515;
}

.termsBox ul {
	margin: 0 40px 10px;
}
	.termsBox ul li {
		list-style: disc;
		margin: 0 0 3px;
		padding: 0;
		text-align: left;
		font-size: 16px;
	}

.termsBox ol {
    margin: 0 35px;
}
.termsBox ol li {
    list-style: decimal;
    margin-bottom: 3px;
    padding: 0;
    text-align: left;
}

.termsBox .subttl{
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: bold;
}


.termsBox a{
	color: #2468b5 !important;
}

.termsBox a:hover{
	text-decoration: underline !important;
	opacity: 1 !important;
}

.termsBox .sec{
	margin-bottom: 20px;
}

.termsBox .sec .subttl{
	margin-bottom: 0;
	font-size: 18px;
	font-weight: bold;
}

.termsBox p{
	font-size: 16px;
}

@media screen and (max-width: 980px) {
	#container{
		padding: 0 10px;
	}
	
	#i_campaign .left{
		max-width: inherit;
		width: 32%;
	}
	
	#i_campaign .content_item h4{
		max-height: inherit;
		font-size: 17px;
	}
	
	#i_campaign #cont02.content_item h4{
		font-size: 16px !important;
	}
}
@media screen and (max-width: 768px) {
	#container{
		padding: 0 10px;
	}
	
	#i_campaign .left{
		max-width: inherit;
		width: 32%;
	}
	
	h3{
		width: 80%;
	}
}

@media screen and (max-width: 547px) {
	#i_campaign {
		font-size: 14px;
	}
	
	#lead_area h2{
		font-size: 20px;
		margin-top: 40px;
	}
	
	h3{
		width: 100%;
	}
	
	#lead_area p{
		font-size: 14px;
	}
	
	#i_campaign .left{
		width: 100%;
		margin: 0 0 20px;
	}
	
	#i_campaign .content_item h4,
	#i_campaign #cont02.content_item h4{
		max-width: inherit;
		width: 100%;
	}
	
	.txt_link{
		margin-top: 0;
	}
	
	.ribbon2 h3{
		font-size: 16px;
		line-height: 1.6;
	}
	
	.termsBox{
		padding: 20px;
	}
	
	.termsBox .ttl{
		font-size: 18px;
	}
	
	.termsBox .subttl,
	.termsBox .sec .subttl{
		font-size: 16px;
	}
	
	.termsBox ul{
		margin: 0 35px 10px;
	}
	
	.termsBox ul li,
	.termsBox p{
		font-size: 14px;
	}
	
	.st-contents,
	.mod-breadCrumble{
		padding: 0 !important;
	}
	
	.mod-breadCrumble_inner{
		padding: 10px !important;
		box-sizing: border-box;
	}
}
#i_campaign img {
	vertical-align: middle;
	max-width: 100%;
}
#i_campaign .only_sp_s {
	display: none;
}
@media screen and (max-width: 480px) {
	#i_campaign .only_sp_s {
		display: inline;
	}
}
#i_campaign a {
	text-decoration: none;
	font-weight: bold;
	color: #0d2ea2;
}
#i_campaign a:hover {
	opacity: 0.5;
}
#i_campaign a:active {
	color: #0d2ea2;
}