@charset "utf-8";

/*----------------------------------------------------------------------
種類・年齢・比較ボタン
------------------------------------------------------------------------*/
.select_area {
    width: 948px;
    margin-bottom: 30px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.select_area table {
    border-collapse: collapse;
    border-spacing: 0;
}

.select_area td {
    padding: 0;
    height: 0;
}

.searchArea .search #dynatable-type,
.searchArea .search #dynatable-age {
    height: 82px;
    margin: 0 auto;
    background: #ffeeee;
    border: 2px solid #ff9191;
    border-radius: 10px;
}

.searchArea .types {
    width: 300px;
}

.searchArea .search #dynatable-type {
    width: 300px;
}

.searchArea .search #dynatable-age {
    width: 110px;
}

.select_area .search_button {
    width: 513px;
}

.select_area .search_button a.hikaku-serch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
}

/*----------------------------------------------------------------------
比較表タブ切り替え部分(ベース高齢ページ kourei.html)
------------------------------------------------------------------------*/
/*比較表タブ全体*/
.hikakuTable_container {
    margin-top: 50px;
    padding-bottom: 10px;
    background-color: #fff;
    width: 948px;
    margin: 0 auto;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.hikakuTable_container p {
    line-height: 1.7 !important;
}

/*タブ(ボタン)のスタイル*/
.tab_item {
    display: inline-block;
    width: 40%;
    height: 50px;
    margin: 0 0 40px;
    padding: 12px 0 2px;
    background-color: #fff3f3;
    border: 2px solid #fff;
    border-radius: 10px;
    font-size: 24px;
    color: #ff9191;
    cursor: pointer;
    letter-spacing: 1px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.hikakuTable_container .tab_icon {
    display: inline-block;
    margin-right: 15px;
    vertical-align: middle;
}

.hikakuTable_container .tab_item:first-of-type {
    margin-right: 20px;
}

.tab_item:hover {
    opacity: .8;
}

/*ラジオボタンを全て消す*/
input[name="hikaku_tab"] {
    display: none;
}

/*比較表中身を非表示*/
.hikaku_tabpanels .tab_panel {
    display: none;
}

/*選択されているタブのコンテンツのみを表示*/
.hikakuTable_container>input:first-child:checked~.hikaku_tabpanels>.tab_panel:first-child,
.hikakuTable_container>input:nth-child(3):checked~.hikaku_tabpanels>.tab_panel:nth-child(2),
.hikakuTable_container>input:nth-child(5):checked~.hikaku_tabpanels>.tab_panel:nth-child(3),
.hikakuTable_container>input:nth-child(7):checked~.hikaku_tabpanels>.tab_panel:nth-child(4),
.hikakuTable_container>input:nth-child(9):checked~.hikaku_tabpanels>.tab_panel:nth-child(5),
.hikakuTable_container>input:nth-child(11):checked~.hikaku_tabpanels>.tab_panel:nth-child(6) {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.hikakuTable_container input:checked+.tab_item {
    background-color: #fff;
    border: 2px solid #ff3737;
    border-radius: 10px;
    color: #ff3737;
}

/*----------------------------------------------------------------------
比較表 中身(ベース高齢ページ kourei.html)
------------------------------------------------------------------------*/
.hikakuTable_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: auto;
    font-family: "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-size: 14px;
    line-height: 1.4;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.hikakuTable_list a {
    color: #fff !important;
}


/*各会社部分*/
.hikakuTable_list>.item {
    padding: 20px 12px;
    border-left: 1px solid #d2d2d2;
}

/*5社の場合*/
.hikakuTable_list.company5>.item {
    width: 20%;
}

/*4社の場合*/
.hikakuTable_list.company4>.item {
    width: 25%;
}


.hikakuTable_list>.item:last-child {
    border-right: 1px solid #d2d2d2;
}

.company_name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 25px;
    padding: 0 0 8px;
    font-size: 12px;
    line-height: 1.2;
}

.company_logo {
    width: 160px;
    margin: auto;
}

.company_logo img {
    border: 1px solid #d2d2d2;
    border-radius: 10px;
}

.detail_list.sub_list {
    border-bottom: none;
}

.detail_list.sub_list>li {
    padding: 10px 0 18px;
}

.detail_list .headline {
    margin-bottom: 12px;
    padding: 6px 0;
    border-radius: 15px;
    background: #eee;
}

.headline img {
    display: inline-block;
    vertical-align: middle;
    margin-right: -15px;
    padding-left: 5px;
}

.detail_list .text_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 10px;
}

.detail_list .maximum_age .text_wrap {
    display: block;
}

.detail_list .text {
    width: 100%;
    margin-bottom: 0;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, Helvetica, sans-serif;
}

.detail_list .text_wrap span {
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
}

.detail_list .sub_text {
    display: block;
    font-size: 10px;
}

/*新規加入の注意喚起*/
.note {
    font-size: 10px;
    height: 40px;
}

/*TOPランキング表に影響出るため追記*/
.rankTable td.td03 .note {
    height: auto;
}

.filtter {
    background-color: #cccccc;
    opacity: 0.8;
}

.senior {
    font-size: 13px;
    height: 40px;
}

.senior a {
    color: #ff0000 !important;
}

.compensation_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.compensation_inner li {
    width: 30%;
    padding: 5px 0;
}

.compensation_inner p {
    padding: 4px 0;
    border-radius: 2px;
}

/*通院*/
.compensation_inner>.visit p,
.visit>.headline {
    background: #fff9c5;
}

/*入院*/
.compensation_inner>.hospitalization p,
.hospitalization>.headline {
    background: #ffe3f7;
}

/*手術*/
.compensation_inner>.surgery p,
.surgery>.headline {
    background: #e1fece;
}

.sub_list>.visit,
.sub_list>.hospitalization,
.sub_list>.surgery {
    height: 128px;
}

.detail_list>.plan,
.detail_list>.price,
.upper .net_app,
.compensation_inner {
    border-bottom: 1px solid #d2d2d2;
}

.detail_list>.plan {
    padding: 4px 0 6px;
}

.detail_list>.price {
    padding: 8px 0;
}

.price>span {
    display: inline-block;
    padding-left: 4px;
    font-size: 20px;
    font-weight: bold;
    color: #ff0000;
}

.upper .net_app {
    margin-bottom: 6px;
    padding-bottom: 4px;
}


/* 通院入院手術 補償ありなし(○×) */
.ok,
.no {
    display: inline-block;
    padding: 10px 0 4px;
}

/*補償割合 円グラフ*/
.pie_chart {
    height: 60px;
    color: #ff0000;
}

.pie_chart.val30:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/30.png);
    background-size: cover;
    vertical-align: middle;
}

.pie_chart.val50:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/50.png);
    background-size: cover;
    vertical-align: middle;
}

.pie_chart.val60:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/60.png);
    background-size: cover;
    vertical-align: middle;
}

.pie_chart.val70:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/70.png);
    background-size: cover;
    vertical-align: middle;
}

.pie_chart.val80:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/80.png);
    background-size: cover;
    vertical-align: middle;
}

.pie_chart.val90:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/90.png);
    background-size: cover;
    vertical-align: middle;
}

.pie_chart.val100:before {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin: 0 10px 0 30px;
    background-image: url(../../common/images/comp_table/100.png);
    background-size: cover;
    vertical-align: middle;
}


.pie_chart>.sub_text {
    padding-top: 8px;
    color: #333;
}

/*年間最高補償額*/
#second_tab70 .limit {
    height: 70px;
}

/*免責*/

.sub_list>.exemption {
    height: 200px;
}

/*健康診断の受診*/
#second_tab70 .checkup {
    height: 120px;
}

/*お支払い方法*/
.payment {
    height: 180px;
}

.payment .text {
    text-align: left;
}

/*申込・資料請求ボタン*/
.cv_button {
    padding: 8px 0;
}

.cv_button a,
.company_detail a {
    display: block;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
}

/*見積もり・申込ボタン*/
.order_button {
    margin-bottom: 8px;
    background: #ff0100;
}

/*資料請求ボタン*/
.request_button {
    background: #0196CD;
}

/*資料請求(ない会社用)ボタン*/
.request_button.none {
    pointer-events: none;
    background: #d2d2d2;
}

.order_button,
.request_button {
    padding: 10px 0;
}

/*会社詳細ページボタン*/
.company_button {
    padding: 8px 0;
    background: #ff6800;
    color: #fff;
}

.hikakuTable_container .note {
    font-size: 10px;
}

.hikakuTable_container .red {
    font-weight: bold;
}

.limit .red {
    letter-spacing: 1px;
}

.detail_list .web,
.detail_list .data_request {
    display: block;
    width: 50%;
    margin: 0 auto 4px;
    background: #ffc975;
    font-size: 14px;
    color: #fff;
}

.detail_list .data_request {
    margin-top: 10px;
    background: #b2e180;
}

.detail_list .sub_text.red {
    color: #ff0000;
    font-weight: normal;
}

.maximum_age .sub_text {
    line-height: 1.2;
}

/*新規加入の注意喚起*/
.note {
    font-size: 10px;
    height: 40px;
}

.filtter {
    background-color: #cccccc;
    opacity: 0.8;
}

.senior {
    font-size: 13px;
    height: 40px;
}

/*----------------------------------------------------------------------
hikaku04
------------------------------------------------------------------------*/
.hikaku04_mv {
    margin-top: 40px;
}

.hikaku04_table .pie_chart {
    height: 40px;
}

.hikaku04_table .multi_discount {
    height: 130px;
}

.hikaku04_table .visit,
.hikaku04_table .hospitalization,
.hikaku04_table .surgery {
    height: 148px;
}

.hikaku04_table .text.net_app,
.hikaku04_table .text.request {
    height: 100px;
}

/*----------------------------------------------------------------------
TOP inuhoken nekohoken
------------------------------------------------------------------------*/
.inu .select_area,
.neko .select_area {
    width: 1035px;
}

.inu .searchArea .search #dynatable-type,
.neko .searchArea .search #dynatable-type {
    width: 335px;
}

.inu .searchArea .search #dynatable-age,
.neko .searchArea .search #dynatable-age {
    width: 120px;
}

.top .hikakuTable_container,
.inu .hikakuTable_container,
.neko .hikakuTable_container {
    position: relative;
}

/*タブ(ボタン)のスタイル*/
.top .hikakuTable_container .tab_item:first-of-type,
.inu .hikakuTable_container .tab_item:first-of-type,
.neko .hikakuTable_container .tab_item:first-of-type {
    margin-right: 0;
}

.top .tab_item,
.inu .tab_item,
.neko .tab_item {
    width: 32.444%;
    margin: 0px 0 20px;
    padding: 22px 0 12px;
    background-color: #faf6f6;
    border: none;
    font-size: 16px;
    color: #a9a9a9;
}

.top .hikakuTable_container .tab_item:not(:last-of-type),
.inu .hikakuTable_container .tab_item:not(:last-of-type),
.neko .hikakuTable_container .tab_item:not(:last-of-type) {
    margin-right: 8px;
}

.top .tab_item span,
.inu .tab_item span,
.neko .tab_item span {
    font-size: 24px;
}

.top .hikakuTable_container .tab_icon,
.inu .hikakuTable_container .tab_icon,
.neko .hikakuTable_container .tab_icon {
    margin-right: 10px;
    vertical-align: bottom;
}

/*選択されているタブのスタイルを変える*/
.top .hikakuTable_container input:checked+.tab_item,
.inu .hikakuTable_container input:checked+.tab_item,
.neko .hikakuTable_container input:checked+.tab_item {
    background-color: #ffe1e1;
    border: none;
    color: #ff4873;
}

.top .hikakuTable_list,
.inu .hikakuTable_list,
.neko .hikakuTable_list {
    white-space: nowrap;
}

.top .hikakuTable_list>.item,
.inu .hikakuTable_list>.item,
.neko .hikakuTable_list>.item {
    width: 10%;
    margin: auto;
    padding: 10px 6px;
    letter-spacing: -1px;
}

.top .company_logo,
.inu .company_logo,
.neko .company_logo {
    width: 101px;
}

.top .scroll_btn,
.inu .scroll_btn,
.neko .scroll_btn {
    width: auto;
    height: auto;
    cursor: pointer;
}

.top .scroll_l,
.inu .scroll_l,
.neko .scroll_l {
    margin-left: -90px;
}

.top .scroll_r,
.inu .scroll_r,
.neko .scroll_r {
    margin-left: 1060px;
}

.top .detail_list.sub_list>li,
.inu .detail_list.sub_list>li,
.neko .detail_list.sub_list>li {
    padding: 4px 0 16px;
}

.top .detail_list .text a,
.inu .detail_list .text a,
.neko .detail_list .text a {
    color: #1c8cff !important;
    text-decoration: underline;
}

.top .detail_list .text,
.inu .detail_list .text,
.neko .detail_list .text {
    margin-bottom: 10px;
}

.top .detail_list .text_wrap span.sub_text,
.inu .detail_list .text_wrap span.sub_text,
.neko .detail_list .text_wrap span.sub_text {
    font-weight: normal;
}

.top .sub_list>.visit,
.inu .sub_list>.visit,
.neko .sub_list>.visit,
.top .sub_list>.hospitalization,
.top .sub_list>.surgery,
.inu .sub_list>.hospitalization,
.inu .sub_list>.surgery,
.neko .sub_list>.hospitalization,
.neko .sub_list>.surgery {
    height: 200px;
}

.top .detail_list .text_wrap span,
.inu .detail_list .text_wrap span,
.neko .detail_list .text_wrap span {
    margin: 0;
}

.top .detail_list>.plan,
.top .detail_list>.price,
.top .upper .net_app,
.inu .detail_list>.plan,
.inu .detail_list>.price,
.inu .upper .net_app,
.neko .detail_list>.plan,
.neko .detail_list>.price,
.neko .upper .net_app {
    border-bottom: none;
}

.top .detail_list>.plan,
.inu .detail_list>.plan,
.neko .detail_list>.plan {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
}

.top .price,
.inu .price,
.neko .price {
    padding: 0;
}

.top .headline,
.inu .headline,
.neko .headline {
    position: relative;
    padding: 2px 0;
}

.top .detail_list .text_wrap,
.inu .detail_list .text_wrap,
.neko .detail_list .text_wrap {
    display: block;
}

.top .pie_chart.val50:before,
.top .pie_chart.val60:before,
.top .pie_chart.val70:before,
.top .pie_chart.val80:before,
.top .pie_chart.val90:before,
.top .pie_chart.val100:before {
    display: block;
}

.inu .pie_chart.val50:before,
.inu .pie_chart.val60:before,
.inu .pie_chart.val70:before,
.inu .pie_chart.val80:before,
.inu .pie_chart.val90:before,
.inu .pie_chart.val100:before {
    display: block;
}

.neko .pie_chart.val50:before,
.neko .pie_chart.val60:before,
.neko .pie_chart.val70:before,
.neko .pie_chart.val80:before,
.neko .pie_chart.val90:before,
.neko .pie_chart.val100:before {
    display: block;
}

.top .special_contract,
.inu .special_contract,
.neko .special_contract {
    height: 130px;
}

.top .discount,
.inu .discount,
.neko .discount {
    height: 140px;
}

.top .joining_age .text,
.top .maximum_age .text,
.inu .joining_age .text,
.inu .maximum_age .text,
.neko .joining_age .text,
.neko .maximum_age .text {
    font-size: 12px;
}

.top .joining_age,
.inu .joining_age,
.neko .joining_age {
    height: 200px;
}

.top .maximum_age,
.inu .maximum_age,
.neko .maximum_age {
    height: 200px;
}

.price .sub_text {
    font-size: 10px;
}

.top .order_button,
.inu .order_button,
.neko .order_button {
    padding: 4px 0;
}

.top .company_detail,
.inu .company_detail,
.neko .company_detail {
    display: table;
    width: 100%;
}

.top .company_button,
.inu .company_button,
.neko .company_button {
    display: table-cell;
    height: 58px;
    font-size: 12px;
    vertical-align: middle;
}


/*----------------------------------------------------------------------	
他も？	
------------------------------------------------------------------------*/
.company_logo {
    width: 100%;
    margin: auto;
}

.company4 .company_logo {
    width: 64%;
}

.company_logo img {
    width: 100%;
}

.hikakuTable_container {
    width: 1035px;
}

.hikakuTable_list {
    justify-content: flex-start;
    background: #fff;
}

/*----------------------------------------------------------------------	
madoguchi	
------------------------------------------------------------------------*/
.madoguchi .hikaku_tabpanels .tab_panel {
    display: block;
}

.madoguchi .hikakuTable_inner {
    overflow: auto !important;
}

.madoguchi .hikakuTable_list .item {
    width: 16.666%;
    padding: 20px 6px;
    box-sizing: border-box;
}

.madoguchi .detail_list .text {
    letter-spacing: -1px;
}

.madoguchi .company_logo {
    width: 140px;
}

.madoguchi .detail_list>.price,
.madoguchi .detail_list>.plan {
    border: none;
}

.madoguchi .detail_list.sub_list>li {
    padding: 10px 0 10px;
}

.madoguchi .pie_chart {
    height: auto;
}

.madoguchi .company_logo img {
    width: 140px;
}

.madoguchi .card {
    height: 110px;
}

.madoguchi .card img {
    width: 100%;
}

.madoguchi .plan_img {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
}

.madoguchi .discount {
    height: 90px;
}

.madoguchi .maximum_age {
    height: 90px;
}

.madoguchi .dyna_note {
    text-align: center;
}

.madoguchi .detail_list>.price {
    height: 88px;
}

/*----------------------------------------------------------------------
TOP比較表
------------------------------------------------------------------------*/
.top .hikakuTable_container {
    position: relative;
}

/*タブ(ボタン)のスタイル*/
.top .hikakuTable_container .tab_item:first-of-type {
    margin-right: 0;
}

.top .tab_item {
    width: 32.444%;
    margin: 0px 0 20px;
    padding: 22px 0 12px;
    background-color: #faf6f6;
    border: none;
    font-size: 16px;
    color: #a9a9a9;
}

.top .hikakuTable_container .tab_item:not(:last-of-type) {
    margin-right: 8px;
}

.top .tab_item span {
    font-size: 24px;
}

.top .hikakuTable_container .tab_icon {
    margin-right: 10px;
    vertical-align: bottom;
}

/*選択されているタブのスタイルを変える*/
.top .hikakuTable_container input:checked+.tab_item {
    background-color: #ffe1e1;
    border: none;
    color: #ff4873;
}

.top .hikakuTable_list>.item {
    width: 10%;
    margin: auto;
    padding: 10px 6px;
    letter-spacing: -1px;
}

.top .company_logo {
    width: 101px;
}

.top .scroll_btn {
    width: auto;
    height: auto;
    cursor: pointer;
}

.top .scroll_l {
    margin-left: -90px;
}

.top .scroll_r {
    margin-left: 1060px;
}

.top .detail_list.sub_list>li {
    padding: 4px 0 16px;
}

.top .detail_list .text a {
    color: #1c8cff !important;
    text-decoration: underline;
}

.top .detail_list .text {
    margin-bottom: 10px;
}

.top .detail_list .text_wrap span.sub_text {
    font-weight: normal;
}

.top .detail_list .text_wrap span {
    margin: 0;
}

.top .detail_list>.plan,
.top .detail_list>.price,
.top .upper .net_app {
    border-bottom: none;
}

.top .detail_list>.plan {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
}

.top .price {
    padding: 0;
}

.top .headline {
    position: relative;
    padding: 2px 0;
}

.top .detail_list .text_wrap {
    display: block;
}

.top .pie_chart.val50:before,
.top .pie_chart.val60:before,
.top .pie_chart.val70:before,
.top .pie_chart.val80:before,
.top .pie_chart.val90:before,
.top .pie_chart.val100:before {
    display: block;
}

.top .special_contract {
    height: 130px;
}

.top .discount {
    height: 140px;
}

.top .joining_age .text,
.top .maximum_age .text {
    font-size: 12px;
}

.top .joining_age {
    height: 200px;
}

.top .maximum_age {
    height: 200px;
}

.price .sub_text {
    font-size: 10px;
}

.top .order_button {
    padding: 4px 0;
}

.top .company_detail {
    display: table;
    width: 100%;
}

.top .company_button {
    display: table-cell;
    height: 58px;
    font-size: 12px;
    vertical-align: middle;
}

/*----------------------------------------------------------------------
入力補完
------------------------------------------------------------------------*/

.search_tags {
    display: flex;
    justify-content: center;
    align-items: center;
}

.search_tags input {
    display: none;
}

.search_tags label {
    display: inline-block;
    margin-bottom: 16px;
    padding: 2px 10px;
    color: #ef004c;
    border-radius: 12px;
    background: #fdd4d9;
    cursor: pointer;
}

.search_tags label:not(:last-child) {
    margin-right: 14px;
}

/*----------------------------------------------------------------------
比較表 PR枠
------------------------------------------------------------------------*/
.hikaku_tabpanels .item.pr {
    position: relative;
    background-color: #FFF4E5;
}

.hikaku_tabpanels .item.pr::before {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    content: 'PR';
    padding: 0 8px;
    background: #BAC0C1;
    color: #fff;
    font-size: 13px;
}

.top #third_rank .company_name,
.inu #third_rank .company_name,
.neko #third_rank .company_name {
    position: relative;
    margin-top: 2em;
}

.item .ranking-text {
    position: absolute;
    top: -2em;
    left: 0;
    display: inline-block;
    min-width: 2.8em;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 12px;
    color: #333;
    background-color: #f2f2ef;
    border-radius: 4px;
    white-space: nowrap;
}

.item.no01 .ranking-text {
    color: #fff;
    background: #E3AB00;
}

.item.no02 .ranking-text {
    color: #fff;
    background: #A9A9A9;
}

.item.no03 .ranking-text {
    color: #fff;
    background: #BA6E40;
}

.top .tab_panel,
.inu .tab_panel,
.neko .tab_panel {
    position: relative;
    margin-bottom: 68px;
}

.hide-button-area {
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
}

.hide-button {
    position: relative;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 16px;
    padding-left: 36px;
    font-weight: bold;
    font-size: 16px;
    color: #E76F51;
    cursor: pointer;
    background-color: #fff7f2;
    border: 1px solid #E76F51;
}

.hide-button::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    border: solid #E76F51;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 4px;
    transition: transform 0.3s ease;
}

/* 下向き矢印 */
.hide-button:not(.hide)::before {
    transform: translateY(-65%) rotate(45deg);
}

/* 上向き矢印 */
.hide-button.hide::before {
    transform: translateY(-20%) rotate(-135deg);
}


.hide-view {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    display: none;
}

.hide-view.show {
    display: block;
    opacity: 1;
}

.top .hikakuTable_list,
.inu .hikakuTable_list,
.neko .hikakuTable_list  {
    margin-top: 38px;
}

.is-pr {
    position: relative;
    background-color: #FFF8F8;
}

/* 吹き出しのスタイル */
.speech-bubble {
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    background: #D93C5C;
    color: white;
    font-weight: bold;
    padding: 6px 10px;
    border-radius: 20px;
    font-size: 12px;
    line-height: 1.2;
    display: inline-block;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), top 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    will-change: transform, top;
}

.speech-bubble span {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    font-size: 11px;
}

.speech-bubble span::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    background-image: url(../../images/icon_information.png);
    background-size: contain;
}

/* 吹き出しの矢印部分 */
.speech-bubble:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-top-color: #D93C5C;
    border-bottom: 0;
    margin-left: -6px;
    margin-bottom: -6px;
}

.speech-bubble:hover {
    top: -35px;
    transform: translateX(-50%) translateY(-2px);
}

/* モーダルのスタイル */
.is-pr dialog {
    padding: 20px;
    border-radius: 8px;
    border: 2px solid #e6567a;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    max-width: 540px;
    min-width: 400px;
    width: 78%;
    overflow: hidden;
    box-sizing: border-box;
}

.is-pr dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

.is-pr .modal-header {
    position: relative;
    padding: 0;
}

.is-pr .modal-title {
    font-size: 17px;
    font-weight: bold;
    margin: 0;
    color: #fff;
    background-color: #e6567a;
    padding: 10px 24px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    word-break: keep-all;
    line-height: 1.4;
    white-space: normal;
}

.is-pr .modal-title::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    background-image: url(../../images/icon_check.png);
    background-size: cover;
}

.is-pr .modal-content {
    padding: 20px;
    white-space: normal;
}

.is-pr .feature-item {
    margin: 20px 0;
    font-size: 16px;
    line-height: 1.6;
    position: relative;
    padding-left: 26px;
    text-align: left;
}

.is-pr .feature-item:before {
    content: "🐾";
    position: absolute;
    left: 0;
    top: 0;
}

.is-pr .modal-footer {
    text-align: center;
    padding: 0;
}

.is-pr .confirm-button {
    background-color: #e6567a;
    color: white;
    border: none;
    padding: 8px 24px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    font-size: 16px;
}

.is-pr .confirm-button:hover {
    background-color: #d44e6f;
}