/*-----------------------------------------------------
Yahoo UI Library Font-size Adjustment
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
http://developer.yahoo.com/yui/license.txt
http://developer.yahoo.com/yui/fonts/
10px = 77%     11px = 85%     12px = 93%     13px = 100%
14px = 108%    15px = 116%    16px = 123.1%  17px = 131%
18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
22px = 167%    23px = 174%    24px = 182%    25px = 189%
26px = 197%
------------------------------------------------------*/
html, body {
    background: #fffdeb;
    font-family: Univers, 'Helvetica Neue', Helvetica, Arial, 'Yu Gothic', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    color:#303030;
    width: 100%;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

a{ outline:none; }

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/* --------------------
.wrapper
-------------------- */
.wrapper {
    width: 100%;
}

/* --------------------
header
-------------------- */
header {
    display: block;
    border-bottom: solid 1px #f0f0f0;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px;
    z-index: 10;
    overflow: hidden;
}

header nav {
    display: block;
    width: 641px;
    height: 64px;
    margin: 0 auto;
}

@media screen and (max-width: 1080px) {
    header nav {
        margin: 0;
    }
}

header nav ul {
    display: block;
    border-left: solid 1px #f0f0f0;
    width: 641px;
    height: 64px;
    overflow: hidden;
}

header nav ul li {
    display: block;
    border-right: solid 1px #f0f0f0;
    width: 159px;
    height: 64px;
    overflow: hidden;
    float: left;
}

header nav ul li a {
    display: block;
    background: no-repeat 0 0;
    background-size: contain;
    width: 0;
    padding-left: 160px;
    height: 128px;
    overflow: hidden;
}

header nav ul li.home a { background-image: url("../images/header_nav_home.gif") }
header nav ul li.news a { background-image: url("../images/header_nav_news.gif") }
header nav ul li.acupuncture a { background-image: url("../images/header_nav_acupuncture.gif") }
header nav ul li.information a { background-image: url("../images/header_nav_information.gif") }
header nav ul li.current a,
header nav ul li a:hover {
    background-position: 0 -64px;
}
header div.inner-container {
    display: block;
    height: 64px;
    position: absolute;
    top: 0;
    right: 0;
}

header h2.tel {
    display: block;
    background: url("../images/header_tel.gif") no-repeat;
    background-size: contain;
    width: 0;
    padding-left: 119px;
    height: 34px;
    margin-top: 15px;
    margin-right: 16px;
    overflow: hidden;
    float: left;
}

header div.instagram {
    border-left: solid 1px #f0f0f0;
    padding: 20px;
    float: left;
}
header div.instagram a {
    display: block;
    background: url("../images/header_instagram.png") no-repeat;
    background-size: contain;
    width: 0;
    padding-left: 24px;
    height: 24px;
    overflow: hidden;
}

/* --------------------
article
-------------------- */
article {
    position: relative;
    width: 960px;
    padding-top: 64px;
    margin: 0 auto;
}

article div.inner-wrapper {
    width: 640px;
    margin: 0 auto;
}

article h2.logo {
    display: block;
    background: url("../images/article_logo.png") no-repeat;
    background-size: contain;
    position: fixed;
    top: 96px;
    width: 0;
    padding-left: 99px;
    height: 80px;
    margin-left:32px;
    z-index: 15;
    overflow: hidden;
}

article h2.page-title {
    display: block;
    background: no-repeat 0 0;
    background-size: contain;
    width: 0;
    margin: 0 auto;
    overflow: hidden;
}

article div.dot {
    display: block;
    background: url("../images/dot.png") no-repeat;
    background-size: contain;
    width: 5px;
    height: 5px;
    margin: 13px auto 14px;
    overflow: hidden;
}

article a.page-top {
    display: block;
    background: url("../images/pagetop.gif") no-repeat;
    background-size: contain;
    width: 0;
    padding-left: 118px;
    height: 53px;
    margin: 0 auto 54px;
    overflow: hidden;
}

article a.page-top:hover {
    opacity: 0.6;
}

/* --------------------
footer
-------------------- */
footer {
    border-top: solid 1px #efeecd;
    padding-top: 32px;
}

footer section.information-container {
    display: block;
    width: 640px;
    margin: 0 auto;
    overflow: hidden;
}

footer dl.information {
    display: block;
    width:320px;
    padding-top: 2px;
    margin-bottom: 44px;
    float: left;
    overflow: hidden;
}

footer dl.information dt,
footer dl.information dd,
footer dl.information dd a {
    display: block;
    background: no-repeat 0 0;
    background-size: contain;
    width: 0;
    float: left;
    overflow: hidden;
}

footer dl.information dt {
    padding-left: 80px;
    height: 14px;
    clear: both;
}

footer dl.information dt.hours {
    background-image: url("../images/footer_hours_head.gif");
    height: 14px;
}

footer dl.information dd.hours {
    background-image: url("../images/footer_hours.gif");
    padding-left: 220px;
    height: 40px;
    margin-bottom: 24px;
}

footer dl.information dt.holiday {
    background-image: url("../images/footer_holiday_head.gif");
}

footer dl.information dd.holiday {
    background-image: url("../images/footer_holiday.gif");
    padding-left: 96px;
    height: 14px;
    margin-bottom: 16px;
}

footer dl.information dt.address {
    background-image: url("../images/footer_address_head.gif");
}

footer dl.information dd.address {
    width: 190px;
    padding: 0;
}

footer dl.information dd.address a {
    background-image: url("../images/footer_address.png");
    padding-left: 190px;
    height: 32px;
    margin-top: 1px;
    margin-bottom: 18px;
}

footer dl.information dt.tel {
    background-image: url("../images/footer_tel_head.gif");
}

footer dl.information dd.tel {
    width: 94px;
    height: 12px;
    padding: 0;
    margin-top: 2px;
    margin-bottom: 20px;
}

footer dl.information dd.tel a {
    background-image: url("../images/footer_tel.gif");
    padding-left: 94px;
    height: 12px;
}

footer dl.information dt.url {
    background-image: url("../images/footer_url_head.gif");
    height: 12px;
}

footer dl.information dd.url {
    width: 178px;
    padding: 0;
}

footer dl.information dd.url a {
    background-image: url("../images/footer_url.gif");
    padding-left: 178px;
    height: 14px;
}

footer dl.information a:hover {
    opacity: 0.8;
}
footer dl.information dd.tel a:hover {
    opacity: 1;
    cursor: default;
}

footer section.access-container {
    display: block;
    width: 288px;
    padding-top: 2px;
    float: right;
}

footer h3.access-head {
    display: block;
    background: url("../images/footer_access_head.gif");
    background-size: contain;
    width: 0;
    padding-left: 82px;
    height: 14px;
    margin-bottom: 12px;
    overflow: hidden;
}

footer ul.access {
    display: block;
    background: url("../images/footer_access.png");
    background-size: contain;
    width: 0;
    padding-left: 290px;
    height: 62px;
    margin-bottom: 30px;
    overflow: hidden;
}

footer a.button {
    display: block;
    background: url("../images/footer_button.gif");
    background-size: contain;
    width: 0;
    padding-left: 288px;
    height: 48px;
    overflow: hidden;
}
footer a.button:hover {
    opacity: 0.8;
}

footer #map {
    display: block;
    width: 100%;
    height: 480px;
}




/* --------------------
over 568
-------------------- */
@media screen and (min-width: 569px) {
    #wrapper,
    #map {
        min-width: 960px;
    }
}

/* --------------------
under 568
-------------------- */
@media screen and (max-width: 568px) {

    header {
        width: 100%;
        height: 32px;
    }

    header nav {
        width: 320px;
        height: 32px;
        margin: 0 auto;
    }

    header nav ul {
        width: 320px;
        height: 32px;
    }

    header nav ul li {
        border-right: solid 1px #f0f0f0;
        width: 79px;
        height: 32px;
    }

    header nav ul li a {
        background-size: 79px 64px;
        padding-left: 79px;
        height: 32px;
    }

    header nav ul li a:hover {
        background-position: 0 0;
    }

    header nav ul li.current a {
        background-position: 0 -32px;
    }

    header nav ul li.home {
        width: 40px;
    }
    header nav ul li.home a {
        background-position: center 0;
        padding-left: 40px;
        height: 32px;
    }

    header div.inner-container {
        height: 16px;
        top: 8px;
        right: 10px;
    }

    header h2.tel {
        display: none;
    }

    header div.instagram {
        border-left: none;
        padding: 0;
        float: none;
    }

    header div.instagram a {
        padding-left: 16px;
        height: 16px;
    }

    article {
        width: 100%;
        padding-top: 32px;
    }

    article div.inner-wrapper {
        width: 320px;
    }

    article h2.logo {
        /*position: absolute;*/
        top: 48px;
        padding-left: 50px;
        height: 40px;
        margin-left: 8px;
    }

    article a.page-top {
        padding-left: 59px;
        height: 27px;
        margin: 0 auto 26px;
    }

    article a.page-top:hover {
        opacity: 1;
    }

    footer {
        padding-top: 16px;
    }

    footer section.information-container {
        width: 320px;
    }

    footer dl.information {
        width:160px;
        padding-top: 2px;
        margin-left: 8px;
        margin-bottom: 20px;
    }

    footer dl.information dt {
        padding-left: 40px;
        height: 7px;
    }

    footer dl.information dt.hours {
        height: 7px;
    }

    footer dl.information dd.hours {
        padding-left: 110px;
        height: 20px;
        margin-bottom: 12px;
    }

    footer dl.information dd.holiday {
        padding-left: 48px;
        height: 7px;
        margin-bottom: 8px;
    }

    footer dl.information dd.address {
        width: 95px;
    }

    footer dl.information dd.address a {
        padding-left: 95px;
        height: 16px;
        margin-top: 1px;
        margin-bottom: 9px;
    }

    footer dl.information dd.tel {
        width: 47px;
        height: 6px;
        margin-top: 1px;
        margin-bottom: 10px;
    }

    footer dl.information dd.tel a {
        padding-left: 47px;
        height: 7px;
    }

    footer dl.information dt.url {
        height: 6px;
    }

    footer dl.information dd.url {
        width: 89px;
    }

    footer dl.information dd.url a {
        padding-left: 89px;
        height: 7px;
    }

    footer dl.information a:hover {
        opacity: 1;
    }

    footer section.access-container {
        display: block;
        width: 144px;
        padding-top: 2px;
        margin-right: 8px;
        float: right;
    }

    footer h3.access-head {
        padding-left: 41px;
        height: 7px;
        margin-bottom: 8px;
    }

    footer ul.access {
        padding-left: 145px;
        height: 31px;
        margin-bottom: 16px;
    }

    footer a.button {
        padding-left: 144px;
        height: 24px;
    }
    footer a.button:hover {
        opacity: 1;
    }

    footer #map {
        display: block;
        width: 100%;
        height: 240px;
    }

    .grid {
        width:100%;
    }


}

/* --------------------
for Debug
-------------------- */
#grid {
    background-color:#000;
    text-align:center;
    position:fixed;
    bottom:0;
    right:0;
    width:100px;
    padding:10px 0;
    z-index:100;
}
#grid a {
    color:#fff;
    font-weight:bold;
    text-decoration:none;
}
.grid-wrapper {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:99;
}
.grid {
    display: block;
    background: url("../images/grid.png") left top;
    width:961px;
    height:960px;
    margin:0 auto;
}