@charset "utf-8";

/*
PC
@media print, screen and ( min-width: 768px ) {}

SP
@media only screen and ( max-width: 767px ) {}
*/
/* 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%;
		margin-top: 22px;
	}
	.textWidth {
		width: 70%;
		margin-top: 15px;
		line-height: 1.6;
	}
	.newText {
		display:none;
	}
}
@media print, screen and (max-width: 767px) {
	.logoWidth {
		width: 50%;
		flex: 1;
		margin-top: 35px;
		padding-bottom: 10px;
		position: relative;
	}
	.dugWidth {
		width: 50%;
	}
	.textWidth{
		flex-basis: 51%;
		margin-top: 18px;
		margin-right: 10px;
	}
	.newText {
		display:none;
	}
	.tabControlMainBannerText{
	padding: 0px 10px 10px;
	font-size: 12px;
	}
}
@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( 50% - 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 22px;
	}
	.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(50% - 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 #009BDE;
		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 #0168b7;
}
.topTablist .tab.active,
.topTablist .tab.activeTab {
	background: #0168b7;
	border-color: #0168b7;
}
/* タブリスト下 */
.tabList {
	border-color: #0168b7 !important;
	background: #e9f1f3;
}
.tabList .tab.active,
 .tabList .tab.activeTab {
	background: #0168b7;
	border-color: #0168b7 !important;
}
.tabList .tab.active a {
	color: #fff !important;
}
@media print, screen and ( min-width: 768px ) {
	/* .tabControlBox.bottom.downarrow-pc */
	.tabControlBox.bottom.downarrow {
		margin: 0 auto 30px;
	}
}
/* tabcolor green */
.tabControlBox.bottom.downarrow:after {
	border-top-color: #0168b7;
}


/*コンテンツ部分*/
.whiteBox {
    background: #fff;
    padding: 40px 15px;
    margin-bottom: 0;
}

.textArea {
    margin-left: 20px;
}

.textArea .boldText {
    font-weight: bold;
    font-size: 24px;
}

.textArea .boldRed {
    font-weight: bold;
    color: red;
}

.textArea p,
.textArea a {
    margin-bottom: 10px;
    font-size: 16px;
}

.textArea>img {
    margin-bottom: 10px;
}

.textArea .queText {
    color: #33b0e3 !important;
    display: flex;
    align-items: center;
}

.textArea .queText img {
    vertical-align: middle;
    margin-right: 10px;
}

.textArea .queSmoker {
    color: #333333 !important;
    display: flex;
    align-items: center;
    text-decoration: none;
}

.textArea .queSmoker:hover {
    text-decoration: underline;
}

ul.ulNoteRspPercent>li {
    position: relative;
    padding-left: 1.5em;
}

ul.ulNoteRspPercent>li>.kome {
    position: absolute;
    left: 0;
}

@media only screen and (max-width: 767px) {

    .textArea .queText {
        color: #33b0e3 !important;
        display: flex;
        align-items: flex-start;
    }

    .textArea .queText img {
        vertical-align: middle;
        margin-right: 10px;
        margin-top: 6px;
    }

    .textArea .queSmoker {
        color: #333333 !important;
        text-decoration: none;
    }

    .textArea .queSmoker:hover {
        text-decoration: underline;
    }

}

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

.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 {
		min-height: 30px;
		box-sizing: content-box;
		color: #fff;
		position: relative;
		font-size: 18px;
		width: 92%;
		padding: 10px 0;
		left: 20px;
	}
	.duckButtonBanner .image{
		width:75%;
	}
	.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);
}

/* .bloOuterBanner バナー外側デザイン
----------------------------------------------- */
.bloOuterBanner {
    display: none !important;
}

.bloOuterBanner.isFixed {
    display: grid !important;
}

.bloOuterBanner {
    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: 110px;
    }
}

/* .buttonBanner バナー用ボタン
----------------------------------------------- */


/***************************************************
* sp-style
***************************************************/
@media only screen and (max-width: 767px) {

    noscript .txAttention {
        background: url(/content/dam/aflac/jp/ja/static/sp/shared/images/icon_emergencyinfo.png) left 0.1em no-repeat;
        background-size: 14px 14px;
        padding-left: 18px;
        font-size: 13px;
        color: #e11901;
        font-weight: bold;
    }

    #jqDrawerMenuWrapper {
        padding-bottom: 25px;
    }

}

/***************************************************
* pc-style
***************************************************/
@media print,
screen and (min-width: 768px) {

    /***************************************************
	* base-pc
	***************************************************/
    body {
        /* min-width: 1010px; */
        background: #e9f1f3;
        font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Verdana, Osaka, sans-serif;
        font-size: 14px;
        overflow: auto;
    }

    a:focus {
        outline: -webkit-focus-ring-color auto 2px;
    }

    a.txLinkQuestion:hover {
        text-decoration: none;
    }

}





/*

    Aflac CSS
    定期保険Lightフィットプラン - 保険料シミュレーション

*/

/*コンテンツ部分*/
body.lightFit .whiteBox {
    padding-top: 24px
}

@media only screen and (max-width: 767px) {

    /* SP */
    body.lightFit .whiteBox {
        padding-top: 0px
    }
}

/* .bloSimulation
----------------------------------------------- */
.bloSimulation {
    display: block;
    background: #ffffff;
}

.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: #0168b7;
}

.inputRadio:checked+.bloCommonRadio::before {
    border-color: #0168b7;
}

.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: #0168b7;
}

/* 選択不可 */
.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;
    flex-wrap: wrap;
}

#bloSimSex {
    gap: 0px 20px;
    justify-content: start;
    margin-bottom: 35px;
}

@media only screen and (max-width: 767px) {

    /* SP */
    #bloSimSex {
        gap: 0 10px;
        margin-bottom: 27px;
    }
}


/* .bloInputSex 性別ラジオボタン
----------------------------------------------- */
.bloInputSex {
    border-radius: 4px;
    padding: 4px 29px 4px 50px;
    color: black;
}

.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%; */
        width: calc((100% - 10px)/2);
        height: 48px;
        font-size: 16px;
        --radio-outer-radius: 24px;
        --radio-inner-radius: 14px;
        --radio-outer-offset: 8px;
    }
}


/* #bloInputAge, #bloInputShiboAmt 年齢、コースセレクトボックスラッパー
----------------------------------------------- */
#bloInputAge,
#bloInputShiboAmt {
    position: relative;
    border: 2px solid #b2b2b2;
    border-radius: 4px;
    background: #ffffff;
    color: black;
}

#bloInputAge select,
#bloInputShiboAmt select {
    color: black;
}

#bloInputAge,
#bloInputShiboAmt {
    width: 257px;
    height: 60px;
    margin-bottom: 35px;
    display: inline-block;
}

span.course {
    /* display: block; */
    padding: 0.5em;
    font-size: 18px;
}

@media only screen and (max-width: 767px) {

    /* SP */
    #bloInputAge,
    #bloInputShiboAmt {
        width: 200px;
        height: 48px;
        margin-bottom: 27px;
    }

    #bloInputShiboAmt {
        margin-bottom: 0px;
    }

    span.course {
        font-size: 14px;
    }
}

#bloInputAge::after,
#bloInputShiboAmt::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,
#bloInputShiboAmt.isSelected {
    border-color: #0168b7;
}

#bloInputAge.isSelected::after,
#bloInputShiboAmt.isSelected::after {
    border-top-color: #0168b7;
}

/* #age, #course 年齢、コースセレクトボックス
----------------------------------------------- */
#age,
#course {
    -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 */
    #age,
    #course {
        font-size: 20px;
    }

    #age option,
    #course option {
        font-size: 16px;
    }
}

@media only screen and (max-width: 767px) {

    /* SP */
    #age,
    #course {
        font-size: 16px;
    }
}

/* .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;
}

/* .simulationResultBoxDetail 保険料計算結果
----------------------------------------------- */
.simulationResultAreaTitle {
    border-radius: 5px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0168b7;
    color: #ffffff;
    font-size: 24px;
    font-weight: bold;
    padding: 5px;
}

@media only screen and (max-width: 767px) {

    /* SP */
    .simulationResultAreaTitle {
        font-size: 16px;
    }
}

.simulationResultAreaDetail {
    margin: 10px auto;
    display: flex;
    gap: 10px;
}

.simulationResultBoxDetail {
    border: solid 2px #0168b7;
    border-radius: 5px;
    width: 100%;
    display: flex;
    flex-flow: column;
}

dl.simulationResultBoxDetail>dt {
    width: 40%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0168b7;
    color: #ffffff;
    font-weight: bold;
    padding: 5px 10px;
    width: 100%;
    font-size: 14px;
}

dl.simulationResultBoxDetail>dd {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-weight: bold;
    padding: 10px 25px;
    width: 100%;
    height: 100%;
    font-size: 250%;
}

dl.simulationResultBoxDetail>dd .txYen {
    font-size: 71%;
}

@media only screen and (max-width: 767px) {

    /* SP */
    dl.simulationResultBoxDetail>dt {
        font-size: 12px;
        min-height: 56px;
    }

    dl.simulationResultBoxDetail>dd {
        font-size: 179%;
        padding: 5px 10px;
    }

    dl.simulationResultBoxDetail>dd .txYen {
        font-size: 56%;
    }
}

ul.shibo_amt_1400 li span.komeCaution {
    left: 0;
    position: absolute;
    top: 6px;
}

ul.shibo_amt_1400 li span.komeCaution img {
    vertical-align: top;
}

ul.nonsmoker li {
    font-size: 12px;
}

/*- error, warning 
----------------------------------------------- */
#sex_error,
#age_error,
#course_error {
    flex-basis: 100%;
}

p.error,
p.warning,
div[id$="_error"] p.error {
    line-height: 1.4;
    padding: 0 0 3px 15px;
    background: url(/content/dam/shared/jp/ja/static/images/sim/icon_error_l.gif) no-repeat left 0.2em;
    color: #ff0101;
}

/* .dialog	
----------------------------------------------- */
.textArea.simQuestion {
    margin-left: 0;
}

/* .buttonBanner フローティングバナー用ボタン
----------------------------------------------- */
.buttonBannerSim {
    text-decoration: none !important;
}

.floatingBanner {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    margin: 0;
    background: #f6e8a8;
}

.innerFloatingBanner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-content: center;
    padding: 0 48px 0 50px;
}

.buttonShiryoAreaFloatingBanner {
    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;
    grid-template: auto / auto auto;
    gap: 22px;
    width: 330px;
    height: 60px;
    font-size: 20px;
}

.iconButtonShiryoAreaFloatingBanner {
    width: 28px;
}

.buttonSimAreaFloatingBanner {
    width: 290px;
    background: rgba(29, 163, 143);
    text-align: center;
    text-decoration: none !important;
    padding: 16px 0px;
    border-radius: 45px;
    color: white !important;
    font-weight: bold;
    font-size: 18px;
    display: flex;
    justify-content: center;
    vertical-align: middle;
    height: 60px;
}

.iconButtonSimAreaFloatingBanner {
    width: 35px;
    margin-right: 10px;
}

@media only screen and (max-width: 767px) {

    /* SP */
    .dBlock-sp {
        display: block;
    }

    .innerFloatingBanner {
        justify-content: space-between;
        width: 100%;
        padding: 10px 18px 0;
        margin-bottom: 10px;
    }

    .shiryoAreaFloatingBanner {
        width: calc(50% - 3px);
    }

    .buttonShiryoAreaFloatingBanner {
        display: flex;
        width: 100%;
        font-size: 16px;
    }

    .iconButtonShiryoAreaFloatingBanner {
        width: 25px;
        margin-right: -10px;
    }

    .simAreaFloatingBanner {
        width: calc(50% - 3px);
    }

    .buttonSimAreaFloatingBanner {
        width: 100%;
        font-size: 16px;
        align-items: center;
    }

    .imgExampleFigAreaRspGakushi {
        width: 100%;
        margin: 0 auto;
    }

    .txIconImgExampleFigAreaRspGakushi {
        font-size: 13px;
        padding: 3px 5px;
    }
}