* {
    margin:0 auto;
    padding:0;
    box-sizing: border-box;
}

@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

body,html {
    text-align:center;
    font-family: "Google Sans", sans-serif;
}

.view-container {
    position:relative;
    width:1200px;
}

@media only screen and (max-width:1267px){
    .view-container {
        width:1000px;
    }
}

@media only screen and (max-width:1067px){
    .view-container {
        width:697px;
    }
}

@media only screen and (max-width:867px){
    .view-container {
        width:90%;
    }
}


header {
    position: fixed !important;
    width: 100%;
    top: 0;
    left: 0;
    height: 35px;
    z-index: 97;

    box-shadow: none;
    overflow: hidden;  
}

header .view-container {
    position: relative;
    padding: 7px 0;
    box-sizing: border-box;
    z-index: 98;  
    height: 100%;
}

header::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 96;

    background: rgba(255, 255, 255, 0.22);
    background-image: 
        radial-gradient(circle at 30% 20%, rgba(255,255,255,0.35) 0%, transparent 60%),
        linear-gradient(145deg, rgba(255,255,255,0.12), rgba(255,255,255,0.03));
    backdrop-filter: blur(32px) saturate(160%);
    -webkit-backdrop-filter: blur(32px) saturate(160%);

    background-image: 
        linear-gradient(
            135deg,
            rgba(255,255,255,0.16) 0%,
            rgba(255,255,255,0.04) 40%,
            rgba(255,255,255,0.00) 60%,
            rgba(255,255,255,0.05) 100%
        );
}


.logo {

}

.logo img {
    width:20px;
}

.liquid-dark {
    background: linear-gradient(
        135deg,
        rgba(0,0,0,0.7),
        rgba(72,72,72,0.85),
        rgba(0,0,0,1)
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    -webkit-font-smoothing: antialiased;
}

footer {
    position:relative;
    padding:70px 0 0;
    background:#000;
    color:#FFF;
}


.view-line {
    position:relative;
    width:100%;
    border-top:1px #FFF solid;
}

.view-line-bump {
    margin:0;
    width:350px;
    height:3px;
    background:#FFF;
}

@media only screen and (max-width:1267px){
    .view-line-bump {
        width:250px;
    }
}

.view-line.dark {
    border-top:1px #000 solid;
}
.view-line.dark .view-line-bump {
    background:#000;
}

.footer-cols {
    position:relative;
    text-align:left;
    padding-bottom:75px;
}

.footer-col {
    display:inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width:calc(100% / 4);
}

.footer-col:nth-child(1) {
    width:calc(100% / 2);
    padding-right:50px;
}

@media only screen and (max-width:967px){
    .footer-col, 
    .footer-col:nth-child(1) {
        width:100%;
        padding-right:0;
    }
}

.footer-title,
.fc-title,
.footer-subtitle {
    font-weight:900;
    color:#FFF;
    font-size:43px;
    font-family: "Noto Sans JP", sans-serif;
    padding-top:15px;
}

.footer-subtitle {
    padding-top:0;
    font-size:12px;
    letter-spacing:5px;
    font-weight:100;
    text-transform: uppercase;
}

.footer-disclaimer-row {
    padding:15px 0;
    text-align:center;
    font-size:12px;
    border-bottom:1px rgba(255,255,255,0.2) solid;
}

.footer-content {
    padding:15px 50px 0 0;
    color:#EEE;
    font-size:13px;
    line-height:21px;
}
.footer-disclaimer {
    color:#DDD;
    padding:15px 0 0 0;
    font-size:10px;
    line-height:16px;
    text-align:center;
}

@media only screen and (max-width:967px){
    .footer-disclaimer {
        font-size:9px;
    }
}

.fc-title {
    padding-top:35px;
    font-size:18px;
}

.location span,
.contact a {
    display:block;
    font-size:14px;
    color:#CCC;
    padding-bottom:3px;
}
.contact a,
.footer-content a {
    color:rgb(58, 147, 235);
    text-decoration:none;
}

.contact a:hover,
.footer-content a:hover {
    text-decoration:underline;
}

.location span:nth-child(1) {
    padding:10px 0 7px;
    font-size:18px;
    color:#FFF;
}

.contact {
    padding:10px 0;
}


.footer-logo {
    padding:35px 0;
}

.footer-logo img {
    width:15px;
}


