@charset "utf-8";
/* CSS Document */

* {
    min-height: 0;
    min-width: 0;
}

html {
    overflow: auto;
    font-size: 62.5%;
}

body, #wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

footer {
    margin-top: auto;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    font-size: 100%;
    color: #565656;
    font-size: 1.6rem;
    /* 16px*/
    line-height: 2;
}

b, strong, .bold {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

ul, dl {
    list-style: none;
}

.txt-r {
    text-align: right;
}

.f12 {
    font-size: 1.2rem;
}

.f14 {
    font-size: 1.4rem;
}

.txt-red {
    color: #cc0000;
}

.txt-brown02 {
    color: #D6BDA5;
}

.mb20i {
    margin-bottom: 20px !important;
}

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
    font-family: "Segoe UI", Meiryo, sans-serif;
}

*, *:after, *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a, a:link {
    color: #092944;
    text-decoration: underline;
}

a:visited {
    color: #092944;
}

a:hover {
    text-decoration: none;
}

a:active {
    text-decoration: none;
}

.mb0 {
    margin-bottom: 0px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.txt-l {
    text-align: left !important;
}

.txt-r {
    text-align: right !important;
}

.btn-c {
    margin: 0 auto;
}

.txt-c {
    text-align: center;
}

.brclear {
    display: none;
}

.spbrclear {
    display: block;
}

.imgnone {
    display: block;
}

.obj-fit-img {
    object-fit: cover;
    object-position: 0 100%;
    font-family: 'object-fit: cover; object-position: 0 100%;'
}


.slider {
    width: 100%;
    overflow: hidden;
}

.slider img {
    width: 100%;
}

.pcimg {
    display: block;
}

.spimg {
    display: none !important;
}

.spslider {
    display: none;
}

.spslider img {
    width: 100%;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
}

.error-ttl {
    font-size: 2.8rem;
    margin-bottom: 30px;
}

.ttl-ex {
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.ttl-ex02 {
    font-size: 3.0rem;
    margin-bottom: 20px;
    border-bottom: 1px solid #565656;
}

.ttl-ex02 span {
    font-size: 1.4rem;
    padding-left: 10px;
}

/* ==== HEADER =====*/

header {
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1000;
    background: white;
}

header .head {}

header .header-inner {
    padding: 0 30px;
    position: relative;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
}

#logo {
    display: flex;
    justify-content: start;
    align-items: center;
    -webkit-align-items: center;
    z-index: 9999;
}

#logo img {
    vertical-align: bottom;
}

#logo a:hover img {
    opacity: 0.8;
}


#gnav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -webkit-align-items: center;
}


/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.header__nav li {
    display: inline-block;
    position: relative;
    font-size: 1.6rem;
}

ul.header__nav li span {
    font-family: 'Montserrat', sans-serif;
    display: block;
    font-size: 1.0rem;
}


ul.header__nav a {
    color: rgb(86, 86, 86);
    text-align: center;
    /* メインメニューの文字列の配置(中央寄せ) */
    text-decoration: none;
    /* メニュー項目の装飾(下線を消す) */
    display: block;
    /* ★項目内全域をリンク可能にする */
    padding: 25px 16px;
}

ul.header__nav a:hover {}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */
/* ※サブメニューが1階層しか存在しない場合の記述 */
/* ---------------------------------- */
ul.header__nav li:hover ul {
    display: block;
    /* ★マウスポインタが載っている項目の内部にあるリストを表示する */
}

/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.header__nav ul {
    margin: 0px;
    /* ★サブメニュー外側の余白(ゼロ) */
    padding: 0px;
    /* ★サブメニュー内側の余白(ゼロ) */
    display: none;
    /* ★標準では非表示にする */
    position: absolute;
    /* ★絶対配置にする */
}

/* ------------------------ */
/* ▼サブメニュー項目の装飾 */
/* ------------------------ */
ul.header__nav ul li {
    max-width: auto;
    width: 300px;
    font-size: 1.4rem;
}

ul.header__nav ul li a {
    text-align: left;
    /* 文字列の配置(左寄せ) */
    padding: 8px 20px;

}

ul.header__nav ul li a:hover {
    opacity: 0.6;
    transition: 0.3s ease-in-out;
}


ul.header__nav ul li a::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 5%;
    margin-top: -4px;
}



/* ==== spnavi =====*/

#drawer {
    display: none;
}

#hamburger {
    -webkit-transform: translateZ(0);
    position: fixed;
    top: 0;
    right: 90px;
    z-index: 10001;
    cursor: pointer;
    width: 90px;
    height: 85px;
    padding-top: 18px;
    text-align: center;
    overflow: hidden;
    display: none;
}


/* ==== MAIN =====*/

main {
    padding: 60px 0 40px;
}


/* ==== CONTENTS =====*/

.cont {
    margin-bottom: 60px;
}


/***** Top About *****/

.bg_l_01 {
    position: absolute;
    top: 130px;
    left: 0px;
    z-index: -1;
}

.bg_l_01 img {
    width: 50px;
}


.bg_r_01 {
    position: absolute;
    top: 430px;
    right: 0px;
    margin-right: 0;
    z-index: -1;

}

.bg_r_01 img {
    width: 50px;
}


.bg_l_02 {
    position: absolute;
    bottom: 130px;
    left: 0px;
    z-index: -1;
}

.bg_l_02 img {
    width: 50px;
}


#top_about {
    width: 100%;
    margin-bottom: 60px;
    position: relative;
}

#top_about .inner {
    width: 1000px;
    margin: 0 auto;
}

#top_about .inner p.txt_aboutch {
    text-align: center;
    font-size: 2.1rem;
    margin-bottom: 60px;
}

#top_about .inner p.txt_aboutch span {
    text-decoration: underline;
}

.aboutbox {
    margin-bottom: 30px;
}

.about-l {
    float: left;
    width: 36%;
}

.about-l img {
    width: 100%;
}

.about-l02 {
    float: left;
    width: 60%;
}


.about-r {
    float: right;
    width: 60%;
}

.about-r02 {
    float: right;
    width: 36%;
}

.about-r02 img {
    width: 100%;
}

.txt_about01 {
    color: #a18439;
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.about-l02 h3, .about-r h3 {
    font-size: 2.1rem;
    margin-bottom: 10px;
}


/***** Top bnr *****/

#top_bnr {
    width: 100%;
    margin-bottom: 60px;
    position: relative;
}

#top_bnr .inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
}

#top_bnr .inner img {
    width: 100%;
    vertical-align: bottom;
}


/***** Top Medical *****/

.bg_c_01 {
    position: absolute;
    top: -130px;
    right: 0px;
    z-index: -1;
}

.bg_c_01 img {
    width: 50%;
}

.bg_c_02 {
    position: absolute;
    top: 40px;
    left: 40%;
    z-index: -1;
}

.bg_c_02 img {
    width: 60px;
}


.bg_l_04 {
    position: absolute;
    top: 460px;
    left: 0px;
    z-index: -1;
}

.bg_l_04 img {
    width: 50px;
}


.bg_r_03 {
    position: absolute;
    top: 150px;
    right: 0px;
    margin-right: 0;
    z-index: -1;

}

.bg_r_03 img {
    width: 50px;
}

#top_medical {
    width: 100%;
    margin-bottom: 60px;
    position: relative;
}

#top_medical .inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
}

#top_medical .inner h2 {
    font-weight: bold;
    font-size: 3.0rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#top_medical .inner h2 span {
    color: #a18439;
    font-weight: normal;
    font-size: 1.4rem;
    font-family: 'Montserrat', sans-serif;
}

#top_medical .inner h2 span::before {
    content: '';
    background: url(../img/icon_ttl.png) no-repeat left center;
    width: 40px;
    height: 1px;
    padding-left: 40px;
    padding-right: 10px;
    margin-left: 10px;
}

ul.medicallist {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

ul.medicallist li {
    flex-basis: 32%;
    border: 1px solid #ccc;
    margin-bottom: 2%;
    font-weight: bold;
}


/**
ul.medicallist li a{
    padding: 40px 10px;
    display: block;
    color: #333;
    text-decoration: none;
}
**/

ul.medicallist li a:hover {
    opacity: 0.5;
}


ul.medicallist li.nonebox {
    border: none;
}


ul.medicallist li.mcl01 {
    background: url(../img/top_medical01.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl02 {
    background: url(../img/top_medical02.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl03 {
    background: url(../img/top_medical03.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl04 {
    background: url(../img/top_medical04.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl05 {
    background: url(../img/top_medical05.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl06 {
    background: url(../img/top_medical06.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl07 {
    background: url(../img/top_medical07.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl08 {
    background: url(../img/top_medical08.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl09 {
    background: url(../img/top_medical09.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl10 {
    background: url(../img/top_medical10.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl11 {
    background: url(../img/top_medical11.jpg) no-repeat right center;
    background-size: cover;
}

ul.medicallist li.mcl12 {
    background: url(../img/top_medical12.jpg) no-repeat right center;
    background-size: cover;
}


/***** Top News *****/


#top_news {
    width: 100%;
    margin-bottom: 60px;
}

#top_news .top_news__inner {}

#top_news .top_news__inner h2 {
    font-weight: bold;
    font-size: 3.0rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#top_news .top_news__inner h2 span {
    color: #a18439;
    font-weight: normal;
    font-size: 1.4rem;
    font-family: 'Montserrat', sans-serif;
}

#top_news .top_news__inner h2 span::before {
    content: '';
    background: url(../img/icon_ttl.png) no-repeat left center;
    width: 40px;
    height: 1px;
    padding-left: 40px;
    padding-right: 10px;
    margin-left: 10px;
}


#top_news .top_news__inner ul {
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    list-style: none;
}

#top_news .top_news__inner ul li {
    border-bottom: 1px solid #333;
    padding: 15px 20px;
    display: block;
}

#top_news .top_news__inner ul li:last-child {
    border-bottom: none;
}

#top_news .top_news__inner ul li a {
    color: #333;
    text-decoration: none;
}

#top_news .top_news__inner ul li a:hover {
    color: #092944;
    text-decoration: underline;
}

#top_news .top_news__inner ul li span {
    padding-right: 15px;
}



/***** Top Column *****/


#top_column {
    width: 100%;
    margin-bottom: 60px;
    position: relative;
}

#top_column .inner {
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    list-style: none;
}

#top_column .inner h2 {
    font-weight: bold;
    font-size: 3.0rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#top_column .inner h2 span {
    color: #a18439;
    font-weight: normal;
    font-size: 1.4rem;
    font-family: 'Montserrat', sans-serif;
}

#top_column .inner h2 span::before {
    content: '';
    background: url(../img/icon_ttl.png) no-repeat left center;
    width: 40px;
    height: 1px;
    padding-left: 40px;
    padding-right: 10px;
    margin-left: 10px;
}


.columnbox {
    width: 66%;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 20px 30px 20px 30px;
}

.columnbox dl {
    border-top: 1px solid #333;
    padding-top: 10px
}

.columnbox dl dt {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 0 0 0 10px;
}

.columnbox dl dd {
    border-bottom: 1px solid #333;
    padding: 0 0 10px 10px;
    margin-bottom: 10px;
}

.columnbox dl dd a {
    color: #333;
    text-decoration: none;
}

.columnbox dl dd a:hover {
    color: #092944;
    text-decoration: underline;
}



.bg {
    width: 34%;
    background: url(../img/top_column.jpg) no-repeat left center;
    background-size: cover;
}

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



/***** information *****/

#information {
    margin-bottom: 80px;
    position: relative;
}

#information .inner {
    width: 1000px;
    margin: 0 auto;
    font-size: 1.2rem;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.information_l {
    width: 36%;
}

.information_r {
    width: 60%;
}

.information_r img {
    width: 100%;
    border: 1px solid #ccc;
}

.information_r dl dt {
    font-size: 1.6rem;
    font-weight: bold;
}

.information_r dl dd {
    font-size: 1.2rem;
}

.information_r dl.parking {
    margin-bottom: 20px;
}

.insurancetxt {
    background: #f4f4f4;
    padding: 10px;
}

.insurancebox {
    border: 2px solid#f4f4f4;
    padding: 10px;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.insurancebox img {
    width: 80%;
}

.f_tel {
    font-size: 3.6rem;
    color: #a18439;
    font-weight: bold;
}

.f_tel:before {
    content: ' ';
    background-image: url(../img/icon_tel.png);
    margin-right: 10px;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 32px;
}

.mapbox {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 10px;
}

.mapbox iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


ul.treatmentbox {
    border: 2px solid #f4f4f4;
    padding: 10px;
    list-style: none;
    margin-bottom: 20px;
}


table.calendarTB {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 10px;
}

table.calendarTB caption {
    background: #092944;
    color: #fff;
    text-align: left;
    padding: 10px;
}


table.calendarTB tr {
    border-bottom: 1px solid #092944;
}

table.calendarTB tr th, table.calendarTB tr td {
    padding: 5px;
    text-align: center;
}

ul.diseaseTBlist li {
    background: #fff;
    padding: 10px;
    margin-bottom: 20px;
}

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

table.diseaseTB {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}


table.diseaseTB tr th {
    border-right: 1px solid #ccc;
    font-size: 1.8rem;
    color: #D6BDA5;
    font-weight: normal;
    width: 25%;
    text-align: center;
}

table.diseaseTB tr th, table.diseaseTB tr td {
    padding: 10px;
}




.time {
    font-size: 1.2rem;
    margin-bottom: 20px;
}


.bg_l_05 {
    position: absolute;
    top: 2%;
    left: 0px;
    z-index: -1;
}

.bg_l_05 img {
    width: 50px;
}


.bg_r_04 {
    position: absolute;
    top: 30%;
    right: 0px;
    margin-right: 0;
    z-index: -1;

}

.bg_r_04 img {
    width: 50px;
}

.bg_l_06 {
    position: absolute;
    top: 80%;
    left: 0px;
    z-index: -1;
}

.bg_l_06 img {
    width: 50px;
}



/* ==== FOOTER =====*/

.footer_navi {
    margin-bottom: 30px;
    padding: 0;
}

.footer_navi .inner {
    width: 1000px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.footer_left {
    width: 50%;
}


.footer_left .footer_txt {
    font-size: 1.2rem;
    margin-bottom: 5px;
}

.footer_left img {
    width: 280px;
}

.footer_right {
    width: 50%;
    text-align: right;
}


.footer_right ul.f-navi {
    font-size: 1.3rem;
    list-style: none;
    margin-bottom: 10px;
    font-weight: 700;
}

.footer_right ul.f-navi li {
    display: inline-block;
    margin-bottom: -1px;
    padding-right: 10px;
    padding-left: 10px;
    border-right: 1px solid #ccc;
}

.footer_right ul.f-navi li a {
    color: #565656;
    display: inline-block;
    text-decoration: none;
}

.footer_right ul.f-navi li a:hover {
    color: #092944;
    transition: all 0.2s ease-in-out 0s;
    text-decoration: underline;
}

.footer_right ul.f-navi li:first-child {
    padding-left: 0px;
}

.footer_right ul.f-navi li:last-child {
    padding-right: 0px;
    border-right: none;
}



.footer_right p.txt-copy {
    font-size: 1.2rem;
}

.flex_bottom {
    align-items: flex-end;
}

footer {
    background: #D6BDA5;
    height: 4.8vw;
}

#pagetopicon {
    position: fixed;
    right: 0;
    bottom: 0;
    width: 4.8vw;
    height: 4.8vw;
    opacity: 0;
    background: url(../img/pagetop.svg) no-repeat center center #D6BDA5;
    border-left: 1px solid #fff;
    z-index: 50;
}

#pagetopicon:hover {
    background: url(../img/pagetop_on.svg) no-repeat center center #fff;
    right: 0;
    bottom: 0;
    width: 4.8vw;
    height: 4.8vw;
}


/********************** TOP ここまで **********************/

#kensa01, #kensa02, #kensa03, #kensa04, #kensa05, #kensa06, #kensa07, #kensa08, #kensa09, #kensa10, #teeth01, #teeth02, #teeth03, #cat01, #cat02, #cat03, #cat04, #cat05, #cat06, #cat07, #dog01, #dog02, #dog03, #dog04, #dog05, #dog06, #heart01, #heart02, #heart03 {
    padding-top: 100px;
    margin-top: -100px;
}

#aboutgr, #aboutst, #abouttre {
    padding-top: 100px;
    margin-top: -100px;
}

/* ==== 下層 =====*/

#ulayermain {
    width: 100%;
}


.diseasebox {
    background: #f9f9f9;
    padding: 60px 20px 20px;
    margin-bottom: 20px;
}

.diseasebox ul {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

.diseasebox ul li {
    width: 49%;
    border: 1px solid #ccc;
    padding: 40px 20px 20px;
    background: #fff;
    position: relative;
    text-align: center;
}

.diseasebox ul li p.icon {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.diseasebox ul li p.icon img {
    width: 80px;
}

.diseasebox ul li h3 {
    font-size: 2.1rem;
    font-weight: normal;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
    text-align: center;
    color: #D6BDA5;
}

ul.yettl li {
    margin-bottom: 20px;
}

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

ul.yettl li span {
    background: #f9ead6;
    padding: 10px 20px;
    margin-right: 10px;
    font-weight: bold;
}

.summary_image_detail {
    background: url(../img/img_mainimg_detail.jpg) no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_about {
    background: url(../img/img_mainimg_about.jpg) no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_hours {
    background: url(../img/img_mainimg_hours.jpg) no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_access {
    background: url(../img/img_mainimg_access.jpg) no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_privacy {
    background: url(../img/img_mainimg_privacy.jpg) no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_newslist {
    background: url(../img/img_mainimg_news.jpg) no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_newsdetail {
    background: url("../img/img_mainimg_newsdetail.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_column {
    background: url("../img/img_mainimg_column.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_concept {
    background: url("../img/img_mainimg_concept.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_department {
    background: url("../img/img_mainimg_department.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_rabbits {
    background: url("../img/img_mainimg_rabbits.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}


.summary_image_sitemap {
    background: url("../img/img_mainimg_sitemap.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_notfound {
    background: url("../img/img_mainimg_notfound.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_first {
    background: url("../img/img_mainimg_first.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}


.summary_image_checkup {
    background: url("../img/img_mainimg_checkup.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_kensalist {
    background: url("../img/img_mainimg_kensalist.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_urology {
    background: url("../img/img_mainimg_urology.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_shuyou {
    background: url("../img/img_mainimg_shuyou.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}


.summary_image_heart {
    background: url("../img/img_mainimg_heart.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}


.summary_image_endocrine {
    background: url("../img/img_mainimg_endocrine.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_teeth {
    background: url("../img/img_mainimg_teeth.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}


.summary_image_digestiveorgans {
    background: url("../img/img_mainimg_digestiveorgans.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_ear {
    background: url("../img/img_mainimg_ear.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_eye {
    background: url("../img/img_mainimg_eye.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_shinkei {
    background: url("../img/img_mainimg_shinkei.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_dog {
    background: url("../img/img_mainimg_dog.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}

.summary_image_cat {
    background: url("../img/img_mainimg_cat.jpg") no-repeat center;
    background-size: cover;
    height: 400px;
}


#ulayerbox {
    width: 100%;
    padding: 80px 0;
    position: relative;
}

#ulayerbox .inner {
    width: 1000px;
    margin: 0 auto;
}


.ttl-main {
    font-size: 3.4rem;
    text-align: center;
    margin-bottom: 30px;
    color: #D6BDA5;
}


.bgl01 {
    position: absolute;
    top: 10%;
    left: 0px;
    z-index: -1;
}

.bgl01 img {
    width: 50px;
}

.bgr01 {
    position: absolute;
    top: 30%;
    right: 0px;
    z-index: -1;
}

.bgr01 img {
    width: 50px;
}


.bgl02 {
    position: absolute;
    top: 50%;
    left: 0px;
    z-index: -1;
}

.bgl02 img {
    width: 50px;
}

.bgr02 {
    position: absolute;
    top: 70%;
    right: 0px;
    z-index: -1;
}

.bgr02 img {
    width: 50px;
}



.bgl03 {
    position: absolute;
    top: 90%;
    left: 0px;
    z-index: -1;
}

.bgl03 img {
    width: 50px;
}

.bgr03 {
    position: absolute;
    top: 100%;
    right: 0px;
    z-index: -1;
}

.bgr03 img {
    width: 50px;
}

.ttl-brown03 {
    background: #cdb89d;
    padding: 10px 20px;
    color: #fff;
}

.brownbox {
    border: 1px solid #cdb89d;
    padding: 20px;
    margin-bottom: 30px;
}


.box-grayline {
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
}

.box-l-w500 {
    float: left;
    width: 500px;
}

.box-l-w500 p {
    margin-bottom: 1em;
}

.box-l-w500 p:last-child {
    margin-bottom: 0;
}

.box-r-w400 {
    float: right;
    width: 400px;
}


.box-l-w400 {
    float: left;
    width: 400px;
}

.box-r-w550 p {
    margin-bottom: 1em;
}

.box-r-w550 p:last-child {
    margin-bottom: 0;
}

.box-r-w550 {
    float: right;
    width: 550px;
}


.bluebox {
    padding: 20px;
    background: #f4f7fb;
    border-radius: 10px;
}

.bluebox p {
    margin-bottom: 1em;
}

.bluebox p:last-child {
    margin-bottom: 0;
}


.brownbox02 {
    padding: 20px;
    background: #f8e8d3;
    border-radius: 10px;
}

.brownbox02 p {
    margin-bottom: 1em;
}

.brownbox02 p:last-child {
    margin-bottom: 0;
}




ol.cp_clist {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}


ol.cp_clist li {
    width: 44%;
}

.bg-brown {
    background: #fcf3e8;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 60px;
    position: relative;
}

ol.cp_clist li dl dt {
    color: #D6BDA5;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 34px;
}

ol.cp_clist li dl dd {
    font-size: 1.3rem;
}

.bg-blue .bg_c_01 {
    position: absolute;
    z-index: -1;
    top: -8%;
    right: 0;
}

.bg-blue .bg_c_01 img {
    width: 80%;
}

.ttl-gray {
    background: #f9f9f9;
    padding: 10px 20px;
}

.graybox02 {
    border: 1px solid #f9f9f9;
    padding: 20px;
    margin-bottom: 30px;
}

.obi-browntxt {
    background: #D6BDA5;
    padding: 5px 15px;
    color: #fff;
    display: inline-block;
    margin-bottom: 10px;
    font-weight: bold;
}

.obi-browntxt02 {
    background: #fcf3e8;
    padding: 5px 15px;
    display: inline-block;
    margin-bottom: 10px;
    font-weight: bold;
}


.dotline {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

ol.cp_clist {
    counter-reset: cp_clist;
    /*数字をリセット*/
    list-style-type: none;
}

ol.cp_clist li {
    position: relative;
    padding: 0.5em 0.5em 1em 30px;
}

ol.cp_clist li::before {
    position: absolute;
    display: inline-block;
    top: 25px;
    left: 0;
    /* カウントさせる */
    counter-increment: cp_clist;
    content: counter(cp_clist);
    /*装飾*/
    padding: 0 0.2em 0 0.2em;
    background: #D6BDA5;
    color: #fff;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    transform: translateY(-50%);
}

.bg-blue02 {
    background: url("../img/bg_note02.png") repeat left center;
    padding: 30px;
    margin-bottom: 60px;
}

.bg-brown02 {
    background: url("../img/bg_note02.png") repeat left center;
    padding: 30px;
    margin-bottom: 60px;
}


dl.txt-list dt {
    font-size: 1.8rem;
    color: #D6BDA5;
    font-weight: bold;
}

dl.txt-list dd {
    margin-bottom: 20px;
}

dl.txt-list dd:last-child {
    margin-bottom: 0px;
}

dl.exlist {
    margin-bottom: 30px;
}

dl.exlist dt {
    font-weight: bold;
}

dl.exlist dd {
    margin-bottom: 15px;
}


ul.ulayerlist {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between
}

ul.ulayerlist li {
    flex-basis: 32%;
    border: 1px solid #092944;
    margin-bottom: 2%;
    font-weight: bold;
}

ul.ulayerlist li a {
    padding: 30px 10px;
    display: block;
    color: #092944;
    text-decoration: none;
    display: block;
}

ul.ulayerlist li a.fix {
    color: #fff;
    background: #092944;
}

ul.ulayerlist li a:hover {
    color: #fff;
    background: #092944;
    text-decoration: none;
}


ul.ulayerlist li.nonebox {
    border: none;
}



ul.navilist {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
    margin-bottom: 30px;
}

ul.navilist li {
    flex-basis: 32%;
    border: 1px solid #092944;
    margin-bottom: 2%;
    font-weight: bold;
    text-align: center;
    font-size: 1.4rem;
    position: relative;
}

ul.navilist li::before {
    content: '';
    width: 10px;
    height: 6px;
    background: url("../img/arw-blue.svg") no-repeat;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

ul.navilist li a {
    padding: 10px;
    display: block;
    color: #092944;
    text-decoration: none;
    display: block;
}

ul.navilist li a:hover {
    color: #fff;
    background: #092944;
    text-decoration: none;
}

ul.navilist li:hover::before {
    content: '';
    width: 10px;
    height: 6px;
    background: url("../img/arw-white.svg") no-repeat;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

table.shinkeiTB {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
    margin-bottom: 20px;
}

table.shinkeiTB th {
    width: 33%;
    padding: 15px 15px;
    background: #fcf3e8;
    border: #cccccc 1px solid;
}

table.shinkeiTB td {
    padding: 15px 15px;
    background: #ffffff;
    border: #cccccc 1px solid;
}



table.mmTB {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
    margin-bottom: 60px;
}

table.mmTB.noTB {
    margin-bottom: 10px !important;
}

table.mmTB th {
    width: 33%;
    padding: 15px 15px;
    background: #cdb89d;
    border: #cccccc 1px solid;
    color: #fff;
}

table.mmTB td {
    padding: 15px 15px;
    background: #ffffff;
    border: #cccccc 1px solid;
}

table.mmTB td p {
    font-size: 1.2rem;
    line-height: 1.8 !important;
}


table.mmTB02 {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
    font-weight: normal;
}

table.mmTB02 th {
    width: 33%;
    padding: 15px 15px;
    background: #cdb89d;
    border: #cccccc 1px solid;
    color: #fff;
    font-weight: normal;
}

table.mmTB02 td {
    padding: 15px 15px;
    background: #ffffff;
    border: #cccccc 1px solid;
}


table.mmTB03 {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
}

table.mmTB03 th {
    width: 48%;
    padding: 15px 15px;
    background: #cdb89d;
    border: #cccccc 1px solid;
    color: #fff;
}

table.mmTB03 td {
    padding: 15px 15px;
    background: #ffffff;
    border: #cccccc 1px solid;
}


table.mm3TB {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
    margin-bottom: 10px;
}

table.mm3TB th {
    width: 30%;
    padding: 15px 15px;
    background: #cdb89d;
    border: #cccccc 1px solid;
    color: #fff;
}

table.mm3TB td.mm1 {
    width: 30%;
    padding: 15px 15px;
    background: #f0dec7;
    border: #cccccc 1px solid;
}

table.mm3TB td.mm2 {
    padding: 15px 15px;
    background: #ffffff;
    border: #cccccc 1px solid;
}


.ttl-heart {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 5px;
    color: #D6BDA5;
}

.ttl-heart:before {
    content: '';
    background: url("../img/icon_heart.png") no-repeat left center;
    width: 30px;
    height: 32px;
    padding-left: 30px;
    background-size: contain;
}

.ttl-eq {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 5px;
    color: #D6BDA5;
}

.ttl-eq:before {
    content: '';
    background: url("../img/icon_stethoscope.png") no-repeat left center;
    width: 1lh;
    height: 1lh;
    padding-left: 30px;
    background-size: contain;
}

.txtch {
    font-size: 2.1rem;
    color: #D6BDA5;
    font-weight: bold;
    margin-bottom: 10px;
}

.txtch_gray {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.aboutlist {
    background: #f9f9f9;
    padding: 20px 20px 10px;
    margin-bottom: 30px;
}

.aboutlist ul {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

.aboutlist ul li {
    flex-basis: 32%;
    border: 1px solid #cccccc;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center;
    padding: 40px 10px;
    color: #D6BDA5;
    background: #fff;
}

.ttl-obi {
    font-size: 2.4rem;
    background: #D6BDA5;
    padding: 5px 20px;
    color: #fff;
    margin-bottom: 25px;
}

.ttl-obi02 {
    background: #D6BDA5;
    padding: 5px 10px;
    color: #fff;
    margin-bottom: 0;
}

.ttl-line {
    font-size: 2.1rem;
    width: 100%;
    border-bottom: 4px solid #e0e2e3;
    position: relative;
    margin-bottom: 20px;
}

.ttl-line::after {
    content: "";
    display: block;
    border-bottom: 4px solid #cdb89d;
    width: 30%;
    position: absolute;
}


.ttl-line02 {
    font-size: 2.8rem;
    margin-bottom: 20px;
    display: flex;
    /* 横並びにする */
    align-items: center;
    /* 垂直方向に中央 */
}


.ttl-line02::after {
    content: "";
    flex-grow: 1;
    /* 線の伸び率 */
    border-bottom: 1px solid #ccc;
}

.ttl-line02::after {
    margin-left: 10px;
    /* 線と文字の間のスペース */
    padding-right: 15px;
    /* 線の長さが、最低でも15px以上になるように余白をとる */
}



.ttl-surprise {
    font-size: 1.8rem;
}

.ttl-surprise:before {
    content: '';
    background: url("../img/icon_surprise.png") no-repeat left center;
    width: 30px;
    height: 30px;
    padding-left: 30px;
    background-size: contain;
}

.ttl-surprise02 {
    font-size: 1.8rem;
}

.ttl-surprise02:before {
    content: '';
    background: url("../img/icon_surprise02.png") no-repeat left center;
    width: 30px;
    height: 30px;
    padding-left: 30px;
    background-size: contain;
}

.ttl-blue {
    font-size: 3.0rem;
    color: #092944;
    margin-bottom: 20px;
}

.ttl-brown {
    font-size: 3.0rem;
    color: #D6BDA5;
    margin-bottom: 20px;
}

.ttl-brown02 {
    font-size: 3.0rem;
    color: #D6BDA5;
    margin-bottom: 20px;
    text-align: center;
    font-weight: bold;
}

.txt-brown {
    font-size: 1.8rem;
    color: #D6BDA5;
}

.dog-fl {
    width: 160px;
    float: left;
}

.dog-fr {
    width: 680px;
    float: right;
}


.layer {
    margin-bottom: 60px;
}

.layer-fl {
    float: left;
    width: 36%;
}

.layer-fl img {
    width: 100%;
    vertical-align: bottom;
}

.layer-fr {
    float: right;
    width: 60%;
}

.layer-fr p {
    margin-bottom: 1em;
}

.layer-fr p:last-child {
    margin-bottom: 0;
}

.graybox {
    padding: 20px;
    background: #f9f9f9;
    border: 1px solid #ccc;
}

.graybox p {
    margin-bottom: 1em;
}

.graybox p:last-child {
    margin-bottom: 0;
}

.graybox03 {
    padding: 20px;
    background: #f9f9f9;
}


.layer_w320 {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

.layer_w320_fl {
    width: 30%;
}

.layer_w320_fl img {
    width: 100%;
}

.layer_w320_fr {
    width: 66%;
}


.layer_w240 {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

.layer_w240_fl {
    width: 24%;
}

.layer_w240_fl img {
    width: 100%;
}

.layer_w240_fr {
    width: 72%;
}

.dottedbox {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 20px;
    margin-bottom: 20px;
}


.causebox {}

.causebox ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

.causebox ul li.cause01 {
    width: 43%;
    padding: 20px 20px;
    background: #fcf3e8;
    position: relative;
    border-radius: 10px;
}

.causebox ul li.cause01 h3 {
    font-size: 2.1rem;
    margin-bottom: 10px;
    text-align: center;
    color: #D6BDA5;
}

.causebox ul li.cause01 h3 span {
    font-size: 1.6rem;
    display: block;
}

.causebox ul li.cause02 {
    width: 10%;
    text-align: center;
}

.causebox ul li.cause02 img {
    width: auto;
}


h2.ttl-line03 {
    font-weight: bold;
    font-size: 3.0rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

h2.ttl-line03 span {
    color: #a18439;
    font-weight: normal;
    font-size: 1.4rem;
    font-family: 'Montserrat', sans-serif;
}

h2.ttl-line03 span::before {
    content: '';
    background: url(../img/icon_ttl.png) no-repeat left center;
    width: 40px;
    height: 1px;
    padding-left: 40px;
    padding-right: 10px;
    margin-left: 10px;
}

dl.stagelist dt span {
    color: #fff;
    background: #a18439;
    padding: 5px 10px;
    margin-right: 5px;
}

dl.stagelist {
    margin-top: 15px;
}

dl.stagelist dt {
    margin-bottom: 10px;
}

dl.stagelist dd {
    margin-bottom: 20px;
}

dl.stagelist dd:last-child {
    margin-bottom: 0;
}

/* ==== パンくず =====*/

#pankuzu {
    width: 100%;
    margin: 0;
    padding: 20px 0 0;
}

#pankuzu .inner {
    width: 1000px;
    margin: 0 auto;
    text-align: left;
}

#pankuzu .inner {
    font-size: 1.2rem;
}

div.bread_crumb ul {
    list-style: none;
}


div.bread_crumb>ul:after,
div.bread_crumb>ul:before {
    content: "";
    display: table;
}

div.bread_crumb>ul:after {
    clear: both;
}

div.bread_crumb ul {}

div.bread_crumb ul li a:hover {}

div.bread_crumb ul li {
    float: left;
}

div.bread_crumb ul li.sub {
    padding-left: 15px;
}

div.bread_crumb ul li.sub:before {
    content: ">";
    letter-spacing: 10px;
}


/***** 初診の方へ first *****/

.downloadbox {
    text-align: right;
    margin-bottom: 50px;
}

.download-in {
    margin-bottom: 60px;
}

a.btn-download {
    background: #003a78;
    padding: 20px 30px;
    text-align: center;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
}

a.btn-download:hover {
    background: #1e558f;
}

a.btn-download:before {
    content: '';
    background: url("../img/icon_pdf.png") no-repeat left center;
    width: 24px;
    height: 29px;
    padding-left: 20px;
    background-size: contain;
}

ul.checkbox {
    background: #f9f9f9;
    padding: 20px;
    list-style: none;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    font-size: 1.4rem;
    margin-bottom: 30px;
}


ul.checkbox li {
    width: 48%;
}


ul.checkbox li:before {
    content: '';
    background: url("../img/icon_check.png") no-repeat left center;
    width: 30px;
    height: 24px;
    padding-left: 28px;
    background-size: contain;
}


ul.checkbox03 {
    list-style: none;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    font-size: 1.6rem;
    font-weight: bold;
}


ul.checkbox03 li {
    margin-right: 20px;
}

ul.checkbox03 li:last-child {
    margin-right: 0;
}


ul.checkbox03 li:before {
    content: '';
    background: url("../img/icon_check.png") no-repeat left center;
    width: 30px;
    height: 24px;
    padding-left: 28px;
    background-size: contain;
}



ul.checkbox02 {
    list-style: none;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 10px;
}


ul.checkbox02 li {
    width: 23%;
}


ul.checkbox02 li:before {
    content: '';
    background: url("../img/icon_check.png") no-repeat left center;
    width: 30px;
    height: 24px;
    padding-left: 28px;
    background-size: contain;
}

ul.teethflowbox li {
    margin-bottom: 20px;
}

ul.teethflowbox li img {
    width: 47px;
    display: block;
    margin: 0 auto;
}

.teethflow {
    border: 1px solid #ccc;
    padding: 15px;
    border-radius: 10px;
}

.teethflow h4 {
    margin-bottom: 10px;
}

.teethflow h4 span {
    background: #a18439;
    padding: 10px 20px;
    margin-right: 10px;
    color: #fff;
}

.teethflow p {
    margin-bottom: 1em;
}

.teethflow p:last-child {
    margin-bottom: 0;
}

.flowbox {
    margin-bottom: 60px;
}

.flow-in {
    padding: 30px;
    border: 1px solid #ccc;
    border-radius: 8px;
    margin-bottom: 20px;
}

.flow-fl {
    float: left;
    width: 55%;
}

.flow-fl h4 {
    margin-bottom: 20px;
}

.flow-fl h4 span {
    background: #a18439;
    padding: 10px;
    margin-right: 10px;
    color: #fff;
    font-size: 1.4rem;
}

.flow-fl p {
    margin-bottom: 20px;
}


.flow-fr {
    float: right;
    width: 40%;
}

.flow-fr img {
    width: 100%;
}

.txt-first01 {
    font-size: 1.2rem;
}

.yoyakubox {
    padding: 20px 10px;
    background: #f2f2f2;
    border: 1px solid #ccc;
    text-align: center;
    margin-bottom: 30px;
}

.first_tel {
    font-size: 2.8rem;
    color: #a18439;
    font-weight: bold;
    background: #fff;
    padding: 10px 40px;
    display: inline-block;
    margin-bottom: 10px;
}

.first_tel:before {
    content: ' ';
    background-image: url(../img/icon_tel.png);
    margin-right: 10px;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 32px;
}

.first-list {
    margin-bottom: 60px;
}

.first-list dl {
    margin-bottom: 30px;
}


.first-list dl dt {
    font-weight: bold;
}

.first-list dl dd {
    margin-bottom: 20px;
}

.first-list dl dd:last-child {
    margin-bottom: 0px;
}

.txtfirst-red {
    color: #cc0000;
    text-align: center;
    margin-bottom: 10px;
}


/********** 当院について一覧、診療案内一覧 **********/

.department-in {
    margin-bottom: 60px;
}

ul.departmentlist {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

ul.departmentlist li {
    flex-basis: 48%;
    margin-bottom: 30px;
}

ul.departmentlist li img {
    width: 100%;
}

.txt-department {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
}


a.btn-department {
    background: #f8f8f8;
    display: block;
    width: auto;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    color: #333;
}

a.btn-department:hover {
    background: #092944;
    color: #fff;
}

/***** 腎・泌尿器疾患 *****/

.urologytxt {
    margin-bottom: 40px;
}

.urologytxt p {
    margin-bottom: 1em;
}

.urologytxt p:last-child {
    margin-bottom: 0;
}

.notebox {
    padding: 30px;
    background: url(../img/bg_note.png) repeat left center;
    margin-top: 10px;
    margin-bottom: 30px;
}



/***** 施設･設備のご紹介 detail *****/

.detail-in {
    margin-bottom: 60px;
}

ul.detaillist {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

ul.detaillist li {
    flex-basis: 48%;
    margin-bottom: 30px;
}

ul.detaillist li img {
    width: 100%;
}

.txt-detail {
    color: #092944;
    font-size: 1.8rem;
    font-weight: bold;
}

.txt-detailex {
    font-size: 1.4rem;
    line-height: 1.6;
}


ul.detaillist02 {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

ul.detaillist02 li {
    flex-basis: 31%;
    margin-bottom: 30px;
}

ul.detaillist02 li img {
    width: 100%;
}


/***** うさぎ･ハムスターの診療 *****/

.rabbitsbox {
    margin-bottom: 60px;
}



/***** 院長あいさつ＆スタッフ紹介 about *****/

.about {
    margin-bottom: 60px;
}

.about-fl {
    float: left;
    width: 36%;
}

.about-fl img {
    width: 100%;
}

.about-fr {
    float: right;
    width: 60%;
}

.aboutbox-in {
    margin-bottom: 60px;
}

.staff-box {
    margin-bottom: 30px;
}

.staff-fl {
    float: left;
    width: 36%;
}

.staff-fl02 {
    float: left;
    width: 60%;
}

.staff-fl img {
    width: 100%;
}

.staff-fr {
    float: right;
    width: 60%;
}

.staff-fr02 {
    float: right;
    width: 36%;
}

.staff-fr02 img {
    width: 100%;
}


dl.stafex dt span {
    background: #003a78;
    padding: 5px 20px;
    color: #fff;
    margin-right: 10px;
    border-radius: 4px;
}

dl.stafex dt {
    margin-bottom: 10px;
}

dl.stafex dd {
    margin-bottom: 30px;
}

dl.stafex dd:last-child {
    margin-bottom: 0px;
}


/***** 診療時間＆救急外来 hours *****/

#hoursbox::before {
    content: "";
    display: block;
    height: 150px; /* ヘッダーの高さと同じに */
    margin-top: -150px;
    visibility: hidden;
}

.hoursbox-in {
    background: #fcf3e8;
    padding: 20px;
    margin-bottom: 20px;
}

ol.circlelist {
    counter-reset: cp_clist;
    list-style-type: none;
    padding: 0;
}

ol.circlelist li {
    margin-bottom: 20px;
    padding-left: 35px;
    position: relative;
}

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

ol.circlelist li::before {
    position: absolute;
    display: inline-block;
    top: 14px;
    left: 0;
    counter-increment: cp_clist;
    content: counter(cp_clist);
    padding: 0 0.2em 0 0.2em;
    background: #D6BDA5;
    color: #fff;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    transform: translateY(-50%);
}

ol.circlelist li h3 {
    color: #D6BDA5;
}

.txt-hours {
    margin-bottom: 20px;
}







/***** アクセス access *****/



h2.ttl-02 {
    font-weight: bold;
    font-size: 3.0rem;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

h2.ttl-02 span {
    color: #a18439;
    font-weight: normal;
    font-size: 1.4rem;
    font-family: 'Montserrat', sans-serif;
}

h2.ttl-02 span::before {
    content: '';
    background: url(../img/icon_ttl.png) no-repeat left center;
    width: 40px;
    height: 1px;
    padding-left: 40px;
    padding-right: 10px;
    margin-left: 10px;
}


#accessbox h3 {
    font-size: 2.1rem;
}

.mapbox02 {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 15px;
}

.mapbox02 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#accessbox dl.parking {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 30px;
    margin-bottom: 30px;
}

#accessbox dl.parking dd {
    font-size: 1.4rem;
}

.txt-access {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.access-fl {
    float: left;
    width: 578px;
    border: 1px solid #ccc;
}

.access-fl img {
    width: 100%;
    vertical-align: bottom;
}


.access-fr {
    float: right;
    width: 380px;
}

.access-fr dl dt {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.access-fr dl dd {
    font-size: 1.4rem;
}



/********** 各種疾患検査 kensalist **********/

.kensalistbox {
    margin-bottom: 60px;
}

.inspectionbox {
    background: #f9f9f9;
    padding: 60px 20px 20px;
    margin-bottom: 20px;
}

.inspectionbox ul {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    list-style: none;
    justify-content: space-between;
}

.inspectionbox ul li {
    width: 32%;
    border: 1px solid #ccc;
    padding: 40px 20px 20px;
    background: #fff;
    position: relative;
}

.inspectionbox ul li p.icon {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.inspectionbox ul li p.icon img {
    width: 80px;
}

.inspectionbox ul li h3 {
    font-size: 2.1rem;
    font-weight: normal;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
    text-align: center;
    color: #D6BDA5;
}


/********** 定期検診 checkup **********/

.checkupbox {
    margin-bottom: 60px;
}

.agebox {
    background: #f9f9f9;
    padding: 20px;
}

.agebox ul li {
    margin-bottom: 20px;
}

.agebox ul li:last-child {
    margin-bottom: 0px;
}

.agebox-in {
    background: #fff;
    padding: 20px;
    border: 1px solid #ccc;
}

.agebox-inbox {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    justify-content: flex-start;
}

.agebox-in h4 {
    font-size: 2.1rem;
    color: #D6BDA5;

}

.agebox-in p.ageimg {
    margin-right: 10px;
}

.agebox-in p img {
    width: 80px;
}

.agebox-in h5 {
    font-size: 1.8rem;
    margin-bottom: 5px;
    color: #D6BDA5;
}

/***** 個人情報保護 privacy *****/

.txt-privacy {
    margin-bottom: 30px;
}

dl.privacylist dt {
    font-weight: bold;
}

dl.privacylist dd {
    margin-bottom: 20px;
}

dl.privacylist dd:last-child {
    margin-bottom: 0px;
}


/***** sitemap *****/

.sitemap {}

.sitemap ul {
    list-style: none;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dotted #ccc;
}

.sitemap ul li {
    margin-left: 1em;
}


.sitemap h3.sitemapttl {
    list-style: none;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dotted #ccc;
}


/******************** セミナー・レシピ 更新パーツ ********************/



/***** main-cont *****/

.main-cont {
    width: 680px;
    float: left;
}

.main-cont article {
    border-bottom: 1px dotted #ccc;
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.main-cont article img {
    width: 150px;
    height: 150px;
    float: left;
    border-radius: 10px;
    object-fit: cover;
}

.main-cont article .categorybox {
    width: 500px;
    float: right;
}

.main-cont article a {
    color: #333;
}

.category-date, .entry-date {
    font-size: 1.2rem;
}

.category-title {
    font-size: 1.8rem;
}

.entry-title {
    font-size: 2.4rem;
    margin-bottom: 20px;
}

.category-content {
    font-size: 1.4rem;
}

.entry-content img {
    border-radius: 10px;
    margin: 0 auto 20px;
    display: block;
}

a:hover .category-title {
    color: #092944;
    transition: 0.3s ease-in-out;
}

.main-cont article a:hover img {
    opacity: 0.6;
    transition: 0.3s ease-in-out;
}

.main-cont ul, .main-cont dl {
    list-style: none;
}

table.entryTB caption {
    font-size: 1.8rem;
    text-align: left;
    font-weight: 700;
    margin-bottom: 5px;
}

table.entryTB {
    width: 100%;
    text-align: left;
    border-collapse: collapse;
    border: #cccccc 1px solid;
    margin-top: 30px;
}

table.entryTB th {
    width: 22%;
    padding: 15px;
    border: #cccccc 1px solid;
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
    background: #f9f9f9;
}

table.entryTB td {
    padding: 15px;
    background: #ffffff;
    border-bottom: #cccccc 1px solid;
}


.btn_entry {
    width: 80%;
    color: #ffffff;
    background: #ffc658;
    display: block;
    border: 2px solid #ffc658;
    padding: 15px 0;
    text-align: center;
    margin: 40px auto 0;
    border-radius: 30px;
}

.btn_entry:hover {
    color: #ffc658;
    background: none;
    display: block;
    border: 2px solid #ffc658;
    padding: 15px 0;
    -webkit-transition: all 500ms ease-in-out;
    transition: all 500ms ease-in-out;
}




/***** side-cont *****/

.side-cont {
    width: 260px;
    float: right;
}

.side-cont h3 {
    padding: 10px;
    background: #D6BDA5;
    color: #ffffff;
    text-align: center;
    margin-bottom: 0;
}

.side-cont h3 span {
    font-size: 1.0rem;
    margin-left: 5px;
}

.side-cont ul {
    padding: 20px;
    background: #f9f9f9;
    text-align: left;
    font-size: 14px;
}


.side-cont ul li {
    list-style: none;
    margin-bottom: 5px;
}

.side-cont ul li:last-child {
    margin-bottom: 0;
}

.side-cont ul li:before {
    content: "・";
    padding-right: 6px;
}

.side-cont ul li a {
    color: #333;
    text-decoration: none;
}

.side-cont ul li a:hover {
    color: #092944;
    text-decoration: underline;
}


.side-cont div {
    margin-bottom: 30px;
}

.side-cont div:last-child {
    margin-bottom: 0px;
}



/***** pager *****/

.pager {
    overflow: hidden;
}

.pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left;
}

.pager ul li {
    margin: 0 1px;
    position: relative;
    left: -50%;
    float: left;
}

.pager ul li span,
.pager ul li a {
    display: block;
    font-size: 16px;
    padding: 0.6em 1em;
}

.pager ul li a {
    background: #f8f8f8;
    color: #565656;
    text-decoration: none;
}

.pager ul li a:hover {
    background: #333;
    color: #FFF;
}

.pagenation {
    margin: 1em 0;
}

.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

.pagenation ul {
    margin: 0;
}

.pagenation li {
    float: left;
    list-style: none outside none;
    margin-left: 3px;
}

.pagenation li:first-child {
    margin-left: 0;
}

.pagenation li.active {
    background-color: #999999;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 11px 20px;
}

.pagenation li a {
    background: none repeat scroll 0 0 #CCCCCC;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 10px 20px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.pagenation li a:hover {
    background-color: #444444;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}


.next_prev_page_link {
    border-top: 1px dotted #cccccc;
    position: relative;
    font-size: 14px;
    margin-top: 50px;
}

.next_prev_page_link ul {
    list-style: none;
}

.next_prev_page_link ul li.prev {
    float: left;
    width: 47%;
}

.next_prev_page_link ul li.next {
    float: right;
    width: 47%;
}

.next_prev_page_link ul li.prev {
    text-align: left;
    padding-left: 10px;
}

.next_prev_page_link ul li.prev:after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    content: '';
    width: 12px;
    height: 22px;
    background: url(../img/btn_arrow-l.svg) 50% 50% no-repeat;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.next_prev_page_link ul li.next {
    text-align: right;
    padding-right: 10px;
}

.next_prev_page_link ul li.next:after {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    content: '';
    width: 12px;
    height: 22px;
    background: url(../img/btn_arrow-r.svg) 50% 50% no-repeat;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


.next_prev_page_link ul li.prev a, .next_prev_page_link ul li.next a {
    display: block;
    padding: 30px 20px;
    text-decoration: none;
    color: #333;
}

.next_prev_page_link ul li.prev a:hover, .next_prev_page_link ul li.next a:hover {
    color: #a18439;
}



/* flex */
.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* CLERFIX */
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    /*height: 1;*/
    clear: both;
    visibility: hidden;
    font-size: 0;
    line-height: 0;
    margin: -1px 0 0 0;
    overflow: hidden;
}

.clearfix {
    _overflow: visible;
    _height: 1px;
    zoom: 1;
}



/*  アコーディオン　*/


.drawer--nav section p.spnavi {
    color: #fff;
    cursor: pointer;
    position: relative;
}

.spnavi {
    line-height: 1.4;
    padding: 15px 10px;
    border-bottom: 1px solid #cdb89d;
}

.spnavi02 {
    line-height: 1.4;
    border-bottom: 1px solid #cdb89d;
}

.spnavi02 a {
    padding: 15px 10px;
    color: #fff;
    text-decoration: none;
    display: block;
}

.spnavi02 a:hover {
    background: #bb986c;
}


.spnavi span, .spnavi02 span {
    font-size: 1.2rem;
    display: block;
}



.navi-in {
    border-bottom: 1px solid #cdb89d;
}

.drawer--nav ul {}

.drawer--nav section p.spnavi:before, .drawer--nav section p.spnavi:after {
    content: '';
    position: absolute;
    top: 50%;
}


.drawer--nav section p.spnavi:before {
    right: 21px;
    width: 2px;
    height: 12px;
    margin-top: -6px;
    background-color: currentColor;
}

.drawer--nav section p.spnavi.active:before {
    display: none;
}

.drawer--nav section p.spnavi:after {
    right: 16px;
    width: 12px;
    height: 2px;
    margin-top: -1px;
    background-color: currentColor;
}


.telcontactbox {
    background: #092944;
    padding: 20px;
    color: #fff;
    text-align: center;
    margin-bottom: 50px;
}

.telcontactbox h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 3.6rem;
    letter-spacing: 1.5px;
}

.telcontactbox ul {
    font-size: 1.2rem;
}

a.btntel {
    width: 46%;
    font-size: 2.8rem;
    background: #fff;
    padding: 10px 30px;
    margin: 0 auto 10px;
    display: block;
    color: #092944 !important;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
}

.btntel:before {
    content: ' ';
    background-image: url("../img/icon_tel_blue.png");
    margin-right: 10px;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 32px;
}


a[href*="tel:"] {
    pointer-events: none;
    color: #a18439;
}

/********** 神経疾患 shinkei **********/
.shinkei-fl {
    float: left;
    width: 400px;
}

.shinkei-fl img {
    width: 100%;
}


.shinkei-fr {
    float: right;
    width: 510px;
}

.shinkei-fr p {
    margin-bottom: 1em;
}

.shinkei-fr p:last-child {
    margin-bottom: 0;
}

/********** お問い合わせBOX **********/

.contactbox02 {
    padding: 20px 10px;
    background: #D6BDA5;
    text-align: center;
    margin-bottom: 30px;
    color: #fff;
}

.contactbox02 h3 {
    font-size: 3.6rem;
}

.contactbox02 .contact_tel {
    font-size: 2.8rem;
    color: #D6BDA5;
    font-weight: bold;
    background: #fff;
    padding: 10px 40px;
    display: inline-block;
    margin-bottom: 10px;
}

.contactbox02 .contact_tel:before {
    content: ' ';
    background-image: url(../img/icon_tel.png);
    margin-right: 10px;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
    width: 40px;
    height: 32px;
}

.entry-content p {
    margin-bottom: 1em;
}

.entry-content p:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 1024px) {
    a[href*="tel:"] {
        pointer-events: initial;
        color: #a18439;
    }
}


/***** 21/11/23更新  ******/



/***** 採用情報 *****/

.recruit {}

.recruit h3.recruitttl {
    list-style: none;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px dotted #ccc;
}

.recruitimg img {
    width: 100%;
    margin-bottom: 10px;
}

.ttl-recruit {
    font-size: 2.8rem;
    font-weight: bold;
    margin-bottom: 15px;
    padding-bottom: 15px;
    color: #D6BDA5;
    text-align: center;
    border-bottom: 1px dotted #cccccc;
}

.txt-recruitbox {
    font-size: 1.8rem;
    color: #D6BDA5;
    margin-bottom: 30px;
}

.txt-recruitbox02 {
    margin-bottom: 40px;
}

.btn-recrui img {
    width: 70%;
    display: block;
    margin: 0 auto;
}

.btn-recrui a:hover img {
    opacity: 60%;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

/***** TOP 修正 *****/

ul.medicallist li a {
    display: block;
    color: #333;
    text-decoration: none;
}

ul.medicallist li a img {
    vertical-align: bottom;
}


ul.medicallist li.mcl01_01 img {
    width: 100%;
}

ul.medicallist li.mcl02_01 img {
    width: 100%;
}

ul.medicallist li.mcl03_01 img {
    width: 100%;
}

ul.medicallist li.mcl04_01 img {
    width: 100%;
}

ul.medicallist li.mcl05_01 img {
    width: 100%;
}

ul.medicallist li.mcl06_01 img {
    width: 100%;
}

ul.medicallist li.mcl07_01 img {
    width: 100%;
}

ul.medicallist li.mcl08_01 img {
    width: 100%;
}

ul.medicallist li.mcl09_01 img {
    width: 100%;
}

ul.medicallist li.mcl10_01 img {
    width: 100%;
}

ul.medicallist li.mcl11_01 img {
    width: 100%;
}

ul.medicallist li.mcl12_01 img {
    width: 100%;
}