html {
    font-size: small;
    line-height: 1.5
}

body {
    color: #101010;
    background: url(../image/bg.jpg) repeat top;
    -webkit-text-size-adjust: none;
    font-size: 108%
}

::marker{
    content: '';
}

.ie body {
    font-size: 105%
}

@media only screen and (max-width: 767px) {
    body {
        font-size: 93%
    }
}

body a {
    color: #101010
}

body img {
    max-width: 100%;
    -webkit-touch-callout: none;
    line-height: 1
}

body * {
    box-sizing: border-box
}

body *:before,
body *:after {
    box-sizing: border-box
}

body,
pre,
input,
textarea,
select {
    font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif
}

input,
select,
textarea {
    font-size: 100%
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
    display: none !important
}

html.ie8 #abi_page {
    min-width: 1280px !important;
    margin: auto;
    font-size: 100% !important
}

@media only screen and (min-width: 1200px) {

    body .view_tab-sp,
    body .view_tab {
        display: none !important
    }
}

@media print {

    body .view_tab-sp,
    body .view_tab {
        display: none !important
    }
}

@media only screen and (min-width: 768px) {
    body .view_sp {
        display: none !important
    }
}

@media only screen and (max-width: 1199px) {
    body .view_pc {
        display: none !important
    }
}

@media only screen and (max-width: 767px) {

    body .view_pc-tab,
    body .view_tab {
        display: none !important
    }
}

.mouse .over {
    -moz-transition: opacity .3s ease-in;
    -o-transition: opacity .3s ease-in;
    -webkit-transition: opacity .3s ease-in;
    transition: opacity .3s ease-in
}

.mouse .over:hover,
.touch .over.touchstart {
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
    opacity: .7
}

.touch .over {
    -webkit-tap-highlight-color: transparent
}

.touch .over.touchend {
    -moz-transition-delay: 200ms;
    -o-transition-delay: 200ms;
    -webkit-transition-delay: 200ms;
    transition-delay: 200ms
}

#abi_page {
    overflow: hidden
}

@media only screen and (min-width: 1200px) {
    #abi_page {
        width: 100%;
        margin: auto
    }
}

@media print {
    #abi_page {
        width: 100%;
        margin: auto
    }
}

@media only screen and (min-width: 768px) {
    #abi_page {
        font-size: 100% !important
    }
}

@font-face {
    font-family: 'icomoon';
    src: url("../font/icomoon.ttf") format("truetype"), url("../font/icomoon.woff") format("woff"), url("../font/icomoon.svg") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block
}

i[class^="icon-"] {
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}


@font-face {
    font-family: 'icomoon1';
    src: url("../font/icomoon1.ttf") format("truetype"), url("../font/icomoon1.woff") format("woff"), url("../font/icomoon1.svg") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block
}

i[class^="icon1-"] {
    font-family: 'icomoon1' !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon1-facebook2:before {
  content: "\ea91";
}
.icon1-instagram:before {
  content: "\ea92";
}
.icon1-linkedin:before {
  content: "\eac9";
}
.icon1-linkedin2:before {
  content: "\eaca";
}



.icon-globe-solid:before {
    content: "\e903"
}

.icon-list:before {
    content: "\e90c"
}

.icon-external-link1:before {
    content: "\f08f"
}

.icon-clearclose:before {
    content: "\e900"
}

.icon-zoom-in:before {
    content: "\e901"
}

.icon-zoom-out:before {
    content: "\e902"
}

.icon-location:before {
    content: "\e906"
}

.icon-menu1:before {
    content: "\e907"
}

.icon-calendar:before {
    content: "\f073"
}

.icon-phone:before {
    content: "\f095"
}

.icon-twitter:before {
    content: "\f09b"
}

.icon-file-text-o:before {
    content: "\f0f6"
}

.icon-calendar-o:before {
    content: "\f133"
}

.icon-youtube:before {
    content: "\f16b"
}

.icon-instagram:before {
    content: "\f16d"
}

.icon-pdf:before {
    content: "\f1c1"
}

.icon-envelope-o:before {
    content: "\f003"
}

.icon-facebook:before {
    content: "\e93a"
}

.icon-linkedin:before {
    content: "\eac9"
}

.icon-search1:before {
    content: "\e909"
}

.icon-tripadvisor:before {
    content: "\e904"
}

.icon-chevron-down:before {
    content: "\e90f"
}

.icon-chevron-left:before {
    content: "\e910"
}

.icon-chevron-right:before {
    content: "\e911"
}

.icon-chevron-up:before {
    content: "\e912"
}

.icon-minus:before {
    content: "\e934"
}

.icon-plus:before {
    content: "\e935"
}

.icon-angle-double-left:before {
    content: "\f100"
}

.icon-angle-double-right:before {
    content: "\f101"
}

.icon-angle-double-up:before {
    content: "\f102"
}

.icon-angle-double-down:before {
    content: "\f103"
}

.icon-arrow1:before {
    content: "\e937"
}

.icon-play:before {
    content: "\e908"
}

.icon-globe:before {
    content: "\e938"
}

#header>h1 {
    position: absolute;
    top: 1.5em;
    left: 1.5em;
    font-weight: normal;
    font-size: 86%;
    letter-spacing: .08em;
    line-height: 1.33333
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header>h1 {
        font-size: 83%
    }
}

@media only screen and (max-width: 767px) {
    #header>h1 {
        font-size: 72%
    }
}

@media only screen and (min-width: 768px) {
    #header>h1 {
        max-width: 324px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header>h1 {
        width: 34%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #header>h1 {
        line-height: 1.5
    }
}

@media only screen and (max-width: 767px) {
    #header>h1 {
        width: 55%;
        position: static;
        margin: 1.5em 0 0 1.5em;
        line-height: 1.5
    }
}

#header .con_header {
    display: flex;
    flex-direction: row
}

@media only screen and (min-width: 768px) {
    #header .con_header {
        justify-content: flex-end;
        padding-right: 2.60417%
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 983px) {
    #header .con_header {
        padding-right: 1.5625%
    }
}

#header .con_header .box_nav .gnav li::marker,
#header .con_header .box_nav .wrp_sns li::marker{
    content: '';
}

#header .con_header .box_nav .wrp_sns li img{
    width: 20px;
}
@media only screen and (min-width: 768px) {
    #header .con_header .box_nav {
        display: flex;
        flex-direction: row
    }

    #header .con_header .box_nav .gnav {
        display: flex;
        flex-direction: row
    }

    #header .con_header .box_nav .gnav li {
        margin-right: 2.1em
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_nav .gnav li {
        margin-right: 1em
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_nav .gnav li {
        margin-right: 0
    }
}

@media only screen and (min-width: 768px) and (min-width: 1200px) and (max-width: 1560px) {
    #header .con_header .box_nav .gnav li {
        margin-right: 1.8em
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 983px) {
    #header .con_header .box_nav .gnav li {
        margin-right: .8em
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_nav .gnav li a {
        text-decoration: none;
        writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        text-align: left;
        display: inline-block;
        font-feature-settings: normal;
        display: block;
        font-size: 129%;
        padding-top: 2em;
        position: relative;
        letter-spacing: .08em;
        transition: color 400ms ease;
        min-width: 1.5em
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_nav .gnav li a {
        font-size: 115%
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_nav .gnav li a {
        font-size: 115%
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_nav .gnav li a:before {
        content: '';
        width: 1px;
        height: 0;
        background: #a27c39;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        transition: height 400ms ease
    }

    #header .con_header .box_nav .gnav li a:hover,
    #header .con_header .box_nav .gnav li a.active {
        color: #a27c39
    }

    #header .con_header .box_nav .gnav li a:hover:before,
    #header .con_header .box_nav .gnav li a.active:before {
        height: 1.3em
    }

    #header .con_header .box_nav .wrp_sns {
        padding-top: 2.8em
    }

    #header .con_header .box_nav .wrp_sns li {
        margin-bottom: .5em
    }

    #header .con_header .box_nav .wrp_sns li a {
        text-align: center;
        display: block;
        text-decoration: none;
        font-size: 172%;
        line-height: 1;
        transition: color 400ms ease
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_nav .wrp_sns li a {
        font-size: 143%
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_nav .wrp_sns li a {
        font-size: 143%
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_nav .wrp_sns li a:hover {
        color: #a27c39
    }

    #header .con_header .box_lang {
        margin-top: 2.8em;
        margin-left: 1.5em
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_lang {
        margin-left: 1.3em
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_lang {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_lang p a {
        display: block;
        text-decoration: none;
        background: rgba(0, 0, 0, 0.05);
        font-size: 115%;
        text-align: center;
        padding: .6em 1em;
        transition: background 400ms ease
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_lang p a {
        font-size: 108%
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_lang p a {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_lang p a:hover {
        background: rgba(0, 0, 0, 0.15)
    }

    #header .con_header .box_lang p a i {
        display: block
    }

    #header .con_header .box_rsv {
        margin-left: 2em
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_rsv {
        margin-left: 1.5em
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_rsv {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_rsv a {
        display: block;
        text-decoration: none;
        background: url(../image/bg_gnav_rsv.jpg) no-repeat center center;
        background-size: cover;
        padding: 2.5em .7em;
        position: relative
    }

    #header .con_header .box_rsv a span {
        writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        text-align: left;
        display: inline-block;
        font-feature-settings: normal;
        color: #FFF;
        font-size: 129%;
        letter-spacing: .08em;
        position: relative;
        z-index: 10;
        min-width: 1.6em
    }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_rsv a span {
        font-size: 122%
    }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
    #header .con_header .box_rsv a span {
        font-size: 115%
    }
}

@media only screen and (min-width: 768px) {
    #header .con_header .box_rsv a:after {
        content: '';
        width: 100%;
        height: 100%;
        background: url(../image/bg_gnav_rsv_hover.jpg) no-repeat center center;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        transition: opacity 400ms ease
    }

    #header .con_header .box_rsv a:hover:after {
        opacity: 1
    }
}

@media only screen and (max-width: 767px) {
    #header .con_header {
        position: absolute;
        top: 1em;
        right: 1.5em;
        align-items: center
    }

    #homepage #header .con_header {
        top: 3.5em
    }

    #header .con_header .box_lang {
        margin-right: 1em
    }

    #header .con_header .box_lang p a {
        display: block;
        text-decoration: none;
        background: rgba(0, 0, 0, 0.05);
        font-size: 115%;
        text-align: center;
        padding: .6em 1em;
        transition: background 400ms ease
    }
}

@media only screen and (max-width: 767px) and (min-width: 768px) and (max-width: 1199px) {
    #header .con_header .box_lang p a {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
    #header .con_header .box_lang p a {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    #header .con_header .box_lang p a:hover {
        background: rgba(0, 0, 0, 0.15)
    }

    #header .con_header .box_lang p a i {
        display: block
    }

    #header .con_header .box_menu p i {
        background: #101010
    }
}

#header .con_fixnav {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 3000;
    top: -55px;
    left: 0;
    width: 100%;
    background: url(../image/bg2.jpg) repeat top left;
    color: #FFF;
    opacity: 0;
    transition: opacity 600ms ease 10ms, top 600ms ease 10ms;
    padding: 0.65em 2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav {
        padding: 0.65em 1.5em
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav {
        padding: .8em
    }
}

.activeFix #header .con_fixnav {
    opacity: 1;
    top: 0
}

#header .con_fixnav .box_logo {
    display: flex;
    flex-direction: row;
    align-items: center
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_logo {
        width: 80%
    }
}

@media only screen and (min-width: 768px) {
    #header .con_fixnav .box_logo .logo {
        margin-right: 2em
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_logo .logo {
        width: 40%;
        margin-right: 1em
    }
}

#header .con_fixnav .box_logo .txt_tel {
    font-size: 100%;
    font-family: 'Cormorant Infant', "Times New Roman", Times, Garamond, Georgia, serif;
    letter-spacing: .12em;
    line-height: 1
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_logo .txt_tel {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_logo .txt_tel {
        font-size: 93%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_logo .txt_tel {
        display: none
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_logo .txt_tel {
        width: 50%;
        white-space: nowrap
    }
}

#header .con_fixnav .box_logo .txt_tel a,
#header .con_fixnav .box_logo .txt_tel span {
    text-decoration: none;
    color: #FFF;
    font-size: 143%
}

#header .con_fixnav .box_nav {
    display: flex;
    flex-direction: row
}

#header .con_fixnav .box_nav .gnav {
    display: flex;
    flex-direction: row
}

#header .con_fixnav .box_nav .gnav li:not(:last-child) {
    margin-right: 2.5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_nav .gnav li:not(:last-child) {
        margin-right: 1.5em
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_nav .gnav li:not(:last-child) {
        margin-right: 0
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    #header .con_fixnav .box_nav .gnav li:not(:last-child) {
        margin-right: 1.3em
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #header .con_fixnav .box_nav .gnav li:first-child {
        display: none
    }
}

#header .con_fixnav .box_nav .gnav li a {
    display: block;
    text-decoration: none;
    color: #FFF;
    font-size: 115%;
    letter-spacing: .08em;
    transition: color 400ms ease;
    white-space: nowrap
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_nav .gnav li a {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_nav .gnav li a {
        font-size: 0%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #header .con_fixnav .box_nav .gnav li a {
        font-size: 108%
    }
}

#header .con_fixnav .box_nav .gnav li a:hover,
#header .con_fixnav .box_nav .gnav li a.active {
    color: #a27c39
}

#header .con_fixnav .box_nav .wrp_sns {
    display: flex;
    flex-direction: row;
    margin-left: 2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_nav .wrp_sns {
        margin-left: 1em
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_nav .wrp_sns {
        margin-left: 0
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #header .con_fixnav .box_nav .wrp_sns {
        display: none
    }
}

#header .con_fixnav .box_nav .wrp_sns li:not(:last-child) {
    margin-right: 1em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_nav .wrp_sns li:not(:last-child) {
        margin-right: .5em
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_nav .wrp_sns li:not(:last-child) {
        margin-right: 0
    }
}

#header .con_fixnav .box_nav .wrp_sns li a {
    display: block;
    text-decoration: none;
    color: #FFF;
    font-size: 143%;
    transition: color 400ms ease
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #header .con_fixnav .box_nav .wrp_sns li a {
        font-size: 122%
    }
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_nav .wrp_sns li a {
        font-size: 0%
    }
}

#header .con_fixnav .box_nav .wrp_sns li a:hover {
    color: #a27c39
}

@media only screen and (max-width: 767px) {
    #header .con_fixnav .box_menu {
        margin-right: .5em
    }
}

#contents .con_title h2 {
    font-weight: normal;
    max-width: 1000px;
    width: 75%;
    margin: 0 auto;
    position: relative;
    padding-bottom: 6.14583%
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2 {
        padding-bottom: 1.8em
    }
}

@media only screen and (min-width: 768px) {
    #contents .con_title h2 {
        padding-top: 1em;
        width: 52.08333%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #contents .con_title h2 {
        padding-top: 2em;
        width: 62.5%
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #contents .con_title h2 {
        width: 71.42857%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2 {
        margin-top: 3em;
        width: 65%
    }
}

#contents .con_title h2:before {
    content: '';
    display: block;
    height: 0;
    position: absolute;
    background: url(../image/bg_brush_b.png) no-repeat top left;
    background-size: 100% auto
}

@media only screen and (min-width: 1200px) {
    #contents .con_title h2:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media print {
    #contents .con_title h2:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media only screen and (min-width: 1200px) {
    #contents .con_title h2:before {
        top: -63px;
        left: -211px;
        width: 259px;
        height: 237px
    }
}

@media print {
    #contents .con_title h2:before {
        top: -63px;
        left: -211px;
        width: 259px;
        height: 237px
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    #contents .con_title h2:before {
        width: 207.2px;
        height: 189.6px;
        top: -50px;
        left: -150px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #contents .con_title h2:before {
        width: 25.9%;
        height: 23.7%;
        min-height: 237px;
        left: -15%;
        top: -10%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2:before {
        width: 37%;
        height: 118.5%;
        left: -27%;
        top: -30%
    }
}

#contents .con_title h2 span {
    font-size: 322%;
    letter-spacing: .28em;
    display: block
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #contents .con_title h2 span {
        font-size: 236%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2 span {
        font-size: 179%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2 span {
        text-indent: -.25em
    }
}

#contents .con_title h2 i {
    font-size: 143%;
    letter-spacing: .32em;
    text-transform: capitalize;
    display: block
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #contents .con_title h2 i {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2 i {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title h2 i {
        letter-spacing: .28em
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    #contents .con_title .box_img {
        overflow: hidden
    }

    #contents .con_title .box_img img {
        position: relative;
        width: 105%;
        max-width: none;
        margin-left: -2.5%
    }
}

@media only screen and (max-width: 767px) {
    #contents .con_title .box_img {
        overflow: hidden
    }

    #contents .con_title .box_img img {
        position: relative;
        width: 160%;
        max-width: none;
        margin-left: -30%
    }
}

#contents .topicpath {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    flex-wrap: wrap;
    max-width: 1760px;
    margin: 1em auto 0;
    width: 90%
}

#contents .topicpath li {
    display: inline-block;
    vertical-align: middle;
    font-size: 115%;
    letter-spacing: .08em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #contents .topicpath li {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    #contents .topicpath li {
        font-size: 93%
    }
}

#contents .topicpath li:not(:last-child):after {
    content: '';
    width: 1.2em;
    height: 1px;
    background: #b0b0b0;
    display: inline-block;
    vertical-align: middle;
    margin: 0 .5em 0 .3em
}

@media only screen and (max-width: 767px) {
    #contents .topicpath li:not(:last-child):after {
        width: 1em;
        margin: 0 .3em
    }
}

#contents .topicpath li a,
#contents .topicpath li span {
    display: inline-block;
    vertical-align: middle
}

#footer {
    margin-top: 7.8125%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer {
        margin-top: 10.71429%
    }
}

@media only screen and (max-width: 767px) {
    #footer {
        margin-top: 3em
    }
}

#footer .wrap_footer {
    background: url(../image/bg2.jpg) repeat top left
}

@media only screen and (min-width: 768px) {
    #footer .wrap_footer {
        display: flex;
        flex-direction: row
    }
}

#footer .con_footer {
    text-align: center;
    color: #FFF;
    padding: 6.77083% 0
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer {
        padding: 8.125% 0
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer {
        padding: 4em 0
    }
}

@media only screen and (min-width: 768px) {
    #footer .con_footer {
        width: 50%;
        padding-left: 2em;
        padding-right: 2em
    }
}

#footer .con_footer .box_txt .logo {
    text-align: center
}

@media only screen and (max-width: 1199px) {
    #footer .con_footer .box_txt .logo {
        width: 65%;
        margin: 0 auto
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .logo {
        width: 50%
    }
}

#footer .con_footer .box_txt .logo a {
    display: inline-block;
    text-decoration: none
}

#footer .con_footer .box_txt .wrp_txt {
    font-size: 115%;
    letter-spacing: .08em;
    margin-top: 3.125%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt .wrp_txt {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_txt {
        font-size: 93%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt .wrp_txt {
        margin-top: 1.5em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_txt {
        margin-top: 2em
    }
}

@media only screen and (min-width: 768px) {
    #footer .con_footer .box_txt .wrp_txt {
        line-height: 1.875
    }
}

#footer .con_footer .box_txt .wrp_tel {
    font-size: 140%;
    font-family: 'Cormorant Infant', "Times New Roman", Times, Garamond, Georgia, serif;
    letter-spacing: .12em;
    margin-top: .5em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt .wrp_tel {
        font-size: 122%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_tel {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_tel {
        margin-top: .5em
    }
}

#footer .con_footer .box_txt .wrp_tel a,
#footer .con_footer .box_txt .wrp_tel span {
    color: #FFF;
    text-decoration: none;
    font-size: 144%
}

#footer .con_footer .box_txt #fnav {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 5.625%;
    position: relative;
    padding-bottom: 3em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt #fnav {
        margin-top: 2.5em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav {
        margin-top: 2em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav {
        padding-bottom: 4em
    }
}

#footer .con_footer .box_txt #fnav li:not(:first-child) {
    margin-left: 2.8em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt #fnav li:not(:first-child) {
        margin-left: 1.3em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav li:not(:first-child) {
        margin-left: 1.45em
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    #footer .con_footer .box_txt #fnav li:not(:first-child) {
        margin-left: 2em
    }
}

#footer .con_footer .box_txt #fnav li>a {
    color: #FFF;
    display: block;
    text-decoration: none;
    font-size: 129%;
    letter-spacing: .08em;
    transition: color 400ms ease;
    position: relative;
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-align: left;
    display: inline-block;
    font-feature-settings: normal;
    min-width: 1.1em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt #fnav li>a {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav li>a {
        font-size: 104%
    }
}

#footer .con_footer .box_txt #fnav li>a:before {
    content: '';
    width: 1px;
    height: 0;
    position: absolute;
    top: -1.5em;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    background: #a27c39;
    transition: height 400ms ease
}

#footer .con_footer .box_txt #fnav li>a:hover {
    color: #a27c39
}

#footer .con_footer .box_txt #fnav li>a:hover:before {
    height: 1.2em
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #footer .con_footer .box_txt #fnav li.sns {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        justify-content: center
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav li.sns {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        justify-content: center
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    #footer .con_footer .box_txt #fnav li.sns p:not(:first-child) {
        margin-left: 1.3em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav li.sns p:not(:first-child) {
        margin-left: 1.3em
    }
}

#footer .con_footer .box_txt #fnav li.sns p a {
    display: block;
    text-decoration: none;
    color: #FFF;
    font-size: 186%;
    transition: color 400ms ease
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt #fnav li.sns p a {
        font-size: 158%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt #fnav li.sns p a {
        font-size: 193%
    }
}

#footer .con_footer .box_txt #fnav li.sns p a:hover {
    color: #a27c39
}

#footer .con_footer .box_txt .wrp_link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1.8em
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_link {
        margin-top: 1.5em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_link {
        width: 80%;
        margin-left: auto;
        margin-right: auto
    }
}

#footer .con_footer .box_txt .wrp_link li {
    color: rgba(255, 255, 255, 0.5);
    display: inline-block;
    white-space: nowrap
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_link li {
        margin-bottom: .5em
    }
}

#footer .con_footer .box_txt .wrp_link li:not(:last-child):after {
    content: '｜';
    padding: 0 1em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt .wrp_link li:not(:last-child):after {
        padding: 0 0.8em
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_link li:not(:last-child):after {
        padding: 0 0.5em
    }
}

#footer .con_footer .box_txt .wrp_link li a {
    display: inline-block;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.5);
    font-size: 115%;
    letter-spacing: .08em;
    transition: color 400ms ease
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_footer .box_txt .wrp_link li a {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_footer .box_txt .wrp_link li a {
        font-size: 93%
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    #footer .con_footer .box_txt .wrp_link li a {
        font-size: 104%
    }
}

#footer .con_footer .box_txt .wrp_link li a:hover {
    color: #FFF
}

#footer .con_image {
    overflow: hidden
}

@media only screen and (min-width: 768px) {
    #footer .con_image {
        width: 50%;
        position: relative
    }
}

@media only screen and (min-width: 768px) {
    #footer .con_image img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 100%;
        max-width: inherit;
        min-width: 100%
    }
}

#footer .con_reserve {
    position: fixed;
    opacity: 0;
    z-index: 3000
}

@media only screen and (min-width: 768px) {
    #footer .con_reserve {
        width: 8.85417%;
        bottom: -220px;
        right: 1.5em;
        transform: scale(0.8);
        transition: opacity 400ms ease, bottom 10ms ease 400ms, transform 400ms ease
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer .con_reserve {
        width: 15.625%
    }
}

@media only screen and (max-width: 767px) {
    #footer .con_reserve {
        bottom: -110px;
        right: -1px;
        width: 72.4359%;
        transition: opacity 600ms ease 10ms, bottom 600ms ease 10ms
    }
}

.activeFix #footer .con_reserve {
    opacity: 1
}

@media only screen and (min-width: 768px) {
    .activeFix #footer .con_reserve {
        bottom: 1.5em;
        transform: scale(1);
        transition: opacity 600ms ease 10ms, bottom 10ms ease, transform 600ms ease 10ms
    }
}

@media only screen and (max-width: 767px) {
    .activeFix #footer .con_reserve {
        bottom: -1px
    }
}

#footer .con_reserve a {
    display: block;
    text-decoration: none
}

#footer .pagetop {
    position: fixed;
    transition: bottom 600ms ease 10ms, opacity 600ms ease 10ms;
    opacity: 0;
    z-index: 3000
}

@media only screen and (min-width: 768px) {
    #footer .pagetop {
        width: 22px;
        left: 30px;
        bottom: -150px
    }

    .activeFix #footer .pagetop {
        opacity: 1;
        bottom: 30px
    }
}

@media only screen and (max-width: 767px) {
    #footer .pagetop {
        width: 1.5em;
        left: 1.5em;
        bottom: -8em
    }

    .activeFix #footer .pagetop {
        opacity: 1;
        bottom: 1em
    }
}

#footer .pagetop a {
    display: block;
    text-decoration: none;
    transition: transform 400ms ease
}

@media only screen and (min-width: 1200px) {
    #footer .pagetop a:hover {
        transform: translateY(-1em)
    }
}

@media print {
    #footer .pagetop a:hover {
        transform: translateY(-1em)
    }
}

#footer #copyright {
    text-align: center;
    color: #b0b0b0;
    font-size: 100%;
    letter-spacing: .08em;
    padding: 1em 0
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    #footer #copyright {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    #footer #copyright {
        font-size: 86%
    }
}

@media only screen and (max-width: 767px) {
    #footer #copyright {
        padding-bottom: 0;
    }
}

#footer .con_footer .box_txt .wrp_sns{}

#footer .con_footer .box_txt .wrp_sns li i{
    color: #fff;
}

@media only screen and (max-width: 767px) {
    .menuList {
        position: fixed;
        right: -100%;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 3000;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        opacity: 0;
        background: #141212;
        color: #FFF;
        transition: opacity 1000ms ease, right 600ms ease
    }

    .menuList.active {
        right: 0;
        opacity: 1
    }

    .menuList .box_menu {
        width: 57.69231%;
        height: 100%;
        margin-left: 42.30769%;
        padding: 1.5em 2.5em;
        background: #141212;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch
    }

    .menuList .box_menu .wrp_menu li {
        margin-bottom: 1.5em
    }

    .menuList .box_menu .wrp_menu li a {
        color: #FFF;
        display: block;
        text-decoration: none;
        letter-spacing: .08em;
        font-size: 122%;
        position: relative
    }

    .menuList .box_menu .wrp_menu li a:before {
        content: '';
        width: 0;
        height: 1px;
        background: #a27c39;
        position: absolute;
        left: -2em;
        top: 50%;
        transform: translateY(-50%);
        transition: width 400ms ease
    }

    .menuList .box_menu .wrp_menu li a:hover:before,
    .menuList .box_menu .wrp_menu li a.active:before {
        width: 1.5em
    }

    .menuList .box_menu .wrp_sns {
        display: flex;
        flex-direction: row
    }

    .menuList .box_menu .wrp_sns li:not(:last-child) {
        margin-right: 1.5em
    }

    .menuList .box_menu .wrp_sns li a {
        color: #FFF;
        font-size: 186%;
        transition: color 400ms ease;
        text-decoration: none;
        display: block
    }

    .menuList .box_menu .wrp_sns li a:hover {
        color: #a27c39
    }

    .menuList .box_menu .wrp_snav {
        margin-top: 2em
    }

    .menuList .box_menu .wrp_snav li {
        margin-bottom: .8em
    }

    .menuList .box_menu .wrp_snav li a {
        color: rgba(255, 255, 255, 0.5);
        text-decoration: none;
        display: block;
        font-size: 97%;
        letter-spacing: .08em;
        white-space: nowrap
    }

    .menuList .box_menu .wrp_btn {
        text-align: right;
        margin-right: -1em
    }

    .menuList .box_menu .wrp_btn:last-child {
        margin-top: 3em
    }

    .menuList .box_menu .wrp_btn p {
        display: inline-block
    }

    .menuList .box_bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        background: url(../image/bg_menu.jpg) no-repeat top left;
        background-size: cover
    }
}

[class*="c-btn1"]>a,
[class*="c-btn1"]>span {
    display: block;
    text-decoration: none;
    font-size: 115%;
    letter-spacing: .08em;
    color: #FFF;
    border: 1px solid #686053;
    position: relative;
    text-align: left
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    [class*="c-btn1"]>a,
    [class*="c-btn1"]>span {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {

    [class*="c-btn1"]>a,
    [class*="c-btn1"]>span {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) {

    [class*="c-btn1"]>a,
    [class*="c-btn1"]>span {
        display: inline-block;
        padding: .8em 2.5em .8em 2em;
        background: url(../image/bg_btn1.png) no-repeat left top;
        background-size: cover;
        min-width: 220px
    }
}

@media only screen and (max-width: 767px) {

    [class*="c-btn1"]>a,
    [class*="c-btn1"]>span {
        text-align: left;
        padding: 1em 2.5em;
        background: url(../image/bg_btn1-sp.png) no-repeat center left;
        background-size: cover
    }
}

[class*="c-btn1"]>a:before,
[class*="c-btn1"]>span:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 400ms ease;
    z-index: 5
}

[class*="c-btn1"]>a:after,
[class*="c-btn1"]>span:after {
    content: '';
    width: 2em;
    height: 1px;
    background: #b0b0b0;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1em;
    z-index: 8;
    transition: all 400ms ease
}

[class*="c-btn1"]>a span,
[class*="c-btn1"]>span span {
    position: relative;
    z-index: 10
}

[class*="c-btn1"]>a:hover:before,
[class*="c-btn1"]>span:hover:before {
    opacity: 1
}

[class*="c-btn1"]>a:hover:after,
[class*="c-btn1"]>span:hover:after {
    right: 0
}

@media only screen and (min-width: 768px) {

    .c-btn1__vertical>a,
    .c-btn1__vertical>span {
        text-align: center;
        padding: 2.5em .8em;
        writing-mode: tb-rl;
        writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -o-writing-mode: vertical-rl;
        -webkit-writing-mode: vertical-rl;
        text-align: left;
        display: inline-block;
        font-feature-settings: normal;
        background: url(../image/bg_btn1_v.png) no-repeat center top;
        background-size: cover;
        min-width: auto
    }

    .c-btn1__vertical>a:after,
    .c-btn1__vertical>span:after {
        top: auto;
        bottom: -1em;
        width: 1px;
        height: 2em;
        left: 0 !important;
        right: 0 !important;
        margin: 0 auto;
        transform: none
    }

    .c-btn1__vertical>a:hover:after,
    .c-btn1__vertical>span:hover:after {
        bottom: 0;
        width: 1px
    }
}

.c-btn2>a,
.c-btn2>span {
    display: inline-block;
    text-decoration: none;
    background: url(../image/bg_rsv.png) no-repeat top left;
    background-size: cover;
    position: relative
}

@media only screen and (min-width: 768px) {

    .c-btn2>a,
    .c-btn2>span {
        min-width: 280px
    }
}

@media only screen and (max-width: 767px) {

    .c-btn2>a,
    .c-btn2>span {
        width: 85%
    }
}

.c-btn2>a span,
.c-btn2>span span {
    color: #FFF;
    font-size: 115%;
    letter-spacing: .08em;
    display: block;
    padding: .8em 2.5em;
    position: relative;
    z-index: 10;
    text-align: left
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-btn2>a span,
    .c-btn2>span span {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {

    .c-btn2>a span,
    .c-btn2>span span {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {

    .c-btn2>a span,
    .c-btn2>span span {
        padding: 1em 2em
    }
}

.c-btn2>a:before,
.c-btn2>span:before {
    content: '';
    width: 100%;
    height: 100%;
    background: url(../image/bg_rsv-hover.png) no-repeat top left;
    background-size: cover;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 400ms ease;
    z-index: 5;
    opacity: 0
}

.c-btn2>a:after,
.c-btn2>span:after {
    content: '';
    width: 2em;
    height: 1px;
    background: #b0b0b0;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1em;
    z-index: 10;
    transition: all 400ms ease
}

.c-btn2>a:hover:before,
.c-btn2>span:hover:before {
    opacity: 1
}

.c-btn2>a:hover:after,
.c-btn2>span:hover:after {
    right: 0
}

[class*="c-st1"] {
    font-weight: normal;
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-align: left;
    display: inline-block;
    font-feature-settings: normal;
    text-orientation: mixed;
    position: relative
}

[class*="c-st1"]:before {
    content: '';
    display: block;
    height: 0;
    position: absolute;
    background: url(../image/bg_brush_b.png) no-repeat top left;
    background-size: 100% auto;
    z-index: 10
}

@media only screen and (min-width: 1200px) {
    [class*="c-st1"]:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media print {
    [class*="c-st1"]:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media only screen and (min-width: 768px) {
    [class*="c-st1"]:before {
        width: 232.14286%;
        padding-bottom: 139.41176%;
        min-height: 237px
    }
}

@media only screen and (min-width: 1200px) {
    [class*="c-st1"]:before {
        left: -160%;
        top: -60%
    }
}

@media print {
    [class*="c-st1"]:before {
        left: -160%;
        top: -60%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st1"]:before {
        left: -140%;
        top: -30%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st1"]:before {
        width: 8em;
        padding-bottom: 8.5em;
        left: -4em;
        top: -2em
    }
}

[class*="c-st1"] span {
    font-size: 393%;
    display: block;
    font-weight: normal;
    letter-spacing: .68em;
    text-align: left
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st1"] span {
        font-size: 272%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st1"] span {
        font-size: 215%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st1"] span {
        letter-spacing: .4em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st1"] span {
        letter-spacing: .5em
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    [class*="c-st1"] span {
        font-size: 322%
    }
}

[class*="c-st1"] i {
    font-size: 143%;
    font-weight: normal;
    letter-spacing: .32em;
    text-align: left
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st1"] i {
        font-size: 86%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st1"] i {
        font-size: 79%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st1"] i {
        letter-spacing: .32em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st1"] i {
        letter-spacing: .15em
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    [class*="c-st1"] i {
        font-size: 100%
    }
}

.c-st1__white {
    color: #FFF
}

.c-st1__white:before {
    content: '';
    display: block;
    height: 0;
    position: absolute;
    background: url(../image/bg_brush.png) no-repeat top left;
    background-size: 100% auto
}

@media only screen and (min-width: 1200px) {
    .c-st1__white:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media print {
    .c-st1__white:before {
        width: 260px;
        padding-bottom: 237px
    }
}

[class*="c-st2"] {
    font-weight: normal;
    position: relative;
    text-align: center;
    display: inline-block
}

[class*="c-st2"]:before {
    content: '';
    display: block;
    height: 0;
    position: absolute;
    background: url(../image/bg_brush_b.png) no-repeat top left;
    background-size: 100% auto;
    z-index: 10
}

@media only screen and (min-width: 1200px) {
    [class*="c-st2"]:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media print {
    [class*="c-st2"]:before {
        width: 260px;
        padding-bottom: 237px
    }
}

@media only screen and (min-width: 1200px) {
    [class*="c-st2"]:before {
        width: 260px;
        height: 237px;
        left: -221px;
        top: -70px
    }
}

@media print {
    [class*="c-st2"]:before {
        width: 260px;
        height: 237px;
        left: -221px;
        top: -70px
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st2"]:before {
        font-size: 608%;
        width: 2.6em;
        height: 2.37em;
        left: -2.2em;
        top: -.8em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st2"]:before {
        font-size: 322%;
        width: 2.6em;
        height: 2.37em;
        left: -2.2em;
        top: -.8em
    }
}

[class*="c-st2"] span {
    font-size: 265%;
    display: block;
    font-weight: normal;
    letter-spacing: .28em;
    line-height: 1.2973
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st2"] span {
        font-size: 229%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st2"] span {
        font-size: 165%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st2"] span {
        letter-spacing: .28em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st2"] span {
        letter-spacing: .2em
    }
}

[class*="c-st2"] i {
    font-size: 143%;
    font-weight: normal;
    letter-spacing: .32em;
    margin-top: .5em;
    display: block
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st2"] i {
        font-size: 86%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st2"] i {
        font-size: 79%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-st2"] i {
        letter-spacing: .32em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-st2"] i {
        letter-spacing: .15em
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1560px) {
    [class*="c-st2"] i {
        font-size: 129%
    }
}

.c-st2__left {
    text-align: left;
    display: block
}

.c-st2__left span {
    display: block
}

.c-menu__btn {
    width: 2.5em;
    height: 1.2em;
    position: relative;
    cursor: pointer
}

.c-menu__btn i {
    width: 80%;
    height: 1px;
    display: block;
    background: #FFF;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    transition: all 600ms ease
}

.c-menu__btn i:first-child {
    top: 0
}

.c-menu__btn i:nth-child(2) {
    top: 50%
}

.c-menu__btn i:nth-child(3) {
    top: 100%
}

.c-menu__btn.active i:first-child {
    width: 100%;
    top: 50%;
    transform: rotate(-30deg)
}

.c-menu__btn.active i:nth-child(2) {
    opacity: 0
}

.c-menu__btn.active i:nth-child(3) {
    width: 100%;
    top: 50%;
    transform: rotate(30deg)
}

.c-intro {
    overflow: hidden;
    position: relative
}

.c-intro .box_txt {
    max-width: 1000px;
    width: 52.08333%;
    margin: 0 auto;
    padding: 8.33333% 0 9.53125%
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt {
        padding: 2em 0 4em
    }
}

.c-intro .box_txt:before {
    content: '';
    display: block;
    width: 41.19792%;
    padding-bottom: 8.28125%;
    height: 0;
    background: url(../image/bg_cloud.png) no-repeat top left;
    background-size: 100% auto;
    position: absolute;
    right: -10%;
    top: 14.05797%
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt:before {
        top: .5em
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt:before {
        width: 60.84615%;
        padding-bottom: 12.23077%
    }
}

.c-intro .box_txt:after {
    content: '';
    display: block;
    width: 41.19792%;
    padding-bottom: 8.28125%;
    height: 0;
    background: url(../image/bg_cloud.png) no-repeat top left;
    background-size: 100% auto;
    position: absolute;
    left: -12%;
    bottom: -2.31884%;
    transform: scale(1, -1)
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt:after {
        width: 60.84615%;
        padding-bottom: 12.23077%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt {
        width: 71.42857%
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt {
        width: 80%
    }
}

.c-intro .box_txt .txt_lead span {
    font-size: 200%;
    letter-spacing: .28em;
    display: block
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt .txt_lead span {
        font-size: 179%
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .txt_lead span {
        font-size: 136%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt .txt_lead span {
        letter-spacing: .27em
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .txt_lead span {
        letter-spacing: .2em
    }
}

.c-intro .box_txt .txt_lead i {
    font-size: 143%;
    letter-spacing: .32em;
    color: #8f8f8f;
    display: block;
    margin-top: 1em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt .txt_lead i {
        font-size: 129%
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .txt_lead i {
        font-size: 108%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt .txt_lead i {
        letter-spacing: .3em
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .txt_lead i {
        letter-spacing: .24em
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .txt_lead i {
        margin-top: .5em
    }
}

.c-intro .box_txt .wrp_txt {
    font-size: 129%;
    letter-spacing: .08em;
    margin-top: 6%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt .wrp_txt {
        font-size: 115%
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .wrp_txt {
        font-size: 104%
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .wrp_txt {
        margin-top: 1.5em
    }
}

@media only screen and (min-width: 1200px) {
    .c-intro .box_txt .wrp_txt {
        line-height: 2.77778
    }
}

@media print {
    .c-intro .box_txt .wrp_txt {
        line-height: 2.77778
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-intro .box_txt .wrp_txt {
        line-height: 2.22222
    }
}

@media only screen and (max-width: 767px) {
    .c-intro .box_txt .wrp_txt {
        line-height: 1.77778
    }
}

[class*="c-sst1"] {
    position: relative
}

[class*="c-sst1"]:before {
    content: '';
    width: 8px;
    height: 8px;
    background: #101010;
    border-radius: 15px;
    display: block;
    margin: 0 auto .8em
}

[class*="c-sst1"] span {
    font-size: 179%;
    letter-spacing: .28em;
    display: block;
    text-indent: .2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-sst1"] span {
        font-size: 143%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-sst1"] span {
        font-size: 129%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-sst1"] span {
        letter-spacing: .28em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-sst1"] span {
        letter-spacing: .2em
    }
}

[class*="c-sst1"] i {
    font-size: 115%;
    letter-spacing: .32em;
    display: block;
    margin-top: .3em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-sst1"] i {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-sst1"] i {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    [class*="c-sst1"] i {
        letter-spacing: .3em
    }
}

@media only screen and (max-width: 767px) {
    [class*="c-sst1"] i {
        letter-spacing: .25em
    }
}

.c-sst1__left {
    padding-left: 1.7em;
    position: relative
}

.c-sst1__left:before {
    position: absolute;
    left: 0;
    top: 50%;
    margin: -4px 0 0
}

.c-sst1__left span {
    text-align: center;
    margin: 0 auto;
    margin-right: .4em;
    display: inline-block
}

.c-sst1__left i {
    display: inline-block;
    text-align: center;
    margin: 0
}

.c-lead1 {
    font-size: 143%;
    letter-spacing: .28em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-lead1 {
        font-size: 136%
    }
}

@media only screen and (max-width: 767px) {
    .c-lead1 {
        font-size: 129%
    }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-lead1 {
        letter-spacing: .28em
    }
}

@media only screen and (max-width: 767px) {
    .c-lead1 {
        letter-spacing: .2em
    }
}

.c-txt1 {
    font-size: 115%;
    letter-spacing: .08em;
    color: #101010
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-txt1 {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {
    .c-txt1 {
        font-size: 100%
    }
}

@media only screen and (min-width: 768px) {
    .c-txt1 {
        line-height: 1.875
    }
}

@media only screen and (max-width: 767px) {
    .c-txt1 {
        line-height: 1.625
    }
}

.c-tbl {
    border-top: 1px solid #b0b0b0;
    text-align: left
}

.c-tbl tr th,
.c-tbl tr td {
    font-weight: normal;
    border-bottom: 1px solid #b0b0b0;
    font-size: 115%;
    letter-spacing: .08em;
    line-height: 1.5625;
    padding: 1em 2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {

    .c-tbl tr th,
    .c-tbl tr td {
        font-size: 108%
    }
}

@media only screen and (max-width: 767px) {

    .c-tbl tr th,
    .c-tbl tr td {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {

    .c-tbl tr th,
    .c-tbl tr td {
        padding: 1em
    }
}

.c-tbl tr th {
    background: rgba(16, 16, 16, 0.05);
    word-break: keep-all;
    overflow-wrap: break-word
}

.c-tbl tr td {
    line-break: strict
}

@media only screen and (max-width: 767px) {

    .c-tbl.block tr th,
    .c-tbl.block tr td {
        display: block;
        width: 100%
    }

    .c-tbl.block tr th {
        border-bottom: none
    }
}

@media only screen and (min-width: 768px) {
    .c-pnav1 {
        display: flex;
        flex-direction: row;
        justify-content: center;
        max-width: 1200px;
        margin: 0 auto
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 {
        flex-wrap: wrap
    }
}

@media only screen and (min-width: 768px) {
    .c-pnav1 li {
        width: 19%
    }

    .c-pnav1 li:not(:last-child) {
        margin-right: 1.25%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 li {
        margin-bottom: 1em
    }
}

.c-pnav1 li a {
    display: block;
    text-decoration: none
}

@media only screen and (max-width: 767px) {
    .c-pnav1 li a {
        position: relative;
        display: flex;
        flex-direction: row;
        align-items: center;
        padding-bottom: .8em;
        border-bottom: 1px solid #a27c39
    }

    .c-pnav1 li a:after {
        font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        content: "";
        display: inline-block;
        margin-left: .5em;
        font-size: 129%
    }
}

.c-pnav1 li a:hover .img:after {
    opacity: 1
}

.c-pnav1 li a:hover .txt:after {
    width: 100%;
    right: auto;
    left: 0
}

.c-pnav1 li a .img {
    position: relative
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-pnav1 li a .img {
        overflow: hidden
    }

    .c-pnav1 li a .img img {
        position: relative;
        width: 120%;
        max-width: none;
        margin-left: -10%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 li a .img {
        width: 30%;
        overflow: hidden
    }

    .c-pnav1 li a .img img {
        position: relative;
        width: 120%;
        max-width: none;
        margin-left: -10%
    }
}

.c-pnav1 li a .img:after {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(162, 124, 57, 0.6);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    opacity: 0;
    transition: opacity 400ms ease
}

.c-pnav1 li a .txt {
    text-align: center;
    font-size: 115%;
    color: #8f8f8f;
    letter-spacing: .08em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    .c-pnav1 li a .txt {
        font-size: 100%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 li a .txt {
        font-size: 93%
    }
}

@media only screen and (min-width: 768px) {
    .c-pnav1 li a .txt {
        position: relative;
        margin-top: .5em;
        padding-bottom: 1em
    }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
    .c-pnav1 li a .txt {
        font-size: 93%
    }
}

@media only screen and (max-width: 767px) {
    .c-pnav1 li a .txt {
        width: 70%
    }
    #fixnav{
        display: block !important;
    }
    #fixnav .gnav li a{
        font-size: 100%;
    }
}

.c-pnav1 li a .txt:after {
    content: '';
    width: 0;
    height: 1px;
    background: #a27c39;
    position: absolute;
    right: 0;
    bottom: 0;
    transition: width 400ms ease, right 400ms ease
}

.c-pnav1 li a .txt b {
    font-weight: bold;
    color: #101010;
    padding-left: .3em;
    font-size: 113%;
    word-break: keep-all;
    overflow-wrap: break-word
}

#header{
    position: relative;
}
#header .nav_logo{
    position: absolute;
    top: 20%;
    left: 6%;
    height: 60px;
}
#header .nav_logo img{
    max-width: 150px;
    height: 100%;
    width: auto;
}