@charset "utf-8";

/*----------------------------------------------------------
▼ TOP・商品一覧　共通パーツ
----------------------------------------------------------*/
/*---------- tag ----------*/
.tag_wrap {
    position: absolute;
    top: 0;
}
.tag-iryo {
    font-weight: bold;
    font-size: 24px;
    line-height: 125%;
    text-align: center;
    padding: 5px 20px;
    border-radius: 0 0 5px 5px;
    background: #F19956;
    color: #FFFFFF;
    display: inline-block;
    position: relative;
}
.tag-iryo::before {
    position: absolute;
    content: '';
    right: -14px;
    bottom: 2px;
    border: none;
    border-left: solid 15px #F19956;
    border-bottom: solid 38px transparent;
}
.tag-shibo {
    font-weight: bold;
    font-size: 24px;
    line-height: 125%;
    text-align: center;
    padding: 5px 20px;
    border-radius: 0 0 5px 5px;
    background: #ACCB29;
    color: #FFFFFF;
    display: inline-block;
    position: relative;
}
.tag-shibo::before {
    position: absolute;
    content: '';
    right: -14px;
    bottom: 2px;
    border: none;
    border-left: solid 15px #ACCB29;
    border-bottom: solid 38px transparent;
}
/* sp */
@media (max-width: 767px) {
    .tag-syukeiyaku,
    .tag-tokuyaku {
        font-size: 20px;
        line-height: 150%;
    }
}

/*---------- card ----------*/
.iryo-hoken {
    background: #F9F7EE;
    box-shadow: inset 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 55px 0 30px;
    position: relative;
}
.title-kanwa {
    font-weight: bold;
    font-size: 24px;
    color: #555555;
    line-height: 125%;
    padding: 30px 0 15px;
}
.title-kanwa span.orange {
    color: #EB6112;
}
.shibo-hoken {
    background: #FAFFEE;
    box-shadow: inset 0px -4px 4px rgba(0, 0, 0, 0.15), inset 0px 4px 4px rgba(0, 0, 0, 0.15);
    padding: 55px 0 30px;
    position: relative;
}
.product-list {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}
.product-list.product-list_multi {
    justify-content: space-between;
    flex-wrap: wrap;
}
.product-list li.card {
    width: calc(50% - 10px);
    margin-right: 10px;
    margin-bottom: 10px;
    padding: 20px;
}
.product-list li.card:nth-child(even) {
    margin-right: 0;
}
/* 以下のCSSは2行目の商品カードのNewアイコンを表示する場合使用する */
/* .product-list li.card:has(.new_pic) {
    margin-top: 25px;
} */
/*  お花のNewアイコン */
.product-list li.new {
    position: relative;
}
.product-list li.new::before {
    position: absolute;
    content: "";
    background: url("/img/direct/common/ico_new.svg") no-repeat;
    background-size: cover;
    display: block;
    width: 64px;
    height: 62px;
    top: -46px;
    right: -33px;
}

.product-list li .upper {
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding-bottom: 15px;
    border-bottom: 1px solid #CCCCCC;
    height: 118px;
}
.product-list li .upper .logo_wrap {
    -webkit-box-flex:1;
	-ms-flex-positive:1;
	flex-grow:1;
}
.product-list li .upper img {
    width: 100%;
}
.product-list li .upper .icon-list {
    margin-left: 15px;
}
.product-list li .upper .icon-list li {
    width: 90px;
    padding: 5px;
    text-align: center;
    font-weight: bold;
    font-size: 15px;
    line-height: 125%;
    margin-bottom: 5px;
}
.product-list li .upper .icon-list li:last-of-type {
    margin-bottom: 0;
}
.product-list li .upper .icon-list li.blue {
    border: 1px solid #00AAFF;
    color: #00AAFF;
}
.product-list li .upper .icon-list li.green {
    border: 1px solid #00AA00;
    color: #00AA00;
}
.product-list li .upper .icon-list li.orange {
    border: 1px solid #FF6600;
    color: #FF6600;
}
.product-list li .text {
    height: 50px;
    margin: 15px 0 10px;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.005em;
}

.product-list li .btn_wrap {
    width: 100%;
    padding: 0 30px;
}
.product-list li .btn_wrap .btn-red {
    width: 100%;
    padding: 15px 80px 15px 55px;
}

/* PC */
@media (min-width: 768px) {
    .product-list li:hover.new::before {
        top: -47px;
        right: -34px;
    }
    .product-list li .upper .icon-list li span.pcOnly {
        display: inline;
    }
}
/* TAB */
@media screen and (max-width: 990px) and (min-width: 768px) {
    .product-list li.new::before {
        width: 62px;
        height: 60px;
        top: -32px;
        right: -40px;
    }
    .product-list li:hover.new::before {
        top: -33px;
        right: -41px;
    }
}
/* sp */
@media (max-width: 767px) {
    .title-kanwa {
        font-size: 18px;
        padding-left: 15px;
    }
    .small_mark {
        top: -31px;
        left: -21px;
    }
    .product-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .product-list li.card {
        width: 100%;
        padding: 15px;
        margin-right: 0;
    }
    .product-list li.card:last-of-type {
        margin-bottom: 0;
    }
    .product-list li.card:has(.new_pic) {
        margin-top: 15px;
    }

    .product-list li .upper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: auto;
        padding-bottom: 10px;
    }
    .product-list li .upper .icon-list {
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        margin-left: 0;
        margin-top: 15px;
    }
    .product-list li .upper .icon-list li {
        font-size: 15px;
        width: auto;
        height: 30px;
        margin-right: 10px;
        margin-bottom: 0;
    }
    .product-list li .upper .icon-list li:last-of-type {
        margin-right: 0;
    }
    .product-list li.new::before {
        width: 62px;
        height: 60px;
        top: -10px;
        right: -15px;
    }
    .product-list li .text {
        font-size: 14px;
        height: auto;
        margin: 0;
        padding: 10px 0 15px;
    }
    .product-list li .btn_wrap {
        padding: 0;
    }
    .product-list li .btn-red  {
        padding: 10px 60px 10px 50px;
    }
}

/*----------------------------------------------------------
▼ 商品一覧　特有
----------------------------------------------------------*/
#product-list h3 {
    margin-bottom: 20px;
}
/*---------- card調整 ----------*/
#product-list .product-list li.card {
    pointer-events : none;
    padding-bottom: 30px;
}
#product-list .product-list li.card .btn_wrap {
    padding-bottom  : 20px;
}
#product-list .product-list li.card .btn-red  {
    pointer-events : auto;
}
/* PC */
@media (min-width: 768px) {
    #product-list .product-list li.card:hover {
        border: 2px solid #FF4433;
        padding: 19px 19px 29px 19px;
    }
    #product-list .product-list li.card:hover.new::before {
        top: -47px;
        right: -34px;
    }
}
/* TAB */
@media screen and (max-width: 990px) and (min-width: 768px) {
    #product-list .product-list li.card.new::before {
        width: 62px;
        height: 60px;
        top: -32px;
        right: -40px;
    }
    #product-list .product-list li.card:hover.new::before {
        top: -33px;
        right: -41px;
    }
}
/* sp */
@media (max-width: 767px) {
    #product-list h3 {
        margin-bottom: 15px;
    }
    #product-list .product-list li.card {
        padding-bottom: 30px;
    }
    #product-list .product-list li.card .btn_wrap {
        padding-bottom  : 15px;
    }
}

/*---------- 以下商品一覧のみの部分 ----------*/
.shouhin-card-foot {
    border-top: 1px solid #CCCCCC;
    padding-top: 15px;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
}
.shouhin-card-foot .btn {
    width: 50%;
    font-weight: bold;
    font-size: 18px;
    line-height: 125%;
    margin-right: 15px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    text-align: center;
    position: relative;
    pointer-events : auto;
}
.shouhin-card-foot .btn:last-of-type {
    margin-right: 0;
}

.shouhin-card-foot .btn::after {
    position: absolute;
    display: block;
    content: '';
    background: url(/img/direct/common/ico_arrow05.png) no-repeat;
    background-size: contain;
    height: 13px;
    width: 7px;
    top: 40%;
    right: 20px;
}
.shouhin-card-foot .btn a {
    display: block;
    width: 100%;
    color: #FFFFFF;
    padding: 10px 0;
}
.shouhin-card-foot .btn:hover a {
    padding: 8px 0;
}
.seikyu-gray {
    background: #CCCCCC;
    color: #FFFFFF;
    padding: 10px 0;
}
.seikyu-orange {
    background: #FF9900;
}
.seikyu-green:hover {
    background: #FFFFFF;
    border: 2px solid #99CC00;
}
.seikyu-green {
    background: #99CC00;
}
.seikyu-green:hover a {
    color: #99CC00;
}
.seikyu-orange:hover {
    background: #FFFFFF;
    border: 2px solid #FF9900;
}
.seikyu-orange:hover a {
    color: #FF9900;
}
.seikyu-green:hover::after {
    background: url(/img/direct/common/ico_arrow07.png) no-repeat;
    background-size: contain;
    height: 13px;
    width: 7px;
    top: 40%;
    right: 18px;
}
.seikyu-orange:hover::after {
    background: url(/img/direct/common/ico_arrow08.png) no-repeat;
    background-size: contain;
    height: 13px;
    width: 7px;
    top: 40%;
    right: 18px;
}

.foot-mousikomi {
    text-align: right;
    margin-top: 30px;
}
.foot-mousikomi p {
    font-size: 15px;
    line-height: 125%;
    display: inline-block;
    position: relative;
}
.foot-mousikomi p::before {
    position: absolute;
    display: block;
    content: '';
    background: url(/img/direct/character/hanna_01.svg) no-repeat;
    background-size: contain;
    height: 50px;
    width: 50px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: -25%;
}
.foot-mousikomi p a {
    position: relative;
    padding-left: 30px;
    padding-right: 30px;
    pointer-events : auto;
}
.foot-mousikomi p a::before {
    position: absolute;
    display: block;
    content: '';
    background: url(/img/direct/common/ico_request_info.png) no-repeat;
    background-size: contain;
    height: 20px;
    width: 20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    left: 0;
}
.foot-mousikomi p a::after {
    position: absolute;
    display: block;
    content: '';
    background: url(/img/direct/common/ico_arrow03.svg) no-repeat;
    background-size: contain;
    height: 10px;
    width: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 0;
}

/* sp */
@media (max-width: 767px) {
    .shouhin-card-foot .btn {
        font-size: 16px;
        line-height: 150%;
    }
    .seikyu-green::after,
    .seikyu-gray::after,
    .seikyu-orange::after {
        right: 10px;
    }
    .foot-mousikomi {
        margin-top: 25px;
    }
    .foot-mousikomi p {
        display: block;
    }
    .foot-mousikomi p::before {
        left: 0;
    }
}
/*----------------------------------------------------------
▼ 注釈エリア
----------------------------------------------------------*/
.top_annotation_wrap {
    margin-top: 5px;
}
.top_annotation_wrap ul li {
    font-size: 14px;
    line-height: 150%;
    text-align: justify;
    padding-left: 1.5em;
    text-indent: -1.5em;
}
.top_annotation_wrap ul li::before {
    content: "※";
    font-size: 14px;
    vertical-align: top;
    padding-right: 5px;
}
/* Tablet */
@media (max-width: 767px) {
    .top_annotation_wrap {
        margin-top: 10px;
    }
}
/* SP */
@media (max-width: 639px) {
    .top_annotation_wrap ul li {
        font-size: 12px;
    }
}

/*----------------------------------------------------------
▼ 少額短期保険エリア
----------------------------------------------------------*/
.shotan {
    background: #EAF4F9;
    box-shadow: inset 0px -4px 4px rgba(0, 0, 0, 0.15), inset 0px 4px 4px rgba(0, 0, 0, 0.15);
    padding: 55px 0 30px;
    position: relative;
}
.title-shotan {
    font-weight: bold;
    font-size: 24px;
    color: #555555;
    line-height: 125%;
    padding: 0 0 15px;
}
.tag-shotan {
    font-weight: bold;
    font-size: 24px;
    line-height: 125%;
    text-align: center;
    padding: 5px 20px;
    border-radius: 0 0 5px 5px;
    background: #0B9FB4;
    color: #FFFFFF;
    display: inline-block;
    position: relative;
}
.tag-shotan::before {
    position: absolute;
    content: '';
    right: -14px;
    bottom: 2px;
    border: none;
    border-left: solid 15px #0B9FB4;
    border-bottom: solid 38px transparent;
}
.shotan .product-list li:hover .btn_wrap .btn-red::after {
    background: url(/img/info/icon_newwindow_on.svg) no-repeat;
    top: 20px;
}
.shotan .product-list li .btn_wrap .btn-red {
    padding: 10px 50px 10px 50px;
}
.shotan .btn-red::after {
    background: url(/img/info/icon_newwindow.svg) no-repeat;
    top: 20px;
}
.shotan .product-list li:hover .btn_wrap .btn-red:hover::after {
    background: url(/img/info/icon_newwindow_on.svg) no-repeat;
}
#product-list .shotan .product-list li.card {
    pointer-events : none;
    padding-bottom: 20px;
}
#product-list .shotan .product-list li.card .btn_wrap {
    padding-bottom: unset;
}
#product-list .shotan .product-list li.card:hover {
    border: 2px solid #FF4433;
    padding: 19px;
}

/* 基本的にはL189が適用される。以下のメディアクエリは以下の画面サイズの時UIの崩れを直すために作成している */
@media (min-width: 768px) and (max-width: 862px) { 
    .shotan .product-list li .text {
        height: 75px;
        margin: 15px 0 10px;
        font-size: 16px;
        line-height: 150%;
        letter-spacing: 0.005em;
    }
    .shotan .product-list li .btn_wrap .btn-red {
        width: 100%;
        padding: 6px 50px 6px 50px;
    }
}

/* SP */
@media (max-width: 767px) {
    .title-shotan {
        font-size: 18px;
        padding-left: 15px;
    }
    .shotan .product-list li:hover .btn_wrap .btn-red::after {
        background: url(/img/info/icon_newwindow.svg) no-repeat;
        top: 15px;
    }.shotan .btn-red::after {
        background: url(/img/info/icon_newwindow.svg) no-repeat;
        top: 15px;
    }
    #product-list .shotan .product-list li.card {
        padding-bottom: 15px;
    }
    #product-list .shotan .product-list li.card:hover {
        padding: 14px;
    }
}