@charset "Shift_JIS";

/* **********************************************************************
 *
 *       Title:   tumieru_life_plan_sp.css
 *
 ********************************************************************** */

/* block 内共通 */
.block-title.size_s {
	margin-bottom: 8px;
}

.block_subtitle {
	font-size: var(--text3);
	font-weight: bold;
	margin-bottom: 8px;
}

.underline {
	text-decoration: underline;
}

.transparent_block {
    margin: 0 0 24px;
}

.sp_tac{
	text-align: center;
}

.modal-block.modal_sp_wide{
	width: calc( 100% - 20px );
}

/* バナー */
.partner_banners {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.partner_label {
	font-size: var(--caption2);
	color: var(--text_secondary);
	margin-bottom: 4px;
}

.partner_item img {
	display: block;
	margin: 0 auto;
	width: 298px; 
	height: auto;
}

/* 小見出し */
.inner_block-sell + .inner_block-sell {
	margin-top: 16px;
}

.block_sell_label {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 100px;
	background: var(--background_primary);
	font-size: var(--text3);
	font-weight: 700;
}

.contactform fieldset .inputarea .inputted.size_l {
	font-size: var(--title1);	
    margin: 0 0 0 auto;
}

/* つみたて内容部分 */
.block-sell.monthly_summary .monthly_summary_body {
	border-top: solid 1px var(--line_primary);
	padding: 16px 0 0;
}

.block-sell.monthly_summary .monthly_summary_list {
	margin: 0;
}

.block-sell.monthly_summary .monthly_summary_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 0;
	box-sizing: border-box;
}

.block-sell.monthly_summary .monthly_summary_row dt,
.block-sell.monthly_summary .monthly_summary_row dd {
	margin: 0;
}

.block-sell.monthly_summary .monthly_summary_row dt {
	flex: 0 1 auto;
	display: flex;
	align-items: center;
}

.block-sell.monthly_summary .monthly_summary_row dd {
	flex: 1 0 auto;
	text-align: right;
	font-weight: 700;
}

.block-sell.monthly_summary .monthly_summary_row dt .tooltip {
	width: 14px;
	height: 14px;
	margin-top: 0;
	margin-left: 4px;
	background-size: 100% auto;
}


/* 表 */
.block_sell_table {
	width: 100%;
	color: var(--text_primary);
	font-size: var(--caption1);
}

.block_sell_table thead th {
	padding: 4px 14px;
	border: 1px solid var(--line_secondary);
	text-align: center;
    background: var(--background_secondary);
}

.block_sell_table.pink thead th {
	background: var(--background_tertiary);
}

.block_sell_table tbody th,
.block_sell_table tbody td {
	padding: 4px 14px;
	border: 1px solid var(--line_secondary);
	background: var(--background_primary);
	vertical-align: top;
}

.block_sell_table tbody th {
	text-align: center;
	padding: 4px 8px;
}

.block_sell_table .middle {
	vertical-align: middle;
}

.block_sell_table tbody td {
	text-align: left;
	line-height: 1.6;
	padding: 4px 14px;
}

/* 2列 */
.block_sell_table.col2 thead th:first-child {	
	padding: 4px 8px;
}

.block_sell_table.col2 thead th:first-child,
.block_sell_table.col2 tbody th {
	width: 96px;
}

.block_sell_table.col2 tbody th {
	padding: 4px 8px;
}

.block_sell_table.col2 tbody th.middle {
	vertical-align: middle;
}

.block_sell_table.col2 tbody td {
	padding: 4px 14px;
}

/* 3列 */
.block_sell_table.col3 tbody tr {
	display: flex;
}
.block_sell_table.col3 tbody th {
	width: 40%;
	background: var(--background_tertiary);
	text-align: center;
	border-right: 1px solid var(--line_secondary);
	border-bottom: none;
}

.block_sell_table.col3 tbody td {
	width: 60%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-left: none;
	border-bottom: none;
}

.block_sell_table.col3 tbody tr:last-child th,
.block_sell_table.col3 tbody tr:last-child td {
	border-bottom: 1px solid var(--line_secondary);
}

/* スマホ縦並び */
.block_sell_table.sp_block tbody th,
.block_sell_table.sp_block tbody td {
	width: auto;
	display: block;
	border-bottom: none;
}

.block_sell_table.sp_block tbody tr:last-child td {
	border-bottom: solid 1px var(--line_secondary);
}


/* *******************************
  * HW_7001_つみえーる_ホーム
 ********************************* */

.border_section {
	padding-bottom: 24px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--line_primary);
}

.check_flex {
	display: inline-flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	font-size: var(--text3);
	text-align: left;
}

.check_flex li {
	position: relative;
	padding: 10px 0 10px 44px;
}

.check_flex li::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 10px;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	background: var(--brand_primary);
}

.check_flex li::after {
	content: "";
	position: absolute;
	top: 17px;
	left: 16px;
	width: 12px;
	height: 10px;
	mask: url(../img/common/ico_check_sort.svg) 50% 50% / contain no-repeat;
	background: #fff;
}

.tumieru_features {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tumieru_features li + li {margin-top: 16px;}

.tumieru_features li .img {
	width: 160px;
	margin: 8px auto;
}

.tumieru_features li .img img {
	width: 100%;
	height: auto;
}

.tumieru_features li .num {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	margin-right: 8px;
	border-radius: 50%;
	font-size: var(--caption1);
	font-weight: bold;
	color: #fff;
	background: var(--brand_primary);
}

.term_box {
	overflow-y: auto;
	height: 320px;
	margin: 24px 0;
	padding: 24px 16px;
	box-sizing: border-box;
	border-radius: 8px;
	border: 1px solid var(--line_secondary);
}

.contactform fieldset.confirm {
	display: block;
}

.contactform fieldset.confirm legend span {
	align-items: flex-start;
	width: auto;
}

.contactform fieldset.contactform_1row.confirm .inputarea {
	width: 100%;
	text-align: right;
}

.simulation_tit {
	font-size: var(--text2);
	font-weight: bold;
	color: var(--brand_primary);
	text-align: center;
}

.simulation_tit span {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-height: 65px;
	padding-left: 73px;
	background: url(../img/tumieru/ico_tumieru_graph.svg) 0 50% no-repeat;
	text-align: left;
}

.comment_txt {
	text-align: center;
}

.comment_txt .in {
	display: inline-block;
	position: relative;
	margin: 0 18px;
	padding: 0 3px;
	font-size: var(--text3);
	font-weight: bold;
	background: linear-gradient(transparent 1.7em, #FADFE7 1.7em, #FADFE7 2.4em, transparent 2.4em);
}

.comment_txt .in::before,
.comment_txt .in::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 2px;
	height: 30px;
	border-radius: 1px;
	background: var(--text_primary);
	transform-origin: 50% 100%;
}
.comment_txt .in::before {
	left: -8px;
	transform: rotate(-17deg);
}
.comment_txt .in::after {
	right: -8px;
	transform: rotate(17deg);
}

/* *******************************
  * HW_7002_つみえーる_つみたてシミュレーション
 ********************************* */
.tumieru_head_lead{
	margin: -24px 0 40px;
}

.tumieru_form_purpose ul{
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: var(--caption);
	font-weight: bold;
	text-align: center;
}

.tumieru_form_purpose ul li{
	width: calc( ( 100% - 16px ) / 2 );
}

.tumieru_form_purpose label{
	position: relative;
	display: block;
	width: 100%;
	cursor: pointer;
	box-sizing: border-box;
	background: #fff;
	border: 2px solid var(--line_secondary);
	padding: 63px 3% 14px;
	border-radius: 8px;
}

.tumieru_form_purpose label:hover,
.block-sell_form.tumieru_simulation select:hover,
.block-sell_form.tumieru_simulation input:hover{
	cursor: pointer;
	opacity: .7;
}

.tumieru_form_hide{
	display: none!important;
}

.tumieru_form_hide.active{
	display: block!important;
}
fieldset.tumieru_form_hide.active{
	display: flex!important;
}

.tumieru_form_purpose label.active {
  border-color: var(--brand_primary);
  color: var(--brand_primary);
}

.tumieru_form_purpose label input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.tumieru_form_purpose label::before{
	content:"";
	position: absolute;
	z-index: 1;
	left: calc( 50% - 20px );
	top: 14px;
	width: 40px;
	height: 40px;
	mask-repeat: no-repeat;
	mask-size: contain;
	background-color: var(--brand_secondary);
}

.tumieru_form_purpose label.active::before{
	background-color: var(--brand_primary);
}

.tumieru_form_purpose label.purpose01::before{
	mask-image: url(../img/tumieru/ico_purpose01.svg);
}

.tumieru_form_purpose label.purpose02::before{
	mask-image: url(../img/tumieru/ico_purpose02.svg);
}

.block-sell_form.tumieru_simulation{
	padding: 0;
}

.block-sell_form.tumieru_simulation .contactform_row fieldset{
	padding: 0 0 24px;
	border-bottom: 0;
	align-items: flex-start;
}

.block-sell_form.tumieru_simulation .contactform_row .inputarea{
	width: 100%;
}

.block-sell_form.tumieru_simulation .contactform fieldset input[type="text"]{
	width: calc( 100% - 36px);
}

.block-sell_form.tumieru_simulation .contactform fieldset:not(.contactform_1row) .inputarea .inputarea_group_flex{
	align-items: center;
	flex-direction: row;
}

.block-sell_form.tumieru_simulation .contactform fieldset legend span{
	width: 160px;
	padding: 16px 0 0;
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .inputarea_group_flex{
	display: flex;
	align-items: center;
	gap: 8px;
}

.block-sell_form.tumieru_simulation .contactform_row .inputarea.inputarea_gender {
	display: block;
}

.block-sell_form.tumieru_simulation .error_message{
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea label.radio{
	width: 140px;
	box-sizing: border-box;
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea label.radio.inactive {
	cursor: not-allowed;
	color: var(--text_secondary);
}

.contactform fieldset .inputarea label.radio.inactive input[type="radio"] {
	border-color: var(--line_secondary);
	background: var(--line_primary);
}

/* 選択済み */
.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .select_wrapper.selected select {
	color: var(--text_primary);
	background: #fff;
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .select_wrapper.selected::before {
	filter: none;
	opacity: .5;
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .radio.selected,
.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .radio.selected:hover {
	opacity: .5;
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .radio.selected input[type="radio"] {
	border-color: var(--brand_primary);
	background-color: #fff;
}

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .radio.selected input[type="radio"]:disabled:checked::before {
	background-color: var(--brand_primary);
}
/* 選択済み ここまで */

.block-sell_form.tumieru_simulation .contactform fieldset .inputarea .inputarea_group > .error{
	margin-top: 2px;
}

.tumieru_simulation_result{
	background: var(--background_error);
	margin: 32px 0 0;
	padding: 24px 40px;
	border-radius: 8px;
}

.tumieru_simulation_result .row{
	margin: 0;
}

.tumieru_simulation_result .row + .row{
	margin-top: 24px;
}

.tumieru_simulation_result .row .tit_area{
}

.tumieru_simulation_result .row .tit_area .tit{
	font-size: var(--text3);
	font-weight: bold;
	margin: 0 0 4px;
}

.tumieru_simulation_result .row .tit_area .caption{
	font-size: var(--caption1);
	color: var(--text_secondary);
}

.tumieru_simulation_result .row .result_area{
	font-size: var(--text3);
	font-weight: bold;
	text-align: right;
	word-break: break-all;
}

.tumieru_simulation_result .row .result_area .num{
	display: inline;
	font-size: var(--text1);
	margin: 0 7px 0 0;
}

.tumieru_simulation_result_link{
	margin: 8px 0 0;
	text-align: right;
}

.tumieru_simulation_result_link a.tooltip{
	display: inline;
	width: auto;
	height: auto;
	margin: 0;
	background: none;
}

.tumieru_simulation_result_caption{
	font-size: var(--caption2);
}

.tumieru_form_product{
	margin: 0 0 32px;
}

.tumieru_form_product ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.tumieru_form_product ul li{
	width: 100%;
	margin: 0;
}

.tumieru_form_product ul li + li{
	margin-top: 24px;
}

.tumieru_form_product label{
	position: relative;
	display: block;
	width: 100%;
	cursor: pointer;
	box-sizing: border-box;
	background: #fff;
	border: 3px solid var(--line_primary);
	padding: 14px;
	border-radius: 8px;
}

.tumieru_form_product label:hover{
	cursor: pointer;
	opacity: .7;
}

/* .tumieru_form_product label.product01.active {
	border-color: var(--contents_world);
}
.tumieru_form_product label.product02.active {
	border-color: var(--contents_toshin);
} */

.tumieru_form_product label.active {
	border-color: var(--contents_world);
}

.tumieru_form_product label input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
    overflow: hidden;
}

.tumieru_form_product .product_in .img_area{
	text-align: center;
	margin: 0 0 16px;
}

.tumieru_form_product .product_in .img_area img{
	width: 72px;
	height: auto;
}

.tumieru_form_product .product_in .txt_area .tit{
	font-size: var(--text3);
	font-weight: bold;
	margin: 0 0 8px;
}

.tumieru_form_product .product_in .txt_area .caption{
	font-size: var(--caption1);
}

.tumieru_form_product .product_in .txt_area .link{
	font-size: var(--caption1);
	margin: 8px 0 0;
}

/* アクセシビリティ対応 */

.tumieru_form_product label:has(input[type=radio]:focus-visible) {
	outline: 2px dotted var(--brand_secondary);
}

.credit_points_box.tumieru_simulation{
	margin-top: -12px;
	margin-bottom: 0;
	padding: 0;
	border-radius: 10px;
}

.credit_points_box.tumieru_simulation .inner_credit_points_box{
	height: 271px;
	padding: 24px;
}

.block-sell-entry_formbtn.tumieru_simulation input.btn{
	padding-left: 46px;
	padding-right: 46px;
}

.tumieru_simulation_result_section .block-sell-entry_list{
	padding-bottom: 24px;
}

.tumieru_simulation_result_section .block-sell-entry_list dl dt{
	text-align: left;
}

.tumieru_simulation_result_section .block-sell-entry_list dl dd{
	font-size: var(--text3);
}

.tumitate_need{
	margin: 24px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--line_primary);
	text-align: center;
}

.tumieru_simulation_result_section .tumitate_need .catch{
	font-size: var(--caption2);
	font-weight: bold;
	margin: 0 0 8px;
  word-break: break-all;
}

.tumieru_simulation_result_section .tumitate_need .catch .num{
	font-size: var(--title2);
	padding: 0 4px 0 11px;
}
.tumieru_simulation_result_section .tumitate_need .catch .num:first-child{
	padding-left: 0;
}

.tumieru_simulation_result_section .tumitate_need .content{
	background: var(--background_error);
	padding: 24px;
	border-radius: 8px;
}

.tumieru_simulation_result_section .tumitate_need .content .tit{
	font-size: var(--caption2);
	font-weight: bold;
	margin: 0 0 4px;
}

.tumieru_simulation_result_section .tumitate_need .content .price{
	font-weight: bold;
	margin: 0 0 16px;
  word-break: break-all;
}

.tumieru_simulation_result_section .tumitate_need .content .price .num{
	font-size: var(--text1);
	padding: 0 4px 0 0;
}

.tumieru_graph_section h3{
	font-weight: bold;
	margin: 0 0 16px;
	text-align: center;
}

.tumieru_graph_section .graph{
	margin: 0 0 16px;
}

.tumieru_select_section .row{
	margin: 24px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--line_primary);
}

.tumieru_select_section .row:first-child{
	padding-top: 0;
	border-top: 0;
}

.tumieru_select_section .row .lead{
	margin: 0 0 16px;
}

.tumieru_select_section .row .lead .link{
	text-align: right;
	margin: 8px 0 0;
}

.tumieru_select_section .row .lead .link a:hover{
	opacity: 0.7;
}

.tumieru_select_section h3{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: var(--title2);
	margin: 0 0 8px;
}

.tumieru_select_section h3 span{
	font-size: var(--caption1);
	color: var(--contents_new);
}

.tumieru_select_section_error{
	margin: 24px 0 0;
	background: var(--background_error);
	padding: 24px;
	border-radius: 8px;
}

.tumieru_select_section_error .row:not(:first-child){
	margin: 16px 0 0;
}

.tumieru_select_section_error .row > div:not(:first-child){
	margin: 8px 0 0;
}

.tumieru_graph_section .content_bottom .btn{
	margin: 20px 0 0;
}

.tumieru_simulation_result_section .btn .tooltip,
.tumieru_graph_section .btn .tooltip{
	margin-top: 0;
}

/* モーダルウィンドウ */
.modal_form_set_price{
	margin: 32px 0;
}

.modal_form_set_price ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.modal_form_set_price ul li{
	position: relative;
	flex: 1;
	margin: 0;
}

.modal_form_set_price ul li + li{
	margin-top: 9px;
}

.modal_form_set_price ul li label{
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	border: 2px solid var(--line_primary);
	padding: 14px 0 14px 8px;
	border-radius: 8px;
	font-size: var(--caption1);
}

.modal_form_set_price ul li label.active {
	border-color: var(--brand_primary);
}

.modal_form_set_price ul li label p{
	font-size: var(--caption2);
}

.modal_form_set_price ul li label .modal_form_tit{
	font-size: var(--text3);
	font-weight: bold;
}

.modal_form_set_price ul li label .modal_form_recommend{
	font-size: var(--caption2);
	font-weight: bold;
	color: var(--brand_primary);
}

.modal_form_set_price ul li label input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

span.td_underline{
	text-decoration: underline;
}

/* *******************************
  * HW_7004_つみえーる_保険プラン選択
 ********************************* */
.life_plan_tit_flex .date{
	margin: 0 0 8px;
}


/* *******************************
  * HW_7005_つみえーる_シミュレーション結果
 ********************************* */
.block_sell_table.vam th,
.block_sell_table.vam td{
	vertical-align: middle;
}

.btn_sendmail_simulation{
	text-align: right;
}

.btn_sendmail_simulation.btn._allpink a{
	text-align: center;
	padding-top: 12px;
	padding-bottom: 12px;
}

.contactform fieldset legend span .tooltip.mt3{
	margin-top: 3px;
}


/* *******************************
  * HW_7006_つみえーる_つみえーるお申し込みについて
 ********************************* */
h3 span.tit_num{
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 2.8rem;
	height: 2.8rem;
	margin: 0 8px 0 0;
	padding: 6px 0 0;
	box-sizing: border-box;
	font-size: var(--number2);
	color: var(--text_inversion);
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
}

h3 span.tit_num::before{
	content:"";
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100%;
	background: var(--brand_primary);
}

.mosikomi_briefing h3 + *{
	margin-top: 24px;
}

.mosikomi_briefing .block_sell_note{
	font-size: var(--caption1);
	font-weight: normal;
}

ul.lst_disc{
	list-style-type: disc;
}


/* *******************************
  * HW_7008_つみえーる_保険申込注意事項
 ********************************* */
.credit_points_box.mosikomi {
	border-radius: 4px;
}

.checkbox_item.mosikomi{
	display: flex;
	align-items: center;
	min-height: 44px;
}

.checkbox_item.mosikomi + .checkbox_item.mosikomi{
	margin-top: 16px;
}


/* *******************************
  * HW_7009_つみえーる_保険内容設定
 ********************************* */
a.point_tdu:hover{
	opacity: .7;
}

.input_year input[type="text"]{
	max-width: calc( 90vw - 102px );
}


/* *******************************
  * HW_7010_保険プラン選択
 ********************************* */

 /* エラーメッセージ */
.inner_block.error_block {
	background-color: var(--background_error);
	padding: 24px;
}

.inner_block.error_block ul {
	color: var(--text_error);
}

.inner_block.error_block ul li + li {
	margin-top: 8px;
}

/* プラン選択カード */
.plan_list {
	margin: 24px 0;
}
.plan_card {
	display: flex;
	flex-direction: column;
	background: var(--background_primary);
	border: 3px solid var(--line_primary);
	border-radius: 8px;
	padding: 16px;
	box-sizing: border-box;
	margin-bottom: 24px;
}

.plan_card._selected {
	border-color: var(--brand_primary);
}

.plan_card_name {
	font-size: var(--text3);
	font-weight: 700;
	margin-bottom: 8px;
}

.plan_card_desc {
	font-size: var(--caption1);
	line-height: 1.6;
	margin-bottom: 8px;
}

.plan_card_link a {
	font-size: var(--caption1);
	color: var(--brand_primary);
}

.plan_card_right {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--line_primary);
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
}

.plan_card_label {
	font-size: var(--caption1);
	font-weight: 700;
	margin-bottom: 4px;
	display: flex;
	align-items: center;
}

.plan_card_label .tooltip {
	margin: 0 0 0 4px;
	background-size: 100% auto;
}

.plan_card_price {
	margin: 0;
}

.plan_card_price_main {
	font-size: var(--title1);
	font-weight: 700;
}

.plan_card_price_unit {
	font-size: var(--caption1);
	font-weight: 700;
	margin-left: 4px;
}

/* プラン一覧 */

.wrapper .inner_block.inner_block_plan .plan_title .tooltip {
	margin: 0;
}

.plan_title {
	margin: 0 0 8px;
	font-size: var(--title2);
	font-weight: bold;
	position: relative;
    padding-left: 18px;
}

.plan_title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    border-radius: 16px;
    background: var(--brand-color, var(--brand_primary));
}

/* 表 */
.block_sell_section_title {
	margin: 24px 0 8px;
	font-size: var(--text3);
	font-weight: 700;
	position: relative;
}

.block_sell_section_title .tooltip{
	margin-top: 0;
}

.block_sell_note {
	margin: 0 0 8px;
	font-size: var(--caption1);
}

.block_sell_table_amount tbody th {
	background-color: var(--background_secondary);
	width: 40%;
}

.block_sell_table_amount tbody td {
	font-weight: 700;
	width: 60%;
	text-align: center;
	vertical-align: middle;
}

.block_sell_table_premium tbody th,
.block_sell_table_premium tbody td {
	padding: 4px 10px;
}

.block_sell_table_premium tbody th {
	background-color: var(--background_secondary);
	width: 40%;
}

.block_sell_table_premium tbody td {
	font-weight: 700;
	width: 60%;
	text-align: center;
	vertical-align: middle;
}

/* bottom_line */
.inner_block.bottom_line {
    padding-bottom: 24px;
	border-bottom: solid 1px var(--line_primary);
}

/* *******************************
  * HW_7011_重要事項説明・約款確認
 ********************************* */

 /* 外部リンクボタン */
.btn._blank a span {
	position: relative;
	padding-left: 28px;
}

.btn._blank a span::before {
	content: '';
	display: inline-block;
	position: absolute;
	mask-image: url(../img/common/ico_blank.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	background-color: var(--text_primary);
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
}

/* terms_box */
.terms_box {
	background: var(--background_secondary);
	border-radius: 8px;
	margin: 8px 0;
	padding: 24px;
}

.terms_box .txt {
	font-weight: bold;
	margin-bottom: 16px;
}

/* *******************************
  * HW_7012_ご意向確認
 ********************************* */

 /* 保険金額 */
.contactform .insurance_amount {
	margin-bottom: 8px;
	font-weight: bold;
}

/* *******************************
  * HW_7013_告知に関する重要事項
 ********************************* */

.confirm_box {
	background: var(--background_secondary);
	border-radius: 8px;
	margin: 8px 0;
	padding: 24px;
}

.confirm_box .txt {
	margin-bottom: 16px;
}

/* *******************************
  * HW_7014_死亡保険金受取人設定
 ********************************* */

.block-sell_form {
	padding: 24px;
}

/* 1行ごとのレイアウト */
.block-sell_form .contactform_row fieldset {
	margin: 0;
	padding: 16px 0;
	border: 0;
	border-bottom: 1px solid var(--line_primary);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 28px;
}

.block-sell_form .contactform_row fieldset:last-child {
	border-bottom: none;
}

/* ラベル（左側） */
.block-sell_form .contactform_row legend {
	flex: 0 0 120px;
	margin: 0 24px 0 0;
	font-size: var(--text3);
}

.block-sell_form .contactform_row legend span {
	display: inline-block;
}

/* 入力エリア（右側） */
.block-sell_form .contactform_row .inputarea {
	flex-direction: row;
    width: calc(100% - 168px);
	gap: 8px;
}

.block-sell_form .contactform fieldset.contactform_1row .inputarea {
	width: 100%;
	padding: 0;
}

.block-sell_form .contactform fieldset input[type="text"] {
	padding: 11px 16px;
	width: 100%;
}

.block-sell_form .contactform fieldset input[type="text"]:focus-visible {
	border: 1px solid #000;
	outline: none;
}

.block-sell_form .contactform_row .inputarea .input_wrapper {
	display: flex;
	align-items: center;
}

.block-sell_form .contactform fieldset .input_fullsize {
	width: 100%!important;
}

/* error_message */
.block-sell_form .error_message {
	color: var(--text_error);
	font-size: var(--caption1);
}

/* セレクトボックス */
.block-sell_form.block-sell_form_entry select:hover {
	cursor: pointer;
	opacity: .7;
}

/* 氏名 */

.block-sell_form .inputarea_name {
	display: flex;
	gap: 24px;
}

.block-sell_form .inputarea_name_col {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}

.block-sell_form .contactform_row .inputarea.inputarea_name {
	flex-direction: column;
}

.inputarea_name input {
	width: 151px;
	margin-left: 20px;
}

/* 生年月日 */
.contactform fieldset .inputarea.inputarea_birth select {
	padding-right: 30px;
}

.contactform fieldset .inputarea.inputarea_birth {
	gap: 10px;
}

.contactform fieldset .inputarea.inputarea_birth > .select_wrapper {
	width: 33%;
}

.contactform fieldset .inputarea.inputarea_birth > .select_wrapper:first-child {
	width: 45%;
}

.contactform fieldset .inputarea.inputarea_birth > .select_wrapper select {
	width: 100%;
}

/* 性別 */
.block-sell_form .inputarea_gender {
	gap: 64px;
}

/* 続柄 */

.block-sell_form .contactform fieldset .inputarea_relation .select_wrapper,
.block-sell_form .contactform fieldset .inputarea_relation select {
	width: 100%;
}

/* 郵便番号 */

.block-sell_form .contactform fieldset .inputarea_zip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.block-sell_form .contactform fieldset .input_zip_half input {
	width: 100px;
    padding: 11px 16px;
}

.block-sell_form .contactform fieldset 	.inputarea_zip_dash input {
	width: 100px;
    padding: 11px 16px;
}

/* 都道府県 */

.block-sell_form .inputarea_pref .select_wrapper,
.block-sell_form .inputarea_pref select {
	width: 260px;
}

/* 電話番号 */

.block-sell_form .contactform fieldset .inputarea_tel {
	display: flex;
	align-items: center;
	gap: 2px;
}

.block-sell_form .input_tel_part {
	width: 68px;
}

.block-sell_form .inputarea_tel_dash {
	display: inline-block;
	margin: 0 4px;
}

/* *******************************
  * HW_7015_クレジットカード登録
 ********************************* */

 .credit_points_box_title {
	font-size: var(--text3);
	font-weight: bold;
	color: var(--text_error);
	margin-bottom: 16px;
 }

 .credit_points_box_kitei {
	font-size: var(--text3);
	font-weight: bold;
	margin: 32px 0 16px;
 }

 .credit_points_box {
	border: solid 1px var(--line_secondary);
	border-radius: 16px;
	padding: 24px;
	font-size: var(--caption1);
 }

.inner_credit_points_box {
	overflow: auto;
	height: 356px;
	padding-right: 16px;
}

.credit_points_box ol {
	margin-left: 0;
}

.credit_points_box ul li + li,
.credit_points_box ol li + li {
	margin-top: 8px;
}

.credit_points_box .card_ul {
	margin: 10px 0 10px 20px;
	padding: 0;
	list-style-type: none;
	display: flex;
	align-items: center;
	gap: 8px;
}

.credit_points_box .card_ul li {
	margin: 0;
}

/* block_sell_arrow */
.block_sell_arrow{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	background: url(../img/common/ico_arw_flow.svg) 50% 50% no-repeat;
	padding: 8px 0;
}

.block_sell_arrow > *{
	flex: 1;
}

.block_sell_arrow > *:first-child{
	text-align: right;
}

.block_sell_arrow > * > p{
	display: inline-block;
	text-align: left;
}

/* *******************************
  * HW_7018_申込内容確認
 ********************************* */

.total_amount {
	background: var(--background_tertiary);
	padding: 32px 24px;
	border-radius: 12px;
	margin: 24px 0;
}

.total_amount_title {
	position: relative;
	font-weight: bold;
	font-size: var(--text3);
	padding-left: 14px;
}

.total_amount_title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	height: 24px;
	border-radius: 16px;
	background: var(--brand_primary);
}

.total_amount_title .tooltip {
	margin-top: 0; /* 下にズレてるので修正260126 */
}

.total_amount_value {
	font-size: var(--text1);
	font-weight: bold;
	color: var(--text_primary);
	text-align: right;
	margin-top: 8px;
}

.total_amount_value span {
	font-size: var(--text3);
	margin-left: 4px;
}

.total_amount_detail {
	background: var(--background_primary);
	padding: 20px;
	border-radius: 10px;
	margin-top: 16px;
}

.total_amount_detail dl {
	margin: 0;
}

.total_amount_row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	font-size: var(--text3);
}

.total_amount_row dd {
	display: flex;
	align-items: center;
	text-align: right;
	font-weight: bold;
}

.block_sell_arrow{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	background: url(../img/common/ico_arw_flow.svg) 50% 50% no-repeat;
	padding: 8px 0;
}

.block_sell_arrow > *{
	flex: 1;
}

.block_sell_arrow > *:first-child{
	text-align: right;
}

.block_sell_arrow > * > p{
	display: inline-block;
	text-align: left;
}

.contactform fieldset legend span.flex_start {
	align-items: flex-start;
}

.contactform fieldset legend span.flex_start .tooltip {
	/* margin-top: 4px; 上にズレてるので修正260126 */
	margin-top: 3px;
}

.contactform fieldset.flex_start {
	align-items: flex-start;
}

.checkbox_item.confirm_checkbox label {
	display: inline-block;
	text-align: left;
}

.confirm_checkbox + .error_message {
    color: var(--text_error);
}

.contactform fieldset + fieldset.bg_gray {
	border-top: 1px solid var(--background_secondary);
}

.contactform_1row.bg_gray {
	background-color: #D3D3D3;
}

/* *******************************
  * HW_7019_申し込み完了
 ********************************* */

 .block_sell_entry_flow{
	margin: 24px 0 0;
}

.block_sell_entry_flow .block_sell_entry_flow_group{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 24px 0 0;
}

.block_sell_entry_flow .block_sell_entry_flow_item{
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 8px;
	background: var(--background_secondary);
	border-radius: 8px;
	padding: 16px 24px;
	font-size: var(--caption1);
	font-weight: bold;
}

.block_sell_entry_flow .block_sell_entry_flow_item._caution{
	background: var(--background_tertiary);
}

.block_sell_entry_flow .block_sell_entry_flow_item span {
	font-weight: normal;	
	font-size: var(--caption2);
}

.block_sell_entry_flow .block_sell_entry_flow_item p {
	font-size: var(--text2);
}

.block_sell_entry_flow .block_sell_entry_flow_item .date{
	/* width: 200px; */
	padding: 4px 16px;
	box-sizing: border-box;
	text-align: center;
	background: #fff;
	border-radius: 15px;
	font-size: var(--text3);
	font-weight: bold;
	flex-shrink: 0;
}

.block_sell_entry_flow .block_sell_entry_flow_arrow{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	background: url(../img/common/ico_arw_flow.svg) 50% 50% no-repeat;
}

.block_sell_entry_flow .block_sell_entry_flow_arrow > *{
	flex: 1;
}

.block_sell_entry_flow .block_sell_entry_flow_arrow > *:first-child{
	text-align: right;
}

.block_sell_entry_flow .block_sell_entry_flow_arrow > * > p{
	display: inline-block;
	text-align: left;
}

.block_sell_entry_flow .block_sell_entry_flow_txt{
	margin: 16px 0 0;
}

.block_sell_entry_flow .block_sell_entry_flow_txt p {
	display: flex;
}

.block_sell_entry_flow .block_sell_entry_flow_txt .chui {
	flex-shrink: 0;
}

.block_sell_entry_flow .block_sell_entry_flow_txt .emphasis {
	color: var(--brand_primary);
}

/* 金額入力欄共通スタイル */
.inputarea_group_flex.amount-input {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    width: 100%;
}

/* 入力フィールドをflexで伸縮可能にする */
.inputarea_group_flex.amount-input input[type="tel"] {
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
}

/* Firefox表示用 */
@-moz-document url-prefix() {
    .inputarea_group_flex.amount-input input[type="tel"] {
        width: calc(100% - 50px) !important;
        flex: 1 1 auto !important;
    }
}

/* 年の後ろに余白を追加 */
.year-input::after {
    content: "";
    display: inline-block;
    width: 6px;
}

/* 全体のline-heightも調整 */
.graph-legend {
    border: 1.5px solid #888888;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 12px;
    display: block;
    margin: 10px auto;
    text-align: center;
    width: fit-content;
    color: var(--text_secondary);
    line-height: 1.2;
}

/* 目標金額の記号 */
.red-dot {
    color: #e34c78;
    font-weight: normal;
    margin-right: 4px;
    font-size: 9px;
    vertical-align: baseline;
    position: relative;
}

/* 運用利益の記号 */
.pink-square {
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #ffb3d9;
    border: 1px solid #e34c78;
    margin-right: 4px;
    vertical-align: baseline;
    position: relative;
}

/* 元本の記号 */
.gray-square {
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #f0f0f0;
    border: 1px solid #a5a5a5;
    margin-right: 4px;
    vertical-align: baseline;
    position: relative;
}