@charset 'UTF-8';
/*

    Reset

*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
}

body {
    line-height: 1;
    /* background: url(images/common/body_bg.jpg) repeat left top; */
    background: #fff;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    background: transparent;
}

/* change colours to suit your needs */
ins {
    text-decoration: none;
    color: #000;
    background-color: #ff9;
}

/* change colours to suit your needs */
mark {
    font-weight: bold;
    font-style: italic;
    color: #000;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted;
}

table {
    border-spacing: 0;
    border-collapse: collapse;
}

/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}

input,
select {
    vertical-align: middle;
}

/*

    Default

*/
/*===================================
    elements
===================================*/
body {
    /* font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Osaka,sans-serif; */
    font-family: 'Agenda', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    letter-spacing: 0;
    /* background: url(../images/bg_content.png) repeat left top; */
    /* background-color: #fff4f4; */
    color: #333;
    /*     color: #333; */
    -webkit-text-size-adjust: none;
    font-size: 19px !important;
    font-family: 'Noto Serif JP', serif;
}
html,
body {
    height: 100%;
}

p {
    margin: 10px 0;
}

select {
    padding: 5px;
}

a {
    text-decoration: none;
    color: #333;
}

a:visited {
    color: currentcolor;
}

a:hover {
    min-height: 1em;
    text-decoration: none;
    /* Mac Firefox */
    color: #fd7f00;
}

a:hover img {
    vertical-align: bottom;
    opacity: 0.7;
}

img {
    vertical-align: bottom;
}

ul {
    list-style-type: none;
}

dl {
    margin: 20px 0;
}

dl dt {
    margin: 20px 0 0;
}

dl dd {
    margin: 5px 0 0;
}

dl dt:first-child {
    margin: 0;
}

dl {
    margin: 20px 0;
}

dl dt {
    margin: 20px 0 0;
}

dl dd ul {
    margin: 0 0 0 40px;
}
* {
    box-sizing: border-box;
}

/*

    Layout

*/
/* ---------------------------------------------
    header
--------------------------------------------- */
.site-header {
    position: fixed;
    /* position: absolute; */
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100%;
    height: 105px;
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 13%, rgba(0, 0, 0, 0.5088410364145659) 100%);
}
.site-header .logo {
    width: 112px;
    padding: 24px 0;
}
.header-primary {
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width: 767px) {
    .site-header-sp {
        position: fixed;
        z-index: 9999;
        top: 0;
        left: 0;
        width: 100%;
        height: 70px;
        background: rgb(0, 0, 0);
        background: linear-gradient(180deg, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 0) 90%);
    }
    .site-header-sp .logo {
        padding: 16px 20px;
        width: 122px;
        box-sizing: border-box;
    }
}

/* header-navigation */

.site-header .header-navigation {
    float: right;
    margin: 32px 0 0 auto;
}
.site-header .header-navigation > li {
    line-height: 1;
    position: relative;
    float: left;
    margin-left: 40px;
    padding: 0 0 0 0;
    color: #fff;
    background-size: 8px auto;
}
.site-header .header-navigation li:first-child {
    margin-left: 0;
}
.site-header .header-navigation li a {
    font-size: 14px;
    padding: 15px 0;
    color: #fff;
    font-weight: bold;
}
.header-navigation > li .children {
    position: absolute;
    z-index: 100;
    top: 30px;
    left: -15px;
    display: none;
}
.header-navigation > li .children li {
    float: none;
}
.header-navigation > li .children li a {
    font-size: 12px;
    line-height: 150%;
    display: block;
    box-sizing: border-box;
    width: 270px;
    padding: 11px 15px;
    text-decoration: none;
    border-bottom: 1px solid #b0a498;
    background: #553b22;
}
.header-navigation li a:hover {
    text-decoration: underline;
}
.header-language {
    margin: 30px 0 0 30px;
}

/* ---------------------------------------------
    footer
--------------------------------------------- */

#wrapper-footer {
    background: #fff;
    color: #54585a;
}
#wrapper-footer .social-media-list a {
    color: #a00062;
    text-decoration: none;
    background-color: transparent;
}

/* .site-footer {
    width: 100%;
}

.site-footer .footer-inner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

.site-footer .footer-navigation {
    background-color: #fff;
}

.site-footer .footer-navigation .ttl {
    font-weight: bold;
}

.site-footer .footer-navigation ul {
    margin-top: 25px;
}

.site-footer .footer-navigation ul li {
    margin-top: 7px;
}

.site-footer .footer-navigation ul li:first-child {
    margin-top: 0;
}

.site-footer a:link {
    color: #fff;
}
.site-footer a:hover {
    text-decoration: underline;
} */

/* footer-content-box */

/* .footer-content-box {
    padding: 60px 0;
    background: url(../images/bg_content_snow01.png) no-repeat center 65px;
    background-size: cover;
}
.footer-content-box .follow-text {
    width: 199px;
    margin: 0 auto 30px;
    text-align: center;
} */

/* footer-sns-box */

/* .footer-sns-box {
    margin: 0 auto;
    text-align: center;
}
.footer-sns-box li {
    display: inline-block;
    width: 40px;
    position: relative;
}
.footer-sns-box li.instagram,
.footer-sns-box li.twitter {
    padding-left: 80px;
}
.footer-sns-box li.instagram::before,
.footer-sns-box li.twitter::before {
    display: block;
    content: '';
    position: absolute;
    width: 24px;
    height: 28px;
    background: url(../images/ico_snow01.png) no-repeat 0 0;
    background-size: cover;
    top: 0;
    bottom: 0;
    left: 28px;
    margin: auto;
} */

/* footer-banner-box */

/* .footer-banner-box {
    margin: 60px auto 0;
    text-align: center;
}
.footer-banner-box li {
    display: inline-block;
    width: 310px;
}
.footer-banner-box li.mail {
    margin-left: 4%;
} */

/* footer-navigation-box */

/* .footer-navigation-box {
    background-color: #fff;
}

.site-footer .footer-navigation {
    margin: 0 auto;
    padding: 30px 0 0;
    text-align: center;
}
.site-footer .footer-navigation li {
    font-weight: bold;
    font-weight: normal;
    line-height: 1;
    display: inline-block;
    padding: 0 50px 0 0;
}
.site-footer .footer-navigation li:first-child {
    margin-left: 0;
}

.site-footer .footer-navigation li a {
    font-size: 14px;
    color: #967f68;
} */

/* footer-address-box */

/* .footer-address-box {
    text-align: center;
    color: #fff;
    position: relative;
    background-color: #A86904;
    background-image: url(../images/img_title_bg.jpg);
    background-repeat: repeat-x;
    background-position: center -17px;
    overflow: hidden;
    padding: 60px 0 0;
}
.footer-address-box::before {
    position: absolute;
    display: block;
    background-image: url(../images/img_footer_snow02.png);
    background-repeat: repeat-x;
    background-position: center top;
    width: 100%;
    height: 50px;
    content: '';
    top: 0px;
}
.footer-address-box::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 50px;
    margin: 0 auto;
    content: '';
    background: url(../images/img_footer_snow01.png) no-repeat center 0;
    top: 0;
}
.footer-address {
    font-size: 14px;
    margin: 0;
    padding: 20px 0 0;
    text-align: left;
}
.footer-address-box .copyright {
    font-size: 14px;
    padding: 30px 0;
} */

/* ---------------------------------------------
    common
--------------------------------------------- */
.btn-primary {
    font-size: 14px;
    font-weight: bold;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    padding: 13px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border-radius: 6px;
    background: rgb(218, 188, 129);
    background: linear-gradient(180deg, rgba(218, 188, 129, 1) 13%, rgba(198, 167, 106, 1) 91%);
}
/* .btn-primary::before {
    position: relative;
    top: 0;
    bottom: 0;
    display: inline-block;
    width: 8px;
    height: 11px;
    margin: auto;
    margin: 0 10px 0;
    content: '';
    background: url(../images/ico_arrow01.png) no-repeat left 0;
    background-size: 8px;
} */

.btn-primary:link,
.btn-primary:visited {
    color: #fff;
}

#pagetop {
    position: fixed;
    z-index: 9999;
    right: 50px;
    bottom: 25px;
    display: none;
}

#pagetop img {
    width: 75px;
    height: auto;
}

/*



    03-01 Component

===================================*/

/*===================================
    container
===================================*/

.container {
    position: relative;
    box-sizing: border-box;
    max-width: 1180px;
    height: 100%;
    margin: 0 auto;
    padding-right: 40px;
    padding-left: 40px;
}
.container-md {
    position: relative;
    box-sizing: border-box;
    max-width: 720px;
    height: 100%;
    margin: 0 auto;
    padding-right: 40px;
    padding-left: 40px;
}

/* container-fluid */

.container-fluid {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
    height: 100%;
    padding-right: 0;
    padding-left: 0;
}

@media screen and (max-width: 767px) {
    .container {
        padding-right: 20px;
        padding-left: 20px;
    }
    .container-fluid {
        min-width: 100%;
    }
}

/*===================================
    breadcrumb
===================================*/

#breadcrumb {
    background: url('../images/common/breadcrumb_img_home.png') no-repeat left 17px;
    background-size: 16px 15px;
    margin: 0;
    padding: 15px 0 15px;
    font-size: 12px;
    font-weight: bold;
}
#breadcrumb li {
    position: relative;
    display: inline;
    float: left;
    margin-left: 28px;
    letter-spacing: 0;
    margin-bottom: 5px;
}
#breadcrumb li::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -16px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #979797;
    border-right: 1px solid #979797;
}
#breadcrumb li:first-child {
    margin-left: 0;
}
#breadcrumb li:first-child a {
    margin-left: 0;
    padding-left: 28px;
    color: #85807f;
}
#breadcrumb li:first-child::before {
    content: '';
}

#breadcrumb li:last-child::before {
    display: none;
}

@media screen and (max-width: 767px) {
    #breadcrumb {
        padding-top: 0;
        background: url('../images/common/breadcrumb_img_home.png') no-repeat left 0;
        background-size: 14px auto;
        background-position: left 0;
    }
    #breadcrumb li {
        font-size: 10px;
    }
    #breadcrumb li::before {
        right: -15px;
        width: 5px;
        height: 5px;
    }
    #breadcrumb li:first-child a {
        margin-left: 0;
        padding-left: 26px;
    }
}

/*===================================
    hero
===================================*/

.hero {
    position: relative;
    box-sizing: border-box;
}
/* #main .hero .container{
    width: auto;
    display: inline-block;
} */
#main {
    /* background: url(../images/bg_food.png) no-repeat center center; */
    background-size: cover;
}
.hero-primary {
    background-size: cover;
    height: 100vh;
    min-height: 768px;
}
/* .hero-primary::before {
    content: '';
    padding-top: 48%;
    display: block;
} */
.hero-secondary {
    position: relative;
    height: 320px;
    background: #eee;
}
.hero .hero-primary-box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-image: url(../images/hero_img.png);
    background-size: cover;
    background-position: bottom;

    .text {
        color: #fff;
        font-size: 24px;
        margin: 30px 0 0;
        font-weight: 700;
        opacity: 0;
        animation: hero-text-animation 2s linear 3.2s;
        animation-direction: alternate;
        animation-fill-mode: forwards;
        z-index: 5;
    }
    .text-1 {
        animation-delay: 3.2s;
    }
    .text-2 {
        animation-delay: 4.2s;
    }
    .text-3 {
        animation-delay: 5.2s;
    }

    .wrapper {
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1;
        animation: bgcolor-anim 2s linear 3.2s;
        animation-direction: alternate;
        animation-fill-mode: forwards;
        background-color: #a00062;
    }

    &:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 1px;
        height: 140px;
        background-color: #fff;
        opacity: 0;
        animation: hero-text-animation 2s linear;
        animation-delay: 5.2s;
        animation-direction: alternate;
        animation-fill-mode: forwards;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 1) 49%);
    }

    &:after {
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        opacity: 0;
        animation: hero-text-animation 2s linear;
        animation-delay: 3s;
        animation-direction: alternate;
        animation-fill-mode: forwards;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0) 90%, rgb(255 255 255) 100%, rgb(255 255 255) 100%);
        width: 100%;
        height: 100%;
    }
}

.svg-wrap {
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    z-index: 5;

    .since {
        max-width: 140px;
        margin: 0 auto;
    }
    .year {
        max-width: 360px;
        margin: 0 auto;
    }
}
.svg-wrap svg {
    max-width: 100%;
}
.svg-wrap svg .st0 {
    stroke-dasharray: 1000px;
    stroke: #fff;
    stroke-width: 1px;
    animation: svgAnime 5s linear;
}
@keyframes svgAnime {
    0% {
        stroke-dashoffset: 1000px;
        fill: transparent;
    }
    70% {
        stroke-dashoffset: 0px;
        fill: transparent;
    }
    100% {
        stroke-dashoffset: 0px;
        stroke: transparent;
        fill: #fff;
    }
}

@keyframes bgcolor-anim {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0.25;
        z-index: -1;
        filter: grayscale(1);
    }
}

@keyframes hero-text-animation {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@media screen and (max-width: 767px) {
    .hero-primary {
        background: url('../images/img_hero_sp.png') no-repeat center center;
        height: 100dvh;
        min-height: auto;
    }
    .hero-primary::before {
        display: none;
    }
    .svg-wrap {
        position: relative;
        max-width: 600px;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        z-index: 5;

        .since {
            max-width: 60px;
            margin: 0 auto;
        }
        .year {
            max-width: 160px;
            margin: 0 auto;
            aspect-ratio: 16 / 3;
            height: 110px;
        }
    }
    .hero .hero-primary-box {
        .text {
            font-size: 16px;
        }
    }
}

/*===================================
    title
===================================*/

.h1 {
    font-size: 40px;
    line-height: 1.25;
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: bold;
}
.h2 {
    font-weight: 900;
    font-size: 26px;
    line-height: 1.7;
    margin: 0;
    padding: 0;
    text-align: center;
    letter-spacing: 1px;
}
.h3 {
    font-size: 24px;
    /* font-size: 30px; */
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    margin: 0;
    text-align: center;
    letter-spacing: 2px;
}
.h4 {
    font-size: 20px;
    text-align: center;
}
.h5 {
    font-size: 16px;
    text-align: center;
}
.h6 {
    font-size: 14px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .h1 {
        font-size: 24px;
    }
    .h2 {
        font-size: 22px;
        letter-spacing: 0;
        line-height: 1.3;
    }
    .h3 {
        font-size: 18px;
        letter-spacing: 0;
    }
}

/*===================================
    sub title
===================================*/

.h1-sub {
    font-size: 16px;
    margin: 10px 0 0;
    padding: 0;
    text-align: center;
    letter-spacing: 2px;
}
.h2-sub {
    font-size: 16px;
    font-weight: 900;
    position: relative;
    margin: 0;
    text-align: center;
    line-height: 1;
    letter-spacing: 1px;
}
.h3-sub {
    font-size: 14px;
    font-weight: 900;
}
@media screen and (max-width: 767px) {
    .h1-sub {
        font-size: 18px;
    }
    .h2-sub {
        font-size: 16px;
        line-height: 1.5;
    }
}

/*===================================
    border title
===================================*/

.h1-border {
    position: relative;
    text-align: center;
    padding-top: 28px;
    font-weight: bold;
    color: #868281;
    margin: 0;
}
.h1-border::before {
    position: absolute;
    top: 10px;
    right: 0;
    left: 0;
    display: block;
    width: 60px;
    height: 1px;
    margin: 0 auto;
    content: '';
    background: #928050;
}
.h2-border,
.h2-border-white {
    position: relative;
}
.h2-border::before {
    position: absolute;
    top: -50px;
    right: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 44px;
    margin: 0 auto;
    content: '';
    background: #000;
}
.h2-border::after {
    position: absolute;
    top: -34px;
    right: 0;
    left: 0;
    display: block;
    width: 7px;
    height: 7px;
    margin: 0 auto;
    content: '';
    background: #000;
}
.h2-border-white::before {
    position: absolute;
    top: -50px;
    right: 0;
    left: 0;
    display: block;
    width: 1px;
    height: 44px;
    margin: 0 auto;
    content: '';
    background: #fff;
}
.h2-border-white::after {
    position: absolute;
    top: -34px;
    right: 0;
    left: 0;
    display: block;
    width: 7px;
    height: 7px;
    margin: 0 auto;
    content: '';
    background: #fff;
}
.h3-border {
    position: relative;
}
.h3-border::before {
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    display: block;
    width: 40px;
    height: 1px;
    margin: 0 auto;
    content: '';
    background: #000;
}

@media screen and (max-width: 767px) {
    .h1-border {
        padding-top: 20px;
    }
    .h1-border::before {
        width: 30px;
    }
    .h2-border::before,
    .h2-border-white::before {
        top: -28px;
        width: 1px;
        height: 23px;
    }
    .h2-border::after,
    .h2-border-white::after {
        top: -19px;
        width: 5px;
        height: 5px;
    }
}

/*===================================
    tbl
===================================*/

.tbl {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #ccc;
}
.tbl td,
.tbl th {
    line-height: 1.5;
    padding: 20px 30px;
    border-right: 0px solid #fff;
    border-bottom: 1px solid #ccc;
    border-left: 0px solid #fff;
    text-align: left;
}
.tbl th {
    background: #f5f5f5;
}
.tbl td {
    vertical-align: top;
    background: #fff;
}

@media screen and (max-width: 767px) {
    .tbl td,
    .tbl th {
        display: block;
        padding: 13px 20px;
        font-size: 12px;
        width: 100%;
        box-sizing: border-box;
    }
}

/* tbl-list */

.tbl-list {
    overflow: hidden;
    *zoom: 1;
    border-right: #ddd solid 1px;
    border-bottom: #ddd solid 1px;
    border-left: #ddd solid 1px;
    background: #999;
}
.tbl-list dt,
.tbl-list dd {
    padding: 10px;
    border-top: #ddd solid 1px;
}
.tbl-list dt {
    width: 150px;
    color: #fff;
    float: left;
}
.tbl-list dd {
    border-left: #ddd solid 1px;
    background: #fff;
    overflow: hidden;
}

/*===================================
    btn
===================================*/

.btn {
    font-weight: bold;
    line-height: 1.3;
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 10px 25px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    border-radius: 0;
    -webkit-appearance: none;
    transition: 0.15s ease-out, box-shadow 0.15s ease-out;
}
.btn:hover {
    color: initial;
}
.btn:focus {
    outline: none;
}
::-moz-focus-inner {
    padding: 0;
    border: 0;
}

/* btn-primary */

.btn-primary {
    color: #fff;
    border: none;
    background-color: #928050;
}
.btn-primary:hover {
    opacity: 0.65;
    color: #fff;
}
.btn-primary:disabled,
.btn-primary.is-disabled {
    opacity: 0.5;
}

/* btn-secondary */

.btn-secondary {
    color: #fff;
    border: none;
    background-color: #666;
}
.btn-secondary:hover {
    opacity: 0.3;
    color: #fff;
}
.btn-secondary:disabled,
.btn-secondary.is-disabled {
    opacity: 0.5;
}

/* btn-outline */

.btn-outline-primary {
    color: #928050;
    border-width: 1px;
    border-style: solid;
    border-color: #928050;
}
.btn-outline-secondary {
    color: #666;
    border-width: 1px;
    border-style: solid;
    border-color: #666;
}
.btn-outline-primary:hover {
    color: #fff;
    background-color: #928050;
}
.btn-outline-secondary:hover {
    color: #fff;
    background-color: #666;
}

/* btn-size */

.btn-block {
    width: 100%;
}
.btn-md {
    width: 350px;
}

/* btn shadow color */

.btn-primary.bg-black {
    background-color: black !important;
}
.btn-primary.bg-gray {
    background-color: #66777f !important;
}
.btn-primary.bg-white {
    background-color: white !important;
}
.btn-primary.bg-blue {
    background-color: #79cfd9 !important;
}
.btn-primary.bg-aqua {
    background-color: #e4f5f7 !important;
}
.btn-primary.bg-green {
    box-shadow: 5px 5px 0 #eaffc1 !important;
}
.btn-primary.bg-yellow {
    background-color: yellow !important;
}
.btn-primary.bg-orange {
    background-color: orange !important;
}
.btn-primary.bg-red {
    background-color: red !important;
}

/*===================================
    btn icon
===================================*/

.ico::before,
.ico-left::before,
.ico-right::before {
    display: inline-block;
    font-family: 'Font Awesome 5 Free';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    text-rendering: auto;
    line-height: 0;
    font-weight: 900;
    margin-right: 0.3em;
}
.ico-left {
    padding-left: 40px;
    padding-right: 40px;
}
.ico-right {
    padding-right: 40px;
    padding-left: 40px;
}
.ico-right::before {
    position: absolute;
    right: 10px;
    top: 50%;
}
.ico-left::before {
    position: absolute;
    left: 10px;
    top: 50%;
}

@media screen and (max-width: 767px) {
    .ico-left {
        padding-left: 15px;
        padding-right: 15px;
    }
    .ico-right {
        padding-right: 30px;
        padding-left: 15px;
    }
}

.ico-angle-right::before {
    content: '\f105';
}
.ico-angle-down::before {
    content: '\f107';
}
.ico-file-pdf::before {
    content: '\f1c1';
}
.ico-window-restore::before {
    content: '\f2d2';
}

/*===================================
    align
===================================*/

.align-center {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
}

/*===================================
    box
===================================*/

.box {
    padding: 25px;
}
.box-scroll {
    overflow-y: scroll;
    box-sizing: border-box;
    border: 1px solid #ccc;
}

@media screen and (max-width: 767px) {
    .box {
        padding: 15px;
    }
}

/*===================================
    list
===================================*/

.list {
    list-style: disc outside;
}

/* square-list */

.square-list {
    margin: 0;
    padding: 0;
}
.square-list li {
    position: relative;
    padding-left: 25px;
    letter-spacing: 0;
    margin-top: 5px;
}
.square-list li::before {
    content: '■';
    display: block;
    position: absolute;
    margin: 0;
    padding: 0;
    top: 5px;
    left: 0;
    transform: scale(0.4);
    line-height: 1;
}

/*===================================
    maker
===================================*/

.maker {
    padding: 0 5px;
    background: linear-gradient(transparent 75%, #fff4bc 75%);
}
.maker-dot {
    position: relative;
    z-index: 1;
}
/* .maker-dot::after {
    content: '';
    display: block;
    position: relative;
    border-bottom: 3px dotted #CCC;
    margin: auto;
    transform: rotate(-1deg);
    top: -13px;
    z-index: -1;
} */
.maker-dot {
    border-bottom: 3px dotted #ccc;
}

/*===================================
    paragraph
===================================*/

@media screen and (max-width: 767px) {
    .read {
        text-align: left !important;
    }
    .read br {
        display: none;
    }
}

/*===================================
    font-size
===================================*/

.fsxxl {
    font-size: 34px;
}
.fsxl {
    font-size: 28px;
}
.fsl {
    font-size: 24px;
}
.fsml {
    font-size: 20px;
}
.fsm {
    font-size: 16px;
}
.fsms {
    font-size: 14px;
}
.fss {
    font-size: 12px;
}
.fsxs {
    font-size: 10px;
}
.fsxxs {
    font-size: 8px;
}

@media screen and (max-width: 767px) {
    .fsxxl {
        font-size: 20px;
    }
    .fsxl {
        font-size: 20px;
    }
    .fsl {
        font-size: 18px;
    }
    .fsml {
        font-size: 16px;
    }
    .fsm {
        font-size: 14px;
    }
    .fsms {
        font-size: 12px;
    }
    .fss {
        font-size: 10px;
    }
    .fsxs {
        font-size: 8px;
    }
    .fsxxs {
        font-size: 6px;
    }
}

/*===================================
    font-family
===================================*/

.ff-serif {
    font-family: 'Cormorant Garamond', serif;
}
.ff-montserra {
    font-family: 'Montserrat', sans-serif;
}
.ff-oswald {
    font-family: 'Oswald', sans-serif;
}
.ff-arial {
    font-family: 'Arial', sans-serif;
}
.ff-meiriyo {
    font-family: Meiriyo, 'Ã£Æ’Â¡Ã£â€šÂ¤Ã£Æ’ÂªÃ£â€šÂª', sans-serif;
}
.ff-segoe-light {
    font-family: 'Segoe UI Light', 'Montserrat', sans-serif;
}
.ff-segoe-black {
    /* font-family: 'Segoe UI', 'Noto Sans JP', 'Helvetica', 'Arial', 'Montserrat', sans-serif; */
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
}

/*===================================
    txt-link
===================================*/

.txt-link {
    text-decoration: underline;
    word-break: break-all;
    color: currentcolor;
}
.arrow-right-link {
    position: relative;
    background: url('../images/common/ico_arrow_right_white.png') no-repeat right 7px;
    background-size: 11px auto;
    padding-right: 20px;
}
.arrow-link-right::before {
    line-height: 1;
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 14px;
    height: 14px;
    margin: auto;
    content: '';
    z-index: 100;
}

/*===================================
    section
===================================*/

.sec-xxlg {
    padding-top: 200px;
    padding-bottom: 200px;
}
.sec-xlg {
    padding-top: 160px;
    padding-bottom: 160px;
}
.sec-lg {
    padding-top: 120px;
    padding-bottom: 120px;
}
.sec-md {
    padding-top: 80px;
    padding-bottom: 80px;
}
.sec-sm {
    padding-top: 40px;
    padding-bottom: 40px;
}
.sec-xsm {
    padding-top: 20px;
    padding-bottom: 20px;
}
.sec-xxsm {
    padding-top: 10px;
    padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .sec-xxlg {
        padding-top: 120px;
        padding-bottom: 120px;
    }
    .sec-xlg {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .sec-lg {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .sec-md {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .sec-sm {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .sec-xsm {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .sec-xxsm {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/*===================================
    margin sizing
===================================*/

/* margin all */

.mxxl {
    margin: 200px;
}
.mxl {
    margin: 160px;
}
.ml {
    margin: 120px;
}
.mml {
    margin: 100px;
}
.mm {
    margin: 80px;
}
.mms {
    margin: 60px;
}
.ms {
    margin: 40px;
}
.mxs {
    margin: 20px;
}
.mxxs {
    margin: 10px;
}

/* margin-top */

.mtxxl {
    margin-top: 200px;
}
.mtxl {
    margin-top: 160px;
}
.mtl {
    margin-top: 120px;
}
.mtml {
    margin-top: 100px;
}
.mtm {
    margin-top: 80px;
}
.mtms {
    margin-top: 60px;
}
.mts {
    margin-top: 40px;
}
.mtxs {
    margin-top: 20px;
}
.mtxxs {
    margin-top: 10px;
}

/* margin-right */

.mrxxl {
    margin-right: 200px;
}
.mrxl {
    margin-right: 160px;
}
.mrl {
    margin-right: 120px;
}
.mrml {
    margin-right: 100px;
}
.mrm {
    margin-right: 80px;
}
.mrms {
    margin-right: 60px;
}
.mrs {
    margin-right: 40px;
}
.mrxs {
    margin-right: 20px;
}
.mrxxs {
    margin-right: 10px;
}

/* margin-bottom */

.mbxxl {
    margin-bottom: 200px;
}
.mbxl {
    margin-bottom: 160px;
}
.mbl {
    margin-bottom: 120px;
}
.mbml {
    margin-bottom: 100px;
}
.mbm {
    margin-bottom: 80px;
}
.mbms {
    margin-bottom: 60px;
}
.mbs {
    margin-bottom: 40px;
}
.mbxs {
    margin-bottom: 20px;
}
.mbxxs {
    margin-bottom: 10px;
}

/* margin-left */

.mlxxl {
    margin-left: 200px;
}
.mlxl {
    margin-left: 160px;
}
.mll {
    margin-left: 120px;
}
.mlml {
    margin-left: 100px;
}
.mlm {
    margin-left: 80px;
}
.mlms {
    margin-left: 60px;
}
.mls {
    margin-left: 40px;
}
.mlxs {
    margin-left: 20px;
}
.mlxxs {
    margin-left: 10px;
}

@media screen and (max-width: 767px) {
    /* margin all */

    .mxxl {
        margin: 120px;
    }
    .mxl {
        margin: 100px;
    }
    .ml {
        margin: 80px;
    }
    .mml {
        margin: 60px;
    }
    .mm {
        margin: 40px;
    }
    .mms {
        margin: 30px;
    }
    .ms {
        margin: 20px;
    }
    .mxs {
        margin: 15px;
    }
    .mxxs {
        margin: 10px;
    }

    /* margin-top */

    .mtxxl {
        margin-top: 120px;
    }
    .mtxl {
        margin-top: 100px;
    }
    .mtl {
        margin-top: 80px;
    }
    .mtml {
        margin-top: 60px;
    }
    .mtm {
        margin-top: 40px;
    }
    .mtms {
        margin-top: 30px;
    }
    .mts {
        margin-top: 20px;
    }
    .mtxs {
        margin-top: 15px;
    }
    .mtxxs {
        margin-top: 10px;
    }

    /* margin-right */

    .mrxxl {
        margin-right: 120px;
    }
    .mrxl {
        margin-right: 100px;
    }
    .mrl {
        margin-right: 80px;
    }
    .mrml {
        margin-right: 60px;
    }
    .mrm {
        margin-right: 40px;
    }
    .mrms {
        margin-right: 30px;
    }
    .mrs {
        margin-right: 20px;
    }
    .mrxs {
        margin-right: 15px;
    }
    .mrxxs {
        margin-right: 10px;
    }

    /* margin-bottom */

    .mbxxl {
        margin-bottom: 120px;
    }
    .mbxl {
        margin-bottom: 100px;
    }
    .mbl {
        margin-bottom: 80px;
    }
    .mbml {
        margin-bottom: 60px;
    }
    .mbm {
        margin-bottom: 40px;
    }
    .mbms {
        margin-bottom: 30px;
    }
    .mbs {
        margin-bottom: 20px;
    }
    .mbxs {
        margin-bottom: 15px;
    }
    .mbxxs {
        margin-bottom: 10px;
    }

    /* margin-left */

    .mlxxl {
        margin-left: 120px;
    }
    .mlxl {
        margin-left: 100px;
    }
    .mll {
        margin-left: 80px;
    }
    .mlml {
        margin-left: 60px;
    }
    .mlm {
        margin-left: 40px;
    }
    .mlms {
        margin-left: 30px;
    }
    .mls {
        margin-left: 20px;
    }
    .mlxs {
        margin-left: 15px;
    }
    .mlxxs {
        margin-left: 10px;
    }
}

/*===================================
    padding sizing
===================================*/

/* padding all */

.pxxl {
    padding: 200px;
}
.pxl {
    padding: 160px;
}
.pl {
    padding: 120px;
}
.pml {
    padding: 100px;
}
.pm {
    padding: 80px;
}
.pms {
    padding: 60px;
}
.ps {
    padding: 40px;
}
.pxs {
    padding: 20px;
}
.pxxs {
    padding: 10px;
}

/* padding-top */

.ptxxl {
    padding-top: 200px;
}
.ptxl {
    padding-top: 160px;
}
.ptl {
    padding-top: 120px;
}
.ptml {
    padding-top: 100px;
}
.ptm {
    padding-top: 80px;
}
.ptms {
    padding-top: 60px;
}
.pts {
    padding-top: 40px;
}
.ptxs {
    padding-top: 20px;
}
.ptxxs {
    padding-top: 10px;
}

/* padding-right */

.prxxl {
    padding-right: 200px;
}
.prxl {
    padding-right: 160px;
}
.prl {
    padding-right: 120px;
}
.prml {
    padding-right: 100px;
}
.prm {
    padding-right: 80px;
}
.prms {
    padding-right: 60px;
}
.prs {
    padding-right: 40px;
}
.prxs {
    padding-right: 20px;
}
.prxxs {
    padding-right: 10px;
}

/* padding-bottom */

.pbxxl {
    padding-bottom: 200px;
}
.pbxl {
    padding-bottom: 160px;
}
.pbl {
    padding-bottom: 120px;
}
.pbml {
    padding-bottom: 100px;
}
.pbm {
    padding-bottom: 80px;
}
.pbms {
    padding-bottom: 60px;
}
.pbs {
    padding-bottom: 40px;
}
.pbxs {
    padding-bottom: 20px;
}
.pbxxs {
    padding-bottom: 10px;
}

/* padding-left */

.plxxl {
    padding-left: 200px;
}
.plxl {
    padding-left: 160px;
}
.pll {
    padding-left: 120px;
}
.plml {
    padding-left: 100px;
}
.plm {
    padding-left: 80px;
}
.plms {
    padding-left: 60px;
}
.pls {
    padding-left: 40px;
}
.plxs {
    padding-left: 20px;
}
.plxxs {
    padding-left: 10px;
}

@media screen and (max-width: 767px) {
    /* padding all */

    .pxxl {
        padding: 120px;
    }
    .pxl {
        padding: 100px;
    }
    .pl {
        padding: 80px;
    }
    .pml {
        padding: 60px;
    }
    .pm {
        padding: 40px;
    }
    .pms {
        padding: 30px;
    }
    .ps {
        padding: 20px;
    }
    .pxs {
        padding: 15px;
    }
    .pxxs {
        padding: 10px;
    }

    /* padding-top */

    .ptxxl {
        padding-top: 120px;
    }
    .ptxl {
        padding-top: 100px;
    }
    .ptl {
        padding-top: 80px;
    }
    .ptml {
        padding-top: 60px;
    }
    .ptm {
        padding-top: 40px;
    }
    .ptms {
        padding-top: 30px;
    }
    .pts {
        padding-top: 20px;
    }
    .ptxs {
        padding-top: 15px;
    }
    .ptxxs {
        padding-top: 10px;
    }

    /* padding-right */

    .prxxl {
        padding-right: 120px;
    }
    .prxl {
        padding-right: 100px;
    }
    .prl {
        padding-right: 80px;
    }
    .prml {
        padding-right: 60px;
    }
    .prm {
        padding-right: 40px;
    }
    .prms {
        padding-right: 30px;
    }
    .prs {
        padding-right: 20px;
    }
    .prxs {
        padding-right: 15px;
    }
    .prxxs {
        padding-right: 10px;
    }

    /* padding-bottom */

    .pbxxl {
        padding-bottom: 120px;
    }
    .pbxl {
        padding-bottom: 100px;
    }
    .pbl {
        padding-bottom: 80px;
    }
    .pbml {
        padding-bottom: 60px;
    }
    .pbm {
        padding-bottom: 40px;
    }
    .pbms {
        padding-bottom: 30px;
    }
    .pbs {
        padding-bottom: 20px;
    }
    .pbxs {
        padding-bottom: 15px;
    }
    .pbxxs {
        padding-bottom: 10px;
    }

    /* padding-left */

    .plxxl {
        padding-left: 120px;
    }
    .plxl {
        padding-left: 100px;
    }
    .pll {
        padding-left: 80px;
    }
    .plml {
        padding-left: 60px;
    }
    .plm {
        padding-left: 40px;
    }
    .plms {
        padding-left: 30px;
    }
    .pls {
        padding-left: 20px;
    }
    .plxs {
        padding-left: 15px;
    }
    .plxxs {
        padding-left: 10px;
    }
}

/*===================================
    border
===================================*/

/* border-color */

.bd-black {
    border-color: black !important;
}
.bd-gray {
    border-color: #66777f !important;
}
.bd-silver {
    border-color: #ccd4d7 !important;
}
.bd-white {
    border-color: white !important;
}
.bd-blue {
    border-color: #ffe699 !important;
}
.bd-aqua {
    border-color: #d7f1f4 !important;
}
.bd-lightaqua {
    border-color: #f5fbff !important;
}
.bd-green {
    border-color: #86cb00 !important;
}
.bd-yellow {
    border-color: yellow !important;
}
.bd-orange {
    border-color: orange !important;
}
.bd-red {
    border-color: red !important;
}
.bd-pink {
    border-color: #e2c2bf !important;
}

/*===================================
    border round
===================================*/

.rounded {
    border-radius: 0.25em;
}

/*===================================
    font color
===================================*/

.black {
    color: black !important;
}
.gray {
    color: #848c95 !important;
}
.silver {
    color: #ccd4d7 !important;
}
.white {
    color: white !important;
}
.blue {
    color: #ffe699 !important;
}
.green {
    color: #85cb00 !important;
}
.yellow {
    color: yellow !important;
}
.orange {
    color: #f2dc6b !important;
}
.red {
    color: #f73e1a !important;
}
.gold {
    color: #dcb975 !important;
}
.purple {
    color: #e64e6c !important;
}

/*===================================
    bg color
===================================*/

.bg-black {
    background-color: black !important;
}
.bg-darkgray {
    background-color: #202020 !important;
}
.bg-gray {
    background-color: #f5f5f5 !important;
}
.bg-silver {
    background-color: #ccd4d7 !important;
}
.bg-white {
    background-color: white !important;
}
.bg-blue {
    /*     background-color: #3abfe5 !important; */
    background-color: #1fc9f9 !important;
}
.bg-aqua {
    /*     background-color: #c9ecf0 !important; */
    background: linear-gradient(to bottom, #1bc7f9 0%, #0cd4f3 83%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#7feeff+2,1bc7f9+100 */
    background: linear-gradient(to bottom, #7feeff 2%, #1bc7f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    background: linear-gradient(to bottom, #ffedb7 0%, #ffe699 100%);
}
.bg-lightaqua {
    background-color: #e4f5f7 !important;
}
.bg-skyblue {
    background-color: #b4e5ff !important;
}
.bg-green {
    background-color: #86cb00 !important;
}
.bg-yellow {
    background-color: #fff1c7 !important;
}
.bg-lightyellow {
    background-color: #fffcec !important;
}
.bg-orange {
    background-color: #ffd9a6 !important;
}
.bg-lightorange {
    background-color: #fff7ed !important;
}
.bg-red {
    background-color: #e50012 !important;
}
.bg-pink {
    background-color: #f8f3f0 !important;
}
.bg-purple {
    background-color: #e64e6c !important;
}
.bg-brown {
    background-color: #8c441b !important;
}
.bg-light-brown {
    background-color: #f3ece8 !important;
}

/* add */

.bg-triangle-half {
    position: relative;
    width: 100%;
    height: 100%;
    background: linear-gradient(118deg, rgba(255, 255, 255, 1) 50%, rgba(249, 249, 249, 1) 50%);
}

/*===================================
    border color
===================================*/

.bd-black {
    border-color: black !important;
}
.bd-gray {
    border-color: #ccc !important;
}
.bd-white {
    border-color: white !important;
}
.bd-blue {
    border-color: #45bfff !important;
}
.bd-green {
    border-color: green !important;
}
.bd-yellow {
    border-color: yellow !important;
}
.bd-orange {
    border-color: orange !important;
}
.bd-red {
    border-color: #e50012 !important;
}
.bd-purple {
    border-color: #e64e6c !important;
}

/*===================================
    card
===================================*/

/* .card-list > div{
    display: flex;
} */
.card {
    position: relative;
    background: #fff;
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    text-decoration: none;
    height: 100%;
    flex-direction: column;
}
.card:hover {
    color: initial;
}

/* layout */

.card .card-body {
    padding: 30px;
}
.card .card-body p {
    margin: 10px 0 0;
    padding: 0;
}
.card .card-body p:first-child,
.card .card-body .card-title:first-child {
    margin-top: 0;
}
.card .card-footer {
    margin-top: auto;
    padding: 0 30px 30px;
}

/* element */

.card .image {
    overflow: hidden;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
}
.card .image::before {
    content: '';
    display: block;
    padding-top: 55%;
}
.card .image img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
}

/*===================================
    table scroll
===================================*/

@media screen and (max-width: 767px) {
    .tbl-scroll-x {
        overflow-x: scroll;
        overflow-y: hidden;
    }
}

/*===================================
    responsive states
===================================*/

.sp {
    display: none !important;
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}

/*===================================
    clearfix
===================================*/

.cf:before,
.cf:after {
    content: ' ';
    display: table;
}
.cf:after {
    clear: both;
}

/*===================================
    overlay
===================================*/

.overlay::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: '';
    background: rgba(0, 0, 0, 0.4);
}

/*===================================
    over
===================================*/

/* over */

.over:hover {
    transition: opacity 300ms 0s ease;
    opacity: 0.5;
    filter: alpha(opacity=70);
    -ms-filter: 'alpha(opacity=70)';
}

/* zoom-over */

.zoom-over {
    width: 100%;
    overflow: hidden;
    display: block;
}
.zoom-over > .zoom {
    width: 100%;
    /* transition: all 0.3s linear !important; */
    transition: all, 0.5s;
}
.zoom-over:hover > .zoom {
    transform: scale(1.2);
    cursor: pointer;
}

/* black-over */

.black-over::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: '';
    transition: opacity, 0.3s;
    opacity: 0;
    background: rgba(0, 0, 0, 0.6);
}
.black-over:hover::after {
    opacity: 1;
}

/* hover-gradation */

.hover-gradation {
    position: relative;
}
.hover-gradation::before,
.hover-gradation::after {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    content: '';
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    opacity: 0;
}
.hover-gradation::before {
    background: #004b83; /* Old browsers */
    background: linear-gradient(to right, #004b83 0%, #0068b5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    transition: opacity 350ms cubic-bezier(0.165, 0.84, 0.44, 1), width 350ms cubic-bezier(0.165, 0.84, 0.44, 1);
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
}
.hover-gradation::after {
    line-height: 1;
    content: 'MORE';
    font-family: 'Oswald', sans-serif;
    color: #fff;
    letter-spacing: 5px;
    left: calc(50% - 24px);
    top: calc(50% - 6px);
    transition: opacity 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.hover-gradation:hover::before {
    opacity: 0.8;
    width: 100%;
}
.hover-gradation:hover::after {
    opacity: 1;
    transition-delay: 200ms;
}

@media screen and (max-width: 767px) {
    .hover-gradation::before,
    .hover-gradation::after {
        display: none;
    }
}

/* hover-oscar */

.hover-oscar {
    position: relative;
}
.hover-oscar:hover > *::before {
    opacity: 0.8;
    transform: scale(1);
}
.hover-oscar > *::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid #fff;
    content: '';
    transform: scale(0.55);
    transition: opacity 0.55s, transform 0.55s;
    opacity: 0;
    width: 92%;
    height: 86%;
    margin: auto;
    right: 0;
}

/*

    Module

*/
/*===================================
    ttl
===================================*/
.content h2 {
    line-height: 0.9em;
    line-height: 1.3;
    position: relative;
    text-align: center;
}

.content .content-sub-title {
    font-size: 20px;
    font-weight: bold;
    margin-top: 20px;
    text-align: center;
    color: red;
}

/*===================================
    color
===================================*/
.c-white {
    color: #fff;
}
.c-gold {
    color: #ffd741;
}
.c-light-brown {
    color: #fee89c;
}
.c-brown {
    color: #4b3624;
}
.c-crowne {
    color: #830051 !important;
}
.c-gray {
    color: #766c5c !important;
}

/*===================================
    content
===================================*/
.content {
    position: relative;
    padding: 40px 0 40px;
}

.content-inner {
    position: relative;
    width: 1000px;
    margin: 0 auto;
}

.content-header {
    margin-bottom: 20px;
}

/*===================================
    catch-box
===================================*/

.catch-box {
    position: relative;
    background-color: #c1871b;
    background-image: url(../images/img_title_bg.jpg);
    background-repeat: repeat-x;
    background-position: center center;
    /* overflow: hidden; */
}
.catch-box-snow {
    position: relative;
    background-image: url(../images/img_header_snow02.png);
    background-repeat: repeat-x;
    background-position: center -34px;
    /* overflow: hidden; */
}
.catch-box-snow::before {
    position: absolute;
    top: -17px;
    right: 0;
    left: 0;
    display: block;
    /* width: 1270px; */
    width: 100%;
    height: 66px;
    margin: auto;
    content: '';
    background: url(../images/img_header_snow01.png) repeat-x center 0;
}
.catch-box .content-inner {
    padding: 90px 0 40px;
}
.catch-box::before {
    position: absolute;
    left: -1090px;
    top: 30px;
    display: block;
    width: 210px;
    height: 380px;
    content: '';
    background: url(../images/img_title_snow01.png) no-repeat left top;
    background-size: cover;
    right: 0;
    margin: auto;
}
.catch-box::after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 210px;
    height: 314px;
    margin: auto;
    content: '';
    background: url(../images/img_title_snow02.png) no-repeat left bottom;
    background-size: cover;
    right: -990px;
}

/*===================================
    ui-card
===================================*/
.card-list .card-item {
    position: relative;
    display: block;
    background: #fff;
}
.card-list .card-item .card-item-inner {
    padding: 15px 20px 20px;
}
.card-list .card-item .ttl {
    line-height: 1.3;
    margin: 0;
}
.card-list .card-item .image {
    margin: 0;
}
.card-list .card-item .image img {
    width: 100%;
    height: auto;
}
.card-list .card-item .card-item .description {
    margin: 15px 0 0;
}

/*===================================
    h1
===================================*/

h1.title {
    max-width: 1060px;
    z-index: 2;
}

@media screen and (max-width: 767px) {
    h1.title {
        max-width: 95%;
        padding: 0 20px;
    }
}

.slick-slider,
.slick-list,
.slick-track {
    height: 100%;
}

/* スライダー全体 */
.slider2 {
    position: relative;
    /*   position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  background-color: #000;
  z-index: 1; */
}
.hero::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #000;
    z-index: 1;
    opacity: 0.2;
}
.slider2 .image {
    width: 100%;
    height: 100%;
}
.slider2 .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transform: scale(1.1);
}
.slider2 .slick-current img {
    animation: mainVisual 6s cubic-bezier(0.32, 0.32, 0.63, 0.63) forwards;
}
@keyframes mainVisual {
    0% {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    to {
        -webkit-transform-origin: center;
        transform-origin: center;
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
}

/* スライダー全体 */
.slider {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    background-color: #000;
    z-index: 1;
}

/* スライダー画像 */
.slider .image {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/*
  ①スライド画像
  表示する画像を定義
*/
.slider .image:nth-of-type(1) {
    background-image: url(../images/img_hero_01.jpg);
}
.slider .image:nth-of-type(2) {
    animation-delay: 5s;
    background-image: url(../images/img_hero_02.jpg);
}
.slider .image:nth-of-type(3) {
    animation-delay: 10s;
    background-image: url(../images/img_hero_03.jpg);
}

/*
  ②アニメーション設定
  animation-durationのみ変更
*/
.slider .image {
    animation-name: anime;
    animation-delay: 0;
    animation-iteration-count: infinite;
    animation-duration: 15s; /* ①で設定したanimation-delayを合計を挿入 */
}

/* アニメーション定義 */
@keyframes anime {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: scale(1.18);
    }
}

/*===================================
    intro-box
===================================*/

.intro-box {
    line-height: 2;
    font-size: 16px;
    /*     background: url(../images/bg_beer.png) no-repeat center center; */
    background-size: cover;
}
/* .intro-box::after{
    height: 1px;
    width: 120px;
    content: '';
    display: block;
    background: #666666;
    margin: 80px auto 0;
} */

/*===================================
    plan-list
===================================*/

.availability-box .title {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
    color: rgb(217, 121, 4);
    letter-spacing: 2px;
}
.availability-box .calendar-box {
    padding: 0 80px;
}

@media screen and (max-width: 767px) {
    .availability-box .calendar-box {
        padding: 0 40px;
    }
    .availability-box .description {
        font-size: 12px;
    }
}

/*===================================
    plan-list
===================================*/

.plan-list .item {
    margin: 80px 0 0;
    display: flex;
    justify-content: space-between;
}
.plan-list .item .image,
.plan-list .item .body {
    width: 46%;
    text-align: left;
}
.plan-list .item:nth-child(even) .image {
    order: 2;
}
.plan-list .item:nth-child(even) .body {
    order: 1;
}
.plan-list .item .title {
    font-size: 26px;
    line-height: 1.5;
}
.plan-list .item .description {
    margin: 30px 0 0;
    font-size: 14px;
}
.plan-list .item .date {
    margin: 20px 0 0;
    font-size: 14px;
}
.plan-list .item .link {
    margin: 40px 0 0;
}
.plan-list .item .link .btn {
    padding: 15px;
    min-width: 224px;
}
@media screen and (max-width: 767px) {
    .plan-list .item {
        margin: 80px 0 0;
        flex-wrap: wrap;
    }
    .plan-list .item .image,
    .plan-list .item .body {
        width: 100%;
    }
    .plan-list .item:nth-child(even) .image {
        order: 1;
    }
    .plan-list .item:nth-child(even) .body {
        order: 2;
    }
    .plan-list .item .title {
        margin: 25px 0 0;
        font-size: 20px;
    }
    .plan-list .item .description {
        margin: 10px 0 0;
        font-size: 12px;
    }
    .plan-list .item .date {
        margin: 10px 0 0;
        font-size: 14px;
        font-size: 12px;
    }
    .plan-list .item .link {
        text-align: center;
        margin: 20px 0 0;
    }
    .plan-list .item .link .btn {
        padding: 15px;
        min-width: 224px;
    }
}

/*===================================
    scroll-box
===================================*/

.scroll-box {
    overflow: hidden;
}

/*===================================
    message-box
===================================*/

@keyframes border_anim {
    0% {
        width: 0%;
        height: 0%;
    }
    100% {
        width: 100%;
    }
}

.message-box {
    padding: 60px 0;
    line-height: 2;
    position: relative;
    overflow: hidden;
    background: url(../images/message_bg.png) no-repeat right bottom;
    background-attachment: fixed;
    background-size: cover;

    transition: all 1s ease;

    &.scroll {
        background-image: url(../images/message_bg_02.png);
        background-position: left;
    }

    .primary-message-box {
        border: 1px solid #ababab;
        padding: 100px;
    }

    .title {
        font-family: 'Kapakana', cursive;
        font-optical-sizing: auto;
        font-weight: 400;
        font-style: normal;
        text-align: center;
        font-size: 46px;

        &:after {
            content: '';
            display: block;
            width: 60px;
            height: 1px;
            background: #000;
            margin: 10px auto 0;
        }
    }

    .hotel-name {
        font-size: 20px;
        text-align: center;
        font-weight: bold;
        margin: 60px 0 0;
    }
    .catch {
        text-align: center;
        font-size: 102px;
        font-weight: bold;
        margin: 10px 0 40px;
        line-height: 1;
        font-family: 'Libre Caslon Text', serif;
        font-weight: 400;
    }
    .text {
        position: relative;
        text-align: center;

        & + .text {
            margin-top: 60px;
        }
    }

    .is-border {
        margin-top: 0;
        padding-top: 60px;
        margin: 40px 0px 0 !important;
    }
    .is-border:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 1px;
        height: 50px;
        background-color: #fff;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%, rgba(0, 0, 0, 1) 49%);
    }
    .is-message-top {
        margin-top: 100px !important;
    }
    .is-message-last {
        margin-top: 130px !important;
    }
}

@media (max-width: 768px) {
    .message-box {
        padding: 20px 0;
        /* background: #fff; */
        line-height: 2;
        background-attachment: initial;
        background-size: cover;
        background-position: right -450px bottom;

        &.scroll {
            background-image: url(../images/message_bg_02.png);
            background-position: left -150px bottom;
        }

        .primary-message-box {
            padding: 40px 15px;
            border-color: #f5f5f5;
        }

        .title {
            font-size: 32px;

            &:after {
                width: 30px;
            }
        }

        .hotel-name {
            font-size: 14px;
            margin: 30px 0 0;
        }
        .catch {
            font-size: 53px;
        }
        .text {
            text-align: center;
            font-size: 12px;

            & + .text {
                margin-top: 30px;
            }
        }
        .is-border {
            margin-top: 0;
            padding-top: 30px;
            margin: 10px 0px 0 !important;
        }
        .is-border:before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            margin: auto;
            width: 1px;
            height: 20px;
            background-color: #fff;
            background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%, rgba(0, 0, 0, 1) 49%);
        }
        .is-message-top {
            margin-top: 30px !important;
        }
        .is-message-last {
            margin-top: 60px !important;
        }
    }
}

/*===================================
    collage-box
===================================*/

.collage-box {
    padding: 100px 0;
    color: #fff;
    text-align: center;
    position: relative;
    /* height: 770px; */
    height: calc(100vh);
    background: rgb(251, 246, 233);
    padding: 0 0px 0;
    margin: 120px 0 0;
    min-height: 768px;

    &:before {
        /* background: #000; */
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 1) 25%, rgba(0, 0, 0, 0) 70%);
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        opacity: 0.3;
    }

    &:after {
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        opacity: 1;
        background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 70%);
        width: 100%;
        height: 100%;
    }

    .text-box {
        position: absolute;
        z-index: 9999;
        width: 200px;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 100%;
        height: 435px;
    }

    .hotel-name {
        font-size: 24px;
        text-align: center;
        font-weight: bold;
        width: 100%;

        &:after {
            content: '';
            display: block;
            width: 110px;
            height: 1px;
            background: #ffffff;
            margin: 10px auto 0;
        }
    }
    .catch {
        font-size: 242px;
        font-weight: bold;
        line-height: 1;
        margin: 40px 0 0;
        width: 100%;
        font-family: 'Libre Caslon Text', serif;
        font-weight: 400;
        font-style: normal;
        text-align: center;
        text-indent: -20px;
        text-shadow: 0px 0px 14px #1e1e1e;
    }
    .year {
        font-size: 68px;
        margin: -15px 0 0;
        line-height: 1;
        letter-spacing: 2px;
        width: 100%;
        font-family: 'Libre Caslon Text', serif;
        font-weight: 400;
        font-style: normal;
        text-indent: 4px;
        text-shadow: 0px 0px 14px #1e1e1e;
    }

    .video-box {
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 100%;
    }
    .video {
        position: absolute;
        top: 50%;
        left: 50%;
        min-width: 100%;
        min-height: 100%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}

@media (max-width: 768px) {
    .collage-box {
        margin: 60px 0 0;
        min-height: auto;

        .hotel-name {
            font-size: 14px;
        }
        .text-box {
            height: 205px;
        }
        .catch {
            font-size: 112px;
            margin: 20px 0 0;
        }
        .year {
            font-size: 22px;
            margin: -2px 0 0;
        }
        .video-box {
        }
        .video {
            position: absolute;
            /* top: 50%; */
            /* left: 50%; */
            /* min-width: 100%; */
            /* min-height: 100%; */
            /* -webkit-transform: translate(-50%, -50%); */
            -moz-transform: translate(-50%, -50%);
            /* transform: translate(-50%, -50%); */
            /* object-fit: cover; */
            width: 100%;
            min-height: 100vh;
        }
    }
}

/*===================================
    slide-box
===================================*/

.index-slide-block {
    padding: 0 0 30px;
}

.slideshow-container {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    position: relative;
    + .slideshow-container {
        margin-top: 10px;
    }
}

.slideshow-track {
    display: flex;
    width: max-content;
    animation: scroll 20s linear infinite;
}

.slideshow-track.is-left-to-right {
    animation: scroll 40s linear infinite;
}
.slideshow-track.is-right-to-left {
    animation: scroll2 40s linear infinite;
}
.is-old {
    width: 100%;
    height: 320px; /* 表示領域の高さ */
    background-image: url('../images/slide_old_img_01.png');
    background-repeat: no-repeat;
    background-position: left center; /* スタートは左端 */
    background-size: auto 100%; /* 高さを基準に原寸比で拡大縮小 */
    animation: scroll3 200s linear infinite;
    height: 410px;
}

.slide {
    flex-shrink: 0;
    margin-right: 10px;
    aspect-ratio: 534 / 397;
    height: 390px;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* border-radius: 8px; */
}

@media (max-width: 768px) {
    .slideshow-container {
        .slide {
            width: 275px;
        }

        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .slideshow-track.is-left-to-right,
    .slideshow-track.is-right-to-left {
        animation-duration: 22s;
    }
    .is-old {
        animation-duration: 220s;
    }
}

@keyframes scroll {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0);
    }
}
@keyframes scroll2 {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
@keyframes scroll3 {
    0% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/*===================================
    countdown-box
===================================*/

.countdown-box {
    padding: 100px 0;
    position: relative;
    overflow: hidden;
    /* height: 100vh; */
    /* min-height: 768px; */

    &::before {
        content: '';
        position: absolute;
        inset: 0;
        /* background-image: url('../images/hero_img.png'); */
        background-size: cover;
        background-position: bottom;
        /* filter: blur(2px) grayscale(1); */
        /* filter: grayscale(1); */
        /* filter: blur(3px); */
        z-index: -1;
        /* transform: scale(1.2); */
        background: #6d6d6d;
    }
    &::after {
        background: #000;
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        opacity: 0.3;
    }

    .countdown-primary-box {
        margin: auto;
        justify-content: center;
        display: flex;
        height: 100%;
        flex-direction: column;
    }
}

.countdown-box .countdown-title {
    font-size: 76px;
    font-weight: bold;
    text-align: center;
    font-size: 42px;
    color: #fff;
}
.countdown-box .countdown {
    display: flex;
    gap: 40px 10px;
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
    margin: 40px 0 0;
}
.countdown-box .countdown .number-box {
    padding: 20px;
    border-radius: 20px;
    min-width: 130px;
    font-family: 'Libre Caslon Text', serif;
    font-weight: 400;
    padding: 0;
    margin: 0;

    &.is-days {
        width: 100%;

        .number {
            font-size: 122px;
        }
        .sub {
            font-size: 30px;
        }
    }
}
.countdown-box .countdown .number {
    display: block;
    font-size: 60px;
    text-align: center;
    line-height: 1;
    color: #fff;
}
.countdown-box .countdown .sub {
    display: block;
    font-size: 16px;
    text-align: center;
    color: #fff;
    letter-spacing: 1px;
    margin: 10px 0 0;
}

@media (max-width: 768px) {
    .countdown-box {
        min-height: auto;
    }
    .countdown-box .countdown-title {
        font-size: 18px;
    }
    .countdown-box .countdown {
        gap: 30px 5px;
        margin: 10px 0 0;
    }
    .countdown-box .countdown .number-box {
        padding: 20px;
        border-radius: 20px;
        min-width: 100px;
        font-family: 'Libre Caslon Text', serif;
        font-weight: 400;
        padding: 0;
        margin: 0;

        &.is-days {
            width: 100%;

            .number {
                font-size: 90px;
            }
            .sub {
                font-size: 18px;
                margin: 0;
            }
        }
    }
    .countdown-box .countdown .number {
        display: block;
        font-size: 42px;
        text-align: center;
        line-height: 1;
        color: #fff;
    }
    .countdown-box .countdown .sub {
        display: block;
        font-size: 11px;
        text-align: center;
        color: #fff;
        letter-spacing: 1px;
        margin: 0px 0 0;
    }
}

/*===================================
    cake
===================================*/

.cake-block {
    background-color: #000;
    padding: 120px 0 0;
    color: #fff;

    .container {
        max-width: 1380px;
    }
    .note {
        margin: 0px auto 0;
        max-width: 1140px;
    }
    .split {
        display: flex;
        .image {
            position: relative;
            overflow: hidden;
            width: 50%;
            padding: 60px 20px;
        }
        .content {
            width: 50%;
            padding: 40px;

            .title {
                font-size: 50px;
                text-align: left;
            }
            .large {
                font-size: 30px;
                margin: 40px 0 0;
            }
            .description {
                margin: 40px 0 0;
            }
            .box-area {
                /* border: 1px solid #fff; */
                padding: 40px;
                margin: 60px 0 0;
                background: #373737;
            }
            .price {
                margin: 0 0 0;
            }
            .date {
                margin: 40px 0 0;
            }
        }
    }
}

/* レスポンシブ（上下へ） */
@media (max-width: 768px) {
    .cake-block {
        background-color: #000;
        padding: 50px 0 0;
        color: #fff;

        .container {
            max-width: 1380px;
        }
        .note {
            margin: 40px auto 0;
            max-width: 1140px;
            font-size: 12px;
        }
        .split {
            display: block;

            .image {
                position: relative;
                overflow: hidden;
                width: 100%;
                padding: 0;
            }
            .content {
                width: 100%;
                padding: 0;
                margin: 40px 0 0;

                .title {
                    font-size: 24px;
                    text-align: center;
                }
                .large {
                    font-size: 20px;
                    margin: 30px 0 0;
                    text-align: center;
                }
                .description {
                    font-size: 12px;
                    margin: 30px 0 0;
                    text-align: center;
                }
                .box-area {
                    padding: 20px;
                    margin: 35px 0 0;
                    font-size: 13px;
                }
                .price {
                    margin: 0 0 0;
                }
                .date {
                    margin: 40px 0 0;
                }
            }
        }
    }
}

/* ---------------------------------------------
    beergarden-table
--------------------------------------------- */

.beergarden-table thead th {
    background: #a1dde4;
    font-weight: 400;
    font-weight: bold;
    color: #fff;
    border-bottom: 1px #92afb3 solid;
}
.beergarden-table td,
.beergarden-table th {
    border-color: #92afb3;
}
.beergarden-table td {
    border-color: #92afb3;
    background: #e4f5f7;
}
.beergarden-table .end {
    background-color: #b4d7dc !important;
}

@media screen and (max-width: 767px) {
    .beergarden-table {
        height: auto !important;
    }
    .beergarden-table td,
    .beergarden-table th {
        font-size: 12px;
        padding: 10px 5px;
    }
}

/* ---------------------------------------------
    responsive
--------------------------------------------- */
.sizing {
    width: 100%;
    height: auto;
}

/*

    Contents

*/
/*===================================
    hero
===================================*/

.hero-box {
    position: relative;
    overflow: hidden;
    height: 680px;
    margin: 0;
    background-color: #f7f5f6;
}
.hero-box .content-inner {
    width: 1000px;
}
.hero-box .content-inner p:first-child {
    padding: 185px 0 0;
}
.hero-box p {
    margin: 0;
}
.hero-box .content-inner p.title-image {
    position: absolute;
    top: 380px;
    right: 0;
    width: 50%;
    height: auto;
    padding: 0;
}
.hero-box .restaurant {
    color: inherit;
    text-shadow: 0 1px 10px #645a33, 0 -1px 10px #645a33, 0 1px 10px #645a33, 0 -1px 10px #645a33;
}
.hero-box .title {
    font-size: 35px;
    font-weight: bold;
    line-height: 1.2;
    margin: 10px 0 0;
    color: inherit;
    text-shadow: 0 1px 13px #645a33, 0 -1px 13px #645a33, 0 1px 13px #645a33, 0 -1px 13px #645a33;
}
.hero-box .description {
    font-size: 20px;
    margin: 20px 0 0;
    color: inherit;
    text-shadow: 0 1px 8px #645a33, 0 -1px 8px #645a33, 0 1px 8px #645a33, 0 -1px 8px #645a33;
}
.hero-box .btn {
    margin: 60px 0 0;
}

.hero-box .slide-link {
    display: block;
    height: 680px;
}
.hero-box .slide-link:link,
.hero-box .slide-link:hover {
    color: #fff;
}

.hero-box .slide {
    height: 680px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}
.hero-box .slide01 {
    background-position: center 33%;
    background-image: url(../images/hero_img_index.jpg);
}
.hero-box .level36 {
    background-image: url(../images/hero_img_level36.jpg);
}
.hero-box .suzhou {
    background-image: url(../images/hero_img_suzhou.jpg);
}
.hero-box .terrace {
    background-image: url(../images/hero_img_terrace.jpg);
    background-position: center top;
}
.hero-box .lounge {
    background-image: url(../images/hero_img_lounge.jpg);
    background-position: right center;
}
.hero-box .stay {
    background-image: url(../images/hero_img_stay.jpg);
}
.hero-box .osechi {
    background-image: url(../images/hero_img_osechi.jpg);
}
.hero-box .christmas-cake {
    background-image: url(../images/hero_img_christmas_cake.jpg);
}
.hero-box .new-year-buffet {
    background-image: url(../images/hero_img_new_year_buffet.jpg);
}

.snowfall-flakes {
    /* box-shadow: 3px 1px 3px #fff, -3px -1px 3px #fff; */
}
.slick-prev {
    font-size: 0;
    line-height: 0;
    position: absolute;
    z-index: 5000;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 60px;
    height: 60px;
    margin: auto;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: rgba(255, 255, 255, 0);
}
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: block;
    width: 60px;
    height: 60px;
    margin: auto;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: rgba(255, 255, 255, 0);
}
.service-list .slick-next,
.service-list .slick-prev {
    background: rgba(255, 255, 255, 0.65);
}
.slick-prev:before {
    top: -1px;
    left: -2px;
    content: '\f104 ';
}
.slick-next:before {
    top: -1px;
    left: 3px;
    content: '\f105 ';
}
.slick-prev:before,
.slick-next:before {
    font-family: FontAwesome;
    font-size: 36px;
    font-weight: normal;
    line-height: 1;
    position: relative;
    opacity: 0.75;
    color: #c1b7af;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* .slick-prev:hover,
.slick-next:hover {
    background: rgba(255,255,255,1);
} */

/* drawer */

.drawer-hamburger {
    padding-top: 20px;
    padding-right: 15px;
    padding-bottom: 25px;
    padding-left: 15px;
    /* background-color: rgba(54,30,4,.80); */
}
.drawer-open .drawer-hamburger {
    background: none;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
    background-color: #fff;
}

.drawer-nav {
    background-color: rgba(2, 81, 89, 0.8);
}
.drawer-dropdown.open .drawer-caret:before,
.drawer-dropdown .drawer-caret:before,
.drawer-dropdown .drawer-caret:after {
    background-color: #fff;
}
.drawer-menu li {
    font-size: 14px;
    border-top: 1px solid #fff;
}
.drawer-menu li:first-child {
    border-top: 0 solid #fff;
}
.drawer-menu li a {
    display: block;
    /* margin: 0; */
    padding: 20px;
    color: #fff;
}
.drawer-dropdown-menu li {
    font-size: 12px;
    margin-left: -20px;
    border-top: 1px solid #b0a498;
}
.drawer-dropdown-menu li a {
    display: block;
    width: 100%;
    padding: 15px 20px;
    color: #fff;
    background: url(../images/common/ico_link.png) no-repeat #f0f0f0 97% center;
    background-color: #615243;
    background-size: 5px;
}
.toggle_list {
    display: inline-block;
    padding: 10px 10px 10px 0;
}

/*===================================
    tab
===================================*/

.tab-list {
    position: relative;
}
.tab-list .tab-slide {
    position: relative;
    display: flex;
    overflow-x: hidden;
    /*     overflow-y: hidden; */
    margin: auto;
    margin-bottom: 0;
    padding: 0 0 0 0;
    white-space: nowrap;
}
.tab-list .tab-item {
    font-size: 16px;
    position: relative;
    width: 12.5%;
    margin-left: 1px;
    padding: 13px 24px 13px;
    cursor: pointer;
    text-align: center;
    /*     border-top-left-radius: 4px; */
    /*     border-top-right-radius: 4px; */
    overflow-x: hidden;
    max-width: 100%;
    text-overflow: ellipsis;
    /* width: fit-content; */
    white-space: nowrap;
    color: #fff;
    background: #79cfd9;
    transition: all 300ms 0s ease;
    border-left: 1px solid #fff;
}
.tab-list .tab-item:hover {
    background: #f2dc6b;
}
.tab-list .tab-item:first-child {
    margin-left: 0;
}
.tab-list .tab-item.is-active {
    font-weight: bold;
    color: #fff;
    background-color: #f2dc6b;
}
.tab-list .tab-item.is-notification::after {
    content: '';
    display: block;
    border-radius: 20px;
    background: #ff8000;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    width: 10px;
    height: 10px;
}

.tab_box .tab-list {
    padding: 30px 0 0 0;
    border-right: 1px solid #ccc;
}
.tab-list .tab-item a:hover {
    border-bottom: 0 solid #ccc;
    background: #fefefe url(../../images/ico_arrow_blue_right.gif) no-repeat 10px center;
}

.tab-arrow {
    position: absolute;
    z-index: 10;
    top: 0;
    display: none;
    display: flex;
    width: 50px;
    height: 100%;
    cursor: pointer;
    background: #eee;

    align-items: center;
    justify-content: center;
}
.tab-arrow i {
    font-size: 28px;
}
.tab-next {
    right: 0;
    background: linear-gradient(90deg, rgba(238, 238, 238, 0) 0%, rgba(238, 238, 238, 1) 15%);
}
.tab-prev {
    left: 0;
    background: linear-gradient(90deg, rgba(238, 238, 238, 1) 85%, rgba(238, 238, 238, 0) 100%);
}

.tab-content-list .tab-content {
    /*     display: none; */
    opacity: 0;
    visibility: hidden;
    transition: all 300ms 0s ease;
    height: 0;
    /*     background: #d7f1f4; */
}
.tab-content-list .tab-content.is-active {
    /*     display: block !important; */
    opacity: 1;
    visibility: visible;
    height: 100%;
}

@media screen and (max-width: 767px) {
    .tab-list .tab-slide {
        flex-wrap: wrap;
        border-right: 1px solid #fff;
    }
    .tab-list .tab-item {
        width: 50%;
        padding: 10px 24px;
        margin-left: 0;
        margin-bottom: 1px;
        font-size: 14px;
    }
}

/* ---------------------------------------------
    responsive
--------------------------------------------- */
.pc {
    display: block;
}

.sp {
    display: none;
}

/* ---------------------------------------------
    scroll
--------------------------------------------- */

.horizontal-scroll {
    position: relative;
    width: 100vw;
    overflow: hidden;
    margin: 0;
    padding: 0;
    height: 380px;
}
.horizontal-scroll-inner {
    overflow: hidden;
    height: 100%;
    white-space: nowrap;
    animation: scrollText 30s infinite linear;
    width: fit-content;
    display: flex;
}

.horizontal-scroll span {
    display: inline-block;
    height: 100%;
}
.horizontal-scroll span img {
    object-fit: cover;
    height: 100%;
    width: 480px;
    padding: 3px 2px;
    object-position: top;
    max-width: none;
}

@keyframes scrollText {
    from {
        transform: translateX(0%);
    }
    to {
        /*     transform: translateX(-50%); */
        transform: translateX(-50%);
    }
}

@media (max-width: 768px) {
    .horizontal-scroll {
        height: 200px;
    }
    .horizontal-scroll span img {
        width: 170px;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 14px;
    }

    /*

        Layout

    */
    /* ---------------------------------------------
        header
    --------------------------------------------- */

    .site-header .header-navigation {
        float: right;
        margin: 32px 210px 0 0;
    }

    .site-header .header-navigation li {
        font-weight: bold;
        line-height: 1;
        float: left;
        margin-left: 15px;
        padding: 0 13px 0 0;
        color: #fff;
        background: url(../images/ico_dropdown01.png) no-repeat right 6px;
        background-size: 8px auto;
    }
    .site-header .header-navigation li:first-child {
        margin-left: 0;
    }

    .site-header .header-navigation li a {
        font-size: 14px;
        color: #fff;
    }

    .site-header .header-utility {
        font-size: 12px;
        position: absolute;
        top: 21px;
        right: 0;
        padding: 10px 20px;
        border-radius: 50px;
        background: #fff;
    }
    .site-header .header-utility li {
        font-weight: bold;
        float: left;
        padding: 0 0 0 18px;
        color: #c1ab73;
    }
    .site-header .header-utility li.access {
        background: url(../images/ico_car01.png) no-repeat left 2px;
        background-size: 14px auto;
    }
    .site-header .header-utility li.english {
        margin: 0 0 0 14px;
        background: url(../images/ico_earth01.png) no-repeat left 2px;
        background-size: 14px auto;
    }
    .site-header .header-utility a,
    .site-header .header-utility a:link {
        text-decoration: none;
        color: #c1ab73;
    }
    .site-header .header-utility a:hover {
        text-decoration: underline;
    }

    /* ---------------------------------------------
        footer
    --------------------------------------------- */
    .site-footer .footer-inner {
        position: relative;
        width: 100%;
        margin: 0 auto;
    }
    .site-footer .footer-navigation ul {
        margin-top: 30px;
    }

    .site-footer .footer-navigation ul li {
        margin-top: 10px;
    }

    .site-footer .footer-navigation ul li:first-child {
        margin-top: 0;
    }

    .site-footer a:link {
        color: #fff;
    }
    .site-footer a:hover {
        text-decoration: underline;
    }

    /* footer-content-box */

    .footer-content-box {
        padding: 40px 0;
        /* background-size: auto 225px; */
        /*         background: url(../images/bg_content_snow01.png) no-repeat center 35px; */
        background-size: 690px auto;
    }
    .footer-content-box .follow-text {
        width: 155px;
    }

    /* footer-sns-box */

    .footer-sns-box {
        background-size: 26px auto;
    }
    .footer-sns-box li {
        width: 35px;
    }
    .footer-sns-box li.instagram {
        padding-left: 80px;
    }

    /* footer-banner-box */

    .footer-banner-box {
        margin: 40px 0 0;
        text-align: center;
    }
    .footer-banner-box li {
        display: block;
        box-sizing: border-box;
        max-width: 300px;
        margin: 0 auto;
        padding: 0 20px 0;
        text-align: center;
    }
    .footer-banner-box li.mail {
        margin-top: 10px;
        margin-left: auto;
    }

    /* footer-navigation-box */

    .footer-navigation-box {
        background-color: #fff;
    }

    .site-footer .footer-navigation {
        padding: 20px 20px 0;
    }
    .site-footer .footer-navigation li {
        margin: 10px 20px;
        padding: 0;
    }
    .site-footer .footer-navigation li a {
        font-size: 12px;
    }
    .site-footer .footer-navigation li:first-child {
        margin-left: 20px;
    }

    /* footer-address-box */

    .footer-address-box {
    }
    .footer-address-box::before {
        display: block;
        width: 100%;
        height: 40px;
        margin: 0 auto;
        content: '';
        background: url(../images/img_footer_snow01.png) no-repeat center 11px;
        background-size: 700px auto;
    }
    .footer-address {
        font-size: 12px;
        margin: 20px 20px 0;
        padding: 0 0 0;
        text-align: left;
    }
    .footer-address-box .copyright {
        font-size: 12px;
        padding: 20px 20px;
    }

    /* ---------------------------------------------
        common
    --------------------------------------------- */
    .hero-box .slide-link:hover .btn {
        background: none;
    }

    #pagetop {
        position: fixed;
        z-index: 9999;
        right: 50px;
        bottom: 25px;
        display: none;
    }

    #pagetop img {
        width: 75px;
        height: auto;
    }

    /*

        Module

    */
    /*===================================
        ttl
    ===================================*/
    .content h2 {
        font-size: 24px;
    }

    /*===================================
        content
    ===================================*/
    .content {
        position: relative;
        padding: 20px 0;
    }

    .content-inner {
        position: relative;
        box-sizing: border-box;
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
    }

    .content-header {
        margin-bottom: 20px;
    }

    /*===================================
        catch-box
    ===================================*/
    .catch-box {
        position: relative;
        background-image: url(../images/img_title_bg.jpg);
        background-repeat: repeat-y;
        background-position: center -17px;
        background-size: 500% auto;
    }
    .catch-box::before {
        position: absolute;
        left: -1090px;
        top: 30px;
        display: none;
        width: 210px;
        height: 380px;
        content: '';
        background: url(../images/img_title_snow01.png) no-repeat left top;
        background-size: cover;
        right: 0;
        margin: auto;
    }
    .catch-box::after {
        position: absolute;
        bottom: 0;
        left: 0;
        display: none;
        width: 210px;
        height: 314px;
        margin: auto;
        content: '';
        background: url(../images/img_title_snow02.png) no-repeat left bottom;
        background-size: cover;
        right: -990px;
    }
    .catch-box-snow::before {
        background-size: auto 40px;
        top: -6px;
    }
    .catch-box p,
    .deco-text-box p {
        text-align: left;
    }
    .catch-box p br,
    .deco-text-box p br {
        display: none;
    }
    .catch-box .content-inner {
        padding: 60px 20px 20px;
    }
    .catch-box .content-inner::before {
        top: 70px;
        left: -10px;
        width: 45px;
        background-size: 45px auto;
    }
    .catch-box .content-inner::after {
        top: 80px;
        right: 10px;
        width: 45px;
        margin: 0;
        background-size: 45px auto;
    }

    /*

        Contents

    */
    /*===================================
        hero
    ===================================*/
    .hero-box {
        position: relative;
        margin: 0;
        background-color: #f7f5f6;
    }
    .hero-box .content-inner {
        width: 100%;
    }
    .hero-box .content-inner p.title-image {
        padding: 0 0 0 0;
    }
    .hero-box p {
        margin: 0;
    }
    .hero-box .content-inner p.title-image {
        position: absolute;
        /* top: 40%; */
        top: auto;
        left: auto;
        width: 60%;
        max-width: 400px;
        height: auto;
        bottom: 5%;
        margin: auto;
        right: 10px;
    }
    .hero-box .slide01 {
        background-image: url(../images/hero_img_index_sp.jpg);
    }
    .hero-box .slide01 .title {
        font-size: 15px;
        line-height: 1.5;
        position: absolute;
        top: 130px;
        color: #fff;
        color: #967f69;
    }
    .hero-box .slide.terrace {
        background-position: -20px 0;
    }
    .hero-box .slide.lounge {
        background-position: right center;
    }
    .hero-box .slide.lounge .title span {
        font-size: 14px !important;
    }
    .hero-box .content-inner p:first-child {
        padding: 70px 0 0 0;
    }
    .hero-box .restaurant {
        font-size: 12px;
        font-weight: bold;
    }
    .hero-box .title {
        font-size: 20px;
        font-weight: bold;
        line-height: 1.2;
        margin: 5px 0 0;
        color: inherit;
    }
    .hero-box .description {
        font-size: 10px;
        margin: 10px 0 0;
        color: inherit;
    }
    .hero-box .btn {
        font-size: 12px;
        /* position: absolute; */
        /* bottom: 25px; */
        display: block;
        width: 320px;
        margin: 20px 0 0;
        padding: 0 0 10px;
        text-align: left;
        background: none;
        box-shadow: none;
        /* border: 1px solid #FFF; */
        text-shadow: 0 1px 2px #645a33, 0 -1px 2px #645a33, 0 1px 2px #645a33, 0 -1px 2px #645a33;
    }

    .hero-box {
        height: 300px;
    }
    .hero-box .slide {
        position: relative;
        background-repeat: no-repeat;
        background-position: center bottom;
        background-size: cover;
        height: 300px;
    }
    .hero-box .content-inner {
        height: 300px;
    }

    /*===================================
        service-box
    ===================================*/
    .service-box {
        background: url(../images/servce_bg.jpg) repeat-y right top;
        background-size: cover;
    }
    .service-box .content-inner {
        padding: 40px 20px 20px;
        overflow: hidden;
    }
    .service-box .content-inner h2::before {
        top: 30px;
        right: 0;
        left: -350px;
        width: 114px;
        background-size: 114px auto;
    }
    .service-box .content-inner h2::after {
        top: 100px;
        right: -300px;
        /* left: 400px; */
        width: 110px;
        margin: auto;
        background-size: 105px auto;
    }
    .service-box .card-list {
        margin: 0;
    }
    .service-box .card-item {
        width: 47.5%;
        margin: 20px 0 0 5%;
    }
    .card-list .card-item .card-item-inner {
        padding: 10px;
    }
    .service-box .card-item:nth-child(3n + 1) {
        margin-left: 5%;
    }
    .service-box .card-item:first-child,
    .service-box .card-item:nth-child(2n + 1) {
        margin-left: 0;
    }
    .service-box .card-item .category {
        font-size: 10px;
    }
    .service-box .card-item .ttl {
        font-size: 12px;
    }
    .service-box .card-item .price {
    }
    .service-box .card-item .restaurant {
        font-size: 10px;
    }
    .service-box .card-item .btn {
        min-width: 100%;
    }

    /*===================================
        deco-box
    ===================================*/
    .deco-box {
        min-height: 400px;
    }
    .deco-box {
        min-height: 400px;
    }

    .snowfall-flakes {
        /* box-shadow: 3px 1px 3px #fff, -3px -1px 3px #fff; */
    }

    .service-list .btn-primary::before {
        text-shadow: 0 0 0 #fff;
    }

    /* ---------------------------------------------
      responsive
    --------------------------------------------- */
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .slick-prev,
    .slick-next {
        top: 40px;
        width: 40px;
        height: 40px;
        background: none;
    }
    .slick-prev:before,
    .slick-next:before {
        font-size: 24px;
    }
}

/*



    03-03 Utility

===================================*/

/*===================================
    align
===================================*/

/* text-align */

.tac {
    text-align: center !important;
}
.tal {
    text-align: left !important;
}
.tar {
    text-align: right !important;
}

/* vertical-align */

.vabl {
    vertical-align: baseline !important;
}
.vat {
    vertical-align: top !important;
}
.vam {
    vertical-align: middle !important;
}
.vab {
    vertical-align: bottom !important;
}

/*===================================
    typography
===================================*/

.fwb {
    font-weight: 900 !important;
}
.fwn {
    font-weight: normal !important;
}
.fwi {
    font-style: italic !important;
}

.wsn {
    white-space: nowrap !important;
}
.wwbw {
    word-wrap: break-word !important;
}

/* line-height */

.lhxl {
    line-height: 2 !important;
}
.lhl {
    line-height: 1.7 !important;
}
.lhm {
    line-height: 1.5 !important;
}
.lhs {
    line-height: 1.2 !important;
}
.lhxs {
    line-height: 1 !important;
}

.lh2 {
    line-height: 2 !important;
}
.lh19 {
    line-height: 1.9 !important;
}
.lh18 {
    line-height: 1.8 !important;
}
.lh17 {
    line-height: 1.7 !important;
}
.lh16 {
    line-height: 1.6 !important;
}
.lh15 {
    line-height: 1.5 !important;
}
.lh14 {
    line-height: 1.4 !important;
}
.lh13 {
    line-height: 1.3 !important;
}
.lh12 {
    line-height: 1.2 !important;
}
.lh11 {
    line-height: 1.1 !important;
}
.lh1 {
    line-height: 1 !important;
}

.lsn {
    list-style: none !important;
}
.tdn {
    text-decoration: none !important;
}
.tdu {
    text-decoration: underline !important;
}

.list-reset {
    list-style: none;
    padding-left: 0;
}

/*===================================
    border
===================================*/

/* border-width */

.bd {
    border-style: solid;
    border-width: 1px;
}
.bdt {
    border-top-style: solid;
    border-top-width: 1px;
}
.bdr {
    border-right-style: solid;
    border-right-width: 1px;
}
.bdb {
    border-bottom-style: solid;
    border-bottom-width: 1px;
}
.bdl {
    border-left-style: solid;
    border-left-width: 1px;
}

/* border none */

.bd0 {
    border: none !important;
}
.bdt0 {
    border-top: none !important;
}
.bdr0 {
    border-right: none !important;
}
.bdb0 {
    border-bottom: none !important;
}
.bdl0 {
    border-left: none !important;
}

/*===================================
    layout
===================================*/

/* display */

.dn {
    display: none !important;
}
.di {
    display: inline !important;
}
.db {
    display: block !important;
}
.dib {
    display: inline-block !important;
}
.dt {
    display: table !important;
}
.dtc {
    display: table-cell !important;
}
.df {
    display: flex !important;
}

/* overflow */

.oh {
    overflow: hidden !important;
}
.os {
    overflow: scroll !important;
}
.oa {
    overflow: auto !important;
}

/* clearfix */

.cf:before,
.cf:after {
    content: ' ';
    display: table;
}
.cf:after {
    clear: both;
}

/* float:  */

.fl {
    float: left !important;
}
.fr {
    float: right !important;
}

/* other  */

.fit {
    max-width: 100% !important;
}
.bsbb {
    box-sizing: border-box !important;
}

/*===================================
    margin number
===================================*/

/* margin all */

.m0 {
    margin: 0px !important;
}
.m5 {
    margin: 5px !important;
}
.m10 {
    margin: 10px !important;
}
.m15 {
    margin: 15px !important;
}
.m20 {
    margin: 20px !important;
}
.m25 {
    margin: 25px !important;
}
.m30 {
    margin: 30px !important;
}
.m35 {
    margin: 35px !important;
}
.m40 {
    margin: 40px !important;
}
.m45 {
    margin: 45px !important;
}
.m50 {
    margin: 50px !important;
}
.m55 {
    margin: 55px !important;
}
.m60 {
    margin: 60px !important;
}
.m65 {
    margin: 65px !important;
}
.m70 {
    margin: 70px !important;
}
.m75 {
    margin: 75px !important;
}
.m80 {
    margin: 80px !important;
}
.m85 {
    margin: 85px !important;
}
.m90 {
    margin: 90px !important;
}
.m95 {
    margin: 95px !important;
}
.m100 {
    margin: 100px !important;
}
.m110 {
    margin: 110px !important;
}
.m120 {
    margin: 120px !important;
}
.m130 {
    margin: 130px !important;
}
.m140 {
    margin: 140px !important;
}
.m150 {
    margin: 150px !important;
}
.m160 {
    margin: 160px !important;
}
.m170 {
    margin: 170px !important;
}
.m180 {
    margin: 180px !important;
}
.m190 {
    margin: 190px !important;
}
.m200 {
    margin: 200px !important;
}

/* margin-top */

.mt0 {
    margin-top: 0px !important;
}
.mt5 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt35 {
    margin-top: 35px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt45 {
    margin-top: 45px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt55 {
    margin-top: 55px !important;
}
.mt60 {
    margin-top: 60px !important;
}
.mt65 {
    margin-top: 65px !important;
}
.mt70 {
    margin-top: 70px !important;
}
.mt75 {
    margin-top: 75px !important;
}
.mt80 {
    margin-top: 80px !important;
}
.mt85 {
    margin-top: 85px !important;
}
.mt90 {
    margin-top: 90px !important;
}
.mt95 {
    margin-top: 95px !important;
}
.mt100 {
    margin-top: 100px !important;
}
.mt110 {
    margin-top: 110px !important;
}
.mt120 {
    margin-top: 120px !important;
}
.mt130 {
    margin-top: 130px !important;
}
.mt140 {
    margin-top: 140px !important;
}
.mt150 {
    margin-top: 150px !important;
}
.mt160 {
    margin-top: 160px !important;
}
.mt170 {
    margin-top: 170px !important;
}
.mt180 {
    margin-top: 180px !important;
}
.mt190 {
    margin-top: 190px !important;
}
.mt200 {
    margin-top: 200px !important;
}

/* margin-right */

.mr0 {
    margin-right: 0px !important;
}
.mr5 {
    margin-right: 5px !important;
}
.mr10 {
    margin-right: 10px !important;
}
.mr15 {
    margin-right: 15px !important;
}
.mr20 {
    margin-right: 20px !important;
}
.mr25 {
    margin-right: 25px !important;
}
.mr30 {
    margin-right: 30px !important;
}
.mr35 {
    margin-right: 35px !important;
}
.mr40 {
    margin-right: 40px !important;
}
.mr45 {
    margin-right: 45px !important;
}
.mr50 {
    margin-right: 50px !important;
}
.mr55 {
    margin-right: 55px !important;
}
.mr60 {
    margin-right: 60px !important;
}
.mr65 {
    margin-right: 65px !important;
}
.mr70 {
    margin-right: 70px !important;
}
.mr75 {
    margin-right: 75px !important;
}
.mr80 {
    margin-right: 80px !important;
}
.mr85 {
    margin-right: 85px !important;
}
.mr90 {
    margin-right: 90px !important;
}
.mr95 {
    margin-right: 95px !important;
}
.mr100 {
    margin-right: 100px !important;
}
.mr110 {
    margin-right: 110px !important;
}
.mr120 {
    margin-right: 120px !important;
}
.mr130 {
    margin-right: 130px !important;
}
.mr140 {
    margin-right: 140px !important;
}
.mr150 {
    margin-right: 150px !important;
}
.mr160 {
    margin-right: 160px !important;
}
.mr170 {
    margin-right: 170px !important;
}
.mr180 {
    margin-right: 180px !important;
}
.mr190 {
    margin-right: 190px !important;
}
.mr200 {
    margin-right: 200px !important;
}

/* margin-bottom */

.mb0 {
    margin-bottom: 0px !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb35 {
    margin-bottom: 35px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb45 {
    margin-bottom: 45px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb55 {
    margin-bottom: 55px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb65 {
    margin-bottom: 65px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}
.mb75 {
    margin-bottom: 75px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mb85 {
    margin-bottom: 85px !important;
}
.mb90 {
    margin-bottom: 90px !important;
}
.mb95 {
    margin-bottom: 95px !important;
}
.mb100 {
    margin-bottom: 100px !important;
}
.mb110 {
    margin-bottom: 110px !important;
}
.mb120 {
    margin-bottom: 120px !important;
}
.mb130 {
    margin-bottom: 130px !important;
}
.mb140 {
    margin-bottom: 140px !important;
}
.mb150 {
    margin-bottom: 150px !important;
}
.mb160 {
    margin-bottom: 160px !important;
}
.mb170 {
    margin-bottom: 170px !important;
}
.mb180 {
    margin-bottom: 180px !important;
}
.mb190 {
    margin-bottom: 190px !important;
}
.mb200 {
    margin-bottom: 200px !important;
}

/* margin-left */

.ml0 {
    margin-left: 0px !important;
}
.ml5 {
    margin-left: 5px !important;
}
.ml10 {
    margin-left: 10px !important;
}
.ml15 {
    margin-left: 15px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.ml25 {
    margin-left: 25px !important;
}
.ml30 {
    margin-left: 30px !important;
}
.ml35 {
    margin-left: 35px !important;
}
.ml40 {
    margin-left: 40px !important;
}
.ml45 {
    margin-left: 45px !important;
}
.ml50 {
    margin-left: 50px !important;
}
.ml55 {
    margin-left: 55px !important;
}
.ml60 {
    margin-left: 60px !important;
}
.ml65 {
    margin-left: 65px !important;
}
.ml70 {
    margin-left: 70px !important;
}
.ml75 {
    margin-left: 75px !important;
}
.ml80 {
    margin-left: 80px !important;
}
.ml85 {
    margin-left: 85px !important;
}
.ml90 {
    margin-left: 90px !important;
}
.ml95 {
    margin-left: 95px !important;
}
.ml100 {
    margin-left: 100px !important;
}
.ml110 {
    margin-left: 110px !important;
}
.ml120 {
    margin-left: 120px !important;
}
.ml130 {
    margin-left: 130px !important;
}
.ml140 {
    margin-left: 140px !important;
}
.ml150 {
    margin-left: 150px !important;
}
.ml160 {
    margin-left: 160px !important;
}
.ml170 {
    margin-left: 170px !important;
}
.ml180 {
    margin-left: 180px !important;
}
.ml190 {
    margin-left: 190px !important;
}
.ml200 {
    margin-left: 200px !important;
}

/*===================================
    padding number
===================================*/

/* padding all */

.p0 {
    padding: 0px !important;
}
.p5 {
    padding: 5px !important;
}
.p10 {
    padding: 10px !important;
}
.p15 {
    padding: 15px !important;
}
.p20 {
    padding: 20px !important;
}
.p25 {
    padding: 25px !important;
}
.p30 {
    padding: 30px !important;
}
.p35 {
    padding: 35px !important;
}
.p40 {
    padding: 40px !important;
}
.p45 {
    padding: 45px !important;
}
.p50 {
    padding: 50px !important;
}
.p55 {
    padding: 55px !important;
}
.p60 {
    padding: 60px !important;
}
.p65 {
    padding: 65px !important;
}
.p70 {
    padding: 70px !important;
}
.p75 {
    padding: 75px !important;
}
.p80 {
    padding: 80px !important;
}
.p85 {
    padding: 85px !important;
}
.p90 {
    padding: 90px !important;
}
.p95 {
    padding: 95px !important;
}
.p100 {
    padding: 100px !important;
}
.p110 {
    padding: 110px !important;
}
.p120 {
    padding: 120px !important;
}
.p130 {
    padding: 130px !important;
}
.p140 {
    padding: 140px !important;
}
.p150 {
    padding: 150px !important;
}
.p160 {
    padding: 160px !important;
}
.p170 {
    padding: 170px !important;
}
.p180 {
    padding: 180px !important;
}
.p190 {
    padding: 190px !important;
}
.p200 {
    padding: 200px !important;
}

/* padding-top */

.pt0 {
    padding-top: 0px !important;
}
.pt5 {
    padding-top: 5px !important;
}
.pt10 {
    padding-top: 10px !important;
}
.pt15 {
    padding-top: 15px !important;
}
.pt20 {
    padding-top: 20px !important;
}
.pt25 {
    padding-top: 25px !important;
}
.pt30 {
    padding-top: 30px !important;
}
.pt35 {
    padding-top: 35px !important;
}
.pt40 {
    padding-top: 40px !important;
}
.pt45 {
    padding-top: 45px !important;
}
.pt50 {
    padding-top: 50px !important;
}
.pt55 {
    padding-top: 55px !important;
}
.pt60 {
    padding-top: 60px !important;
}
.pt65 {
    padding-top: 65px !important;
}
.pt70 {
    padding-top: 70px !important;
}
.pt75 {
    padding-top: 75px !important;
}
.pt80 {
    padding-top: 80px !important;
}
.pt85 {
    padding-top: 85px !important;
}
.pt90 {
    padding-top: 90px !important;
}
.pt95 {
    padding-top: 95px !important;
}
.pt100 {
    padding-top: 100px !important;
}
.pt110 {
    padding-top: 110px !important;
}
.pt120 {
    padding-top: 120px !important;
}
.pt130 {
    padding-top: 130px !important;
}
.pt140 {
    padding-top: 140px !important;
}
.pt150 {
    padding-top: 150px !important;
}
.pt160 {
    padding-top: 160px !important;
}
.pt170 {
    padding-top: 170px !important;
}
.pt180 {
    padding-top: 180px !important;
}
.pt190 {
    padding-top: 190px !important;
}
.pt200 {
    padding-top: 200px !important;
}

/* padding-right */

.pr0 {
    padding-right: 0px !important;
}
.pr5 {
    padding-right: 5px !important;
}
.pr10 {
    padding-right: 10px !important;
}
.pr15 {
    padding-right: 15px !important;
}
.pr20 {
    padding-right: 20px !important;
}
.pr25 {
    padding-right: 25px !important;
}
.pr30 {
    padding-right: 30px !important;
}
.pr35 {
    padding-right: 35px !important;
}
.pr40 {
    padding-right: 40px !important;
}
.pr45 {
    padding-right: 45px !important;
}
.pr50 {
    padding-right: 50px !important;
}
.pr55 {
    padding-right: 55px !important;
}
.pr60 {
    padding-right: 60px !important;
}
.pr65 {
    padding-right: 65px !important;
}
.pr70 {
    padding-right: 70px !important;
}
.pr75 {
    padding-right: 75px !important;
}
.pr80 {
    padding-right: 80px !important;
}
.pr85 {
    padding-right: 85px !important;
}
.pr90 {
    padding-right: 90px !important;
}
.pr95 {
    padding-right: 95px !important;
}
.pr100 {
    padding-right: 100px !important;
}
.pr110 {
    padding-right: 110px !important;
}
.pr120 {
    padding-right: 120px !important;
}
.pr130 {
    padding-right: 130px !important;
}
.pr140 {
    padding-right: 140px !important;
}
.pr150 {
    padding-right: 150px !important;
}
.pr160 {
    padding-right: 160px !important;
}
.pr170 {
    padding-right: 170px !important;
}
.pr180 {
    padding-right: 180px !important;
}
.pr190 {
    padding-right: 190px !important;
}
.pr200 {
    padding-right: 200px !important;
}

/* padding-bottom */

.pb0 {
    padding-bottom: 0px !important;
}
.pb5 {
    padding-bottom: 5px !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pb15 {
    padding-bottom: 15px !important;
}
.pb20 {
    padding-bottom: 20px !important;
}
.pb25 {
    padding-bottom: 25px !important;
}
.pb30 {
    padding-bottom: 30px !important;
}
.pb35 {
    padding-bottom: 35px !important;
}
.pb40 {
    padding-bottom: 40px !important;
}
.pb45 {
    padding-bottom: 45px !important;
}
.pb50 {
    padding-bottom: 50px !important;
}
.pb55 {
    padding-bottom: 55px !important;
}
.pb60 {
    padding-bottom: 60px !important;
}
.pb65 {
    padding-bottom: 65px !important;
}
.pb70 {
    padding-bottom: 70px !important;
}
.pb75 {
    padding-bottom: 75px !important;
}
.pb80 {
    padding-bottom: 80px !important;
}
.pb85 {
    padding-bottom: 85px !important;
}
.pb90 {
    padding-bottom: 90px !important;
}
.pb95 {
    padding-bottom: 95px !important;
}
.pb100 {
    padding-bottom: 100px !important;
}
.pb110 {
    padding-bottom: 110px !important;
}
.pb120 {
    padding-bottom: 120px !important;
}
.pb130 {
    padding-bottom: 130px !important;
}
.pb140 {
    padding-bottom: 140px !important;
}
.pb150 {
    padding-bottom: 150px !important;
}
.pb160 {
    padding-bottom: 160px !important;
}
.pb170 {
    padding-bottom: 170px !important;
}
.pb180 {
    padding-bottom: 180px !important;
}
.pb190 {
    padding-bottom: 190px !important;
}
.pb200 {
    padding-bottom: 200px !important;
}

/* padding-left */

.pl0 {
    padding-left: 0px !important;
}
.pl5 {
    padding-left: 5px !important;
}
.pl10 {
    padding-left: 10px !important;
}
.pl15 {
    padding-left: 15px !important;
}
.pl20 {
    padding-left: 20px !important;
}
.pl25 {
    padding-left: 25px !important;
}
.pl30 {
    padding-left: 30px !important;
}
.pl35 {
    padding-left: 35px !important;
}
.pl40 {
    padding-left: 40px !important;
}
.pl45 {
    padding-left: 45px !important;
}
.pl50 {
    padding-left: 50px !important;
}
.pl55 {
    padding-left: 55px !important;
}
.pl60 {
    padding-left: 60px !important;
}
.pl65 {
    padding-left: 65px !important;
}
.pl70 {
    padding-left: 70px !important;
}
.pl75 {
    padding-left: 75px !important;
}
.pl80 {
    padding-left: 80px !important;
}
.pl85 {
    padding-left: 85px !important;
}
.pl90 {
    padding-left: 90px !important;
}
.pl95 {
    padding-left: 95px !important;
}
.pl100 {
    padding-left: 100px !important;
}
.pl110 {
    padding-left: 110px !important;
}
.pl120 {
    padding-left: 120px !important;
}
.pl130 {
    padding-left: 130px !important;
}
.pl140 {
    padding-left: 140px !important;
}
.pl150 {
    padding-left: 150px !important;
}
.pl160 {
    padding-left: 160px !important;
}
.pl170 {
    padding-left: 170px !important;
}
.pl180 {
    padding-left: 180px !important;
}
.pl190 {
    padding-left: 190px !important;
}
.pl200 {
    padding-left: 200px !important;
}

/*===================================
    position
===================================*/

.psr {
    position: relative !important;
}
.psa {
    position: absolute !important;
}
.psf {
    position: fixed !important;
}

/*===================================
    responsive states
===================================*/

.responsive {
    max-width: 100%;
    height: auto;
}

/*===================================
    grid
===================================*/

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*='col-'] {
    padding-right: 0;
    padding-left: 0;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.col-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
}

.col-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}

.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}

.col-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
}

.col-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
}

.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
}

.col-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
}

.col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    -ms-flex-order: -1;
    order: -1;
}

.order-last {
    -ms-flex-order: 13;
    order: 13;
}

.order-0 {
    -ms-flex-order: 0;
    order: 0;
}

.order-1 {
    -ms-flex-order: 1;
    order: 1;
}

.order-2 {
    -ms-flex-order: 2;
    order: 2;
}

.order-3 {
    -ms-flex-order: 3;
    order: 3;
}

.order-4 {
    -ms-flex-order: 4;
    order: 4;
}

.order-5 {
    -ms-flex-order: 5;
    order: 5;
}

.order-6 {
    -ms-flex-order: 6;
    order: 6;
}

.order-7 {
    -ms-flex-order: 7;
    order: 7;
}

.order-8 {
    -ms-flex-order: 8;
    order: 8;
}

.order-9 {
    -ms-flex-order: 9;
    order: 9;
}

.order-10 {
    -ms-flex-order: 10;
    order: 10;
}

.order-11 {
    -ms-flex-order: 11;
    order: 11;
}

.order-12 {
    -ms-flex-order: 12;
    order: 12;
}

.offset-1 {
    margin-left: 8.333333%;
}

.offset-2 {
    margin-left: 16.666667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.333333%;
}

.offset-5 {
    margin-left: 41.666667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.333333%;
}

.offset-8 {
    margin-left: 66.666667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.333333%;
}

.offset-11 {
    margin-left: 91.666667%;
}

@media (min-width: 576px) {
    .col-sm {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-sm-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-sm-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-sm-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-sm-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-sm-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-sm-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-sm-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-sm-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-sm-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-sm-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-sm-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-sm-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-sm-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-sm-last {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-sm-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-sm-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-sm-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-sm-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .order-sm-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-sm-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-sm-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-sm-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-sm-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-sm-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-sm-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-sm-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .order-sm-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .offset-sm-0 {
        margin-left: 0;
    }
    .offset-sm-1 {
        margin-left: 8.333333%;
    }
    .offset-sm-2 {
        margin-left: 16.666667%;
    }
    .offset-sm-3 {
        margin-left: 25%;
    }
    .offset-sm-4 {
        margin-left: 33.333333%;
    }
    .offset-sm-5 {
        margin-left: 41.666667%;
    }
    .offset-sm-6 {
        margin-left: 50%;
    }
    .offset-sm-7 {
        margin-left: 58.333333%;
    }
    .offset-sm-8 {
        margin-left: 66.666667%;
    }
    .offset-sm-9 {
        margin-left: 75%;
    }
    .offset-sm-10 {
        margin-left: 83.333333%;
    }
    .offset-sm-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-md-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-md-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-md-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-md-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-md-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-md-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-md-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-md-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-md-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-md-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-md-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-md-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-last {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-md-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-md-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-md-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-md-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .order-md-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-md-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-md-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-md-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-md-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-md-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-md-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-md-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .order-md-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .offset-md-0 {
        margin-left: 0;
    }
    .offset-md-1 {
        margin-left: 8.333333%;
    }
    .offset-md-2 {
        margin-left: 16.666667%;
    }
    .offset-md-3 {
        margin-left: 25%;
    }
    .offset-md-4 {
        margin-left: 33.333333%;
    }
    .offset-md-5 {
        margin-left: 41.666667%;
    }
    .offset-md-6 {
        margin-left: 50%;
    }
    .offset-md-7 {
        margin-left: 58.333333%;
    }
    .offset-md-8 {
        margin-left: 66.666667%;
    }
    .offset-md-9 {
        margin-left: 75%;
    }
    .offset-md-10 {
        margin-left: 83.333333%;
    }
    .offset-md-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-lg-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-lg-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-lg-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-lg-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-lg-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-lg-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-lg-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-lg-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-lg-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-lg-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-lg-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-lg-last {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-lg-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-lg-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-lg-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-lg-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .order-lg-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-lg-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-lg-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-lg-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-lg-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-lg-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-lg-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-lg-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .order-lg-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .offset-lg-0 {
        margin-left: 0;
    }
    .offset-lg-1 {
        margin-left: 8.333333%;
    }
    .offset-lg-2 {
        margin-left: 16.666667%;
    }
    .offset-lg-3 {
        margin-left: 25%;
    }
    .offset-lg-4 {
        margin-left: 33.333333%;
    }
    .offset-lg-5 {
        margin-left: 41.666667%;
    }
    .offset-lg-6 {
        margin-left: 50%;
    }
    .offset-lg-7 {
        margin-left: 58.333333%;
    }
    .offset-lg-8 {
        margin-left: 66.666667%;
    }
    .offset-lg-9 {
        margin-left: 75%;
    }
    .offset-lg-10 {
        margin-left: 83.333333%;
    }
    .offset-lg-11 {
        margin-left: 91.666667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%;
    }
    .col-xl-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }
    .col-xl-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }
    .col-xl-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
    .col-xl-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
    .col-xl-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    .col-xl-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%;
    }
    .col-xl-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
    .col-xl-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%;
    }
    .col-xl-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
    .col-xl-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }
    .col-xl-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%;
    }
    .col-xl-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%;
    }
    .col-xl-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .order-xl-first {
        -ms-flex-order: -1;
        order: -1;
    }
    .order-xl-last {
        -ms-flex-order: 13;
        order: 13;
    }
    .order-xl-0 {
        -ms-flex-order: 0;
        order: 0;
    }
    .order-xl-1 {
        -ms-flex-order: 1;
        order: 1;
    }
    .order-xl-2 {
        -ms-flex-order: 2;
        order: 2;
    }
    .order-xl-3 {
        -ms-flex-order: 3;
        order: 3;
    }
    .order-xl-4 {
        -ms-flex-order: 4;
        order: 4;
    }
    .order-xl-5 {
        -ms-flex-order: 5;
        order: 5;
    }
    .order-xl-6 {
        -ms-flex-order: 6;
        order: 6;
    }
    .order-xl-7 {
        -ms-flex-order: 7;
        order: 7;
    }
    .order-xl-8 {
        -ms-flex-order: 8;
        order: 8;
    }
    .order-xl-9 {
        -ms-flex-order: 9;
        order: 9;
    }
    .order-xl-10 {
        -ms-flex-order: 10;
        order: 10;
    }
    .order-xl-11 {
        -ms-flex-order: 11;
        order: 11;
    }
    .order-xl-12 {
        -ms-flex-order: 12;
        order: 12;
    }
    .offset-xl-0 {
        margin-left: 0;
    }
    .offset-xl-1 {
        margin-left: 8.333333%;
    }
    .offset-xl-2 {
        margin-left: 16.666667%;
    }
    .offset-xl-3 {
        margin-left: 25%;
    }
    .offset-xl-4 {
        margin-left: 33.333333%;
    }
    .offset-xl-5 {
        margin-left: 41.666667%;
    }
    .offset-xl-6 {
        margin-left: 50%;
    }
    .offset-xl-7 {
        margin-left: 58.333333%;
    }
    .offset-xl-8 {
        margin-left: 66.666667%;
    }
    .offset-xl-9 {
        margin-left: 75%;
    }
    .offset-xl-10 {
        margin-left: 83.333333%;
    }
    .offset-xl-11 {
        margin-left: 91.666667%;
    }
}

.d-none {
    display: none !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: -ms-flexbox !important;
    display: flex !important;
}

.d-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
}

@media (min-width: 576px) {
    .d-sm-none {
        display: none !important;
    }
    .d-sm-inline {
        display: inline !important;
    }
    .d-sm-inline-block {
        display: inline-block !important;
    }
    .d-sm-block {
        display: block !important;
    }
    .d-sm-table {
        display: table !important;
    }
    .d-sm-table-row {
        display: table-row !important;
    }
    .d-sm-table-cell {
        display: table-cell !important;
    }
    .d-sm-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-sm-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }
    .d-md-inline {
        display: inline !important;
    }
    .d-md-inline-block {
        display: inline-block !important;
    }
    .d-md-block {
        display: block !important;
    }
    .d-md-table {
        display: table !important;
    }
    .d-md-table-row {
        display: table-row !important;
    }
    .d-md-table-cell {
        display: table-cell !important;
    }
    .d-md-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-md-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }
    .d-lg-inline {
        display: inline !important;
    }
    .d-lg-inline-block {
        display: inline-block !important;
    }
    .d-lg-block {
        display: block !important;
    }
    .d-lg-table {
        display: table !important;
    }
    .d-lg-table-row {
        display: table-row !important;
    }
    .d-lg-table-cell {
        display: table-cell !important;
    }
    .d-lg-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-lg-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }
    .d-xl-inline {
        display: inline !important;
    }
    .d-xl-inline-block {
        display: inline-block !important;
    }
    .d-xl-block {
        display: block !important;
    }
    .d-xl-table {
        display: table !important;
    }
    .d-xl-table-row {
        display: table-row !important;
    }
    .d-xl-table-cell {
        display: table-cell !important;
    }
    .d-xl-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-xl-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

@media print {
    .d-print-none {
        display: none !important;
    }
    .d-print-inline {
        display: inline !important;
    }
    .d-print-inline-block {
        display: inline-block !important;
    }
    .d-print-block {
        display: block !important;
    }
    .d-print-table {
        display: table !important;
    }
    .d-print-table-row {
        display: table-row !important;
    }
    .d-print-table-cell {
        display: table-cell !important;
    }
    .d-print-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .d-print-inline-flex {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
    }
}

.flex-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}

.flex-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
}

.flex-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
}

.flex-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
}

.flex-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
}

.flex-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
}

.justify-content-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
}

.justify-content-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}

.justify-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
}

.justify-content-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}

.justify-content-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
}

.align-items-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
}

.align-items-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
}

.align-items-center {
    -ms-flex-align: center !important;
    align-items: center !important;
}

.align-items-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
}

.align-items-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
}

.align-content-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
}

.align-content-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
}

.align-content-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
}

.align-content-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
}

.align-content-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
}

.align-content-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
}

.align-self-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
}

.align-self-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
}

.align-self-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
}

.align-self-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
}

.align-self-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
}

.align-self-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-sm-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-sm-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-sm-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-sm-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-sm-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-sm-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-sm-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-sm-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-sm-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-sm-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-sm-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-sm-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-sm-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-sm-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-sm-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-sm-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-sm-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-sm-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-sm-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-sm-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-sm-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-sm-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-sm-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-sm-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-sm-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-sm-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-sm-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-sm-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-sm-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-sm-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-sm-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-sm-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-sm-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-md-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-md-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-md-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-md-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-md-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-md-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-md-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-md-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-md-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-md-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-md-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-md-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-md-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-md-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-md-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-md-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-md-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-md-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-md-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-md-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-md-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-md-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-md-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-md-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-md-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-md-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-md-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-md-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-md-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-md-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-md-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-md-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-md-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-lg-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-lg-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-lg-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-lg-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-lg-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-lg-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-lg-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-lg-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-lg-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-lg-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-lg-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-lg-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-lg-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-lg-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-lg-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-lg-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-lg-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-lg-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-lg-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-lg-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-lg-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-lg-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-lg-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-lg-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-lg-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-lg-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-lg-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-lg-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-lg-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-lg-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-lg-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-lg-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-lg-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        -ms-flex-direction: row !important;
        flex-direction: row !important;
    }
    .flex-xl-column {
        -ms-flex-direction: column !important;
        flex-direction: column !important;
    }
    .flex-xl-row-reverse {
        -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important;
    }
    .flex-xl-column-reverse {
        -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important;
    }
    .flex-xl-wrap {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    }
    .flex-xl-nowrap {
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
    }
    .flex-xl-wrap-reverse {
        -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important;
    }
    .flex-xl-fill {
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
    }
    .flex-xl-grow-0 {
        -ms-flex-positive: 0 !important;
        flex-grow: 0 !important;
    }
    .flex-xl-grow-1 {
        -ms-flex-positive: 1 !important;
        flex-grow: 1 !important;
    }
    .flex-xl-shrink-0 {
        -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important;
    }
    .flex-xl-shrink-1 {
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
    }
    .justify-content-xl-start {
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
    }
    .justify-content-xl-end {
        -ms-flex-pack: end !important;
        justify-content: flex-end !important;
    }
    .justify-content-xl-center {
        -ms-flex-pack: center !important;
        justify-content: center !important;
    }
    .justify-content-xl-between {
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
    }
    .justify-content-xl-around {
        -ms-flex-pack: distribute !important;
        justify-content: space-around !important;
    }
    .align-items-xl-start {
        -ms-flex-align: start !important;
        align-items: flex-start !important;
    }
    .align-items-xl-end {
        -ms-flex-align: end !important;
        align-items: flex-end !important;
    }
    .align-items-xl-center {
        -ms-flex-align: center !important;
        align-items: center !important;
    }
    .align-items-xl-baseline {
        -ms-flex-align: baseline !important;
        align-items: baseline !important;
    }
    .align-items-xl-stretch {
        -ms-flex-align: stretch !important;
        align-items: stretch !important;
    }
    .align-content-xl-start {
        -ms-flex-line-pack: start !important;
        align-content: flex-start !important;
    }
    .align-content-xl-end {
        -ms-flex-line-pack: end !important;
        align-content: flex-end !important;
    }
    .align-content-xl-center {
        -ms-flex-line-pack: center !important;
        align-content: center !important;
    }
    .align-content-xl-between {
        -ms-flex-line-pack: justify !important;
        align-content: space-between !important;
    }
    .align-content-xl-around {
        -ms-flex-line-pack: distribute !important;
        align-content: space-around !important;
    }
    .align-content-xl-stretch {
        -ms-flex-line-pack: stretch !important;
        align-content: stretch !important;
    }
    .align-self-xl-auto {
        -ms-flex-item-align: auto !important;
        align-self: auto !important;
    }
    .align-self-xl-start {
        -ms-flex-item-align: start !important;
        align-self: flex-start !important;
    }
    .align-self-xl-end {
        -ms-flex-item-align: end !important;
        align-self: flex-end !important;
    }
    .align-self-xl-center {
        -ms-flex-item-align: center !important;
        align-self: center !important;
    }
    .align-self-xl-baseline {
        -ms-flex-item-align: baseline !important;
        align-self: baseline !important;
    }
    .align-self-xl-stretch {
        -ms-flex-item-align: stretch !important;
        align-self: stretch !important;
    }
}
