@charset 'utf-8';

/* --------------------------------------------------
 *  サイト内共通のCSSの宣言
 *
 *  ・共通
 *  ・ヘッダー
 *  ・グローバルナビ
 *  ・コンテンツ
 *  ・フッター
 *
 *  メディアクエリは下記ブレークポイントで指定
 *      -(min-width: 641px)
 *      -(max-width:1200px) and (min-width:641px)
 *      -(max-width:1024px) and (min-width:641px)
 *      -(max-width: 768px) and (min-width:641px)
 *      -(max-width: 640px)
 *      -(max-width: 375px)
 * -------------------------------------------------- */

@import url('hover-min.css');

/*----- Font -----*/

@font-face {
    font-family: 'atwriter';

    src: url(../fonts/atwriter.woff);
    src: url(../fonts/atwriter.otf);
    src: url(../fonts/atwriter.ttf);
}

/*----- リンク -----*/
a:link {
    text-decoration: none;

    color: #40220f;
    outline: none;
}
a:visited {
    color: #40220f;
    outline: none;
}
a:hover {
    text-decoration: underline;

    color: #7c6656;
    outline: none;
}

/*----- Clearfix -----*/
.clearfix:after {
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}
.clearfix {
    display: inline-block;

    min-height: 1%;
    /* for IE 7*/
}

/* Hides from IE-mac */
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
/* End hide from IE-mac */

/* section-padding */
.section-padding {
    padding: 5% 0;
}

/*fedeIn*/
.fade-in {
    -webkit-transition: opacity 2s;
       -moz-transition: opacity 2s;
         -o-transition: opacity 2s;
            transition: opacity 2s;

    opacity: 0;
}

.font-atwriter {
    font-family: 'atwriter';
}

/*----- FLEX BOX -----*/
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.jstfy-between {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.jstfy-around {
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;;
  justify-content:space-around;
}
.jstfy-center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.jstfy-flex-end {
  -webkit-box-pack: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}
.row-reverse {
  flex-direction: row-reverse;
}
.flex-direction-column {
  flex-direction: column;
}
.flex-direction-column-reverse {
  flex-direction: column-reverse;
}
.align-items-center {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.align-items-end {
  -webkit-box-align: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end;
}

@media print,
screen and (min-width: 641px) {
    /* --------------------------------------------------
        共通
    -------------------------------------------------- */
    body {
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
        font-size: 18px;
        line-height: 1.8;

        margin: 0;
        padding: 0;

        color: #231815;
    }
    .pcBox {
        display: block;
    }
    .tbBox {
        display: none;
    }
    .spBox {
        display: none;
    }
    .br-pc {
        display: block;
    }
    .br-tb {
        display: none;
    }
    .br-sp {
        display: none;
    }

    /* --------------------------------------------------
        ヘッダー
    -------------------------------------------------- */
    #header {
        z-index: 9999;

        width: 100%;

        background-color: #fff;
        -webkit-box-shadow: 0 5px 3px -3px rgba(0,0,0,.6);
           -moz-box-shadow: 0 5px 3px -3px rgba(0,0,0,.6);
                box-shadow: 0 5px 3px -3px rgba(0,0,0,.6);
    }

    #header-box {
        position: relative;

        width: 96%;

        margin: 0 auto;
        padding: 10px 0;
    }

    #header-box #logo {
        width: 288px;
        height: 60px;
    }
    #header-box #logo a {
        display: block;

        width: 100%;
    }

    #header-box #header-r {
        position: absolute;
        right: 0;
        bottom: 15px;

        width: auto;
        margin: auto;
    }

    #header-box #header-r #header-tel {
        font-size: 22px;

        float: left;

        padding: 0 0 0 20px;

        color: #ea639f;
    }
    #header-box #header-r #header-tel:before {
        padding-left: 30px;

        content: '';

        background: url(../img/common/header_icon_tel.png) left center no-repeat;
        background-size: 24px 17px;
    }

    #spHeaderMenuBox {
        display: none;
    }

    /* スクロール時のスタイル */
    #header.fixed {
        position: fixed;
        top: 0;
        left: 0;

        width: 100%;
    }

    /* --------------------------------------------------
        グローバルナビ
    -------------------------------------------------- */
    #gnav-area {
        float: left;
    }
    #gnav {
        text-align: center;
    }
    #gnav li {
        font-size: 18px;

        display: inline-block;

        text-align: center;
    }
    #gnav li a {
        display: block;

        padding: 0 18px;
        color: #231815;
        font-size: 26px;
    }
    #gnav li a:hover {
        text-decoration: underline;
    }

    /* スクロール時のスタイル */
    #gnav-area.fixed {
        position: fixed;
        top: 0;
        left: 0;

        width: 100%;

        -webkit-box-shadow: 0 0 7px 1px rgba(0,0,0,.6);
           -moz-box-shadow: 0 0 7px 1px rgba(0,0,0,.6);
                box-shadow: 0 0 7px 1px rgba(0,0,0,.6);
    }

    #slidenav {
        display: none;
    }



    /* --------------------------------------------------
        フッター
    -------------------------------------------------- */
    /*ページトップへ*/
    #page-top {
        position: relative;
        z-index: 9998;

        display: none;

        width: 100%;
        height: 0;
        margin: 0 auto;
    }
    #page-top a {
        position: fixed;
        right: 20px;
        bottom: 0;

        display: block;
    }
    #page-top a img {
        width: 60px;
    }
    #footer .inner {
        padding: 20px 0;
        border: #40220f solid;
        border-width: 1px 0;
    }
    #footer #footer-info {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        color: #40220f;
        text-align: center;
    }
    #footer #footer-info .logo {
        font-size: 14px;
        font-weight: 600;
    }
    #footer #footer-info .logo img {
        padding: 10px 0 25px;
        width: 354px;
        height: 38px;
    }
    #footer #footer-info .address {
        font-weight: bold;
        line-height: 1.6;
    }
    #footer #copyright-area {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
    #footer #copyright-area #copyright {
        padding: 10px;

        text-align: center;
        font-size: 24px;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

@media screen and (max-width:1200px) and (min-width:641px) {
}

@media screen and (max-width:1024px) and (min-width:641px) {
    .tbBox {
        display: inline;
    }
    .tbBox-none {
        display: none;
    }
}

@media screen and (max-width:768px) and (min-width:641px) {
    .br-tb {
        display: block;
    }
}

@media screen and (max-width: 640px) {
    /* --------------------------------------------------
        共通
    -------------------------------------------------- */
    body {
        font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
        font-size: 16px;
        line-height: 1.6;

        color: #231815;

        -webkit-text-size-adjust: 100%;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    .pcBox {
        display: none;
    }
    .tbBox {
        display: none;
    }
    .spBox {
        display: block;
    }
    .br-pc {
        display: none;
    }
    .br-tb {
        display: none;
    }
    .br-sp {
        display: block;
    }
    /* section-padding */
    .section-padding {
        padding: 10px 0 30px;
    }

    /* --------------------------------------------------
        ヘッダー
    -------------------------------------------------- */
    #header {
        position: fixed;
        z-index: 9999;
        top: 0 !important;
        left: 0;

        width: 100%;

        background-color: #fff;
        background-color: #fff;
        -webkit-box-shadow: 0 5px 3px -3px rgba(0,0,0,.6);
           -moz-box-shadow: 0 5px 3px -3px rgba(0,0,0,.6);
                box-shadow: 0 5px 3px -3px rgba(0,0,0,.6);
        padding: 10px 0;
    }

    #header-box {
        position: relative;

        width: 94%;
        margin: 0 auto;
    }

    #header-box #logo {
        width: 50%;
    }
    #header-box #logo a {
        display: block;

        height: auto;
    }

    #spHeaderMenuBox {
    }
    #spHeaderTelBtn {
        position: absolute;
        top: 50%;
        right: 13%;

        width: 10%;
        margin: auto;

        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
    }
    #spHeaderMenuBox #spHeaderMenuOpenBtnBox {
        position: absolute;
        top: 55%;
        right: 0;

        width: 9%;
        margin: auto;

        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
    }

    #header-tel {
        display: none;
    }


    /* --------------------------------------------------
 *  グローバルナビ
 * -------------------------------------------------- */
    #gnav-area {
        display: none;
    }

    /* スマホ用ドロワーメニュー */
    #slidenav {
        overflow: scroll;

        height: 100%;

        background-color: rgba(35, 24, 21, .8);

        -webkit-overflow-scrolling: touch;
    }

    #spNavUl {
        clear: both;

        width: 100%;
        margin: 0;
        padding: 0;

        list-style-type: none;

        border-top: 1px solid #fff;
    }

    #menuopen {
        float: right;

        width: 4em;
        padding: 4% 0;

        color: #fff;
        border-left: solid 1px #fff;
    }

    #menuclose {
        overflow: hidden;

        padding: 10px;
    }

    #spNavUl .menu-item {
        text-align: left;

        border-bottom: 1px solid #fff;
    }

    #spNavUl .menu-item a {
        display: block;

        padding: 6% 5%;
    }

    #spNavUl .menu-item > a:link,
    #spNavUl .menu-item > a:visited {
        text-decoration: none;

        color: #fff;
    }

    /* 開閉ボタン */
    .btn--slidenav {
        display: block;

        box-sizing: border-box;

        text-align: center;
        text-decoration: none;

        border-radius: 3px;
    }

    #menuclose__btn {
        padding: 2% 0;

        color: #fff;
        border: 1px solid #fff;
    }

    /* --------------------------------------------------
        コンテンツ
    -------------------------------------------------- */
    #contents-area {
        margin-top: 18%;

        background-color: #fff;
    }

    /* --------------------------------------------------
        フッター
    -------------------------------------------------- */
    /*ページトップへ*/
    #page-top {
        position: relative;
        z-index: 9998;

        display: none;

        width: 100%;
        height: 0;
        margin: 0 auto;
    }
    #page-top a {
        position: fixed;
        right: 20px;
        bottom: 0;

        display: block;
    }
    #page-top a img {
        width: 60px;
    }
    #footer .inner {
        padding: 20px 0;
        border: #40220f solid;
        border-width: 1px 0;
    }
    #footer #footer-info {
        width: 98%;
        margin: 0 auto;
        color: #40220f;
        text-align: center;
    }
    #footer #footer-info .logo {
        font-size: 12px;
        font-weight: 600;
    }
    #footer #footer-info .logo img {
        padding: 10px 0;
        width: 248px;
        height: 26px;
    }
    #footer #footer-info .address {
        font-weight: bold;
        font-size: 12px;
    }
    #footer #copyright-area {
        width: 98%;
        margin: 0 auto;
    }
    #footer #copyright-area #copyright {
        padding: 10px;

        text-align: center;
        font-size: 14px;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

@media screen and (max-width: 375px) {
}
