@charset "utf-8";
/*------------------------------------------------------------------------------------------
*
*
    common.css
*
*
------------------------------------------------------------------------------------------ */
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}/*HTML5display-roleresetforolderbrowsers*/article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}

body{
    font-family: '游ゴシック','YuGothic',Meiryo,メイリオ,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    color: #000;
    font-size : 18px;
    letter-spacing: .05em;
    background-color:#fff;
    background-position: center;
    -webkit-text-size-adjust: 100%;
    word-break: break-word;
    word-wrap: break-word;
    position: relative !important;
    top: 0 !important;
    z-index: 1;
}

body, html{
    width: 100%;
    height: 100%;
}

a, li, p, div, button, img{ outline: none !important; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
a{ color: #451c1d; text-decoration: none;}

a[target="_blank"]::after{
    margin: 0 3px 0 1px;
    font-family:'Hobonichi-Icons'!important;
    content: "\e914";
    font-size: 85%;
    position: relative;
    top: -3px;
}

a.ico_none[target="_blank"]::after{
    display: none;
}

a.bd_none{
    border: none !important;
}

.indent_half_top{ position: relative; margin-left: -.5em !important;}
.indent_half{ position: relative; margin-left: -.5em;}

img{ height: auto; backface-visibility: hidden; -webkit-backface-visibility: hidden;}
a img{ transition: opacity .15s ease 0s;}

.is_sp a img.touch,
.is_pc a img:hover{ transition: opacity .15s ease .05s; opacity: .7;}

img.s_a_100{ width: auto !important; height: 100% !important;}
img.s_100_a{ width: 100% !important; height: auto !important;}
.fixed{ position: fixed !important;}
.ib{ display: inline-block;}
.bl{ display: block !important;}
.disabled,
.disabled a{ cursor: default !important;}

.bd_cine{ text-decoration: underline;}
.d_none{ display: none !important; visibility: hidden !important;}

/* -------------------- font-face  --------------------*/
.ff_b{ font-weight: bold !important; }


/* -------------------- layout  --------------------*/
.c_anim{ opacity: 0;}


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

/* --------------------------------------------------
*
    common settings
*
-------------------------------------------------- */
body{
}

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

#wrap{
    width: 100%;
    min-width: 1060px;
    height: 100%;
    position: relative;
}

#contents_area{
    min-width: 1000px;
    overflow: hidden;
    background-image:url(../images/parts_bg_dot.png);
    background-position: center 0;
    background-attachment: fixed;
}

#contents_inner{
    margin: 0 20px 20px 20px;
    background-color: #fff;
    overflow: hidden;
    box-sizing: border-box;
    border-left: 2px solid #451c1d;
    border-right: 2px solid #451c1d;
    border-bottom: 2px solid #451c1d;
}

.sub #contents_inner{
    margin-top: 105px;
    padding: 70px 0 0 0;
    border-top: 2px solid #451c1d;
    overflow: visible !important;
    position: relative;
}

#topic_path{
    width: auto;
    height: 30px;
    color :#fff;
    font-size: 14px;
    background-color: #451c1d;
    display: block;
    position: absolute;
    top: -30px;
    left: -2px;
}

#topic_path ul{
    padding: 8px 12px;
}

#topic_path li{
    margin: 0 1em 0 0;
    display: inline-block;
    position: relative;
}

#topic_path li:last-child{ margin: 0;}

#topic_path li:after{
    content: '>';
    display: block;
    font-size: 14px;
    position: absolute;
    top: 0;
    right: -1em;
}

#topic_path li:last-child:after{ display: none;}

#topic_path a{
    color: #fff;
    transition: opacity .1s ease .0s;
}

#topic_path a:hover,
#topic_path a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

#p_title{
    min-width: 200px;
    box-sizing: border-box;
    text-align: center;
    padding: 20px 30px;
    display: block;
    background-color: #fff;
    border: 2px solid #451c1d;
    border-radius: 30px 30px 0 0;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
}

#p_title:before{
    content: '';
    display: block;
    width: 110%;
    height: 40px;
    background-color: #fff;
    position: absolute;
    left: -5%;
    bottom: -10px;
    z-index: -1;
}

#p_title h2{
    font-size: 30px;
    letter-spacing: .1em;
    line-height: 1em;
    color: #451c1d;
}

/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
#kv{
    width: 100%;
    min-height: 450px;
    max-height: 450px;
    margin: 0 auto;
    line-height: 0;
    background-image:url(../images/img_kv_bg.png);
    background-position: center top;
    background-size: cover;
    text-align: center;
}

#kv h1{
    background-image:url(../images/img_kv.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1440px;
}

#kv img{
    opacity: 0;
}


/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
header{
    width: 100%;
    min-width: 1080px;
    height: 44px;
    border-bottom: 1px solid #e1e8ed;
    background-color: #fff;
    text-align: center;
    position: relative;
    z-index: 100;
}

.sub header,
.home.fixed_header header{
    position: fixed;
    top: 0;
    left: 0;
}

.fixed_header #wrap{
    padding-top: 44px;
}

header h1{
    width: 40px;
    position: absolute;
    top: 6px;
    left: 20px;
    z-index: 2;
}

header h1 img{
    width: 40px;
}

#home header h1 a{
    opacity: 0;
    cursor: default;
    transition: opacity .35s ease;
}

.fixed_header#home header h1 a,
.fixed_header#teaser header h1 a{
    opacity: 1;
    cursor: pointer;
}

header .ico_ig{
    position: absolute;
    top: 10px;
    right: 20px;
}

header .ico_ig img{
    width: 22px;
}

#gnav{
    display: block !important;
}

#gnav ul{
    letter-spacing: -.40em;
}

#gnav li{
    display: inline-block;
    letter-spacing: .05em;
    margin: 0 20px;
}

#gnav a{
    padding: 15px 0;
    display: block;
    box-sizing: border-box;
    font-size: 14px;
    color: #000;
    position: relative;
}

#gnav a:after{
    content: '';
    width: 100%;
    height: 4px;
    opacity: 0;
    display: block;
    background-color: #451c1d;
    position: absolute;
    left: 0;
    bottom: -2px;
    transition: opacity .15s ease .15s, bottom .15s ease .15s;
}

#gnav a:hover:after,
#gnav a.touch:after{
    opacity: 1;
    bottom: 0;
    transition: opacity .25s ease .05s, bottom .25s ease .05s;
}

#about .n_about a:after,
#about .n_access a:after{
    opacity: 1;
    bottom: 0;
}



/*
*
    #date_nav
*
*/
#date_nav{
    height: 33px;
    text-align: center;
    background-color: #451c1d;
    color: #fff;
    letter-spacing: -.40em;
}

#date_nav .inner{
    width: auto !important;
}

#date_nav ul,
#date_nav p{
    display: inline-block;
    vertical-align: middle;
}

#date_nav li,
#date_nav p{
    display: inline-block;
    letter-spacing: .05em;
    vertical-align: middle;
    position: relative;
}

#date_nav p{
    height: 33px;
    font-size: 14px;
    padding: 9px 15px;
    box-sizing: border-box;
    position: relative;
}

#date_nav p:before,
#date_nav p:after{
    content: '';
    width: 1px;
    height: 24px;
    display: block;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 4px;
}

#date_nav p:after{
    left: inherit;
    right: 0;
}

#date_nav a{
    padding: 5px 10px;
    line-height: 32px;
    box-sizing: border-box;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    position: relative;
    transition: color .15s ease .0s;
}

#date_nav li:hover a,
#date_nav li.touch a,
#date_nav .current a{
     color: #451c1d;
     transition: color .15s ease .05s;
}

#date_nav li:before{
    content: '';
    width: 33px;
    height: 28px;
    opacity: 0;
    border-radius: 10px 10px 0 0;
    display: block;
    background-color: #fff;
    position: absolute;
    left: calc(50% - 17px);
    bottom: -1px;
    z-index: 0;
    transition: opacity .1s ease .05s;
}

#date_nav li.current:before,
#date_nav li:hover:before,
#date_nav li.touch:before{
    opacity: 1;
     transition: opacity .15s ease .05s;
}

#date_select_nav{
    width: 100%;
    height: 50px;
    line-height: 50px;
    background-color: #451c1d;
    text-align: center;
}


#date_select_nav{
    position: relative;
    padding-right: 0;
}

.select_wrap{
    position: relative;
    display: inline-block;
}

#date_select_nav select{
    width: 420px;
    height: 35px;
    overflow: hidden;
    border: none;
    text-align: left;
    background-color: #fff;
    background-image:url(../images/parts_arrow_btm.png);
    background-repeat: no-repeat;
    text-overflow: ellipsis;
    background-size: 10px;
    background-position: calc(100% - 13px) center;
    border-radius: 5px;
    text-align: left;
    border: 1px solid #fff;
    font-size: 13px;
    padding: 5px 40px 5px 10px;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: border .1s ease .0s;
    opacity: 0;
}

#date_select_nav select.on{
    opacity: 1;
}

.is_pc #date_select_nav select:hover,
.is_sp #date_select_nav select.touch{
    border: 1px solid #333;
    transition: border .15s ease .05s;
}

/* --------------------------------------------------
*
    footer
*
-------------------------------------------------- */
footer .credit{
    padding: 55px 0;
    letter-spacing: -.40em;
    text-align: center;
}

footer .credit a{
    color: #000;
    transition: opacity .1s ease 0s;
}

footer .credit a:hover,
footer .credit a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

footer .credit .col_l,
footer .credit .col_r{
    margin: 0 35px;
    display: inline-block;
    letter-spacing: .05em;
    vertical-align: middle;
    text-align: left;
    font-size: 16px;
    line-height: 1.7em;
    position: relative;
}

footer .credit .col_l:after{
    content: '';
    width: 1px;
    height: 44px;
    background-color: #000;
    display: block;
    position: absolute;
    top: 5px;
    right: -35px;
}

footer .credit .col_r p{
    margin: 0 30px 0 0;
    display: inline-block;
    vertical-align: middle;
}

footer .credit .ico_hobo img{ width: 84px;}
footer .credit .ico_1101 img{ width: 52px;}

footer .share img{
    width: 32px;
}

#foot_nav{
    padding: 13px 0;
    font-size: 14px;
    text-align: center;
    background-color: #000;
    color: #fff;
    position: relative;
}

#foot_nav li{
    display: inline-block;
}

#foot_nav a{
    color: #fff;
    transition: opacity .1s ease .0s;
}

#foot_nav a:hover,
#foot_nav a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

#foot_nav .contact{
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}

#foot_nav .contact li{
    margin: 0 12px;
}

#foot_nav .share .title,
#foot_nav .share ul{
    display: inline-block;
    vertical-align: middle;
}

#foot_nav .share .title{
    margin: 0 10px 0 0;
}

#foot_nav .share li{
    margin: 0 8px;
}

#foot_nav .copyright{
    font-weight: 300 !important;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

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




/* --------------------------------------------------------------------------------------------------------------
*
    max-width: 640px
*
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 640px) {
/* --------------------------------------------------
*
    common settings
*
-------------------------------------------------- */
body{
    z-index: 10;
    overflow-x: hidden;
    overflow-y: scroll;
    letter-spacing: .025em;
    position: relative;
    top: 0;
}

body, html{
    width: 100%;
    min-width: 100%;
    font-size: calc(3 * ((100vw - 320px) / 330) + 13px);
}

br{ display: none;}
br.sp{ display: inherit;}
img.pc{ display: none !important;}
.switch_pc{ display: none !important;}

#wrap{
    width: 100%;
    height: 100%;
    padding: 44px 0 0 0;
    position: relative;
}

#contents_area{
    overflow: hidden;
    background-image:url(../images/parts_bg_dot.png);
    background-position: center 0;
    background-attachment: fixed;
}

#contents_inner{
    margin: 0 2% 4% 2%;
    background-color: #fff;
    overflow: hidden;
    box-sizing: border-box;
    border-left: 1px solid #451c1d;
    border-right: 1px solid #451c1d;
    border-bottom: 1px solid #451c1d;
}

body.gnav{
    height: 100%;
    overflow: hidden;
}

/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
#kv{
    width: 100%;
    margin: 0 auto;
    line-height: 0;
    text-align: center;
}

#kv img{
    width: 100%;
}


.sub #contents_inner{
    margin-top: 60px;
    padding: 40px 0 0 0;
    border-top: 2px solid #451c1d;
    overflow: visible !important;
    position: relative;
    z-index: 2;
}

#topic_path{
    display: none;
}

#topic_path li:last-child{ margin: 0;}

#topic_path li:after{
    content: '>';
    display: block;
    font-size: 14px;
    position: absolute;
    top: 0;
    right: -1em;
}

#topic_path li:last-child:after{ display: none;}

#topic_path a{
    color: #fff;
    transition: opacity .1s ease .0s;
}

#topic_path a:hover,
#topic_path a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

#p_title{
    width: 80%;
    max-width: 360px;
    text-align: center;
    padding: 12px 20px;
    box-sizing: border-box;
    display: block;
    background-color: #fff;
    border: 2px solid #451c1d;
    border-radius: 20px 20px 0 0;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
}

#p_title:before{
    content: '';
    display: block;
    width: 102%;
    height: 15px;
    background-color: #fff;
    position: absolute;
    left: -1%;
    bottom: -10px;
    z-index: -1;
}

#p_title h2{
    font-size: 1.2rem;
    letter-spacing: .1em;
    line-height: 1em;
    color: #451c1d;
}


/* --------------------------------------------------
*
    header
*
-------------------------------------------------- */
header{
    width: 100%;
    height: 44px;
    border-bottom: 1px solid #e1e8ed;
    background-color: #fff;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}

header h1{
    position: absolute;
    top: 6px;
    left: calc(50% - 20px);
    z-index: 10000;
}

header h1 img{
    width: 40px;
}

header .ico_ig{
    position: absolute;
    top: 11px;
    right: 15px;
}

header .ico_ig img{
    width: 22px;
}

/*
*
    #gnav
*
*/
#gnav{
    width: 100%;
    height: calc(100% - 45px);
    text-align: center;
    display: none;
    visibility: hidden;
    opacity: 0;
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 45px;
    left: 0;
    -ms-user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    z-index: 100;
}

.gnav #gnav{ display: block !important; visibility: visible;}

#gnav_inner{
    width: 100%;
    height: 100%;
    padding: 0;
    display: table;
    position: relative;
    top: 0;
}

#nav_wrap{
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
    position: relative;
}

#gnav ul{
    padding: 45px 0;
}

#gnav li{
    margin: 0 0 25px 0;
}

#gnav li:last-child{ margin: 0;}

#gnav li a{
    font-size: 1.2rem;
    color: #000;
    transition: opacity .1s ease .0s;
}

#gnav li a:hover,
#gnav li a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

/*
    .gnav_ico
*/
header .gnav_ico{
    width: 40px;
    height: 40px;
    position: fixed;
    border-radius: 3px;
    text-align: right;
    display: block;
    top: 0;
    left: 10px;
    cursor: pointer;
    z-index: 10000;
    transition: transform .1s ease .0s, top .25s ease;
}

header .gnav_ico span{
    border-radius: 2px;
    border-color: #451c1d !important;
}

header .gnav_ico span.top{
    width: 22px;
    border-top: 2px solid #451c1d;
    position: absolute;
    top: 11px;
    right: 11px;
}

header .gnav_ico span.mid{
    content: '';
    display: block;
    width: 22px;
    border-top: 2px solid #451c1d;
    position: absolute;
    top: 19px;
    right: 11px;
}

header .gnav_ico span.btm{
    content: '';
    display: block;
    width: 22px;
    border: none;
    position: relative;
    color: #fff;
    top: 27px;
    right: 11px;
}

header .gnav_ico span.btm:after{
    content: 'MENU';
    font-size: 10px;
    color: #451c1d;
    font-weight: normal;
    position: absolute;
    top: 0px;
    left: 15px;
    white-space: nowrap;
}

header .gnav_ico.on span{
    border-color: #451c1d;
}

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

header .gnav_ico.on span.btm{
    top: 27px !important;
    transform: rotate(0) !important;
    -webkit-transform: rotate(0) !important;
}

header .gnav_ico.on span.mid{
    opacity: 1 !important;
    top: 15px !important;
    right: 11px !important;
    transform: rotate(45deg) !important;
    -webkit-transform: rotate(45deg) !important;
    transition: top .17s ease, -webkit-transform .13s ease-out .23s, transform .13s ease-out .23s !important;
}

header .gnav_ico.on span.btm:after{
    content: 'CLOSE';
    margin-left: -1px;
}

/* 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{
    transform: rotate(0);
    -webkit-transform: rotate(0);
    transition: top .17s ease .13s, -webkit-transform .13s ease-in, transform .13s ease-in;
}

header .overlay{
    width: 100%;
    height: 100%;
    position: fixed;
    display: none;
    background-color: rgba(255, 255, 255, .95);
    opacity: 1;
    top: 45px;
    left: 0;
    z-index: 1;
}


.is_sp header .overlay{
    height: 100vh;
    min-height: 100vh;
}



/*
*
    #date_nav
*
*/
#date_nav{
    min-width: 100vw;
    height: 33px;
    text-align: center;
    overflow: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    color: #451c1d;
    letter-spacing: -.40em;
}

#date_nav.teaser{
    color: #fff;
    background-color: #451c1d;
}

.is_pc #date_nav.sc{
    padding-bottom: 15px;
}

#date_nav .inner{
    display: table;
    margin: 0 auto;
    padding: 0 25px 0 10px;
}

#date_nav ul,
#date_nav p{
    display: table-cell;
    vertical-align: middle;
    white-space: nowrap;
}

#date_nav li,
#date_nav p{
    display: table-cell;
    letter-spacing: .05em;
    vertical-align: middle;
    position: relative;
}

#date_nav p{
    height: 33px;
    font-size: 13px;
    padding: 10px;
    box-sizing: border-box;
    position: relative;
}

#date_nav p:before,
#date_nav p:after{
    content: '';
    width: 1px;
    height: 24px;
    display: block;
    background-color: #451c1d;
    position: absolute;
    left: 0;
    bottom: 4px;
}


#date_nav.teaser p:before,
#date_nav.teaser p:after{
    background-color: #fff;
}

#date_nav p:after{
    left: inherit;
    right: 0;
}

#date_nav a{
    padding: 8px 15px;
    display: block;
    box-sizing: border-box;
    font-size: 13px;
    font-weight: 400 !important;
    color: #451c1d;
    position: relative;
     transition: color .1s ease .0s;
}

#date_nav.teaser a{
    color: #fff;
}

#date_nav a:before{
    content: '';
    width: 1px;
    height: 24px;
    display: block;
    background-color: #451c1d;
    position: absolute;
    right: 0;
    bottom: 2px;
}

#date_nav li:hover a,
#date_nav li.touch a,
#date_nav .current a{
     color: #fff;
     transition: color .15s ease .05s;
}

#date_nav.teaser li:hover a,
#date_nav.teaser li.touch a,
#date_nav.teaser .current a{
     color: #451c1d;
     transition: color .15s ease .05s;
}

#date_nav li:before{
    content: '';
    width: 33px;
    height: 28px;
    opacity: 0;
    border-radius: 10px 10px 0 0;
    display: block;
    background-color: #451c1d;
    position: absolute;
    left: calc(50% - 16px);
    bottom: -2px;
    z-index: 0;
    transition: opacity .1s ease .05s;
}

#date_nav.teaser li:before{
    background-color: #fff;
}

#date_nav li.current:before,
#date_nav li:hover:before,
#date_nav li.touch:before{
    opacity: 1;
     transition: opacity .15s ease .05s;
}


#date_select_nav{
    height: 40px;
    line-height: 40px;
    background-color: #451c1d;
    text-align: center;
}

#date_select_nav{
    position: relative;
    padding-right: 0;
}

.select_wrap{
    position: relative;
    display: inline-block;
}

#date_select_nav select{
    width: 96%;
    max-width: 420px;
    height: 30px;
    overflow: hidden;
    border: none;
    text-align: left;
    background-color: #fff;
    background-image:url(../images/parts_arrow_btm.png);
    background-repeat: no-repeat;
    text-overflow: ellipsis;
    background-size: 10px;
    background-position: calc(100% - 13px) center;
    border-radius: 5px;
    text-align: left;
    border: 1px solid #fff;
    font-size: 12px;
    padding: 5px 40px 5px 10px;
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: border .1s ease .0s;
    opacity: 0;
}

.is_sp #date_select_nav select{
    font-size: 16px;
    padding: 0 40px 0 10px;
    top: 6px;
}



#date_select_nav select.on{
    opacity: 1;
}

.is_pc #date_select_nav select:hover,
.is_sp #date_select_nav select.touch{
    border: 1px solid #333;
    transition: border .15s ease .05s;
}


/* --------------------------------------------------
*
    footer
*
-------------------------------------------------- */
footer .credit{
    padding: 25px 0;
    letter-spacing: -.40em;
    text-align: center;
}

footer .credit a{
    color: #000;
    transition: opacity .1s ease 0s;
}

footer .credit a:hover,
footer .credit a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

footer .credit .col_l,
footer .credit .col_r{
    margin: 0 15px;
    letter-spacing: .05em;
    vertical-align: middle;
    text-align: left;
    font-size: 1rem;
    line-height: 1.7em;
    position: relative;
}

footer .credit .col_l{
    margin-bottom: 25px;
}

footer .credit .col_r{
    text-align: center;
}
footer .credit .col_r p{
    margin: 0 15px;
    display: inline-block;
    vertical-align: middle;
}

footer .credit .ico_hobo img{ width: 84px;}
footer .credit .ico_1101 img{ width: 52px;}

footer .share img{
    width: 32px;
}

#foot_nav{
    padding: 25px 0 15px 0;
    font-size: 13px;
    text-align: center;
    background-color: #000;
    color: #fff;
    position: relative;
}

#foot_nav li{
    display: inline-block;
}

#foot_nav a{
    color: #fff;
    transition: opacity .1s ease .0s;
}

#foot_nav a:hover,
#foot_nav a.touch{
    opacity: .7;
    transition: opacity .15s ease .05s;
}

#foot_nav .contact{
    margin: 0 0 25px 0;
}

#foot_nav .contact li{
    margin: 0 20px;
}

#foot_nav .share{
    margin: 0 0 25px 0;
}

#foot_nav .share .title,
#foot_nav .share ul{
    display: inline-block;
    vertical-align: middle;
}

#foot_nav .share .title{
    margin: 0 5px 0 0;
    font-size: 11px;
}

#foot_nav .share li{
    margin: 0 8px;
}

#foot_nav .copyright{
    font-size: 10px;
    font-weight: 300 !important;
}



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