@charset "UTF-8";


/*

    Aflac CSS
    がん保険 ミライト経験者率 - 基本設計

*/
.bottomNavi {
	display:none;
}
/* .listTabLinks タブ型リンクリスト
----------------------------------------------- */
/* topバナー　*/
.flex {
	display: flex;
	align-items: center;
}
@media print, screen and (min-width: 768px) {
	.tabControlBoxBanner {
		height: 185px;
		padding: 20px 10px;
	}
	.tabControlBoxBannerText{
		width: 100%;
		margin-left: 20px;
		font-size: 88%;
	}
	.logoWidth {
		width: 30%;
	}
	.textWidth {
		width: 50%;
		margin-top: 15px;
	}
	.dugWidth {
		width: 20%;
	}
	.newText {
		color: red;
		font-size: 16px;
		position: absolute;
		font-weight: bold;
		padding: 0px 0px 0px 90px;
		display: inline-block;
		margin: -23px 0px 0px 0px;
	}
	.newText:before, .newText:after {
		position: absolute;
		top: 56%;
		width: 2px;
		height: 17px;
		background: red;
		margin-top: -11px;
		content: "";
	}
	.newText:before {
		left: 135px;
		-webkit-transform: rotate(24deg);
		transform: rotate(24deg);
	}
	.newText:after {
		left: 82px;
		-webkit-transform: rotate(-24deg);
		transform: rotate(-24deg);
	}
}
@media print, screen and (max-width: 767px) {
	.flex {
	   display: flex;
	}
	.logoWidth {
		width: 50%;
		flex: 1;
		padding-bottom: 10px;
		position: relative;
	}
	.dugWidth {
		width: 50%;
	}
	.textWidth{
		flex-basis: 55%;
		margin-top: 20px;
		margin-right: 10px;
	}
	.newText {
		color: red;
		font-size: 16px;
		position: absolute;
		font-weight: bold;
		padding: 0px;
		display: block;
		top: -17px;
		width: 100%;
	}
	.newText:before, .newText:after {
		position: relative;
		width: 2px;
		height: 17px;
		background: red;
		display: inline-block;
		bottom: -2px;
		content: "";
	}
	.newText:before {
		-webkit-transform: rotate(-24deg);
		transform: rotate(-24deg);
		margin-right: 10px;
	}
	.newText:after {
		margin-left: 10px;
		-webkit-transform: rotate(24deg);
		transform: rotate(24deg);
	}
}
@media only screen and ( max-width: 767px ) {
	/* .topTablist-sp */
	.topTablist {
		padding: 0 5px;
		border-top: none;
		background: none;
		margin-left: -10px;
		margin-right: -10px;
	}
	.topTablist:after {
		clear: both;
		content: "";
		display: table;
	}
	.topTablist .tab,
	.tabList > .tab {
		float: left;
		display: table;
		width: calc( 25% - 10px);
		height: 51px;
		box-shadow: 0px 0px 4px 0px rgba(4, 0, 0, 0.25);
		margin: 0 5px;
		font-size: 79%;
		font-weight: bold;
		line-height: 1.3;
		text-align: center;
		background: #fff;
	}
	.topTablist .tab > * {
		display: table-cell;
		height: 100%;
		vertical-align: middle;
	}
	.topTablist .tab > a,
	.tabList .tab > a,
	.tabList .tab.active a{
		color: #333;
		text-decoration: none;
		padding: 0 3px;
	}
	.topTablist .tab.active > a {
		pointer-events: none;
		color: #ffffff;
		text-decoration: none;
		padding: 0 3px;
	}
	.topTablist .tab.active,
	.topTablist .tab.activeTab {
		background: #ccc;
		box-shadow: none;
		border-radius: 0 !important;
	}
	.tabControlBox.bottom .topTablist {
		border-bottom: 0;
	}
	.tabControlBox.top {
		margin: 0px -10px 30px;
	}
	.tabControlBox.top .topTablist {
		border-top: 0;
	}
	.tabControlBoxBannerText{
		margin: 0 15px;
		font-size: 88%;
	}
}
@media print, screen and ( min-width: 768px ) {
	.topTablist {
	}
	.topTablist:after {
		content: "";
		clear: both;
		display: block;
	}
	.topTablist .tab {
		border-bottom: none !important;
		box-shadow: 0px -1px 3px 0px #e6e6e6;
	}
	.topTablist > .tab,
	.tabList > .tab {
		float: left;
		display: table;
		width: calc(25% - 10px);
		height: 54px;
		background: #fff;
		border: 2px solid #e6e6e6;
		margin: 0 5px;
		font-size: 14px;
		font-weight: bold;
		text-align: center;
	}
	.topTablist .tab.active > a,
	.topTablist .tab.activeTab > a {
		display: table-cell;
		color: #ffffff;
		text-decoration: none;
		vertical-align: middle;
	}
	.topTablist .tab > a,
	.topTablist .tab > a ,
	.tabList .tab > *{
		display: table-cell;
		color: #333;
		text-decoration: none;
		vertical-align: middle;
		padding: 0 8px;
	}
	.topTablist .tab a:hover {
		opacity: .8;
	}
	.topTablist .tab.active {
		background: #DBE000;
		border: 2px solid #2b87f4;
		box-shadow: none;
		border-radius: 0;
		pointer-events: none;
	}
	/* .tabControlBox.top */
	.tabControlBox.top {
		background-color: #fff;
	}
	.tabControlBox.top .topTablist {
		border-top: 0;
		padding: 12px 6px 0;
	}
	.tabControlBox.top .topTablist .tab {
		border-bottom: none;
		box-shadow: 0px -1px 3px 0px #e6e6e6;
	}
	/* .tabControlBox.bottom-pc */
	.tabControlBox.bottom .topTablist {
		padding: 0 7px 12px;
		border-bottom: 0;
	}
	.tabControlBox.bottom .topTablist .tab {
		box-shadow: 0px 2px 2px 1px #e6e6e6;
		border-top: none;
	}
}

.topTablist {
	border-bottom: solid 3px #2b87f4;
}
.topTablist .tab.active,
.topTablist .tab.activeTab {
	background: #2b87f4;
	border-color: #2b87f4;
}
/* タブリスト下 */
.tabList {
	border-color: #2b87f4 !important;
	background-color: #e9f1f3 !important;!i;!;
	padding: 0 0 12px !important;!i;!;
}
.tabList .tab.active,
 .tabList .tab.activeTab {
	background: #2b87f4 !important;
	border-color: #2b87f4 !important;
}
.tabList .tab.active a {
	color: #fff !important;
} 
.triangel {
	padding-left: 0px;
}
.cautionImg {
	float: left;
	margin-top: 15px;
	width: 17px;
}
.clearSpace {
	padding: 14px 12px;
}
@media print, screen and ( min-width: 768px ) {    /*pc*/
	.tabControlBox.bottom.downarrow {
		margin: 0 0 30px auto;
	}
}
/* #bloProductBanner 商品ロゴバナー
----------------------------------------------- */
#bloProductBanner {
    display: flex;
    align-items: center;

    margin-bottom: 20px !important;
    background: #ffffff;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloProductBanner {
        height: 205px;
        padding: 0 56px 0 18px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloProductBanner {
        padding: 20px 10px 20px 0;
        margin: 0 -10px;
    }
	#imgProductLogo{
		flex:1;
	}
}
#bloProductBanner > #imgProductLogo > img{
    display: block;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloProductBanner > #imgProductLogo > img{
        width: 100%;
    }
    #bloProductBanner > #imgProductLogo > p{
        text-align: center;
        font-weight: bold;
        color: red;
        font-size: 16px;
        position: relative;
        top: 5px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloProductBanner > #imgProductLogo > img{
        width: 100%;
    }
    #bloProductBanner > #imgProductLogo > p{
        text-align: center;
        font-weight: bold;
        color: red;
        font-size: 14px;
        position: relative;
        top: 5px;
    }
}
#bloProductBanner > #bloProductBannerTxt {
    font-weight: bold;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloProductBanner > #bloProductBannerTxt {
        padding-top: 10px;
        margin-right: 25px;
        font-size: 20px;
        line-height: 1.7;
        width: 585px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloProductBanner > #bloProductBannerTxt {
        font-size: 15px;
        line-height: 1.35;
        letter-spacing: 0.03em;
        padding-top: 14px;
        flex: 2;
    }
}
#bloProductBanner > #imgProductDuck {
    width: 110px;
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloProductBanner > #imgProductDuck {
        display: none;
    }
}


/* ul.listReferenceMark
----------------------------------------------- */
ul.listReferenceMark > li {
    position: relative;
    padding-left: 2.7em;
}
ul.listReferenceMark > li::before {
    position: absolute;
    left: 0;
    content: "※";
}
ul.listReferenceMark > li a.ulLink{
	
color: #33b0e3 !important;
}

/* ul.listReferenceMark
----------------------------------------------- */
ul.listAsteriskMark > li {
    position: relative;
    padding-left: 2.7em;
}
ul.listAsteriskMark > li::before {
    position: absolute;
    left: 0;
    content: "＊";
}

/* ol.listAsteriskNumeric
----------------------------------------------- */
ol.listAsteriskNumeric {
    counter-reset: count 0;
}
ol.listAsteriskNumeric > li {
    position: relative;
    padding-left: 2.7em;
}
ol.listAsteriskNumeric > li::before {
    position: absolute;
    left: 0;
    content: "＊" counter(count);
    counter-increment: count 1;
}


/* #bloDownArrowIcon
----------------------------------------------- */
#bloDownArrowIcon {
    padding: 15px 0 10px;
}
.tabControlBox.bottom {
	background-color: #e9f1f3 !important;!i;!;
} 
.tabControlBox.bottom.downarrow:after {
    content: "";
    display: block;
    width: 0;
    border-top: 50px solid #2b87f4 !important;
    border-right: 60px solid transparent;
    border-left: 60px solid transparent;
    margin: 30 auto;
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloDownArrowIcon {
        padding: 10px 0 20px;
    }
}

/* .duckButtonBox
----------------------------------------------- */
.duckButtonBox {
    background: #fff;
}
.duckButtonBox .btnIryoShiryo {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100%;
    border: 2px solid #e98300;
    border-radius: 50px;
    padding: 10px;
    background: #e98300;
    box-shadow: 0px 2px 3px 0px rgba(4, 0, 0, 0.25);
    color: #ffffff;
    cursor: pointer;
    letter-spacing: 1px;
}
.duckButtonBox .btnIryoShiryo {
    width: 48%;
    margin-top: 65px;
    float: right;
}
.duckButtonBox .btnIryoShiryo:before,
.duckButtonBox .btnIryoShiryo:after {
    content: '';
    display: block;
    min-width: 22px;
    width: 22px;
    height: 23px;
    margin: 0 25px;
}
.duckButtonBox .btnIryoShiryo:before {
    background: url(/content/dam/aflac/jp/ja/static/sp/shared/images/icon_link_book_white.png) no-repeat 0 0 / 22px 23px;
}
@media only screen and (max-width: 767px) {     /* SP */
    .duckButtonBox .btnIryoShiryo {
        width: 100%;
        margin-bottom: 60px;
        float: none;
    }
    .duckButtonBox .btnIryoShiryo {
        padding: 5px;
    }
    .duckButtonBox .btnIryoShiryo:before,
    .duckButtonBox .btnIryoShiryo:after {
        margin: 0 5px;
    }
}
/* .duckButtonBox
----------------------------------------------- */
.duckButtonBox form {
    width: 48%;
    padding-top: 65px;
    float: right;
}
.duckButtonBox .btnShiryo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    border: 2px solid #e98300;
    border-radius: 50px;
    padding: 15px 10px;
    background: #e98300;
    box-shadow: 0px 2px 3px 0px rgba(4, 0, 0, 0.25);
    color: #ffffff;
    cursor: pointer;
    letter-spacing: 1px;
}
.duckButtonBox .btnShiryo:before {
    content: '';
    display: block;
    min-width: 22px;
    width: 22px;
    height: 23px;
    margin: 0 15px;
}
.duckButtonBox .btnShiryo:before {
    background: url(/content/dam/aflac/jp/ja/static/sp/shared/images/icon_link_book_white.png) no-repeat 0 0 / 22px 23px;
}
@media only screen and (max-width: 767px) {     /* SP */
    .duckButtonBox form {
        width: auto;
        padding: 0 0 60px;
        float: none;
    }
    .duckButtonBox .btnShiryo {
        padding: 15px 5px;
    }
    .duckButtonBox .btnShiryo:before,
    .duckButtonBox .btnShiryo:after {
        margin: 0px 15px 1px 10px;
    }
}

/*  フッター部資料請求     */

.duckBtnShiryo:hover {
	opacity: 0.85;
}
@media only screen and (min-width: 768px){
	.duckBtnShiryo {
		border: 2px solid #e98300;
		background: #e98300;
		width: 100%;
		margin: 0 auto;
		display: block;
		cursor: pointer;
		outline: none;
	}

	.siryoButtom {
		width: 48%;
		padding-top: 65px;
		float: right;
	}
	
}
.duckBtnShiryo span {
	display: inline-block;
	border-radius: 40px;
	-webkit-border-radius: 40px;
	text-align: center;
	letter-spacing: 1px;
	font-size: 20px !important;
}
@media only screen and (max-width: 767px){
	.duckBtnShiryo span {
		/* background: #e98300; */
		min-height: 30px;
		box-sizing: content-box;
		color: #fff;
		position: relative;
		font-size: 18px;
		width: 92%;
		padding: 10px 0;
		left: 20px;
	}
	.siryoButtom {
		clear: both;
		width: 100%;
	}
	
}
@media only screen and (min-width: 768px){
	.duckBtnShiryo span:before {
		display: block;
		width: 29px;
		height: 37px;
		background: url(/content/dam/aflac/jp/ja/static/sp/shared/images/icon_link_book_white.png) no-repeat 0 0;
		background-size: 22px auto;
		vertical-align: middle;
		content: "";
		position: absolute;
		top: 15px;
		left: -5px;
	}
}
@media only screen and (max-width: 767px){
	.duckBtnShiryo span:before {
		display: block;
		width: 29px;
		height: 37px;
		background: url(/content/dam/aflac/jp/ja/static/sp/shared/images/icon_link_book_white.png) no-repeat 0 0;
		background-size: 80%;
		vertical-align: middle;
		content: "";
		position: absolute;
		top: 22%;
		left: 8%;
	}
	
}
@media only screen and (min-width: 768px){
	.duckBtnShiryo span {
		background: #e98300;
		min-height: 43px;
		padding-top: 12px;
		box-sizing: content-box;
		color: #fff;
		position: relative;
		padding-left: 35px;
	}
}
.duckBtnShiryo {
	border-radius: 40px;
	-webkit-border-radius: 40px;
	padding: 5px;
	border: 2px solid #e98300;
	background: #e98300;
	width: 100%;
	float: none;
	box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);
}








/*

    Aflac CSS
    がん保険 ミライト標準 - 保険料シミュレーション（各種保障内容表）

*/


/* .txtSimSectionLabel
----------------------------------------------- */
.txtSimSectionFlex{
    display:flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {   /* PC */
.txtSimSectionLabel {
    font-size: 24px;
    font-weight: bold;
    color: #2b87f4;
    display: flex;
    align-items: center;
}
}
.txtSimSectionLabel {
    font-size: 24px;
    font-weight: bold;
    color: #2b87f4;
}
.txtSimSubLabel{
    text-align:right;
    font-weight: bold;
    display: inline-block;
}
@media print, screen and (min-width: 768px) {   /* PC */
.txtSimSectionLabel .kidsHeadLink{
    font-size: 14px;
    color: black;
    cursor: pointer;
    background-image: url(/content/dam/shared/jp/ja/static/resp_images/icon/arrow_right_blue_lerge_01.png);
    background-size: 11px;
    background-repeat: no-repeat;
    background-position: left calc((1.2em - 12px) / 2);
    padding-left: 15px;
    margin-left: 10px;
    display: flex;
    align-items: center;
    text-decoration: none;
}
    .kidsHeadLink sup{
        padding-bottom:10px;
        padding-right: 5px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
.txtSimSectionLabel .kidsHeadLink{
    font-size: 14px;
    color: black;
    cursor: pointer;
    background-image: url(/content/dam/shared/jp/ja/static/resp_images/icon/arrow_right_blue_lerge_01.png);
    background-size: 11px;
    background-repeat: no-repeat;
    padding-left: 15px;
    margin-left: 10px;
    display: block;
    background-position: top 6px left 0;
    text-decoration: none;
}
}
/* .txtSubject
----------------------------------------------- */
.txtSubject {
    font-size: 20px;
    word-spacing: -5px;
}
.rowTableSimKihon th p {
    margin-bottom: 8px;
}
.txtSubject > .txtSubjectSubText{
    display: block;
    font-size: 14px;
}
.txtSubject > .modUnderline {
    text-decoration: underline;
}
.txtSubject > sup {
    padding-top: 3px;
    font-size: 10px;
    font-weight: normal;
}
.dialogLink{
    text-decoration:none !important;
    color: #333333 !important;!i;!;
}
.dialogLink:hover{
    opacity:0.7;
}
.dialogLink .blackText{
    color: #333333;
}
#bloSimOption .rowTableSim.isDisabled .blackText{
    color: #787976 !important
}
.rowTableSim sup {
    position: relative;
    top: 0.1em;
    font-size: 10px;
    font-weight: normal;
}
.dialogLink> sup {
    padding-top: 3px;
    font-size: 10px;
    font-weight: normal;
    top: 0px;
}
.labelSubText{
    font-weight:normal;
    font-size: 14px;
}
/* .linkQuestion ?マークリンク
----------------------------------------------- */
.linkQuestion {
    display: inline-block;
    border-radius: 50%;
    background: #009bdd;
    vertical-align: sub;
    text-decoration: none !important;
    color: white !important;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .linkQuestion {
        width: 20px;
        height: 20px;
        margin-left:6px;
        font-size: 16px;
        padding-left: 2px;
        bottom: 5px;
        position: relative;
    }
    .qBox {
        width: 26px;
        vertical-align: middle;
        margin-left: 3px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .linkQuestion {
        width: 18px;
        height: 18px;
        margin-left:6px;
        font-size: 14px;
        padding-left: 2px;
        position: relative;
        bottom: 7px;
    }
    .qBox {
        width: 22px;
        vertical-align: middle;
        margin-left: 4px;
    }
}


/* .bloTableSimBadge
----------------------------------------------- */
.bloTableSimBadge {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
.bloTableSimBadge > * {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    background: #ffffff;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloTableSimBadge.modWhite {
        padding: 0;
    }
    .bloTableSimBadge > * {
        height: 21px;
        padding: 5px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloTableSimBadge > * {
        padding:5px;
        height: 20px;
    }
}
/* .rowChiryo 基本保障見出し
----------------------------------------------- */
@media only screen and (max-width: 767px) {     /* SP */
    .rowTableSimKihon  .rowChiryo{
        color: #ffffff;
        font-size: 14px;
        font-weight: bold;
        background-color: #2B87F4;
        padding: 5px 7px 5px 12px;
    }
}
/* .textBaseBenefit 基本保障給付金額
----------------------------------------------- */
.textBaseBenefit {
    width: 100%;
    /* height: 43px; */
    border: 2px solid #2b87f4;
    border-radius: 4px;
    padding: 5px 20px;
    margin-bottom: 5px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    /* display: flex; */
    justify-content: center;
    /* align-items: center; */
    /* align-items: baseline; */
}
.textBaseBenefit sup{
    font-size:12px;
    top: 0px;
    font-weight: bold;
    /* display: block; */
    /* vertical-align: super; */
    /* position: relative; */
    /* top: 0.1em; */
    /* font-size: 10px; */
    /* font-weight: normal; */
}


/* #bloCureType 治療給付金タイプエリア
----------------------------------------------- */
#bloCureType {
    display: flex;
    gap: 20px;
}

/* .bloBaseRadio 基本保障ラジオボタン
----------------------------------------------- */
* {
	/* outline: 1px solid #f00 !important; */
}
.bloBaseRadio {
    width: 100%;
    /* height: 43px; */
    border-radius: 4px;
    padding: 4px 10px 4px 32px;
    font-weight: bold;
    font-size: 24px;

    --radio-outer-radius: 22px;
    --radio-inner-radius: 12px;
    --radio-outer-offset: 6px;
}


/* .noteBaseSelect 基本保障セレクトボックス注釈
----------------------------------------------- */
.noteBaseSelect {
    margin-bottom: 6px;
}


/* .bloBaseSelect 基本保障セレクトボックス
----------------------------------------------- */
.bloBaseSelect {
    position: relative;
    width: 100%;
    border: 2px solid #b2b2b2;
    border-radius: 4px;
    margin-bottom: 8px;
    background: #ffffff;
}
.bloBaseSelect.isSelected {
    position: relative;
    width: 100%;
    border: 2px solid #2b87f4;
    border-radius: 4px;
    margin-bottom: 8px;
    
    background: #ffffff;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloBaseSelect {
        height: 43px;
    }
    .chiryoSelect > select{
        font-size:13px !important;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloBaseSelect {
        /* height: 40px; */
    }
    .chiryoSelect > select{
        font-size:13px !important;
    }
}
.bloBaseSelect.isSelected::after {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    right: 12px;
    display: block;

    border-top: 7px solid #2b87f4;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;

    pointer-events: none;
}
.bloBaseSelect::after {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    right: 12px;
    display: block;

    border-top: 7px solid #b2b2b2;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;

    pointer-events: none;
}
.bloBaseSelect > select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: black;
    display: block;
    width: 100%;
    height: 40px;
    border: none;
    padding: 5px 20px;
    background: transparent;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05em;
    outline: none;
    cursor: pointer;
}
.bloBaseSelect > select:disabled {
    cursor: not-allowed;
}
.bloBaseSelect option {
    font-size: 16px;
}



/* .bloBasePremium 基本保障保険料
----------------------------------------------- */
.bloBasePremium {
    display: grid;
    grid-template: auto / 1fr fit-content(100px);
    gap: 5px;
    text-align: right;
    font-weight: bold;
}
.bloBasePremium > .bloPremiumLoading {
    display: none;
    text-align: center;
}
.bloBasePremium > .bloPremium {
    display: grid;
    grid-template: auto / fit-content(50px) auto;
    gap: 5px;
}
/* .simBaseLink 基本保障FAQリンク
----------------------------------------------- */
.simBaseLink{
    font-weight: bold;
    margin: 10px 0;
    display: inline-block;
    text-align: right;
    color: #009bdd !important;
}

/* #enumCureCase 治療給付金 - 支払事由
----------------------------------------------- */
#enumCureCase {
    display: grid;
    justify-items: center;
    grid-template: repeat(2, auto) / repeat(4, auto);
    gap: 5px 5px;
    font-weight: bold;
    text-align: center;
    padding: 8px 0;
}
#enumCureCase > span {
	display: flex;
}
#enumCureCase .imgPlaceholder {
    width: 55px;
    height: 50px;
    background: #e4f1ea;
}


/* .bloOptionCheckbox 特約チェックボックス
----------------------------------------------- */
.bloOptionCheckbox {
    display: flex;
    justify-content: center;
    align-items: center;

    border: 2px solid #b2b2b2;
    background: #ffffff;
    cursor: pointer;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloOptionCheckbox {
        width: 38px;
        height: 38px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloOptionCheckbox {
        width: 35px;
        height: 35px;
    }
}
/* ハイライト設定 */
.inputCheckbox:checked + .bloOptionCheckbox {
    border: none;
    background: #2b87f4;
}
/* 無効化設定 */
.inputCheckbox:disabled + .bloOptionCheckbox {
    border: none;
    background: #f2f2f2;
    cursor: not-allowed;
}
.inputCheckbox:checked + .bloOptionCheckbox:after {
    content:"";
    border-bottom: solid 6px #ffffff;
    border-right: solid 6px #ffffff;
    transform: rotate(44deg);
    width: 8px;
    height: 18px;
    bottom: 3px;
    position: relative;
    box-sizing: content-box;
}
/* .noteOptionBenefit 特約給付金額ボックス注釈
----------------------------------------------- */
.noteOptionBenefit {
    margin-bottom: 6px;
}
/* .bloOptionBenefit 特約給付金額
----------------------------------------------- */
.bloOptionBenefit {
    display: flex;
    align-items: baseline;
    justify-content: center;
    border: 2px solid #b2b2b2;
    border-radius: 4px;
    margin-bottom: 5px;
    padding: 5.5px 0 3.5px 0;
}
.bloOptionBenefit > .textOptionBenefit {
    padding-left: 10px;
    font-size: 20px;
}
.bloOptionBenefit.modSingleBox > * {
    padding: 0;
}
/* ハイライト設定 */
.isChecked .bloOptionBenefit {
    border-color: #2b87f4;
}
.bloOptionBenefit.blueBorder{
    border-color: #2b87f4;
}
/* 無効化設定 */
.isDisabled .bloOptionBenefit {
    border-color: #d9d9d9 !important;
    background: #d9d9d9 !important;
}
/* 個別設定 */
.bloOptionBenefit.modSipMenjyo {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.2;
}
.bloOptionBenefit.modSensinTotal {
    display: grid;
    text-align: center;
}
.bloOptionBenefit[data-select-amt="5000"] .nyu10,
.nyu10,
.bloOptionBenefit[data-select-amt="10000"] .nyu5{
    display:none;
}
.bloOptionBenefit[data-select-amt="10000"] .nyu10{
    display:block;
}
/* .bloOptionPremium 特約保険料
----------------------------------------------- */
.bloOptionPremium {
    display: grid;
    gap: 0 5px;
    text-align: right;
    font-weight: bold;
    justify-items: end;
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloOptionPremium {
    display: grid;
    gap: 0 5px;
    text-align: right;
    font-weight: bold;
    justify-items: end;
}
}
.bloOptionPremium > .bloPremiumLoading {
    display: none;
    text-align: center;
}
.bloOptionPremium > .bloPremium {
    display: grid;
    grid-template: auto / auto 45px auto;
    gap: 0px;
}


/* .tableSimulation
----------------------------------------------- */
.tableSimulation {
    width: 100%;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .tableSimulation {
        border: 2px solid #b7b9bb;
        border-bottom: 0;
        margin-bottom: 42px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .tableSimulation {
        display: grid;
        gap: 10px;
        margin-bottom: 37px;
    }
    .tableSimulation:nth-last-of-type(1) {
        margin-bottom: 17px;
        border-bottom: 1px solid #b7b9bb;
        padding-bottom: 20px;
    }
}
.tableSimulation tbody {
    display: contents;
}


/* .rowTableSim/rowTableSimKihon
----------------------------------------------- */
@media print, screen and (min-width: 768px) {   /* PC */
    .rowTableSim {
        display: grid;
        grid-template: auto / 320px 1fr;
        border-bottom: 2px solid #b7b9bb;
    }
    .rowTableSimKihon td{
        width: 348px;
    }
    .rowTableSimKihon td.rowChiryo{
        width: 20px;
        color: #ffffff;
        text-align:center;
        background: #2b87f4;
        border-right: 2px solid #b7b9bb;
    }
    .rowTableSimKihon th{
        width: 299px;
        !i;!;
    }
    .rowTableSimKihon{
        border-bottom: 2px solid #b7b9bb;
    }
    .rowTableSimHeader{
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .rowTableSim {
        display: grid;
    }
    .rowTableSimKihon{
        display: grid;
    }
}
/* th */
.rowTableSim > th,
.rowTableSimKihon > th {
    text-align: left;
    background: #ebf6fc;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .rowTableSim > th,
    .rowTableSimKihon > th {
        border-right: 2px solid #b7b9bb;
    }
}
/* td */
.rowTableSim > td,
.rowTableSimKihon > td {
    background: #ffffff;
}


/* #bloSimBase 基本保障テーブル個別設定
----------------------------------------------- */
/* .rowTableSim */

/* th */
#bloSimBase th {
    align-content: start;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloSimBase th {
        padding: 25px 18px 16px 18px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloSimBase th {
        padding: 15px 10px 20px 12px;
    }
}
#bloSimBase th.modSingleBox {
    display: block !important;
}
/* td */
@media print, screen and (min-width: 768px) {   /* PC */
    #bloSimBase td {
        padding: 25px 18px 14px 18px;
    }
    #bloSimBase td.rowChiryo{
        padding:0;
        font-weight: bold;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloSimBase td {
        margin: 15px 0;
    }
}


/* #bloSimOption 特約テーブル個別設定
----------------------------------------------- */
/* .rowTableSim */
/* .非表示設定 */
#bloSimOption .jqBaseRowTarget.isInvisibility {
    display: none;
}
/* 無効化設定 */
#bloSimOption .rowTableSim.isDisabled {
    color: #787976 !important;
}

/* th */
#bloSimOption th {
    display: grid;
    grid-template:
        "check subject" auto
        "notes   notes" 1fr
        / auto     1fr;
}
#bloSimOption th.doubleCheck{
    display:flex;
    flex-direction: column;
}
#bloSimOption th.doubleCheck div.doubleCheckBox  {
    display: grid;
    grid-template:
        "check subject" auto
        "notes   notes" 1fr
        / auto     1fr;
    gap: 8px 15px;
}
.flexCheck{
    display:flex;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloSimOption th {
        padding: 18px 7px 16px 16px;
        gap: 10px 20px;
    }
    #bloSimOption .rowTableSimHeader th{
        padding: 5px 7px 5px 12px;
        gap: 0;
        border-bottom: 2px solid #b7b9bb;
        background: #e4f1ea;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloSimOption th {
        padding: 14px 6px 16px 10px;
        gap: 8px 15px;
    }
     #bloSimOption .rowTableSimHeader th{
        padding: 5px 7px 5px 12px;
        gap: 0;
        background: #2B87F4;
        color: #ffffff;
    }
}

/* 色設定 */
#bloSimOption th.modPinkColor {
    background: #fce8ea;
}
#bloSimOption th.modOrangeColor {
    background: #FCE8EA;
}
/* 無効化設定 */
#bloSimOption .isDisabled th {
    background: #D9D9D9 !important;
}
/* 配置設定 */
#bloSimOption th > .itemCheck,
#bloSimOption div > .itemCheck{
    grid-area: check;
}
#bloSimOption th > .itemSubject,
#bloSimOption div > .itemSubject{
    grid-area: subject;
    align-self: center;
}
#bloSimOption th > .itemNotes,
#bloSimOption div > .itemNotes{
    grid-area: notes;
}
/* td */
@media print, screen and (min-width: 768px) {   /* PC */
    #bloSimOption td {
        padding: 20px 18px 16px 24px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloSimOption td {
        padding: 15px 8px;
    }
}
/**子ども保険**/
.diseFlex{
    display:flex;
    align-items: center;
}
.diseBlock{
    padding:2px;
    margin: 0 2px;
    text-align: center;
}
.diseBlock.disabled{
    background:#d9d9d9 !important;
}
/* data-select-amt */
.cureLifeSupportAmt6,
.childShindanEpiAmt100
{
    display:none;
}
p[data-select-amt="10"] strong.cureLifeSupportAmt6,
p[data-select-amt="6"] strong.cureLifeSupportAmt10,
p[data-select-amt="10"] strong.childShindanEpiAmt100,
p[data-select-amt="100"] strong.childShindanEpiAmt10
{
    display:none;
}
p[data-select-amt="6"] strong.cureLifeSupportAmt6,
p[data-select-amt="10"] strong.cureLifeSupportAmt10,
p[data-select-amt="100"] strong.childShindanEpiAmt100,
p[data-select-amt="10"] strong.childShindanEpiAmt10{
    display:block;
}

/*data-select-plan(chiryo)*/
body[data-select-plan="2"] tr.chiryoPlan th,
body[data-select-plan="2"] tr.chiryoPlan td:nth-child(3),
body[data-select-plan="2"] tr.chiryoPlan .dialogLink .blackText{
    color:#787976 !important;
}
body[data-select-plan="2"] tr.chiryoPlan th{
    background: #d9d9d9 !important;
}
body[data-select-plan="2"] tr.chiryoPlan .bloOptionBenefit {
    border-color: #d9d9d9 !important;
    background: #d9d9d9 !important;
}

/*data-select-plan(uwanose)*/
body[data-select-plan="3"] tr.uwanosePlan th,
body[data-select-plan="3"] tr.uwanosePlan td:nth-child(3),
body[data-select-plan="3"] tr.uwanosePlan td:nth-child(2),
body[data-select-plan="3"] tr.uwanosePlan .dialogLink .blackText,
body[data-select-plan="3"] div.bloTableSimBadge span.uwanosePlan,
body[data-select-plan="3"] tr.uwanosePlan .bloBaseSelect > select{
    color:#787976 !important;
}
body[data-select-plan="3"] tr.uwanosePlan th,
body[data-select-plan="3"] div.bloTableSimBadge span.uwanosePlan{
    background: #d9d9d9 !important;
}
body[data-select-plan="3"] tr.uwanosePlan .bloOptionBenefit,
body[data-select-plan="3"] tr.uwanosePlan .bloBaseSelect > select{
    border-color: #d9d9d9 !important;
    background: #d9d9d9 !important;
    pointer-events: none;
}
body[data-select-plan="3"] tr.uwanosePlan .bloBaseSelect,
body[data-select-plan="3"] tr.uwanosePlan .bloBaseSelect.isSelected::after {
    border: #d9d9d9 !important;
}

/*data-select-epi*/
div[data-select-epi="0"] img.childGanShindanPmenTaisho1{
    display:none;
}
div[data-select-epi="1"] img.childGanShindanPmenTaisho2{
    display:none;
}

/*

    Aflac CSS
    がん保険 ミライト経験者率 - 保険料シミュレーション

*/


/* .bloSimulation
----------------------------------------------- */
.bloSimulation {
    display: block;
    background: #ffffff;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloSimulation {
        padding: 24px 38px;
    }
    .bloSimulation * {
        font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Verdana, Osaka, sans-serif;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloSimulation {
        padding: 16px 12px;
        margin: 0 -10px;
    }
    .bloSimulation * {
        font-family: sans-serif, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3";
    }
}
.bloSimulation .inputRadio,
.bloSimulation .inputCheckbox {
    display: none;
}


/* .bloCommonRadio 共通ラジオボタン設定
----------------------------------------------- */
.bloCommonRadio {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #b2b2b2;
    background: #ffffff;
    cursor: pointer;
}
.bloCommonRadio::before {
    content: "";
    position: absolute;
    box-sizing: border-box;
    top: calc(50% - var(--radio-outer-radius) /2);
    left: var(--radio-outer-offset);
    width: var(--radio-outer-radius);
    height: var(--radio-outer-radius);
    border : 2px solid #b2b2b2;
    border-radius: 50%;
    background: #ffffff;
}
/* ハイライト設定 */
.inputRadio:checked + .bloCommonRadio {
    border-color: #2b87f4;
}
.inputRadio:checked + .bloCommonRadio::before {
    border-color: #2b87f4;
}
body[data-select-plan="1"] .bloInputPlan.sougou::before,
body[data-select-plan="2"] .bloInputPlan.chiryo::before,
body[data-select-plan="3"] .bloInputPlan.uwanose::before{
	border-color: #2b87f4;
}
.inputRadio:checked + .bloCommonRadio::after {
    content: "";
    position: absolute;
    top: calc(50% - var(--radio-inner-radius) / 2);
    left: calc(var(--radio-outer-offset) + var(--radio-outer-radius) / 2 - var(--radio-inner-radius) / 2);
    width: var(--radio-inner-radius);
    height: var(--radio-inner-radius);
    border-radius: 50%;
    background: #2b87f4;
}
body[data-select-plan="1"] .bloInputPlan.sougou::after,
body[data-select-plan="2"] .bloInputPlan.chiryo::after,
body[data-select-plan="3"] .bloInputPlan.uwanose::after {
	content: "";
    position: absolute;
    top: calc(50% - var(--radio-inner-radius) / 2);
    left: calc(var(--radio-outer-offset) + var(--radio-outer-radius) / 2 - var(--radio-inner-radius) / 2);
    width: var(--radio-inner-radius);
    height: var(--radio-inner-radius);
    border-radius: 50%;
    background: #2b87f4;
}
/* 選択不可 */
.inputRadio:disabled + .bloCommonRadio {
    border-color: #d9d9d9;
    background: #d9d9d9;
    color: #787976;
    cursor: not-allowed;
}
.inputRadio:disabled + .bloCommonRadio::before {
    border-color: #787976;
    background: #d9d9d9;
}


/* #txtLargeInputLabel
----------------------------------------------- */
#txtLargeInputLabel {
    font-size: 24px;
    font-weight: bold;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #txtLargeInputLabel {
        margin-bottom: 21px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #txtLargeInputLabel {
        margin-bottom: 14px;
    }
}


/* .txtInputLabel 性別・年齢・プランラベル
----------------------------------------------- */
.txtInputLabel {
    display: block;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .txtInputLabel {
        font-size: 18px;
        line-height: 1.7;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .txtInputLabel {
        font-size: 14px;
        margin-bottom: 5px;
    }
}


/* #bloSimSex 性別エリア
----------------------------------------------- */
#bloSimSex {
    display: flex;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloSimSex {
        gap: 20px;
        justify-content: start;

        margin-bottom: 35px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloSimSex {
        gap: 10px;
        margin-bottom: 27px;
    }
}


/* .bloInputSex 性別ラジオボタン
----------------------------------------------- */
.bloInputSex {
    border-radius: 4px;
    padding: 4px 29px 4px 50px;
    color: black;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloInputSex {
        width: 228px;
        height: 61px;

        font-size: 20px;

        --radio-outer-radius: 32px;
        --radio-inner-radius: 18px;
        --radio-outer-offset: 10px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloInputSex {
        width: 100%;
        height: 48px;

        font-size: 16px;

        --radio-outer-radius: 24px;
        --radio-inner-radius: 14px;
        --radio-outer-offset: 8px;
    }
}


/* #bloInputAge 年齢セレクトボックスラッパー
----------------------------------------------- */
#bloInputAge {
    position: relative;
    border: 2px solid #b2b2b2;
    border-radius: 4px;
    background: #ffffff;
    color: black;
}
#bloInputAge select {
    color: black;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloInputAge {
        width: 257px;
        height: 60px;

        margin-bottom: 35px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloInputAge {
        width: 100%;
        height: 48px;

        margin-bottom: 27px;
    }
}
#bloInputAge::after {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    right: 12px;
    display: block;

    border-top: 7px solid #b2b2b2;
    border-right: 7px solid transparent;
    border-left: 7px solid transparent;

    pointer-events: none;
}
/* ハイライト設定 */
#bloInputAge.isSelected {
    border-color: #2b87f4;
}
#bloInputAge.isSelected::after {
    border-top-color: #2b87f4;
}


/* #inputAge 年齢セレクトボックス
----------------------------------------------- */
#inputAge {
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    display: block;
    width: 100%;
    height: 100%;

    border: none;
    padding: 5px 40px 5px 20px;

    background: transparent;
    text-align: center;
    outline: none;
    cursor: pointer;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #inputAge {
        font-size: 20px;
    }
    #inputAge option{
        font-size: 16px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #inputAge {
        font-size: 16px;
    }
}


/* #bloSimPlan プランエリア
----------------------------------------------- */
#bloSimPlan {
    display: grid;
    grid-template: auto / repeat(3, 1fr);
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloSimPlan {
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloSimPlan {
        margin-bottom: 25px;
        display: flex;
        flex-direction: column;
    }
}
.bloInputPlan strong {
	font-size: 16px;
}
.planLink{
	display: block;
	text-align: right;
	color: #333333 !important;!i;!;
	margin-bottom: 20px;
}


/* .bloInputPlan プランラジオボタン
----------------------------------------------- */
.bloInputPlan {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-content: flex-start;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloInputPlan {
        flex-wrap: wrap;
        padding: 4px 0px 4px 50px;
        --radio-outer-radius: 18px;
        --radio-inner-radius: 8px;
        --radio-outer-offset: 10px;
        font-size: 14px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloInputPlan {
        flex-flow: column;
        padding: 8px 0px 8px 55px;
        --radio-outer-radius: 32px;
        --radio-inner-radius: 18px;
        --radio-outer-offset: 10px;
        font-size: 14px;
        margin: 0 0 10px 0 !important;!im;!i;!;
        text-align: left !important;!i;!;
        height: 87px;
        align-items: flex-start;
        justify-content: center;
    }
}
/* 非チェック時設定 */
.inputRadio + .bloInputPlan {
    border-top-width: 2px;
    border-bottom-width: 2px;
    border-style: solid;
    border-color: #b2b2b2;
    text-align: left;
    border-radius: 20px;
    margin: 0 10px;
}
#inputPlan01 + .bloInputPlan {
    border-right-width: 1px;
    border-left-width: 2px;
    border-radius: 4px 0 0 4px;
}
#inputPlan02 + .bloInputPlan {
    border-right-width: 1px;
    border-left-width: 1px;
}
#inputPlan03 + .bloInputPlan {
    border-right-width: 2px;
    border-left-width: 1px;
    border-radius: 0 4px 4px 0;
}
/* チェック時設定 */
body[data-select-plan="1"] .bloInputPlan.sougou,
body[data-select-plan="2"] .bloInputPlan.chiryo,
body[data-select-plan="3"] .bloInputPlan.uwanose{
    color: #ffffff;
    cursor: default;
    background:#2b87f4;
    border-color: #2b87f4;
}
/* 無効か設定 */
.inputRadio:disabled + .bloInputPlan {
    cursor: not-allowed;
}
.simpleLink{
	color: #333333 !important;!im;!imo;!im;!i;!;
	text-align: right;
	display: block;
	margin-bottom: 10px;
}
/* .bloCalaBaseDate 計算基準日
----------------------------------------------- */
.bloCalaBaseDate {
    display: grid;
    justify-content: end;
    justify-items: end;
    grid-template: auto / auto 44px auto repeat(2, 19px auto);
    gap: 2.5px;
    margin-bottom: 20px;
}


/* .bloOuterBanner バナー外側デザイン
----------------------------------------------- */
.bloOuterBanner {
    display: none;
}
.bloOuterBanner.isVisibility {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: grid;
    width: 100%;
    margin: 0;
    background: #f6e8a8;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloOuterBanner {
        align-content: center;
        justify-content: center;
        grid-template: auto / 748px minmax(auto, 262px);
        height: 90px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloOuterBanner {
        margin: 0 -20px;
    }
}


/* .bloInnerBanner バナー内側デザイン
----------------------------------------------- */
.bloInnerBanner {
    
    align-items: center;
    justify-content: space-between;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloInnerBanner {
        grid-template: auto / 170px auto;
        padding: 0 40px 0 100px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloInnerBanner {
        grid-template: auto / 140px auto;
        gap: 10px;
        width: 100%;
        padding: 10px 17px;
        display: flex;
    }
}
/* 画像 */
@media only screen and (max-width: 767px) {     /* SP */
    .bloInnerBanner > .imgTotalPremiumDuck {
        display: none;
    }
}
.bloOuterBanner.isVisibility {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: flex;
    width: 100%;
    margin: 0;
    background: #f6e8a8;
    flex-direction: column;
    align-items: center;
}
.bloInnerBanner{
	display: flex;
	width: auto;
	gap: unset;
	justify-content: space-around;
	height: 110px;
}
.bloInnerBannerplan{
	position: fixed;
	bottom: 90px;
	left: 0;
	z-index: 989;
	display: flex;
	width: 100%;
	margin: 0;
	background: #fff9dc;
	flex-direction: row;
	align-items: center;
	height: auto;
	justify-content: center;
}
.floRadio{
	display:none;
}
.floLabel {
	border: 1px solid #b2b2b2;
	background: #FFFFFF;
	padding: 3px 75px;
	border-radius: 15px;
	margin: 10px 20px;
	font-weight:bold;
}
.floLabel:hover{
	background:#2b87f4;
	color:#ffffff;
	cursor:pointer;
}
body[data-select-plan="1"] .floLabel.sougou,
body[data-select-plan="2"] .floLabel.chiryo,
body[data-select-plan="3"] .floLabel.uwanose{
    border-color: #2b87f4;
	background:#2b87f4;
	color:#ffffff;
}
@media print, screen and (min-width: 768px) {   /* PC */
	.buttonBanner{
		margin: 0 15px;
	}
}
@media only screen and (max-width: 767px) {     /* SP */
	.bloTotalPremium{
		margin:0 5px 0 0;
	}
    .buttonBanner{
        font-size:9px;
        padding: 10px 20px 8px;
    }
    .bloInnerBanner{
	    width: 100%;
	    gap: 0px;
	    padding: 0px;
	    bottom: 110px;
	    height: 95px;
	}
	.bloInnerBannerplan{
		position: fixed;
		bottom: 90px;
		left: 0;
		z-index: 989;
		display: flex;
		width: 100%;
		margin: 0;
		background: #fff9dc;
		flex-direction: row;
		align-items: center;
		height: auto;
		justify-content: center;
	}
	.bloInnerBannerSp{
		display: flex;
		flex-direction: column;
	}
	.bloFlex{
		display:flex;
		margin: 5px 10px;
		padding: 10px 10px 0px 10px;
		border-top: 1px solid #b8b8ba;
		width: 90%;
		justify-content: space-evenly;
		align-items: center;
	}
	.floRadio{
		display:none;
	}
	.floLabel {
		border: 1px solid #b2b2b2;
		background: #FFFFFF;
		padding: 3px 25px;
		border-radius: 15px;
		margin: 10px 5px;
		font-weight:bold;
	}
}
.bloInnerBanner .sougou.active,
	.bloInnerBanner .chiryo.active,
	.bloInnerBanner .uwanose.active{
		background:#2b87f4;
		color: #ffffff;
	}
/* .bloTotalPremium 合計保険料表示
----------------------------------------------- */
.bloTotalPremium {
    display: grid;
    gap: 3px;
    font-weight: bold;
}
.plunChoiceArea{
	height:100%;
	border-right: 1px solid #b8b8ba;
	display: flex;
	align-items: center;
}
.plunChoiceButton{
	font-weight: bold;
	cursor: pointer;
	text-decoration: underline rgb(160 157 138);
	color: rgb(0 51 103);
}
.plunChoiceButton:after{
	content: "＋";
	color: rgb(0 51 103);
	padding:0 10px;
	font-weight:bold;
	display: inline-block;
}
.plunChoiceButton.open:after{
	content: "－";
    color: rgb(0 51 103);
    padding:0 10px ;
	text-decoration:none !important;
	font-weight:bold;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloTotalPremium {
        padding-top: 5px;
        margin-left: 15px;
    }
    .bloTotalPremium > .labelTotalPremium {
        font-size: 16px;
    }
	.bloTotalPremium > a{
	    color: #333333;
	}
	.labelTotalPremium  a.bottomPrint img{
	    width: 18px;
	    margin-left:5px;
	    margin-bottom: 3px;
	}
	.bloFlex{
		display:flex
	}

}
@media only screen and (max-width: 767px) {     /* SP */
    .bloTotalPremium > .labelTotalPremium {
        font-size: 12px;
        text-align: left;
    }
	.labelTotalPremium  a.bottomPrint img{
	    width:18px;
		margin-left:5px
	}
	.plunChoiceArea{
		display: flex;
		align-items: center;
		border-right: none;
		height: 30px;
		padding-top: 5px;
	}
}
.bloTotalPremium > .bloPremium {
    display: flex;
    align-items: end;
    justify-content: end;
    gap: 8px;
}
.bloTotalPremium > .bloPremium > .valuePremium {
    line-height: 1;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloTotalPremium > .bloPremium > .valuePremium {
        font-size: 38px;
    }
    .bloTotalPremium > .bloPremium > .unitPremium {
        font-size: 20px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloTotalPremium > .bloPremium > .valuePremium {
        font-size: 30px;
    }
    .bloTotalPremium > .bloPremium > .unitPremium {
        font-size: 16px;
    }
}


/* .buttonBanner バナー用ボタン
----------------------------------------------- */
.buttonBanner {
    justify-self: center;
    display: grid;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50px;
    background: #e98300;
    color: #ffffff !important;
    letter-spacing: 0.01em;
    cursor: pointer;
    text-decoration: none !important;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .buttonBanner {
        grid-template: auto / auto auto;
        gap: 22px;
        width: 340px;
        height: 60px;
        font-size: 20px;
    }
    .iconButtonBanner {
        width: 28px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .buttonBanner {
        gap: 0 5px;
        padding: 12px 20px 12px;
        font-size: 14px;
        letter-spacing: 0.1em;
    }
    .iconButtonBanner {
        display: none;
    }
}


/* .bloWarningMessage
----------------------------------------------- */
.bloWarningMessage {
    display: none;
    padding-left: 15px;
    font-size: 12px;
    color: #e2242c;
}
.bloWarningMessage.isVisibility {
    display: block;
    background: url(/content/dam/shared/jp/ja/static/images/sim/icon_error_l.gif) no-repeat left 0.2em;
}
/* 個別設定 */
#bloPlanWarning.bloWarningMessage.isVisibility {
    margin-bottom: 10px;
}
.bloOptionWarning.bloWarningMessage.isVisibility {
    margin-top: 20px;
}

/* .よりそうがん保険
----------------------------------------------- */
.tableThird {
	width:100%;
}
table td.hosyoBoxLeftBtm {
	padding: 2px;
	border-top: 2px solid #2b87f4;
	border-bottom: 2px solid #2b87f4;
	border-left: 2px solid #2b87f4;
	border-right: 1px solid #2b87f4;
	text-align: center;
	width: 48%;
}
table td.hosyoBoxRightBtm {
	padding: 7px 3px 7px 10px;
	border-top: 2px solid #2b87f4;
	border-bottom: 2px solid #2b87f4;
	border-left: 2px solid #2b87f4;
	border-right: 2px solid #2b87f4;
	background: #e8f5fd;
	vertical-align: middle;
}
@media print, screen and (min-width: 768px) {  
	.width170{
		width: 170px;
	}
	.tableSecondary tbody .duck {
		height: 53px;
		width: auto;
	}
}
@media only screen and ( max-width: 767px ) {
	.width190{
		width: 190px;
	}
	.tableSecondary tbody .duck {
		height: 45px;
		width: auto;
	}
	table td.hosyoBoxLeftBtm {
		border-right: 2px solid #2b87f4;
		width: 50%;
		padding: 7px 3px 7px 7px;
	}
	table td.hosyoBoxRightBtm {
		padding: 7px 3px 7px 10px;
	}
}
div.moneyPlanBox table {
	width: 100%;
	margin-bottom: 1em;
	border: 3px solid #2b87f4;
	border-spacing: 0;
	text-align: center;
	box-sizing: border-box;
	border-radius: 5px;
	border-collapse: separate;
}
.txWeightNormal {
	font-weight: normal
}
div.moneyPlanBox table tr th {
	width: 30%;
	padding-left: 10px;
	background: #2b87f4;
	font-weight: bold;
	box-sizing: border-box;
	color:#ffffff;
}
div.moneyPlanBox table tr th a{
	color: #ffffff;
	font-size: 12px;
}
div.moneyPlanBox table tr th a img{
	width: 23px;
	margin-left:5px;
}
div.moneyPlanBox table tbody {
	border: 3px solid #00a5d9;
	border-radius: 5px;
}
div.moneyPlanBox table tr th:nth-child(2) {
	padding: 1em 2.75em;
	background: #00a5d9;
	color: #ffffff;
}
div.moneyPlanBox table tr th:nth-child(3) {
	padding: 1em 2.75em;
	background: #004ea2;
	color: #ffffff;
}
div.moneyPlanBox table tr td {
	width: 33.33333%;
	padding: 1em 2.75em;
	background: #ffffff;
	font-weight: normal;
	box-sizing: border-box;
}
div.moneyPlanBox table tr td p span.txAttention {
	font-size: 172%;
	font-weight: bold;
	color: #e11901;
}
@media print, screen and (min-width: 768px) {   /* PC */
div.moneyPlanBox table tr th br.pcNone {
	display: none;
}
div.moneyPlanBox table tr td {
	height: 65px;
	text-align: right;
}
div.moneyPlanBox table tr td p span.txAttention {
	margin-right: .2em;
}
}
@media only screen and (max-width: 767px) {
div.moneyPlanBox table {
	margin-bottom: 1em;
	font-weight: bold;
}
div.moneyPlanBox table tr th {
	width: 33.3333%;
	padding: 15px 7.5px;
	font-size: 16px;
	font-weight: bold;
}
div.moneyPlanBox table tr th:nth-child(2) {
	padding: 15px 7.5px;
}
div.moneyPlanBox table tr th:nth-child(3) {
	padding: 15px 7.5px;
}
div.moneyPlanBox table tr td {
	padding: 15px 7.5px;
	text-align: right;
}
	div.moneyPlanBox table tr th a img{
		width: 23px;
		margin-left:5px;
		margin-bottom: 2px;
	}
div.moneyPlanBox table tr td p span.txAttention {
	margin-right: .2em;
	font-size: 129%;
}
}
/* .プラン非表示設定
----------------------------------------------- */
body[data-select-plan="2"] .sougouDisplay,
body[data-select-plan="2"] .uwanoseDisplay{
	display: none;
}
body[data-select-plan="1"] .uwanoseDisplay,
body[data-select-plan="1"] .chiryoDisplay{
	display: none;
}
body[data-select-plan="3"] .sougouDisplay,
body[data-select-plan="3"] .chiryoDisplay{
	display: none;
}
