@charset "shift_jis";

/* ======================
 * Modal CSS
======================= */
#modal02{
		/* display: block; */
}
.js-bg-fixed {
		overflow-y: hidden;
		position: fixed;
		left: 0;
		right: 0;
}
/* modal base */
.modal-box {
		display: none;
		position: fixed;
		z-index: 9999;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
}
.modal-bg {
		position: absolute;
		width: 100%;
		height: 100vh;
		background: rgba(0,0,0,0.5);
		cursor: pointer;
}
.modal-close {
		position: absolute;
		top: 0;
		right: 0;
}
.modal_outer {
		position: absolute;
		top: 50%;
		left: 50%;
		max-width: 1160px;
		width: 70%;
		height: 80%;
		padding: 40px 0;
		background: #fff;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		box-sizing: border-box;
		border-radius: 10px;
}
.modal-inner {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: 100%;
		background: #ececed;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		box-sizing: border-box;
		overflow-y: scroll;
		border-radius: 10px;
}
.modal_close {
		display: block;
		position: absolute;
		top: -20px;
		right: -20px;
		z-index: 10000;
}
.modal_close:hover {
		opacity: 1!important;
}
a.modal_close_btn {
		display: block;
		width: 140px;
		margin: 20px auto 22px;
		text-align: center;
		color: #424141;
		text-decoration: none;
		padding: 12px 3px 13px;
		border-radius: 20px;
		line-height: 1;
		background-image: url(/insurance/recurring/images/modal/modal_close_icon.svg);
		background-repeat: no-repeat;
		background-position: 90% center;
		box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.2);
		background-color: #fff;
		font-size: 16px;
}
a.modal_close_btn:hover {
		opacity: 0.7;
}
.modal-contents {
		width: 95%;
		margin: 0 auto 0px;
		letter-spacing: 0.06em;
}

/* modal common */
.modal_color_red {
	color: #c6342d;
}
.modal_color_darkRed {
	color: #C00000;
}
.modal_white_bg{
		background-color: #fff;
		border-radius: 10px;
		padding: 40px;
}
.modal_white_bg02 {
		position: relative;
		background-color: #fff;
		border-radius: 10px;
		padding: 30px;
		width: 100%;
}
/* modal contents */
.modal_header{
		background-color: #fff;
		text-align: center;
		padding: 20px 0;
}
.modal_title{
		font-size: 24px;
		font-weight: bold;
		height: 66px;
		display: flex;
		align-items: center;
		justify-content: center;
}

/* modal step */
.modal_step{
		width: 467px;
		margin: 20px auto;
}
.modal_step img{
		width: 100%;
}
.modal_link{
		text-align: center;
		padding: 20px 10px;
		margin-top: 10px;
}
.modal_title_02{
		font-size: 22px;
		font-weight: bold;
		margin-bottom: 30px;
		line-height: 1.5;
}
.modal_title_03{
		font-size: 16px;
		font-weight: bold;
		margin-top: 20px;
}
.modal_title_05 {
		font-size: 22px;
		font-weight: bold;
		line-height: 1.5;
		text-align: center;
		padding: 0 124px;
}
.modal_link a{
		background-image: url(/insurance/recurring/images/modal/modal_link_icon.png);
		background-repeat: no-repeat;
		background-size: 11px 9px;
		background-position: 100% center;
		padding-right: 15px;
		color: #003399;
		display: inline-block;
		margin-right: 3px;
		font-size: 16px;
}
.modal_link_02 a{
		background-image: url(/insurance/recurring/images/modal/modal_link_icon.png);
		background-repeat: no-repeat;
		background-size: 11px 9px;
		background-position: 100% center;
		padding-right: 15px;
		color: #003399;
		display: inline-block;
		margin-right: 3px;
		font-size: 16px;
}
.modal_link a:hover{
		opacity: 0.7;
		text-decoration: none;
}
.modal_text_box{
	width: 600px;
	margin: 30px auto 0;
	padding: 10px 20px;
	border: 1px solid #000;
}
.modal_text_box + .modal_text_box{
	margin-top: 20px;
}
.modal_flex{
		display: flex;
}
.modal_flex.space_between{
		justify-content: space-between;
}
.modal_flex.aj_center{
		justify-content: center;
		align-items: center;
}
.modal_flex.aj_end{
		justify-content: center;
		align-items: flex-end;
}
.flex_1_1 .flex_item{
		flex: 1;
}
.flex_1_1 .flex_item.modal_width {
	width: 50%;
}
.flex_1_1 .flex_item.modal_width:first-child {
	margin-right: 5px;
}
.flex_1_1 .flex_item img{
		width: 160px;
}
.flex_1_1.flex_margin .flex_item + .flex_item{
		margin-left: 10px;
}
.flex_1_1.flex_margin_large .flex_item + .flex_item{
		margin-left: 20px;
}
a[href*="tel:"] {
		color: #003399;
		font-weight: bold;
}
.modal_list{
		line-height: 1.5;
		font-size: 16px;
}
.modal_list > li{
		margin-bottom: 8px;
}
.modal_list .indent1{
		margin-left: 1em;
}
.modal_list ul{
		margin-top: 6px;
}
.title_tel{
		background-image: url(/insurance/recurring/images/recurring_procedure_prepare04.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: 0px center;
		padding-left: 40px;
}
.title_net{
		background-image: url(/insurance/recurring/images/modal/modal_net.png);
		background-repeat: no-repeat;
		background-size: auto 100%;
		background-position: 0px center;
		padding-left: 40px;
}
.bg_polygon_arrow .epos_card{
		margin-top: 15px;
}
.modal_prepare{
		padding-left: 10%;
		padding-right: 10%;
		margin-bottom: 10px;
}
.modal_junbi{
		margin-top: 20px;
		margin-bottom: 10px;
}
.modal_junbi .modal_white_bg{
		padding: 30px;
}
.flex_3{
		flex: 3!important;
}
.fl_column2{
		float: left;
}
.modal_link.type02{
		padding: 40px;
}
.modal_link.type02 .modal_title_02{
		margin-top: 10px;
		width: 20%;
}
.modal_link.type02 .modal_title_02.title_tel{
		margin-top: -2px;
		width: 20%;
}
.modal_link.type02 .mbody{
		width: 70%;
		display: inline-block;
		margin-top: 0px;
}
.modal_notes{
		font-size: 12px;
		margin-top: 10px;
}
.modal_white_bg.type03{
		border-radius: 10px 10px 0 0;
}
.modal_white_bg.type04{
		border-radius: 0px 0px 0px 10px;
}
.modal_white_bg.type05{
		border-radius: 0px 0px 10px 0px;
}
.modal_white_bg.type06{
		border-radius: 0px 0px 10px 10px;
		padding: 20px 0 0 0;
}
.modal_white_bg.type0{
		border-radius: 0px;
}
.ml2 {margin-left: 2px !important;}
.modal_title_04{
		font-size: 18px;
		font-weight: bold;
}
.modal_notes_list{
		font-size: 12px;
		line-height: 1.5;
}
.tel_large {
		font-size: 26px;
		padding: 18px 0 20px;
		display: inline-block;
}
.reception_bold{
		font-weight: bold;
		margin: 18px 0px;
		line-height: 1.5;
}
.modal_link.type02.text_1 .modal_title_02 {
		margin-top: -3px;
}
	.flex_item .modal_icon01 img{
			height: 65px;
	}
	.flex_item .modal_icon02 img{
			height: 64px;
	}
.modal_btn_wrap{
	clear: both;
	text-align: center;
	margin-top: 20px;
}
.modal_btn_wrap .modal_btn {
	position: relative;
	text-align: center;
	color: #fff;
	background-color: #45a2b0;
	border-radius: 20px;
	padding: 17px 52px 16px;
	text-decoration: none;
}
.modal_btn_wrap02 {
	text-align: center;
	margin-top: 20px;
}
.modal_btn_wrap02 a {
	display: inline-block;
	position: relative;
	text-align: center;
	color: #fff;
	background-color: #45a2b0;
	border-radius: 20px;
	padding: 17px 52px 16px;
	text-decoration: none;
	background-image: url("/insurance/recurring/images/modal/modal_link_icon02.png");
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: 95% center;
	margin-right: 0;
}
.modal_link a.modal_btn {
	background-image: url("/insurance/recurring/images/modal/modal_link_icon02.png");
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: 95% center;
	margin-right: 0;
}
.modal_link_02 a.modal_btn {
	background-image: url("/insurance/recurring/images/modal/modal_link_icon02.png");
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: 95% center;
	margin-right: 0;
}
.modal_management_num {
	width: 95%;
	text-align: right;
	margin-top: 10px;
}
.modal_strong_text {
	font-size: 1.6rem;
	color: #dc322c;
	padding-bottom: 10px;
}
.modal_ic_text {
	font-size: 1.2rem;
}
/* modal_item */
.modal_text_net {
	position: absolute;
	font-size: 2.2rem;
	font-weight: bold;
	padding-left: 40px;
	top: 31px;
	left: 40px;
}
.modal_text_net::before {
	position: absolute;
	content: "";
	top: 50%;
	left: 0;
	width: 20px;
	height: 33px;
	background: url(/insurance/recurring/images/modal/modal_net.png) no-repeat 0 0 / contain;
	margin-top: -18.5px;
}
.modal_item + .modal_item {
	margin-left: 40px;
}
.modal_item02 {
	position: relative;
	width: fit-content;
	margin: 33px auto 0;
	padding: 0 102px;
}
.modal_item02_text {
	position: absolute;
	top: 50%;
	right: 0;
	font-size: 1.6rem;
	font-weight: bold;
	transform: translateY(-50%);
}
.modal_item_col {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 25px;
}
.modal_item_img img {
	width: 130px;
}
.modal_item_img02 img {
	width: 64px;
}
.modal_item_text {
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}
.modal_item_text02 {
	font-size: 2.2rem;
	font-weight: bold;
}
.modal_item_text03 {
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	margin-top: 8px;
}
.modal_text {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	margin-top: 21px;
}
.modal_text02 {
	font-size: 1.6rem;
	text-align: center;
	margin-top: 28px;
}
.modal_balloonWrap {
	margin: 15px 0 0 205px;
	text-align: center;
}
.modal_balloonWrap img {
	width: 143px;
}
.modal_balloonWrap + .modal_btn_wrap {
	margin-top: 3px;
}
@media screen and (min-width: 751px) {
		a[href*="tel:"] {
				pointer-events: none;
				cursor: default;
		}
		.modal_header{
				padding: 20px 0;
		}
		.modal_outer {
				position: absolute;
				top: 50%;
				left: 50%;
				max-width: 1160px;
				width: 70%;
				height: 75%;
				padding: 40px 0;
				background: #fff;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
				box-sizing: border-box;
				border-radius: 10px;
		}
		.modal_inner_small {
				width: 370px;
				margin: auto;
		}
		.modal_prepare{
				padding-left: 5%;
				padding-right: 5%;
				margin-bottom: 10px;
		}
		.flex_1_1.flex_left::after{
				content: "";
				display: block;
				width: 50%;
		}
		.bg_polygon_arrow{
				margin-bottom: 70px;
				padding-top: 10px;
				height: 115px;
				background-color: #f9f3ef;
				z-index: 1;
				position: relative;
		}    
		.bg_polygon_arrow:before{
				content: "";
				display: block;
				width: 100%;
				height: 50px;
				background-image: url(/insurance/recurring/images/modal/modal_bg_shape_pc_before.svg);
				background-repeat: no-repeat;
				background-size: 100%;
				background-position: center top;
				position: absolute;
				top: -15px;
				left: 0;
				z-index: -1;
		}
		.bg_polygon_arrow:after{
				content: "";
				display: block;
				width: 100%;
				height: 80px;
				background-image: url(/insurance/recurring/images/modal/modal_bg_shape_pc_after.svg);
				background-repeat: no-repeat;
				background-size: 100%;
				background-position: center top;
				position: absolute;
				bottom: -70px;
				left: 0;
				z-index: -1;
		}    
		.bg_polygon_arrow.bg_green{
				background-color: #ecf5f6;
		}
		.bg_polygon_arrow.bg_green:before{
				background-image: url(/insurance/recurring/images/modal/modal_bg_shape_pc_before_green.svg);
		}
		.bg_polygon_arrow.bg_green:after{
				background-image: url(/insurance/recurring/images/modal/modal_bg_shape_pc_after_green.svg);
		}
		.mt2 {margin-top: 2px !important;}
}
@media screen and (min-width: 751px) and (max-width: 1300px) {
		.bg_polygon_arrow{
				padding-top: 0;
		}
		.bg_polygon_arrow:after{
				bottom: -78px;
		}
		.modal_prepare {
				padding-left: 4%;
				padding-right: 4%;
		}
		#modal21 .modal_title_03 {
				margin-top: 1.5384615384615385vw;
		}
		#modal21 .modal_caution {
				padding: 15px 15px 15px 70px;
		}
		#modal21 .modal_caution br.is_pc{
				display: none;
		}
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
		.modal_outer{
				width: 90%;
		}
	.bg_polygon_arrow .epos_card{
		margin-top: 0;
	}
	.modal_link.type02 .modal_title_02.title_net{
				width: 28%;
				margin-top: 0;
		}
		.modal_link.type02 .modal_title_02.title_tel{
				width: 25%;
		}
		.mbody span{
				display: inline-block;
				text-align: left;
		}
		#modal09 .required .modal_title_02{
				white-space: nowrap;
		}
		#modal09 .required .flex_item{
				flex: none;
		}
		#modal09 .required .modal_caution{
				padding: 15px 10px 15px 70px;
		}
		#modal09 .required .is_tablet{
				display: inline-block;
		}
		#modal11 .modal_title_04{
				white-space: nowrap;
		}
		#modal13 .required .modal_title_02{
				white-space: nowrap;
		}
		#modal13 .required .flex_item{
				flex: none;
		}
		#modal13 .required .modal_caution br{
				display: none;
		}
		#modal14 .mbody{
				width: 70%!important;
		}
		#modal22 .mbody{
				/* white-space: nowrap; */
		}

}
@media screen and (max-width: 750px) {
		.modal_header{
				padding: 15px 0;
		}
		.modal_outer {
				position: absolute;
				top: 50%;
				left: 50%;
				max-width: 1160px;
				width: 90%;
				height: 80%;
				padding: 40px 0;
				background: #fff;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
				box-sizing: border-box;
				border-radius: 10px;
		}
		/* modal base */
		.modal-inner-sp {
				width: 90%;
				margin: auto;
		}
		.modal-contents, .modal-inquiry, .modal-inner .link-btn {
				width: 100% !important;
		}
		.modal-inner .modal-close {
				background-size: 14px;
				background-position: 10px 4px;
		}
		.modal_inner_small .flex_item{
				flex: auto;
				position: relative;
		}
		.modal_inner_small .flex_item .modal_title_03{

		}
		.modal_inner_small .flex_item{
				flex: auto;
				position: relative;
		}
		.modal_inner_small .flex_item img{
				width: 31vw;
		}
		.modal_close {
				top: -10px;
				right: -10px;
				width: 40px;
				height: 40px;
		}
		.modal_close img{
				width: 100%;
		}
		.sp_flex_reset{
				display: block!important;
		}
		.sp_flex_reset .flex_item + .flex_item {
				margin-left: 0px!important;
		}
		.modal_step {
				width: 100%;
				margin: 20px auto;
		}
		.modal_white_bg {
				padding: 7% 7%;
		}
		.modal_caution {
				font-size: 12px;
				padding: 15px 2% 15px 55px;
				background-position: 15px center;
				margin-top: 20px;
		}
		.modal_title {
				font-size: 21px;
				height: 60px;
		}
		.modal_title_02 {
				font-size: 16px;
				font-weight: bold;
				margin-bottom: 25px;
		}
		.modal_title_03 {
				font-size: 14px;
		}
		.modal_title_05 {
				font-size: 16px;
				font-weight: bold;
				text-align: left;
				padding: 0;
				margin-top: 13px;
		}
		.modal_list {
				font-size: 12px;
		}
		a[href*="tel:"] {
				font-size: 1.33em;
		}
		.title_tel {
				background-size: contain;
				padding-left: 30px;
		}
		.modal_link {
				font-size: 13px;
		}
		.modal_link a {
				font-size: 13px;
		}
		.modal_text_box{
			width: 100%;
			min-width: auto;
			margin: 20px auto 0;
			padding: 10px;
			border: 1px solid #000;
		}
		.modal_text_box + .modal_text_box{
			margin-top: 10px;
		}
		.bg_polygon_arrow {
				width: 100%;
				background-repeat: no-repeat;
				background-size: contain;
				padding: 30px 5% 55px;
				margin-bottom: 15px;
				height: 37vw;
		}
		.bg_polygon_arrow1 {
				background-image: url(/insurance/recurring/images/modal/modal_bg_shape_sp.svg);
		}
		.bg_polygon_arrow2.bg_green {
				background-image: url(/insurance/recurring/images/modal/modal_bg_shape_sp_green.svg);
		}
		.flex_item.flex_3_sp {
				flex: 1.3;
		}
		.modal_inner_small {
				width: 100%;
				margin: auto;
		}
		.fl_column2 {
				float: none;
		}
		.modal_link.type02 .modal_title_02 {
				width: 100%;
		}
		.modal_link.type02 .mbody {
				width: 100%;
		}
		.modal_link.type02 {
				padding: 30px;
		}
		.modal_link.type02 .modal_title_02 {
				margin-top: 0px;
				margin-bottom: 20px;
		}
		.modal_link.type02 .modal_title_02.title_tel {
				margin-top: -2px;
				width: 100%;
		}
		.modal_link.type02.type03{
				padding-bottom: 0;
		}
		.modal_link.type02.type03 .mbody{
				padding-bottom: 20px;
				border-bottom: solid 3px #e5e5e5;
		}
		.modal_title_04 {
				font-size: 14px;
				font-weight: bold;
				letter-spacing: -0.03em;
		}
		.tel_large {
				font-size: 21px!important;
				display: inline-block;
				padding-bottom: 13px;
		}
		.reception_bold {
				font-weight: bold;
				margin: 18px 0px;
				font-size: 12px;
				letter-spacing: -0.03em;
		}
		.modal_notes_list{
				text-align: left;
		}
		.modal_notes_list:nth-of-type(1){
				position: relative;
		}
		.pt3_sp{ padding-top: 3px!important;}
		.modal_link_icon{
				display: block;
		}
	.flex_item .modal_icon01{
		padding: 0 10%;
	}
	.flex_item + .flex_item .modal_icon01{
		padding: 0;
	}
	.flex_item .modal_icon01 img{
		height: auto;
	}
	.flex_item + .flex_item .modal_icon01 img{
		height: auto;
	}
	.flex_item .modal_icon02 img{
		height: auto;
	}
	.flex_item .modal_icon02{
		padding: 0 15.5%
	}
	.flex_item + .flex_item .modal_icon02{
		padding: 0 7%;
	}
	.flex_1_1 .flex_item.modal_width {
		width: 50%;
	}
	.flex_1_1 .flex_item.modal_width:first-child {
		margin-right: 5px;
	}
			.modal_btn_wrap{
	clear: both;
	text-align: center;
	margin-top: 20px;
}
	.modal_btn_wrap .modal_btn {
		position: relative;
		text-align: center;
		color: #fff;
		background-color: #45a2b0;
		border-radius: 10px;
		padding: 13px 52px 12px;
		text-decoration: none;
	}
	.modal_link a.modal_btn {
		background-image: url("/insurance/recurring/images/modal/modal_link_icon02.png");
		background-repeat: no-repeat;
		background-size: 20px 20px;
		background-position: 95% center;
		margin-right: 0;
	}
	.modal_link_02 a.modal_btn {
		background-image: url("/insurance/recurring/images/modal/modal_link_icon02.png");
		background-repeat: no-repeat;
		background-size: 20px 20px;
		background-position: 95% center;
		margin-right: 0;
		font-size: 1.3rem;
	}
	.modal_management_num {
		font-size: 1.3rem;
		width: 95%;
		text-align: right;
		margin-top: 5px;
	}
	.modal_strong_text {
		font-size: 1.4rem;
		color: #dc322c;
		padding-bottom: 0;
	}
	.modal_ic_text {
		font-size: 1.2rem;
	}
/* modal_item */
	.modal_white_bg02 {
		position: relative;
		background-color: #fff;
		border-radius: 10px;
		padding: 16px 17px;
		width: 100%;
	}
	.modal_text_net {
		position: relative;
		font-size: 1.6rem;
		font-weight: bold;
		padding-left: 40px;
		top: 0;
		left: 0;
	}
	.modal_text_net::before {
		position: absolute;
		content: "";
		top: 50%;
		left: 0;
		width: 16px;
		height: 24px;
		background: url(/insurance/recurring/images/modal/modal_net.png) no-repeat 0 0 / contain;
		margin-top: -14px;
	}
	.modal_item + .modal_item {
		margin-left: 16px;
	}
	.modal_item.type-unit {
		width: 65px;
		margin-left: 5px;
	}
	.modal_item02 {
		position: relative;
		width: fit-content;
		margin: 26px auto 0;
		padding: 0 94px;
	}
	.modal_item02_text {
		position: absolute;
		top: 50%;
		right: 0;
		font-size: 1.4rem;
		font-weight: bold;
		transform: translateY(-50%);
	}
	.modal_item_col {
		display: flex;
		justify-content: center;
		align-items: baseline;
		margin-top: 25px;
	}
	.modal_item_img img {
		width: auto;
	}
	.modal_item_img02 {
		margin: 0 6px;
	}
	.modal_item_img02 img {
		width: auto;
	}
	.modal_item_text {
		font-size: 1.4rem;
		font-weight: bold;
		text-align: center;
		margin-top: 20px;
	}
	.modal_item_text02 {
		font-size: 1.4rem;
		font-weight: bold;
	}
	.modal_item_text03 {
		font-size: 1.4rem;
		font-weight: bold;
		margin-top: 8px;
	}
	.modal_text {
		font-size: 1.4rem;
		font-weight: bold;
		margin-top: 12px;
	}
	.modal_text02 {
		font-size: 1.3rem;
		margin-top: 16px;
		text-align: left;
	}
	.modal_btn_wrap02 {
		text-align: center;
		margin-top: 27px;
	}
	.modal_btn_wrap02 a {
		font-size: 1.3rem;
		display: inline-block;
		position: relative;
		text-align: center;
		color: #fff;
		background-color: #45a2b0;
		border-radius: 10px;
		padding: 13px 45px 12px;
		text-decoration: none;
		background-image: url("/insurance/recurring/images/modal/modal_link_icon02.png");
		background-repeat: no-repeat;
		background-size: 20px 20px;
		background-position: 95% center;
		margin-right: 0;
	}
	.modal_balloonWrap {
		margin: 12px auto 0;
		text-align: right;
		max-width: 300px;
	}
	.modal_balloonWrap img {
		width: 102px;
	}
	.modal_balloonWrap + .modal_btn_wrap {
		margin-top: 3px;
	}
}

@media screen and (max-width: 370px) {
		.modal_caution {
				background-size: 25px 25px;
				background-position: 10px center;
				font-size: 11px;
				padding: 15px 4% 15px 45px;
		}
}

