@charset "utf-8";

body {
    margin: 0px;
    padding: 0px;
    font-family: 'Lucida Grande',
        'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',
        Meiryo, メイリオ, sans-serif;
    font-weight: normal;
    /*font-size: 80%;*/
    font-size: 100%;
}

body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}


a span {
    display: none;
}

.red {
    color: #f00;
}

h3,
h4,
h5,
p {
    margin: 0px;
    padding: 0px;
}

ul,
li {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
}

.fL {
    float: left;
}

.fR {
    float: right;
}

.tC {
    text-align: center;
}

.dN {
    display: none;
}

#maincontents {
    margin-right: auto;
    margin-left: auto;
    margin-top: 10px;
    margin-bottom: 10px;
}

h1 {
    font-weight: normal;
    font-size: 10px;
    color: #333333;
    margin: 0px;
    padding: 0px;
    float: left;
}

.inu h1,
.neko h1 {
    font-weight: normal;
    font-size: 10px;
    color: #333333;
    margin: 0px;
    padding: 0px;
    float: none;
}

.compare-others h2 {
    width: 100%;
    margin: 0 0 20px;
    padding: 3px 0 6px;
    font-size: 1.8em;
    color: #fff;
    background: #F73764;
    border-radius: 4px 4px 0 0;
}

.compare-others h2:before {
    content: '';
    display: inline-block;
    width: 60px;
    height: 65px;
    margin: 2px 6px -20px 10px;
    background-image: url(../common/images/loupe.png);
    background-repeat: no-repeat;
    vertical-align: bottom;
    background-size: cover;
}

#head {
    width: 948px;
    margin-right: auto;
    margin-left: auto;
}

#head p {
    font-weight: normal;
    font-size: 10px;
    color: #333333;
    margin: 0px;
    padding: 0px;
    float: left;
}

#header {
    width: 948px;
    margin-bottom: 10px;
    margin-top: 10px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}

#header h2 a {
    background-image: url(../img/tit.png);
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    height: 72px;
    width: 253px;
    margin: 0px;
    padding: 0px;
}

#header h2 {
    float: left;
    height: 72px;
    width: 289px;
    display: block;
    margin: 0px;
    padding: 0px;
}

#header .site_logo a {
    display: block;
    height: 72px;
    width: 253px;
    margin: 0px;
    padding: 0px;
}

#header .site_logo img {
    display: inline-block;
    width: 100%;
    height: auto;
}

#header .site_logo {
    float: left;
    height: 72px;
    width: 289px;
    display: block;
    margin: 0px;
    padding: 0px;
}

#header ul {
    float: right;
    height: 20px;
    width: 258px;
    display: block;
    margin-top: 20px;
}

#header li {
    float: left;
    margin: 0px;
    padding: 0px;
}

#header #h_menu1 a {
    background-image: url(../img/sitemap.jpg);
    background-repeat: no-repeat;
    height: 20px;
    width: 127px;
    display: block;
    margin-right: 2px;
}

#header #h_menu2 a {
    background-image: url(../img/bookmark.jpg);
    background-repeat: no-repeat;
    height: 20px;
    width: 128px;
    display: block;
}

#header #h_menu1 a:hover {
    background-image: url(../img/sitemap_h.jpg);
    background-repeat: no-repeat;

}

#header #h_menu2 a:hover {
    background-image: url(../img/bookmark_h.jpg);
    background-repeat: no-repeat;

}

/****************************************���j���[****************************/
#menu {
    height: 45px;
    width: 948px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    position: relative;
}

#menu li {
    float: left;
}

#menu #menu1 a {
    background-image: url(../img/menu1.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 134px;
}

#menu #menu2 a {
    background-image: url(../img/menu2.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 135px;
}

#menu #menu3 a {
    background-image: url(../img/menu3.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 135px;
}

#menu #menu4 a {
    background-image: url(../img/menu4.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 135px;
}

#menu #menu5 a {
    background-image: url(../img/menu5.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 135px;
}

#menu #menu6 a {
    background-image: url(../img/menu6.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 135px;
}

#menu #menu7 a {
    background-image: url(../img/menu7.jpg);
    background-repeat: no-repeat;
    display: block;
    height: 45px;
    width: 139px;
}

#menu #menu1 a:hover {
    background-image: url(../img/menu1_h.jpg);
    background-repeat: no-repeat;

}

#menu #menu2 a:hover {
    background-image: url(../img/menu2_h.jpg);
    background-repeat: no-repeat;

}

#menu #menu3 a:hover {
    background-image: url(../img/menu3_h.jpg);
    background-repeat: no-repeat;

}

#menu #menu4 a:hover {
    background-image: url(../img/menu4_h.jpg);
    background-repeat: no-repeat;

}

#menu #menu5 a:hover {
    background-image: url(../img/menu5_h.jpg);
    background-repeat: no-repeat;

}

#menu #menu6 a:hover {
    background-image: url(../img/menu6_h.jpg);
    background-repeat: no-repeat;

}

#menu #menu7 a:hover {
    background-image: url(../img/menu7_h.jpg);
    background-repeat: no-repeat;

}

/* IE11対応 */
@media all and (-ms-high-contrast: none) {
    .hyou {
        width: 98% !important;
        max-width: 928px;
    }
}

#top {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #CCCCCC;
    padding-bottom: 1px;
    margin-bottom: 15px;
}

.hyou td {
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 2px;
    padding-left: 2px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-bottom-style: solid;
    border-left-style: solid;
    border-bottom-color: #999999;
    border-left-color: #999999;
    position: relative;
}

.hyou th {
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    font-weight: normal;
    background-color: #F2F2F3;
    color: #333333;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-bottom-style: solid;
    border-left-style: solid;
    border-bottom-color: #999999;
    border-left-color: #999999;
    position: relative;
}

.hyou {
    margin-top: 0px;
    margin-bottom: 10px;
    color: #333333;
    border-top-width: 1px;
    border-right-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #999999;
    border-right-color: #999999;
}

.hyou02 td {
    border-top-width: 1px;
    border-right-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #333333;
    border-right-color: #333333;
    text-align: left;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 2px;
    padding-left: 10px;
}

.hyou02 th {
    border-top-width: 1px;
    border-right-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #333333;
    border-right-color: #333333;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    font-weight: normal;
    background-color: #F0F0F0;
    color: #666666;
}

.hyou02 {
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-bottom-style: solid;
    border-left-style: solid;
    border-bottom-color: #CCCCCC;
    border-left-color: #CCCCCC;
    margin-top: 10px;
    margin-bottom: 10px;
    color: #666666;
}

/****************************************************************/
.td01 {
    background-color: #FFFFCC;
    color: #FF3366;
    font-weight: bold;
    font-size: 18px;
    padding-top: 3px;
    padding-bottom: 3px;
}

.txtbox {
    padding: 10px;
    line-height: 180%;
}

.txtbox p {
    margin-bottom: 10px;
    color: #666666;
}

.style01 {
    font-weight: bold;
    font-size: 20px;
    color: #666666;
}

.list01 li {
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #CCCCCC;
    padding: 3px;
    font-size: 68%;
    color: #777;
}

.list06 li {
    padding: 0 0 3px;
    font-size: 75%;
    color: #999999;
}

.td02 {
    background-color: #EBEBEB;
}

.bar01 {
    background-image: url(../img/bar01.jpg);
    background-repeat: no-repeat;
    height: 30px;
    width: 950px;
    text-indent: 30px;
    color: #666666;
    line-height: 200%;
    font-size: 16px;
}

.table01 {
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-right-color: #CCCCCC;
    border-bottom-color: #CCCCCC;
    border-left-color: #CCCCCC;
}

.foot-container {
    margin: auto;
}

.foot-content {
    max-width: 948px;
    width: 100%;
    background-color: #F2F2F3;
    margin-top: 15px;
    margin-bottom: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 10px;
    padding-left: 20px;
    padding-bottom: 10px;
    box-sizing: border-box;
}

.agent-details {
    line-height: 180%;
    color: #666;
    font-size: 12px;
}

.agent-details:has(+ .app_number) {
    margin-bottom: 20px;
}

.agent-details dl {
    margin-top: 0;
    margin-bottom: 0;
}

.agent-details dd {
    margin-left: 0;
}

.agent-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.agent-links li:not(:last-child) {
    margin-right: 10px;
}

.agent-links a {
    font-size: 12px;
}

.app_number {
    color: #666;
    font-size: 12px;
}

.app_number li:not(:last-child) {
    margin-bottom: 4px;
}

.footer_link {
    margin-bottom: 15px;
}

.footer_link.footer_text {
    width: 100%;
    padding-top: 15px;
    text-align: center;
    border-top: 1px solid #999;
}

.footer-col {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1038px;
    width: 100%;
    margin: auto;
}

.insurance-link {
    width: 38%;
    margin-right: 2%;
}

.insurance-link__text {
    padding: 0 !important;
    font-size: 14px;
    text-align: center;
}

.insurance-link a {
    display: inline-block;
    width: 100%;
    height: 100%;
}

.insurance-link img {
    display: inline-block;
    max-width: 100%;
    width: 100%;
    margin-bottom: 0 !important;
}

.footer-col__address {
    padding-left: 20px;
}

.footer-col__address dd {
    margin-left: 0;
}

.footer-col__text {
    font-size: 14px;
    text-align: left;
}


.tag-links-container {
    margin: 30px 0;
}

.tag-links-title {
    width: 100%;
    max-width: 1035px;
    margin: auto;
    font-size: 20px;
    color: #333;
    text-align: center;
    font-weight: bold;
    margin-bottom: 15px;
}

.tag-links {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    max-width: 1035px;
    margin: auto;
}

.tag-link {
    display: inline-block;
    padding: 8px 15px;
    background: #f5f5f5;
    border-radius: 20px;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: background-color 0.3s;
}

.tag-link:hover {
    background: #e0e0e0;
}

.tag-link::before {
    content: "#";
    margin-right: 2px;
    color: #666;
}

#maincontents .footer_link .footer_linkbox {
    float: left;
    width: 454px;
}

.foot-logo {
    margin: 24px auto;
    text-align: center
}

.foot-logo img {
    display: inline-block;
    max-width: 400px;
}

.f_link {
    display: flex;
    justify-content: center;
    width: 948px;
    margin-right: auto;
    margin-left: auto;
}

.f_link__list:last-child {
    margin-left: 2em;
}

.footer_link p {
    line-height: 180%;
    padding-left: 20px;
}

#copyright {
    width: 100%;
    margin: 15px auto;
    text-align: center;
    color: #333333;
    font-size: 12px;
    padding-top: 15px;
    padding-bottom: 95px;
    border-top: 1px solid #999;
}

#copyright .ssl-text {
    margin-bottom: 8px;
}

#footer_txt {
    text-align: left;
    color: #333333;
    margin-top: 15px;
    margin-bottom: 15px;
}

#footer_txt {
    text-align: left;
    color: #333333;
    margin-top: 15px;
    margin-bottom: 15px;
}

.td03 {
    background-color: #C8E3E3;
}

.td04 {
    background-color: #FFCCCC;
}

.td05 {
    background-color: #FFFFCC;
}

.td06 {
    background-color: #FFCCCC;
}

.small {
    font-size: 75%;
}

.pagetop {
    margin-top: 30px;
    margin-bottom: 30px;
}

.pagetop p {
    font-size: 75%;
    text-align: right;
}

.list02 li {
    padding-bottom: 5px;
    padding-left: 15px;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #999999;
    padding-top: 5px;
    padding-right: 15px;
    margin: 0px;
}

.table01 .list02 {
    padding: 0px;
    margin-right: 10px;
    margin-left: 10px;
}

.table01 p {
    margin-top: 5px;
    color: #666666;
    font-size: 75%;
}

.right_p {
    float: right;
    margin-bottom: 15px;
    margin-left: 15px;
    width: 238px;
}

.left_t {
    float: left;
    display: block;
    width: 670px;
}

.left_p {
    float: left;
    margin-bottom: 15px;
    margin-right: 15px;
    width: 238px;
}

.right_t {
    float: right;
    display: block;
    width: 670px;
}

.faq dt {
    font-size: 14px;
    font-weight: bold;
    color: #78B627;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #D8ECC5;
}

.faq dd {
    margin-bottom: 20px;
    padding: 10px;
}

.list03 li {
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #B1D969;
    padding-top: 2px;
    padding-bottom: 2px;
    background-image: url(../img/subimg/yajirushi.gif);
    background-repeat: no-repeat;
    background-position: 26px center;
    text-indent: 40px;
}

a:link:not(.floatingmenu a:link) {
    color: #FF3366;
}

a:visited:not(.floatingmenu a:visited) {
    color: #FF6600;
}

a:hover:not(.floatingmenu a:hover) {
    color: #663300;
}

.list04 li {
    padding-top: 2px;
    padding-right: 2px;
    padding-bottom: 2px;
    padding-left: 15px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #E8E8EA;
}

#plan {
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
    width: 600px;
}

.hyou3 td {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #FFFFFF;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 12px;
    font-weight: normal;
    background-color: #EEF7E6;
}

.hyou3 th {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #FFFFFF;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 12px;
    font-weight: normal;
    background-color: #D1EABB;
}

.hyou3 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.style02 {
    font-weight: bold;
    color: #FF3300;
}

.td07 {
    background-color: #FFE7B5;
}

.btn a {
    background-image: url(../img/btn.jpg);
    background-repeat: no-repeat;
    width: 70px;
    display: block;
    margin-right: auto;
    margin-left: auto;
    height: 50px;
}

.btn a:hover {
    background-image: url(../img/btn_h.jpg);
    background-repeat: no-repeat;
}

.siryou a {
    background-image: url(../img/btn_siryou.jpg);
    background-repeat: no-repeat;
    height: 25px;
    width: 70px;
    margin-right: auto;
    margin-left: auto;
    display: block;
}

.siryou a:hover {
    background-image: url(../img/btn_siryou_h.jpg);
    background-repeat: no-repeat;

}

.siryou1 a {
    background-image: url(../img/hokenryo1.png);
    background-repeat: no-repeat;
    height: 25px;
    width: 70px;
    margin-right: auto;
    margin-left: auto;
    display: block;
}

.siryou1 a:hover {
    background-image: url(../img/hokenryo2.png);
    background-repeat: no-repeat;

}

.f01 a {
    background-image: url(../img/f_navi1.jpg);
    background-repeat: no-repeat;
    height: 42px;
    width: 225px;
    display: block;
}

.f02 a {
    background-image: url(../img/f_navi2.jpg);
    background-repeat: no-repeat;
    height: 42px;
    width: 225px;
    display: block;
}

.f03 a {
    background-image: url(../img/f_navi3.jpg);
    background-repeat: no-repeat;
    height: 42px;
    width: 225px;
    display: block;
}

.f04 a {
    background-image: url(../img/f_navi4.jpg);
    background-repeat: no-repeat;
    height: 42px;
    width: 225px;
    display: block;
}

.f01 a:hover {
    background-image: url(../img/f_navi1_h.jpg);
    background-repeat: no-repeat;

}

.f02 a:hover {
    background-image: url(../img/f_navi2_h.jpg);
    background-repeat: no-repeat;

}

.f03 a:hover {
    background-image: url(../img/f_navi3_h.jpg);
    background-repeat: no-repeat;

}

.f04 a:hover {
    background-image: url(../img/f_navi4_h.jpg);
    background-repeat: no-repeat;

}

.td08 {

    background-color: #FFCAE4;
    color: #FF3366;
    font-weight: bold;
}

#popup .hyou3 td {
    line-height: 180%;
}

#popup {
    padding: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    margin-left: 10px;
}

.bar03 {
    background-color: #A1D04E;
    font-weight: bold;
    color: #FFFFFF;
    padding: 3px;
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: #006600;
    font-size: 13px;
}

.style03 {
    color: #006600;
}

.hyou04 {
    margin-top: 5px;
    margin-bottom: 5px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #999999;
    border-right-color: #999999;
    margin-right: auto;
    margin-left: auto;
}

.list05 {
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
}

.list05 li {
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #CCCCCC;
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    color: #FF0000;
    padding-top: 5px;
    padding-bottom: 5px;
}

.list05 .small {
    font-weight: normal;
    color: #999999;
    font-size: 10px;
}

.list05_ipetSub {
    display: block;
    font-weight: normal;
    color: #333;
}

.hyou .contact {
    background-color: #FAFAFA;

    padding: 10px;
    margin-right: 10px;
    margin-left: 10px;
    text-align: left;
    margin-bottom: 10px;
}

.table02 {
    background-color: #FFFFE3;
    border: 1px solid #FEC200;
    padding-top: 10px;
    padding-right: 15px;
    padding-bottom: 10px;
    padding-left: 15px;
}

.table02 p {
    line-height: 155%;
    margin-bottom: 15px;
}

.ranking {
    background-color: #FEC200;
    padding: 5px;
    font-size: 14px;
    font-weight: bold;
    color: #333333;
    text-align: center;
}

.rankTable {
    width: 100%;
    margin: 10px 0 20px;
    font-size: 13px;
    border-top: solid 1px #ccc;
    border-collapse: collapse;
}

.rankTable th,
.rankTable td {
    padding: 30px 20px;
    border: solid 1px #ccc;
    text-align: center;
}

.rankTable th {
    font-size: 15px;
    background: #fffeea;
}

.rankTable th.th01 {
    width: 9%;
}

.rankTable th.th02 {
    width: 31%;
}

.rankTable th.th03 {
    width: 60%;
}

.rankTable td.td03 {
    position: relative;
    text-align: left;
    background: #fff;
}

.rankTable h3 {
    color: #333;
    font-size: 18px;
    font-weight: bold;
}

.rankUl01 {
    overflow: hidden;
    margin: 12px 0;
}

.rankUl01 li {
    float: left;
    margin-right: 6px;
    padding: 4px 8px;
    color: #fff;
    border-radius: 20px;
}

.rankUl01 li.rul01 {
    background: #356aba;
}

.rankUl01 li.rul02 {
    background: #df3054;
}

.rankUl01 li.rul03 {
    background: #108e3f;
}

.rankUl01 li.rul04 {
    background: #cd9e2e;
}

.rank_btn {
    margin-top: 16px;
}

.rank_btn a {
    display: block;
    padding: 16px 10px;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background: #ed5506;
    border-radius: 16px;
    -moz-border-radius: 16px;
    -webkit-border-radius: 16px;
    -webkit-box-shadow: 1px 1px 2px #bbb;
    box-shadow: 1px 1px 2px #bbb;
    background: -webkit-gradient(linear, left top, left bottom, from(#ff9e15), to(#ed5506));
    background: linear-gradient(to bottom, #ff9e15, #ed5506);
}

.rankUl02 li {
    margin-left: 10px;
    list-style-type: disc;
}

.rankTable a {
    text-decoration: none;
}

.rankTable .arrow_r {
    position: relative;
    display: inline-block;
    color: #ddd;
    text-decoration: none;
}

.rankTable .arrow_r:before {
    content: '';
    width: 14px;
    height: 14px;
    border: 0;
    border-top: solid 4px #ddd;
    border-right: solid 4px #ddd;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.company_rankTable {
    max-width: 948px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 28px;
}

.company_rankTable .arrow_r:before {
    right: 0;
}

.company_rankTable .rank_link {
    text-align: center;
}

.rankTable .btn_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 20px;
}

.rank_btn2 {
    position: relative;
    width: 48%;
    height: 80px;
    border-radius: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: red;
    text-align: center;
}

.rank_btn2 a {
    background-image: none;
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: auto;
    color: #fff;
    font-size: 1.4em;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}

.rankTable__button {
    width: 48%;
    border-radius: 50px
}

.rankTable__order-button {
    background-color: #ff0100;
}

.rankTable__request-button {
    background-color: #0196CD;
}

.rankTable__request-button.none {
    pointer-events: none;
    background: #d2d2d2;
}

.rankTable__button a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    color: #fff !important;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.rankTable .btn_wrap .order_btn {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#cb0000));
    background: linear-gradient(to bottom, #ff0000, #cb0000);
    -webkit-box-shadow: 0px 5px 0 #e16d02;
    box-shadow: 0px 5px 0 #8e0000;
}

.rankTable .btn_wrap .order_btn a {
    padding-top: 16px;
    color: #fff !important;
}

.rankTable .btn_wrap .shiryou_btn {
    background: -webkit-gradient(linear, left top, left bottom, from(#0097cd), to(#0c02cc));
    background: linear-gradient(to bottom, #0097cd, #0c02cc);
    -webkit-box-shadow: 0px 5px 0 #047ad3;
    box-shadow: 0px 5px 0 #0000a0;
}

.rankTable .btn_wrap .shiryou_btn a {
    padding-top: 30px;
    color: #fff !important;
}

.style04 {
    color: #FF0000;
}

/* �L�����y�[���y�[�W */
.mR0 {
    margin-right: 0 !important;
}

.list_carousel1 {
    margin: auto;
    width: 948px;
}

.list_carousel1 ul {
    display: block;
    margin: 0;
    padding: 0;
}

.list_carousel1 li {
    display: block;
    float: left;
    width: 300px;
    margin: 0 24px 0 0;
    padding: 0;
    text-align: center;
}

.list_carousel1 li a {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 0.8em;
}

.list_carousel1 img {
    margin: 0 0 5px;
    padding: 0;
    border: none;
}

.prev {
    float: left;
    margin-left: 10px;
}

.next {
    float: right;
    margin-right: 10px;
}

.pager {
    float: left;
    width: 300px;
    text-align: center;
}

.pager a {
    margin: 0 5px;
    text-decoration: none;
}

.pager a.selected {
    text-decoration: underline;
}

/* ���E�o�i�[ */
.bannerLeft,
.bannerRight {
    position: absolute;
    top: 0;
}

.bannerLeft {
    left: -190px;
}

.bannerRight {
    right: -190px;
}

.bannerLeft a:hover,
.bannerRight a:hover {
    opacity: 0.85;
}

/* ���ی����r */
.caseBox {
    overflow: hidden;
    margin: 0;
    padding: 20px;
    text-align: left;
}

.f10 {
    font-size: 10px;
}

/* topBtn */
.topBtn {
    margin: 30px 0;
    text-align: center;
}

.topBtn a:hover {
    opacity: 0.9;
}

/* companyTable */
.companyTable th,
.companyTable td {
    padding: 8px 12px !important;
}

/* 多頭割比較 */

.hyou .tatou_chui {
    line-height: 1.6em;
    text-align: left;
    padding-right: 10px;
    padding-left: 10px;
}

#maincontents .tato_marutoku {
    float: left;
    width: 310px;
    margin-right: 6px;
    margin-bottom: 20px;
}

#maincontents .tato_marutoku img {
    margin-top: 15px;
    margin-bottom: 15px;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    width: 290px;
}

#maincontents .tato_marutoku .marutoku_tit {
    background-color: #FFCCFF;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
    font-family: "メイリオ";
    margin-bottom: 10px;
    text-align: center;
    font-size: 14px;
}

#maincontents .tato_marutoku .marutoku_txt {
    line-height: 1.6em;
    font-size: 12px;
}

#maincontents .tato_marutoku .marutoku_more {
    text-align: right;
    padding-top: 10px;
}

.mr0 {
    margin-right: 0px;
}

.arrow_box {
    position: relative;
    border: 4px solid #A0CF4D;
    width: 500px;
    float: left;
    border-radius: 10px;
    /* CSS3è‰æ¡ˆ */
    -webkit-border-radius: 10px;
    /* Safari,Google Chromeç”¨ */
    -moz-border-radius: 10px;
    /* Firefoxç”¨ */
    margin-top: 40px;
    background-color: #E4F1C9;
}

.arrow_box:after,
.arrow_box:before {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_box:after {
    border-color: rgba(255, 255, 255, 0);
    border-left-color: #E4F1C9;
    border-width: 24px;
    margin-top: -24px;
}

.arrow_box:before {
    border-color: rgba(232, 119, 164, 0);
    border-left-color: #A0CF4D;
    border-width: 30px;
    margin-top: -30px;
}

.arrow_box p {
    padding: 20px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8em;
    font-family: "メイリオ";
}

#maincontents .tato_otoku_box {
    background-image: url(../img/subimg/tato_otoku_bg.gif);
    background-repeat: repeat;
    margin-bottom: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    overflow: hidden;
    width: 940px;
}

#maincontents .tato_otoku_box div {
    margin-right: 5px;
    width: 178px;
    float: left;
}

#maincontents .tato_otoku_box div img {
    text-align: center;
    margin-bottom: 5px;

}

#maincontents .header_menu {
    float: right;
    font-size: 10px;
}

/***********************/
/* #maincontents .main {
    width: 948px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 10px;
    margin-bottom: 20px;
    padding-bottom: 10px;
} */

#maincontents .main {
    width: 1035px;
    height: 100%;
    margin: auto;
}

#maincontents .main .main_right {
    float: right;
    width: 300px;
    background-image: url(../img/main_video.png);
    background-repeat: no-repeat;
}

.main_right iframe {
    margin-top: 50px;
}

.main_right img {
    margin-top: 50px;
}

.main_right a:hover {
    opacity: 1 !important;
}

#maincontents .main .main_left {
    float: left;
    width: 648px;
}

#maincontents .bar {
    background-color: #FF3460;
    padding: 6px;
    font-size: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: center;
    color: #FFFFFF;
}

#maincontents .toriatukai {
    padding: 10px;
    vertical-align: top;
    border-top-width: 1px;
    border-right-width: 1px;
    border-left-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-left-style: solid;
    border-top-color: #FF3460;
    border-right-color: #FF3460;
    border-left-color: #FF3460;
    font-size: 0.8em;
}

.toriatukai_more {
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-right-color: #FF3460;
    border-bottom-color: #FF3460;
    border-left-color: #FF3460;
    background-color: #FFFFCC;
    padding: 10px;
    margin: 0px;
}

#maincontents .toriatukai img {
    text-align: center;
    margin-bottom: 10px;
}

#maincontents .toriatukai li {
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #666666;
    margin-bottom: 5px;
}

.toriatukai ul {
    height: 428px;
}

#maincontents .toriatukai span {
    color: #FF3460;
    margin-right: 10px;
}

#maincontents .toriatukai_more .more a {
    margin-right: auto;
    margin-left: auto;
    color: #FFFFFF;
    text-align: center;
    width: 100%;
    display: block;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    padding-top: 10px;
    padding-bottom: 5px;
    border-radius: 5px;
    background: rgb(247, 98, 49);
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(21%, rgba(247, 98, 49, 1)), to(rgba(255, 52, 96, 1)));
    background: linear-gradient(to bottom, rgba(247, 98, 49, 1) 21%, rgba(255, 52, 96, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f76231', endColorstr='#ff3460', GradientType=0);
    /* IE6-9 */
}

a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -webkit-filter: alpha(opacity=80);
}

/**************************/
#tabs {
    overflow: hidden;
    width: 100%;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
}

#tabs .tab_menu {
    overflow: hidden;
    list-style: none;
    margin: 0;
    border-bottom-width: 3px;
    border-bottom-style: solid;
    border-bottom-color: #CCCCCC;
}

#tabs .tab_menu li a {
    font-size: 22px;
    text-decoration: none;
    display: block;
}

#tabs .panel {
    display: none;
    border: 1px solid #CCCCCC;
    padding-top: 10px;
    padding-right: 0px;
    padding-bottom: 10px;
    padding-left: 0px;
    overflow: hidden;
}

/***************************************************/
.topbar1 {
    background-image: url(../img/top_bar1.jpg);
    background-repeat: no-repeat;
    height: 49px;
    width: 948px;
    margin-bottom: 20px;
}

.topbar2 {
    background-image: url(../img/top_bar2.jpg);
    background-repeat: no-repeat;
    height: 49px;
    width: 948px;
    margin-bottom: 20px;
    margin-top: 5px;
}

.topbar3 {
    background-image: url(../img/top_bar3.jpg);
    background-repeat: no-repeat;
    height: 49px;
    width: 948px;
    margin-bottom: 20px;
    margin-top: 50px;
}

.topbar2,
.topbar3,
.topbar5 {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    margin-top: 50px;
}

.topbar2 {
    margin-top: 5px;
}

.topbar2 h2,
.topbar3 h2,
.topbar4 h2,
.topbar5 h2 {
    width: 100%;
    margin-bottom: 20px;
    padding-left: 0;
    padding-bottom: 6px;
    border-bottom: 2px solid #F73764;
    background: #F7F7F7;
    background: -moz-linear-gradient(#ffffff 0%, #F7F7F7 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#F7F7F7));
    background: -webkit-linear-gradient(#ffffff 0%, #F7F7F7 100%);
    background: -o-linear-gradient(#ffffff 0%, #F7F7F7 100%);
    background: linear-gradient(#ffffff 0%, #F7F7F7 100%);
}

.topbar2 h3,
.topbar3 h3,
.topbar4 h3,
.topbar5 h3 {
    width: 100%;
    margin-bottom: 20px;
    padding-left: 0;
    padding-bottom: 6px;
    border-bottom: 2px solid #F73764;
    background: #F7F7F7;
    background: -moz-linear-gradient(#ffffff 0%, #F7F7F7 100%);
    background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#F7F7F7));
    background: -webkit-linear-gradient(#ffffff 0%, #F7F7F7 100%);
    background: -o-linear-gradient(#ffffff 0%, #F7F7F7 100%);
    background: linear-gradient(#ffffff 0%, #F7F7F7 100%);
}

.topbar2 h2:before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 32px;
    /*画像の幅*/
    height: 32px;
    /*画像の高さ*/
    margin: 0 10px 0 20px;
    background-image: url(../common/images/topbar2.png);
    background-size: contain;
    vertical-align: middle;
}

.topbar2 h3:before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 32px;
    /*画像の幅*/
    height: 32px;
    /*画像の高さ*/
    margin: 0 10px 0 20px;
    background-image: url(../common/images/topbar2.png);
    background-size: contain;
    vertical-align: middle;
}

.topbar3 h2:before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 32px;
    /*画像の幅*/
    height: 32px;
    /*画像の高さ*/
    margin: 0 10px 0 20px;
    background-image: url(../common/images/topbar3.png);
    background-size: contain;
    vertical-align: middle;
}

.topbar3 h3:before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 32px;
    /*画像の幅*/
    height: 32px;
    /*画像の高さ*/
    margin: 0 10px 0 20px;
    background-image: url(../common/images/topbar3.png);
    background-size: contain;
    vertical-align: middle;
}

.topbar4 {
    background-image: url(../img/top_bar4.jpg);
    background-repeat: no-repeat;
    height: 49px;
    width: 948px;
    margin-bottom: 20px;
    margin-top: 50px;
}

.topbar5 h2:before,
.topbar5 h3:before {
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 32px;
    /*画像の幅*/
    height: 32px;
    /*画像の高さ*/
    margin: 0 10px 0 20px;
    background-image: url(../common/images/topbar5.png);
    background-size: contain;
    vertical-align: middle;
}

.topbar1 h3,
.topbar2 h3,
.topbar3 h3,
.topbar4 h3,
.topbar5 h3 {
    padding-top: 3px;
    font-size: 1.6em;
}

/***************************************************/

.tab_menu>li>a:link,
.tab_menu>li>a:visited {
    color: #FF0069;
    text-align: center;
    float: left;
    border-radius: 10px 10px 0 0;
    width: 49%;
    margin-top: 0px;
    margin-right: 5px;
    margin-bottom: 0px;
    margin-left: 0px;
    padding-top: 15px;
    padding-right: 0;
    padding-bottom: 15px;
    padding-left: 0;
    display: block;
    border-top-width: 2px;
    border-right-width: 2px;
    border-bottom-width: 2px;
    border-left-width: 2px;
    border-top-style: solid;
    border-right-style: solid;
    border-bottom-style: none;
    border-left-style: solid;
    border-top-color: #CCCCCC;
    border-right-color: #CCCCCC;
    border-bottom-color: #CCCCCC;
    border-left-color: #CCCCCC;
    background-color: #F0F0F0;
}

.tab_menu>li>a:hover {

    color: #fff;
    background-color: #FF3460;
    color: #fff;
    display: block;
}

.tab_menu>li.selected>a:link,
.tab_menu>li.selected>a:visited {
    color: #fff;
    background-color: #FF0069;
    cursor: default;
}

.tit2 {
    color: #FFFFFF;
    text-align: center;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0;
    display: block;
    margin: 0px;
    font-weight: bold;
    background-color: #FF3460;
}

#maincontents .footer_link .footer_linkbox_right {

    float: right;
    width: 454px;
}

.footer_link img {
    margin-bottom: 20px;
}

.hikaku_btn a {

    margin-right: auto;
    margin-left: auto;
    color: #FFFFFF;
    text-align: center;
    width: 80%;
    margin-top: 10px;
    display: block;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    padding-top: 10px;
    padding-bottom: 5px;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    /* Firefox用 */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(21%, rgba(247, 98, 49, 1)), to(rgba(255, 52, 96, 1)));
    background: linear-gradient(to bottom, rgba(247, 98, 49, 1) 21%, rgba(255, 52, 96, 1) 100%);
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(247, 98, 49, 1) 21%, rgba(255, 52, 96, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f76231', endColorstr='#ff3460', GradientType=0);
    /* IE6-9 */
}

.txtbox2 {

    padding: 10px;
    line-height: 1.8em;
}

.style05 {
    font-size: 18px;
}

.txtbox2 p {
    font-size: 14px;
    margin-bottom: 15px;
}

#contents {
    padding: 0px;
    width: 948px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    position: relative;

}

.bar04 {
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: #FF3460;
    padding-left: 10px;
    font-size: 18px;
    font-weight: normal;
    color: #FF3460;
}

.bo_s {
    border-bottom-width: 1px !important;
    border-bottom-style: dotted !important;
    border-bottom-color: #999999 !important;

}

/***************************************/
#tab {

    margin-left: 5px;
}

#tab li {
    float: left;
    padding: 10px;
    list-style: none;
    cursor: pointer;
    background: #eee;
    font-size: 20px;
    margin-right: 5px;
    width: 30%;
    text-align: center;
    border-top-left-radius: 20px;
    /* 左上 */
    border-top-right-radius: 20px;
    /* 右上 */

}

#tab li.select {
    background: #FF0069;
    color: #FFFFFF;
}

.disnon {
    display: none;
}

/* .content_wrap {
    position: relative;
    clear: left;
    width: 946px;
    color: #fff;
    background-color: #FFFFFF;
    border: 2px solid #CDCDCD;
    padding-top: 10px;
    padding-bottom: 10px;
} */

#maincontents #contents .itiran {
    margin-bottom: 2em;
}

#maincontents #contents .itiran img {
    margin-bottom: 10px;
}

.main .main_right p {
    color: #FFFFFF;
    font-weight: bold;
    font-size: 14px;
    background-color: #ffffff;
}

.navi {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 0.8em;
}

#contents #subtit_box {
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #000000;
    padding-bottom: 15px;
    padding-top: 15px;
    border-top-width: 1px;
    border-top-style: dotted;
    border-top-color: #000000;
}

#contents #subtit_box #subtit {
    font-size: 35px;
    font-weight: normal;
}

#contents #subtit_box h1#subtit {
    float: none;
}

#contents #subtit_box p {
    font-size: 16px;
    margin-top: 5px;
}

#contents #subtit_box img {
    display: block;
    margin: 20px auto;
}

#hoken_shosai .logo {
    float: left;
    width: 440px;
}

#hoken_shosai .hoken_btn img {
    margin-bottom: 20px;
}

#hoken_shosai .hoken_btn {
    float: right;
    width: 400px;
}

#hoken_shosai .tab .menu {
    margin-top: 0px;
    margin-right: -3px;
    margin-left: 1px;
}

#hoken_shosai .mb20 {
    margin-bottom: 20px;
}

#hoken_shosai .tab .menu img {
    cursor: pointer;
}

#hoken_shosai .menu img {
    margin-right: 3px;
}

#hoken_shosai #area3 .table .shosai_t span {
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #999999;
    font-size: 10px;
    padding-right: 10px;
    padding-left: 10px;
}

#hoken_shosai #area1 .menu,
#hoken_shosai #area2 .menu,
#hoken_shosai #area3 .menu,
#hoken_shosai #area4 .menu,
#hoken_shosai #area5 .menu {
    margin-top: 50px;
}

#hoken_shosai #area2,
#hoken_shosai #area3,
#hoken_shosai #area4,
#hoken_shosai #area5 {
    display: none;
}

#hoken_shosai #area1 .table,
#hoken_shosai #area2 .table,
#hoken_shosai #area3 .table,
#hoken_shosai #area4 .table,
#hoken_shosai #area5 .table {
    border: 1px solid #666666;
    padding: 20px;
    margin-bottom: 20px;
}

#hoken_shosai #area1 .table h4,
#hoken_shosai #area2 .table h4,
#hoken_shosai #area3 .table h4,
#hoken_shosai #area4 .table h4,
#hoken_shosai #area5 .table h4 {
    position: relative;
    padding: 9px;
    padding-left: 22px;
    font-weight: bold;
    font-size: 22px;
    background-color: #FF3863;
    color: #fff;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    margin: 20px auto;
}

#hoken_shosai #area1 .table h4:before,
#hoken_shosai #area2 .table h4:before,
#hoken_shosai #area3 .table h4:before,
#hoken_shosai #area4 .table h4:before,
#hoken_shosai #area5 .table h4:before {
    content: '';
    height: 25px;
    width: 2px;
    display: block;
    position: absolute;
    top: 13px;
    left: 4px;
    background-color: #fff;
    border-left: 4px solid #fff;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

#hoken_shosai .shosai_t {
    border-top-width: 1px;
    border-right-width: 1px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #666666;
    border-right-color: #666666;
    margin-bottom: 20px;
}

#hoken_shosai .shosai_t td,
#hoken_shosai .shosai_t th {
    border-bottom-width: 1px;
    border-left-width: 1px;
    border-bottom-style: solid;
    border-left-style: solid;
    border-bottom-color: #666666;
    border-left-color: #666666;
    padding: 10px;
}

#hoken_shosai .shosai_t th {
    background-color: #FFCCCC;
    font-weight: normal;
}

#hoken_shosai .oubo_btn .more a {
    border: 1px solid #91b41a;
    border-radius: 3px;
    font-size: 24px;
    font-family: arial, helvetica, sans-serif;
    text-decoration: none;
    display: inline-block;
    text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.3);
    font-weight: bold;
    color: #FFFFFF;
    background-color: #b6e026;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#b6e026), to(#006600));
    background-image: linear-gradient(to bottom, #b6e026, #006600);
    background-image: linear-gradient(to bottom, #b6e026, #006600);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#b6e026, endColorstr=#006600);
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
}

#hoken_shosai #area2 .table h5 {
    font-size: 30px;
    margin-bottom: 15px;
    font-weight: normal;
}

#hoken_shosai #area2 .table div {
    border-bottom-width: 2px;
    border-bottom-style: dotted;
    border-bottom-color: #CCCCCC;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

#hoken_shosai #area2 .table .f_right {
    float: right;
    margin-left: 20px;
}

#hoken_shosai #area3 .table .kanou_doubutu img {
    margin-right: 5px;
    margin-bottom: 20px;
}

#hoken_shosai #area3 .table h5 {
    border-left-width: 3px;
    border-left-style: solid;
    border-left-color: #FF3863;
    padding-left: 10px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: normal;
}

#hoken_shosai #area3 .table .shosai_t {
    margin-bottom: 5px;
}

#hoken_shosai #area4 .table .f_left {
    float: left;
    margin-right: 20px;
}

#hoken_shosai #area4 .table .case {
    background-color: #666666;
    display: block;
    padding: 4px;
    width: 90px;
    margin-bottom: 10px;
    text-align: center;
    font-weight: bold;
    color: #FFFFFF;
}

#hoken_shosai #area4 .table .chiryohi {
    font-size: 30px;
    color: #FF0000;
    text-decoration: underline;
}

#hoken_shosai #area5 .table .voice_t {
    border-bottom-width: 2px;
    border-bottom-style: dotted;
    border-bottom-color: #CCCCCC;
    padding-bottom: 5px;
    margin-bottom: 20px;
    font-size: 16px;
}

#hoken_shosai #area5 .table .f_left {
    float: left;
    margin-right: 20px;
}

#hoken_shosai #area5 .table .voice_pro {
    width: 300px;
    float: left;
    margin-top: 20px;
    background-color: #F8F8F8;
    padding: 20px;
}

#hoken_shosai #area5 .table .voice_txt {
    float: left;
    margin-top: 20px;
    padding: 20px;
    margin-left: 20px;
    border: 2px solid #FFCCCC;
    width: 350px;
}

#hoken_shosai .mt50 {
    margin-top: 50px;
}

#news_topic {
    height: 100px;
    overflow: scroll;
    font-size: 0.8em;
}

#news_topic li {
    font-weight: bold;
    vertical-align: middle;
    margin-bottom: 5px;
}

.hikaku_box {
    width: 467px;
    float: left;
    border: 1px solid #CCCCCC;
    margin-left: 0.3em;
    margin-bottom: 20px;
}

.hikaku_box h4 img {
    display: inline-block;
    width: 8%;
    margin-right: 5px;
    vertical-align: middle;
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 5px;
}

.hikaku_box img {
    display: inline-block;
    width: 45%;
    margin: 20px;
}

.hikaku_box .txt {
    display: inline-block;
    vertical-align: top;
    width: 40%;

    margin-top: 20px;

}

.hikaku_box h4 {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO;
    background-color: #F8DD33;
    color: #FF3300;
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
    padding-top: 5px;
    padding-bottom: 5px;
    text-shadow: 2px 2px 2px #fff;
}

.hikaku_box .hikaku_box_btn {
    background: rgb(247, 98, 49);
    /* Old browsers */
    /* FF3.6-15 */
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(21%, rgba(247, 98, 49, 1)), to(rgba(255, 52, 96, 1)));
    background: linear-gradient(to bottom, rgba(247, 98, 49, 1) 21%, rgba(255, 52, 96, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f76231', endColorstr='#ff3460', GradientType=0);
    /* IE6-9 */
    padding: 10px;
    display: block;
    text-align: center;
    margin-bottom: 10px;
    margin-right: 10px;
    margin-left: 10px;
    font-size: 1.3em;
    border-radius: 10px;
    /* CSS3草案 */
    -webkit-border-radius: 10px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;
    /* Firefox用 */
    font-weight: bold;
}

.hikaku_box a {
    color: #FFFFFF !important;
    text-decoration: none;
    display: block;

}

.top .style06 {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", HGMaruGothicMPRO;
    font-size: 1.4em;
    background-color: #fa6b89;
    margin-bottom: 20px;
    -webkit-box-shadow: 2px 2px 2px #99999994;
    box-shadow: 2px 2px 2px #99999994;
    border-radius: 5px;
    /* CSS3草案 */

    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 15px;
    color: #FFFFFF;
}

.style06-2 {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO;
    font-size: 1.4em;

    background-color: #F0F0F0;
    margin-bottom: 20px;
    -webkit-box-shadow: 2px 2px 2px #99999994;
    box-shadow: 2px 2px 2px #99999994;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    padding-left: 15px;
}

.txtbox3 {
    margin-bottom: 40px;
}

.txtbox3 p {
    line-height: 1.8em;
    /*font-size: 0.95em;*/
}

.txtbox3 .f_right {
    float: right;
    margin-left: 20px;
}

.txtbox3 .f_left {
    float: left;
    margin-right: 20px;
}

.txtbox3 .kihon th {
    background-color: #FFE9E9;
    padding-top: 5px;
    padding-bottom: 5px;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #ccc;
}

.txtbox3 .kihon td {
    background-color: #FFFBFB;
    border-right-width: 1px;
    border-right-style: dotted;
    border-right-color: #ccc;
    padding: 5px;
    text-align: center;
}

.txtbox3 .kihon {

    border-left-width: 1px;
    border-left-style: dotted;
    border-left-color: #ccc;

}

.txtbox3 .tokuyaku th {
    background-color: #ffe9e9;
    padding-top: 7px;
    padding-bottom: 7px;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCCCCC;
}

.txtbox3 .tokuyaku td {
    background-color: #fffbfb;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCCCCC;
    padding: 7px;
}

.txtbox3 .tokuyaku {
    margin-bottom: 20px;
    font-size: 0.8em;
}

.style07 {
    background-color: #feff19b0;
    width: 30%;
    padding-top: 15px;
    padding-right: 5px;
    padding-bottom: 15px;
    color: #FF0000;
    padding-left: 5px;
    margin-bottom: 20px;
    position: relative;
    padding: 0.6em;
    text-align: center;
    font-weight: bold;
    font-size: 16px;

}

.style07:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #feff19b0;
    width: 0;
    height: 0;
}

.plan_hikaku {

    padding: 10px;
    margin-top: 20px;
    border-radius: 10px;
    /* CSS3草案 */
    -webkit-border-radius: 10px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;
    margin-top: 10px;
    background-color: #ffeaea;
    -webkit-box-shadow: 2px 2px 2px #99999994;
    box-shadow: 2px 2px 2px #99999994;

}

.plan_hikaku .plan1 {
    width: 48%;
    display: inline-block;
}

.plan_hikaku .plan1 .plan_t {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 20px;
}

.plan_hikaku .plan1 .plan_t .p1,
.p1 {
    background-color: #FF6600;
    color: #FFFFFF;
    padding-top: 2px;
    padding-right: 15px;
    padding-bottom: 2px;
    padding-left: 15px;
}

.plan_hikaku .plan1 .plan_t .p2,
.p2 {
    background-color: #009900;
    color: #FFFFFF;
    padding-top: 2px;
    padding-right: 15px;
    padding-bottom: 2px;
    padding-left: 15px;
}

.plan_hikaku .plan1 .plan_t .p3,
.p3 {
    background-color: #3399CC;
    color: #FFFFFF;
    padding-top: 2px;
    padding-right: 15px;
    padding-bottom: 2px;
    padding-left: 15px;
}

.plan_hikaku .plan1 .plan_t .p4 {
    background-color: #FF99CC;
    color: #FFFFFF;
    padding-top: 2px;
    padding-right: 15px;
    padding-bottom: 2px;
    padding-left: 15px;
}

.plan_hikaku .plan1 .plan_btn {
    border: 1px solid #ded3d3;
    background: -webkit-gradient(linear, left top, left bottom, from(#fcffc1), to(#fbda72));
    background: linear-gradient(#fcffc1, #fbda72);
    padding: 10px;
    display: block;
    text-align: center;
    font-size: 1.2em;
    border-radius: 10px;
    /* CSS3草案 */
    -webkit-border-radius: 10px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
    -webkit-box-shadow: 2px 2px 2px #757575;
    box-shadow: 2px 2px 2px #757575;
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO;

}

.plan_hikaku h3 {
    text-decoration: underline;
    font-size: 1.5em;
    margin-bottom: 10px;
}

.plan_hikaku .plan1 .plan_btn a {
    color: #333;
    text-decoration: none;
    display: block;

}

.mb40 {
    margin-bottom: 40px;
}

.style08 {
    background-color: #f39393;
    width: 10%;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    color: #ffffff;
    padding-left: 5px;
    margin-bottom: 20px;
    position: relative;
    padding: 0.2em;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
}

.style08:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 8px solid #f39393;
    width: 0;
    height: 0;
}

.style09 {
    background-color: #999999;
    width: 10%;
    padding-top: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
    margin-top: 10px;
    color: #ffffff;
    padding-left: 5px;
    margin-bottom: 20px;
    position: relative;
    padding: 0.2em;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
}

.style09:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 8px solid #999999;
    width: 0;
    height: 0;
}

.style10 {
    font-size: 30px;
    color: #FF0000;
    font-weight: bold;
}

/**********************/
/* 吹き出し本体 - 左右の中心 */
.balloon1 {
    position: relative;
    padding: 20px;
    background-color: #fff3ad;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    font-size: 1.1em;
}

/* 三角アイコン - 左右の中心 */
.balloon1::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 0;
    right: 0;
    bottom: -15px;
    margin: 0 auto;
    border-top: 15px solid #fff3ad;
    border-right: 15px solid transparent;
    border-left: 15px solid transparent;
}

/* 吹き出し本体 - 上下の中心 */
.balloon2 {
    position: relative;
    padding: 20px;
    background-color: #fff3ad;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    font-size: 1.1em;
}

/* 三角アイコン - 上下の中心 */
.balloon2::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: 50%;
    margin-top: -15px;
    border-right: 15px solid #fff3ad;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}

.iryohi {
    background-color: #996633;
    padding: 10px;
    margin-bottom: 20px;
}

.iryohi table {
    background-color: #FFFFFF;
    border-left-width: 1px;
    border-left-style: dashed;
    border-left-color: #333333;
    -webkit-box-shadow: 5px 5px 5px #0000004d;
    box-shadow: 5px 5px 5px #0000004d;
    margin-bottom: 5px;
}

.iryohi .inner p {
    color: #FF0000;
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    text-decoration: none;
}

.iryohi .inner p span {
    font-size: 30px;
}

.iryohi p {
    color: #fff;
    font-size: 16px;
    text-decoration: underline;

}

.iryohi td,
.iryohi th {
    padding: 6px;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #666666;
    border-right-width: 1px;
    border-right-style: dashed;
    border-right-color: #666666;
}

.iryohi .inner {
    background-color: #FFFFFF;
    padding: 7px;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
}

.iryohi th {
    font-size: 20px;
}

.shikkan_hyo img {
    width: 100%;
}

.shikkan_hyo p {
    font-size: 0.9em;
}

.txtbox3 .shikkan_t {
    background-color: #999999;
    color: #FFFFFF;
    padding: 4px;
    display: block;
    margin-bottom: 15px;
    text-align: center;
}

.f_left2 {
    float: left;
}

.font_s1 {
    font-size: 1.1em;
}

.shikkan_hyo .style11 {
    color: #009966
}

.shikkan_hyo .style12 {
    color: #00B7EB
}

.shikkan_hyo .style13 {
    color: #EB67A1
}

.shikkan_hyo .style14 {
    color: #ED6942
}

.shikkan_hyo .style15 {
    color: #AD5EA0
}

.shikkan_hyo .style16 {
    color: #81C369
}

.txtbox3 .kihon_table th {
    font-size: 2.4em;
    font-weight: normal;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    padding: 10px 0;
}

.txtbox3 .kihon_table td {
    /*font-size: 1.2em;*/
    text-align: center;
    line-height: 1.6em;
}

.txtbox3 .kihon_table {
    border: 4px solid #CCCCCC;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
}

.dot_box {
    border: 1px dotted #4e4e4e;
    padding: 8px;
}

/**************************************************/
.top_hikaku {
    margin: 20px 0;
}

.top_hikaku .in {
    background-color: #FFE8E8;
    padding: 10px;
    overflow: hidden;
}

.top_hikaku .in .inu {
    border-radius: 5px;
    /* CSS3草案 */

    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    width: 46%;
    background-color: #FFFFFF;
    float: left;
    text-align: right;
    background-image: url(../images/top_hikaku/top_hikaku_inu.png);
    background-position: 20px bottom;
    background-repeat: no-repeat;
    height: 91px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 10px;
    border: 1px solid #f1dada;
}

.top_hikaku .in .neko {
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    width: 46%;
    background-color: #FFFFFF;
    float: right;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 10px;
    text-align: right;
    background-image: url(../images/top_hikaku/top_hikaku_neko.png);
    background-position: 20px bottom;
    background-repeat: no-repeat;
    height: 91px;
    border: 1px solid #f1dada;
}

.top_hikaku .in .inu img,
.top_hikaku .in .neko img {
    margin-top: 17px;
}

#footerFloatingMenu {
    display: block;
    width: 100%;
    position: fixed;
    left: 0px;
    bottom: 2px;
    z-index: 9999;
    text-align: center;
    padding: 0;
}

#footerFloatingMenu img {
    max-width: 99%;
}

#footerFloatingMenu table {
    width: 100%;
}

/* 固定テーブル */
.sticky {
    position: -webkit-sticky;
    /* Safari */
    position: sticky;
    top: 0;
    /* 位置指定 */
    z-index: 1;
}

.hyou {
    margin-bottom: -1px;
    background: #fff;
}

/* searchArea */
.searchArea {
    margin-bottom: 16px;
}

.searchArea .search {
    margin-top: 8px;
}

.searchArea .search #dynatable-type,
.searchArea .search #dynatable-age {
    font-size: 18px;
    padding: 6px;
    border: 2px solid #FF9899;
    margin-top: 35px;
    width: 290px;
}

/* 50%,70%プランのTAB */
.cp_tab *,
.cp_tab *:before,
.cp_tab *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_tab>input[type='radio'] {
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: none;
}

.cp_tab .cp_tabpanel {
    display: none;
}

.cp_tab>input:first-child:checked~.cp_tabpanels>.cp_tabpanel:first-child,
.cp_tab>input:nth-child(3):checked~.cp_tabpanels>.cp_tabpanel:nth-child(2),
.cp_tab>input:nth-child(5):checked~.cp_tabpanels>.cp_tabpanel:nth-child(3),
.cp_tab>input:nth-child(7):checked~.cp_tabpanels>.cp_tabpanel:nth-child(4),
.cp_tab>input:nth-child(9):checked~.cp_tabpanels>.cp_tabpanel:nth-child(5),
.cp_tab>input:nth-child(11):checked~.cp_tabpanels>.cp_tabpanel:nth-child(6) {
    display: block;
    color: #333;
    margin-top: 10px;
}

.cp_tab>label {
    position: relative;
    display: inline-block;
    padding: 15px;
    width: 48.1%;
    background: #eee;
    color: #333;
    cursor: pointer;
    text-align: center;
    margin-left: 10px;
    border-radius: 8px;
}

.cp_tab>input:checked+label {
    background: #FFB800;
    color: #fff;
    font-weight: bold;
}

/* hover 吹き出し */
.sample1 {
    text-decoration: none;
    position: relative;
    opacity: 1;
}

.sample1-balloon {
    position: absolute;
    top: 20px;
    left: -15px;
    display: none;
    max-width: 300px;
    width: 300px;
    padding: 10px;
    color: #000;
    background-color: #f2f2f2;
    font-size: 12px;
    font-weight: normal;
}

.sample1:hover .sample1-balloon {
    display: inline-block;
}

.lightTable {
    width: 100% !important;
}

.lightTable th {
    width: 10% !important;
}

.lightTable td {
    width: 12% !important;
}

.text {
    margin-bottom: 20px;
}

.text p {
    float: left;
    margin-left: 10px;
}

.tooltip1 img {
    max-width: 15px;
    position: absolute;
    top: 40%;
    right: 2px;
}

[aria-label][role~="tooltip"] {
    display: contents;
}

[role~="tooltip"][data-microtip-size="large"]::after {
    white-space: initial;
    width: 500px !important;
}

[aria-label][role~="tooltip"]::after {
    background: rgba(255, 255, 255, .9) !important;
    color: #000000 !important;
    -webkit-box-shadow: 0 0 10px 0 #000;
    box-shadow: 0 0 10px 0 #000;

}

.tooltip1 {
    position: absolute;
    cursor: pointer;
    display: inline-block;
    top: 40%;
    right: 0;
}

.tooltip1 p {
    margin: 0;
    padding: 0;
}

.description1 {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.3em;
    color: #000;
    border-radius: 5px;
    background: #fff;
    width: 700px;
    z-index: 2;
    text-align: left;
    -webkit-box-shadow: 0 0 12px 0 #ddd;
    box-shadow: 0 0 12px 0 #ddd;
}

.tooltip1:hover .description1 {
    display: inline-block;
    top: -20px;
    left: 5px;
}

.description1 h3 {
    margin-bottom: 5px;
}

.plan_select {
    font-size: 18px;
    padding-left: 10px;
    color: #FE3366;
}

.select_age {
    padding-left: 4px;
}

/* table縦横固定 */

.tableArea {
    position: relative;
    width: 98%;
    height: auto;
    margin: auto;
    overflow-x: scroll;
    border: 1px solid #999;
    border-right: 0;
}

.scroll_table {
    width: 1020px;
    table-layout: fixed;
    text-align: center;
    color: #333;
}

.tbl_headline {
    width: 90px !important;
}

.inu .tbl_headline,
.neko .tbl_headline {
    width: 83px !important;
}

.scroll_table td:not(.tbl_headline) {
    width: 93px !important;
}

.inu .scroll_table td:not(.tbl_headline),
.neko .scroll_table td:not(.tbl_headline) {
    width: 86px !important;
}

.tbl_headline {
    background-color: #F2F2F3;
}

.scroll_table td {
    padding: 3px;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
}

.scroll_table:last-child {
    border-bottom: 0;
}

.tab01_caution {
    text-align: center;
}

.flex {
    position: relative;
}

.flex img {
    max-width: 15px;
    position: absolute;
    top: 40%;
    right: 3px;
    cursor: pointer;
}

.scroll_btn {
    position: absolute;
    top: 10;
    z-index: 99;
    width: 45px;
    height: 45px;
}

.scroll_btn_fix {
    position: fixed;
    top: 120px;
    z-index: 99;
    width: 45px;
    height: 45px;
}

.scroll_l {
    margin-left: -60px;
}

.scroll_r {
    margin-left: 960px;
}

.useful_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.useful_box:not(:first-child) {
    margin-top: 20px;
}

.useful_img {
    margin-right: 20px;
}

.useful_txt p {
    margin-top: 10px;
}

/*キャンペーン一覧ページ*/

.cam_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 10px;
    width: 100%;
    min-height: 0%;
}

.cam_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 30.33%;
    padding: 10px;
    border: 1px solid #ddd;
    min-height: 0%;
}

.cam_box:not(:nth-child(3n)) {
    margin-right: 1%;
}

.cam_box:nth-child(n + 4) {
    margin-top: 10px;
}

.cam_box figure {
    margin: auto;
    padding: 0;
    text-align: center;
    min-height: 0%;
}

.cam_box figure img {
    max-width: 100%;
    min-height: 0%;
}

.cam_box h4 {
    margin: 10px 0;
}

.cam_box .lottery,
.cam_box .period p {
    font-size: 16px;
}

.cam_box .lottery span {
    display: inline-block;
    margin: 5px 0;
    padding: 2px 8px;
    background: #ff0b5b;
    color: #fff;
}

.cam_box .lottery p {
    margin-bottom: 15px;
}

.cam_box .period p:not(.date) {
    color: red;
}

.cam_box a {
    text-decoration: none;
    color: #333 !important;
}

.cam_box .btn_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    margin-top: 10px;
}

.cam_box .btn {
    position: relative;
    width: 49%;
    height: 60px;
    border-radius: 18px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cam_box .btn:after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    right: 8px;
    top: 26px;
}

.cam_box .btn a {
    background-image: none;
    width: 100%;
    height: 100%;
    margin: auto;
    color: #fff !important;
    font-size: .9em;
    font-weight: bold;
    text-align: center;
}

.cam_box .order_btn {
    padding-top: 8px;
    /*
    background: -webkit-gradient(linear, left bottom, left top, from(#ffb738), color-stop(49%, #fd9b32), color-stop(50%, #ffb22d), to(#ffba42));
    background: linear-gradient(0deg, #ffb738 0%, #fd9b32 49%, #ffb22d 50%, #ffba42 100%);
    -webkit-box-shadow: 0px 5px 0 #e16d02;
    box-shadow: 0px 5px 0 #e16d02;
    */
}

.cam_box .shiryou_btn {
    padding-top: 20px;
    /*
    background: -webkit-gradient(linear, left bottom, left top, from(#32a4ff), color-stop(49%, #2196F3), color-stop(50%, #3fa9fe), to(#88caff));
    background: linear-gradient(0deg, #32a4ff 0%, #2196F3 49%, #3fa9fe 50%, #88caff 100%);
    -webkit-box-shadow: 0px 5px 0 #047ad3;
    box-shadow: 0px 5px 0 #047ad3;
    */
}

/*----------------------------------------------------------------------
メインビジュアルリニューアル
------------------------------------------------------------------------*/

.top #main_img {
    height: 577px;
    background: url(../img/mv.jpg) no-repeat center center #fff;
}

#main_img .mv {
    width: 100% !important;
}

#main_img .mv_left {
    padding: 55px 0 0 100px;
}

#main_img h2 {
    margin: 0 0 40px;
}

#main_img .mv_left img {
    display: inline-block;
    width: 38%;
}

#main_img .recommend {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 10px;
    padding-left: 25px;
}

#main_img .recommend .balloon {
    margin-right: 5px;
}

#main_img .search_bar {
    margin-top: 7px;
}

.top .search_container {
    width: 490px;
    margin: 0 80px 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.top .search_inner {
    padding: 5px;
    background: #fff;
}

.switch_area {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 16px;
    box-sizing: border-box;
}

.switch_area li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 50%;
    color: #9c9c9c;
    font-weight: bold;
    background: #c9c9c9;
    cursor: pointer;
}

.switch_area li.active {
    color: #333;
    background: #f5cf00;
}

.type_icon {
    display: inline-block;
    margin-right: 60px;
    vertical-align: bottom;
}

.switch_type {
    width: 20%;
    height: 30px;
}

.select_boxs {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
}

.select_boxs select {
    height: 52px;
    border: 1px solid #626262;
    background: #ffe5e5;
    border-radius: 4px;
}

.dyna_select {
    width: 300px;
}

.select_boxs .select_box:last-child {
    width: 130px;
    margin-left: 10px;
}

select#dynatable-age {
    width: 100%;
}

.search_container .search_btn {
    width: 90%;
    margin: 0 auto 16px;
}

.search_container .hikaku-serch {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 52px;
    line-height: 52px;
    border-radius: 26px;
    background: #ff3863;
    color: #fff !important;
    text-align: center;
    text-decoration: none;
}

.search_container .hikaku-serch:after {
    position: absolute;
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 30px;
    /*画像の幅*/
    height: 30px;
    /*画像の高さ*/
    top: 25%;
    right: 45px;
    background-image: url(../img/search_btn.png);
    background-size: contain;
    vertical-align: middle;
}

.search_container .other_hikaku {
    display: inline-block;
    width: 100%;
    margin: 10px 0 0;
    text-align: right;
}



/*----------------------------------------------------------------------
detail
------------------------------------------------------------------------*/
.ribbon_ttl {
    display: inline-block;
    position: relative;
    height: 50px;
    margin-bottom: 50px;
    /*リボンの高さ*/
    line-height: 50px;
    /*リボンの高さ*/
    text-align: center;
    padding: 0 80px;
    /*横の大きさ*/
    font-size: 20px;
    /*文字の大きさ*/
    background: #de8984;
    /*塗りつぶし色*/
    color: #FFF;
    /*文字色*/
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.ribbon_ttl:before,
.ribbon_ttl:after {
    position: absolute;
    content: '';
    width: 0px;
    height: 0px;
    z-index: 1;
}

.ribbon_ttl:before {
    top: 0;
    left: 0;
    border-width: 25px 0px 25px 15px;
    border-color: transparent transparent transparent #fcf8f7;
    border-style: solid;
}

.ribbon_ttl:after {
    top: 0;
    right: 0;
    border-width: 25px 15px 25px 0px;
    border-color: transparent #fcf8f7 transparent transparent;
    border-style: solid;
}

.campaign_tbl {
    margin-bottom: 20px;
    padding: 50px 35px 0;
    background: #fcf8f7;
}

/*キャンペーン詳細テーブル*/
.campaign table {
    width: 96%;
    margin: auto;
    text-align: left;
    border-collapse: collapse;
}

.campaign table tr:not(:last-child) {
    border-bottom: 1px dotted #9f9e9e;
}

.campaign th {
    width: 30%;
    color: #ff5c5c;
    vertical-align: middle;
}

.campaign td {
    width: 70%;
    padding: 14px 10px;
}

.co_name {
    color: #de5c5c;
}

.inHouse_cpn .feature_ttl {
    font-size: 36px;
    line-height: 1;
}

.inHouse_cpn .company_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.inHouse_cpn .company_list::after {
    display: block;
    content: "";
    width: 22.8%;
}

.inHouse_cpn .company_item {
    width: 22.8%;
    margin-bottom: 30px;
    line-height: 1.6;
}

.inHouse_cpn .company_item a {
    display: inline-block;
    width: 100%;
    color: #333;
}

.inHouse_cpn .company_item .logo {
    width: 85%;
    border: 1px solid #ddd;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
}

.inHouse_cpn .mv {
    margin-bottom: 40px;
}

.inHouse_cpn .company_item .order_btn {
    display: inline-block;
    width: 100%;
    margin-right: 0;
    border-bottom: solid 3px #d84e4c;
    letter-spacing: -1px;
}

.inHouse_cpn .company_item .cv_btn {
    padding: 6px 0;
    font-size: 18px;
}

.inHouse_cpn .company_item .cv_btn::after {
    width: 8px;
    height: 8px;
    right: 3.8%;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}


/*----------------------------------------------------------------------
TOPページ モーダル
------------------------------------------------------------------------*/
/* モーダルCSS */
.openModal .pink {
    color: #FF3366;
}

.modalArea {
    display: none;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
}

.modalBg {
    width: 100%;
    height: 100%;
    background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 70%;
    max-width: 500px;
    padding: 60px 30px;
    background-color: #fff;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.modalWrapper.modal01Wrap {
    max-width: 100%;
    max-height: 450px;
    overflow: auto;
}

.modal_cpnTitle {
    width: 100%;
}

.modal_cpnTitle img {
    display: inline-block;
    width: 100%;
}

.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
}

.openModal {
    margin: 10px 0;
    padding: 0;
    background: #fff;
    border: none;
    font-size: 14px;
}

.mv_cpnBnr.openModal {
    background: none;
}

.openModal:hover {
    cursor: pointer;
}

.openModal:focus {
    outline: 0;
}

.modalArea .ttl {
    margin-bottom: 10px;
    font-weight: bold;
}

.modalArea p:last-child {
    margin-top: 10px;
}

.exclamation {
    width: 16px;
    vertical-align: text-bottom;
}

.modalContents dt {
    float: left;
}

.modalContents dd {
    margin-left: 68px;
}

button[data-target='modal01'] {
    margin-top: 4px;
    padding: 4px 20px;
    border-radius: 16px;
}

/*----------------------------------------------------------------------
キャンペーン関連ページ 申込/資料請求ボタン
------------------------------------------------------------------------*/
.cam_box .order_btn {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#cb0000));
    background: linear-gradient(to bottom, #ff0000, #cb0000);
    -webkit-box-shadow: 0px 5px 0 #e16d02;
    box-shadow: 0px 5px 0 #8e0000;
}

.cam_box .shiryou_btn {
    background: -webkit-gradient(linear, left top, left bottom, from(#0097cd), to(#0c02cc));
    background: linear-gradient(to bottom, #0097cd, #0c02cc);
    -webkit-box-shadow: 0px 5px 0 #047ad3;
    box-shadow: 0px 5px 0 #0000a0;
}

.cam_box .shiryou_btn.none {
    background: gray;
    box-shadow: 0 5px 0 gray;
}

.cam_box .shiryou_btn.none a {
    pointer-events: none;
}

@media all and (-ms-high-contrast: none) {
    /* ここに書く */

    .cam_box {
        display: inline-block;
    }

}

/*TOP比較表詳細ボタン追加*/
.shyosai a {
    background-image: url(../img/shyosai.png);
    background-repeat: no-repeat;
    height: 25px;
    width: 70px;
    margin-right: auto;
    margin-left: auto;
    display: block;
}

.shyosai a:hover {
    background-image: url(../img/shyosai_h.png);
    background-repeat: no-repeat;
    opacity: 1 !important;
}

/*TOP比較表の透過打ち消し*/
.btn a:hover {
    opacity: 1 !important;
}

.siryou a:hover {
    opacity: 1 !important;
}

/*----------------------------------------------------------------------
シミュレーションアイコン
------------------------------------------------------------------------*/

.simu_icon {
    position: fixed;
    bottom: 180px;
    right: 28px;
    z-index: 100;
}

body:not(.top) .simu_icon {
    bottom: 40px;
}

.simu_icon a {
    display: block;
    text-decoration: none;
}

.simu_icon:hover {
    opacity: 0.85;
}

.simu_icon img {
    max-width: 140px;
    -webkit-filter: drop-shadow(0px 0px 4px #ddd);
    filter: drop-shadow(0px 0px 4px #ddd);
}

/*----------------------------------------------------------------------
グローバルナビ
------------------------------------------------------------------------*/
#g_menu {
    width: 100%;
    margin: 10px auto;
    background: #fff;
    /*７*/
}

#menu_inner {
    width: 1035px;
    /*１*/
    height: 50px;
    /*２*/
    margin: 0 auto;
    background: #fff;
    /*８*/
}

#menu_btn {
    display: none;
}

#menu_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: space-between;
    -ms-flex-line-pack: center;
    align-content: center;
    padding-left: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    list-style-type: none;
    -webkit-box-shadow: 0px 10px 5px -5px rgba(0, 0, 0, 0.15);
    box-shadow: 0px 10px 5px -5px rgba(0, 0, 0, 0.15);
}

#menu_content a {
    opacity: 1;
}

#menu_content .menu_icon {
    display: inline-block !important;
}

#menu_content .menu_icon img {
    padding-right: 5px;
    vertical-align: sub;
}

#menu_content>li {
    position: relative;
    display: inline-block;
    /* width: 100%; */
    width: 100%;
    height: auto;
    text-align: center;
}

#menu_content>li:not(:last-child)::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 2px;
    height: 65%;
    border-right: 2px dotted #919191;
    top: 5px;
    right: 0;
    z-index: 3;
}

#menu_content>li>a {
    position: relative;
    display: inline-block;
    height: 100%;
    width: 100%;
    /* padding: 0 18px; */
    line-height: 45px;
    /*２*/
    background: #fff;
    /*９*/
    color: #333;
    /*10*/
    font-size: 13px;
    text-decoration: none;
    letter-spacing: 0;
    /*    z-index: 2;*/
}

#menu_content>li>a:hover {
    background: #fff;
    /*11*/
    color: #333;
    /*12*/
}

#menu_inner:hover #menu_content {
    border-bottom: 4px solid #f29c9f;
}

/*２階層目*/
#menu_content>li>ul.second-content {
    visibility: hidden;
    position: absolute;
    top: 0;
    margin: 0;
    padding-left: 0;
    list-style-type: none;
}

#menu_content>li:hover>ul.second-content {
    visibility: visible;
    top: 54px;
    /*2*/
    z-index: 1;
    margin-top: -10px;
    padding-top: 10px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

#menu_content>li>ul.second-content>li {
    text-align: center;
    width: 160px;
    /*４*/
    height: 50px;
    /*５*/
}

#menu_content>li>ul.second-content>li>a {
    display: block;
    line-height: 48px;
    /*５*/
    background: #fff;
    /*13*/
    color: #333;
    /*14*/
    font-size: 13px;
    border-bottom: 2px solid #f29c9f;
    text-decoration: none;
}

#menu_content>ul.second-content>li>a:hover {
    background: #fff;
    /*15*/
    color: #333;
    /*16*/
}

/*----------------------------------------------------------------------
ランキング
------------------------------------------------------------------------*/
.ranking_mv {
    margin-bottom: 20px;
    border: 1px solid #F43561;
    padding: 2% 0 0;
    text-align: center;
    background-color: #f7eaed;
}

.top .ranking_mv {
    margin-bottom: 20px;
}

.ranking_mv .ranking_mv_t3 {
    color: #333;
    font-weight: bold;
}

.ranking_mv .ranking_mv_t1 {
    font-weight: bold;
    background-color: #F43561;
    color: #fff;
    border-radius: 50px;
    display: inline-block;
    padding: 0.2% 3%;
}

.ranking_mv .ranking_mv_t2 {
    margin: 0;
    font-weight: bold;
    color: #F43561;
    font-size: 4em;
    line-height: normal;
}

.ranking_mv .ranking_mv_t2 span {
    display: block;
    font-size: 0.8em;
}

.ranking_mv .ranking_mv_t3 {
    color: #333;
    font-weight: bold;
    font-size: 1.2em;
}

.ranking_mv .ranking_mv_bnr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    margin: 2% auto 0;
    width: 100%;
    background-color: #fff;
    padding: 2% 0;
}

.ranking_mv .ranking_mv_bnr img {
    width: 7.5%;
    height: 100%;
}

.ranking__lead {
    color: #333;
}

#ranking .table_of_contents {
    margin: 20px 0 10px;
    padding: 20px 6px;
    border: 1px solid #f13661;
    border-radius: 4px;
}

#ranking .table_of_contents ul {
    width: 68%;
    margin: auto;
}

.table_of_contents a {
    letter-spacing: -1px;
}

.table_of_contents .contents_icon {
    display: inline-block;
    width: auto;
    margin-right: 6px;
    padding: 2px 10px;
    border-radius: 12px;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
}

.table_of_contents .normal_icon {
    display: inline-block;
    width: 40px;
    text-align: center;
    font-size: 14px;
}

.table_of_contents li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.table_of_contents li a {
    display: inline-block;
    line-height: 1.4;
}

.table_of_contents li:not(:last-child) {
    margin-bottom: 8px;
}

.table_of_contents li:first-child .contents_icon {
    background: #f53662;
}

.table_of_contents li:nth-child(2) .contents_icon {
    background: #f19149;
}

.table_of_contents li:nth-child(3) .contents_icon {
    background: #f8b551;
}


/*----------------------------------------------------------------------
Q＆A
------------------------------------------------------------------------*/
.qa_contents {
    box-sizing: border-box;
}

.qa_menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 1em 0;
    text-align: center;
}

.qa_menu li {
    width: 31.3%;
    background: #eee;
}

.qa_menu a {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: 20px 0;
    color: #333 !important;
    text-decoration: none;
}

.qa_box {
    max-width: 948px;
    margin: auto;
    margin-bottom: 60px;
    background: #ffe8f1;
}

.inu .qa_box,
.neko .qa_box {
    margin-bottom: 20px;
}

.inu .faq_link,
.neko .faq_link {
    width: 100%;
    margin: 0 auto 40px;
    text-align: center;
}

.qa_title {
    margin-bottom: 10px;
}

.qa_box .box_inner {
    padding: 1em;
}

.box_menu {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 26px;
}

.box_menu li {
    margin: 0 10px 10px 0;
}

.checkmark {
    padding-left: 24px;
    position: relative;
}

.checkmark:before,
.checkmark:after {
    content: "";
    display: block;
    position: absolute;
}

.checkmark:before {
    width: 16px;
    height: 16px;
    border-radius: 8px;
    background: #ffffff;
    left: 0;
    top: 2px;
}

.checkmark:after {
    border-left: 2px solid #ff5d86;
    border-bottom: 2px solid #ff5d86;
    width: 6px;
    height: 3px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 5px;
    top: 7px;
}

.qa_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 22px;
    min-height: 140px;
    line-height: 1.4;
}

.qa_col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.qa_col.question {
    position: relative;
    width: 30%;
    color: #fff;
    background: #ff5d86;
    border-radius: 8px 0 0 8px;
}

.qa_col.question p {
    width: 100%;
    text-align: center;
}

.qa_col.answer {
    display: grid;
    width: 65%;
    padding: 1em 1em 1em 1.8em;
    background: #fff;
    border-radius: 0 8px 8px 0;
}

.triangle {
    position: absolute;
    top: 42.5%;
    right: -10px;
    width: 0;
    height: 0;
    border-left: 14px solid #ff5d86;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
}

.qa_col .qa_table {
    width: 100%;
    margin-top: 20px;
}

.qa_table table {
    width: 100%;
    border-collapse: collapse;
}

.qa_table table th,
.qa_table table td {
    padding: .6em .8em;
    border: solid 1px;
}

.qa_table table th {
    width: 40%;
    font-weight: normal;
    background: #eee;
}

.qa_table table td {
    width: 60%;
}

.qa_table p {
    margin-top: 14px;
    font-size: 14px;
    color: #666;
}

/*----------------------------------------------------------------------
PCTOP　リニューアル
------------------------------------------------------------------------*/
.top .content_wrap,
.inu .content_wrap,
.neko .content_wrap {
    width: 100%;
    margin: auto;
}

.top .content_wrap table {
    width: 100%;
    margin: auto;
    text-align: center;
}

.inu .content_wrap.annotation,
.neko .content_wrap.annotation {
    border: 0;
    text-align: left;
}

.top #contents,
.inu #contents,
.neko #contents {
    width: 1035px;
    margin: auto;
}

.top .top_hikaku {
    width: 100%;
    margin: auto;
}

.top .hikaku_box {
    width: 49%;
}

.top_cpnBanner .cpnBanner_list {
    display: flex;
    justify-content: flex-start;
    column-gap: 2%;
}

.cpnBanner_list {
    display: flex;
    justify-content: flex-start;
    column-gap: 2%;
    flex-wrap: wrap;
}

.cpnBanner_list li {
    width: 32%;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

.cpnBanner_list img {
    width: 100%;
}

.cpnBanner_list .wide_banner {
    width: 100%;
}

.top .hikakuTable_list {
    white-space: nowrap;
}

.top .item {
    display: inline-block;
}

.hikakuTable_inner {
    overflow-x: scroll;
}

.tooltips {
    position: relative;
}

.tooltips img {
    display: block;
    position: absolute;
    top: -34px;
    right: 4px;
    max-width: 16px;
    height: 16px;
    cursor: pointer;
}

.descriptions {
    display: none;
    position: fixed;
    height: auto;
    width: 400px;
    padding: 10px;
    top: 20%;
    left: calc(50% - 400px/2);
    z-index: 999;
    font-size: 12px;
    background: #fff;
    white-space: normal;
    text-align: left;
    border-radius: 5px;
    box-shadow: 0 0 12px 0 #4e4e4e;
}

.descriptions h3 {
    margin-bottom: 5px;
}

.descriptions_bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 15;
    background-color: rgba(30, 30, 30, 0.6);
}

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

/*----------------------------------------------------------------------
ライター募集
------------------------------------------------------------------------*/

.writer dt {
    background-color: #f7f7f7;
    color: #e84061;
    padding: 1%;
    font-weight: bold;
    text-align: center;
}

.writer dd {
    margin: 0;
    padding: 2%;
    line-height: 1.8em;
}

/*----------------------------------------------------------------------
犬猫ページMVリニューアル
------------------------------------------------------------------------*/
.inu .navi,
.neko .navi {
    width: 948px;
    margin: 8px auto 18px;
}

.inu .cpnBanner_list,
.neko .cpnBanner_list {
    margin-bottom: 40px;
}

/*----------------------------------------------------------------------
ヘッダー10周年アイコン
------------------------------------------------------------------------*/
#header {
    position: relative;
}

#header .header_10th {
    position: absolute;
    right: 0;
    display: flex;
    flex-direction: column;
    width: 170px;
    text-align: center;
    font-size: 12px;
    color: #333;
}

/*----------------------------------------------------------------------
広告掲載募集
------------------------------------------------------------------------*/
.ad_tit {
    font-weight: bold;
    margin: 20px auto;
    background-color: #efefef;
    padding: 10px;
}

.ad_contact {
    display: flex;
}

.ad_contact div {
    flex: 1;
}

.ad_contact .left_ad ul {
    margin: 10px;
}

.ad_contact .left_ad li {
    list-style-type: decimal;
    list-style-position: inside;
}

.ad_contact .right_ad {
    border: 2px solid #d93c5c;
    position: relative;
}

.right_ad div {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.right_ad div p:nth-child(2)::before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    content: '\f0e0';
    font-weight: 900;
    padding-right: 10px;

}

.right_ad div p:nth-child(2),
.right_ad div p:nth-child(2) a {
    font-weight: bold;
    color: #d93c5c;
}

/*----------------------------------------------------------------------
サイトマップ
------------------------------------------------------------------------*/
.sitemap h2 {
    background-color: #fff4f6;
    padding: 1% 0;
    text-indent: 10px;
    font-size: 1.2em;
    color: #e73f60;
    border-bottom: solid 3px #efefef;
    position: relative;
}

.sitemap h2:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #e73f60;
    bottom: -3px;
    width: 20%;
}

.sitemap h3 {
    padding: 1% 2%;
    border: 1px solid #e73f60;
    font-size: 1em;
    margin-bottom: 2%;
    color: #e73f60;
    display: inline-block;
}

.sitemap h4 {
    font-size: 1em;
    padding: 1% 0;
    margin-bottom: 2%;
    color: #e73f60;
    background-color: #f6f6f6;
}

.sitemap h4::before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    content: '\f14b';
    font-weight: 900;
    padding-right: 10px;
    padding-left: 10px;
}

.sitemap .sitemap_list {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 5%;
}

.sitemap .sitemap_list li {
    width: 33%;
    font-size: 0.9em;
    color: #f60;
}

.sitemap .sitemap_list.columnlist {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 5%;
}

.sitemap .sitemap_list.columnlist li {
    width: 48%;
}

.sitemap .sitemap_list li::after {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    padding-left: 10px;
}

/*----------------------------------------------------------------------
口コミ voice
------------------------------------------------------------------------*/
.voice_post p {
    font-size: 0.9em;
    color: #e67c92;
}

.voice_post p.cat::before {
    font-size: 2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #e67c92;
    content: "\f6be";
    margin-right: 10px;
}

.voice_post p.dog::before {
    font-size: 2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #e67c92;
    content: "\f6d3";
    margin-right: 10px;
}

.voice_post_pro {
    margin: 10px 0;
    font-size: 0.9em;
    font-weight: bold;
    color: #785058;
}

.voice_post_pro p {
    margin: 10px 0;
}

.voice_post_pro span {
    background-color: #e6778e;
    margin-right: 10px;
    padding: 0.2% 2%;
    color: #ffffff;
    border-radius: 50px;
    font-size: 0.8em;
}

.voice_post_pro span:nth-child(2) {
    margin-left: 10px;
}

.voice_post_txt {
    border: 4px solid #fbf1f3;
    padding: 4% 2%;
    border-radius: 4px;
    line-height: 2em;
    margin-bottom: 5%;
    background-image: url(../img/voice_bg.png);
}

.voice_post_txt span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #fff799));
    background: linear-gradient(transparent 75%, #fff799 75%);
}

.voice_link {
    display: flex;
    flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 2% 0;
    gap: 0px 10px;
}

.voice_link li {
    width: 32.5%;
    border-radius: 10px;
}

.voice_link li a {
    display: block;
    color: #fe3a60 !important;
    background-color: #ffffff;
    width: 100%;
    text-decoration: none;
    border: 1px solid #e6778e;
    padding: 5% 0;
    text-align: center;
    margin-bottom: 10px;
}

.voice_link li a {
    position: relative;
}

.voice_link li a::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -8px;
    content: "\f107";
}

.voice_link li a:hover {
    color: #fe375e !important;
    background-color: #fff4f4;
    border: 1px solid #fff4f4;

}

.voice_tit {
    display: flex;
    margin: 5% 0 2%;
    align-items: center;
    justify-content: flex-start;
    background-color: #fff4f4;
    padding: 1%;
}

.voice_tit img {
    width: 100px;
    margin-right: 20px;
    border: 1px solid #ffc3cf;
    border-radius: 10px;
}

.voice_tit h2 {
    border: none;
    margin: 0;
    padding: 0;
    color: #e83e61;
}

.voice_btn {
    display: flex;
    justify-content: space-between;
    margin-bottom: 3%;
}

.voice_btn p {
    margin: 1%;
    width: 90%;
    border-radius: 4px;
    font-size: 1.5em;
}

.voice_btn a {
    text-align: center;
    display: block;
    color: #fff !important;
    text-decoration: none;
    font-weight: bold;
    padding: 5% 0%;
    width: 100%;
}

.voice_btn .btn_order {
    background-color: #eb4747;
    border: 1px solid #c93c3c;
}

.voice_btn .btn_order {
    background-color: #ff008a;
    border: 1px solid #cc0772;
}

.voice_btn .btn_siryou {
    background-color: #6bccab;
    border: 1px solid #54ad8f;
}

/*----------------------------------------------------------------------
sbi会社詳細　テーブル
------------------------------------------------------------------------*/
.cost_img img {
    max-width: 300px;
}

.cost_table {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 20px;
    text-align: center;
}

.cost_table .cost_col {
    width: 60%;
    text-align: left;
}

.cost_col table {
    width: 100%;
    border-collapse: collapse;
}

.cost_col table tr {
    border-bottom: 1px solid #ccc;
}

.cost_col table th,
.cost_col table td {
    padding: 4px 12px;
}

.cost_data {
    width: 70%;
}

.cost_wideTable {
    width: 100%;
    border-collapse: collapse;
}

.cost_wideTable th,
.cost_wideTable td {
    padding: 4px 2px;
    border: 1px solid #ccc;
}

.cost_wideTable th,
.cost_wideTable .sum {
    background: #ddd;
}

/* insurance_company */
.com_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 2%;
}

.com_list .insurance_com {

    width: 45%;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-bottom: 2%;
    padding: 2%;
    display: flex;
    flex-direction: column;
}

.com_list .insurance_com img {
    width: 40%;
    margin: 0 auto 2%;
}

.com_list .insurance_com .ico_songai {
    width: max-content;
    text-align: center;
    border: 1px solid #3f89c3;
    color: #3f89c3;
    border-radius: 50px;
    padding: 1% 5%;
    margin: 0 auto 2%;
    font-size: 0.8em;
}

.com_list .insurance_com .ico_shogaku {
    width: max-content;
    text-align: center;
    border: 1px solid #3fc37e;
    color: #3fc37e;
    border-radius: 50px;
    padding: 1% 5%;
    margin: 0 auto 2%;
    font-size: 0.8em;
}

.com_list .insurance_com ul {
    text-align: left;
    flex-grow: 1;
    margin-top: 2%;
}

.com_list .insurance_com ul li {
    border-bottom: 1px dotted #ccc;
    padding: 1%;
}

.com_list .insurance_com .insurance_com_more a {
    color: #666 !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.4em;
}

.com_list .insurance_com .insurance_com_more a:hover {
    color: #666 !important;
    text-decoration: underline;
}

.com_list .insurance_com .insurance_com_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.com_list .insurance_com .insurance_com_btn p {
    width: 45%;
    display: block;
    padding: 2%;
    margin-top: 2%;
    color: #fff;
    text-decoration: none;
}

.com_list .insurance_com .insurance_com_btn p a {
    display: block;
    color: #fff !important;
    text-decoration: none;
}

.com_list .insurance_com .insurance_com_btn p:nth-child(1) {
    background-color: #ff008a;
}

.com_list .insurance_com .insurance_com_btn p:nth-child(2) {
    background-color: #6bccab;
}

/* 外部リンクマーク */
a[target="_blank"].external_link:after {
    font-family: 'Font Awesome 5 Free';
    content: '\f35d';
    font-size: 0.9em;
    margin: 0px 3px;
    font-weight: 900;
    text-decoration: none;
}

/*----------------------------------------------------------------------
404PAGE
------------------------------------------------------------------------*/
.notpage {
    padding: 0px;
    width: 948px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    position: relative;
}

.notpage .notpage_box {
    background-color: #fef2f2;
    border-radius: 10px;
    padding: 5%;
    margin-bottom: 20px;
    text-align: center;
}

.notpage h3.linktit {
    font-weight: normal;
    border-bottom: 1px solid #ffa1a5;
    color: #e83e62;
    margin: 20px 0;
}

.notpage .home_link {
    text-align: center;
}

.notpage .home_link a {
    display: inline-block;
    background-color: #eb5572;
    text-decoration: none;
    text-align: center;
    color: #ffffff !important;
    margin: 20px auto;
    padding: 1% 2%;
    border-radius: 50px;
}

.notpage .link_list {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 5%;
}

.notpage .link_list li {
    width: 48%;
    font-size: 0.9em;
    color: #f60;
}

.notpage .link_list li::after {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    padding-left: 10px;
}

.notpage .link_list li img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    margin-right: 10px;
    vertical-align: middle;
    margin-bottom: 10px;
}

.style_404 {
    color: #FF3366;
    font-weight: bold;
    font-size: 2em;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    #top {
        border-bottom: none;
        padding-bottom: 10px;
        margin-bottom: 15px;
    }

    .notpage {
        padding: 0px;
        width: 90%;
        margin-top: 0px;
        margin-right: auto;
        margin-bottom: 0px;
        margin-left: auto;
    }

    .notpage .link_list {
        display: flex;
        justify-content: space-between;
    }

    .notpage .link_list li {
        width: 100%;
    }

    .notpage .link_column li {
        width: 48%;
    }

    .notpage .link_list li img {
        width: 100%;
        height: 40px;
        object-fit: cover;
        margin-right: 10px;
        vertical-align: top;
        margin-bottom: 10px;
    }

    /*******NOTPAGE-FOOTER*********/
    h2 {
        clear: both;
        margin: 30px 0 20px;
        text-align: center;
        font-size: 24px;
        color: #fff;
        font-weight: bold;
        letter-spacing: 0.05em;
        background-color: #ea5a86;
        padding: 15px 3%;
        line-height: 1.3em;
    }

    div#link_pc {
        width: 98%;
        margin-top: 0;
        margin-right: auto;
        margin-bottom: 5px;
        margin-left: auto;
    }

    div#link_pc a {
        display: block;
        cursor: pointer;
        color: #000;
        font-size: 0.9em;
        font-weight: bold;
        text-align: center;
        text-decoration: none;
        background: linear-gradient(#fff, #ccc);
        border: 1px solid #ccc;
        margin-bottom: 0.1em;
        padding-top: 0.9em;
        padding-right: 0;
        padding-bottom: 0.9em;
        padding-left: 0;
    }

    .footer_link li {
        float: left;
        display: block;
        cursor: pointer;
        width: 50%;
        color: #000;
    }

    .footer_link a {
        color: #333333;
        text-decoration: none;
    }

    footer {

        background-color: #FFFFFF;
        padding-top: 10px;
        padding-right: 0px;
        padding-bottom: 10px;
        padding-left: 0px;
    }

    footer p {
        color: #494232;
        font-size: 0.5em;
        text-align: center;
        line-height: 1.5;
        background-color: #FFFFFF;

        padding-right: 0px;
        padding-bottom: 10px;
        padding-left: 0px;
    }

    /*******NOTPAGE-HEADER*********/
    .logo {
        width: 200px;
    }

    img {
        vertical-align: bottom;
        max-width: 100%;
    }

    .header_10th {
        display: inline-block;
        margin-right: 30px;
        margin-left: 5px;
        width: 20%;
    }

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

    nav#layer_menu {
        z-index: 9999;
        display: none;
        position: absolute;
        top: 57px;
        left: 0;
        width: 100%;
    }

    #menu_button {
        position: relative;
        display: block;
        width: 50px;
        height: 50px;
        background-color: #E71F67;
    }

    #menu_button span {
        position: absolute;
        left: 18px;
        width: 24px;
        height: 2px;
        background: #fff;
        -webkit-transition: all 400ms;
        transition: all 400ms;
    }

    #menu_button span {
        position: absolute;
        left: 11px;
        width: 28px;
        height: 4px;
        background: #fff;
        -webkit-transition: all 400ms;
        transition: all 400ms;
    }

    #menu_button span:nth-child(1) {
        top: 8px;
    }

    #menu_button span:nth-child(2) {
        top: 16px;
    }

    #menu_button span:nth-child(3) {
        top: 24px;
    }

    #menu_button.action span:nth-of-type(1) {
        -webkit-transform: translateY(8px) rotate(45deg);
        transform: translateY(8px) rotate(45deg);
    }

    #menu_button.action span:nth-of-type(2) {
        opacity: 0;
    }

    #menu_button.action span:nth-of-type(3) {
        -webkit-transform: translateY(-8px) rotate(-45deg);
        transform: translateY(-8px) rotate(-45deg);
    }

    #menu_button.action:after {
        content: '閉じる';
    }

    nav#layer_menu {
        top: 60px;
    }

    nav#layer_menu ul {
        background-color: #fffacd;
    }

    #layer_menu #menu_contentsp {
        color: #333;
    }

    #layer_menu #menu_contentsp>li {
        position: relative;
        width: 100%;
        padding-left: 25px;
        line-height: 40px;
    }

    #layer_menu #menu_contentsp a {
        display: block;
        color: #333;
        text-decoration: none;
    }

    #layer_menu #menu_contentsp .menu_icon {
        display: inline-block;
        min-width: 20px;
        padding-right: 10px;
    }

    #layer_menu #menu_contentsp img {
        vertical-align: sub;
    }

    #menu_contentsp li:not(:last-child)::after {
        content: "";
        display: block;
        width: 200%;
        border-bottom: 1px solid #ccc;
        position: absolute;
        bottom: 0;
        left: -100px;
    }

    #menu_contentsp .second-content::before {
        content: "";
        display: block;
        width: 100%;
        border-top: 1px solid #ccc;
        position: absolute;
        top: 40px;
        left: 0;
    }

    #menu_contentsp .second-content li {
        position: relative;
        padding-left: 30px;
    }
}

/* kourei hikaku04 madoguchi
比較表 検索窓 */

.simple_search .switch_area {
    justify-content: space-between;
}

.simple_search .switch_area li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 49%;
    height: 63px;
    font-size: 18px;
}

.simple_search .type_icon {
    margin-right: 18px;
}

.simple_search .arrow_u {
    position: relative;
    display: inline-block;
    color: #999999;
}

.simple_search .arrow_u:before {
    content: '';
    width: 12px;
    height: 12px;
    border: 0;
    border-bottom: solid 4px #999999;
    border-right: solid 4px #999999;
    position: absolute;
    top: 50%;
    right: -140px;
    margin-top: -10px;
    transform: rotate(45deg);
}

.simple_search .switch_area li.active .arrow_u:before {
    border-bottom: solid 4px #4b4b4b;
    border-right: solid 4px #4b4b4b;
}

/*----------------------------------------------------------------------
トップページ　クチコミ
------------------------------------------------------------------------*/

.voice_post_box {
    border: 5px solid #f5dce1;
    padding: 3%;
    border-radius: 10px;
    width: 80%;
    margin: 0 auto 20px;
}

.voice_post_box h3 {
    color: #e6778e;
}

.voice_post_box .voice_post_txt {
    margin-bottom: 0%;

}

.swiper-button-next {
    position: absolute;
    top: 50%;
    width: 0px;
    height: 0px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    border-top: solid 4px #e6778e;
    border-right: solid 4px #e6778e;
    width: 25px;
    height: 25px;
    transform: rotate(45deg);
    background-image: none;
}

.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 0px;
    height: 0px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    border-bottom: solid 4px #e6778e;
    border-left: solid 4px #e6778e;
    width: 25px;
    height: 25px;
    transform: rotate(45deg);
    background-image: none;
}

.swiper-slide {
    display: flex;
    align-items: flex-start;
}

.voice_post_txt {
    position: relative;
    margin-bottom: 45px;
}

.voice_text {
    height: 100px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-align: left;
    /* overflow: hidden; */
}

.top .voice_link {
    display: block;
    text-align: center;
}

/*----------------------------------------------------------------------
人気ペットの種類・年齢
------------------------------------------------------------------------*/
.popularSearch_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.popularSearch_item {
    position: relative;
    width: 29%;
    height: 198px;
    padding: 20px 10px 0;
    border: 4px solid #f0baca;
    background-color: #fff;
    cursor: pointer;
}

.popularSearch_item:nth-child(-n + 4) {
    margin-bottom: 2.5%;
}

.popularSearch_def {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    height: 70px;
    margin: 0;
    margin-bottom: 10px;
    line-height: 1.4;
}

.popularSearch_title {
    width: 40%;
    margin: 0;
}

.popularSearch_data {
    width: 60%;
    margin: 0;
    color: #f73764;
}

.popularSearch_img {
    text-align: center;
}

.popularSearch_item::before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    border: solid #f0baca;
    border-width: 60px 60px 0 0;
    border-top-left-radius: 100px;
}

.popularSearch_item::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    position: absolute;
    bottom: 8%;
    right: 6%;
    margin-top: -4px;
    transform: rotate(45deg);
}

/* ペットお役立ちコラム　一部紹介 */
.column_box {
    width: 100%;
    margin: auto;
    text-align: center;
}

.column_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left;
}

.column_list a {
    text-decoration: none;
}

.column_list li {
    width: 32%;
    margin-bottom: 30px;
}

.column_list .thum {
    margin-bottom: 10px;
}

.column_list .thum img {
    width: 100%;
    height: 146px;
    -o-object-fit: cover;
    object-fit: cover;
}

.column_list .ttl {
    display: flex;
    align-items: center;
    height: 38px;
    margin-bottom: 10px;
    letter-spacing: -1px;
    font-weight: bold;
    color: #ea3b66;
}

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

.column_tags li {
    width: auto;
    margin: 0 0 12px 0;
    padding: 2px 8px;
    font-size: 12px;
    border-radius: 10px;
    background: #eeeeee;
    color: #ea3b66;
    text-align: center;
}

.column_tags li:not(:last-child) {
    margin-right: 10px;
}

.column_text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    text-align: left;
    color: #333 !important;
}

.column_box .column_btn {
    position: relative;
    display: inline-block;
    width: 50%;
    margin-top: 36px;
    padding: 20px 0;
    border-radius: 4px;
    background: #ea3b66;
    color: #fff !important;
    font-size: 18px;
    text-decoration: none !important;
}

.column_box .column_btn:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid;
    border-right: 2px solid;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
}


/*----------------------------------------------------------------------
ライターページ　ライター紹介
------------------------------------------------------------------------*/
.writer_intro {
    margin-top: 12px;
    box-sizing: border-box;
}

.writer_intro img {
    display: inline-block;
    width: 100%;
}

.writer_intro .writer_box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 68px;
}

.writer_intro .writer_photo {
    width: 30%;
    margin-right: 42px;
}

.writer_intro .writer_content {
    width: 70%;
}

.writer_intro .writer_name {
    margin: 20px 0;
    font-size: 24px;
    letter-spacing: 0.025em;
    color: #FF3366;
}

.writer_intro .list-title {
    margin-bottom: 30px;
    padding: 18px 0;
    font-size: 18px;
    background-color: #eee;
}

.writer_intro .list-title::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-left: 18px;
    margin-right: 21px;
    background: url(../writer/img/writer_icon.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
}

.writer_intro .written-list {
    display: flex;
    flex-wrap: wrap;
}

.writer_intro .written-item {
    width: calc(100% / 3 - 14px);
    margin-right: 21px;
    margin-bottom: 30px;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
}

.writer_intro .written-item:nth-child(3n) {
    margin-right: 0;
}

.writer_intro .written-item a {
    text-decoration: none;
}

.writer_intro .written-item .thum {
    width: 100%;
    height: 150px;
    margin-bottom: 8px;
}

.writer_intro .written-item .thum img {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.writer_intro .written-item .category {
    display: inline-block;
    margin-left: 10px;
    margin-bottom: 6px;
    padding: 6px 7px;
    color: #fff;
}

.writer_intro .written-item .category.cat {
    background-color: #c490bf;
}

.writer_intro .written-item .category.dog {
    background-color: #f29c9f;
}

.writer_intro .written-item .category.small {
    background-color: #89c997;
}

.writer_intro .written-item .category.sick {
    background-color: #84ccc9;
}

.writer_intro .written-item .category.trouble {
    background-color: #f6b37f;
}

.writer_intro .written-item span.date {
    display: inline-block;
    margin-bottom: 6px;
    text-align: right;
    color: #FF3366;
    font-size: 16px;
    font-weight: bold;
}

.writer_intro .title {
    padding-inline: 10px;
    font-size: 18px;
    line-height: 1.4;
    font-size: 1.18rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 2.5em;
    line-height: 1.5;
    color: #333 !important;
}

/* ========== shared load-more styles (writer/mamechishiki) ========== */
.mamechishiki_tab_content ul li.mamechishiki-item-hidden,
.written-list li.mamechishiki-item-hidden {
    display: none !important;
}

.mamechishiki-load-more-wrapper {
    display: none;
    text-align: center;
    margin: 24px 0 40px;
}

.mamechishiki-load-more-wrapper.is-active {
    display: block;
}

.mamechishiki-load-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 240px;
    padding: 14px 32px;
    border: 1px solid #d93c5c;
    border-radius: 999px;
    background: #fff;
    color: #d93c5c;
    font-size: 1.4rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.mamechishiki-load-more:hover:not(:disabled) {
    background: #d93c5c;
    color: #fff;
}

.mamechishiki-load-more:disabled {
    cursor: default;
    opacity: 0.6;
}

.mamechishiki-load-more.is-complete {
    border-color: #ccc;
    color: #555;
    background: #f9f9f9;
}

#ranking .voice_link {
    position: relative;
    display: block;
    /* padding-right: 15px; */
    color: #f73764;
    font-size: 14px;
    text-align: center;
    text-decoration: none;
}

#ranking .voice_link::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #f73764;
    border-right: solid 2px #f73764;
    position: absolute;
    top: 50%;
    right: 80px;
    margin-top: -4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pc_topBnr {
    margin: auto;
}

.pc_topBnr-title {
    width: 80%;
    margin-bottom: 6px;
}

.pc_topBnr-title img {
    display: inline-block;
    width: 100%;
}

.pc_topBnr-img {
    width: 80%;
}

.pc_topBnr-img img {
    display: inline-block;
    width: 100%;
}

/* コラムfooterページ内リンク */
/* **************************************** */
/* コラムfooterページ内リンク */
/* **************************************** */
.mamechishiki_menu {
    width: 100%;
    margin: 40px 0 20px;
}

.mamechishiki_section {
    border-radius: 6px;
    background: #fff;
    border: 1px solid #f1e4dd;
    margin-bottom: 16px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.mamechishiki_toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background: #fffaf4;
    border: none;
    border-left: 5px solid #ff3366;
    font-size: 18px;
    font-weight: 600;
    color: #494949;
    cursor: pointer;
}

.mamechishiki_toggle span:first-child::before {
    content: attr(data-icon);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
}

.mamechishiki_toggle_icon {
    width: 12px;
    height: 12px;
    border-right: 2px solid #c75b70;
    border-bottom: 2px solid #c75b70;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.mamechishiki_section.is-collapsed .mamechishiki_toggle_icon {
    transform: rotate(-135deg);
}

.mamechishiki_body {
    padding: 16px 24px 24px;
    background: #fff;
}

.mamechishiki_list {
    column-count: 3;
    column-gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 15px;
}

.mamechishiki_list li {
    break-inside: avoid;
    margin-bottom: 0.4rem;
    padding-left: 6px;
    border-left: 2px solid #ffe0e7;
}

.mamechishiki_list li:last-child {
    margin-bottom: 0;
}

.mamechishiki_list li a {
    position: relative;
    display: flex;
    align-items: flex-start;
    line-height: 1.75;
    padding: 6px 10px 6px 28px;
    color: #ff3366;
    text-decoration: none;
    border-radius: 4px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.mamechishiki_list li a::before {
    content: '▶';
    position: absolute;
    left: 8px;
    top: 8px;
    font-size: 11px;
    color: #ff8ca7;
}

.mamechishiki_list li a.is-single-line {
    align-items: center;
}

.mamechishiki_list li a.is-single-line::before {
    top:18%;
    margin-top: -6px;
}

.mamechishiki_list li a:hover {
    color: #e82e5c;
    background: rgba(255, 51, 102, 0.08);
}

.mamechishiki_banner {
    margin-top: 20px;
    text-align: center;
}

.mamechishiki_list {
    column-count: 2;
}

.mamechishiki_toggle {
    font-size: 16px;
}

.mamechishiki_list {
    column-count: 1;
}

/* カラム間とリンクの余白を少し広く */
.mamechishiki_list {
    column-count: 3;
    column-gap: 40px;
    /* 32px → 40px */
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 15px;
    /* PC向けなので+1px */
}

/* リンク自体の行間と区切り */
.mamechishiki_list li {
    break-inside: avoid;
    margin-bottom: 0.8em;
    padding-left: 4px;
    border-left: 2px solid #ffe0e7;
    /* 細いガイドライン */
}

.mamechishiki_list li a:hover {
    color: #e82e5c;
    background: rgba(255, 51, 102, 0.08);
}

/* セクション見出しの左側にカテゴリアイコン（疑似要素） */
.mamechishiki_toggle span:first-child {
    position: relative;
    padding-left: 8px;
}


/* 取扱いペット保険・動物保険の保険会社・少額短期保険業者一覧 */
/* **************************************** */

.pet-insurance-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
    margin: 0 auto 20px;
    box-sizing: border-box;
}

.insurance-provider {
    width: calc(25% - 15px);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.insurance-provider a {
    font-size: 15px;
    text-align: center;
}

.insurance-provider__image {
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.insurance-provider img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.insurance-provider p {
    margin-top: 5px;
}

.top .simu_icon {
    right: 20px;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
    margin: 0;
    z-index: 9999;
    text-decoration: none;
}

.top #page-top {
    right: 30px;
}

#page-top img {
    max-width: 300px;
    height: auto;
}

.top #page-top img {
    max-width: 110px;
}

.page-top .text {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #44372a;
    text-align: center;
    color: #fff;
    border-radius: 50px 50px 30px 30px;
    font-size: 13px;
    font-weight: bold;
    line-height: 2em;
    width: 100px;
    margin: 0 auto;
    margin-top: -18px;
    height: 76px;
    letter-spacing: 0;
    box-sizing: border-box;
}

.top .page-top .text {
    font-size: 10px;
    width: 74px;
    height: 60px;
}

/*----------------------------------------------------------------------
TOPページ 比較表「その他条件から比較する」
------------------------------------------------------------------------*/
.compare-others-position {
    position: relative;
}

.compare-others-position a {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-30%);
    color: #333 !important;
}

/*===========================================
サイトTOP,inuhoken,nekohoken ページ下部説明テキスト用
===========================================*/
/* 週次対応で修正するたびHTMLにstyle直書きなので
・.textbox3が何目的なのか不明
・pタグの余白なしなので追加 */
.top-page-description p {
    margin-bottom: 1em;
}

.top-page-description p:last-of-type {
    margin-bottom: 0;
}

.top-page-description__def {
    margin: 1.5em 0;
    padding: 1em;
    border: 1px solid #ddd;
    border-radius: 6px;
    background-color: #f9f9f9;
    font-size: 0.95rem;
    color: #333;
    line-height: 1.6;
}

/* 項目タイトル */
.top-page-description__def dt {
    font-weight: 600;
}

/* 内容 */
.top-page-description__def dd {
    margin: 0;
}

/* 横並びレイアウト */
.top-page-description__def--horizontal {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.75em 1.5em;
    align-items: start;
}

/* ====================================
   まとめセクション
   ==================================== */

.page-summary,
.page-summary * {
    box-sizing: border-box;
}

.page-summary {
    max-width: 1000px;
    margin: 24px auto;
    background-color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.page-summary__title {
    color: #F63864;
    font-size: 20px;
    font-weight: bold;
    background-color: #fff2f6;
    text-align: left;
    margin: 0;
    padding: 18px 36px;
}

.page-summary__list {
    list-style: none;
    padding: 30px 40px;
    margin: 0;
    background-color: #fff;
}

.page-summary__list li {
    position: relative;
    margin-top: 0.8em;
    padding-left: 28px;
    padding-bottom: 0.2em;
    color: #333;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.04em;
}

.page-summary__list li:first-child {
    margin-top: 0;
}

.page-summary__list li::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 7px;
    left: 0;
    width: 13px;
    height: 7px;
    border-left: 2px solid #F63864;
    border-bottom: 2px solid #F63864;
    transform: rotate(-45deg);
}