@charset "UTF-8";
/*sitemap*/
/** ===========================================================
* mirai_2024
* 
* ========================================================= */
/* --------------------
 * 共通
 * -------------------- */
body{
	background: #F5F4F1;
}
.container_inner{
	width: 1000px;
	margin: 0 auto;
}
.clr-rd{
	color: #A61427;
}
.bg-yl{
	background: #FDF3D8;
}

.primary_heading{
	position: relative;
	padding: 10px 0 22px;
	background: #BB790B;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.primary_heading::after{
	content: "";
	display: inline-block;
	background: url(/assets/images/campaign/mirai_2024/triangle-og.png) no-repeat top center / 100%;
	width: 41px;
	height: 35px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -26px;
}
.primary_heading span{
	color: #FFF000;
}
.primary_heading span i{
	font-size: 49px;
}

.primary_btn{
	position: relative;
	display: inline-block;
	width: 80%;
	padding: 13px;
	border-radius: 100vh;
	background: #A61427;
	color: #fff;
	font-size: 23px;
	line-height: 1.5;
}
.primary_btn::after{
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	border-left: 8px solid #fff;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}
.primary_btn span{
	display: block;
	font-size: 17px;
	line-height: 1.5;
}

.primary_link{
	position: relative;
	display: inline-block;
	padding-right: 27px;
	color: #A61427;
	font-size: 20px;
	font-weight: bold;
}
.primary_link::after{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	background: url(/assets/images/campaign/mirai_2024/icon_circle.png) no-repeat top center / 100%;
}

.link_block{
	margin: 28px 0 0;
	text-align: center;
}
.link_block .link_note{
	margin: 12px 0 0;
	color: #689D7E;
	font-size: 14px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.container_inner{
		width: calc(100% - 60px);
		margin: 0 30px;
	}

	.primary_heading{
		padding: 13px 0 23px;
		font-size: 18px;
	}
	.primary_heading span i{
		font-size: 39px;
	}
	.primary_btn{
		padding: 20px;
		font-size: 20px;
	}

	.primary_link{
		font-size: 15px;
		line-height: 1.5;
	}

	.link_block{
		margin-top: 20px;
	}
	.link_block .link_note{
		line-height: 1.8;
		font-size: 12px;
	}

}



/* --------------------
 * CTAエリア
 * -------------------- */
.cta_area{
	background: #fff;
	padding: 75px 0 53px
}
.cta_heading{
	color: #A61427;
	font-size: 25px;
	font-weight: 800;
	text-align: center;
}
.cta_heading span{
	position: relative;
	padding: 0 42px;
}
.cta_heading span::before,
.cta_heading span::after{
	content: "";
	display: inline-block;
	width: 24px;
	height: 42px;
	position: absolute;
	top: 0;
}
.cta_heading span::before,
.cta_heading span::after{
	background: url(/assets/images/campaign/mirai_2024/slash-pc.png) no-repeat top center / 100%;
}
.cta_heading span::before{
	left: 0;
}
.cta_heading span::after{
	transform: scale(-1, 1);
	right: 0;
}
.cta_btn{
	margin: 10px 0 0 0;
	text-align: center;
}
.cta_link{
	margin: 20px 0 0;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.cta_area{
		padding: 44px 0 32px;
	}
	.cta_heading{
		font-size: 18px;
		line-height: 1.4;
	}
	.cta_heading span{
		padding: 0;
		display: block;
	}
	.cta_heading span::before,
	.cta_heading span::after{
		top: auto;
		bottom: 0;
		width: 19px;
		height: 45px;
	}
	.cta_heading span::before,
	.cta_heading span::after{
		background: url(/assets/images/campaign/mirai_2024/slash-sp.png) no-repeat top center / 100%;
	}
	.cta_btn{
		margin-top: 22px;
	}
	.cta_link{
		margin-top: 18px;
	}

}


/* --------------------
 * MVエリア
 * -------------------- */
.mv_area{
	background: #fdd349;
}
.mv_img{
	max-width: 1440px;
	margin: 0 auto;
}
.top_period{
	width: 801px;
	margin: 54px auto 66px;
}
.period_ttl{
	width: 220px;
}
.period_img{
	width: 772px;
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	.mv_area{
		margin: 7px 0 0;
	}
	.top_period{
		width: 100%;
		margin: 33px auto 40px;
	}
	.period_ttl{
		width: 165px;
		margin: 0 auto;
	}
	.period_img{
		width: 308px;
		margin: 13px auto 0;
	}
}



/* --------------------
 * POINT
 * -------------------- */
.point_area{
	padding: 0;
}
.point_block{
	position: relative;
	margin: 70px 0 0;
	padding: 82px 98px 70px;
	border-radius: 20px;
	background: #fff;
}
.point_block + .point_block{
	margin-top: 57px;
}
.point_num{
	position: absolute;
	top: -18px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	width: 172px;
	padding: 9px 0 13px;
	border-radius: 100vh;
	background: #6F5535;
	color: #FFF000;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
.point_num span{
	font-size: 28px;
}
.point_ttl{
	color: #074E7E;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
}
.point_ttl span{
	display: inline-block;
	position: relative;
}
.point_ttl span::after{
	position: absolute;
	top: -18px;
	right: -20px;
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	background: url(/assets/images/campaign/mirai_2024/point_ttl_img.png) no-repeat top center / 100%;
}
.point_ttl i{
	font-size: 25px;
}

/* POINT1 */
.point_block-01{
	padding-right: 25px;
	padding-left: 25px;
}

/* POINT2 */
.expiry_img{
	margin: 37px 0 0;
}
.point_txt{
	line-height: 1.4;
}
.point_txt-l{
	margin-top: 40px;
	font-size: 20px;
	font-weight: bold;
}
.point_txt-note{
	margin-top: 15px;
	font-size: 15px;
}
.point_txt-bold{
	font-weight: bold;
}

/* POINT3 */
.check_sb{
	position: absolute;
	top: -27px;
	left: -35px;
}
.check_sb img{
	width: 100%;
	max-width: 150px;
}
.check_sb span{
	position: relative;
	display: inline-block;
	background: #A61427;
	padding: 13px 40px;
	border-radius: 100vh;
	color: #FFF777;
	font-weight: bold;
	font-size: 25px;
}
.check_sb span::before{
	position: absolute;
	right: calc(50% - 16px);
	bottom: -18px;
	content: "";
	display: inline-block;
	border-top: 10px solid #A61427;
	border-right: 11px solid #A61427;
	border-bottom: 10px solid transparent;
	border-left: 11px solid transparent;
}
.mirai_list{
	display: flex;
	justify-content: space-between;
	margin: 18px 0 0;
}
.mirai_list-item{
	width: calc(33% - 13px);
}
.mirai_list-txt{
	margin: 20px 0 0;
	font-size: 15px;
	text-align: center;
	line-height: 1.4;
}
.point_link{
	margin: 27px 0 0;
}

@media screen and (max-width: 768px) {
	.point_area{
		padding: 0 0 34px;
	}
	.check_sb img{
		width: 100%;
		max-width: 80px;
	}
	.point_block{
		margin-top: 65px;
		padding: 40px 22px 32px;
		border-radius: 10px;
	}
	.point_num{
		top: -20px;
		width: 126px;
		padding: 8px 0 12px;
		font-size: 13px;
	}
	.point_num span{
		font-size: 20px;
	}
	.point_ttl{
		font-size: 15px;
		line-height: 1.5;
	}
	.point_ttl span::after{
		top: 16px;
		right: -13px;
		width: 18px;
		height: 18px;
	}
	.point_ttl i{
		font-size: 18px;
	}

	/* POINT1 */
	.point_block-01{
		padding-right: 0;
	}

	/* POINT2 */
	.point_block-02 .point_ttl span::after{
		top: -7px;
		right: -8px;
	}
	.expiry_img{
		margin-top: 25px;
	}
	.point_txt-l{
		margin-top: 23px;
		font-size: 17px;
	}
	.point_txt-note{
		margin-top: 18px;
		font-size: 12px;
	}

	/* POINT3 */
	.point_block-03 .point_ttl span::after{
		top: -9px;
		right: -11px;
	}
	.mirai_list{
		display: block;
	}
	.mirai_list-item{
		width: 100%;
	}
	.mirai_list-item:nth-child(n + 2){
		margin-top: 22px;
	}
	.mirai_list-txt{
		margin-top: 6px;
	}
	.point_link{
		margin-top: 32px;
	}
	.point_txt.t-c{
		text-align: left!important;
	}


}



/* --------------------
 * 契約の流れ
 * -------------------- */
.flow_area{
	padding: 106px 0 94px;
}
.flow_block{
	position: relative;
	padding: 80px 100px 30px;
	border-radius: 20px 20px 0 0;
	background: #fff;
}
.flow_ttl{
	position: absolute;
	z-index: 1;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	width: 570px;
}
.flow_ttl span{
	position: relative;
	display: block;
	padding: 22px;
	border-radius: 20px;
	background: #FFF777;
	color: #A61427;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.flow_ttl span::after{
	position: absolute;
	bottom: -26px;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	display: inline-block;
	width: 41px;
	height: 35px;
	background: url(/assets/images/campaign/mirai_2024/triangle-yl.png) no-repeat top center / 100%;
}
.flow_list{
	position: relative;
	display: flex;
}
.flow_list::before{
	position: absolute;
	top: 83px;
	left: 50%;
	transform: translateX(-50%);
	content: "";
	display: inline-block;
	width: 80%;
	height: 5px;
	background: #A61427;
}
.flow_list .list_item{
	position: relative;
	width: calc((100% - 295px) / 2);
	text-align: center;
}
.flow_list .list_item:nth-child(2){
	width: 295px;
}
.flow_list img{
	width: 165px;
}
.flow_list .list_ttl{
	margin: 22px 0 0;
	color: #A61427;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.5;
}
.flow_list .list_txt{
	margin: 12px 0 0;
	font-size: 16px;
	line-height: 1.5;
}
.flow_block .link_block{
	margin-top: 40px;
}

.flow_area .cta_area{
	padding: 20px 0;
}
.flow_area .cta_area .cta_heading{
	font-size: 22px;
}
.flow_area .cta_area .primary_btn{
	max-width: 622px;
	padding: 16px 26px;
	font-size: 19px;
}
.flow_area .cta_area .primary_btn span{
	font-size: 15px;
}
.flow_area .cta_area .primary_btn span::before,
.flow_area .cta_area .primary_btn span::after{
	width: 18px;
	height: 34px;
}

@media screen and (max-width: 768px) {
	.flow_area{
		padding: 72px 0 39px;
	}
	.flow_block{
		padding: 72px 20px 20px;
		border-radius: 10px 10px 0 0;
	}
	.flow_ttl{
		top: -40px;
		width: 88%;
	}
	.flow_ttl span{
		padding: 12px;
    border-radius: 10px;
		font-size: 14px;
		line-height: 1.5;
	}
	.flow_list{
		display: block;
	}
	.flow_list::before{
		display: none;
	}
	.flow_list .list_item,
	.flow_list .list_item:nth-child(2){
		width: 100%;
	}
	.flow_list .list_item:nth-child(n + 2){
		position: relative;
		margin-top: 50px;
	}
	.flow_list .list_item:nth-child(n + 2)::before{
		position: absolute;
		top: -30px;
		left: 50%;
		transform: translateX(-50%);
		content: "";
		display: inline-block;
		border-top: 8px solid #A61427;
		border-right: 10px solid transparent;
		border-left: 10px solid transparent;
	}
	.flow_list .list_ttl{
		margin-top: 13px;
		font-size: 16px;
	}
	.flow_list .list_txt{
		margin-top: 10px;
		font-size: 14px;
		line-height: 1.6;
	}
	.flow_block .link_block{
		margin-top: 22px;
	}

	.flow_area .cta_area{
		margin-top: 28px;
		padding: 36px 26px 26px;
	}
	.flow_area .cta_area .cta_heading{
		font-size: 14px;
	}
	.flow_area .cta_area .primary_btn{
		/* max-width: 622px;
		padding: 16px 26px; */
		font-size: 16px;
	}
	.flow_area .cta_area .primary_btn span{
		font-size: 12px;
	}
	.flow_area .cta_area .primary_btn span::before,
	.flow_area .cta_area .primary_btn span::after{
		width: 15px;
		height: 37px;
	}
}



/* --------------------
 * 金利
 * -------------------- */
.rate_tbl{
	display: flex;
	color: #653C00;
	font-size: 20px;
	font-weight: bold;
}
.rate_tbl div{
	display: flex;
	align-items: center;
	justify-content: center;
}
.rate_tbl div + div{
	border-left: 2px solid #D3DADD;
}
.rate_tbl div:first-of-type{
	width: 295px;
}
.rate_tbl div:not(:first-of-type){
	width: calc((100% - 295px) / 2);
}

.rate_tbl div p{
	text-align: center;
}
.rate_tbl div p .note_txt{
	font-size: 15px;
}
.rate_tbl-01{
	margin: 95px 0 0;
	border-radius: 20px 20px 0 0;
	background: #FFF000;
}
.rate_tbl-01 div{
	padding: 15px;
}
.rate_tbl-01 .tbl_sb{
	position: relative;
}
.rate_tbl-01 .tbl_sb p{
	position: absolute;
	top: -36px;
	left: -42px;
	width: 390px;
	padding: 15px;
	border: 3px solid #689D7E;
	border-radius: 100vh;
	background: #fff;
	color: #689D7E;
	font-size: 15px;
	text-align: center;
	z-index: 1;
}
.rate_tbl-01 .tbl_sb p::before,
.rate_tbl-01 .tbl_sb p::after{
	position: absolute;
	content: "";
	display: inline-block;
	border-bottom: 10px solid transparent;
	border-left: 11px solid transparent;
}
.rate_tbl-01 .tbl_sb p::before{
	right: calc(50% - 16px);
	bottom: -22px;
	border-top: 10px solid #689D7E;
	border-right: 11px solid #689D7E;
}
.rate_tbl-01 .tbl_sb p::after{
	right: calc(50% - 14px);
	bottom: -17px;
	border-top: 10px solid #fff;
	border-right: 11px solid #fff;
}
.rate_tbl-02{
	background: #fff;
}
.rate_tbl-02 div{
	padding: 33px 15px;
}
.rate_tbl-03{
	position: relative;
	border-top: 2px solid #D3DADD;
	border-radius: 0 0 20px 20px;
	background: #FFF9CB;
}
.rate_tbl-03 div{
	padding: 30px 15px;
	font-size: 21px;
}
.rate_tbl-03 div p{
	color: #A61427;
}
.rate_tbl-03 div span{
	margin-right: 10px;
	font-size: 60px;
}
.tbl_bg-br{
	border-radius: 0 0 0 20px;
	background: #653C00;
	color: #fff;
	font-size: 22px;
}
.rate_tbl-03 .tbl_sb{
	position: absolute;
	top: -62px;
	right: -28px;
	width: 108px;
}
.rate_tbl-note{
	display: flex;
	justify-content: space-between;
	margin: 10px 0 0;
	font-size: 15px;
	text-align: left;
	line-height: 1.5;
}
@media screen and (max-width: 768px) {
	.check_sb{
		top: -20px;
		left: -20px;
	}
	.check_sb span{
		padding: 10px 23px;
		font-size: 15px;
	}
	.check_sb span::before{
		right: calc(50% - 11px);
		bottom: -13px;
	}

	.rate_area .scroll_img{
		margin: 37px auto 0;
		width: 240px;
	}
	.rate_area .scroll-box{
		margin: 19px 0 0 0;
		padding: 35px 30px 0 19px;
	}
	.rate_tbl{
		width: 454px;
	}
	.rate_tbl div{
		font-size: 16px;
	}
	.rate_tbl div:first-of-type{
		width: 147px;
	}
	.rate_tbl div:nth-child(2){
		width: 103px;
	}
	.rate_tbl div:nth-child(3){
		width: calc(100% - 250px);
	}
	.rate_tbl div:first-of-type{
		font-size: 18px;
		text-align: center;
		line-height: 1.5;
	}

  .rate_tbl div p .note_txt{
    margin-right: 0;
    font-size: 12px;
  }
	.rate_tbl-01{
		margin-top: 0;
		border-radius: 10px 10px 0 0;
	}
	.rate_tbl-01 div{
		padding: 10px;
	}
	.rate_tbl-01 .tbl_sb p{
		top: -35px;
		left: -19px;
		width: 162px;
		font-size: 14px;
		line-height: 1.5;
		border-width: 2px;
	}
	.rate_tbl-01 .tbl_sb p::before,
	.rate_tbl-01 .tbl_sb p::after{
		border-bottom: 7px solid transparent;
		border-left: 10px solid transparent;
	}
	.rate_tbl-01 .tbl_sb p::before{
		right: calc(50% - 28px);
		bottom: -15px;
		border-top-width: 8px;
		border-right-width: 9px;
	}
	.rate_tbl-01 .tbl_sb p::after{
		right: calc(50% - 26px);
		bottom: -11px;
		border-top: 8px solid #fff;
		border-right: 9px solid #fff;
	}

	.rate_tbl-02 div{
		padding: 23px 15px;
	}
	.rate_tbl-03{
		border-radius: 0 0 10px 10px;
	}
	.rate_tbl-03 div{
		padding: 22px 10px;
	}
	.rate_tbl-03 div:not(:first-of-type) p{
		font-size: 15px;
	}
	.rate_tbl-03 div span{
		margin-right: 8px;
		font-size: 36px;
		/*letter-spacing: -3px;*/
	}
	.tbl_bg-bl{
		border-radius: 0 0 0 10px;
		background: #0C6AB8;
		color: #fff;
		font-size: 22px;
	}
	.rate_tbl-03 .tbl_sb{
		top: -48px;
		right: -16px;
		width: 77px;
	}
	.rate_tbl-note{
		display: block;
		width: 454px;
		font-size: 12px;
		text-align: left;
	}

}
/*--------------------
商品ページのコンテンツ部分
--------------------*/
.cta_area{
	text-align: center;
}
/*左右に青い線がある見出し*/
.cta_area .read_txt {
	position: relative;
	display: inline-block;
	padding: 0 40px;
	text-align: center;
	line-height: 1.5;
	font-size: 18px;
	color: #A61427;
}
.cta_area .read_txt:before{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 30px;
	height: 2px;
	background-color: #A61427;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.cta_area .read_txt:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 30px;
	height: 2px;
	background-color: #A61427;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.cta_area .read_txt:before {
	left:0;
}
.cta_area .read_txt:after {
	right: 0;
}
.cta_area .read_txt span{
	color:#A61427;
	font-size: 28px;
}
@media(max-width: 768px){
	.cta_area .read_txt {
		font-size: 14px;
		width: 96%;
		padding: 0 50px;
	}
	.cta_area .read_txt span{
		font-size: 20px;
	}
}


/* --------------------
 * 商品概要
 * -------------------- */
.overview_area{
	padding: 67px 0 64px;
}
.overview_heading{
	color: #A61427;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.overview_heading span{
	position: relative;
}
.overview_heading span::after{
	position: absolute;
	top: 50%;
	right: -52px;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	width: 30px;
	height: 36px;
	background: url(/assets/images/campaign/mirai_2024/icon_overview.png) no-repeat top center / 100%;
}

.overview_tbl{
	margin: 42px 0 0;
	border-radius: 20px;
	background: #fff;
	overflow: hidden;
}
.overview_tbl .tbl_item + .tbl_item{
	border-top: 1px solid #BFBFBF;
}
.overview_tbl .tbl_heading,
.overview_tbl .tbl_body .body_inner{
	padding: 20px 25px;
	line-height: 1.45;
}
.overview_tbl .tbl_heading{
	width: 178px;
	padding: 20px 5px;
	background: #689D7E;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	vertical-align: middle;
}
.overview_tbl .tbl_body{
	width: calc(100% - 178px);
  vertical-align: middle;
}
.overview_tbl a{
	display: inline-block;
	margin: 25px 0 0;
	color: #002B7E;
}

.tbl_body table th,
.tbl_body table td{
	text-align: left;
}
.tbl_body table th{
	width: 9rem;
}

.inner_tbl + .note_list{
	margin-top: 18px;
}
.note_list-nest{
	margin-left: 1rem;
}

.cta_area-btm{
	margin: 139px 0 63px;
}

@media screen and (max-width: 768px) {
	.overview_area{
		padding: 40px 0 44px;
	}
	.overview_heading{
		font-size: 18px;
	}
	.overview_heading span{
		display: inline-block;
		padding-top: 53px;
	}
	.overview_heading span::after{
		top: 0;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}
	.overview_tbl{
		margin-top: 27px;
		border-radius: 10px;
	}
	.overview_tbl .tbl_heading,
	.overview_tbl .tbl_body .body_inner{
		font-size: 13px;
		padding: 10px 6px;
	}
	.overview_tbl .tbl_heading{
		width: 82px;
		font-size: 14px;
	}
	.overview_tbl .tbl_body{
		width: calc(100% - 82px);
	}
	.overview_tbl a{
		margin-top: 15px;
	}

	.cta_area-btm{
		margin: 42px 0 20px;
	}
}

