@charset "UTF-8";

/* =========================================================
 body
========================================================= */
body{
	color: #fff;font-size: 13px;line-height:1.15;background-color: #0a0e0e;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", 'Yu Gothic', YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, Arial, "メイリオ", Meiryo, "M+ 1p", "ＭＳ Ｐゴシック", Osaka, "MS PGothic", sans-serif;
	font-feature-settings: 'palt';-moz-font-feature-settings: 'palt';
    counter-reset: number 0;
}
.main{ color: #404040;background-color: #fff;position: relative; }
#footer{ background-color: #333; }

/* =========================================================
 common
========================================================= */
.section-inner{ z-index: 1; }
.section-title{ font-family: "UniversBQ Bold", sans-serif; }
.text-set .title{ font-weight: bold; }

/* section-label */
.section-label .section-title,
.section-label  .text-set{ display: inline-block;vertical-align: bottom; }
.section-label  *{ font-weight: bold; }
.section-label  .section-title{ font-family: inherit; }
.section-label  .section-title .inner{ display: block; }
.section-label  .section-title .en,
.section-label  .section-title .jp,
.section-label  .section-title .ex-en{ display: block; }
.section-label  .section-title .en{ color: #3f92d8; }
.section-label  .section-title .ex-en{ font-family: "UniversBQ Bold", sans-serif;font-weight: normal; }

/* logo */
.logo *{ display: block; }
.logo .ic img{ width:100%; }
.logo .ic,.logo .label{
	font-family: "UniversBQ Bold", sans-serif;letter-spacing: 0.6px;
	display: inline-block;vertical-align: middle;
}
.logo .label{ padding-right: 0; }

/* debug & hack */
._pkna{
	font-feature-settings: 'palt' 0, 'pkna';
	-moz-font-feature-settings: 'palt' 0, 'pkna';
}
._sp,._pc{ display: none; }

._extLink{ cursor: pointer; }

.rapidTrans *{
    -webkit-transition: all 0s !important;-moz-transition: all 0s !important;
    -ms-transition: all 0s !important;-o-transition: all 0s !important;
    transition: all 0s !important;
}

/* =========================================================
 header
========================================================= */
#header,#header *{ position: relative;z-index: 999;color: #fff; }

#header{ width:100%;position: absolute;top: 0;left: 0; }

#header .logo{ float:left;padding-left: 1px; }
#header .navi-global{ font-size: 12px;letter-spacing: 1.9px; }

/* =========================================================
 footer
========================================================= */
#footer .footer-inner{ margin-left: auto;margin-right: auto; }
#footer a{ color: #fff; }
/* navi-footer */
#footer .navi-footer .navi-set{ float: left;padding-right: 29px; }
#footer .navi-footer .navi-set .navi-label{ font-size:13px;letter-spacing: 1.1px; }
#footer .navi-footer .navi-set .navi li{ font-size:12px;letter-spacing: 0.9px;padding-bottom: 9px; }
#footer .navi-footer .navi-set .navi li a{ color: #818181;white-space: nowrap; }
/* logo */
#footer .logo a{ display: inline-block; }
/* copyright */
#footer #copyright{ background-color: #0a0e0e;text-align: center; }
#footer #copyright small{ display:block;margin-left: auto;margin-right: auto; }

/*//////////////////////////
PC-TAB
//////////////////////////*/
@media only screen and (min-width:768px) {
    /* =========================================================
     common
    ========================================================= */
    .section-title{ font-size: 28.3px;letter-spacing: 2.2px; }
    .text-set .title{ font-size: 15.77px;letter-spacing: 0.9px;text-align: center; }
    .text-set .text{ line-height: 1.5;letter-spacing: 0.9px; }
    /* section-label */
    .section-label{ width:80%;min-width:1125px;margin: 0 auto;padding-top: 19px;padding-bottom: 19px; }
    .section-label .section-title{ padding-right: 10px;padding-left: 6px; }
    .section-label .section-title .en{ font-size: 12px;letter-spacing: 0.3px;padding-bottom: 8px; }
    .section-label .section-title .jp{ font-size: 19px;letter-spacing: 0.3px; }
    .section-label .section-title .ex-en{ font-size: 24px;letter-spacing: 0.3px; }
    .section-label .text-set{ padding-bottom: 3px; }
    .section-label .text-set .title{ font-size: 12px;letter-spacing: 1.3px; }

    ._pc{ display: inline; }
    ._pcwrap{ white-space: nowrap; }

    #contact,#privacy,#personal{ padding-top: 85px; }
    #news .section-label{ width:80%;min-width:1125px;margin: 0;padding-top: 19px;padding-bottom: 19px; }

   /* =========================================================
     body
    ========================================================= */
    body{ font-size: 13px; }
    .logo .ic,.logo .label{ padding-right: 18px; }
    .logo .ic{ width:79px;height:35px; }
    #container{ width:100%;min-width: 1165px;overflow-x: hidden; }

    /* =========================================================
     header
    ========================================================= */
    #header{
        -webkit-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);-moz-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);
        -ms-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);-o-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);
        transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    #header{ min-width: 1165px;height: 85px;position: fixed; }
    #header._move,
    #container._colornav #header{ background: #373737; }
    #header._hide{
        -webkit-transform: translateY(-100%);-moz-transform: translateY(-100%);
        -ms-transform: translateY(-100%);-o-transform: translateY(-100%);transform: translateY(-100%);
    }
    #header .header-inner{ width: 80%;min-width: 1125px;margin: 0 auto;padding-top: 25px;padding-bottom: 25px; }
    #header .header-navi{ float: right; }
    #header .navi-global .navi{ padding-top: 16px;padding-bottom: 16px; }
    #header .navi-global .navi li{ float:left;padding-left: 22px; }
    #header .header-btn{ display: none; }

    /* =========================================================
     footer
    ========================================================= */
    #footer #copyright small{ min-width:1125px;width:80%; }
    #footer .footer-inner{ width:80%;min-width:1125px;padding-top: 35px;padding-bottom: 28px; }
    #footer .logo{ text-align: right;margin-top: -35px; }
    #footer #copyright small{ height:50px;line-height:50px;font-size: 12px; }
}

/*//////////////////////////
PC
//////////////////////////*/
@media screen and (min-width:1025px) {
}
/*//////////////////////////
Tablet
//////////////////////////*/
@media screen and (max-width:1024px) and (min-width:768px) {
}
/*//////////////////////////
SP
//////////////////////////*/
@media only screen and (max-width:767px) {
    /* =========================================================
     common
    ========================================================= */
    .section-title{ font-size: 21px;letter-spacing: 1.9px; }
    .text-set .title{ /*font-size: 12px;*/font-size: 13px;line-height: 1.3;letter-spacing: 0.9px;text-align: center; }
    .text-set .text{ line-height: 1.3;letter-spacing: 0.9px;text-align: left; }
    /* section-label */
    .section-label{ padding-left: 15px;padding-right: 15px;padding-top: 1em;padding-bottom: 1em; }
    #contact .section-label{ padding-bottom: 0; }
    .section-label .section-title{ padding-right: 6px; }
    .section-label .section-title .en{ font-size: 10px;letter-spacing: 0.3px;padding-bottom: 4px; }
    .section-label .section-title .jp{ font-size: 13px;letter-spacing: 0.3px; }
    .section-label .section-title .ex-en{ font-size: 16px;letter-spacing: 0.3px; }
    .section-label .text-set{ padding-bottom: 2px; }
    .section-label .text-set .title{ font-size: 10px;padding-top: 4px;letter-spacing: 0.5px;margin-bottom: -1px; }

    ._sp{ display: inline; }
    ._spwrap{ white-space: nowrap; }

    /* =========================================================
     body
    ========================================================= */
    body{ font-size: 10px;padding-top: 52px; }
    .logo .ic,.logo .label{ font-size:10px;padding-right: 10px;padding-top: 1px; }
    .logo .ic{ width:50px;height:35px; }
    #container{ position: fixed;left: 0;top: 0;width: 100%; }

    /* =========================================================
     header
    ========================================================= */
    /* burgerMenu */
    #header,#header .header-navi,
    #header .header-btn ._open,
    #header .header-btn ._close{
        -webkit-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);-moz-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);
        -ms-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);-o-transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);
        transition: all .5s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    #header .header-navi{
         -webkit-transition: opacity .5s cubic-bezier(0.25,0.46,0.45,0.94), height .5s cubic-bezier(0.25,0.46,0.45,0.94) .5s;
         -moz-transition: opacity .5s cubic-bezier(0.25,0.46,0.45,0.94), height .5s cubic-bezier(0.25,0.46,0.45,0.94) .5s;
        -ms-transition: opacity .5s cubic-bezier(0.25,0.46,0.45,0.94), height .5s cubic-bezier(0.25,0.46,0.45,0.94) .5s;
        -o-transition: opacity .5s cubic-bezier(0.25,0.46,0.45,0.94), height .5s cubic-bezier(0.25,0.46,0.45,0.94) .5s;
        transition: opacity .5s cubic-bezier(0.25,0.46,0.45,0.94), height .5s cubic-bezier(0.25,0.46,0.45,0.94) .5s;
    }
    #header{ background: #373737;height: 100%;position: fixed; }
    #header .header-inner{ margin: 0 auto;padding-top: 15px;padding-bottom: 15px;padding-left: 15px;padding-right: 15px; }
    #header .header-navi{ opacity: 1;width: 100%;position: absolute;left: 0;top: 52px;height: auto;overflow: hidden; }

    #header .navi-global .navi{ border-bottom: 1px solid #fff; }
    #header .navi-global .navi li{ border-top: 1px solid #fff; }
    #header .navi-global .navi li a{ display:block;padding: 15px 15px; }

    #header .header-btn ._open{ opacity: 0; }
    #header .header-btn ._close{
        opacity: 1;-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);
    }

    #container._hide{ position: relative; }
    #container._hide #header{ height: 52px; }
    #container._hide #header .header-navi{ opacity: 0;height: 0; }
    #container._hide #header .header-btn ._open{ opacity: 1; }
    #container._hide #header .header-btn ._close{
        opacity: 0;-webkit-transform: rotate(0);-moz-transform: rotate(0);
        -ms-transform: rotate(0);-o-transform: rotate(0);transform: rotate(0);
    }

    #header .header-btn{ display:block;position:absolute;width:46px;height:100%;top:0;right:5px; }
    #header .header-btn a{
        display:block;width:20px;height:20px;margin:auto;
        position:absolute;top:0;left:0;right:0;bottom:0;
    }
    #header .header-btn .btn-in{ display: block;width: 100%;height: 100%; }
    #header .header-btn ._open,
    #header .header-btn ._open::after,#header .header-btn ._open::before,
    #header .header-btn ._close,
    #header .header-btn ._close::before,
    #header .header-btn ._close::after { position: absolute;top: 0;right: 0;left: 0;bottom: 0;margin: auto; }
    #header .header-btn ._open,
    #header .header-btn ._open::after,#header .header-btn ._open::before,
    #header .header-btn ._close::before,
    #header .header-btn ._close::after { background: #fff; }
    #header .header-btn ._open::after,#header .header-btn ._open::before,
    #header .header-btn ._close::before,
    #header .header-btn ._close::after { display: block;content: ""; }
    #header .header-btn ._open,
    #header .header-btn ._open::after,#header .header-btn ._open::before,
    #header .header-btn ._close::before { width: 100%;height: 2px; }
    #header .header-btn ._open::after { top: -12px; }
    #header .header-btn ._open::before { bottom: -12px; }
    #header .header-btn ._close{ width: 100%;height: 100%;transform: rotate(45deg); }
    #header .header-btn ._close::after { width: 2px;height: 100%; }

    /* =========================================================
     main
    ========================================================= */
     #main{ margin-top: -52px;padding-top: 52px; }

    /* =========================================================
     footer
    ========================================================= */
    #footer .footer-inner{ padding-top: 20px;padding-bottom: 22px; }
    #footer .navi-footer{ display: none; }
    #footer .logo{ text-align: center; }
    #footer #copyright small{ height:34px;line-height:34px;font-size: 10px; }
}
