@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Oswald:300,400&display=swap');
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:300,400&display=swap');
@import url(http://fonts.googleapis.com/earlyaccess/cwtexming.css);

/**********************************************************************　タイポグラフィー　*************************************************************************/
#flash01, #flash02, #flash03, #flash04,
.logo1, .logo2, .logo3, .logo4, .logo5 { opacity: 0 }
.logo2, .logo3, .logo4, .logo5 { position: absolute; top: 0; left: 0; }

body { background-color: #000; color: #fff; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body.jp { font-family: "Ryumin Regular KL", serif; 
-moz-font-feature-settings: 'palt' 1; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; letter-spacing: .12em; }/**/
body.en { font-family: 'Josefin Sans', sans-serif; font-weight: 300; letter-spacing: .0em; }
body.cn { font-family: 'cwTeXMing', serif; }

.tti, .Oswald { font-family: 'Oswald', sans-serif; }
.tti { position: absolute; z-index: 10 }
.eng { font-family: 'Josefin Sans', sans-serif; font-weight: 300; letter-spacing: .1em; }
.kagi { border-top: 1px solid hsla(283,38%,71%,.5); border-left: 5px solid hsla(283,38%,71%,.7); padding: 12px 0 12px 20px; margin: 0 0 20px 0 }
.erabareta { border-top: 1px dotted #7e6184; padding-top: 20px; margin-top: 50px }

footer { font-family: 'Josefin Sans', sans-serif; font-weight: 300; letter-spacing: .1em; }

nav a { font-family: 'Oswald', sans-serif !important; letter-spacing: .05em; font-weight: 300!important }

.eng.url { font-weight: 400;padding: 20px 0 20px; }
.tel.eng { padding-top: 10px ; padding-bottom: 10px ; font-size: 1.6em }

h1, h2, h3, h4 { font-weight: 300; }
.jp h1, .jp h2, .jp h3, .jp h4 { font-family: "A1 Mincho", serif; font-weight: normal; }
.en h1, .en h2, .en h3, .en h4 { letter-spacing: 0.05em ;font-weight: 200; }

.blk { display: table; background-color: hsla(0,0%,50%,.5); }
.wht { display: table; background-color: hsla(0,0%,100%,.6); color: #000; }
.blk.dk { background-color: hsla(0,0%,20%,.8); }
.wht.dk { background-color: hsla(0,0%,100%,.9); color: #000; }

.blk.eng { font-size: 1.2em ; }

.logol { position: absolute ; z-index: 3; }
.logol img { width: 100% ; height: auto }

/***********************************************************************　リンク　色　******************************************************************************/
a { text-decoration: none; color: #BD9BD8;}
a { transition-property: all;transition: 0.5s linear; }
a:hover { opacity: .7;}

footer a { color: #000!important; }
.sns i { font-size: 1.4em ; margin: 40px 12px; }
.sns a { color: #000!important; }

/****************************　　lang　　****************************/

.lang .menu > li {
font-family: 'Oswald', sans-serif;
float: left;
width: 100%;
letter-spacing: 0.05em;
font-weight: 200;
}

.lang .menu > li a {
display: block;
color: #fff;
text-align: center;
height: 40px;
padding: 20px 0 0 0 ;
}

.lang .menu li.hit a { background: hsla(0,0%,40%,0.70); }
.lang .menu > li a:hover { }
.lang ul.menu__second-level { visibility: hidden; opacity: 0; z-index: 1; }
.lang ul.menu__third-level { visibility: hidden; opacity: 0;}

.lang .menu > li:hover {
    background: hsla(0,0%,30%,0.70);
    -webkit-transition: all .5s;
    transition: all .5s;
}

.lang .menu__second-level li { border-top: 1px solid rgba(0, 0, 0 ,.6);}
.lang .menu__third-level li { border-top: 1px solid rgba(0, 0, 0 ,.3); }
.lang .menu__second-level li a { background: hsla(0,0%,20%,0.50);}
.lang .menu__second-level li a:hover { background: hsla(0,0%,30%,0.70); }
.lang .menu__third-level li a:hover { background: #2a1f1f; }

.lang .init-bottom:before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.lang .menu:before,
.lang .menu:after {
    content: " ";
    display: table;
}

.lang .menu:after {
    clear: both;
}

.lang .menu {
    *zoom: 1;
}
.lang .menu {
    position: relative;
    width: 100%;
    height: 30px;
    margin: 0 auto;
}

.lang .menu > li.menu__single {
    position: relative;
}

.lang li.menu__single ul.menu__second-level {
    position: absolute;
    top: 0px;
    width: 100%;
    background: hsla(0,0%,30%,0.50);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.lang li.menu__single:hover ul.menu__second-level {
    top: 60px;
    visibility: visible;
    opacity: 1;
}

