@charset "utf-8";

/* consultation ---------------------------------------------------------------- */
.consultation{
    overflow: hidden;
    min-width: 1078px;
    padding: 0 0 40px;
    background: #f8f3ec;
    font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Osaka, Helvetica, sans-serif;
    font-size: 1.167em;
}
.platinum .consultation{
    min-width: 1130px;
    background: #fff;
}

/* plaza_box ---------------------------------------------------------------- */
.plaza_box {
    margin: 0 auto 30px;
    padding: 0 20px 31px;
}
.plaza_box:not(:last-child){
    border-bottom: 1px dashed #c5c5c5;
}
.plaza_box.inner{
    margin: 0 auto;
    width: 1038px;
}
.plaza_box:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.plaza_box .plaza_box_inner {
    position: relative;
    padding: 0 20px 30px;
}

/* メインビジュアル
---------------------------------------------------------------- */
.amex_mv_wrap{
    height: 430px;
    padding: 38px 0 0;
    margin: 0 0 60px 0;
    background: url(images/top/bg_mv_amex.jpg) no-repeat 50% 38px #fff;
    background-size: contain;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
}
.amex_mv_image{
    margin: -38px auto 0;
    width: 1078px;
}
.amex_mv_image img{
    margin: 0 0 0 -11px;
}
.amex_merit_wrap{
    position: relative;
    width: 1078px;
    margin: 0 auto 48px;
}
.amex_merit_list{
    display: block;
    width: 1042px;
    margin: 0 auto;
}
.amex_merit_list:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.amex_merit_list li{
    float: left;
    width: 182px;
    margin: 0 33px 0 0;
}
.amex_merit_list li:last-child{
    margin: 0;
}
.amex_merit_list .image{
    position: relative;
    margin: 0 0 14px;
}
.amex_merit_list .image:before{
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 1;
    margin: 0 0 0 -135px;
    width: 270px;
    height: 45px;
    background: url(images/top/bg_merit.png) no-repeat 0 0;
    content: "";
}
.amex_merit_list .image img{
    position: relative;
    z-index: 2;
}
/* プラチナ会員向け */
.platinum_mv_wrap{
    height: 650px;
    margin: 0 0 85px;
    padding: 34px 0 0;
    background: url(images/top/bg_mv_platinum.jpg) no-repeat 50% 34px #fff;
    background-size: contain;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
}
.platinum_mv_image{
    margin: -34px auto 0;
    width: 1130px;
}
.platinum_mv_image img{
    margin: 0 0 0 -195px;
}
.platinum_info_list{
    overflow: hidden;
    margin: 0 0 68px;
    min-width: 1130px;
}
.platinum_info_list li{
    background: #f7f7f7;
}
.platinum_info_list li:nth-child(even){
    background: #eaeaea;
}
.platinum_info_list .list_inner{
    width: 1130px;
    margin: 0 auto;
}
.platinum_info_list .list_inner img{
    margin: 0 0 0 -125px;
}

/* 人気のあるエリア
---------------------------------------------------------------- */
/* 保険市場コンサルティングプラザ　地図 */
.plaza_box.inner .map_area {
    background:url(images/top/bg_map.png) 0 0 no-repeat #fff;
    width:1038px;
    height:529px;
    position:relative;
}
.plaza_box.inner .map_area .commentary,
.plaza_box.inner .map_area .balloon_area {
    position:absolute;
}
.plaza_box.inner .map_area .commentary {
    text-align:center;
    color:#fff;
    font-size:1.14em;
    line-height:2;
    background:url(images/top/icon_star.png) 6% 0 no-repeat;
    top:25px;
    left:55px;
    letter-spacing:-0.07em
}
.plaza_box.inner .area_inner .balloon_area {
    box-sizing: border-box;
    text-align:center;
    padding:10px;
    background:#ededed;
    width:255px;
    font-size:0.90em;
    border-radius:3px;
}
.plaza_box.inner .area_inner .balloon_area02 {
    width:330px;
    line-height:1.5;
    padding:10px 15px;
}
.plaza_box.inner .area_inner .balloon_area02 li {
    padding-bottom:7px;
}
.plaza_box.inner .area_inner .balloon_area02 .last_bottom {
    padding-bottom:0;
}
.plaza_box.inner .area_inner .balloon_area a {
    color:#000;
}
.plaza_box.inner .area_inner .balloon_area a:hover {
    text-decoration:none;
}
.plaza_box.inner .area_inner .balloon_area a:hover{
    opacity: 0.6;
}
/* 吹き出し位置 */
.plaza_box.inner .area_inner .balloon_area.hokkaido {
    top:120px;
    left:750px;
}
.plaza_box.inner .area_inner .balloon_area.miyagi {
    top:228px;
    left:714px;
}
.plaza_box.inner .area_inner .balloon_area.tokyo {
    top:295px;
    left:690px;
}
.plaza_box.inner .area_inner .balloon_area.kanagawa {
    top:362px;
    left:690px;
}
.plaza_box.inner .area_inner .balloon_area.aichi {
    top:424px;
    left:536px;
}
.plaza_box.inner .area_inner .balloon_area02.osaka {
    top:138px;
    left:286px;
}

.plaza_box.inner .area_inner .balloon_area.hyogo {
    top:275px;
    left:226px;
}
.plaza_box.inner .area_inner .balloon_area.hiroshima {
    top:340px;
    left:132px;
}
.plaza_box.inner .area_inner .balloon_area.fukuoka {
    top:396px;
    left:50px;
}
/* 星の位置 */
.plaza_box.inner .position a.icon_position {
    background: url(images/top/icon_star02.png);
    width:21px;
    height:19px;
    display: block;
    position:relative;
}
.plaza_box.inner .position a.icon_position:hover {
    background-position:0 100%;
}
.plaza_box.inner .position p {
    position:absolute;
}
.plaza_box.inner .position .hokkaido {
    top:98px;
    left:666px;
}
.plaza_box.inner .position .miyagi {
    top:255px;
    left:660px;
}
.plaza_box.inner .position .tokyo {
    top:346px;
    left:615px;
}
.plaza_box.inner .position .kanagawa {
    top:366px;
    left:615px;
}
.plaza_box.inner .position .aichi {
    top:370px;
    left:542px;
}
.plaza_box.inner .position .osaka {
    top:378px;
    left:490px;
}
.plaza_box.inner .position .hyogo {
    top:368px;
    left:466px;
}

.plaza_box.inner .position .hiroshima {
    top:378px;
    left:400px;
}
.plaza_box.inner .position .fukuoka {
    top:411px;
    left:330px;
}
.plaza_box.inner p span {
   display:none;
}
.plaza_box .plaza_photo {
    float: right;
    width: 240px;
}
.plaza_box .plaza_photo .image{
    margin: 0 0 50px;
}
.plaza_box .plaza_txt {
    float: left;
    width: 730px;
}
.plaza_box .plaza_txt .plaza_txt_title {
    display: inline-block;
    margin: 0 0 15px;
    font-size: 1.28em;
    font-weight: bold;
    border-bottom: 1px solid #333;
}
.plaza_box .plaza_txt .txt_detail_a:hover .plaza_txt_title{
    border-bottom: 1px solid #bbb8af;
    color: #bbb8af;
}
.plaza_box .review_list{
    display: table;
    margin: 0 0 18px;
}
.plaza_box .review_list li{
    display: table-cell;
    border-left: 1px solid #d1d1d1;
    padding: 0 20px;
    vertical-align: middle;
}
.plaza_box .review_list li:first-child{
    border-left: none;
    padding: 0 20px 0 0;
}
.plaza_box .review_list li:last-child:not(:first-child){
    padding: 0 0 0 20px;
}
.plaza_box .review_star img{
    vertical-align: middle;
}
.plaza_box .review_point{
    margin: 0 0 0 12px;
    vertical-align: middle;
    font-size: 1.286em;
    font-weight: bold;
}
.plaza_box .review_number{
    font-size: 1.143em;
}
.plaza_box .review_number:before{
    vertical-align: text-bottom;
    line-height: 1.2;
    margin: 0 12px 0 0;
    content: url(images/ico_review.png);
}
.plaza_box .review_number a:hover{
    opacity: 0.7;
}
.plaza_box .insurance_company span{
    color: #a29667;
    font-weight: bold;
}
.plaza_box .insurance_company a{
    display: inline-block;
    margin: 0 0 0 15px;
    padding: 2px 17px 1px;
    border: 1px solid #a29667;
    text-decoration: none;
    color: #756944;
    font-size: 0.857em;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -ms-border-radius: 3px;
}
.plaza_box .insurance_company a:hover{
    opacity: 0.7;
}
.plaza_box .plaza_txt .plaza_txt_description {
    line-height: 2;
    width: 100%;
    border-top: 1px solid #c7c7c7;
}
.plaza_box .plaza_txt .plaza_txt_description th{
    width: 100px;
    padding: 14px 5px 0 0;
    color: #a29667;
    font-weight: bold;
    vertical-align: top;
}
.plaza_box .plaza_txt .plaza_txt_description td{
    padding: 14px 0 0 0;
    vertical-align: top;
}
.plaza_box .plaza_txt .plaza_txt_description .address_text{
    margin: 0 20px 0 0;
}
.plaza_box .plaza_txt .plaza_txt_description .map_button{
    display: inline-block;
    border: 1px solid #a29667;
    padding: 3px 10px 2px;
    text-decoration: none;
    background: #fff;
    color: #000;
    line-height: 1.5;
}
.plaza_box .plaza_txt .plaza_txt_description .map_button:hover{
    opacity: 0.7;
}
.plaza_madoguchi_title {
    margin: 0 0 20px;
    padding: 45px 0 0;
    color: #97814f;
    font-size: 1.71em;
    font-weight: bold;
    text-align: center;
}
.plaza_madoguchi_title .title_inner{
    position: relative;
    display: inline-block;
    padding: 0 25px;
}
.plaza_madoguchi_title .title_inner:before,
.plaza_madoguchi_title .title_inner:after{
    position: absolute;
    top: 50%;
    display: block;
    width: 12px;
    height: 17px;
    margin: -9px 0 0;
    content: "";
}
.plaza_madoguchi_title .title_inner:before{
    left: 0;
    background: url(images/bg_consultation_l.png) no-repeat 0 0;
}
.plaza_madoguchi_title .title_inner:after{
    right: 0;
    background: url(images/bg_consultation_r.png) no-repeat 0 0;
}
.cooperation_text{
    margin: 0 0 30px;
    padding: 15px;
    border: 1px solid #ccc5a4;
}
.city_box.inner{
    border-bottom: 2px solid #c2b993;
}
.city_box.inner .cooperation_text span{
    display: block;
    font-weight: bold;
}
.kyouryoku_box{
    display: block;
    margin: 0 0 40px;
    padding: 0 20px 41px;
    background: url(images/plaza_box_border.png) repeat-x 0 100%;
}
.kyouryoku_box:last-child{
    padding: 0 20px;
    background: none;
}
.kyouryoku_box:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.kyouryoku_box_wrapper {
    margin: 0 0 150px;
}
.kyouryoku_box_inner {
    margin: 0 0 20px;
}
.kyouryoku_box .kyouryoku_head{
    display: table;
    margin: 0 0 16px;
}
.kyouryoku_box .kyouryoku_photo{
    display: table-cell;
    vertical-align: top;
    width: 104px;
    padding: 0 20px 0 0;
}
.kyouryoku_box .kyouryoku_head_text{
    display: table-cell;
    vertical-align: middle;
}
.kyouryoku_box .kyouryoku_txt_title{
    display: inline-block;
    margin: 0 0 15px;
    text-decoration: underline;
    font-size: 1.143em;
    font-weight: bold;
}
.kyouryoku_box .review_list{
    margin: 0;
}
.kyouryoku_box .kyouryoku_txt_description{
    line-height: 2;
    width: 100%;
    border-top: 1px solid #ededed;
}
.kyouryoku_box .kyouryoku_txt_description th{
    width: 100px;
    padding: 14px 5px 0 0;
    color: #a29667;
    font-weight: bold;
    vertical-align: top;
}
.kyouryoku_box .kyouryoku_txt_description td{
    padding: 14px 0 0 0;
    vertical-align: top;
}
.kyouryoku_box .kyouryoku_txt_description .address_text{
    margin: 0 20px 0 0;
}
.kyouryoku_box .kyouryoku_txt_description .map_button{
    display: inline-block;
    border: 1px solid #0ab38e;
    padding: 2px 10px 1px 24px;
    text-decoration: none;
    background: url(images/btn_map.png) no-repeat 10px 50%;
    color: #0ab38e;
    font-size: 0.857em;
    line-height: 1.5;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -ms-border-radius: 3px;
}
.kyouryoku_box .kyouryoku_txt_description .map_button:hover{
    opacity: 0.7;
}
.kyouryoku_box .plaza_photo .image{
    margin: 0 0 26px;
}
.kyouryoku_box .btn_reservation_small {
    display: block;
}
.kyouryoku_box .btn_reservation_small:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.kyouryoku_box .btn_detail {
    float: left;
    position: relative;
    display: block;
    padding: 8px 22px 8px 12px;
    border: 1px solid #feac92;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    width: 48%;
    text-align: center;
    color: #555;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
.kyouryoku_box .btn_detail:after{
    position: absolute;
    top: 50%;
    right: 10px;
    content: "";
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: 1px solid #555;
    border-right: 1px solid #555;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.kyouryoku_box .btn_detail:hover {
    opacity: 0.7;
}
.kyouryoku_box .btn_reservation_small_a {
    float: right;
    position: relative;
    padding: 8px 22px 8px 12px;
    border: 1px solid #fd5925;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    width: 48%;
    text-align: center;
    color: #fd5925;
    font-weight: bold;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
.kyouryoku_box .btn_reservation_small_a:after{
    position: absolute;
    top: 50%;
    right: 10px;
    content: "";
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: 1px solid #fd5925;
    border-right: 1px solid #fd5925;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.kyouryoku_box .btn_reservation_small_a:hover {
    opacity: 0.7;
}

/* アイコン・ボタン ---------------------------------------------------------------- */
.facility_list{
    display: block;
    margin: 0 0 18px;
}
.facility_list:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.facility_list li{
    position: relative;
    float: left;
    margin: 0 24px 0 0;
    padding: 0 0 0 37px;
    font-size: 0.929em;
}
.facility_list li:before{
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 30px;
    height: 30px;
    margin: -15px 0 0;
    background: url(images/top/ico_facility.png) no-repeat 0 0 #a29667;
    content: "";
    border-radius: 1px;
    -moz-border-radius: 1px;
    -webkit-border-radius: 1px;
    -ms-border-radius: 1px;
}
.facility_list li.parking:before{ background-position: 0 0;}
.facility_list li.kidsspace:before{ background-position: 0 -60px;}
.facility_list li.nursingroom:before{ background-position: 0 -30px;}
.facility_list li.none{
    color: #ccc;
}
.facility_list li.none:before{
    background-color: #d1d1d1;
}
.btn_detail_a,
.btn_reservation_a,
.btn_reservation_houmon_a{
    position: relative;
    display: block;
    padding: 8px 48px 8px 34px;
    font-size: 1.14em;
    letter-spacing: 0.1em;
    text-decoration: none !important;
    text-align:center;
}
.btn_detail_a{
    background-color: #7f7f7f;
    -webkit-box-shadow: 3px 3px 4px 0px #a8a8a8;
    -moz-box-shadow: 3px 3px 4px 0px #a8a8a8;
    box-shadow: 3px 3px 4px 0px #a8a8a8;
    margin: 0 0 17px;
    color: #fff;
}
.btn_detail_a:hover{
    background-color: #bbb8af;
}
.btn_reservation_a{
    background-color: #1b1b1b;
    -webkit-box-shadow: 3px 3px 4px 0px #8f8f8f;
    -moz-box-shadow: 3px 3px 4px 0px #8f8f8f;
    box-shadow: 3px 3px 4px 0px #8f8f8f;
    color: #fff;
}
.btn_reservation_a:hover{
    background-color: #bbb8af;
}
.btn_detail_a:after,
.btn_reservation_a:after{
    display: block;
    content: "";
    position: absolute;
    top:50%;
    right: 24px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    margin: -3px 0 0;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_detail_a img,
.btn_reservation_a img{
    vertical-align: middle;
}

/* 訪問予約 ---------------------------------------------------------------- */
.pref_caption {
      margin:55px auto 80px;
            width:1038px;
}
.pref_caption .title,
.pref_caption p {
    line-height: 1;
    text-align: center;
}

.pref_caption .title {
    color: #0ab38e;
    font-size: 2.14em;
    margin: 0 auto 20px;
}
.houmon_soudan .btn_reservation_houmon{
    float: right;
}
.houmon_soudan .btn_reservation_houmon_a{
    display: inline-block;
    position: absolute;
    right: 0;
                bottom:0;
    padding: 18px 15px 15px 25px;
                width:410px;
    background-color: #fd5925;
    -webkit-box-shadow: 0px 3px 0px 0px #dc350c;
    -moz-box-shadow: 0px 3px 0px 0px #dc350c;
    box-shadow: 0px 3px 0px 0px #dc350c;
    color: #fff;
    font-size: 1.71em;
                line-height:1;
    letter-spacing: 0.1em;
    text-decoration: none !important;
    border-radius: 4px;
    box-sizing: border-box;
}
.btn_reservation_houmon_a:hover{
    background-color: #fe8a66;
    -webkit-box-shadow: 0px 3px 0px 0px #e67154;
    -moz-box-shadow: 0px 3px 0px 0px #e67154;
    box-shadow: 0px 3px 0px 0px #e67154;
}

/* 条件から探す/地図から探す
---------------------------------------------------------------- */
.filter_tab{
    display: block;
    width: 1040px;
    margin: 0 auto;
    border-bottom: 2px solid #d1d1d1;
}
.filter_tab:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.filter_city,
.filter_train,
.filter_companies,
.filter_map{
    float: left;
    margin: 0 13px 0 0;
    width: 250px;
}
.filter_map{
    float: right;
    margin: 0;
}
.filter_city a,
.filter_train a,
.filter_companies a,
.filter_map a{
    display: block;
    margin: 6px 0 0;
    padding: 10px 0 5px;
    text-align: center;
    background: #f4f2ea;
    font-size: 1.286em;
    color: #333;
    border-radius: 3px 3px 0 0;
    -moz-border-radius: 3px 3px 0 0;
    -webkit-border-radius: 3px 3px 0 0;
    -ms-border-radius: 3px 3px 0 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
.filter_city.open a,
.filter_train.open a,
.filter_companies.open a,
.filter_map.open a{
    top: 0;
    margin: 0 0 -2px;
    padding: 13px 0 8px;
    border: 2px solid #d1d1d1;
    border-bottom: none;
    background: #fff;
    color: #0ab38e;
}
.filter_city .text_wrap,
.filter_train .text_wrap,
.filter_companies .text_wrap,
.filter_map .text_wrap{
    position: relative;
    display: inline-block;
    padding: 0 0 0 28px;
    text-decoration: underline;
}
.filter_city .text_wrap{
    padding: 0 0 0 34px;
}
.filter_city .text_wrap:before,
.filter_train .text_wrap:before,
.filter_companies .text_wrap:before,
.filter_map .text_wrap:before{
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    content: "";
    background: url(images/ico_filter.png) no-repeat 0 0;
}
.filter_city .text_wrap:before{
    width: 28px;
    height: 25px;
    margin: -13px 0 0;
}
.filter_train .text_wrap:before{
    width: 17px;
    height: 27px;
    margin: -14px 0 0;
    background-position: 0 -30px;
}
.filter_companies .text_wrap:before{
    width: 16px;
    height: 23px;
    margin: -12px 0 0;
    background-position: 0 -60px;
}
.filter_map .text_wrap:before{
    width: 17px;
    height: 25px;
    margin: -13px 0 0;
    background-position: 0 -90px;
}
.filter_city.open .text_wrap,
.filter_train.open .text_wrap,
.filter_companies.open .text_wrap,
.filter_map.open .text_wrap{
    text-decoration: none;
}

.filter_condition_wrap,
.filter_map_wrap{
    width: 1040px;
    margin: 0 auto 30px;
    padding: 0 0 25px;
    background: url(images/bg_plaza_title.png) no-repeat 0 100%;
}
.filter_condition_box,
.filter_map_box{
    padding: 15px 20px;
    border: 2px solid #d1d1d1;
    border-top: none;
}
.filter_text_wrap{
    display: table;
    width: 100%;
    margin: 0 0 15px;
}
.filter_text{
    display: table-cell;
    vertical-align: bottom;
    height: 30px;
    font-size: 1.071em;
}

/* 市区から探す/路線から探す */
.check_city_list,
.check_train_list{
    overflow: hidden;
}
.check_city_list ul{
    margin: -8px 0 0;
}
.check_city_list li{
    float: left;
    width: 16.6%;
    margin: 8px 0 0;
    padding: 0 10px 0 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
.check_city_list li:nth-child(6n+7){
    clear: both;
}
.check_city_list li label{
    position: relative;
    display: inline-block;
}
.check_city_list li input{
    position: absolute;
    top: 0;
    left: -1px;
    -moz-transform: scale(0);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
}
.check_city_list li span{
    display: inline-block;
    padding: 0 0 0 23px;
    text-decoration: underline;
    font-size: 0.929em;
    color: #1579bf;
    cursor: pointer;
}
.check_city_list li span::before{
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 19px;
    background: url(images/ico_checkbox.png) no-repeat 0 0;
    content: "";
}
.check_city_list li input:checked + span::before{
    background-position: 0 -19px;
}
.check_train_list > ul > li{
    display: block;
    padding: 15px 0;
    border-bottom: 1px dotted #d1d1d1;
}
.check_train_list > ul > li:after{
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
    content: ".";
}
.check_train_list ul > li:last-child{
    border-bottom: none;
}
.check_train_list .rail_name{
    width: 130px;
    float: left;
    padding: 0 10px;
    font-weight: bold;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
.check_train_list_inner{
    overflow: hidden;
}
.check_train_list_inner > ul{
    margin: -8px 0 0 -21px;
}
.check_train_list_inner > ul > li{
    float: left;
    margin: 8px 0 0 10px;
    padding: 0 0 0 10px;
    border-left: 1px solid #d9d9d9;
}
.check_train_list_inner > ul > li label{
    position: relative;
    display: inline-block;
}
.check_train_list_inner > ul > li input{
    position: absolute;
    top: 0;
    left: -1px;
    -moz-transform: scale(0);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
}
.check_train_list_inner > ul > li span{
    display: inline-block;
    text-decoration: underline;
    font-size: 0.929em;
    color: #1579bf;
    cursor: pointer;
}
.check_train_list_inner > ul > li .line{
    padding: 0 0 0 23px;
}
.check_train_list_inner > ul > li .line::before{
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 19px;
    background: url(images/ico_checkbox.png) no-repeat 0 0;
    content: "";
}
.check_train_list_inner > ul > li input:checked + .line::before{
    background-position: 0 -19px;
}
.item_notfound{
    text-align: center;
}

/* 絞り込むボタン/すべてのチェックを外す */
.filter_btn{
    position: relative;
    margin: 30px 0 0;
    text-align: center;
}
.city_filter,
.train_filter,
.companies_filter{
    display: inline-block;
    width: 260px;
    padding: 5px 0;
    border: 1px solid #0ab38e;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -ms-border-radius: 3px;
}
.train_filter{
    margin: 0 0 0 10px;
}
.city_filter:hover,
.train_filter:hover,
.companies_filter:hover{
    opacity: 0.7;
}
.filter_plus{
    position: relative;
    display: inline-block;
    padding: 0 0 0 28px;
    font-size: 1.071em;
    color: #555;
}
.filter_plus:before{
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    margin: -9px 0 0;
    background: #0ab38e;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    -ms-border-radius: 10px;
    content: "";
}
.filter_plus span:before{
    display: block;
    position: absolute;
    left: 4px;
    top: 50%;
    width: 10px;
    height: 2px;
    margin: -1px 0 0;
    background: #fff;
    content: "";
}
.filter_plus span:after{
    display: block;
    position: absolute;
    left: 8px;
    top: 50%;
    width: 2px;
    height: 10px;
    margin: -5px 0 0;
    background: #fff;
    content: "";
}
a.check_reset_btn{
    display: block;
    position: absolute;
    right: 0;
    top: 2px;
    padding: 6px 10px;
    text-decoration: none;
    background: #e8e8e8;
    font-size: 0.857em;
    color: #333;
    white-space: nowrap;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -ms-border-radius: 3px;
}
a.check_reset_btn:hover{
    opacity: 0.7;
}

/* 取扱保険会社から探す */
.check_companies_list{
    overflow: hidden;
}
.check_companies_list ul{
    margin: -8px 0 0;
}
.check_companies_list li{
    float: left;
    width: 25%;
    margin: 8px 0 0;
    padding: 0 10px 0 0;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
.check_companies_list li:nth-child(4n+5){
    clear: both;
}
.check_companies_list li label{
    position: relative;
    display: inline-block;
}
.check_companies_list li input{
    position: absolute;
    top: 0;
    left: -1px;
    -moz-transform: scale(0);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
}
.check_companies_list li span{
    display: inline-block;
    text-decoration: underline;
    font-size: 0.929em;
    color: #1579bf;
    padding: 0 0 0 23px;
    cursor: pointer;
}
.check_companies_list li span::before{
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 19px;
    background: url(images/ico_checkbox.png) no-repeat 0 0;
    content: "";
}
.check_companies_list li input:checked + span::before{
    background-position: 0 -19px;
}
/* 地図から探す */
.map_info_wrap{
    width: 330px;
    padding: 5px 0 0;
}
.map_info{
    overflow: hidden;
    margin: 0 0 10px;
}
.map_image{
    float: left;
    width: 100px;
    height: auto;
    margin: 0 10px 0 0;
}
.map_text{
    overflow: hidden;
    line-height: 1.2;
    padding: 3px 0 0;
}
.map_name{
    margin: 0 0 10px;
}
.map_caution{
    margin: 0 0 5px;
    text-align: center;
    pointer-events: auto;
}
.map_caution a{
    color: #000;
}
.map_caution a:hover{
    opacity: 0.6;
}
.map_btn_wrap{
    padding: 0 0 3px;
    text-align: center;
}
a.map_detail_btn,
a.map_reservation_btn{
    display: inline-block;
    width: 120px;
    padding: 3px 0;
    text-decoration: none;
    text-align: center;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -ms-border-radius: 4px;
    pointer-events: auto;
}
.map_detail_btn{
    background: #fecdbd;
    color: #555;
    box-shadow : 0 3px 0 0 #feac92;
    -moz-box-shadow : 0 3px 0 0 #feac92;
    -webkit-box-shadow : 0 3px 0 0 #feac92;
    -ms-box-shadow : 0 3px 0 0 #feac92;
}
.map_detail_btn:hover{
    background: #fde5dd;
    box-shadow : 0 3px 0 0 #fecdbd;
    -moz-box-shadow : 0 3px 0 0 #fecdbd;
    -webkit-box-shadow : 0 3px 0 0 #fecdbd;
    -ms-box-shadow : 0 3px 0 0 #fecdbd;
}
.map_reservation_btn{
    margin: 0 0 0 5px;
    background: #fd5925;
    color: #fff;
    box-shadow : 0 3px 0 0 #dc350c;
    -moz-box-shadow : 0 3px 0 0 #dc350c;
    -webkit-box-shadow : 0 3px 0 0 #dc350c;
    -ms-box-shadow : 0 3px 0 0 #dc350c;
}
.map_reservation_btn:hover{
    background: #fe8a66;
    box-shadow : 0 3px 0 0 #e67154;
    -moz-box-shadow : 0 3px 0 0 #e67154;
    -webkit-box-shadow : 0 3px 0 0 #e67154;
    -ms-box-shadow : 0 3px 0 0 #e67154;
}
/* 選択中の条件 */
.filter_select_wrap{
    overflow: hidden;
    float: left;
    padding: 3px 0;
}
.filter_select_text{
    display: inline-block;
    margin: 5px 0 0;
    font-weight: bold;
}
.filter_select_list,
.filter_select_list ul,
.filter_select_list li{
    display: inline-block;
}
.filter_select_list > ul > li{
    margin: 5px 0 0;
}
.filter_select_list .city_list,
.filter_select_list .train_list,
.filter_select_list .companies_list{
    position: relative;
    padding: 0 20px 0 28px;
}
.filter_select_list .city_list:before,
.filter_select_list .train_list:before,
.filter_select_list .companies_list:before{
    position: absolute;
    left: 4px;
    top: 0;
    height: 19px;
    width: 13px;
    background: url(images/ico_filter.png) no-repeat 0 0;
    content: "";
}
.filter_select_list .city_list:before{ left: 0; width: 22px; background-position: -28px 0;}
.filter_select_list .train_list:before{ background-position: -28px -30px;}
.filter_select_list .companies_list:before{ background-position: -28px -60px;}
.filter_select_list li li:not(:last-child):after{
    content: "、";
}
/* 該当店舗 */
.result_number_wrap{
    display: none;
    min-height: 30px;
    line-height: 1.2;
}
.result_number_bottom{
    margin: 14px 0 0;
    padding: 5px 20px;
    background: #f4f2ea;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -ms-border-radius: 3px;
}
.result_number_cell{
    float: right;
    margin: 0 0 0 10px;
}
.result_number{
    font-size: 1.143em;
    display: inline-block;
}
.result_number span{
    font-weight: bold;
    font-size: 1.5em;
    color: #dc350c;
}
/* 該当件数なし */
.result_notfound{
    display: inline-block;
    margin: 0 0 0 10px;
}
/* 初期値は非表示にする要素 */
.filter_map_wrap,
.check_train_list,
.check_companies_list,
.filter_select_wrap{
    display: none;
}

/* オンライン保険相談動画バナー
---------------------------------------------------------------- */
.main_visual_online {
    display: flex;
    margin:0 auto 48px;
    width: 1038px;
    height: 270px;
    background: #f6f6f6;
    border: 1px solid #a59a6a;
}
.main_visual_online .about {
    width: 100%;
    text-align: center;
}
.main_visual_online .mv_online_image {
    display: inline-block;
    margin-top: 15px;
    max-width: 302px;
}
.main_visual_online .mv_online_image img {
    width: 100%;
    height: auto;
}
.main_visual_online .link_box,
.main_visual_online .link_box p.link_txt {
    text-align: center;
}
.main_visual_online .link_box a.btn,
.hokende-header .link_box a.btn {
    position: relative;
    display: block;
    padding: 10px 25px 10px 10px;
    max-width: 340px;
    background: #624731;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    text-decoration:none;
    line-height: 1;
    color: #fff;
    border-radius: 5px;
    box-shadow: 0px 2px 1px 0px #4e3827;
}
.main_visual_online .link_box a.btn {
    margin: 15px auto 10px;
}
.main_visual_online .link_box a.btn span,
.main_visual_online .link_box p.link_txt span,
.hokende-header .link_box a.btn span,
.hokende-header .link_box p.link_txt span {
    white-space: nowrap;
}
.main_visual_online .link_box a.btn::after,
.hokende-header .link_box a.btn::after {
    display: block;
    position: absolute;
    top: calc((100% - 20px)/2);
    right: 8px;
    width: 20px;
    height: 20px;
    content: "";
    background-image: url("images/top/main_visual/mv_online_btn_icon.png");
    background-size: 100%;
}
.main_visual_online .link_box a.btn:hover,
.hokende-header .link_box a.btn:hover {
    opacity: 0.8;
    transition: all 0.3s ease;
}
.main_visual_online .link_box p.link_txt a {
    position: relative;
    display: inline-block;
    padding: 0 15px 0 0;
    font-size: 13px;
}
.main_visual_online .link_box p.link_txt a::after {
    position: absolute;
    top: 26%;
    right: 0;
    width: 7px;
    height: 7px;
    content: '';
    border-top: 2px solid #bfb793;
    border-right: 2px solid #bfb793;
    transform: rotate(45deg);
}
.hokende-header .link_box a.btn {
    margin: -10px 0 10px auto;
}
