@charset "utf-8";
/*------------------------------------------------------------------------------------------
*
*
    include.css
*
*
------------------------------------------------------------------------------------------ */
/* -------------------- font-face  --------------------*/
.ff_b{ font-family: 'こぶりなゴシック W6 JIS2004' !important;}

@media screen and (min-width : 641px){ 
/*------------------------------------------------------------------------------------------
*
*
    min-width : 641px
*
*
------------------------------------------------------------------------------------------ */

/* --------------------------------------------------
*
    common settings
*
-------------------------------------------------- */
body{
    overflow: auto !important;
}

br.sp{ display: none;}
img.sp{ display: none;}
.switch_sp{ display: none !important;}

/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
header{
    width: 100%;
    min-width: 1020px;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    transition: top .25s ease;
}

.on header{
    height: 100%;
}

#home header{
    top: -50px;
}

header h1{
    width: 100%;
    height: 50px;
    background-color:#FFF;
    text-align: center;
    padding: 17px 0 0 0;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
}

header h1 img{
    width: 255px;
}

header .btn_english{
    text-align: right;
    position: absolute;
    top: 15px;
    right: 80px;
}

header .btn_english img{
    width: 56px;
}

.on header,
header.on{
    top: 0 !important;
}

#header_inner{
    width: 100%;
    height: 100% !important;
    max-width: 1020px;
    min-width: 1020px;
    text-align: center;
    margin: 0 auto;
    position: relative;
}

#gnav{
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0 auto;
    display: none;
    opacity: 0;
    box-sizing: border-box;
    letter-spacing: .1em;
    text-align: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

#gnav_inner{
    width: 100%;
    height: 100% !important;
    box-sizing: border-box;
    position: relative;
    z-index: 100;
    display: table !important;
}

#nav_wrap{
    width: 100%;
    height: 100%;
    padding: 20px 0 20px 0;
    display: table-cell;
    vertical-align: middle;
}

#gnav ul{
    width: 340px;
    position: relative;
    display: inline-block;
    text-align: left;
}

#gnav li{
    width: 100%;
    margin: 0 0 20px 0;
    position: relative;
}

#gnav li.disabled{
    margin: 35px 0 20px 0;
}

#gnav li.disabled:before{
    content: 'COMING SOON';
    display: block;
    padding: 4px 6px;
    font-size: 11px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 3px;
    color: #40220f;
    letter-spacing: 0;
    position: absolute;
    top: -23px;
    left: 0;
}

#gnav li.disabled a{
    opacity: .5 !important;
    cursor: default;
}

#gnav li a{
    padding: 0 0 0 20px;
    color: #40220f;
    font-size: 16px;
    display: block;
    transition: opacity .15s ease 0s;
    background-image:url(../images/parts_arrow_right_b.png);
    background-repeat: no-repeat;
    background-position: left 3px;
    background-size: 7px;
}

#gnav li a span{
    padding: 0 0 3px 0;
    display: inline-block;
    border-bottom: 2px solid transparent;
    position: relative;
    left: -5px;
    transition: border .1s ease .0s, left .1s ease .0s;
}

.is_pc #gnav li a:hover span,
.is_sp #gnav li a.touch span{
    padding: 0 0 3px 0;
    border-bottom: 2px solid #40220f;
    position: relative;
    left: 0;
    transition: border .15s ease .05s, left .15s ease .05s;
}

.is_pc #gnav li.disabled a:hover span,
.is_sp #gnav li.disabled a.touch span{
    padding: 0 0 3px 0;
    border-bottom: 2px solid transparent !important;
    position: relative;
    left: -5px !important;
    transition: border .15s ease .05s, left .15s ease .05s;
}


#gnav .shopping{
    width: 350px;
    margin: 20px auto 25px auto;
    border-bottom: 1px dashed #40220f;
}

#gnav .shopping h4{
    margin: 0 0 25px 0;
    color: #ff6a36;
}

#gnav .shopping h4 span{
    padding: 0 5px 5px 5px;
    display: inline-block;
    border-bottom: 2px dashed #ff6a36;
}

/*
    .gnav_ico
*/
header .gnav_ico{
    width: 50px;
    height: 50px;
    position: absolute;
    background-color: transparent;
    text-align: right;
    display: block;
    top: 0;
    right: 10px;
    cursor: pointer;
    z-index: 100;
}

header .gnav_ico span{
    border-radius: 3px;
}

header .gnav_ico span.top{
    width: 26px;
    border-top: 3px solid #6a3906;
    position: absolute;
    top: 15px;
    right: 14px;
}

header .gnav_ico span.mid{
    content: '';
    display: block;
    width: 26px;
    border-top: 3px solid #6a3906;
    position: absolute;
    top: 23px;
    right: 14px;
}

header .gnav_ico span.btm{
    content: '';
    display: block;
    width: 26px;
    border-top: 3px solid #6a3906;
    position: absolute;
    top: 31px;
    right: 14px;
}

header .gnav_ico.on span{
    border-color: #6a3906;
}

/* open */
header .gnav_ico.on span.top{
    top: 23px;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transition: top .17s ease, -webkit-transform .13s ease-out .23s, transform .13s ease-out .23s;
}

header .gnav_ico.on span.btm{
    top: 23px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: top .17s ease, -webkit-transform .13s ease-out .23s, transform .13s ease-out .23s;
}

header .gnav_ico.on span.mid{
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    transition: opacity .15s ease .05s, right .15s ease 0s;
    right: 5px;
}

/* close */
header .gnav_ico span.top{
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in;
}

header .gnav_ico span.btm{
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in;
}

header .gnav_ico span.mid{
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    transition: opacity .15s ease .2s, right .15s ease .23s;
}

header .overlay{
    width: 100%;
    height: 100%;
    position: fixed;
    display: none;
    background-color: #f0e673;
    opacity: .95;
    top: 0;
    left: 0;
    z-index: 1;
}




/* --------------------------------------------------
*
    footer
*
-------------------------------------------------- */
footer{
    min-width: 1020px;
    background-color: #fff;
}

footer #foot_inner{
    width: 940px;
    margin: 0 auto;
    padding: 45px 0 0 0;
    overflow: hidden;
}

footer #foot_inner h1{
    margin: 6px 0 0 5px;
    float: left;
}

footer .sns_share{
    margin: 0 0 27px 0;
    float: right;
}

footer .sns_share h3{
    font-size: 14px;
    margin: 0 10px 0 20px;
    letter-spacing: .06em;
    display: inline-block;
    vertical-align: middle;
}

footer .sns_share ul{
    display: inline-block;
    vertical-align: middle;
}

footer .sns_share li{
    margin: 0 15px;
    display: inline-block;
}

footer .sns_share li img{
    width: auto;
    height: 30px;
}

footer .foot_nav{
    padding: 15px 0 20px 0;
    border-top: 1px solid #40220f;
    clear: both;
    position: relative;
}

footer .foot_nav ul{
    letter-spacing: -.40em;
}

footer .foot_nav li{
    padding: 5px 20px;
    display: inline-block;
    vertical-align: top;
    letter-spacing: .06em;
    position: relative;
}

footer .foot_nav li:after{
    content: '';
    display: block;
    width: 1px;
    height: 100%;
    background-color: #40220f;
    position: absolute;
    top: 0;
    right: 0;
}

footer .foot_nav li:first-child{ padding-left: 5px;}
footer .foot_nav li:last-child:after{ display: none;}

footer .foot_nav li a{
    padding: 0 0 4px 0;
    font-size: 14px;
    letter-spacing: .06em;
    color: #40220f;
    position: relative;
    border-bottom: 1px solid transparent;
    transition: border .1s ease .0s, padding .1s ease .0s;
}

.is_pc footer .foot_nav li a:hover,
.is_sp footer .foot_nav li a.touch{
    padding: 0 0 3px 0;
    border-bottom: 1px solid #40220f;
    transition: border .15s ease .05s, padding .15s ease .05s;
}

footer .foot_nav li a img{
    width: 65px;
    opacity: 1 !important;
}

footer .foot_nav li.mail a:before{
    content: '';
    width: 21px;
    height: 16px;
    margin: 1px 5px 0 0;
    display: inline-block;
    vertical-align: top;
    background-image:url(../images/parts_ico_mail.png);
    background-repeat: no-repeat;
    background-size: 21px;
}

footer .copyright{
    position: absolute;
    top: 19px;
    right: 0;
}

footer .copyright img{
    width: auto;
    height: 10px;
}

} /* ----- min-width : 641px ----- */




/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 640px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
/* --------------------------------------------------
*
    common settings
*
-------------------------------------------------- */
body{
    z-index: 10;
}

body, html{
    width: 100%;
    min-width: 100%;
}

br{ display: none;}
br.sp{ display: inherit;}
img.pc{ display: none !important;}
.switch_pc{ display: none !important;}
    
/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
header{
    width: 100%;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    transition: top .25s ease;
}

.on header{
    height: 100%;
    min-height: 100vh;
}

#home header{
    top: -40px;
}

header h1{
    width: 100%;
    height: 40px;
    background-color:#FFF;
    text-align: left;
    padding: 12px 0 0 15px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
}

header h1 img{
    width: 175px;
}

header .btn_english{
    text-align: right;
    position: absolute;
    top: 11px;
    right: 55px;
}

header .btn_english img{
    width: 43px;
}

.on header,
header.on{
    top: 0 !important;
}

#header_inner{
    width: 100%;
    height: 100% !important;
    text-align: center;
    margin: 0 auto;
    position: relative;
}

#gnav{
    width: 100%;
    height: 100%;
    min-height: 100%;
    margin: 0 auto;
    display: none;
    opacity: 0;
    box-sizing: border-box;
    letter-spacing: .1em;
    text-align: center;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

#gnav_inner{
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    height: 100% !important;
    box-sizing: border-box;
    position: relative;
    z-index: 100;
    display: table !important;
}

#nav_wrap{
    width: 100%;
    height: 100%;
    padding: 30px 0 30px 40px;
    box-sizing: border-box;
    display: table-cell;
    vertical-align: middle;
}

#gnav ul{
    width: 100%;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    text-align: left;
}

#gnav li{
    width: 100%;
    margin: 0 0 15px 0;
    position: relative;
    white-space: nowrap;
}

#gnav li.disabled{
    margin: 35px 0 20px 0;
}

#gnav li.disabled:before{
    content: 'COMING SOON';
    display: block;
    padding: 3px 6px;
    font-size: 10px;
    font-weight: bold;
    background-color: #fff;
    border-radius: 3px;
    color: #40220f;
    letter-spacing: 0;
    position: absolute;
    top: -20px;
    left: 0;
}

#gnav li.disabled a{
    opacity: .5 !important;
    cursor: default;
}

#gnav li a{
    padding: 0 0 0 20px;
    color: #40220f;
    font-size: 15px;
    display: block;
    transition: opacity .15s ease 0s;
    background-image:url(../images/parts_arrow_right_b.png);
    background-repeat: no-repeat;
    background-position: left 3px;
    background-size: 7px;
}

#gnav li a span{
    padding: 0 0 3px 0;
    display: inline-block;
    border-bottom: 2px solid transparent;
    position: relative;
    left: -5px;
    transition: border .1s ease .0s, left .1s ease .0s;
}

.is_pc #gnav li a:hover span,
.is_sp #gnav li a.touch span{
    padding: 0 0 3px 0;
    border-bottom: 2px solid #40220f;
    position: relative;
    left: 0;
    transition: border .15s ease .05s, left .15s ease .05s;
}

.is_pc #gnav li.disabled a:hover span,
.is_sp #gnav li.disabled a.touch span{
    padding: 0 0 3px 0;
    border-bottom: 2px solid transparent !important;
    position: relative;
    left: -5px !important;
    transition: border .15s ease .05s, left .15s ease .05s;
}


#gnav .shopping{
    width: calc(100% - 40px);
    margin: 20px 0 25px 0;
    border-bottom: 1px dashed #40220f;
}

#gnav .shopping h4{
    min-width: 245px;
    font-size: 13px;
    margin: 0 0 20px 0;
    color: #ff6a36;
}

#gnav .shopping h4 span{
    padding: 0 5px 5px 5px;
    display: inline-block;
    border-bottom: 2px dashed #ff6a36;
}

/*
    .gnav_ico
*/
header .gnav_ico{
    width: 40px;
    height: 40px;
    position: absolute;
    background-color: transparent;
    text-align: right;
    display: block;
    top: 0;
    right: 0px;
    cursor: pointer;
    z-index: 100;
}

header .gnav_ico span{
    border-radius: 3px;
}

header .gnav_ico span.top{
    width: 23px;
    border-top: 3px solid #6a3906;
    position: absolute;
    top: 11px;
    right: 14px;
}

header .gnav_ico span.mid{
    content: '';
    display: block;
    width: 23px;
    border-top: 3px solid #6a3906;
    position: absolute;
    top: 18px;
    right: 14px;
}

header .gnav_ico span.btm{
    content: '';
    display: block;
    width: 23px;
    border-top: 3px solid #6a3906;
    position: absolute;
    top: 25px;
    right: 14px;
}

header .gnav_ico.on span{
    border-color: #6a3906;
}

/* open */
header .gnav_ico.on span.top{
    top: 18px;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transition: top .17s ease, -webkit-transform .13s ease-out .23s, transform .13s ease-out .23s;
}

header .gnav_ico.on span.btm{
    top: 18px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: top .17s ease, -webkit-transform .13s ease-out .23s, transform .13s ease-out .23s;
}

header .gnav_ico.on span.mid{
    opacity: 0;
    -ms-filter: "alpha(opacity=0)";
    transition: opacity .15s ease .05s, right .15s ease 0s;
    right: 5px;
}

/* close */
header .gnav_ico span.top{
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in;
}

header .gnav_ico span.btm{
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in;
}

header .gnav_ico span.mid{
    opacity: 1;
    -ms-filter: "alpha(opacity=100)";
    transition: opacity .15s ease .2s, right .15s ease .23s;
}

header .overlay{
    width: 100%;
    height: 100%;
    min-height: 100vh;
    position: fixed;
    display: none;
    background-color: #f0e673;
    opacity: .95;
    top: 0;
    left: 0;
    z-index: 1;
}


/* --------------------------------------------------
*
    footer
*
-------------------------------------------------- */
footer{
    background-color: #fff;
    text-align: center;
}

footer #foot_inner{
    margin: 0 auto;
    padding: 45px 0 0 0;
    overflow: hidden;
}

footer #foot_inner h1{
    margin: 0 0 40px 0;
}

footer #foot_inner h1 img{
    width: 90%;
    max-width: 280px;
}


footer .sns_share{
    margin: 0 0 27px 0;
}

footer .sns_share h3{
    font-size: 14px;
    margin: 0 10px 0 20px;
    letter-spacing: .06em;
    display: inline-block;
    vertical-align: middle;
}

footer .sns_share ul{
    display: inline-block;
    vertical-align: middle;
}

footer .sns_share li{
    margin: 0 15px;
    display: inline-block;
}

footer .sns_share li img{
    width: auto;
    height: 30px;
}

footer .foot_nav{
    padding: 5px 0 50px 0;
    clear: both;
    position: relative;
}

footer .foot_nav ul{
    letter-spacing: -.40em;
}

footer .foot_nav li{
    padding: 5px 0;
    margin: 0 0 15px 0;
    vertical-align: top;
    letter-spacing: .06em;
    position: relative;
}

footer .foot_nav li a{
    padding: 0 0 4px 0;
    font-size: 14px;
    letter-spacing: .06em;
    color: #40220f;
    position: relative;
    border-bottom: 1px solid transparent;
    transition: border .1s ease .0s, padding .1s ease .0s;
}

.is_pc footer .foot_nav li a:hover,
.is_sp footer .foot_nav li a.touch{
    padding: 0 0 3px 0;
    border-bottom: 1px solid #40220f;
    transition: border .15s ease .05s, padding .15s ease .05s;
}

footer .foot_nav li a img{
    width: 65px;
    opacity: 1 !important;
}

footer .foot_nav li.mail a:before{
    content: '';
    width: 19px;
    height: 16px;
    margin: 1px 5px 0 0;
    display: inline-block;
    vertical-align: top;
    background-image:url(../images/parts_ico_mail.png);
    background-repeat: no-repeat;
    background-size: 19px;
}

footer .copyright{
    margin: 40px 0 0 0;
}

footer .copyright img{
    width: auto;
    height: 10px;
}

} /* ----- max-width: 640px ----- */

