@charset "utf-8";

body {min-width: 1200px;}
#ga {position:fixed;bottom:0;left:0;z-index:9999;color:#f00;}

/* =============================================================
    custom pc(共通CSSにあって値を変更したいもの、独自に設定したいものを記述)
============================================================= */
.floatL {
    float: left;
    margin: 0 2em 0 0;
}
.floatR {
    float: right;
    margin: 0 0 0 2em;
}
.rtxtC {text-align:center;}
.rbr-pc {display: none;}
/* section */
.sec {
    margin: 0 0 100px;
    position: relative;
}
.sec-inner:not(:last-child) {margin-bottom: 60px;}
/* title */
.title-1 {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    padding: 0 0 30px;
    position: relative;
}
.title-1::after {
    background: #444;
    content: "";
    margin: auto;
    height: 1px;
    width: 72px;
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
}
.title-2 {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 1px;
    margin: 0 0 35px;
}
.title-3 {
    border-bottom: 1px solid #fff;
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 15px;
    padding-bottom: 10px;
}
.title-4 {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    position: relative;
    margin-bottom: 35px;
    padding-bottom: 25px;
}
.title-4::after {
    background: url(images/dot_bg.jpg);
    content: "";
    display: block;
    width: 100%;
    height: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
}
/* table */
.table-1 th,
.table-1 td {
    border-top: 1px solid #d2d2d2;
    border-bottom: 1px solid #d2d2d2;
    font-size: 1.4rem;
    padding: 20px 10px;
}
.table-1 th {
    width: 20%;
}
/* button */
.btn-wrap {text-align: center;}
.home-menu-box .btn-1,
a.btn-1 {
    background: #147661;
    border-radius: 5px;
    color: #fff;
    display: inline-block;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    padding: 16px 40px;
    min-width: 35%;
}
.home-menu-box .btn-1.s,
a.btn-1.s {
    background: #147661 url(svg/icon_arrow.svg) no-repeat right 10px top 50% / 7px;
    font-size: 1.2rem;
    padding: 8px 30px 8px 20px;
    min-width: initial;
}
a.btn-1.access {
    background: #147661 url(svg/icon_pin.svg) no-repeat left 10px top 50% / 12px;
    font-size: 1.2rem;
    padding: 8px 15px 8px 35px;
    min-width: initial;
}
.btn-1--reserve {
    fill: #fff;
    vertical-align: bottom;
    margin-right: 10px;
}
/* pagetitle */
.pagetitle-wrap {
    background: url(images/pageTitle_bg.jpg) no-repeat 0 0 / cover;
    font-size: 1.4rem;
    text-align: center;
    margin: 0 0 80px;
    padding: 75px 15px;
}
.page-about .pagetitle-wrap {background: url(images/pagetitle_about.jpg) no-repeat 0 0 / cover;}
.page-cardiology .pagetitle-wrap {background: url(images/pagetitle_cardiology.jpg) no-repeat 0 0 / cover;}
.page-faq .pagetitle-wrap {background: url(images/pagetitle_faq.jpg) no-repeat 0 0 / cover;}
.page-info .pagetitle-wrap {background: url(images/pagetitle_info.jpg) no-repeat 0 0 / cover;}
.page-internal .pagetitle-wrap {background: url(images/pagetitle_internal.jpg) no-repeat 0 0 / cover;}
.pagetitle {
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 2px;
    position: relative;
    padding-bottom: 19px;
}
.pagetitle::after {
    background: #666;
    content: "";
    display: block;
    width: 70px;
    height: 1px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}
/* breadCrumb */
.breadcrumb-wrap {padding: 20px 0 0;}
.breadcrumb {
    display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
}
.breadcrumb li:not(:last-child)::after {
    content: ">";
    margin: 0 0.3em;
}
.breadcrumb,
.breadcrumb a {
    /* color: #999; */
    font-size: 1.1rem;
}
.scale {
    overflow: hidden;
}
.scale img {
    transition: transform .4s ease-out;
}
/* =============================================================
    wrap,box
============================================================= */
.header-wrap,
.mainnav,
.sec-inner,
.content-wrap,
.contact-area-inner,
.home-news-inner,
.home-menu {
    margin-left:auto;
    margin-right:auto;
    max-width: 1160px;
}
.content-wrap {
    padding: 0 0 80px;
}
.content-wrap::after {content: "."; display: block;clear: both;height: 0;visibility: hidden;}
.content {
    float: right;
    width: 860px;
}
.sidebar {
    font-size: 1.4rem;
    float: left;
    width: 240px;
}
.pink-box,
.gray-box,
.blue-box {
    border-bottom: 1px solid #f6f6f6;
    margin-bottom: 45px;
    padding: 30px 40px;
}
.pink-box {
    background: #f2e8e9;
}
.gray-box {
    background: #eee;
}
.blue-box {
    background: #e5f0ee;
}
/* =============================================================
    header
============================================================= */
.header-wrap {
    padding: 12px 0 24px;
    position: relative;
    z-index: 10;
}
/*.header-wrap .kuhara-link-btn {
    position: fixed;
    right: 10px;
    top: 10px;
}*/
/* header-desc
--------------------------------- */
.header-desc {
    font-size: 1.1rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding: 0 0 40px;
}
/* header-logo
--------------------------------- */
.header-logo {
    display: block;
    text-align: center;
    width: 410px;
}
.logo {
    margin: 0 0 12px;
}
.logo-text {
    border-top: 1px solid #ccc;
    color: #595959;
    font-size: 1.3rem;
    font-weight: 700;
    padding: 7px 0 0;
}
/* header-content
--------------------------------- */
.header-content {
    /* font-size: 1.2rem;
    margin: 0 0 0 auto;
    width: 360px; */
    display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
    position: absolute;
    right: 18%;
    top: 70px;
}
.tel-sub {
    font-size: 1.1rem;
}
.header-tel {
    margin: 0 25px;
}
.tel-num {
    margin: 0 0 5px;
}
.header-contact {}
a.header-btn {
    background: url(svg/icon_mail.svg) no-repeat 22px 50% / 15px;
    border-radius: 30px;
    border: 1px solid;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    padding: 12px 22px 12px 42px;
    /* width: 170px; */
}
.header-fixed {
    position: fixed;
    top: 15px;
    right: 2%;
    width: 245px;
    z-index: 1000;
}
.header-fixed a {
    float: right;
    margin-bottom: 10px;
}
.opc8:hover {opacity: .8}
/* main navi
--------------------------------- */
.gnav-wrap {}
.mainnav {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
}
.mainnav li {
    flex: 1 1 auto;
}
.mainnav a {
    display: block;
    font-weight: 700;
    padding: 25px;
    text-align: center;
    position: relative;
}
.mainnav a::after {
    background-color: #147661;
    border-radius: 2px 2px 0 0;
    content: "";
    height: 0;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: .2s height ease;
}
.mainnav a:hover::after,
.mainnav a.stay::after {
    height: 4px;
}

/* =============================================================
    footer
============================================================= */
.footer-wrap {
    text-align: center;
    padding: 0 0 70px;
}

/* footer-map
--------------------------------- */
.footer-map {
    margin: 0 0 60px;
    position: relative;
}
#map {
    height: 470px;
    width: 100%;
}
.map-btn {
    background: #147661 url(svg/icon_arrow_w.svg) no-repeat right 20px top 50% / 8px 12px;
    border-radius: 5px;
    color: #fff !important;
    font-size: 1.4rem;
    text-align: center;
    width: 220px;
    position: absolute;
        bottom: 20px;
        left: 0;
        right: 0;
    margin: auto;
    padding: 10px 0;
}

/* footer navi
--------------------------------- */
.footer-navi {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
    line-height: 1.4;
    margin: 0 auto 35px;
    max-width: 1000px;
}
.footer-navi li {
    margin: 0 0 3px;
}
.footer-navi li:not(:last-child) {
    border-right: 1px solid #ddd;
}
.footer-navi a {
    display: inline-block;
    font-weight: 700;
    padding: 0 10px;
}
/* footer-support
--------------------------------- */
.footer-support {
    font-size: 1.2rem;
    line-height: 1.6;
    margin: 0 0 60px;
}
.footer-support-title {
    font-size: 1.4rem;
    font-weight: 700;
}

/* copyright
--------------------------------- */
.copyright {
    display: block;
    font-size: 1.1rem;
}
/* pagetop
--------------------------------- */
#pagetop {
    background: #147661;
    border-radius: 5px;
    color: #fff;
    display: block;
    font-size: 1rem;
    padding: 15px 0;
    opacity: 0;
    visibility: hidden;
    text-align: center;
    text-decoration: none;
    width: 60px;
    height: 60px;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 100;
}
#pagetop div {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 15px;
    height: 15px;
    transform: rotate(-45deg);
    margin: 0 auto -5px;
    transition: opacity .2s ease-out;
}
#pagetop .pagetop-arrow1 {
    margin-top: 3px;
}
#pagetop .pagetop-arrow2 {
    animation-delay:-.1s;
}
#pagetop .pagetop-arrow3 {
    animation-delay:-.2s;
}
#pagetop:hover div {
    animation-duration: 1.5s;
    animation-name: pagetop_anime;
    animation-timing-function: ease;
    animation-iteration-count: infinite;
}
@keyframes pagetop_anime {
    0% {opacity: 0}
    30% {opacity: 0;}
    40% {opacity: .5;}
    50% {opacity: 1;}
    90% {opacity: 1;}
    100% {opacity: 0;}
}
#pagetop:hover {
    text-decoration: none;
}
#pagetop.on {
    opacity: 1;
    visibility: visible;
}

/* =============================================================
    side
============================================================= */
.side-address {
    font-size: 1.4rem;
    line-height: 1.6;
    padding: 20px 0;
}
.sidebar .schedule th,
.sidebar .schedule td {
    padding: 5px 0;
}

/* side-contact
--------------------------------- */
.side-contact {
    border: 1px solid #aaa;
    text-align: center;
    margin: 0 0 30px;
}
.side-contact-title {
    border-bottom: 1px solid #ddd;
    font-size: 1.2rem;
    padding: 10px;
}
.side-contact-inner {
    padding: 10px 20px 20px;
}
.side-contact-tel {
    font-size: 2.8rem;
}
.side-contact-limit {
    font-size: 1.2rem;
    margin: 0 0 10px;
}
.side-contact .contact-area-btn-1 {
    margin: 0 0 10px
}

/* side-navi
--------------------------------- */
.side-navi {
    border-top: 1px solid #ccc;
    margin: 40px 0;
}
.side-navi li {
    border-bottom: 1px solid #ccc;
}
.side-navi a {
    background: url(svg/icon_arrow_g.svg) no-repeat 0 50% / 8px;
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
    padding: 20px 25px;
}


/* =============================================================
    contact area
============================================================= */
.contact-area {
    border-top: 1px solid #adadad;
    display: flex;
        flex-wrap: wrap;
}
.contact-area::before {
    background: url(images/contact-area_bg.jpg) no-repeat 50% 50% / cover;
    content: "";
    display: block;
    width: 50%;
}
.contact-area-inner {
    display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    padding: 3%;
    width: 50%;
}
.contact-area-left {width: 56%;}
.contact-area-right {width: 40%;}
/* left */
.contact-area-logo {
    border-bottom: 1px solid #ddd;
    text-align: center;
    margin: 0 0 20px;
    padding: 0 0 30px;
}
.contact-area-course {
    padding: 12px 0 0;
}
.contact-area-course li {
    border: 1px solid;
    border-radius: 3px;
    color: #999;
    font-size: 1.2rem;
    display: inline-block;
    margin: 0 2px;
    padding: 3px 5px;
}
.contact-area-address {
    font-size: 1.2rem;
    float: left;
    line-height: 1.5;
}
.contact-area-left .btn-1 {
    float: right;
}
/* right */
.contact-area-right .pickup {
    margin: 0 0 18px auto;
}
/* info */
.contact-area-info {
    background: #e5f0ee;
    margin: 35px 0 0;
    width: 100%;
    position: relative;
}
.contact-area-info-title {
    background: #fff;
    border: 2px solid #e5f0ee;
    border-radius: 3px;
    font-size: 1.4rem;
    text-align: center;
    margin: -10px auto 0;
    padding: 4px 25px;
    width: 360px;
}
.contact-area-info-inner {
    display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    padding: 15px 40px;
}
.contact-area-tel {
    font-size: 1.1rem;
}
.contact-area-tel .mont {
    font-size: 2.8rem;
}
.contact-area-tel .mont::before {
    border: 1px solid;
    border-radius: 3px;
    content: "TEL";
    color: #595959;
    display: inline-block;
    font-size: 1.2rem;
    vertical-align: middle;
    padding: 2px 5px;
    margin: 0 5px 0 0;
}
a.contact-area-btn-1,
a.contact-area-btn-2 {
    border-radius: 5px;
    padding: 10px 15px 10px 40px;
    display: block;
}
a.contact-area-btn-1 {
    background: #fff url(svg/icon_mail.svg) no-repeat 12px 50% / 15px;
    border: 1px solid #ccc;
    font-size: 1.2rem;
    margin: 0 10px;
}
a.contact-area-btn-2 {
    background: #147661 url(svg/icon_calendar.svg) no-repeat 12px 50% / 16px;
    border: 1px solid;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
}

/* =============================================================
    home
============================================================= */

/* main-image
--------------------------------- */
.main-image {
    color: #fff;
    position: relative;
}
.main-image-text {
    position: absolute;
    bottom: 170px;
    left: 0;
    right: 0;
    text-align: center;
}
.main-image-text-1 {
    font-size: 3.6rem;
    font-weight: 700;
    margin: 0 0 30px;
}
.main-image-text-2 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.6;
}

/* home-news
--------------------------------- */
.home-news {
    background: #f5f5f5;
}
.home-news-inner {
    display: flex;
}
.home-news-inner > * {}
.home-news-title-box {
    padding: 30px 30px 30px 0;
    width: 160px;
}
.home-news-title {
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0 0 5px;
}
.home-news .news-list {
    border-left: 1px solid #d5d5d5;
    margin: 30px 0;
    padding: 0 30px;
    width: 540px;
}
.home-news-schedule {
    background: #e8e8e8;
    padding: 20px 30px;
    width: 460px;
}

/* home-menu
--------------------------------- */
.home-menu {
    display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    padding: 40px 0 70px;
}
.home-menu-box {
    width: 270px;
}
.home-menu-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 30px 0 15px;
    text-align: center;
}
.home-menu-box p {
    font-size: 1.4rem;
    line-height: 1.6;
    margin: 0 0 1em;
}

/* slide-image
--------------------------------- */
.slide-image {
    background: #f5f5f5;
    margin: 0 0 110px;
}

/* home-content-head
--------------------------------- */
.home-content-head {
    text-align: center;
    margin: 0 0 60px;
}
.home-content-head-title {
    font-size: 2.6rem;
    font-weight: 700;
    margin: 0 0 15px;
}

/* home-support
--------------------------------- */
.home-support {
    background: #fff;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
    margin: 0 0 35px;
    padding: 40px;
}
.home-support-title {
    color: #147661;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    margin: 0 0 30px;
}
.home-support-float {
    float: left;
    margin: 0 0 35px;
}
.home-support-right {
    float: right;
    width: 400px;
}
.home #vaccination-box {
    display: none;
}
#vaccination-box ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}
#vaccination-box li {
    border: 1px solid #147661;
    border-radius: 15px;
    font-size: 1.1rem;
    font-weight: 700;
    display: inline-block;
    margin: 0 5px 5px 0;
    padding: 5px 10px;
}
/* support-list */
.support-list {
    display: flex;
        flex-wrap: wrap;
    margin: 0 0 40px;
}
.support-2 {padding: 0 20px;}
.support-1 li {
    margin: 0 20px 20px 0;
    width: 180px;
}
.support-2 li {
    margin: 0 25px 0 0;
    width: 230px;
}
.support-1 li:nth-of-type(4n) {margin-right: 0;}
.support-2 li:nth-of-type(3n) {margin-right: 0;}
.support-list-title {
    background: url(svg/icon_arrow_2.svg) no-repeat 0 50% / 14px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 20px 0 10px;
    padding: 0 0 0 20px;
}
.support-list-title span {
    font-size: 1.4rem;
    font-weight: bold;
}
.support-list p {
    font-size: 1.2rem;
    margin: 0;
}
/* support-sub */
.support-sub {
    background: #f5f5f5;
    margin: 0 0 20px;
}
.support-sub.inline {
    display: flex;
}
.support-sub-title {
    background: #de720f;
    color: #fff;
    display: inline-block;
    font-size: 1.4rem;
    padding: 8px 20px;
}
.support-sub-inner {
    font-size: 1.8rem;
    font-weight: 700;
    padding: 4px 20px;
}

/* kuhara-link
--------------------------------- */
.kuhara-link {
    background: url(images/kuhara-link_bg.jpg) no-repeat right center / contain;
    border: 20px solid #d1dce9;
    border-left-width: 30px;
    border-right-width: 30px;
    padding: 30px;
}
.kuhara-link-title {
    font-size: 2.4rem;
    margin: 0 0 15px;
}
.kuhara-link p {
    font-size: 1.4rem;
    padding: 0 300px 0 0;
}
.kuhara-link-btn {
    background: #fff url(svg/icon_window.svg) no-repeat right 10px top 50% / 13px;
    border: 1px solid #ccc;
    border-radius: 3px;
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 15px 32px 15px 22px;
}

/* =============================================================
    page
============================================================= */
/* page-about
--------------------------------- */
.about-kuhara-link {
    position: relative;
    text-align: center;
}
.about-kuhara-link-inner {
    width: 430px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    padding-top: 40px;
}
.about-kuhara-link-inner > p {
    font-size: 1.4rem;
    margin-bottom: 35px;
}
.about-kuhara-link-title {
    font-size: 2.4rem;
    line-height: 40px;
    margin-bottom: 30px;
}
.about-kuhara-link-btn {
    width: 290px;
    margin: 0 auto;
}
.about-kuhara-link-btn li {
    margin-bottom: 10px;
}
.about-kuhara-link-btn a {
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
}
.about-kuhara-link-btn .link-btn {
    background: #fff;
}
.about-kuhara-link-btn .kuhara-link-btn {
    background-color: rgba(255,255,255,0);
}
.hospital-photo {
    margin-bottom: 25px;
    padding: 0 30px;
}
.hospital-photo-thumb {
    padding: 0 30px;
}
.hospital-photo-thumb li {
    cursor: pointer;
    padding: 0 5px;
    position: relative;
}
.hospital-photo-thumb li::after {
    background: #279d7d;
    content: "";
    display: block;
    width: calc(100% - 10px);
    height: 0;
    transition: height .5s ease-out;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.hospital-photo-thumb .slick-current::after {
    height: 5px;
}
.dr-intro-inner {
    margin-bottom: 100px;
}
.dr-intro-title {
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 50px;
}
.dr-intro-title span {
    font-size: 1.8rem;
    text-align: center;
}
.dr-intro-title img {
    display: block;
    margin: 0 auto 15px;
}
.yasushi-kuhara .dr-intro-title img {
    width: 85px;
}
.dr-photo {
    width: 270px;
    float: right;
}
.dr-photo > img {
    display: block;
    margin-bottom: 20px;
}
.yasushi-kuhara .dr-intro-kana img {width: 121px;}
.dr-intro-name {
    font-size: 3rem;
    font-weight: 700;
}
.dr-intro-name span {
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 1em;
    margin-right: 1em;
}
.dr-intro-kagagaki {
    font-size: 1.4rem;
}
.dr-greeting {
    width: 540px;
    float: left;
    margin-bottom: 50px;
}
.career-box {
    clear: both;
    overflow: hidden;
    margin-bottom: 45px;
    padding: 30px 40px;
}
.yasushi-kuhara .career-box {background: #e5f0ee;}
.career-box dl {
    float: right;
    width: 220px;
}
.career-box dl:first-child {
    float: left;
    width: 490px;
}
.career-box dt {
    border-bottom: 1px solid #fff;
    margin-bottom: 10px;
    padding-bottom: 5px;
}
.career-box dd {
    font-size: 1.2rem;
    margin-bottom: 20px;
}
.access-guide-wrapper {
    display: flex;
    flex-wrap : wrap;
    justify-content: space-between;
}
.access-guide-inner {
    width: 400px;
}
.access-guide-title {
    font-weight: 700;
    margin-bottom: 25px;
}
.access-guide-inner dt {
    border-bottom: 1px dotted #dbd8db;
    margin-bottom: 15px;
    padding-bottom: 10px;
}
.access-guide-inner dd {
    font-size: 1.4rem;
    margin-bottom: 50px;
}
.pickup {
    display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    width: 192px;
}
.pickup li {
    border: 1px solid #999;
    border-radius: 3px;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    padding: 15px 0;
    width: 60px;
}
/* page-info
--------------------------------- */
.info-schedule {
    width: 570px;
    margin: 0 auto;
}
.info-schedule .schedule {
    margin-bottom: 25px;
}
.info-schedule thead th {
    background: #e5f0ee;
}
.info-schedule
.info-schedule th,
.info-schedule td {
    font-size: 1.8rem;
}
.info-schedule th.am,
.info-schedule th.pm {
    font-size: 1.6rem;
    font-weight: 400;
}
.info-schedule p {
    font-size: 1.4rem;
}
.nonconsultation {
    font-size: 1.6rem;
    font-weight: 700;
}
.nonconsultation span {
    background: #e5f0ee;
    font-weight: 700;
    margin-right: 10px;
    padding: 5px 10px;
}
.about-visit li {
    font-size: 1.4rem;
    text-indent: -.5em;
    margin-bottom: 10px;
    padding-left: .5em;
}
.info-reserved {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.info-reserved > div {
    background: #fcf3f2;
    border: 1px solid #fce1df;
    width: 420px;
    padding: 5px;
}
.info-reserved .inner {
    background: #fff;
}
.info-qrcode .inner {
    padding: 10px 13px;
}
.info-qrcode img {
    width: 66px;
    float: left;
    margin-right: 15px;
}
.info-qrcode .qr-title {
    font-weight: 700;
    margin-bottom: 5px;
}
.info-qrcode p {
    font-size: 1.2rem;
    margin-bottom: 0;
}
.info-tel .inner {
    padding: 21px 24px;
}
.info-tel span {
    background: #fce6e5;
    font-weight: 700;
    float: left;
    margin-right: 30px;
    padding: 10px;
}
.info-tel img {
    width: 245px;
    margin-bottom: 5px;
}
.info-tel p {
    font-size: 1rem;
    margin-bottom: 0;
}
/* page-internal
--------------------------------- */
.page-link ul {
    background: url(images/dot_bg.jpg);
    display: flex;
    flex-wrap: wrap;
    padding: 30px 20px 10px;
}
.page-link li {
    width: 190px;
    text-align: center;
    margin-right: 20px;
    margin-bottom: 20px;
}
.page-link li:nth-child(4n) {
    margin-right: 0;
}
.page-link a {
    background: #fff;
    display: block;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    position: relative;
    padding: 23px 10px;
}
.page-link a.nl {
    padding: 12px 10px 20px;
}
.page-link a::after {
    background: url(svg/icon_arrow_g.svg) no-repeat 0 0 / 8px 12px;
    content: "";
    position: absolute;
    margin: auto;
    right: 0;
    bottom: 6px;
    left: 0;
    width: 8px;
    height: 12px;
    transform: rotate(90deg);
}
.symptom-box {
    margin-bottom: 50px;
}
.symptom-box img {
    float: right;
    margin-left: 50px;
}
/* page-faq
--------------------------------- */
.faq-list dt,
.faq-list dd {
    padding-left: 45px;
}
.faq-list dt {
    background: url(svg/q.svg) no-repeat left 5px top 5px / 23px 24px;
    /*cursor: pointer;*/
    font-weight: 700;
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 25px;
}
.faq-list dt::after {
    background: #00896b;
    content: "";
    width: 60px;
    height: 1px;
    display: block;
    position: absolute;
    left: 45px;
    bottom: 0;
}
.faq-list dd {
    background: url(svg/a.svg) no-repeat left 5px top 5px / 21px 20px;
    margin-bottom: 50px;
}
/* section rayout
--------------------------------- */
.border-sec {
    border-top: 1px solid #999;
    padding: 40px 0 0;
    position: relative;
}
.border-sec::before {
    background: #00896b;
    content: "";
    width: 90px;
    height: 6px;
    position: absolute;
    left: 0;
    top: -3px;
}

/* =============================================================
    post
============================================================= */

/* news-list
--------------------------------- */
.news-list {}
.news-list li {}
.news-list a {
    display: flex;
    padding: 10px;
}
.news-list-date {
    font-size: 1.2rem;
    font-weight: 700;
    width: 100px;
}
.news-list-title {
    font-size: 1.4rem;
    font-weight: 700;
    width: calc(100% - 100px);
}

/* blog-list
--------------------------------- */
.blog-list {
    display: flex;
        flex-wrap: wrap;
    padding: 0 50px;
}
.blog-list-box {
    width: 140px;
    margin: 0 25px 40px;
}
.blog-list-box a {
    display: block;
}
.blog-list-img {
    overflow: hidden;
}
.blog-list-img img {
    border-radius: 50%;
}
.blog-list-date {
    font-size: 1.2rem;
    margin: 10px 0 2px;
}
.blog-list-title {
    font-size: 1.4rem;
    font-weight: 700;
}

/* prev next
--------------------------------- */
.pn-prev {padding: 15px 15px 15px 75px;}
.pn-next {padding: 15px 75px 15px 15px;}
.single a.pn-prev::before,
.single a.pn-next::before {
    background: #147661;
    content: "";
    height: 75%;
    width: 1px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
}
.single a.pn-prev::before {left: 62px;}
.single a.pn-next::before {right: 62px;}
.pn-label {
    margin: auto;
    position: absolute;
    bottom: 0;
    top: 0;
}
a.pn-prev:hover,
a.pn-next:hover {
    color: #333;
    background: rgba(20,118,97,.2);
}
.pn-prev .pn-label {left: 10px;}
.pn-next .pn-label {right: 10px;}

/* sns
--------------------------------- */
.share li {width: 20%;}

/* Pagination
--------------------------------- */
.pagination {
    clear: both;
    padding: 30px 0 10px;
    position: relative;
    font-size: 1.4rem;
    text-align: center;
}
.pagination span, .pagination a {
    border-color: #147661;
    border-radius: 3px;
    color: #333;
    display: inline-block;
    text-decoration: none;
    margin: 0 4px;
    padding: 8px 18px;
    width: auto;
}

/* =============================================================
    404
============================================================= */
.page404-title {
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 30px;
}
.page404 {
    text-align: center;
    line-height: 1.6;
    padding: 60px 0;
}
.page404-title {
    font-size: 30px;
}

/* =============================================================
    effect
============================================================= */
a,.btn-1 {
    transition: all .2s ease-out;
}

/* button */
/* mainnav */
.mainnav a:hover,
.mainnav a.stay {
}
.btn-1:hover,
.contact-area-btn-2:hover {
    background-color: #209e83 !important;
}

.contact-area-btn:hover {}
.scale:hover img {
    transform: scale(1.1);
}
.header-btn:hover,
.contact-area-btn-1:hover,
.kuhara-link-btn:hover {
    background-color: #f2f2f2;
}
.contact-area-info-inner .contact-area-btn-1:hover {
    background-color: rgba(255,255,255,.6);
}
.page-link a:hover {
    background: #147661;
    color: #fff;
}
.page-link a:hover::after {
    background: url(svg/icon_arrow_w.svg) no-repeat 0 0 / 8px 12px;
}
.related-link img {
  transition: opacity 0.3s ease;
}

.related-link:hover img {
  opacity: 0.8;
}
.btn-campaign02{
  position: relative;
  color: #595959;
  text-decoration: none !important;
  border: 1px solid #147661;
  background: #e5f0ee;
  padding: 1em 2.5em 1em 1.5em;
  margin: 0.5em;
  display: inline-block;
  transition: background 0.3s;
}
.btn-campaign02::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 1.2em;
  width: 8px;
  height: 8px;
  border-top: 2px solid #595959;
  border-right: 2px solid #595959;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.3s;
}

.btn-campaign02:hover{
  background: #147661;
  color:#fff;
}

.btn-campaign02:hover::after{
  border-top-color: #fff;
  border-right-color: #fff;
}
.img_btnwrap{
 display: inline-block;
  text-align: center; 
}