@charset "UTF-8";

/* RESET
=================== */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
    margin: 0;
    padding: 0;
}
table {
    border-spacing: 0;
    border-collapse: collapse;
}
fieldset,
img {
    border: 0;
}
address,
caption,
cite,
code,
dfn,
em,
th,
var {
    font-weight: normal;
    font-style: normal;
}
caption,
th {
    text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
}
input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}


/* 基本設定
=================== */

body {
    font: 13px 'Arial', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'sans-serif';
    line-height: 1.8;
    margin: 0;
    padding: 0;
    text-align: left;
    color: #444;
    background: #fff;
    -webkit-text-size-adjust: 100%;
}


a:link,
a:visited {
    color: #444;
}
a:hover,
a:active {
    text-decoration: none;
    color: #444;
}

.sp_none {
    display: none;
}

p {
    margin: 0;
    padding: 0;
}

ul {
    margin: 5px 0 5px 10px;
    padding: 0 0 0 10px;
}

ol {
    margin: 5px 0 5px 15px;
    padding: 0 0 0 20px;
}


/* header
=================== */

header {
    position: relative;
    padding: 0 0 70px;
    background: #fff;
}

header .head_in {
    height: 40px;
    background: url(../img/sp/bg_header.gif) no-repeat 0 0;
}

header .logo {
    position: absolute;
    z-index: 8;
    bottom: 15px;
    left: 0;
    width: 100%;
    text-align: center;
    line-height: 1;
}

header .logo a {
    display: block;
    overflow: hidden;
    width: 149px;
    height: 40px;
    margin: 0 auto;
    padding: 0;
    white-space: nowrap;
    text-indent: 100%;
    background: url(../img/sp/logo.gif) no-repeat 50% 50%;
    -webkit-background-size: 149px 40px;
       -moz-background-size: 149px 40px;
         -o-background-size: 149px 40px;
            background-size: 149px 40px;
        -ms-background-size: 149px 40px;
}

header .tel {
    float: left;
    width: 33.3%;
    border-right: 1px solid #7a5f32;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

header .tel a {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 15px;
    margin: 0;
    padding: 13px 0 12px;
    white-space: nowrap;
    text-indent: 100%;
    background: url(../img/sp/h_tel.png) no-repeat 50% 50%;
    -webkit-background-size: 42px 15px;
       -moz-background-size: 42px 15px;
         -o-background-size: 42px 15px;
            background-size: 42px 15px;
        -ms-background-size: 42px 15px;
}

header .hour {
    display: none;
}

header .h_btn {
    float: left;
    width: 33.3%;
    border-right: 1px solid #7a5f32;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

header .mail a {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 11px;
    margin: 0;
    padding: 15px 0 14px;
    white-space: nowrap;
    text-indent: 100%;
    background: url(../img/sp/h_mail.png) no-repeat 50% 50%;
    -webkit-background-size: 57px 11px;
       -moz-background-size: 57px 11px;
         -o-background-size: 57px 11px;
            background-size: 57px 11px;
        -ms-background-size: 57px 11px;
}

#btn_menu {
    float: left;
    width: 33.3%;
}

#btn_menu span {
    display: block;
    overflow: hidden;
    width: 66px;
    height: 11px;
    margin: 0 auto;
    padding: 15px 0 14px;
    white-space: nowrap;
    text-indent: 100%;
    background: url(../img/sp/h_menu.png) no-repeat 50% 50%;
    -webkit-background-size: 66px auto;
       -moz-background-size: 66px auto;
         -o-background-size: 66px auto;
            background-size: 66px auto;
        -ms-background-size: 66px auto;
}

#btn_menu.active {
    background: #fff;
}

#btn_menu.active span {
    display: block;
    overflow: hidden;
    width: 66px;
    height: 12px;
    margin: 0 auto;
    padding: 15px 0 14px;
    white-space: nowrap;
    text-indent: 100%;
    background: url(../img/sp/h_menu_close.png) no-repeat 50% 50%;
    -webkit-background-size: 66px auto;
       -moz-background-size: 66px auto;
         -o-background-size: 66px auto;
            background-size: 66px auto;
        -ms-background-size: 66px auto;
}

header .title,
header .h_t_link,
header .advice {
    display: none;
}

.overlay {
    display: none;
    position: absolute;
    z-index: 10;
    top: 40px;
    right: 0;
    clear: both;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 0;
    text-align: left;
}


/* nav
=================== */

nav {
    display: none;
    position: absolute;
    z-index: 10;
    top: 40px;
    right: 0;
    clear: both;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 0;
    text-align: left;
}

nav ul {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style-type: none;
    background: #fff;
}

nav ul li {
    font-size: 115.39%;
    border-bottom: 1px solid #ceccc1;
}

nav ul li a {
    padding: 15px;
    display: block;
    color: #444;
    background: url(../img/sp/arw_nav.png) no-repeat 96% 50%;
    -webkit-background-size: 6px 9px;
       -moz-background-size: 6px 9px;
         -o-background-size: 6px 9px;
            background-size: 6px 9px;
        -ms-background-size: 6px 9px;
    text-decoration: none;
}

nav ul li a.selected {
    color: #f6aa00;
    background: #fff;
    font-weight: bold;
}

nav ul li.nav08 {
    font-size: 12px;
    float: left;
    width: 50%;
    display: table;
    vertical-align: middle;
    border-right: 1px solid #ceccc1;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

nav ul li.nav09 {
    font-size: 12px;
    float: right;
    width: 50%;
    display: table;
    vertical-align: middle;
}

nav ul li.nav08 a,
nav ul li.nav09 a {
    display: table-cell;
    width: 100%;
    height: 84px;
    vertical-align: middle;
    text-align: center;
    background: transparent;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

nav ul li.button {
    display: none !important;
}


/* wrap_un
=================== */

#wrap_un {
    margin: 0;
    padding: 0;
    background: url(../img/bg_repeat_pattern.gif) repeat 0 0;
}

#wrap_un .wrap_un_in {
    margin: 0;
    padding: 0;
}


/* directry
=================== */

.directry ol {
    margin: 0;
    padding: 13px 10px 35px;
    list-style-type: none;
}

.directry ol li {
    float: left;
    font-size: 71.43%;
    color: #96948c;
}

.directry ol li a:link,
.directry ol li a:visited {
    color: #96948c;
    text-decoration: underline;
}

.directry ol li a:hover {
    color: #96948c;
    text-decoration: none;
}


/* main
=================== */

.wrap_un_in .main {
    margin: 0 0 40px;
    padding: 0 10px;
}

.wrap_un_in .main h1 {
    margin: 0 0 40px;
    padding: 0;
    font-size: 171.43%;
    font-weight: normal;
}

.wrap_un_in h2 {
    margin: 0 0 30px;
    padding: 0 0 15px;
    font-size: 142.86%;
    font-weight: bold;
    border-bottom: 1px dashed #444;
}

.wrap_un_in h2 span.red {
    color: #874c5a;
}

.wrap_un_in h2 span.gr {
    color: #5f8173;
}

.wrap_un_in h2 span.blue {
    color: #696e90;
}

.wrap_un_in .main .block {
    margin: 0 0 45px;
}

.wrap_un_in .main .block h3 {
    margin: 0 0 15px;
    padding: 0 0 0 20px;
    font-size: 114%;
    font-weight: bold;
    background: url(../img/bg_tit_bl.gif) no-repeat 0 47%;
}

.wrap_un_in .main .block h3.red {
    color: #874c5a;
    background: url(../img/bg_tit_red.gif) no-repeat 0 47%;
}

.wrap_un_in .main .block h3.gr {
    color: #5f8173;
    background: url(../img/bg_tit_gr.gif) no-repeat 0 47%;
}

.wrap_un_in .main .block h3.blue {
    color: #696e90;
    background: url(../img/bg_tit_blue.gif) no-repeat 0 47%;
}

/* side
=================== */

.side .submenu_wrap {
    margin: 0 0 30px;
    padding: 0;
    background: #fff;
}


/* catetop
=================== */

.catetop {
    display: none;
}


/* submenu
=================== */

ul.submenu {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

ul.submenu li {
    margin: 0;
    padding: 0;
    border-bottom: 1px dashed #444;
}

ul.submenu li a {
    display: block;
    padding: 15px;
}

ul.submenu li a:link,
ul.submenu li a:visited {
    color: #444;
    text-decoration: none;
}

ul.submenu li a.subselected {
    color: #91774b;
    font-weight: bold;
}


/* side_bnr
=================== */

.side_bnr {
    padding: 0 10px;
}

.side_bnr p {
    max-width: 440px;
    width: 100%;
    margin: 0 auto 20px;
}

.side_bnr p img {
    width: 100%;
    height: auto;
}


/* fcon
=================== */

.fcon {
    margin: 0;
    padding: 0;
    background: url(../img/bg_repeat_pattern.gif) repeat 0 0;
}

.fcon .fcon_repeat {
    padding: 30px 10px 40px;
}

.fcon .fcon_shadow {
    margin: 0;
    padding: 0 0 5px;
    background: url(../img/fcon_shadow.png) no-repeat 50% 100%;
    -webkit-background-size: 100% auto;
       -moz-background-size: 100% auto;
         -o-background-size: 100% auto;
            background-size: 100% auto;
        -ms-background-size: 100% auto;
}

.fcon .fcon_in {
    padding: 30px 15px 15px;
    background: #fff url(../img/fcon_bg_top.gif) repeat-x 6px 0;
}

.fcon .fcon_in h3 {
    font-size: 100%;
    line-height: 1;
    width: 150px;
    margin: 0 auto 18px;
    padding: 0 60px;
    background: url(../img/fcon_tit_bg.gif) no-repeat 0 50%;
    -webkit-background-size: 30px auto;
       -moz-background-size: 30px auto;
         -o-background-size: 30px auto;
            background-size: 30px auto;
        -ms-background-size: 30px auto;
}

.fcon .fcon_in .txt {
    font-size: 92.31%;
    margin: 0 0 15px;
}

.fcon .fcon_in .tel_hour {
    margin: 0 0 10px;
    text-align: center;
}

.fcon .fcon_in .tel_hour .tel {
    display: inline-block;
    line-height: 1;
    font-size: 39px;
    padding: 0 0 0 20px;
    background: url(../img/fcon_tel.gif) no-repeat 0 8px;
}

.fcon .fcon_in .tel_hour .hour {
    text-align: center;
}

.fcon .fcon_in .fcon_btn p {
    max-width: 295px;
    width: 100%;
    margin: 0 auto;
    line-height: 1;
}

.fcon .fcon_in .fcon_btn p.mail {
    margin: 0 auto 15px;
}


/* pagetop
=================== */

.pagetop {
    position: absolute;
    right: 10px;
    top: 4px;
    width: 70px;
    height: 70px;
    z-index: 104;
}


/* footer
=================== */

footer {
    margin: 0;
    padding: 0;
    position: relative;
}

footer .f_load {
    padding: 20px 10px;
}

footer .f_logo {
    width: 140px;
}

footer .f_logo img {
    width: 140px;
    height: auto;
}

footer .address,
footer .f_menu {
    display: none;
}

footer .foot_nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    border-top: 1px solid #eaeae6;
}

footer .foot_nav ul li {
    font-size: 76.92%;
    border-bottom: 1px solid #eaeae6;
}

footer .foot_nav ul li a {
    display: block;
    padding: 10px;
}

footer .foot_nav ul li a:link,
footer .foot_nav ul li a:visited,
footer .foot_nav ul li a:hover {
    color: #96948c;
    text-decoration: none;
}

footer .copy {
    font-size: 76.92%;
    padding: 10px;
    text-align: center;
    background: #f8f8f6;
}


/* topicslist
=================== */

.topics_txt {
    margin: 0 0 30px;
}

.topics_txt ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.topics_txt ul li {
    margin: 0 0 10px;
}

ul.pager {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

ul.pager li strong {
    display: -moz-inline-box; /* firefox2 対応 */
    display: inline-block;
    padding: .25em .4em;
    color: #fff;
    border: 1px #999 solid;
    background-color: #999;
}

ul.pager li a {
    display: -moz-inline-box; /* firefox2 対応 */
    display: inline-block;
    padding: .25em .4em;
    text-decoration: none;
    border: 1px #ccc solid;
}

ul.pager li a:link,
ul.pager li a:visited {
    color: #333;
    border-color: #ccc;
}

ul.pager li a:hover,
ul.pager li a:active {
    color: #fff;
    border-color: #999;
    background-color: #999;
}


/* sitemap
=================== */

.contents .block_sm {
    clear: both;
    margin: 0 0 10px;
    padding: 0 0 10px;
    text-align: left;
    border-bottom: 1px solid #404040;
}

.contents .block_sm h2.sitemap {
    font-size: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
}

.contents .sitemap_ul {
    margin: 3px 0 0 23px;
    padding: 0;
    list-style-type: none;
    border: none;
}

.contents .sitemap_ul li {
    font-size: 100%;
    margin: 0;
    padding: 2px 0 2px 17px;
    text-align: left;
    border: none;
    background: url(../img/sitemap_arrow.gif) no-repeat 0 5px;
}

.sitemap_ul li ul {
    margin: 3px 0 0 13px;
    padding: 0;
    list-style: outside none none;
}

.sitemap_ul li ul li {
    padding-left: 17px;
    text-align: left;
    background: url(../img/sitemap_arrow.gif) no-repeat 0 5px;
}

.contents .block_sm a:link,
.contents .block_sm a:visited {
    text-decoration: none;
}

.contents .block_sm a:hover {
    text-decoration: underline;
}


/* contact
=================== */

.contact header {
    margin: 0;
    padding: 0;
    background: #fff;
}

.contact header .head_in {
    padding: 20px 10px;
    line-height: 1;
    height: auto;
    background: transparent;
}

.contact header .logo {
    position: static;
    float: none;
    width: 180px;
    margin: 0 auto;
    padding: 0;
}

.contact header .title {
    display: none;
}

.contact #wrap_un {
    margin: 0;
    padding: 20px 0;
}


/* dvc_switch
=================== */

.dvc_switch {
    text-align: center;
    width: 50%;
    margin: 20px auto;
    padding: 6px 15px;
    background: #b3b1a8;
    -webkit-border-radius: 15px;
       -moz-border-radius: 15px;
            border-radius: 15px;
}

.dvc_switch a {
    padding: 0 0 0 24px;
    background: url(../img/sp/ico_pc.gif) no-repeat 0 50%;
    -webkit-background-size: 14px 13px;
       -moz-background-size: 14px 13px;
         -o-background-size: 14px 13px;
            background-size: 14px 13px;
        -ms-background-size: 14px 13px;
}

.dvc_switch a:link,
.dvc_switch a:visited,
.dvc_switch a:hover {
    color: #fff;
    text-decoration: none;
}

#btnSP {
    display: none;
}
