@charset "UTF-8";

body,html {
    width: 100%;
    font-size: 14px;
    background: #f4f2e5;
    color: #4d3c34;
    font-family: 'Noto Sans JP', sans-serif;
}

@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 100;
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 200;
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 300;
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: local('NotoSansJP-Regular.otf'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 900;
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
    url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
}


/*--------------------------------------------------------------------------------
　▼ 共通　
--------------------------------------------------------------------------------*/
.inner_box {
    width: 1040px;
    margin: 0 auto;
}
a.block { display: block;}
a.pointer_no { pointer-events:none;}
.mid { font-weight: 500;}
.color_gray { color: #666;}
.color_blown { color: #4d3c34;}
.color_white { color: #fff;}
img.w100p { width: 100%;}

/*--------------------------------------------------------------------------------
　▼ mobile_header
--------------------------------------------------------------------------------*/
#mobile_header { display: none;}

/*--------------------------------------------------------------------------------
　▼ header
--------------------------------------------------------------------------------*/
#header { border-bottom: 7px solid #4d3c34;}
#header .header_in {
    padding: 10px 0 5px;
    border-bottom: 1px solid #4d3c34;
}
#header .inner_box {
    align-items: center;
    display: flex;
    margin: 0 auto;
    position: relative;
    max-width: 1040px;
}
#header .logo {
    width: 50%;
}
.header_right {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 50%;
}
.header_right .fl_box {
    font-size: 14px;
    text-align: right;
}
.header_right .fr_box {
    margin: 0 3%;
}
.header_right .sns_icon {
    font-size: 0;
}
.header_right .sns_icon > a {
    display: inline-block;
}
.header_right .sns_icon > a > img {
    width: 30px;
}
.tel {
    font-size: 24px;
    font-weight: 500;
    color: #4d3c34;
    line-height: 1em;
}
.header_right .fr_box a {
    display: block;
    background: #4d3c34;
    border-radius: 10px;
    color: #fff;
    text-align: center;
    padding: 5px 10px;
    text-decoration: none;
    font-size: 14px;
    width: 160px;
    margin: 0 auto;
}
.address { color: #666;}
#header .nav { text-align: center;}

/*--------------------------------------------------------------------------------
　▼ nav　
--------------------------------------------------------------------------------*/
.nav ul li {
    position: relative;
    text-align: center;
    vertical-align: middle;
    padding: 0;
}
.nav ul li:nth-child(odd) { padding: 0;}
.nav ul li a {
    display: block;
    font-size: 14px;
    padding: 14px 27px;
    text-decoration: none;
    line-height: 1;
}
.nav ul li ul {
    display: none;
    background: rgba(77, 60, 52, 0.80);
}
.nav ul li:hover ul {
    display: block;
    width: 100%;
    z-index: 99999;
    position: absolute;
    top: 40px;
    padding-left: 0;
}
.nav ul li ul li {
    display: block;
    width: 100%;
    height: auto !important;
    z-index: 99999;
    padding: 0;
}
.nav ul li ul li:before,
.nav ul li ul li:last-child:after { display: none;}
.nav ul li ul li:last-child { width: 100%;}
.nav ul li ul li a {
    width: 100%;
    display: block;
    padding: 7px 0;
    border-top: 1px solid #fff;
    color: #fff;
    z-index: 99999;
}
.nav ul li ul li a:hover { opacity: 0.8;}
.nav ul li ul li:first-child a { border-top: none;}

/*--------------------------------------------------------------------------------
　▼ contents　
--------------------------------------------------------------------------------*/
#contents { padding: 0 0 50px;}

/*--------------------------------------------------------------------------------
　▼ section
--------------------------------------------------------------------------------*/
.section { border-bottom: 7px solid #4d3c34;}
.section .inner {
    width: 1040px;
    margin: 0 auto;
    padding: 75px 0;
}
h2.title {
    font-size: 30px;
    font-weight: normal;
    color: #4d3c34;
    text-align: center;
    margin: 0 0 35px;
    padding: 0 0 15px;
    background-image: url(../../../common/img/bg_title.png);
    background-position: bottom center;
    background-repeat: no-repeat;
}
.link_about {
    width: 230px;
    margin: 30px auto 0;
}
.link_about a {
    display: block;
    width: 100%;
    background: #4d3c34;
    color: #fff;
    text-align: center;
    padding: 13px;
    text-decoration: none;
}

/*--------------------------------------------------------------------------------
　▼ footer
--------------------------------------------------------------------------------*/
#footer {
    background: #4d3c34;
    color: #fff;
    padding: 110px 0 10px;
    position: relative;
}
.logo_footer {
    width: 100%;
    position: absolute;
    top: -4%;
    left: calc(50% - 50%);
    text-align: center;
}
#footer .inner_box { display: table;}
.footer_fl {
    display: table-cell;
    vertical-align: top;
    width: 70%;
    padding-right: 3%;
}
.footer_fl .title {
    color: #4d3c34;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 13px 20px;
    background: #fff;
}
.foot_ul {
    display: table-cell;
    width: 30%;
    text-align: left;
    vertical-align: top;
    border-left: 1px solid #fff;
    padding: 0 0 30px;
}
.footer_fl ul { margin: 0; padding-left: 25px;}
.footer_fl ul li  {
    text-align: left;
    padding: 25px 0 0;
}
.footer_fl ul li a {
    color: #fff;
    display: block;
}
.footer_fr {
    display: table-cell;
    vertical-align: top;
    width: 30%;
    padding-left: 3%;
    text-align: left;
}
.footer_fr ul {
    margin: 0;
    padding: 0;
}
.footer_fr ul li {
    list-style: none;
    margin-bottom: 25px;
}
.footer_fr ul li a {
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
    border: 4px solid #fff;
    padding: 9px 20px;
}
.foot_address { padding: 15px 0;}
.foot_tel { font-size: 24px;}
#footer .copy {
    padding: 40px 0 0;
    font-size: 12px;
    text-align: center;
}
.all_footer {
    width: 1040px;
    margin: 0 auto;
    padding: 70px 0 30px;
}
.all_footer .fl_footer {
    float: left;
    width: 27%;
}
.all_footer .fl_footer a { color: #fff;}
.all_footer .fr_footer {
    float: right;
    width: 73%;
    padding-left: 5%;
}
.border_footer {
    border: 3px solid #fff;
    padding: 15px 10px;
    text-align: center;
}
.all_footer .fr_footer a { color: #fff; text-decoration: none;}
.all_footer .fr_footer dl {
    font-size: 13px;
    margin: 0 0 17px;
    border-bottom: 1px solid #fff;
}
.all_footer .fr_footer dl dt {
    float: left;
    width: 30%;
}
.all_footer .fr_footer dl dd {
    padding-left: 30%;
    margin-left: 0;
}


/*---------------------------------タブレット用----------------------------------*/
/*-----------------------------------------------------------------------------*/
@media screen and (max-width:900px) {

    /*--------------------------------------------------------------------------------
    　▼ mobile_header nav　
    --------------------------------------------------------------------------------*/
    #mobile_header {
        display: block;
        width: 100%;
        padding: 10px 0;
        z-index: 999;
        height: 60px;
        background: #f4f2e5;
        position: relative;
        border-bottom: 7px solid #4d3c34;
    }
    #mobile_header #toggle_btn {
        font-size: 0;
        position: absolute;
        left: 15px;
        top: 9px;
    }
    #mobile_header #toggle_btn img {
        height: 37px !important;
        width: auto;
    }
    #mobile_header .logo {
        margin: 0 auto;
        text-align: center;
        width: 60%;
    }
    #mobile_header .logo img.logo_img {
        height: 33px !important;
        padding-top: 5px;
        width: auto;
    }
    #mobile_header .sns_icon {
        font-size: 0;
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translate(0%, -50%);
    }
    #mobile_header .sns_icon > a {
        display: inline-block;
    }
    #mobile_header .sns_icon > a > img {
        width: 30px;
    }
    #mmenu ul li a { font-size: 14px;}
    #mobile_header.headroom {position: fixed; top: 0; transition: all .2s ease-in-out;}
    #mobile_header.bounceOutUp {top: -60px;}
    #mobile_header.bounceInDown {top: 0;}
    .mm-menu .mm-list > li > a.mm-subopen:after, .mm-menu .mm-list > li > a.mm-subclose:before { border-color: #000 !important;}
    .mm-menu .mm-list > li > a.mm-subclose { color: #000 !important;}

    /*--------------------------------------------------------------------------------
    　▼ 共通　
    --------------------------------------------------------------------------------*/
    .inner_box { width: 90%;}
    #wrapper { padding-top: 60px;}
    .section .inner { width: 90%; padding: 40px 0;}
    .anchor { position: relative; top: -60px;}

    /*--------------------------------------------------------------------------------
    　▼ header　
    --------------------------------------------------------------------------------*/
    #header { display: none;}

    #footer .copy {
        padding: 40px 10px 0;
        text-align: center;
    }
    .all_footer {
        width: 90%;
        margin: 0 auto;
        padding: 70px 0 30px;
    }
    .all_footer .fl_footer {
        float: none;
        width: 100%;
        margin: 0 auto;
    }
    .all_footer .fr_footer {
        float: none;
        width: 100%;
        padding: 30px 0 0;
    }

}


/*---------------------------------スマホ用----------------------------------*/
/*-----------------------------------------------------------------------------*/
@media screen and (max-width:767px) {

    /*--------------------------------------------------------------------------------
    　▼ 設定　
    --------------------------------------------------------------------------------*/
    ul.inline_block { font-size: 0;}
    h2.title { font-size: 22px;}

    /*--------------------------------------------------------------------------------
    　▼ footer
    --------------------------------------------------------------------------------*/
    #footer .inner_box { display: block;}
    .footer_fl { display: none;}
    .footer_fr {
        display: block;
        width: 100%;
        padding-left: 0;
    }
    .footer_fr ul {
        margin: 0;
        padding: 0;
    }
    .footer_fr ul li {
        list-style: none;
        margin-bottom: 25px;
    }
    .footer_fr ul li a {
        color: #fff;
        display: block;
        font-size: 16px;
        font-weight: bold;
        text-decoration: none;
        text-align: center;
        border: 4px solid #fff;
        padding: 9px 20px;
    }
    .all_footer .fr_footer dl dt {
        float: none;
        width: 100%;
    }
    .all_footer .fr_footer dl dd {
        padding: 0;
        margin-left: 0;
    }

}

/*---------------------------------スマホ用----------------------------------*/
/*-----------------------------------------------------------------------------*/
@media screen and (max-width:460px) {

    h2.title { font-size: 20px;}
}
