@charset "UTF-8";
/* CSS Document */

/* 汎用
----------------------------------------------- */
.mt60 {
	margin-top: 60px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
.jcCenter {
	justify-content: center;
}

/* body
----------------------------------------------- */
body {
	background-color: #ffffff;
	font-family: Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic Pro,Hiragino Sans,Meiryo,Osaka,Arial,MS PGothic,sans-serif;
}

/* #wrapper
----------------------------------------------- */
#wrapper {
	background-color: #ffffff;
	overflow-x: hidden;
}

/* #contents
----------------------------------------------- */
#contents {
	margin: 19px auto 0px;
}

/* .containerMain
----------------------------------------------- */
#contents.container .containerMain {
	width: 100%;
}
@media only screen and (max-width: 767px) {
	#contents.container .containerMain {
		padding: 24px 20px 0px;
	}
}
.containerMain .topicPath {display: none;}

/* 見出し
----------------------------------------------- */
.h2KeiyakuIndex.pageTitle {
	font-size: 32px;
	padding: 41px 0 24px;
}
.pageTitleDetail {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 60px;
}
.h2KeiyakuIndex {
	font-size: 32px;
	padding: 100px 0 48px;
}
.h2KeiyakuIndexSub {
	font-size: 28px;
	padding: 80px 0 48px;
}
@media only screen and (max-width: 767px) {
	.h2KeiyakuIndex.pageTitle {
		font-size: 22px;
		padding: 16px 0 16px;
	}
	.pageTitleDetail {
		font-size: 16px;
		font-weight: 500;
		margin-bottom: 30px;
	}
	.h2KeiyakuIndex {
		font-size: 22px;
		padding: 80px 0 32px;
	}
	.h2KeiyakuIndexSub {
		font-size: 20px;
		padding: 80px 0 48px;
	}
}

/* テキスト
----------------------------------------------- */
.txNormalKeiyakuIndex {
	font-size: 114%;
}
.txSmallKeiyakuIndex {
	font-size: 86%;
}
.txBoxTtlKeiyakuIndex {
	font-size: 143%;
}

/* .ulNoteKeiyakuIndex
----------------------------------------------- */
.ulNoteKeiyakuIndex > li {
	position: relative;
	padding-left: 1.5em;
}
.ulNoteKeiyakuIndex > li > .kome {
	position: absolute;
	left: 0;
}

/* .homeLayoutV10 yorisounet
----------------------------------------------- */
.homeLayoutV10 {
	position: relative;
    img {
        height: auto;
    }
    a {
        transition: all .25s cubic-bezier(.4,0,.2,1) 0s
    }
    a:active,a:hover,a:link,a:visited {
        color: #333;
        text-decoration: none
    }
}
.homeLead>:first-child,.homeLead>[class^=list-wrap]>:first-child,.homeLead>section:first-child>:first-child,.homeMedia>:first-child,.homeMedia>[class^=list-wrap]>:first-child,.homeMedia>section:first-child>:first-child,.homeMediaBody>:first-child,.homeMediaBody>[class^=list-wrap]>:first-child,.homeMediaBody>section:first-child>:first-child,.homeMediaHead>:first-child,.homeMediaHead>[class^=list-wrap]>:first-child,.homeMediaHead>section:first-child>:first-child {
    margin-top: 0!important
}
.homeContents {
    max-width: 1366px;
    margin: 0 auto;
}
.homeMedia {
    display: flex;
    z-index: 1;
    position: relative;
    flex-wrap: nowrap;
    align-items: center;
    background-image: linear-gradient(90deg,#E4F7FF,#dcf2ff 98.12%);
}
.homeMediaHead {
    flex-shrink: 0;
    width: 65.311%;
    max-width: 819px;
}
.homeMediaBody {
    width: 100%;
    padding: 10px min(4.90483vw,67px) 10px min(2.85505vw,39px)
}
.homeButtonWrapV2 {
    display: grid;
    grid-template-columns: auto;
    flex-flow: row wrap;
    align-items: center;
    margin: 2em 0 0
}
.homeButtonWrapV2>* {
    justify-content: center
}
.homeButtonV2 {
    display: flex
}
.homeButtonV2Type {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    background-color: #e98300;
    color: #fff!important;
    text-align: center;
    text-decoration: none
}
.homeButtonV2Type {
    width: 100%;
    max-width: 330px;
    /* padding: min(1.61054vw,22px) min(1.75695vw,24px); */
    padding: 18px;
    font-size: min(1.8vw,1.8rem);
    font-weight: 700;
    line-height: 1.2
}
.homeButtonV2Type:hover {
    opacity: .7
}
.homeButtonV2Label {
    display: inline-block;
    font-size: 18px;
}
.homeListWrapV2,.homeListWrapV2--center {
    margin: min(2.04978vw,28px) 0 0
}
.homeListWrapV2--center>:first-child,.homeListWrapV2--center>[class^=list-wrap]>:first-child,.homeListWrapV2--center>section:first-child>:first-child {
    margin-top: 0!important
}
.homeListWrapV2--center {
    display: flex;
    justify-content: center
}
.homeLinkListType {
    font-size: min(1.8vw,1.8rem);
    font-weight: 700
}
.homeLinkList {
    margin: 1em 0 0;
    padding: 0;
    list-style: none
}
.homeLinkList>:first-child,.homeLinkList>[class^=list-wrap]>:first-child,.homeLinkList>section:first-child>:first-child {
    margin-top: 0!important
}
.homeLinkList>li {
    position: relative;
    list-style: none
}
.homeLinkListType {
    color: #00a5d9!important;
    line-height: 1.1;
    list-style: none
}
.homeLinkListType {
    font-size: min(1.8vw,1.8rem);
    font-size: 18px;
    font-weight: 700
}
.homeLinkListType:after {
    display: inline-block;
    position: relative;
    overflow: hidden;
    background: no-repeat 50%/contain;
    background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_blue_arrow.png);
    text-indent: 100%;
    vertical-align: middle;
    white-space: nowrap;
    content: "";
}
.homeLinkListType:hover {
    text-decoration: underline
}
.homeLinkListType:after {
    top: -2px;
    width: 26px;
    height: 26px;
    margin-left: 6px
}
@media only screen and (max-width: 767px) {
	.homeMedia {
        margin: 0 -20px;
        display: grid;
        grid-template-columns: 173fr 180fr 22fr;
        grid-template-rows: 178fr 36fr 16fr;
        grid-column-gap: 0px;
        grid-row-gap: 0px;
    }
	.homeMediaHead {
	    width: 100%;
	    grid-area: 1 / 1 / 5 / 5;
	}
	.homeMediaBody {
        grid-area: 2 / 2 / 3 / 3;
        padding: 0;
    }
	.homeButtonV2Type {
	    padding: min(2.15vw,22px);
	}
	.homeButtonV2Label {
	    font-size: min(3.75vw,1.8rem);
	}
}
@media print,screen and (min-width: 768px) {
    .utilPcHidden {
        display: none!important
    }
}
@media only screen and (max-width: 767px) {
    .utilSpHidden {
        display: none!important
    }
}

/* .homeCarousel
----------------------------------------------- */
.homeCarousel {
    button,input,pre,select,textarea {
        font-family: Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic Pro,Hiragino Sans,Meiryo,Osaka,Arial,MS PGothic,sans-serif;
        /* font-size: 1.4rem; */
        font-size: 14px;
        line-height: 1.6;
    }
	button:not([disabled]),input[type=submit] {
	    cursor: pointer
	}
}
.homeCarouselList:not(.slick-initialized)>.homeCarouselItem {
    display: none;
    padding: 0
}

.homeCarouselList:not(.slick-initialized)+.homeCarouselControl {
    display: none
}

.homeCarouselList {
    position: relative
}

.homeCarouselList.slick-initialized {
    opacity: 1;
}

.homeCarouselList>.slick-list {
    overflow: visible
}

.homeCarouselList>.slick-list>.slick-track {
    display: flex;
    margin-right: 0;
    margin-left: -361px;
    width: 3509px !important;
}

.homeCarouselList>.slick-list>.slick-track>.slick-slide {
    display: flex;
    height: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCarouselList>.slick-list>.slick-track>.slick-slide>div:not([class]) {
    font-size: 0;
    line-height: 1
}

.homeCarouselList>.slick-list>.slick-track>.slick-slide.slick-active,.homeCarouselList>.slick-list>.slick-track>.slick-slide.slick-active~* {
    cursor: auto;
    opacity: 1;
    pointer-events: auto
}

.homeCarouselItem {
    height: 100%;
    text-align: center
}

.homeCarouselItem>img {
    display: inline-block!important
}

.homeCarouselType {
    display: block;
    z-index: 1;
    position: relative;
    overflow: hidden;
    border: 1px solid #d9d9d9;
    border-radius: 8px
}

.homeCarouselControl {
    display: flex;
    position: relative;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: 100%
}

.homeCarouselPager>.slick-dots {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    margin: 0;
    padding: 0
}

.homeCarouselPager>.slick-dots>li {
    display: flex;
    margin: 0;
    font-size: 0;
    list-style: none
}

.homeCarouselPager>.slick-dots>li>button {
    display: inline-block;
    width: 12px;
    height: 12px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: #b3b3b3;
    text-indent: -9999em;
    transition: all .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCarouselPager>.slick-dots>li.slick-active>button {
    background-color: #00a5d9;
    pointer-events: none
}

.homeCarouselSwitch {
    display: flex;
    align-items: center
}

.homeCarouselSwitchPause,.homeCarouselSwitchPlay {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 16px;
    overflow: hidden;
    border: none;
    background-color: transparent;
    background-repeat: no-repeat;
    font-size: 0;
    text-indent: -100vw;
    white-space: nowrap;
    transition: all .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCarouselSwitchPause {
    background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_pause_grey.png);
    background-position: 1px 0
}

.homeCarouselSwitchPlay {
    -webkit-clip-path: polygon(0 0,100% 50%,0 100%);
    background-color: #b3b3b3;
    background-position: 0 0;
    clip-path: polygon(0 0,100% 50%,0 100%)
}

.homeCarousel .slick-arrow {
    -webkit-appearance: none;
    appearance: none;
    -webkit-transform: translateY(-50%);
    -webkit-transform-origin: center;
    z-index: 1;
    position: absolute;
    top: 50%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    transform: translateY(-50%);
    transform-origin: center;
    border: none;
    background: none;
    text-indent: -100vw;
    white-space: nowrap;
    transition: all .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCarousel .slick-arrow.slick-disabled {
    opacity: 0;
    pointer-events: none
}

.homeCarousel .slick-arrow:after {
    -webkit-transform-origin: center;
    -webkit-transform: translate(-50%,-50%);
    display: block;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    transform-origin: center;
    background: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_btn_blue_arrow.png) no-repeat 50%/contain;
    content: ""
}

.homeCarousel .slick-arrow:after>:first-child,.homeCarousel .slick-arrow:after>[class^=list-wrap]>:first-child,.homeCarousel .slick-arrow:after>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCarousel .slick-arrow.slick-prev {
    left: -22px;
}

.homeCarousel .slick-arrow.slick-next {
    right: 60px;
}

.homeCarousel .slick-arrow.slick-next:after {
    -webkit-transform: translate(-50%,-50%) scaleX(-1);
    transform: translate(-50%,-50%) scaleX(-1)
}
.homeCarousel {
	/* margin: 50px 0 0; */
}

.homeCarouselList:not(.slick-initialized) {
	gap: 32px;
	display: flex;
	flex-flow: row wrap;
	width: 100%
}

.homeCarouselList:not(.slick-initialized)>.homeCarouselItem {
	width: calc((100% - 96px)/3);
	height: auto
}
.homeCarouselList:not(.slick-initialized)>.homeCarouselItem:nth-child(-n+3) {
	display: flex
}

.homeCarouselList {
	width: 100%;
	max-width: max(calc(100% - 264px),1102px);
}

.homeCarouselList>.slick-list {
	margin: 0 -16px;
}

.homeCarouselItem {
	padding: 0 16px;
	/* font-size: 1.4rem; */
	font-size: 18px;
	line-height: 1.6;
	width: 319px;
}

.homeCarouselType:hover {
	opacity: .7
}

.homeCarouselPager>.slick-dots {
	display: flex;
	position: relative;
	flex-flow: row nowrap;
	align-items: center;
}
.homeCarouselControl {
	margin: 30px 0 0
}
.homeCarouselPager>.slick-dots {
	gap: 3px 16px
}

.homeCarouselPager>.slick-dots>li>button {
	width: 12px;
	height: 12px
}

.homeCarouselPager>.slick-dots>li>button:hover {
	opacity: .7
}

.homeCarouselSwitch {
	margin-left: 16px
}

.homeCarouselSwitchPause:hover,.homeCarouselSwitchPlay:hover {
	opacity: .7
}

.homeCarouselSwitchPause,.homeCarouselSwitchPlay {
	width: 16px;
	height: 18px;
	background-size: 15px 18px
}

.homeCarousel .slick-arrow {
	width: 49px;
	height: 49px
}

.homeCarousel .slick-arrow:hover {
	opacity: .7
}

.homeCarousel .slick-arrow:after {
	width: 44px;
	height: 44px
}

.homeCarousel .slick-arrow.slick-prev:after {
	left: calc(50% - 2px)
}

.homeCarousel .slick-arrow.slick-next:after {
	left: calc(50% + 2px);
}
.homeCarouselCard {
    display: flex;
    height: 100%
}

.homeCarouselCard .homeCarouselCardType {
    display: flex;
    z-index: 1;
    position: relative;
    flex-flow: column;
    width: 100%;
    border-radius: 8px;
    outline: none;
    background-color: #fff;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,.16);
    color: #333;
    text-align: left;
    text-decoration: none
}

.homeCarouselCard .homeCarouselCardType:before {
    -webkit-transform: translate(-50%,-50%);
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    transform: translate(-50%,-50%);
    border: 2px solid #0c6ac9;
    border-radius: 8px;
    background-color: transparent;
    content: "";
    opacity: 0
}

.homeCarouselCard .homeCarouselCardType:focus:before {
    opacity: 1
}

.homeCarouselCardHead {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    flex-flow: column;
}

.homeCarouselCardHead>:first-child,.homeCarouselCardHead>[class^=list-wrap]>:first-child,.homeCarouselCardHead>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCarouselCardBody {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%
}

.homeCarouselCardBody>:first-child,.homeCarouselCardBody>[class^=list-wrap]>:first-child,.homeCarouselCardBody>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCarouselCardImage {
    overflow: hidden
}

.homeCarouselCardTitle {
    position: relative;
    color: #333
}

.homeCarouselCardDescription {
    color: #00a5d9;
    line-height: 1.6;
    text-align: center
}

.homeCarouselCardBadgeWrap {
    position: absolute;
    max-width: 100%
}

.homeCarouselCardBadge {
    color: #e98300;
    font-style: normal
}
.homeCarouselCard .homeCarouselCardType {
	padding: 56px min(2.92826vw,40px) 36px
}

.homeCarouselCard .homeCarouselCardType:hover .homeCarouselCardDescription,.homeCarouselCard .homeCarouselCardType:hover .homeCarouselCardImage,.homeCarouselCard .homeCarouselCardType:hover .homeCarouselCardTitle {
	opacity: .7
}

.homeCarouselCardHead+.homeCarouselCardBody {
	padding-top: 63px;
	padding-top: 43px;
}

.homeCarouselCardHead.hasNote+.homeCarouselCardBody {
	padding-top: 10px;
}

.homeCarouselCardImage {
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}
.homeCarouselCardHead.hasNote .homeCarouselCardImage img {
	width: auto;
	height: 110px;
}
.homeCarouselCardImageNote {
	font-size: 10px;
	color: #808080;
	text-align: center;
	margin-top: 5px;
}
.homeNoteList {
    margin: 5px 0 0;
    padding: 0;
    list-style: none
}
.homeNoteList>li {
    position: relative;
    color: #808080;
    line-height: 1.4;
    list-style: none;
	padding-left: 15px;
	font-size: 10px;
}
.homeNoteListMark {
    position: absolute;
    top: 0;
    left: 0
}
.homeCarousel {
    img {
        max-width: 100%;
        height: auto;
        vertical-align: top;
    }
}

.homeCarouselCardTitle {
	letter-spacing: .72px;
	line-height: 1.6
}

.homeCarouselCardDescription,.homeCarouselCardTitle {
	font-size: min(1.8vw,1.8rem);
	font-size: 18px;
	font-weight: 700;
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCarouselCardDescription {
	margin: 22px 0 0
}

.homeCarouselCardBadgeWrap {
	top: 17px;
	left: 25px
}

.homeCarouselCardBadge {
	/* font-size: min(2.4vw,2.4rem); */
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1px
}
@media only screen and (max-width: 767px) {
	.homeCarousel {
		margin: 0;
	}
	.homeCarouselList>.slick-list>.slick-track {
	    margin-left: 0;
	    margin-left: calc(-15vw + 18px);
	}
	.homeCarouselItem {
		padding: 0 8px;
		width: 70vw;
	}
	.homeCarouselList:not(.slick-initialized)>.homeCarouselItem:not(:first-child) {
	    display: none;
	}
	.homeCarouselList:not(.slick-initialized)>.homeCarouselItem {
		width: 90vw;
	}
	.homeCarouselCard .homeCarouselCardType {
        padding: 32px 16px 28px;
    }
	.homeCarouselCardHead+.homeCarouselCardBody {
        padding-top: 16px
    }
    .homeCarouselCardImage {
        display: flex;
        justify-content: center
    }
    .homeCarouselCardImage img {
        max-width: 89%
    }
    .homeCarouselCardTitle {
        font-size: 1.4rem;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: .56px;
        line-height: 1.4
    }

    .homeCarouselCardDescription {
        margin: 12px 0 0;
        font-size: 1.4rem;
        font-size: 14px;
        font-weight: 700
    }
	.homeCarouselCardBadgeWrap {
        top: 12px;
        left: 17px
    }
	.homeCarouselCardBadge {
        font-size: 1.4rem;
		font-size: 14px;
    }
	.homeCarouselControl {
        margin: 27px 0 0;
        padding: 0 24px
    }
	.homeCarouselPager>.slick-dots>li>button {
        width: 8px;
        height: 8px
    }
	.homeCarouselSwitchPause,.homeCarouselSwitchPlay {
        width: 12px;
        height: 13px;
        background-size: 11px 13px
    }
}

/* .homeCardWrap
----------------------------------------------- */
.homeCardWrapV2 {
	gap: 40px 32px;
}
.homeCardWrapV2 {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
}
.homeCardWrapV3 {
	gap: 32px 32px;
	display: flex;
	flex-flow: row wrap;
}
.homeCardWrapV4 {
	gap: 40px 36px;
	display: flex;
	flex-flow: row wrap;
}
.homeCardV2 .homeCardV2Type,.homeCardV2 .homeCardV2Type--blank {
	min-height: 216px;
	padding: 50px 10px 32px;
	border-radius: 8px;
	box-shadow: 0 2px 6px 0 rgba(0,0,0,.16)
}
.homeCardV2 .homeCardV2Type#chatbot-button {cursor: pointer;}
.homeCardV2 {
	width: calc((100% - 96px)/4)
}

.homeCardV2 .homeCardV2Type--blank:hover .homeCardV2Image,.homeCardV2 .homeCardV2Type--blank:hover .homeCardV2Title,.homeCardV2 .homeCardV2Type:hover .homeCardV2Image,.homeCardV2 .homeCardV2Type:hover .homeCardV2Title {
	opacity: .7
}

.homeCardV2Image {
	height: 64px;
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCardV2Image>img {
	max-height: 64px
}

.homeCardV2Title {
	margin: 8px 0 0;
	font-size: min(2vw,2rem);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .72px;
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s;
}
.homeCardV2Description {
	margin: 9px 10px 0;
	font-size: min(1.6vw,1.6rem);
	font-size: 16px;
}
.homeCardV3 .homeCardV3Type,.homeCardV3 .homeCardV3Type--blank {
	display: flex;
	align-items: center;
	box-shadow: 0 2px 6px 0 rgba(0,0,0,.16)
}

.homeCardV3 {
	width: calc((100% - 32px)/2)
}

.homeCardV3Head {
	width: 41.1475%;
	padding: 10px
}

.homeCardV3Body {
	padding: 37px min(4.97804vw,68px) 32px min(1.61054vw,22px)
}

.homeCardV3Body:after {
	-webkit-transform: translateY(-50%);
	display: inline-block;
	position: absolute;
	top: 50%;
	right: min(1.97657vw,27px);
	width: 32px;
	height: 32px;
	overflow: hidden;
	transform: translateY(-50%);
	background: no-repeat 50%/contain;
	background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_blue_arrow.png);
	text-indent: 100%;
	vertical-align: middle;
	white-space: nowrap;
	content: "";
	transition: all .25s cubic-bezier(.4,0,.2,1) 0s;
	will-change: background-image
}

.homeCardV3 .homeCardV3Type--blank:hover .homeCardV3Image,.homeCardV3 .homeCardV3Type--blank:hover .homeCardV3Title,.homeCardV3 .homeCardV3Type:hover .homeCardV3Image,.homeCardV3 .homeCardV3Type:hover .homeCardV3Title {
	opacity: .7
}

.homeCardV3Image {
	max-width: 192px;
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCardV3Title {
	margin: 8px 0 0;
	font-size: min(2vw,2rem);
	font-size: 20px;
	font-weight: 700
}

.homeCardV3Description,.homeCardV3Title {
	letter-spacing: .8px;
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCardV3Description {
	margin: 9px 0 0;
	font-size: min(1.6vw,1.6rem);
	font-size: 16px;
}
.homeCardV4 .homeCardV4Type,.homeCardV4 .homeCardV4Type--blank {
	flex-direction: column;
	padding: 40px 10px 52px;
	box-shadow: 0 2px 6px 0 rgba(0,0,0,.16)
}

.homeCardV4 {
	width: calc((100% - 72px)/3)
}

.homeCardV4Body {
	margin: 10px 0 0;
}

.homeCardV4 .homeCardV4Type--blank:hover .homeCardV4Image,.homeCardV4 .homeCardV4Type--blank:hover .homeCardV4Title,.homeCardV4 .homeCardV4Type:hover .homeCardV4Image,.homeCardV4 .homeCardV4Type:hover .homeCardV4Title {
	opacity: .7
}

.homeCardV4Image {
	height: 64px;
}

.homeCardV4Image,.homeCardV4Title {
	transition: opacity .25s cubic-bezier(.4,0,.2,1) 0s
}

.homeCardV4Title {
	margin: 8px 0 0;
	font-size: min(2vw,2rem);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .72px;
	line-height: 1.2;
	text-align: center;
}

.homeCardV2 .homeCardV2Type,.homeCardV2 .homeCardV2Type--blank {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    width: 100%;
    outline: none;
    background-color: #fff;
    color: #333;
    text-align: left;
    text-decoration: none
}

.homeCardV2 .homeCardV2Type--blank:before,.homeCardV2 .homeCardV2Type:before {
    -webkit-transform: translate(-50%,-50%);
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    transform: translate(-50%,-50%);
    border: 2px solid #0c6ac9;
    border-radius: 8px;
    background-color: transparent;
    content: "";
    opacity: 0
}

.homeCardV2 .homeCardV2Type--blank:focus:before,.homeCardV2 .homeCardV2Type:focus:before {
    opacity: 1
}

.homeCardV2 {
    display: flex;
}

.homeCardV2>:first-child,.homeCardV2>[class^=list-wrap]>:first-child,.homeCardV2>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV2Head {
    flex-shrink: 0
}

.homeCardV2Head>:first-child,.homeCardV2Head>[class^=list-wrap]>:first-child,.homeCardV2Head>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV2Body {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.homeCardV2Body>:first-child,.homeCardV2Body>[class^=list-wrap]>:first-child,.homeCardV2Body>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV2 .homeCardV2Type--blank:after {
    display: inline-block;
    position: absolute;
    top: 16px;
    right: 16.5px;
    width: 20px;
    height: 20px;
    overflow: hidden;
    background: no-repeat 50%/contain;
    background-image: url(/content/dam/aflac/jp/ja/static/top_images/ren_icon_blank.png);
    text-indent: 100%;
    vertical-align: middle;
    white-space: nowrap;
    content: "";
    will-change: background
}

.homeCardV2Image {
    display: flex;
    align-items: center;
    justify-content: center
}

.homeCardV2Title {
    text-align: center
}

.homeCardV3 .homeCardV3Type,.homeCardV3 .homeCardV3Type--blank {
    position: relative;
    width: 100%;
    border-radius: 8px;
    outline: none;
    background-color: #fff;
    color: #333;
    text-align: left;
    text-decoration: none
}

.homeCardV3 .homeCardV3Type--blank:before,.homeCardV3 .homeCardV3Type:before {
    -webkit-transform: translate(-50%,-50%);
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    transform: translate(-50%,-50%);
    border: 2px solid #0c6ac9;
    border-radius: 8px;
    background-color: transparent;
    content: "";
    opacity: 0
}

.homeCardV3 .homeCardV3Type--blank:focus:before,.homeCardV3 .homeCardV3Type:focus:before {
    opacity: 1
}

.homeCardV3 {
    display: flex
}

.homeCardV3>:first-child,.homeCardV3>[class^=list-wrap]>:first-child,.homeCardV3>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV3Head {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    position: relative;
}

.homeCardV3Body>:first-child,.homeCardV3Body>[class^=list-wrap]>:first-child,.homeCardV3Body>section:first-child>:first-child,.homeCardV3Head>:first-child,.homeCardV3Head>[class^=list-wrap]>:first-child,.homeCardV3Head>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV3 .homeCardV3Type--blank .homeCardV3Image:after,
.homeCardV3 .homeCardV3Type--blank:after {
    display: inline-block;
    position: absolute;
    top: 16px;
    right: 16.5px;
    width: 20px;
    height: 20px;
    overflow: hidden;
    background: no-repeat 50%/contain;
    background-image: url(/content/dam/shared/jp/ja/static/images/icon_blank_link_rsp.png);
    text-indent: 100%;
    vertical-align: middle;
    white-space: nowrap;
    /* content: ""; */
}
.homeCardV3 .homeCardV3Type--blank .homeCardV3Image:after{
    top: 0px;
    right: 0px;
    content: "";
}
.homeCardV3 .homeCardV3Type--blank.kurashi .homeCardV3Image:after{
    top: 40px;
    right: -5px;
}

.homeCardV3Image {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.homeCardV3Title {
    position: relative;
    line-height: 1.6
}

.homeCardV4 .homeCardV4Type,.homeCardV4 .homeCardV4Type--blank {
    display: flex;
    position: relative;
    align-items: center;
    width: 100%;
    border-radius: 8px;
    outline: none;
    background-color: #fff;
    color: #333;
    text-align: left;
    text-decoration: none
}

.homeCardV4 .homeCardV4Type--blank:before,.homeCardV4 .homeCardV4Type:before {
    -webkit-transform: translate(-50%,-50%);
    z-index: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    transform: translate(-50%,-50%);
    border: 2px solid #0c6ac9;
    border-radius: 8px;
    background-color: transparent;
    content: "";
    opacity: 0
}

.homeCardV4 .homeCardV4Type--blank:focus:before,.homeCardV4 .homeCardV4Type:focus:before {
    opacity: 1
}

.homeCardV4 {
    display: flex
}

.homeCardV4>:first-child,.homeCardV4>[class^=list-wrap]>:first-child,.homeCardV4>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV4Head {
    flex-shrink: 0;
}

.homeCardV4Head>:first-child,.homeCardV4Head>[class^=list-wrap]>:first-child,.homeCardV4Head>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV4Body {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%
}

.homeCardV4Body>:first-child,.homeCardV4Body>[class^=list-wrap]>:first-child,.homeCardV4Body>section:first-child>:first-child {
    margin-top: 0!important
}

.homeCardV4 .homeCardV4Type--blank:after {
    display: inline-block;
    position: absolute;
    top: 16px;
    right: 16.5px;
    width: 20px;
    height: 20px;
    overflow: hidden;
    background: no-repeat 50%/contain;
    background-image: url(/content/dam/aflac/jp/ja/static/top_images/ren_icon_blank.png);
    text-indent: 100%;
    vertical-align: middle;
    white-space: nowrap;
    content: "";
    will-change: background
}

.homeCardV4Image {
    display: flex;
    align-items: center;
    justify-content: center
}

.homeCardV4Image>img {
    max-height: 64px;
}

.homeCardV3Description {
    line-height: 1.6
}
@media only screen and (max-width: 767px) {
	.homeCardWrapV2 {
        gap: 16px 16px;
    }
	.homeCardV2 {
        width: calc((100% - 16px)/2)
    }
	.homeCardV2 .homeCardV2Type,.homeCardV2 .homeCardV2Type--blank {
        padding: 24px 12px 23px;
        min-height: auto;
	 }
	.homeCardV2Image {
		height: auto;
	}
	.homeCardV2Image>img {
        width: 48px;
        height: 48px
    }
	.homeCardV2Body {
        margin-top: 16px
    }
	.homeCardV2Title {
        font-size: 1.6rem;
        font-size: 16px;
        letter-spacing: .64px
    }
	.homeCardV2Description {
		margin: 9px 0 0;
		font-size: min(1.6vw,1.6rem);
		font-size: 14px;
	}
	.homeCardWrapV3 {
		gap: 16px;
	}
	.homeCardV3,
	.homeCardV4 {
		width: 100%;
	}
	.homeCardV3 .homeCardV3Type,.homeCardV3 .homeCardV3Type--blank {
        padding: 0 24px 16px;
        box-shadow: 0 2px 6px 0 rgba(0,0,0,.16);
		display: block;
    }
	.homeCardV3 .homeCardV3Type--blank.kurashi .homeCardV3Image:after{
	    top: 30px;
	    right: 10px;
	}
    .homeCardV3 {
        margin-top: 16px
    }

    .homeCardV3Head {
        height: 138px;
        width: auto;
        padding: 0px;
    }

    .homeCardV3 .homeCardV3Type--blank .homeCardV3__title:after {
        top: -2px
    }

    .homeCardV3Image {
        height: 118px
    }

    .homeCardV3Image>img {
        -o-object-fit: scale-down;
        -o-object-position: center center;
        width: 100%;
        height: 100%;
        object-fit: scale-down;
        object-position: center center
    }
	.homeCardV3Body {
		padding: 0;
	}
	.homeCardV3Body:after {
		content: none;
	}
    .homeCardV3Title {
        padding-right: 32px;
        font-size: 1.6rem;
        font-size: 16px;
        font-weight: 700
    }
	.homeCardV3Title:after {
        -webkit-transform: translateY(-50%);
        display: inline-block;
        position: absolute;
        top: 50%;
        right: 0;
        width: 24px;
        height: 24px;
        overflow: hidden;
        transform: translateY(-50%);
        background: no-repeat 50%/contain;
        background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_blue_arrow.png);
        text-indent: 100%;
        vertical-align: middle;
        white-space: nowrap;
        content: "";
        transition: all .25s cubic-bezier(.4,0,.2,1) 0s;
        will-change: background-image
    }
	.homeCardV3Description {
		margin: 8px 0 0;
		font-size: 14px;
	}
	.homeCardWrapV4 {
		gap: 16px;
    }
	.homeCardV4 .homeCardV4Type,
	.homeCardV4 .homeCardV4Type--blank {
		padding: 24px 24px 24px 20px;
        box-shadow: 0 2px 6px 0 rgba(0,0,0,.16);
		flex-direction: row;
    }
	.homeCardV4Head {
        width: 40px;
        margin-right: 16px
    }
	.homeCardV4Image {
		height: auto;
	}
	.homeCardV4Body {
		margin: 0;
	}
	.homeCardV4Title {
        /* font-size: 1.6rem; */
        font-size: 16px;
        line-height: 1.6;
        text-align: start;
    }
}
/* .wideBgBlueAreaKeiyakuIndex
----------------------------------------------- */
.wideBgBlueAreaKeiyakuIndex {
	width: 150vw;
	min-width: 1010px;
	margin-left: calc(-1 * (75vw - 50%));
	background-color: #F0F5F9;
}
.wideBgBlueAreaKeiyakuIndex > div {
	width: 1010px;
	margin: 0 auto;
}
@media print, screen and ( max-width: 1009px ) {
	.wideBgBlueAreaKeiyakuIndex {
		margin-left: 0;
	}
	.wideBgBlueAreaKeiyakuIndex > div {
		margin: 0;
	}
}
@media only screen and (max-width: 767px) {
	.wideBgBlueAreaKeiyakuIndex {
		margin-left: -20px;
		padding: 0 20px;
		width: calc(100% + 40px);
		min-width: auto;
	}
	.wideBgBlueAreaKeiyakuIndex > div {
		width: 100%;
	}
}


/* .ulProcedureBtnWrapKeiyakuIndex
----------------------------------------------- */
.ulProcedureBtnWrapKeiyakuIndex {
	display: flex;
	flex-flow: row wrap;
	justify-content: left;
	gap: 36px;
}
.ulProcedureBtnWrapKeiyakuIndex > li {
	width: calc((100% - ( 36px * 2)) / 3);
}
.ulProcedureBtnWrapKeiyakuIndex.service {
	gap: 33px;
}
.ulProcedureBtnWrapKeiyakuIndex.service > li {
	width: calc((100% - ( 33px * 3)) / 4);
}
@media only screen and (max-width: 767px) {
	.ulProcedureBtnWrapKeiyakuIndex {
		gap: 16px;
		width: 100%;
		margin: auto;
	}
	.ulProcedureBtnWrapKeiyakuIndex > li {
		width: 100%;
	}
	.ulProcedureBtnWrapKeiyakuIndex.service {
		gap: 15px;
	}
	.ulProcedureBtnWrapKeiyakuIndex.service > li {
		width: 100%;		
		width: calc((100% - 15px - 20px) / 2);
	}
}
.ulProcedureBtnWrapKeiyakuIndex > li > a {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 0;
	height: 100%;
	padding: 40px 24px;
	padding-bottom: 32px;
	background-color: #ffffff;
	box-shadow: 0px 2px 6px 0px #00000029;
	border-radius: 8px;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #333333;
}
.ulProcedureBtnWrapKeiyakuIndex.flexRow > li > a {
	flex-flow: row;
	padding-top: 32px;
}
.ulProcedureBtnWrapKeiyakuIndex > li > a:hover {
	opacity: 0.7;
}
.ulProcedureBtnWrapKeiyakuIndex > li > a > .txNewKeiyakuIndex {
	position: absolute;
	top: 15px;
	left: 20px;
	font-size: 12px;
	color: #ff0000;
}
.ulProcedureBtnWrapKeiyakuIndex > li > a > figure {
	margin: auto;
	max-width: 64px;
}
.ulProcedureBtnWrapKeiyakuIndex.flexRow > li > a > figure {
	margin: 0 16px 0 0;
}

.ulProcedureBtnWrapKeiyakuIndex > li > a > figure.typeWidthAuto {
	width: auto;
}
.ulProcedureBtnWrapKeiyakuIndex > li > a > figure > img {
	max-width: 64px;
}
.ulProcedureBtnWrapKeiyakuIndex.service > li > a {
	padding: 20px 16px;
	justify-content: center;
}
.ulProcedureBtnWrapKeiyakuIndex.service > li > a > figure {
	margin: 0 auto 20px;
	max-width: max-content;
}
.ulProcedureBtnWrapKeiyakuIndex.service > li > a > figure > img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.ulProcedureBtnWrapKeiyakuIndex.service > li > a > figure.wide {
	width: auto;
	max-width: max-content;
	overflow: hidden;
	display: flex;
	justify-content: center;
	margin-bottom: auto;
}
.ulProcedureBtnWrapKeiyakuIndex.service > li > a > figure.wide > img {
	width: auto;
	max-width: max-content;
}
.ulProcedureBtnWrapKeiyakuIndex > li > a > p {
	width: 100%;
	text-align: center;
}
.ulProcedureBtnWrapKeiyakuIndex.flexRow > li > a > p {
	width: 100%;
	text-align: left;
	font-size: 20px;
}
@media only screen and (max-width: 767px) {
	.ulProcedureBtnWrapKeiyakuIndex > li > a {
		font-size: 14px;
	}
	.ulProcedureBtnWrapKeiyakuIndex.service > li > a {
		padding: 10px;
	}
	.ulProcedureBtnWrapKeiyakuIndex.flexRow > li > a {
		padding: 24px 24px 24px 20px;
	}
	.ulProcedureBtnWrapKeiyakuIndex.flexRow > li > a > p {
		font-size: 16px;
	}
	.ulProcedureBtnWrapKeiyakuIndex > li > a > figure > img {
		max-width: 40px;
	}
}

/* .acBtnRspKeiyakuIdx
----------------------------------------------- */
.acBtnRspKeiyakuIdx {
	text-align: center;
}
.acBtnRspKeiyakuIdx > a {
	position: relative;
	display: inline-block;
	padding-right: 21px;
	text-decoration: none;
	font-size: 129%;
	font-size: 18px;
	font-weight: bold;
	color: #00A5D9;
}
.acBtnRspKeiyakuIdx > a:not(a.open):before,
.acBtnRspKeiyakuIdx > a.open:after {
	content: "";
	position: absolute;
	display: block;
	overflow: hidden;
	background: no-repeat 50%/contain;
	background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_blue_arrow.png);
	text-indent: 100%;
	vertical-align: middle;
	white-space: nowrap;
	top: 0.1em;
	width: 20px;
	height: 20px;
	transform: rotate(90deg);
	right: -10px;
	transition: all 0.3s ease;
}
.acBtnRspKeiyakuIdx > a.open:after {
	transform: rotate(-90deg);
}
.acBtnRspKeiyakuIdx > a.open > span:first-child {
	display: none;
}
.acBtnRspKeiyakuIdx > a:not(a.open) > span:last-child {
	display: none;
}

/* .linkList
----------------------------------------------- */
.txBlueImportantRspCommon.linkList{
	font-size: 16px;
}
.txBlueImportantRspCommon.linkList::after {
    content: "";
    display: inline-block;
    position: relative;
    overflow: hidden;
    background: no-repeat 50%/contain;
    background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_blue_arrow.png);
    text-indent: 100%;
    vertical-align: middle;
    white-space: nowrap;
    top: -2px;
	width: 20px;
    height: 20px;
	margin-left: 6px
}

/* .topDateListKeiyakuIndex
----------------------------------------------- */
ul.ulLinkList.topDateListKeiyakuIndex > li {
	border-top: solid 1px #D9D9D9;
	background-image: url(/content/dam/aflac/jp/ja/static/keiyaku/images/icon_gray_arrow.png);
	background-repeat: no-repeat;
	background-size: 24px;
	background-position: top 50% right 20px;
	margin: 0;
}
ul.ulLinkList.topDateListKeiyakuIndex > li:last-of-type {
	border-bottom: solid 1px #D9D9D9;
}
ul > li > ul.ulLinkList.topDateListKeiyakuIndex > li:first-of-type {
	border-top: none
}
.topDateListKeiyakuIndex > li > a {
	display: block;
	padding: 16px 48px 16px 24px;
	color: #333333;
	font-size: 16px;
	font-weight: 500;
}
@media only screen and (max-width: 767px) {
	ul.ulLinkList.topDateListKeiyakuIndex > li {
		background-size: 16px;
	}
}

/* .borderBoxKeiyakuIndex
----------------------------------------------- */
.borderBoxKeiyakuIndex.yorisounet {
	border-radius: 8px;
	padding: 50px 30px;
    box-shadow: 0 2px 6px 0 rgba(0,0,0,.16)
}
.borderBoxKeiyakuIndex.inquiryAreaKeiyakuIndex {
	display: flex;
	padding: 40px 50px;
}
.borderBoxKeiyakuIndex.inquiryAreaKeiyakuIndex > div:nth-child(1) {
	width: 50%;
	padding-right: 60px;
	border-right: solid 1px #d9d9d9;
}
.borderBoxKeiyakuIndex.inquiryAreaKeiyakuIndex > div:nth-child(2) {
	width: 50%;
	padding-left: 60px;
}
@media only screen and (max-width: 767px) {
	.borderBoxKeiyakuIndex.wide {
		margin: auto -20px;
	}
}

/* .yorisounetLogoTxAreaKeiyakuIndex
----------------------------------------------- */
.yorisounetLogoTxAreaKeiyakuIndex {
	display: flex;
	gap: 35px;
}
.yorisounetLogoTxAreaKeiyakuIndex > figure {
	width: 100%;
	max-width: 100px;
}
.yorisounetLogoTxAreaKeiyakuIndex > figure img{
	width: 100%;
}
.yorisounetLogoTxAreaKeiyakuIndex > p {
	width: 100%;
	font-size: 16px;
}
@media only screen and (max-width: 767px) {
	.borderBoxKeiyakuIndex.yorisounet {
		border-radius: 8px;
		padding: 80px 0 0;
	    box-shadow: none;
	}
	.yorisounet .h2KeiyakuIndex {
		font-size: 22px;
		padding: 0;
	}
	.yorisounetLogoTxAreaKeiyakuIndex > figure {
		max-width: 88px;
	}
	.yorisounetLogoTxAreaKeiyakuIndex {
		gap: 15px;
		word-break: break-word;
		justify-content: space-between;
	}
}

/* .downloadLinkAreaKeiyakuIndex
----------------------------------------------- */
.downloadLinkAreaKeiyakuIndex {
	display: flex;
	align-items: end;
}
.downloadLinkAreaKeiyakuIndex .txNormalKeiyakuIndex {
	font-size: 20px;
}
.downloadLinkAreaKeiyakuIndex > div:nth-child(1) {
	padding-right: 40px;
	width: calc(950px*0.57);
}
.downloadLinkAreaKeiyakuIndex > div:nth-child(2) {
	padding: 20px 0 20px 40px;
	border-left: solid 1px #707070;
	width: calc(950px*0.43);
}
.appriStoreLinkWrapKeiyakuIndex {
	display: flex;
	margin-bottom: 15px;
}
.appriStoreLinkWrapKeiyakuIndex > li > a:hover {
	opacity: 0.7;
}
@media only screen and (max-width: 767px) {
	.downloadLinkAreaKeiyakuIndex > div:nth-child(1) {
		width: 100%;
		padding: 20px 0;
	}
	.appriStoreLinkWrapKeiyakuIndex {
		justify-content: center;
	}
}

/* .qrcodeTxAreaKeiyakuIndex
----------------------------------------------- */
.qrcodeTxAreaKeiyakuIndex {
	display: flex;
	margin-bottom: 15px;
}
.qrcodeTxAreaKeiyakuIndex > figure img {
	width: 100px;
	max-width: 100px;
}
.qrcodeTxAreaKeiyakuIndex > p {
	width: calc(100% - 75px);
	padding-left: 10px;
	font-size: 16px;
}
