@charset "UTF-8";
/* ==========================================================
Name:
    base.css

Description:
    サイト全体に共通する設定を記述する

Contents:
    base settings
    javascript style hooks
    base blocks
========================================================== */
/* ==========================================================
*
*   base settings
*
========================================================== */
/* ---------------------------------------------
*   html, body
--------------------------------------------- */
html,
body {
    color: #170505;
    font-size: 14px;
    font-family: Georgia, "Hiragino Mincho ProN", "Yu Mincho", serif;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 750px) {
    html,
    body {
        font-size: 1.86667vw;
    }
}

body {
    line-height: 1.5;
}

@media screen and (max-width: 750px) {
    body {
        min-width: 320px;
        line-height: 1.5;
    }
}

/* ---------------------------------------------
*   <a> tag
--------------------------------------------- */
a {
    color: inherit;
    text-decoration: none;
}

/* ---------------------------------------------
*   <img> tag
--------------------------------------------- */
img {
    max-width: 100%;
    width: auto;
    height: auto;
    vertical-align: bottom;
}

/* ==========================================================
*
*   javascript style hooks
*
========================================================== */
/* ==========================================================
*
*   base blocks
*
========================================================== */
/* ---------------------------------------------
*   header
--------------------------------------------- */
.header {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 500;
    width: 100%;
}

.header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    padding: 45px 50px 40px 50px;

    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
}

@media screen and (max-width: 750px) {
    .header__container {
        padding: 20px 15px;
    }
}

/*  header-logo
--------------------------------------------- */
.header-logo__link {
    display: block;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.header-logo__link:hover {
    opacity: 0.8;
}

/*  header-nav
--------------------------------------------- */
.header-nav {
    display: none;
}

.header-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;

    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
}

.header-nav__list-item {
    margin-left: 30px;
}

.header-nav__list-item:first-child {
    margin-left: 0;
}

.header-nav__link {
    color: #fff;
    letter-spacing: 0.4em;
    font-size: 1.21429rem;
    font-family: 'Lusitana', serif;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.header-nav__link:hover {
    opacity: 0.8;
}

@media screen and (max-width: 900px) {
    .header-nav__link {
        font-size: 1.24088vw;
    }
}

.header-nav__link--gray {
    color: #949494;
}

/* ---------------------------------------------
*   menu-trigger
--------------------------------------------- */
.menu-trigger {
    position: relative;
    display: inline-block;
    display: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 32px;
    height: 22px;
    -webkit-transition: all .4s;
    transition: all .4s;
}

.menu-trigger span {
    position: absolute;
    left: 0;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 2px;
    background-color: rgba(138, 130, 128, 0.5);
    -webkit-transition: all .4s;
    transition: all .4s;
}

.menu-trigger span:nth-of-type(1) {
    top: 0;
}

.menu-trigger span:nth-of-type(2) {
    top: 10px;
}

.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}

@-webkit-keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}

@keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}

.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
}

/* ---------------------------------------------
*   wrapper
--------------------------------------------- */
/* ---------------------------------------------
*   contents
--------------------------------------------- */
/* ---------------------------------------------
*   main
--------------------------------------------- */
/* ---------------------------------------------
*   footer
--------------------------------------------- */
.footer {
    position: relative;
    z-index: 10;
    background-color: #170505;
}

.footer__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    -ms-flex-pack: center;
    padding: 45px 0;

    -webkit-box-pack: start;
    justify-content: start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    justify-content: center;
}

@media screen and (max-width: 1371px) {
    .footer__container {
        padding: 3.28467vw 0;
    }
}

/* ---------------------------------------------
*   footer-nav
--------------------------------------------- */
.footer-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;

    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-nav__list-item {
    margin-left: 15px;
}

@media screen and (max-width: 1371px) {
    .footer-nav__list-item {
        margin-left: 1.09489vw;
    }
}

.footer-nav__list-item:first-child {
    margin-left: 0;
}

.footer-nav__link {
    color: #fff;
    letter-spacing: 0.2em;
    font-size: 12px;
    font-family: 'Lusitana', serif;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.footer-nav__link:hover {
    opacity: 0.8;
}

@media screen and (max-width: 1371px) {
    .footer-nav__link {
        font-size: 0.87591vw;
    }
}

/* ---------------------------------------------
*   footer-sns
--------------------------------------------- */
.footer-sns {
    position: absolute;
    right: 50px;
}

@media screen and (max-width: 1371px) {
    .footer-sns {
        right: 3.64964vw;
    }
}

.footer-sns__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;

    -webkit-box-pack: start;
    justify-content: start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer-sns__list-item {
    margin-left: 17px;
}

@media screen and (max-width: 1371px) {
    .footer-sns__list-item {
        margin-left: 1.24088vw;
    }
}

.footer-sns__list-item:first-child {
    margin-left: 0;
}

.footer-sns__link {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.footer-sns__link:hover {
    opacity: 0.8;
}

/* ---------------------------------------------
*   footer-copyright
--------------------------------------------- */
.footer-copyright__text {
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 0.85714rem;
}

@media screen and (max-width: 1371px) {
    .footer-copyright__text {
        font-size: 0.87591vw;
    }
}

@media screen and (max-width: 750px) {
    .footer-copyright__text {
        font-size: 1rem;
    }
}
