@charset "utf-8";

/*----------------------------------------------------
 共通 
----------------------------------------------------*/
/*　ベース */
.clinicsearch .aa_content-main,
.clinicsearch .aa_content-side {
    font-size: 13px;
}
/* 見出し */
.h-area {position: relative; margin-bottom: 20px;}
.h2-border {
    border-bottom: 1px solid #CCC;
    -webkit-box-shadow: 0 4px 6px -3px #CCC;
    box-shadow: 0 4px 6px -3px #CCC;
    padding-left: 10px;
    margin-bottom: 20px;
    position: relative;
    font-weight: bold;
}
h3.label {
    border-left: 7px solid #2ca2df;
    font-size: 18px;
    font-weight: bold;
    padding-left: 10px;
    margin-bottom: 10px;
}
/* 横並びレイアウト */
.area-box {
    width: 196px;
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
    margin-bottom: 10px;
    margin-right: 15px;
}
.area-box .label {
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
}
.area-box li {
    margin: 0 10px 7px 0;
    color: #777;
}
/* 東京都リスト */
.tokyo .label {
    border-bottom: 1px solid #CCC;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
}
.tokyo .inner li {
    color: #777;
    margin-bottom: 7px;
    margin-right: 15px;
    width: 93px;
}
/* 検索ラジオボタン */
.specialized-radio li {
    background: #FFF;
    border: 1px solid #CCC;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    padding: 3px 5px;
    display: inline-block;
    margin-bottom: 5px;
}
/* 数値 */
.count-num {
    padding-left: 0.5em;
    color: #aaa;
}
/* ページネーション上書き */
.aa_pagination {
    background: none;
    margin: 10px 0;
}
.aa_pagination-number {
    border: 1px solid #efefe0;
}
.aa_pagination-number.current {
    background: #efefe0;
}

/*----------------------------------------------------
 アイコン
----------------------------------------------------*/
.icon-clinic {
    background: transparent url(//img.aacdn.jp/aa/clinic/clinic-sprite.png) no-repeat 0 0;
}
.pickup {
    width: 34px;
    height: 34px;
    background-position: -662px 0;
}
.jump {background-position: -8px -4px;}
.syllabary {background-position: -754px -10px;}
.town {
    width: 30px;
    height: 31px;
    background-position: -663px -51px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    *vertical-align: top;
    margin-right: 7px;
}
.station {
    width: 30px;
    height: 31px;
    background-position: -717px -51px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    *vertical-align: top;
    margin-right: 7px;
}
.circle {
    width: 18px;
    height: 18px;
    background-position: -778px -58px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    *vertical-align: top;
    margin-right: 7px;
}
.filter {
    width: 30px;
    height: 31px;
    background-position: -659px -90px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    *vertical-align: top;
    margin-right: 7px;
}
.new-window {
    background-position: -119px -35px;
    height: 10px;
    margin: 5px 5px 0 0;
    width: 12px;
}

/*----------------------------------------------------
 トップ
----------------------------------------------------*/
.clinic-search-area .h2-border {padding: 0 0 7px 10px;}
.clinic-search-area .legend {
    position: absolute;
    right: 10px;
    top: 20px;
}

/*----------------------------------------------------
 トップ：病院・歯科のクイック検索
----------------------------------------------------*/
.clinic-search-box {
    border: 2px solid #2ca2df;
    border-radius: 3px;
    margin-bottom: 20px;
}
.clinic-search-box.blue-box {background: #d6f0fd;}
.clinic-search-box .h-area {
    height: 37px;
    border-bottom: 1px solid #59b6e6;
    margin-bottom: 0px;
}
.clinic-search-box .h-area .quick-title {position: absolute; top: -14px;}
.clinic-search-box .inner {padding: 10px; position: relative;}
.clinic-search-box .inner select[disabled] {
    background:#f0f0f0;
}
.clinic-search-box .tokyo .inner {
    padding: 0;
}
.clinic-search-box .left-box {width: 322px;}
.clinic-search-box .left-box li {margin-bottom: 5px;}
.clinic-search-box .left-box select {
    width: 322px;
    height: 27px;
    border: 3px solid #fbc672;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    line-height: 100%;
    vertical-align:middle;
}
.clinic-search-box .right-box {width: 304px;}
.clinic-search-box .search-p {
    display: block;
    width: 152px;
    height: 42px;
    padding-left: 152px;
}
.clinic-search-box .search-p .search-bt {
    display: block;
    width: 152px;
    height: 42px;
    background-position: 0 -98px;
    text-indent: -9999px;
}
.clinic-search-box .search-p .search-bt-none {
    display: block;
    width: 152px;
    height: 42px;
    background-position: 0 -145px;
    text-indent: -9999px;
}

/*----------------------------------------------------
 トップ：病院・歯科を条件から検索
----------------------------------------------------*/
.clinic-search-box.clinic-search-section .content-wrap > .label {
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #CCC;
    margin-bottom: 5px;
}
.clinic-search-box.clinic-search-section .content-wrap > .label .icon-clinic {
    display:inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
    letter-spacing:normal;
}
.clinic-search-box.clinic-search-section .content-wrap > .label .text {
    height: 30px;
    line-height: 35px;
}
.h-area .title {position: absolute; top: 3px;}
.tab {width: 189px; *display: block;}
.tab li {height: 44px; margin-top: 10px;}
.tab li a {
    height: 44px;
    margin-top: 10px;
    display: block;
    text-indent: -9999px;
}
.area-station { background-position: 0 0; }
.subject { background-position: -210px 0; }
.speciality { background-position: -429px 0; }
.select .area-station { background-position: 0 -45px; }
.select .subject { background-position: -210px -45px; }
.select .speciality { background-position: -429px -45px; }
.select .trans:hover { opacity: 1; cursor: default;}
/* 地域・駅から探す */
.clinic-search-section .content-wrap ~ .content-wrap {
    margin-top: 20px;
}
.clinic-search-section .map-icon {
    width: 32px;
    height: 34px;
    background-position: -662px -131px;
    margin-right: 7px;
}
.clinic-search-section .subject-icon {
    width: 32px;
    height: 34px;
    background-position: -716px -131px;
    margin-right: 7px;
}
.clinic-search-section .content-wrap {
    width: auto;
    border: none;
    border-radius: 0px;
    padding: 0;
}
.clinic-search-section .area-wrap  {
    margin-top: 10px;
}
.clinic-search-section .area-box li {
    margin: 0 13px 7px 0;
    color: #777;
}
.clinic-search-section .tokyo .label {
    margin-bottom: 10px;
}
.clinic-search-section .tokyo .inner li {
    margin-right: 20px;
    margin-bottom: 7px;
    width: 136px;
}
.clinic-search-section .subject-list,
.clinic-search-section .expert-list {
    margin-top: 10px;
}
.clinic-search-section .subject-list {border-bottom: 1px dashed #CCC; margin-bottom: 10px; }
.clinic-search-section .subject-list li,
.clinic-search-section .dental-list li,
.clinic-search-section .expert-list li {
    margin-bottom: 7px;
    width: 165px;
}

/*----------------------------------------------------
 トップ：ピックアップ
----------------------------------------------------*/
.pickup-area h2 span {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
}
.pickup-area h2 .text {font-size: 20px; margin-left: 7px;}
.pickup-box {
    border: 1px solid #CCC;
    border-radius: 5px;
    padding: 10px 10px 5px;
    margin-bottom: 20px;
}
.pickup-box .h-area {
    border-bottom: 1px solid #CCC;
    padding-bottom: 5px;
    margin-bottom: 10px;
    position: relative;
}
.pickup-box .h-area h3 {
    border-left: 7px #C00 solid;
    font-size: 14px;
    font-weight: bold;
    text-indent: 7px;
}
.pickup-box .list-link {
    position: absolute;
    top: 0;
    right: 0;
}
.pickup-box .inner li {
    vertical-align: top;
    margin-bottom: 7px;
    width: 165px;
    padding-right: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*----------------------------------------------------
 一覧：共通
----------------------------------------------------*/
.mod-section .h-area {
    border-bottom: 1px solid #CCC;
    padding-bottom: 5px;
    margin-bottom: 20px;
}
.mod-section-title {border-left: 10px #C00 solid; padding-left: 7px;font-size: 24px;font-weight: bold;}
.mod-section .read {margin-bottom: 20px;}
/* whole-box */
.whole-box {
    border: 1px solid #CCC;
    padding: 15px;
    margin-bottom: 20px;
}
.whole-box-title {
    margin-bottom: 15px;
    background: #eee;
    padding: 5px 10px;
    font-size: 15px;
    font-weight: bold;
}
.whole-box .content-wrap {
    padding: 0 10px 10px;
}
.whole-box .area-box {width: 199px;}
/* other */
.jump-link {
    border: 1px solid #CCC;
    padding: 10px;
    margin-bottom: 20px;
}
.jump-link li {margin: 3px 15px 3px 0;}
.short-text {margin-bottom: 10px;}

/*----------------------------------------------------
 一覧：都道府県・路線 / 都道府県・市区町村
----------------------------------------------------*/
.town-section,
.station-section {margin-bottom: 15px;}
.syllabary-box .syllabary-label {
    background: #eee;
    padding: 5px 5px 5px 10px;
    margin-bottom: 10px;
    font-weight: bold;
}
.syllabary-box li {
    margin-bottom: 15px;
    margin-right: 10px;
    color: #aaa;
    width: 156px;
}
.syllabary-box li .item {width: 142px;}
.syllabary-border {
    border: 1px solid #3a76e2;
    padding: 15px;
    margin-bottom: 40px;
}
.syllabary-border li {width: 153px;}
/* 五十音 */
.syllabary-list {letter-spacing: -.40em; margin-bottom: 10px;}
.syllabary-list li {
    padding-left: 15px;
    margin-right: 10px;
}

/*----------------------------------------------------
 一覧： ~~で絞り込む
----------------------------------------------------*/
.search-section .hit {font-size: 16px; margin-bottom: 5px;}
.search-section .hit span {
    color: #f29722;
    font-weight: bold;
    font-size: 24px;
}
.search-section .search-box {
    border: 1px solid #CCC;
    border-top: 3px solid #3a76e2;
    margin-bottom: 20px;
}
.search-box h3 {
    border-bottom: 1px #CCC dashed;
    font-size: 16px;
    padding: 5px 10px;
}
.search-box h3 .text {
    width: 605px;
    height: 31px;
    line-height: 33px;
    display: inline-block;
    font-weight: bold;
    vertical-align: top;
}
.search-box .inner {padding: 10px 10px 5px; position: relative;}
.search-box .inner li {margin-bottom: 5px;}
.search-box .inner select {
    width: 322px;
    height: 27px;
    border: 3px solid #fbc672;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    line-height: 100%;
    vertical-align:middle;
}
.search-box .inner .search-p {
    position: absolute;
    right: 10px;
    bottom: 10px;
    height: 32px;
    padding-left: 0;
    width: 116px;
}
.search-box .inner .attention {
    position: absolute;
    right: 160px;
    top: 16px;
    color: #777;
    font-size: 11px;
}
.search-p .search-bt-s {
    display: block;
    width: 116px;
    height: 32px;
    background-position: -429px -108px;
    text-indent: -9999px;
}
.search-p .search-bt-s-none {
    display: block;
    width: 116px;
    height: 32px;
    background-position: -429px -145px;
    text-indent: -9999px;
}

/*----------------------------------------------------
 一覧： 病院情報
----------------------------------------------------*/
.clinic-list .result {
    margin-top: -10px;
    text-align: center;
    margin-bottom: 5px;
}
.clinic-list .result span {
    font-size: 16px;
    font-weight: bold;
    color: #f29722;
}
.clinic {
    border: 1px solid #CCC;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    margin-bottom: 20px;
}
.clinic .detail-link {
    position: absolute;
    top: 7px;
    right: 10px;
    border: 1px solid #FFF;
    border-radius: 3px;
    padding: 3px 10px 3px 18px;
}
.clinic .detail-link:after {
    content: '';
    display: block;
    position: absolute;
    left: 5px;
    top: 8px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0 3px 6px;
    border-color: transparent transparent transparent #fff;
}
.clinic .detail-link a {color: #FFF;}
.clinic .list-header {
    background: #2ca2df;
    display: block;
    padding: 10px;
    position: relative;
}
.clinic .clinic-name {width: 500px;}
.clinic .clinic-name a {
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    display: block;
}
.clinic .inner {padding: 10px;}
.clinic .inner .subject {margin-bottom: 10px;}
.circle-label .text {
    height: 18px;
    line-height: 18px;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
    font-size: 14px;
    font-weight: bold;
}
.subject li {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
}
.subject li:after {
    content: " / ";
}
.subject li:last-child:after{
    content: none;
}
.circle-label {margin-bottom: 5px;}
.clinic-bottom-area .left-box {width: 360px;}
.clinic-bottom-area .left-box dl {
    letter-spacing: -.40em;
    margin-bottom: 5px;
}
.clinic-bottom-area .left-box dt {
    background: #2ca2df;
    color: #FFF;
    width: 62px;
    height: 17px;
    line-height: 17px;
    text-align: center;
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
    letter-spacing: normal;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 2px 0;
}
.clinic-bottom-area .left-box dd {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    vertical-align: top;
    letter-spacing: normal;
    width: 293px;
    margin-bottom: 5px;
}
.clinic-bottom-area .right-box {width: 260px;}
.map-s {width: 260px; height: 195px;}
/* 診療時間テーブル */
.reception-table {
    width: 358px;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 3px;
}
.reception-table th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    vertical-align: middle;
}
.reception-table .reception {width: 89px;}
.reception-table td {
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: center;
    vertical-align: middle;
}
.clinic-bottom-area .small-s {margin-bottom: 5px;}
.feature-list {
    margin-bottom: 10px;
}
.feature-list li {
    background: #eeadb9;
    border-radius: 3px;
    padding: 2px 7px;
    margin: 0 5px 0 0;
}
.clinic-list .result {
    margin-top: -10px;
    text-align: center;
    margin-bottom: 5px;
}
.clinic-list .pagenation-box {margin-bottom: 20px; text-align: center;}

/*----------------------------------------------------
 詳細
----------------------------------------------------*/
/* table */
.detail-table {
    width: 685px;
    border: 1px #E3E3E3 solid;
    border-left: none;
    border-right: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 20px;
}
.detail-table th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 0;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 120%;
    text-align: left;
    padding: 10px;
    vertical-align: middle;
    width: 130px;
}
.detail-table td {
    padding: 10px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
    vertical-align: middle;
    word-break: break-all;
}
.detail-table td.tel {
    color: #C00;
    font-size: 20px;
    font-weight: bold;
}
.detail-table td.tel .text {
    color: #000;
    font-size: 14px;
    font-weight: bold;
    vertical-align: middle;
}
/* 診療時間テーブル */
.reception-inner-table {
    width: 458px;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 3px;
}
.reception-inner-table th {
    padding: 5px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #F5F5F5;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    vertical-align: middle;
}
.reception-inner-table .reception {width: 25%;}
.reception-inner-table td {
    padding: 5px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: center;
    vertical-align: middle;
}
/* poliy */
.policy {
    margin-bottom: 20px;
    color: #777;
    font-size: 12px;
}
/* map */
.map {
    width: 685px;
    height: 400px;
    margin: 0 auto 20px;
}
.iframe-wrapper {
    margin: 10px 0;
    text-align: center;
}
/* 近くの病院を探す */
.near-serch-section {
    margin-bottom: 20px;
    border: #CCC 1px solid;
}
.near-serch-section .label {
    border-bottom: 1px dashed #CCC;
    padding: 10px;
    margin-bottom: 10px;
}
.near-serch-section .station-text {color: #777; padding-left: 10px;}
.near-serch-section ul {
    padding: 0px 10px;
}
.near-serch-section li {
    width: 190px;
    margin: 0 20px 10px 0;
}
.near-serch-section .clinic-text a {
    display: inline;
}
/* contact-table */
.contact-table {
    width: 663px;
    border: 1px #E3E3E3 solid;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 3px;
    margin-bottom: 10px;
}
.contact-table th {
    padding: 10px;
    border: #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    background: #FeFeFe;
    font-weight: bold;
    line-height: 120%;
    text-align: left;
    vertical-align: middle;
    width: 135px;
}
.contact-table .headline {
    background: #2ca2df;
    color: #FFF;
    width: 120px;
}
.contact-table td {
    padding: 10px;
    border: 1px #E3E3E3 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
    vertical-align: middle;
}
.contact-table input {
    width: 250px;
    height: 20px;
    border: 1px solid #CCC;
}
.contact-table select {
    width: 200px;
    height: 25px;
    border: 1px solid #CCC;
}
.contact-table textarea {
    width: 450px;
    height: 200px;
    border: 1px solid #CCC;
}
.contact-table .reception-table th {text-align: center;}
/* ソーシャルボタン */
.clinic-sns {
    text-align: right;
    margin-top: 20px;
}
.clinic-sns li {
    margin-right: 10px;
}
.clinic-sns li.tw {width: 95px;}
.clinic-sns li.ht {width: 40px;}
.detail-table .small,
.clinic-bottom-area .small-s {
    color: #C00;
    font-size: 12px;
}
/* other */
.text-box {padding: 0 10px; margin-bottom: 20px;}

/*----------------------------------------------------
 右カラム
----------------------------------------------------*/
.aa_side-section .title-label {
    margin-bottom: 5px;
    position: relative;
    font-weight: bold;
}
.aa_side-section .title-label.jump-down {
    padding-left: 15px;
}
.aa_side-section .title-label.jump-down:after {
    content: '';
    display: block;
    position: absolute;
    top: 0.4em;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 4px 0 4px;
    border-color: #007bff transparent transparent transparent;
}
.aa_side-section .label ~ .label {
    margin-top: 10px;
}

/*----------------------------------------------------
 歯科検索：一覧
----------------------------------------------------*/
.medical-treatment-box {
    margin-bottom: 26px;
}
.medical-treatment-box .hospital-pic {
    margin-right: 15px;
}
.medical-treatment-box .hospital-pic + .medical-treatment {
    width: 388px;
}
.medical-treatment-box .medical-treatment {
    margin-top: 12px;
}
/* アイコン */
.reservation-web-icon {
    display: inline-block;
    vertical-align: middle;
    background-position: -780px 0;
    width: 20px;
    height: 17px;
    margin: 0 10px 2px 0;
}
.reservation-tel-icon {
    display: inline-block;
    vertical-align: middle;
    background-position: -780px -30px;
    width: 13px;
    height: 18px;
    margin: 0 5px 2px 0;
}
/* 予約ボタン */
.reservation {
    display: block;
    border-bottom: 1px dashed #d6d6d6;
    font-size: 16px;
    padding-bottom: 10px;
    margin-bottom: 14px;
    letter-spacing: -.40em;
}
.btn-reservation-web {
    display: inline-block;
    background: #009944;
    border-radius: 4px;
    width: 320px;
    height: 42px;
    letter-spacing: normal;
    margin-right: 23px;
}
.btn-reservation-web a {
    display: table-cell;
    vertical-align: middle;
    background: #7ac943;
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    width: 320px;
    height: 40px;
    line-height: 40px;
    text-align: center;
}
.btn-reservation-web-s {
    display: inline-block;
    background: #009944;
    border-radius: 4px;
    width: 260px;
    height: 35px;
    letter-spacing: normal;
}
.btn-reservation-web-s a {
    display: table-cell;
    vertical-align: middle;
    background: #7ac943;
    border-radius: 4px;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    width: 260px;
    height: 33px;
    line-height: 33px;
    text-align: center;
}
.btn-reservation-tel {
    display: inline-block;
    background: #c1272d;
    border-radius: 4px;
    width: 320px;
    height: 42px;
    letter-spacing: normal;
}
.btn-reservation-tel-inner {
    display: table-cell;
    vertical-align: middle;
    background: #f7931e;
    border-radius: 4px;
    color: #fff;
    font-weight: bold;
    width: 320px;
    height: 40px;
    line-height: 40px;
    text-align: center;
}
.btn-reservation-web a:hover,
.btn-reservation-web-s a:hover,
.btn-reservation-tel a:hover{
    text-decoration: none;
}
.btn-reservation-tel .free {
    display: inline-block;
    vertical-align: middle;
    background: #fff;
    border-radius: 10px;
    color: #f7931e;
    font-size: 14px;
    line-height: 22px;
    width: 45px;
    height: 20px;
    margin-right: 10px;
    position: relative;
    top: 9px;

}
.btn-reservation-tel .yoyaku {
    margin-right: 15px;
}

/*----------------------------------------------------
 歯科検索：詳細
----------------------------------------------------*/
.medical-treatment-box02 {
    border-bottom: 1px dashed #d6d6d6;
    padding: 0 12px 20px;
    margin-bottom: 20px;
}
.medical-treatment-box02 .reservation {
    border-bottom: none;
}
.medical-treatment-box02 .btn-reservation-web {
    margin-right: 21px;
}
.medical-treatment-box02 .hospital-pic-box {
    letter-spacing: -.40em;
    width: 661px;
    text-align: center;
    margin-bottom: 20px;
}
.medical-treatment-box02 .hospital-pic02 li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
}
.medical-treatment-box02 .hospital-pic02 li:last-child {
    margin-left: 8px;
}
.medical-treatment-box02 .hospital-pic02 .sub01 {
    display: block;
    margin-bottom: 8px;
}



