

@charset "UTF-8";
/*
PC
@media print, screen and ( min-width: 768px ) {}

SP
@media only screen and ( max-width: 767px ) {}
*/

@media print, screen and (max-width: 767px) {
	#mainContainerCmpWrap>div>div.container.containerMain {
		width: 100%;
	}
}

body{
	padding-bottom:110px;
}
/* .whiteBox */
.whiteBox {
	background: #fff;
	border-radius: 5px;
	padding: 40px 20px;
}

/* topバナー　*/
@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: 49%;
		margin-top: 30px;
	}
	.dugWidth {
		width: 20%;
	}
	.newText {
		display:none;
	}
	.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: 51%;
		margin-top: 20px;
		margin-right: 10px;
	}
	.newText {
		display:none;
	}
	.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( 50% - 10px);
		height: 58px;
		box-shadow: 0px 0px 4px 0px rgba(4, 0, 0, 0.25);
		margin: 0 5px;
		font-size: 92%;
		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 !important;
		text-decoration: none;
		padding: 0 3px;
	}
	.topTablist .tab.active > a {
		pointer-events: none;
		color: #ffffff !important;
		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(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 !important;
		text-decoration: none;
		vertical-align: middle;
	}
	.topTablist .tab > a,
	.topTablist .tab > a ,
	.tabList .tab > *{
		display: table-cell;
		color: #333 !important;
		text-decoration: none;
		vertical-align: middle;
		padding: 0 25px;
	}
	.topTablist .tab a:hover {
		opacity: .8;
	}
	.topTablist .tab.active {
		background: #DBE000;
		border: 2px solid #ea5504;
		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 #ea5504;
}
.topTablist .tab.active,
.topTablist .tab.activeTab {
	background: #ea5504;
	border-color: #ea5504;
}
/* タブリスト下 */
.tabList {
	border-color: #ea5504 !important;
}
@media only screen and ( max-width: 767px ) {
	.tabControlBox.bottom,.tabList{
		background:#e9f1f3 !important;
	}
}
.tabList .tab.active,
 .tabList .tab.activeTab {
	background: #ea5504;
	border-color: #ea5504 !important;
}
.tabList .tab.active a {
	color: #fff !important;
} 
.flex {
	display: flex;
	align-items: center;
}
/*資料請求*/
.requestBtnResponsivePamphletTsumitasu {
    width: 360px;
    background: #e98300;
    text-align: center;
    text-decoration: none !important;
    padding: 20px 40px;
    border-radius: 45px;
    color: white !important;
    font-weight: bold;
    font-size: 20px;
    display: flex;
    justify-content: center;
    vertical-align: middle;
    margin: 0 auto 10px auto;
	box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);
}
.requestBtnResponsivePamphletTsumitasu img {
    width: 25px;
	width: auto;
	height: 28px;
    margin-right: 10px;
    vertical-align: sub;
}
@media only screen and ( max-width: 767px ) {
 .requestBtnResponsivePamphletTsumitasu {
		width: 100%;
	    background: #e98300;
	    text-align: center;
	    text-decoration: none !important;
	    padding: 15px 40px;
	    border-radius: 45px;
	    color: white !important;
	    font-weight: bold;
	    font-size: 18px;
	    display: flex;
	    justify-content: center;
	    vertical-align: middle;
        box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);        
		margin-bottom: 10px;
	}
	.requestBtnResponsivePamphletTsumitasu img {
	    width: 20px;
		width: auto;
		height: 28px;
	    margin-right: 10px;
	}
}
/* 保険料例 */
.flexTop{
	display:flex;
	justify-content: center;
	margin-top: 30px;
}
@media only screen and ( max-width: 767px ) {
	.flexTop{
		display:flex;
		justify-content: center;
		margin-top: 30px;
		padding:0 10px;
	}
}
.flexTop div{
	width: 300px;
	text-align: center;
	margin-bottom:50px;
}
.flexTop div a.orangeLink{
	background-color: #ea5504;
	height: 60px;
	display: block;
	border: 2px solid #ea5504;
	position: relative;
	pointer-events: none;
}
.orangeLink::after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: calc(50% - 11px);
    display: block;
    border-top: 11px solid #ea5504;
    border-right: 11px solid transparent;
    border-left: 11px solid transparent;
}
.flexTop div a.whiteLink{
	background-color: #ffffff;
	height: 60px;
	display: block;
	border: 2px solid #b2b2b2;
}
.flexTop div a img{
	height: 40px;
	margin-top: 8px;
}
@media only screen and ( max-width: 767px ) {
	.flexTop div .tab2Img{
		height: 50px;
		margin-top:4px;
	}
	.flexTop div .tab1Img{
		height: 35px;
		margin-top: 10px;
	}
}
.orangeCover{
	background-color: #ea5504;
}
.orangeCover img{
	width: 55%;
	margin: 0 auto;
	display: block;
	padding: 15px 0;
}
@media only screen and ( max-width: 767px ) {
	.orangeCover img{
		width: 80%;
		margin: 0 auto;
		display: block;
		padding: 15px 0;
	}
}
.blueBack{
	background-color: #e2f3fb;
	padding: 10px;
	font-size: 14px !important;
	margin: 20px 0;
}
.blueBack img{
	width: 70%;
	text-align:center;
	display: block;
	margin: 0 auto 10px;
}
.blueBack span{
	display:block;
	padding-bottom:2px;
}
.blueBack .description{
	font-size: 14px !important;
}
.borderBlue{
	border: solid 4px #c6e9fa;
	border-radius: 15px;
	position: relative;
	padding: 3em 1em 1em 1em;
	margin-top: 60px;
	width: 100%;
}

.borderBlueText{
	text-align: center;
	position: absolute;
	top: -20px;
	margin: 0 auto;
	background-color: rgb(0 151 224);
	padding: 6px 20px;
	font-size: 16px;
	font-weight: bold;
	color: white;
	border-radius: 10px;
	right: 0;
	left: 0;
	width: 50%;
}
@media only screen and ( max-width: 767px ) {
	.borderBlueText{
		width: 90%;
		padding: 6px 10px;
	}
	.borderBlue{
		border: solid 4px #c6e9fa;
		border-radius: 15px;
		position: relative;
		padding: 48px 10px 16px;
		margin-top: 60px;
		width: 100%;
	}
}
.flexMoney{
	display:flex;
	font-weight: bold;
	align-items: center;
	justify-content: space-evenly;
}
.flexMoney div:first-child sup{
	padding-right: 10px;
}
.flexMoney p{
	font-size: 18px;
}
.flexMoney div:first-child .txOrange{
	font-size: 24px;
}
.borderOrange {
	border: solid 2px #ea5504;
	padding: 5px 20px;
	border-radius:15px;
	font-size: 26px;
}
.borderOrange p{
	line-height: 15px;
}
.fontM{
	font-size:28px;
}
.fontL{
	font-size: 40px;
	font-weight: bold;
}
.fontLL{
	font-size: 50px;
	font-weight: bold;
}
@media only screen and ( max-width: 767px ) {
	.flexMoney{
		display:flex;
		font-weight: bold;
		justify-content: center;
		align-items: center;
	}
	.flexMoney div:first-child p{
	width: 125px;
	margin-right: 5px;
	}
	.flexMoney p{
		font-size: 14px;
	}
	.flexMoney div:first-child .txOrange{
		font-size: 18px;
	}
	.fontM{
		font-size: 24px;
	}
	.fontL{
		font-size: 26px;
		font-weight: bold;
	}
	.fontLL{
		font-size: 24px;
		font-weight: bold;
	}
	.borderOrange {
		border: solid 2px #ea5504;
		padding: 5px 0px;
		border-radius:15px;
		font-size: 16px;
		width: 155px;
	}
	.spBox{
		width: 45%;
		display: inline-block;
	}
	.line3{
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}
	.line3 .fontL{
		font-size: 46px;
	}
}
.txOrange{
	color: #ea5504;
}
.yellowLine{
	background: linear-gradient(to bottom, rgb(255 255 0 / 0%) 60%, rgb(255 255 0) 50%, rgba(255, 255, 0, 1) 100%);
	margin: 0 5px;
}
@media only screen and ( max-width: 767px ) {
	.bigYellowLine{
		background: linear-gradient(to bottom, rgb(255 255 0 / 0%) 60%, rgb(255 255 0) 50%, rgba(255, 255, 0, 1) 100%);
		line-height:1em;		
	}
	.line4 .yellowLine{
		background: linear-gradient(to bottom, rgb(255 255 0 / 0%) 70%, rgb(255 255 0) 50%, rgba(255, 255, 0, 1) 100%);
		margin: 0 5px;
	}
	.yellowLine{
		margin:0;
	}
	
	
}
.orangeDelta:after{
	display: block;
	width: 0;
	height: 0;
	border-top: 35px solid #ccc;
	border-right: 34px solid transparent;
	border-bottom: 0;
	border-left: 34px solid transparent;
	margin: 30px auto;
	clear: both;
	content: "";
	border-top-color: #ea5504;
}
.widthPC{
	font-size: 18px;
	font-weight: bold;
	padding: 0px 65px;
	margin-bottom: 15px;
}
.orabgeBox{
	border:solid 2px #ea5504;
	padding: 5px 10px;
	margin: 0 10px;
	font-weight: bold;
}
@media only screen and ( max-width: 767px ) {
	.widthPC{
		font-size: 18px;
		font-weight: bold;
		padding: 0px 5px;
		margin-bottom: 15px;
	}
	.orabgeBox{
		border:solid 2px #ea5504;
		padding: 5px 5px;
		margin: 0 5px;
		font-weight: bold;
	}
}

.line1,.line2,.line3,.line4{
	font-size:18px;
	margin: 0 0 25px 0;
}
.line3,.line4{
	font-weight: bold;
}
@media only screen and ( max-width: 767px ) {
	.line3{
		display: flex;
		align-items: center;
	}
	.line3 .yellowLine{
		background: linear-gradient(to bottom, rgb(255 255 0 / 0%) 76%, rgb(255 255 0) 50%, rgba(255, 255, 0, 1) 100%,rgb(255 255 0 / 0%) 80%);
		margin: 0 5px;
		line-height:1em;
	}
}
.colorRed{
    color:red;
}
.clickArea {
	display:flex;
	justify-content: center;
	font-size: 130%;
	margin: 15px 0;
}
@media only screen and ( max-width: 767px ) {
	.clickArea {
		display:flex;
		justify-content: center;
		font-size: 115%;
		margin: 15px 0;
	}
}
.acTitleText{
	margin-right:15px;
	color: #8D8D8D;
	font-weight: bold;
}
 .open .arrowAc .acBtn:after,
 .open.arrowAc .acBtn:after{
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	top: 10px;
}
.acBtn:after{
		content: "";
		display: block;
		position: relative;
		width: 13px;
		height: 13px;
		right: 1.3em;
		right: 0em;
		z-index: 1;
		border: 0;
		border-bottom: solid 2px #c4c4c4;
		border-right: solid 2px #c4c4c4;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		pointer-events: none;
		top: 0px;
	}
.acContent{
	margin-top:20px;
}
.shapeFlex{
	display:flex;
	align-items: center;
	justify-content: space-evenly;
	margin-top: 20px;
	font-weight: bold;
	font-size: 18px;
	margin-left: 30px;
	margin-right: 30px;
}
.orangeShape{
	margin-right: 20px;
}
.flexHoke{
	display:flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 30px 30px;
}
.flexHoke .kaigo,.flexHoke .shibou,.flexHoke .iryo,.flexHoke .nenkin{
	color: #ffffff;
	padding: 3px 45px;
	font-weight: bold;
	font-size: 18px;
}
.flexHoke .kaigo{
	background-color: #ea5504;
}
.flexHoke .shibou{
	background-color: #7ea8d2;
}
.flexHoke .iryo{
	background-color: rgb(1 145 58);
}
.flexHoke .nenkin{
	background-color: rgb(141 146 201);
}
@media only screen and ( max-width: 767px ) {
	.shapeFlex{
	display:flex;
	align-items: center;
	justify-content: space-evenly;
	margin-top: 20px;
	font-weight: bold;
	font-size: 18px;
	margin-left: 0;
	margin-right: 0;
	flex-direction: column;
}
.orangeShape{
	margin-right: 0px;
	margin-bottom: 20px;
	width: 230px;
}
.flexHoke{
	display:flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 30px 30px;
	flex-wrap: wrap;
}
.flexHoke .kaigo,.flexHoke .shibou,.flexHoke .iryo,.flexHoke .nenkin{
	color: #ffffff;
	padding: 3px 45px;
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 10px;
}
}
.manImgFlex{
	display:flex;
	margin: 15px;
	margin-bottom: 90px;
	justify-content: center;
	align-items: center;
}
.manImgFlex2text{
	display:flex;
	margin: 15px;
	margin-bottom: 70px;
	justify-content: center;
	align-items: flex-end;
}
.manImgFlex img {
    height: 135px;
    margin-right: 10px;
}
.manImgFlex2text img{
	height: 150px;
	margin-right: 10px;
}
.womanImgLeftText{
	margin: 0 15px;
	padding: 10px 20px;
	background-color: #FCE8CC;
	border-radius: 10px;
	font-weight: bold;
	text-align: left;
	width: 245px;
}
.elman2Text{
	display: flex;
	flex-direction: column;
}
.elman2Text .womanImgLeftText{
	margin: 15px 15px;
}
.elman2Text .womanImgLeftText:first-child{
	margin: 15px 15px;
	width: 190px;
}
.elman2Text .womanImgLeftText:nth-child(2){
	margin: 15px 15px 0 80px;
	width: 190px;
}
@media only screen and (max-width: 767px) {
    /* SP */
	.manImgFlex{
		display:flex;
		align-items: center;
		justify-content: center;
		align-content: space-between;
		text-align: center;
		margin: 0 0 50px;
	}
	.manImgFlex2text{
		display:flex;
		align-items: flex-end;
		justify-content: center;
		align-content: space-between;
		text-align: center;
		margin: 0 0 10px;
	}
	.manImgFlex img {
		height: 115px;
		margin-right: 10px;
	}
	.manImgFlex2text img {
		height: 125px;
	}
	.womanImgLeftText {
		text-align: left;
		padding: 15px 10px;
		font-size: 16px;
		font-weight: normal;
		margin: 20px 0;
	}
	.elman2Text .womanImgLeftText{
		margin: 15px 15px;
	}
	.elman2Text .womanImgLeftText:first-child{
		margin: 15px 0 15px 0;
		width: 180px;
	}
	.elman2Text .womanImgLeftText:nth-child(2){
		margin: 0 0 0 50px;
		width: 160px;
	}
	.mlPink{
		margin-left: auto;
		font-size: 14px;
	}
	.womanTextFlex img{
		width: 40px;
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 20px;
	}
	.womanTextFlex{
		display:flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		margin: 0;
		padding: 0;
		flex-direction: column;
	}
}

/* .ShisanTitleBar*/
.ShisanTitleBar {
	display: flex !important;
	font-weight: bold;
	font-size: 140%;
	margin-bottom: 25px;
}

.ShisanTitleBarLeft {
	flex: 1 0 1%;
	background-color: #EA5504;
}
@media only screen and (max-width: 767px){
    .ShisanTitleBarLeft {
        flex: 1 0 2.5%;
        background-color: #EA5504;
    }
}
.ShisanTitleBarLeft.womanColor{
	flex: 1 0 1%;
	background-color: #ed7591;
}
.ShisanTitleBarRight {
	flex: 1 0 99%;
	background-color: #FBDDCD;
	margin-left: 3px;
}
.ShisanTitleBarRight.womanColor {
	flex: 1 0 99%;
	background-color: #ffeaef;
	margin-left: 3px;
}
.ShisanTitleBarText {
	padding: 10px 10px 5px;
}
 .inputRadio,
 .inputCheckbox {
    display: none;
}
.hokneryouMain{
	font-weight:bold;
	margin-bottom:5px;
	font-size:16px;
}
.hokneryouSub{
	margin-bottom:25px;
	font-size: 15px;
}
/* .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,#bloInputKihon,#bloInputTuki 年齢セレクトボックスラッパー
----------------------------------------------- */
#bloInputAge
,#bloInputKihon
,#bloInputTuki {
    position: relative;
    border: 2px solid #b2b2b2;
    border-radius: 4px;
    background: #ffffff;
    color: black;
}
#bloInputAge select
,#bloInputKihon select
,#bloInputTuki select{
    color: black;
}
.linkBlue{
	color:#33b0e3 !important;
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #bloInputAge,#bloInputKihon,#bloInputTuki {
        width: 228px;
        height: 60px;
        margin-bottom: 5px;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #bloInputAge,#bloInputKihon,#bloInputTuki {
        width: 100%;
        height: 48px;
        margin-bottom: 27px;
        text-align: center;
    }
}
#bloInputAge::after,#bloInputKihon::after,#bloInputTuki::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;
}

/* #inputAge,#inputKihon,#inputTuki 年齢セレクトボックス
----------------------------------------------- */
#inputAge,#inputKihon,#inputTuki {
    -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;
    text-align-last: center;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #inputAge,#inputKihon,#inputTuki {
        font-size: 22px;
        font-weight: bold;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    #inputAge,#inputKihon,#inputTuki {
        font-size: 18px;
        font-weight: bold;
    }
}
/* ハイライト設定 */
.inputRadio:checked + .bloCommonRadio {
    border-color: #EA5504;
}
.inputRadio:checked + .bloCommonRadio::before {
    border-color: #EA5504;
}
.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: #EA5504;
}
/* .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: #EA5504;
}
.inputRadio:checked + .bloCommonRadio::before {
    border-color: #EA5504;
}
.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: #EA5504;
}
/* 選択不可 */
.inputRadio:disabled + .bloCommonRadio {
    border-color: #d9d9d9;
    background: #d9d9d9;
    color: #787976;
    cursor: not-allowed;
}
.inputRadio:disabled + .bloCommonRadio::before {
    border-color: #787976;
    background: #d9d9d9;
}
.simFlex{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 60px 20px 40px 0;
}
.simFlex img{
	width:75px;
}
.simFlex .lineBox{
	margin-left: 20px;
}
.simFlex .orangeLine{
	font-weight: bold;
	font-size: 20px;
	background: linear-gradient(to bottom, rgb(255 255 0 / 0%) 60%, rgb(248 182 45) 0%, rgb(248 182 45) 80%, rgb(255 255 0 / 0%) 85%);
}

.hokenText{
	font-size:20px;
	font-weight:bold;
	margin-top: 30px;
	display: block;
}
.elHokenTextArea {
	display:flex;
}
.elHokenTextArea .elHokenText1{
	flex-basis: 200px;
}
@media only screen and ( max-width: 767px ) {
	.yoHokenTextArea{
		display:flex;
	}
	.hokenText{
		font-size:16px;
	}
	.elHokenTextArea .elHokenText1,
	.yoHokenTextArea .yoHokenText1{
		flex-basis: 170px;
	}
	.simFlex .orangeLine{
		font-weight: bold;
		font-size: 20px;
		background: linear-gradient(to bottom, rgb(255 255 0 / 0%) 60%, rgb(248 182 45) 0%, rgb(248 182 45) 80%, rgb(255 255 0 / 0%) 85%);
	}
}
.hokenTable{
	width:100%;
}
.hokenTable td{
	border:2px solid #b2b2b2;
	width:25%;
	height:35px;
	text-align: center;
}
.hokenTable td.txBold{
	font-weight:bold;
}
.hokenTable span.tdError{
	text-align: center;
	width: 70px;
	display: inline-block;
}
.hokenTable span.tdErrorPer{
	text-align: center;
	width: 40px;
	display: inline-block;
}
.hokenTable td.backPink{
	background-color: rgb(254 244 223);
}
.hokenTable td.backBlue{
	background-color: rgb(222 236 246);
}
.tabControlBox.bottom.downarrow:after{
	border-top-color: #ea5504 !important;
}
.shiryoUnderText{
	font-size:20px;
	text-align:center;
	font-weight:bold;
	margin:70px auto 40px;
	width:560px;
}
@media only screen and ( max-width: 767px ) {
	.shiryoUnderText{
		font-size:18px;
		text-align:center;
		font-weight:bold;
		margin:70px auto 40px;
		width:100%;
	}
}
@media print, screen and ( min-width: 768px ) {
	/* .tabControlBox.bottom.downarrow-pc */
	.tabControlBox.bottom.downarrow {
		margin: 0 auto 30px;
	}

}
/*  フッター部資料請求     */

.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);
}
.shapeFlex a{
	color: #33b0e3;
}
span.warning {
	display: block;
	padding-left: 15px;
	background: url(/content/dam/shared/jp/ja/static/images/sim/icon_error_l.gif) no-repeat left 0.2em;
	clear: both;
	color: #e2242c;
}
span.isVisibility {
	display: block !important;
}
img.elmanImg{
	width:70%;
	margin:25px auto;
	display:block;
}
div.orangeBlock{
	border: 4px solid rgb(246 192 118);
	border-radius: 10px;
	padding: 15px 115px;
	margin: 20px 0;
}
div.orangeBlock span.orangeBlockText{
	font-size: 18px;
	font-weight: bold;
}
.orangeBlock a.fontM{
	text-decoration:none;
	margin: 0 5px;
	font-size:24px;
}
.orangeBlock .fontL{
	font-size:30px;
}
.qBox{
	margin: 0;
	bottom: 8px;
	position: relative;
	width: 26px;
}
div.womanFlex{
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 40px 0;
	
}
div.womanFlex div.womanImg{
	width: 160px;
	margin: 0 25px;
}
div.womanFlex div.womanText{
	font-size: 18px;
	font-weight:bold;
	flex-basis: 100%;
}
div.womanFlexBottom{
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 40px 30px;
}
div.womanFlexBottom div.womanImg{
	width: 160px;
	margin: 0 25px;
}
div.womanFlexBottom div.womanText{
	font-size: 18px;
	font-weight:bold;
	flex-basis: 100%;
}
@media only screen and ( max-width: 767px ) {
	div.womanFlexSp{
		flex-direction: row-reverse;
	}
	div.womanFlex{
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 40px 0;
	
}
div.womanFlex div.womanImg{
	width: 160px;
	margin: 0 15px;
}
div.womanFlex div.womanText{
	font-size: 16px;
	font-weight:bold;
	flex-basis: 100%;
}
div.womanFlexBottom{
	display: flex;
	align-items: center;
	justify-content: space-evenly;
	margin: 40px 0px;
}
div.womanFlexBottom div.womanImg{
	width: 160px;
	margin: 0 15px;
}
div.womanFlexBottom div.womanText{
	font-size: 16px;
	font-weight:bold;
	flex-basis: 100%;
}
	img.elmanImg{
		width: 100%;
		margin:25px auto;
		display:block;
	}
	
div.orangeBlock{
	border: 4px solid rgb(246 192 118);
	border-radius: 10px;
	padding: 15px 40px;
}
div.orangeBlock span.orangeBlockText{
	font-size: 16px;
	font-weight: bold;
}
.orangeBlock a.fontM{
	text-decoration:none;
	margin: 0 5px;
	font-size: 22px;
}
.orangeBlock .fontL{
	font-size: 28px;
}
.qBox{
	margin: 0;
	bottom: 6px;
	position: relative;
	width: 24px;
}
}
/* .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;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloOuterBanner {
        margin: 0;
    }
}


/* .bloInnerBanner バナー内側デザイン
----------------------------------------------- */
.bloInnerBanner {
    display: grid;
    align-items: center;
    justify-content: space-between;
}
@media print, screen and (min-width: 768px) {   /* PC */
    .bloInnerBanner {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        align-content: center;
    }
}
@media only screen and (max-width: 767px) {     /* SP */
    .bloInnerBanner {
        display: flex;
        justify-content: space-around;
        width: 100%;
        padding: 10px 17px 0;
        align-items: center;
    }
}
.imgTotalPremiumDuck{
	width: 65px;
}
/* 画像 */
@media only screen and (max-width: 767px) {     /* SP */
    .bloInnerBanner > .imgTotalPremiumDuck {
        display: none;
    }
}
/* .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: 330px;
        height: 60px;
        font-size: 20px;
    }
    .iconButtonBanner {
        width: 28px;
    }
	.shiryoFloArea{
		margin-bottom: 0;
	}
	.simFloArea{
		margin-bottom: 25px;
	}
	.calchokenryouFlo {
		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;
	}
	.calchokenryouFlo img {
		width: 20px;
		margin-right: 10px;
	}
}
@media only screen and (max-width: 767px) {     /* SP */
	.buttonBanner,
	.calchokenryouFlo {
        gap: 0 10px;
        padding: 5px 20px 3px 20px;
        font-size: 16px;
        letter-spacing: 0.1em;
        width: 98%;
        grid-template: auto / auto auto;
        min-height: 3em;
        margin: 0 auto;
        text-align: center;
        line-height: 1.2em;
    }
	.iconButtonBanner {
	    width: 20px;
    }
	.shiryoFloArea{
		flex:1;
	}    
	.calchokenryouFlo {
        background: rgba(29,163,143);
        text-decoration: none !important;
        border-radius: 50px;
        color: white !important;
        font-weight: bold;
        justify-content: center;
        align-items: center;
        vertical-align: middle;
        display: grid;
    }
	.simFloArea{
		margin-bottom: 20px;
		flex:1;
	}
        
    .calchokenryouFlo img {
        width: 15px;
    }
}
/* フッター資料請求 */
@media print, screen and ( min-width: 768px ) {
	.duckButtonBanner .image {
		margin-right: 20px;
		width: 230px;
	}
}
@media only screen and ( max-width: 767px ) {
	.duckButtonBanner .image {
		width: 230px;
	}
	
}
/* margin em */
.mt3em  { margin-top: 3em !important; }
.mb3em  { margin-bottom: 3em !important; }

/* glonav */
@media(scripting:enabled){
	.sb-insur-type-lists .items-level0 > .icon-item.active > a.noTsumitasu{
		background: url(/content/dam/shared/jp/ja/static/resp_images/icon/arrow_right_blue_01.png) 15px 23px no-repeat !important;
		color: #333 !important;
		font-size: 16px !important;
	}
	.noTsumitasuUl{
		display:none !important;
	}
}


.recommendFlex{
	display:flex;
	align-items: center;
	justify-content: center;
	/* gap: 2em; */
	margin-bottom: 15px;
}
.recommendFlex .prodLogo {
	margin: auto;
	width: 40%;
	text-align: center;
}
.recommendFlex .prodLogo > img {
	width: 90%;
	margin: auto;
}
.recommendRight{
	border-radius: 10px;
	font-weight: bold;
	width: 55%;
}
.recommendRightLinkImg {
	width: 95px;
	margin: 10px 0 0;
}

@media only screen and (max-width: 767px) {
	/* SP */
	.recommendFlex{
		display:flex;
		align-items: center;
		justify-content: center;
		align-content: space-between;
		text-align: center;
		margin: 20px auto 10px;
		max-width: 500px;
	}
	.recommendFlex .prodLogo {
		width: 55%;
		margin: 0 auto;
	}
	.recommendFlex .prodLogo > img {
		width: 100%;
		margin: 0 auto;
	}
	.recommendRight {
		text-align: left;
		font-size: 14px;
		width: 45%;
	}
	a.recommendLink {
		margin: auto;
		text-align: center;
		display: block;
	}
	a .recommendRightLinkImg {
		margin: 5px auto 0;
		text-align: center;
	}
}


