@charset "utf-8";


/* ---------------------------------------------------------------------------------------------

    ベースグループ
    
    そのサイトの基本設定
    ページによって変更のないもの・どのページでも使用するもの、できるもの

    セレクタの設定

--------------------------------------------------------------------------------------------- */

:root {
    --main_color: #80bdc0;
    --footer_heading_color: #76cccb; /* フッターの見出しに使われている色 */
    --footer_heading_exception_color: #ff7b2c; /* フッターの見出しの例外の色 */
    --footer_group_color: #76cccb; /* 病院一覧の背景色 */
    --footer_bottom_color: #619e9f; /* フッターの色 */
    --footer_address_color: #386664;/* コピーライトの色 */
    --gotoTop: rgba(0, 0, 0, 0.2);/* ページのトップへ戻るの色 */

    --link_color_base: #6698a1;

    --text_color_base: #666666;

    --background_color_base: #fff;

    --background_color_breadcrumbs: #80bdc0;
}


html {
    scroll-behavior: smooth;
}


body {
    margin: 0 auto;
    padding: 0;
    color: var(--text_color_base);
    height: 100%;
    font-family: "Segoe UI", Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    background: var(--background_color_base);
}



/* ----------------------------------------------

 * imgタグの設定

---------------------------------------------- */

img {
    max-width: 100%;
    height: auto;

    vertical-align: bottom;
    border: none;
    /* -webkit-transition: 0.5s;
    transition: 0.5s; */
    text-decoration: none;

}



/* ----------------------------------------------

 * aタグの設定

---------------------------------------------- */
a {
    color: var(--link_color_base);
	/* -webkit-transition: 0.5s;
 	transition: 0.5s; */
}

a:hover {
  color: var(--link_color_base);
}

/* ----------------------------------------------

 * hrタグの設定

---------------------------------------------- */

hr {
    color: #ddd;
}


/* ----------------------------------------------

 * pタグの設定

---------------------------------------------- */
main p {
    line-height: 2.4;
}

/* ----------------------------------------------

 * 明朝体

---------------------------------------------- */
.min {
    font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

/* ----------------------------------------------

 * 背景色

---------------------------------------------- */

/* 黄色 */
.bg_yellow {
    background-color: #fffdf4;
}

/* 水色 */
.bg_skyblue {
    background-color: #f4fdff;
}

/* ベージュ */
.bg_beige {
    background-color: #fff8f4;
}

/* 黄緑 */
.bg_rightgreen {
    background-color: #f2fcf2;
}

/* ----------------------------------------------

 * header

---------------------------------------------- */



/* モバイル */
@media not screen and (min-width: 1280px) {
    header {
        align-items: center;

        width: 90%;
        margin: 0 auto;
        padding: 1em;
    }


    header #logo {
        width: 200px;
    }
        header #logo img {
            width: 200px;
        }

    header .main_nav {
        display: none;
    }

    header #global_menu {
        display: flex;
        justify-content: flex-end;
        
        width: calc(100% - 200px);
    }
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
    header {
        width: 93%;
        min-width: 1180px;
        margin: 0 auto;
        padding: .5em 0;
    }

    /* header .main_nav {
        width: 100%;
    } */

    header #logo img {
        width: 320px;
    }
}


/* ----------------------------------------------

 * グローバルナビゲーション

 ---------------------------------------------- */

header .main_nav ul {
    display: grid;
    grid-template-columns: repeat(10, max-content) 1fr;
    justify-content: center;
    align-items: center;
}

/* ----------------------------------------------

 * アイキャッチ

---------------------------------------------- */
#eyeCatch {
    width: 100%;
    height: 360px;

    text-align: center;

    background-size: cover;
    background-position: center;
}
    #eyeCatch>div {
        position: relative;
        top: 50%;
        display: inline-block;
        
        min-width: 200px;
        height: 200px;

        background-color: #fff;
    
        transform: translateY(-50%);
    }
        #eyeCatch h1 {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;

            width: 100%;
            height: 100%;
            
        }
            #eyeCatch h1 .ja {
                margin-block-end: 0.25em;
                color: var(--main_color);
                font-size: 1.75em;
                font-weight: bold;
            }
            #eyeCatch h1 .en {
                text-transform: uppercase;
            }

@media not screen and (min-width: 500px) {
	#eyeCatch {
		height: 200px;
	}
}
/* ----------------------------------------------

 * パンくずリスト

---------------------------------------------- */
#breadcrumbs {
    background-color: var(--background_color_breadcrumbs);
}
    #breadcrumbs ul {
        display: flex;
        align-items: center;
        gap: 1em;

        width: 100%;
        padding: 16px 0;

        color: #fff;
    }
        #breadcrumbs ul li:first-child {
            display: flex;
            align-items: center;
        }
            #breadcrumbs ul li:first-child img {
                width: 16px;
            }
        #breadcrumbs ul li:not(:last-child)::after {
            content: ">";

            margin-inline-start: 1em;
        }

        #breadcrumbs a {
            color: #fff;
        }
            #breadcrumbs a:hover,
            #breadcrumbs a:focus {
                color: #96dbde;
            }

/* ----------------------------------------------

 * 下階層

---------------------------------------------- */

/* モバイル */
@media not screen and (min-width: 1280px) {
    body.page main, body.single main, body.archive main {
        padding: 2.5em 0;
    }
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
    body.page main, body.single main, body.archive main {
        padding: 5em 0;
    }
}


main h2.bg_color {
    margin-bottom: 1em;
    padding: 15px 30px;
    color: #fff;
    font-size: 1.563em;
    font-weight: bold;
    background-color: var(--footer_group_color);
}



/* ボーダー入りボックス */
main .border_box {
    margin-block-start: 4em;
    margin-block-end: 4em;
    border: solid #dddddd;
    border-width: 1px;
}

main .border_box h2 {
    padding: 30px 15px;
    color: var(--footer_group_color);

    font-weight: bold;

    text-align: center;

    border-bottom: 1px solid #dddddd;
}

main .border_box h3 {
    margin-bottom: 1em;
}
    main .border_box h3 a {
        text-decoration: underline;
    }

/* ボックスの中にも線がある場合 */
main .border_box .border_box_child {
    width: 100%;
    border: solid #dddddd;
    border-width: 0 1px 1px 0;
}

    main .border_box .border_box_child:nth-child(even) {
        border-right: 1px solid #dddddd;
    }

    /* 4辺に線のあるbox */
    .square_box {
        
        border: 1px solid #dddddd;
    }
    

    main .border_box .border_box_child h3 {
        color: var(--footer_group_color);
    }

    main .border_box .cell_merging.border_box_child {
        border: solid #dddddd;
        border-width: 1px 0 1px 0;
    }


/* タイトルが背景色付き */
main .border_box.title_bg_true h2 {
    padding: 15px 30px;
    color: #fff;
    text-align: left;
    background-color: var(--footer_group_color);
}
    main .border_box.title_bg_true h2 .note {
        font-size: 1rem;
        font-weight: normal;
    }


/* モバイル */
@media not screen and (min-width: 1280px) {
    main .border_box .container {
        padding: 1em;
    }

    main .border_box h2 {
        font-size: 1.5em;
    }

    main .border_box h3 {
        font-size: 1.25em;
    }

    main .border_box .border_box_child .images {
        text-align: center;
    }
        main .border_box .border_box_child .images.mod_order1 {
            margin-bottom: 1em;
        }
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
    
    main .border_box h2 {
        font-size: 1.875em;
    }

    main .border_box .container {
        padding: 2em;
    }
    

    main .border_box h3 {
        font-size: 1.5em;
    }

    main .border_box .border_box_child .text {
        width: 60%;
    }


    
}



/* ----------------------------------------------

 * footer

---------------------------------------------- */
#ly_footer .mod_note {
    color: inherit;
}


#ly_footer_top h2 {
    margin-bottom: 0.625em;
    padding: 10px 0;
    color: var(--footer_heading_color);
    font-size: 1.125rem;
    font-weight: 700;
    border-bottom: 2px solid var(--footer_heading_color);
}

#ly_footer_top h2.exception {
    color: var(--footer_heading_exception_color);
    border-bottom: 2px solid var(--footer_heading_exception_color);
}

#ly_footer #ly_footer_top .address {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

#ly_footer_top p {
    margin-bottom: 1em;
    line-height: 1.6;
}

/* 診療時間 */
#ly_footer_top #footer_schedule_table {
    width: 100%;
    border: 1px solid #ccc;
    table-layout: fixed;
}

#ly_footer_top #footer_schedule_table th,
#ly_footer_top #footer_schedule_table td {
    padding: 20px 8px;
    border: 1px solid #ccc;
}


#ly_footer_top #footer_schedule_table thead th {
    font-weight: normal;
    text-align: center;
    background-color: #fafafa;
}

#ly_footer_top #footer_schedule_table tbody th {
    font-weight: normal;
    text-align: center;
}

#ly_footer_top #footer_schedule_table tbody tr:nth-child(odd) th {
    background-color: #ffab78;
}

#ly_footer_top #footer_schedule_table tbody tr:nth-child(even) th {
    background-color: #eff5f6;
}

#ly_footer_top #footer_schedule_table tbody td {
    text-align: center;
    vertical-align: middle;
}


/* 通常診療 */
/* #ly_footer_top #medical_hours .regular {
    font-size: 1.2em;
} */

#ly_footer_top #medical_hours strong {
    color: var(--footer_heading_exception_color);
}


/* 理念 */
#ly_footer_middle {
    display: grid;
    row-gap: 1em;
}


/* 病院一覧 */
#ly_footer_group {
    color: #fff;
    background-color: var(--footer_group_color);
}


#ly_footer_group .group_lists h2 {
    margin-bottom: 1em;
    font-size: 1.313em;
    font-weight: bold;
    text-align: center;
}



#ly_footer_group .group_lists dl {
    display: grid;
    grid-template-columns: 1fr 3fr;
    column-gap: 1em;
    row-gap: 1em;

    margin-bottom: 1em;
}

#ly_footer_group .group_lists dl dt,
#ly_footer_group .group_lists dl dd {
    line-height: 1.4;
}

/* リンク */
#ly_footer_group .group_lists .mod_r-corners {
    display: block;
    color: var(--footer_group_color);
    background-color: #fff;
}

/* 電話 */
#ly_footer_group .group_lists .tel {
    display: grid;

    margin: 1em 0;
    padding: 0.5em 0;

    text-align: center;

    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

#ly_footer_group .group_lists .tel p {
    align-self: center;
}

#ly_footer_group .group_lists .tel span {
    font-size: 1.563em;
}



/* フッター */
#ly_footer_bottom {
    padding: 30px 0;
    color: #ffffff;
    background-color: var(--footer_bottom_color);
}

#ly_footer_bottom a {
    color: #fff;
}

#ly_footer_bottom .grid {
    font-size: 1.1em;
}

#ly_footer_bottom h2 {
    margin-bottom: 1em;
    padding-bottom: 1em;

    border-bottom: 1px solid #fff;
}

/* 動物取扱業登録証 */
#ly_footer_bottom .grid dl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1em;
    row-gap: 1em;

    margin-bottom: 1em;
}

#ly_footer_bottom dl dt {
    font-weight: normal;
}

/* サイトマップ */
#sitemap_lists {
    display: grid;
    /* grid-template-columns: repeat(2, 1fr); */
    grid-template-areas: "sitemap_guide sitemap_faq"
            "sitemap_medical sitemap_hospital"
            "sitemap_information sitemap_recruit"
            "sitemap_emergency sitemap_blog"
            "sitemap_calendar sitemap_privacypolicy"
            "sitemap_staff sitemap_solicitationpolicy"
            "sitemap_access .";

    row-gap: 1em;
}

#sitemap_guide {
    grid-area: sitemap_guide;
}

#sitemap_medical {
    grid-area: sitemap_medical;
}

#sitemap_information {
    grid-area: sitemap_information;
}

#sitemap_emergency {
    grid-area: sitemap_emergency;
}

#sitemap_calendar {
    grid-area: sitemap_calendar;
}

#sitemap_staff {
    grid-area: sitemap_staff;
}

#sitemap_access {
    grid-area: sitemap_access;
}

#sitemap_faq {
    grid-area: sitemap_faq;
}

#sitemap_hospital {
    grid-area: sitemap_hospital;
}

#sitemap_recruit {
    grid-area: sitemap_recruit;
}

#sitemap_blog {
    grid-area: sitemap_blog;
}

#sitemap_privacypolicy {
    grid-area: sitemap_privacypolicy;
}

#sitemap_solicitationpolicy {
    grid-area: sitemap_solicitationpolicy;
}

/* 外部リンク */
#ly_footer_bottom .external_link li {
    margin-bottom: 1em;
}


/* コピーライト */
#ly_footer_copyright {
    color: #fff;
    text-align: center;
    background-color: var(--footer_address_color);
}



/* モバイル */
@media not screen and (min-width: 1280px) {
    

    #ly_footer_top {
        display: flex;
        flex-direction: column;
        gap: 1em;
    }
	#medical_hours p {
		font-size: 1.2em;
		margin-bottom: 0;
	}

    /* 休診日の下の追加情報 */
    #ly_footer_top .options {
        display: flex;
        flex-direction: column;
        gap: 1em;
    }

    #ly_footer_top .contact {
        display: flex;
        flex-direction: column;
        gap: 1em;
    }

    /* 理念 */
    #ly_footer_middle {
        margin: 2em 0;
    }

    /* 病院一覧 */
    #ly_footer_group {
        padding: 30px 0;
    }
        #ly_footer_group .tel:not(.tel:last-child) {
            margin-block-end: 3em;
        }

    /* フッター */
    #ly_footer_bottom .grid {
        display: grid;
        gap: 2.5em;
    }

    #ly_footer_copyright small {
        display: block;
        padding: 23px 0;
    }
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
    #ly_footer {}

    /* 病院の情報 */
    #ly_footer_top {
        display: grid;
        grid-template-areas:
            "nara .."
            "table contact"
            "close After-hours";
        grid-template-columns: 45.8% 50.8%;

        grid-auto-flow: column;
        /* 自動的に配置する方向を列方向にする */
        column-gap: 3.4%;
        row-gap: 1em;

        margin-bottom: 3em;
    }



    /* 診療時間 */
    #ly_footer_top #footer_schedule_table th.space {
        width: 34.6%;
    }
	#medical_hours p {
		font-size: 2rem;
		margin-bottom: 0;
	}

    /* 休診日の下の追加情報 */
    #ly_footer_top .options {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        column-gap: 1em;
        row-gap: 1em;
    }


    /* 理念 */
    #ly_footer_middle {
        margin-bottom: 60px;

        font-size: 1.5em;
    }
	#ly_footer_middle img {
		width: 70%;
		margin-inline: auto;
	}

    /* 病院一覧 */
    #ly_footer_group {
        padding: 60px 0 60px;
    }

    #ly_footer_group .group_lists {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        /* grid-template-rows: repeat(4, 1fr); */

        column-gap: 1em;
    }


    #ly_footer_group .group_lists .tel span {
        font-size: 1.563em;
    }

    /* 奈良 */
    #h_01_name {
        grid-area: 1 / 1 / 2 / 2;
    }

    #h_01_address {
        grid-area: 2 / 1 / 3 / 2;
    }

    #h_01_link {
        grid-area: 3 / 1 / 4 / 2;
    }

    #h_01_tel {
        grid-area: 4 / 1 / 5 / 2;
    }

    /* 吉田 */
    #h_02_name {
        grid-area: 1 / 2 / 2 / 3;
    }

    #h_02_address {
        grid-area: 2 / 2 / 3 / 3;
    }

    #h_02_link {
        grid-area: 3 / 2 / 4 / 3;
    }

    #h_02_tel {
        grid-area: 4 / 2 / 5 / 3;
    }

    /* けいはんな */
    #h_03_name {
        grid-area: 1 / 3 / 2 / 4;
    }

    #h_03_address {
        grid-area: 2 / 3 / 3 / 4;
    }

    #h_03_link {
        grid-area: 3 / 3 / 4 / 4;
    }

    #h_03_tel {
        grid-area: 4 / 3 / 5 / 4;
    }

    /* ACE */
    #h_04_name {
        grid-area: 1 / 4 / 2 / 5;
    }

    #h_04_address {
        grid-area: 2 / 4 / 3 / 5;
    }

    #h_04_link {
        grid-area: 3 / 4 / 4 / 5;
    }

    #h_04_tel {
        grid-area: 4 / 4 / 5 / 5;
    }


    #ly_footer_bottom .grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 3em;
    }

        
    #ly_footer_copyright small {
        display: block;
        padding: 23px 0;
        font-size: 0.813rem;
        letter-spacing: 0.15em;
    }

}


/* ボタン */
main .btn {
    display: inline-block;
    color: #fff;
    border: 1px solid #87c8c9;
    border-radius: 6px;
    background-color: var(--footer_group_color);

    box-shadow: 0px 3px 8px 2px rgba(29, 150, 134, 0.2);
}
    main .btn a {
        display: block;
        padding: 1.5em 6em;
        color: #fff;
        text-align: center;
        transition: 0.2s ease-in;
    }
        main .btn:hover {
            box-shadow: inset 0px 0px 16px 8px rgba(255, 255, 255, 0.5);
            transition: 0.2s ease-in;
        }
        main .btn:active {
            transform: translateY(8px);
            box-shadow: inset 0px 3px 8px 2px rgba(29, 150, 134, 0.2);
        }


/* ページのトップへ */
#gotoTop a {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9000;

    width: 60px;
    height: 60px;

    text-align: center;
    line-height: 34px;

    background-color: rgba(0, 0, 0, 0.2);

    transition: 0.1s ease-in;
}
    #gotoTop a:hover,
    #gotoTop a:active {
        background-color: #6698a1;
        transition: 0.1s ease-in;
    }


/* ---------------------------------------------------------------------------------------------

 * 診療各ページ

--------------------------------------------------------------------------------------------- */

#medical p {
    line-height: 2;
}

#medical li:not(:last-child) {
    margin-bottom: 0.5em;
}



#medical .vet_title,
#medical .vet_name {
    display: block;
    font-weight: bold;
    line-height: 1.5;
}

#medical .vet_title {
    font-size: 1em;
    font-weight: bold;
}

#medical .vet_name {
    font-size: 1.5em;
}

/* モバイル */
@media not screen and (min-width: 1280px) {}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
    #medical #image .image {
        width: 40%;
    }
}


/* ---------------------------------------------------------------------------------------------

 * Responsive Web Design Media Queries

--------------------------------------------------------------------------------------------- */
/* モバイル＞タブレット＞パソコン */


/* モバイル */
@media not screen and (min-width: 1280px) {
}
/* パソコン */
@media print, screen and ( min-width : 1280px ) {
}
