/* ==============================================================
* 共通
============================================================== */
html {
    font-size: 16px;
}
body {
    color: #252525;
    font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    text-align: justify;
    text-justify: inter-ideograph;
}
a {
    color: #3e3b1c;
}
.btn {
    color: #fff;
    font-size: calc(1rem + 0.3vw);
    border: #cec67b;
    background-color: #cec67b;
    border-radius: 0;
    padding: calc(1rem + 0.5vw) calc(1rem + 5vw);
}
.btn:hover {
    color: #fff;
    background-color: #cec67b;
}
a,
.btn {
    transition: .6s;
}
a:hover,
.btn:hover {
    opacity: 0.7;
    text-decoration: none;
}
img:hover {
    display: inline-block;
}
p {
    line-height: calc(1rem + 1vw);
}
hr {
    border-color: #996c33;
    width: 100%;
}
@media (min-width: 992px) {
    body {
        padding-top: 70px;
    }
}
@media (max-width: 991.98px) {
    html {
        font-size: 14px;
    }
}
@media (max-width: 767.98px) {
    .btn {
        padding: calc(1rem + 0.5vw) 0;
        width: 100%;
    }
}
@media (max-width: 575.98px) {
    p {
        line-height: calc(1rem + 2.5vw);
    }
}

/* フェードイン */
.fadeInAnime {
	visibility: hidden;
}
.fadeInAnime.active {
	visibility: visible;
    animation: fadeInHome 0.5s ease 0s 1 normal;
}
@keyframes fadeInHome {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        -ms-transform: translateY(50px);
        transform: translateY(50px); }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); }
}


/* ==============================================================
* コンテンツ共通
============================================================== */
.contents {
    padding-top: calc(1rem + 4vw);
}
h1 {
    font-size: calc(1rem + 1.5vw);
    line-height: calc(1rem + 3.5vw);
    letter-spacing: calc(0rem + 0.4vw);
}
h2 {
    font-size: calc(1rem + 1.5vw);
    line-height: calc(1rem + 3.5vw);
    letter-spacing: calc(0rem + 0.4vw);
}
h3 {
    font-size: calc(1rem + 0.5vw);
    line-height: calc(1rem + 2vw);
    letter-spacing: calc(0rem + 0.3vw);
}
h4 {
    font-size: calc(1rem + 0.4vw);
    line-height: calc(1rem + 1vw);
    letter-spacing: calc(0rem + 0.1vw);
}
.contents .header p {
    color: #817d7c;
    font-size: calc(1rem + 0.2vw);
}
.contents .header hr {
    width: 60%;
}
.contents .body {
    padding-top: calc(1rem + 2vw);
}
/* 背景固定 */
.contents.bg-attachment {
    background-attachment: fixed!important;
}
@media (min-width: 768px) {
    .contents .header hr {
        width: 80%;
    }
}
@media (max-width: 767.98px) {
    .contents .container {
        padding-right: 0;
        padding-left: 0;
    }
}
@media (max-width: 374.98px) {
    h1 {
        font-size: calc(1rem + 1vw);
    }
}


/* ==============================================================
* ナビゲーション
============================================================== */
.navbar {
    background-color: #fff;
}
.navbar .navbar-brand {
    display: none;
}
.navbar .navbar-toggler {
    border: 0;
}
.navbar ul .pc {
    display: list-item;
}
.navbar ul a span {
    color: #3e3b1c;
}
.navbar ul .space a {
    color: #aa9d1d!important;
}
.navbar ul hr {
    margin: 0;
}
@media (min-width: 768px) {
    .navbar {
        padding-right: 0;
        padding-bottom: 0;
        padding-left: 0;
    }
    .navbar ul {
        border-top: solid 1px #996c33;
        border-bottom: solid 1px #996c33;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
    }
    .navbar ul li {
        border-left: solid 1px #996c33;
    }
    .navbar ul li.space {
        border-left: none;
    }
    .navbar ul li.space a {
        padding-left: 0!important;
    }
    .navbar ul li:last-of-type {
        border-right: solid 1px #996c33;
    }
    .navbar ul a {
        line-height: calc(1rem + 0vw);
        padding: calc(1rem + 0vw) calc(1rem + 2vw)!important;
    }
}
@media (max-width: 767.98px) {
    .navbar .navbar-brand {
        display: block;
    }
    .navbar ul .pc {
        display: none;
    }
    .navbar ul a {
        font-size: calc(1rem + 0.4vw);
        line-height: calc(1rem + 1vw);
        letter-spacing: calc(0rem + 0.1vw);
        padding: calc(1rem + 1vw) 0!important;
    }
}

/* ==============================================================
* ヘッダー
============================================================== */
header {
    position: relative;
    color: #fff;
    /* background: url(../img/header.jpg) no-repeat center center; */
    background-size: cover;
    background-color: #252525;
    height: 100vh;
}
header h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    width: 100%;
}
header img {
    margin-bottom: calc(1rem + 1.5vw);
}
@media (max-width: 767.98px) {
    header h1 {
        line-height: calc(1rem + 5vw);
        letter-spacing: calc(0rem + 0vw);
    }
    header img {
        margin-bottom: calc(1rem + 5vw);
    }
}


/* ==============================================================
* ごあいさつ
============================================================== */
#message .header {
    color: #fff;
    background-color: #ab9c1d;
    position: relative;
}
#message .header p {
    color: #fff;
    margin: 0;
}
#message .body {
    padding-top: calc(1rem + 1vw);
}
#message .body span {
    font-size: calc(1rem + 1vw);
    line-height: calc(1rem + 3vw);
}
@media (min-width: 768px) {
    #message.contents {
        padding-top: 0;
        margin-top: calc(1rem + 2.8vw);
    }
    #message .header > div {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        width: 100%;
    }
    #message .body {
        padding: calc(1rem + 2vw);
    }
}
@media (max-width: 767.98px) {
    #message .header {
        padding: calc(1rem + 1vw) 0;
    }
}


/* ==============================================================
* STRONG & HERO
============================================================== */
#strong-hero {
    color: #fff;
    background: url(../img/strong-hero.jpg) no-repeat center center;
    background-size: cover;
    background-color: #252525;
    padding: calc(1rem + 15vw) 0;
    margin-top: calc(1rem + 2vw);
    margin-bottom: calc(1rem + 2vw);
}
#strong-hero h2 {
    font-size: calc(1rem + 2.3vw);
    letter-spacing: calc(0rem + 0.4vw);
}
#strong-hero p {
    font-size: calc(1rem + 0.5vw);
    letter-spacing: calc(0rem + 0.3vw);
}
#strong-hero p {
    margin-bottom: 0;
}
@media (min-width: 768px) {
    #strong-hero h2 {
        margin-bottom: 0;
    }
}
@media (max-width: 767.98px) {
    #strong-hero {
        padding: calc(1rem + 20vw) 0;
    }
    #strong-hero h2 {
        font-size: calc(1rem + 4.5vw);
    }
}


/* ==============================================================
* 運営店舗
============================================================== */
#management {
    border-top: solid 1px #996c33;
}
#management h3 {
    padding-bottom: calc(1rem + 3vw);
}
#management h4 span {
    font-size: calc(0.9rem + 0vw);
}
@media (min-width: 768px) {
    #management .logo {
        height: 75px;
    }
    #management .sgg .logo {
        padding-top: 1rem;
    }
}
@media (max-width: 767.98px) {
    #management .body .row > div:first-of-type {
        margin-bottom: 2rem;
    }
    #management .body .mkh {
        padding-top: calc(1rem + 3vw);
    }
}


/* ==============================================================
* 水平スライドショー
============================================================== */
#slideshow.contents {
    padding-top: calc(1rem + 6vw);
    margin-bottom: calc(1rem + 2vw);
}
#slideshow .simply-scroll {
    width: 100%;
	height: 427px;
	margin-bottom: 1em;
}
#slideshow .simply-scroll .simply-scroll-clip {
    width: 100%;
	height: 427px;
}
#slideshow .simply-scroll .simply-scroll-list li {
    width: 427px;
	height: 427px;
    margin: 0 0.1rem;
}
@media (max-width: 1199.98px) {
    #slideshow .simply-scroll {
        height: 250px;
    }
    #slideshow .simply-scroll .simply-scroll-clip {
        height: 250px;
    }
    #slideshow .simply-scroll .simply-scroll-list li {
        width: 250px;
        height: 250px;
    }
    #slideshow .simply-scroll .simply-scroll-list li img {
        width: 250px;
    }
}
@media (max-width: 767.98px) {
    #slideshow.contents {
        padding-top: calc(1rem + 10vw);
        margin-bottom: calc(1rem + 4vw);
    }
    #slideshow .simply-scroll {
        height: 150px;
    }
    #slideshow .simply-scroll .simply-scroll-clip {
        height: 150px;
    }
    #slideshow .simply-scroll .simply-scroll-list li {
        width: 150px;
        height: 150px;
    }
    #slideshow .simply-scroll .simply-scroll-list li img {
        width: 150px;
    }
}


/* ==============================================================
* 会社概要
============================================================== */
#profile {
    border-top: solid 1px #996c33;
    border-bottom: solid 1px #996c33;
    padding-bottom: calc(1rem + 3vw);
}
#profile .table td,
#profile .table th {
    border-top: solid 1px #996c33;
}
#profile .table tr:first-of-type td,
#profile .table tr:first-of-type th {
    border-top: 0;
}
@media (min-width: 768px) {
    #profile .body {
        margin: 0 auto;
        width: 80%;
    }
}


/* ==============================================================
* お問い合わせ
============================================================== */
@media (max-width: 767.98px) {
    #contact .body {
        padding-top: 0;
    }
}


/* ==============================================================
* 求人について
============================================================== */
#recruit {
    margin-bottom: calc(1rem + 7vw);
}
#recruit .body {
    padding-top: 0;
}


/* ==============================================================
* フッター
============================================================== */
footer.contents {
    color: #fff;
    background-color: #ab9c1d;
    padding: calc(1rem + 2vw);
}
footer .menu {
    display: none;
}
footer .menu hr {
    border-color: #fff;
    width: 50%;
}
footer .menu ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
footer .menu ul a {
    color: #fff;
}
footer .copyright {
    margin: 0;
}
@media (min-width: 768px) {
    footer .info > div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    footer .info > div:last-of-type {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    footer .info > div p:first-of-type {
        margin-right: 1rem;
    }
    footer .info .sgg {
        padding-top: 0.5rem;
    }
    footer .menu {
        display: block;
    }
}
@media (min-width: 1200px) {
    footer .info p {
        line-height: calc(1rem + 0.5vw);
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    footer .info .sbr img {
        height: 80%;
    }
    footer .info .sgg img {
        height: 60%;
    }
    footer .info .mkh img {
        height: 80%;
    }
}
@media (max-width: 767.98px) {
    footer .info {
        text-align: center;
        line-height: calc(1rem + 2vw);
    }
    footer .info p {
        margin-bottom: calc(1rem + 3vw);
    }
}


/* ==============================================================
* フッター トップへ戻るボタン
============================================================== */
#pagetop {
    z-index: 1029;
    position: fixed;
    display: none;
    cursor: pointer;
    right: calc(1rem + 1vw);
    bottom: calc(1rem + 1vw);
    width: 56px;
    transition: all 500ms 0s ease;
}
#pagetop:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}