body {
    -webkit-text-size-adjust: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td,
figure {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1;
}

img {
    line-height: 0;
}

figure {
    line-height: 1;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

fieldset,
img {
    border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
}

li {
    list-style: none;
}

caption,
th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
}

q:before,
q:after {
    content: "";
}

abbr,
acronym {
    border: 0;
    font-variant: normal;
}

sup {
    vertical-align: text-top;
}

sub {
    vertical-align: text-bottom;
}

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}

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

legend {
    color: #000;
}

.sample:nth-child(1) {
    -webkit-animation: open-h1 1s ease 0.7s;
    animation: open-h1 1s ease 0.7s;
    animation: open-h1 1s ease 0.7s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-fill-mode: both;
}

.sample:nth-child(2) {
    -webkit-animation: open-h1 1s ease 1.2s;
    animation: open-h1 1s ease 1.2s;
    animation: open-h1 1s ease 1.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-fill-mode: both;
}

.sample:nth-child(3) {
    -webkit-animation: open-h1 1s ease 1.7s;
    animation: open-h1 1s ease 1.7s;
    animation: open-h1 1s ease 1.7s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    animation-fill-mode: both;
}

@-webkit-keyframes anime1 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

@keyframes anime1 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
    }
}

body {
    -webkit-text-size-adjust: 100%;
    position: relative;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media screen and (min-width: 751px) {
    body {
        padding-top: 0px;
    }
}

@media screen and (min-width: 0px) and (max-width: 750px) {
    .wrapper {
        overflow: hidden;
    }
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#wrap {
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 1.2s ease 0s, visibility 1.2s ease 0s;
    transition: opacity 1.2s ease 0s, visibility 1.2s ease 0s;
    position: relative;
}

#wrap.fadein {
    opacity: 1;
    visibility: visible;
}

@media only screen and (max-width: 500px) {
    #wrap:before {
        content: " ";
        display: block;
        width: 100%;
        height: 13.992vw;
        background: #fff;
    }
}

@media only screen and (max-width: 500px) {
    html {
        overscroll-behavior: none;
    }
}

body {
    width: 100%;
    min-width: 1024px;
    image-rendering: -webkit-optimize-contrast;
    -webkit-font-smoothing: antialiased;
    color: #282f37;
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    body {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    body {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    body {
        font-size: 3.3vw;
    }
}

@media only screen and (max-width: 500px) {
    body {
        min-width: 0;
        overflow-x: hidden;
    }
}

body.hidden {
    overflow: hidden;
}

body.under {
    background-image: url(assets/images/common/main_bg_pc.jpg);
    background-size: 50px 50px;
}

@media only screen and (min-width: 499px) {
    body.under #wrap {
        padding-top: 122px;
    }
}

img {
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: top;
    -webkit-backface-visibility: hidden;
}

a {
    text-decoration: none;
    outline: none;
    color: inherit;
}

.inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1020px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .inner {
        width: 1020px;
    }
}

@media only screen and (max-width: 500px) {
    .inner {
        width: 88.8888vw;
        max-width: none;
        padding: 0;
    }
}

.inner1080 {
    position: relative;
    width: 100%;
    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .inner1080 {
        width: 1024px;
    }
}

@media only screen and (max-width: 500px) {
    .inner1080 {
        width: 88.8888vw;
        max-width: none;
        padding: 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .inner1080.inner1080small {
        width: 931px;
    }
}

.inner984 {
    position: relative;
    width: 100%;
    max-width: 984px;
    margin-right: auto;
    margin-left: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 500px) {
    .inner984 {
        width: 88.8888vw;
        max-width: none;
        padding: 0;
    }
}

@media only screen and (min-width: 499px) {
    .section {
        padding: 70px 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .section {
        padding: 60px 0;
    }
}

@media only screen and (max-width: 500px) {
    .section {
        padding: 8.3333vw 0;
    }
}

@media only screen and (min-width: 499px) {
    .hoverOpacity {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .hoverOpacity:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .pcH {
        display: none !important;
    }
}

@media only screen and (min-width: 1366px) {
    .bigPcH {
        display: none !important;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .smallPcH {
        display: none !important;
    }
}

@media only screen and (max-width: 500px) {
    .spH {
        display: none !important;
    }
}

.secBg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100vw;
    background-size: cover;
    background-position: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    overflow: hidden;
}

@media only screen and (min-width: 499px) {
    .secBg {
        height: 100vh !important;
    }
}

@media only screen and (max-width: 500px) {
    .secBg {
        position: absolute;
    }
}

@media only screen and (min-width: 499px) {
    .anchor {
        padding-top: 240px;
        margin-top: -240px;
    }
}

@media only screen and (max-width: 500px) {
    .anchor {
        padding-top: 16vw;
        margin-top: -16vw;
    }
}

.palt {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

@media only screen and (max-width: 500px) {
    .paltSP {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }
}

.secWrapBg {
    position: relative;
    z-index: 1;
}

.secWrapBg.bgWhite {
    background: #fff;
}

.secWrapBg.bgMainBg {
    background-image: url(assets/images/common/main_bg_pc.jpg);
    background-size: 50px 50px;
}

.secWrapBg.bgBrownBg {
    background: #ebe4dc;
}

.secWrapBg.bgGlBg {
    background: #dfdfd2;
}

@media only screen and (max-width: 500px) {
    .secWrapBg.ptsp {
        padding-top: 13.0555vw;
        margin-top: 0;
    }
}

@media only screen and (max-width: 500px) {
    .secWrapBgSp {
        position: relative;
        z-index: 1;
    }
    .secWrapBgSp.bgWhite {
        background: #fff;
    }
    .secWrapBgSp.bgMainBg {
        background-image: url(assets/images/common/main_bg_pc.jpg);
        background-size: 50px 50px;
    }
    .secWrapBgSp.bgBrownBg {
        background: #ebe4dc;
    }
}

.fadein {
    opacity: 0;
    -webkit-transition: opacity 1s ease 0s, margin-top 1s ease 0s;
    transition: opacity 1s ease 0s, margin-top 1s ease 0s;
}

.fadein.scrollin {
    opacity: 1;
}

.fadein.slideT {
    position: relative;
    margin-top: -30px;
}

.fadein.slideT.scrollin {
    margin-top: 0;
}

.fadein.scaleBig {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
}

.fadein.scaleBig.scrollin {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.fadein.scaleSmall {
    -webkit-transform: scale(0.85);
    transform: scale(0.85);
}

.fadein.scaleSmall.scrollin {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.scaleWrap {
    overflow: hidden;
}

.secTtl {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .secTtl {
        margin-bottom: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secTtl {
        margin-bottom: 50px;
    }
}

@media only screen and (max-width: 500px) {
    .secTtl {
        margin-bottom: 6.8vw;
    }
}

.secTtl span {
    display: block;
}

.secTtl .en {
    letter-spacing: 0.08em;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .secTtl .en {
        font-size: 42px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secTtl .en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 500px) {
    .secTtl .en {
        font-size: 6.25vw;
    }
}

.secTtl .jp {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-top: 0.5em;
}

.secTtl.secTtlCur .en {
    color: #2f4438;
    letter-spacing: normal;
    font-family: "Dancing Script", cursive;
}

@media only screen and (min-width: 499px) {
    .secTtl.secTtlCur .en {
        font-size: 50px;
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secTtl.secTtlCur .en {
        font-size: 41px;
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 500px) {
    .secTtl.secTtlCur .en {
        font-size: 12.5vw;
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 500px) {
    .footerTopArea .secTtl .en,
    #about .secTtl .en {
        font-size: 6.25vw;
    }
}

@media only screen and (min-width: 499px) {
    .under .secTtl {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .under .secTtl {
        margin-bottom: 41px;
    }
}

@media only screen and (min-width: 499px) {
    .under .secTtl.secTtlUnderTop {
        margin-top: 100px;
        margin-bottom: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .under .secTtl.secTtlUnderTop {
        margin-top: 82px;
        margin-bottom: 66px;
    }
}

@media only screen and (max-width: 500px) {
    .under .secTtl.secTtlUnderTop {
        padding-top: 8.3333vw;
        margin-bottom: 8.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .under .secTtl.secTtlUnderTopCommentAvailable {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .under .secTtl.secTtlUnderTopCommentAvailable {
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .under .secTtl.secTtlUnderTopCommentAvailable {
        margin-bottom: 4.1666vw;
    }
}

@media only screen and (min-width: 499px) {
    .under .secTtl.secTtlUnderTopCommentAvailablePC {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .under .secTtl.secTtlUnderTopCommentAvailablePC {
        margin-bottom: 16px;
    }
}

.secLead {
    text-align: center;
    letter-spacing: 0.1em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .secLead {
        font-size: 24px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secLead {
        font-size: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .secLead {
        font-size: 4.1666vw;
    }
}

@media only screen and (min-width: 499px) {
    .secLead {
        margin-bottom: 15px;
        line-height: 2;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secLead {
        margin-bottom: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .secLead {
        margin-bottom: 2.7777vw;
        line-height: 1.666;
    }
}

.secComment {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .secComment {
        margin-bottom: 45px;
        line-height: 2.14;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secComment {
        margin-bottom: 37px;
    }
}

@media only screen and (max-width: 500px) {
    .secComment {
        margin-bottom: 7.6388vw;
        line-height: 1.6666;
    }
    .secComment.mb3sp {
        margin-bottom: 3vw;
    }
}

@media only screen and (max-width: 500px) {
    .secComment.secCommentUnderTop {
        text-align: left;
    }
}

@media only screen and (min-width: 499px) {
    .blockTtl {
        margin-bottom: 78px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .blockTtl {
        margin-bottom: 64px;
    }
}

@media only screen and (max-width: 500px) {
    .blockTtl {
        margin-bottom: 7.6388vw;
    }
}

@media only screen and (max-width: 500px) {
    .blockTtl img {
        display: block;
        margin: 0 auto;
    }
}

@media only screen and (min-width: 499px) {
    .blockTtl img.topChapelTxt {
        width: 433px;
        height: auto;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .blockTtl img.topChapelTxt {
        width: 357px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .blockTtl img.topChapelTxt {
        width: 70vw;
        height: auto;
    }
}

@media only screen and (min-width: 499px) {
    .blockTtl img.topBanquetTxt {
        width: 410px;
        height: auto;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .blockTtl img.topBanquetTxt {
        width: 338px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .blockTtl img.topBanquetTxt {
        width: 66.3977vw;
        height: auto;
    }
}

@media only screen and (min-width: 499px) {
    .blockTtl img.topCuisineTxt {
        width: 416px;
        height: auto;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .blockTtl img.topCuisineTxt {
        width: 343px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .blockTtl img.topCuisineTxt {
        width: 68.1944vw;
        height: auto;
    }
}

@media only screen and (min-width: 499px) {
    .blockTxt {
        width: 421px;
        line-height: 2;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .blockTxt {
        width: 360px;
    }
}

@media only screen and (max-width: 500px) {
    .blockTxt {
        line-height: 1.875;
        padding: 0 0.5em;
    }
}

.white {
    color: #fff;
}

.gold {
    color: #aaa099;
}

.brown {
    color: #3f3020;
}

.red {
    color: #2f4438;
}

.center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.btn a,
.btn button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
    display: block;
    position: relative;
    color: #fff;
    text-align: center;
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .btn a,
    .btn button {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .btn a:hover,
    .btn button:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .btn a,
    .btn button {
        margin-top: 40px;
        width: 260px;
        padding: 17px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .btn a,
    .btn button {
        margin-top: 35px;
        width: 250px;
        padding: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .btn a,
    .btn button {
        margin: 11.3888vw auto 0;
        width: 57.7777vw;
        padding: 3.4722vw;
    }
}

.btn a:after,
.btn button:after {
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 499px) {
    .btn a:after,
    .btn button:after {
        width: 22px;
        height: 5px;
        right: 14px;
        background-image: url(assets/images/common/arw_btn_w.svg);
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .btn a:after,
    .btn button:after {
        width: 20px;
        height: 4px;
        right: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .btn a:after,
    .btn button:after {
        width: 4.8888vw;
        height: 1.5vw;
        right: 3.055vw;
        background-image: url(assets/images/common/arw_btn_w_sp.svg);
    }
}

.btn button {
    font-weight: bold;
}

.btn.btnBlack a,
.btn.btnBlack button {
    background: #282f37;
}

.btn.btnGold a,
.btn.btnGold button {
    background: #cac0b4;
}

.btn.btnPink a,
.btn.btnPink button,
.btn.btnGreen a,
.btn.btnGreen button {
    background: #2f4438;
}

.btn.btnBlue a,
.btn.btnBlue button {
    background: #4c3c2e;
    color: #ebe4dc;
}

.btn.btnBlue a:after,
.btn.btnBlue button:after {
    background-image: url(assets/images/common/arw_btn_b.svg);
}

.btn.btnPink a,
.btn.btnPink button {
    margin-right: auto;
    margin-left: auto;
}

.btn.btnBrown a,
.btn.btnBrown button {
    background: #3f3020;
}

#header {
    background: #fff;
    width: 100%;
    min-width: 1024px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: relative;
    z-index: 10000;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

@media only screen and (max-width: 500px) {
    #header {
        min-width: 0;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 500;
        border-bottom: 1px solid #b7b4ad;
    }
}

#header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

@media only screen and (max-width: 500px) {
    #header.fixed {
        z-index: 500;
    }
}

.headerInner {
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .headerInner {
        width: 980px;
        max-width: 100%;
    }
}

@media only screen and (max-width: 500px) {
    .headerInner {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .headerTop {
        border-bottom: 1px solid #b7b4ad;
    }
}

@media only screen and (min-width: 499px) {
    .headerTop .headerInner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 22px 0 20px;
    }
}

@media only screen and (max-width: 500px) {
    .headerTop .headerInner {
        padding: 3.472vw;
    }
}

@media only screen and (min-width: 499px) {
    .headerLogo {
        width: 108px;
        margin-right: auto;
        margin-left: 0;
        -ms-flex: 0 1 auto;
    }
}

@media only screen and (max-width: 500px) {
    .headerLogo {
        width: 20.8333vw;
        margin-left: 1.3888vw;
    }
}

.headerRight {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.headerInfo {
    text-align: right;
    margin-right: 10px;
    -ms-flex: 0 1 auto;
}

.headerTel {
    margin-bottom: 5px;
    letter-spacing: 0.1em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .headerTel a {
        cursor: default;
    }
}

.headerTel a span {
    font-size: 150%;
}

.headerOpen {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .headerOpen {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .headerOpen {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .headerOpen {
        font-size: 3.3vw;
    }
}

.headerSubNav {
    -ms-flex: 0 1 auto;
}

.headerSubNav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.headerSubNavList {
    margin-left: 3px;
    position: relative;
}

.headerSubNavList>a {
    display: block;
    padding: 10px 15px;
    text-align: center;
    background: #3f3020;
    color: #fff;
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .headerSubNavList>a {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .headerSubNavList>a {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .headerSubNavList>a {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .headerSubNavList>a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .headerSubNavList>a:hover {
        opacity: 0.7;
    }
}

.headerSubNavList.headerSubNavListFair>a {
    width: auto;
    background: #2f4438;
    padding: 10px 8px;
}

.headerSubNavList.headerSubNavListRestaurant>a {
    width: auto;
    background: #2f4438;
    padding: 10px 8px;
}

.headerNavWrap {
    border-bottom: 1px solid #b7b4ad;
}

.headerNav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.headerNavList a {
    display: block;
    text-align: center;
    padding: 15px 0;
    position: relative;
    height: 40px;
}

.headerNavList a:after {
    content: " ";
    display: block;
    width: 1px;
    height: 13px;
    background: #b7b4ad;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    right: 0;
}

.headerNavList a:first-child:before {
    content: " ";
    display: block;
    width: 1px;
    height: 13px;
    background: #b7b4ad;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    left: 0;
}

.headerNavList a span {
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 100%;
    display: block;
    letter-spacing: 0.1em;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .headerNavList a span {
        -webkit-transition: 0.2s;
        transition: 0.2s;
        cursor: pointer;
    }
}

@media only screen and (min-width: 499px) {
    .headerNavList a span {
        font-size: 13px;
        line-height: 0;
    }
}

@media only screen and (max-width: 500px) {
    .headerNavList a span {
        font-size: 3.3vw;
    }
}

.headerNavList a .navOn {
    opacity: 0;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .headerNavList a .navOn {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .headerNavList a .navOn {
        font-size: 12px;
    }
}

.headerNavList a .navOff {
    opacity: 1;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .headerNavList a .navOff {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .headerNavList a .navOff {
        font-size: 12px;
    }
}

@media only screen and (min-width: 499px) {
    .headerNavList a {
        -webkit-transition: 0.2s;
        transition: 0.2s;
        cursor: pointer;
    }
}

.headerNavList a:hover {
    background: #f4f0ed;
}

.headerNavList a:hover .navOn {
    opacity: 1;
}

.headerNavList a:hover .navOff {
    opacity: 0;
}

.headerNavList:first-child span {
    border-left: 1px solid #b7b4ad;
}

@media only screen and (min-width: 499px) {
    .headerNavListPlan {
        width: 21%;
    }
}

@media only screen and (min-width: 499px) {
    .headerNavListAccess {
        width: 22.8%;
    }
}

@media only screen and (min-width: 499px) {
    .headerNavListInfo {
        width: 28.8%;
    }
}

@media only screen and (min-width: 499px) {
    .headerNavListFair {
        width: 27.4%;
    }
}

.navRecommend {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 10000;
    background: #ebe4dc;
    padding: 6px;
    -webkit-box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 4px 4px 0 0 rgba(0, 0, 0, 0.2);
    margin-top: 8px;
}

@media only screen and (min-width: 499px) {
    .navRecommend {
        width: 373px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommend {
        width: 330px;
    }
}

.navRecommend:before {
    content: "　";
    width: 15px;
    height: 15px;
    background: #ebe4dc;
    -webkit-transform: rotate(45deg) translateX(-50%);
    transform: rotate(45deg) translateX(-50%);
    position: absolute;
    z-index: -1;
    top: 0;
    left: 50%;
}

.navRecommend h3 {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .navRecommend h3 {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommend h3 {
        margin-bottom: 16px;
    }
}

.navRecommend h3 span {
    display: block;
}

.navRecommend h3 .en {
    color: #2f4438;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .navRecommend h3 .en {
        font-size: 32px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommend h3 .en {
        font-size: 26px;
    }
}

.navRecommend h3 .jp {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-top: 0.5em;
}

@media only screen and (min-width: 499px) {
    .navRecommend h3 .jp {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommend h3 .jp {
        font-size: 11px;
    }
}

.navRecommendInner {
    border: 2px dotted #e1d9d2;
    padding: 20px 17px 17px;
}

@media only screen and (min-width: 499px) {
    .navRecommendList {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommendList {
        margin-bottom: 8px;
    }
}

.navRecommendList a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .navRecommendList a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .navRecommendList a:hover {
        opacity: 0.7;
    }
}

.navRecommendList a:hover {
    opacity: 0.3;
}

.navRecommendList:last-child {
    margin-bottom: 0;
}

.navRecommendTh {
    width: 27.6%;
}

.navRecommendTh span {
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
    background-size: cover;
    background-position: center;
}

.navRecommendTxt {
    width: 67.7%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.navRecommendTxtInner {
    -ms-flex: 0 1 auto;
}

.navRecommendDate {
    color: #2f4438;
    letter-spacing: 0.08em;
}

@media only screen and (min-width: 499px) {
    .navRecommendDate {
        font-size: 13px;
        margin-bottom: 5px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommendDate {
        font-size: 11px;
    }
}

.navRecommendTime {
    color: #2f4438;
    letter-spacing: 0.08em;
}

@media only screen and (min-width: 499px) {
    .navRecommendTime {
        font-size: 13px;
        margin-bottom: 5px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommendTime {
        font-size: 11px;
        margin-bottom: 4px;
    }
}

.navRecommendComment {
    letter-spacing: 0.08em;
    line-height: 1.846;
    -ms-flex: 0 1 auto;
    word-break: break-all;
    line-break: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .navRecommendComment {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .navRecommendComment {
        font-size: 11px;
    }
}

.menu-trigger,
.menu-trigger span {
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menu-trigger {
    position: fixed;
    z-index: 510;
    top: 2.7777vw;
    right: 2.7777vw;
    width: 4.1666vw;
    height: 3.6111vw;
    cursor: pointer;
    background: #fff;
    padding: 2.3611vw;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    z-index: 510;
}

.menu-trigger span {
    position: absolute;
    left: 2.3611vw;
    width: 4.1666vw;
    height: 2px;
    background-color: #3a2f26;
    z-index: 520;
}

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

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

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

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

.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}

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

.headerNavSp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 490;
    background: #fff;
    text-align: center;
    padding: 23.4364vw 5.5555vw 6.25vw;
    -webkit-overflow-scrolling: touch;
    background: #eae4dc;
}

.headerNavSp {
    overflow-y: scroll;
    padding-bottom: 100px;
}

.headerNavSpSub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    flex-flow: row wrap;
    gap: 2%;
}

.headerNavSpSubBtn {
    width: 49%;
    color: #fff;
    font-size: 3.3333vw;
    background: #3f3020;
    padding: 2.7777vw 2.3vw;
    margin-bottom: 7.3611vw;
    font-size: 3vw;
    font-weight: bold;
}

.headerNavSpSubBtn:nth-of-type(-n+2) {
    margin-bottom: 1.5vw;
}

.headerNavSpSubBtn.headerNavSpSubBtnFair {
    background: #2f4438;
}

.headerNavSpContact {
    padding-bottom: 6.9444vw;
    border-bottom: 1px dotted #282f37;
}

.headerNavSpTelTtl {
    font-size: 3.4722vw;
    margin-bottom: 2.7777vw;
    letter-spacing: 0.12em;
}

.headerNavSpTel {
    font-size: 3.6111vw;
    letter-spacing: 0.05em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.headerNavSpTel span {
    font-size: 6.25vw;
}

.headerNavSpListWrap {
    margin-bottom: 6.9444vw;
}

.headerNavSpList {
    border-bottom: 1px dotted #282f37;
}

.headerNavSpList a {
    display: block;
    padding: 5.5555vw 0;
}

.headerNavSpList a span {
    display: block;
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.headerNavSpList a span.en {
    font-weight: bold;
    font-size: 3.8888vw;
    margin-bottom: 1.3888vw;
}

.headerNavSpList a span.jp {
    font-size: 3.8888vw;
}

.headerNavSpFooter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.headerNavSpFooterList {
    border-right: 1px solid #282f37;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.headerNavSpFooterList a {
    font-size: 2.7777vw;
    line-height: 1.35;
    padding: 0 8vw;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.headerNavSpFooterList:first-child a {
    padding: 0 8vw 0 0;
}

.headerNavSpFooterList:last-child {
    border-right: none;
}

.headerNavSpFooterList:last-child a {
    padding: 0 0 0 8vw;
}

.mainvUnder {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    -webkit-backface-visibility: hidden;
}

@media only screen and (min-width: 499px) {
    .mainvUnder {
        background-attachment: fixed;
        background-position: center;
        height: 640px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .mainvUnder:before {
        content: " ";
        width: 100%;
        height: 17px;
        display: block;
        background: rgba(10, 5, 0, 0.1);
        opacity: 0.5;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 20;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnder {
        height: 528px;
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder#mainvAccess {
        background-image: url(assets/images/access/mainv_access_bg_pc.jpg);
        background-position: bottom center;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvAccess {
        background-image: url(assets/images/access/mainv_access_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder#mainvPlan {
        background-image: url(assets/images/plan/mainv_plan_bg_pc.jpg);
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvPlan {
        background-image: url(assets/images/plan/mainv_plan_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder#mainvInformation {
        background-image: url(assets/images/information/mainv_info_bg_pc.jpg);
        background-position: 0% 46%;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvInformation {
        background-image: url(assets/images/information/mainv_info_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder#mainvContact {
        background-image: url(assets/images/contact/mainv_contact_bg_pc.jpg);
        background-position: 0% 75%;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvContact {
        background-image: url(assets/images/contact/mainv_contact_bg_sp.jpg);
        background-position: 0% 75%;
    }
}
@media only screen and (min-width: 499px) {
    .bg-restaurant-resavation {
        background-image: url(assets/images/contact/mainv_contact_bg2_pc.jpg) !important;
    }
}

@media only screen and (max-width: 500px) {
    .bg-restaurant-resavation {
        background-image: url(assets/images/contact/mainv_contact_bg2_sp.jpg) !important;
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder#mainvFair {
        background-image: url(assets/images/fair/mainv_fair_bg_pc.jpg);
        background-position: top;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvFair {
        background-image: url(assets/images/fair/mainv_fair_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder#mainvBestrate {
        background-image: url(assets/images/bestrate/mainv_bestrate_bg_pc.jpg);
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvBestrate {
        background-image: url(assets/images/bestrate/mainv_bestrate_bg_sp.jpg);
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder#mainvFair {
        height: 54.5833vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .mainvUnder#mainvFair .mainvUnderInner {
        padding: 0;
    }
    .mainvUnder#mainvFair .manvUnderTtl {
        color: #fff;
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder.mainvUnderMin {
        height: 430px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnder.mainvUnderMin {
        height: 355px;
    }
}

.mainvUnder.mainvUnderSmall {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (min-width: 499px) {
    .mainvUnder.mainvUnderSmall {
        height: 300px;
    }
}

@media only screen and (min-width: 1601px) {
    .mainvUnder.mainvUnderSmall {
        height: 400px;
    }
}

@media only screen and (min-width: 1366px) and (max-width: 1600px) {
    .mainvUnder.mainvUnderSmall {
        height: 350px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnder.mainvUnderSmall {
        height: 300px;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder.mainvUnderSmall {
        height: 54.5833vw;
    }
}

.tb .mainvUnder {
    background-attachment: scroll;
}

.mainvUnderInner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}

@media only screen and (min-width: 499px) {
    .mainvUnderInner {
        max-width: 1280px;
        padding: 0 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnderInner {
        width: 1024px;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnderInner {
        width: 88.8888vw;
        padding-top: 59.1666vw;
        padding-bottom: 11.1111vw;
        text-align: center;
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnderContent {
        color: #fff;
        padding-bottom: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnderContent {
        padding-bottom: 66px;
    }
}

.manvUnderTtl {
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .manvUnderTtl {
        font-size: 42px;
        margin-bottom: 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .manvUnderTtl {
        font-size: 35px;
        margin-bottom: 33px;
    }
}

@media only screen and (max-width: 500px) {
    .manvUnderTtl {
        color: #2f4438;
        font-size: 7.7777vw;
        margin-bottom: 9.7222vw;
    }
}

.manvUnderLead {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .manvUnderLead {
        font-size: 20px;
        margin-bottom: 35px;
        line-height: 1.9;
        letter-spacing: 0.12em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .manvUnderLead {
        font-size: 17px;
        margin-bottom: 28px;
    }
}

@media only screen and (max-width: 500px) {
    .manvUnderLead {
        font-size: 4.5vw;
        line-height: 1.666;
        margin: 0 auto 8.3333vw;
    }
}

@media only screen and (max-width: 500px) {
    #mainvAccess .manvUnderLead {
        width: 80.9722vw;
    }
}

@media only screen and (max-width: 500px) {
    #mainvPlan .manvUnderLead {
        width: 89.9797vw;
    }
}

@media only screen and (min-width: 499px) {
    .manvUnderComment {
        line-height: 2.14;
        letter-spacing: 0.08em;
    }
}

@media only screen and (max-width: 500px) {
    .manvUnderComment {
        font-size: 3vw;
        line-height: 1.7391;
        letter-spacing: 0;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }
}

.mainvUnderMin {
    background-attachment: scroll;
}

@media only screen and (min-width: 499px) {
    .mainvUnderMin .mainvUnderContent {
        padding-bottom: 0;
    }
}
@media only screen and (min-width: 499px) {
    #mainvFair .mainvUnderInner .mainvUnderContent {
        padding-bottom: 0;
        float: right;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnderMin .mainvUnderContent {
        padding-bottom: 0;
    }
}

.mainvUnderSmall {
    background-attachment: scroll;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.manvUnderSmallTtl h1 {
    color: #fff;
    text-align: center;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .manvUnderSmallTtl h1 {
        font-size: 42px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .manvUnderSmallTtl h1 {
        font-size: 35px;
    }
}

@media only screen and (max-width: 500px) {
    .manvUnderSmallTtl h1 {
        font-size: 7.7777vw;
    }
}

.secDecoContentWrap {
    background-image: url(assets/images/common/main_bg_pc.jpg);
    background-size: 50px 50px;
}

@media only screen and (max-width: 500px) {
    .secDecoContentWrap {
        padding-bottom: 11vw;
    }
}

.secDecoContent {
    background: #fff;
    max-width: 1240px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    z-index: 1;
    border: 2px solid #cac0b4;
}

@media only screen and (min-width: 499px) {
    .secDecoContent {
        top: -80px;
        padding: 7px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secDecoContent {
        top: -60px;
        padding: 6px;
        width: 1024px;
    }
}

@media only screen and (max-width: 500px) {
    .secDecoContent {
        width: 94.4444vw;
        max-width: none;
        padding: 0 0.4166vw;
        top: -5.555vw;
    }
}

.secDecoContent.contactSecDeco {
    top: 0;
}

.secDecoContent.underSectionInner {
    top: 0;
}

.secDecoContent.underSectionInnerFirst {
    padding-bottom: 0;
    border-bottom: none;
}

@media only screen and (min-width: 499px) {
    .secDecoContent.underSectionInnerFirst {
        margin-top: -80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secDecoContent.underSectionInnerFirst {
        margin-top: -60px;
    }
}

.secDecoContent.underSectionInnerFirst .secDecoContentInner {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.secDecoContent.underSectionInnerLast {
    padding-top: 0;
    border-top: none;
}

.secDecoContent.underSectionInnerLast .secDecoContentInner {
    padding-top: 0;
    margin-top: 0;
    border-top: none;
}

.secDecoContentInner {
    position: relative;
}

@media only screen and (min-width: 499px) {
    .secDecoContentInner {
        border: 1px solid #cac0b4;
        padding: 70px 70px 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secDecoContentInner {
        padding: 58px 58px 41px;
    }
}

@media only screen and (max-width: 500px) {
    .secDecoContentInner {
        padding: 8.3333vw 5.8333vw 7.3611vw;
    }
}

@media only screen and (max-width: 500px) {
    .underSection {
        padding-bottom: 10.5555vw;
    }
}

.underSectionInner {
    margin-right: auto;
    margin-left: auto;
}

@media only screen and (min-width: 499px) {
    .underSectionInner.underSectionInnerFirst .underSectionContent {
        margin-top: -84px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionInner.underSectionInnerFirst .underSectionContent {
        margin-top: -69px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionInner.underSectionInnerFirst .secDecoContentInner {
        padding: 8.3333vw 2.5vw 2.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .underSectionInner.underSectionInnerLast {
        margin-bottom: 100px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionInner.underSectionInnerLast {
        margin-bottom: 82px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionInner .secDecoContentInner {
        padding: 8.3333vw 2.5vw 4.3055vw;
    }
}

.underSectionSliderWrap {
    width: 100%;
    position: relative;
    overflow-x: hidden;
}

.underSectionSliderWrap * {
    outline: none;
}

.underSectionSliderWrap *:focus {
    outline: none;
}

.underSectionSliderBg {
    position: absolute;
    z-index: 5;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media only screen and (min-width: 499px) {
    .underSectionSliderBg {
        width: 100%;
        max-width: 1280px;
        padding: 0 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionSliderBg {
        width: 1024px;
        padding: 0;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSliderBg {
        width: 94.4444vw;
    }
}

.underSectionSliderBgInner {
    width: 100%;
    background: #fff;
}

@media only screen and (min-width: 499px) {
    .underSectionSliderBgInner {
        padding: 0 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionSliderBgInner {
        padding: 0 12px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSliderBgInner {
        padding: 0 1.9444vw;
    }
}

.underSectionSliderBgInner span {
    display: block;
    width: 100%;
    position: relative;
    border-right: 1px solid #aaa099;
    border-left: 1px solid #aaa099;
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .underSectionSliderBgInner span {
        width: 99.173553715%;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSliderBgInner span {
        width: 98.484848484%;
    }
}

.underSectionSlider {
    width: 100%;
    position: relative;
    z-index: 20;
}

.underSectionSlider .slick-dots {
    width: 100%;
    bottom: 30px;
}

@media only screen and (min-width: 499px) {
    .underSectionSlider .slick-dots {
        bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionSlider .slick-dots {
        bottom: 24.75px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSlider .slick-dots {
        bottom: 5.5555vw;
    }
}

@media only screen and (min-width: 499px) {
    .underSectionSlider .slick-dots li {
        height: 11px;
        width: 11px;
        margin: 0 9px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionSlider .slick-dots li {
        height: 8px;
        width: 8px;
        margin: 0 8px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSlider .slick-dots li {
        height: 2.2222vw;
        width: 2.2222vw;
        margin: 0 1.5vw;
    }
}

.underSectionSlider .slick-dots li button {
    padding: 5px;
    height: 11px;
    width: 11px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border: none;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionSlider .slick-dots li button {
        height: 8px;
        width: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSlider .slick-dots li button {
        height: 2.2222vw;
        width: 2.2222vw;
    }
}

.underSectionSlider .slick-dots li button:hover,
.underSectionSlider .slick-dots li button:focus {
    outline: none;
}

.underSectionSlider .slick-dots li button:hover:before,
.underSectionSlider .slick-dots li button:focus:before {
    opacity: 1;
}

.underSectionSlider .slick-dots li button:before {
    border: none;
    position: absolute;
    top: 0;
    left: 0;
    background: #b7b4ad;
    border-radius: 0;
    content: "";
    height: 11px;
    width: 11px;
    color: #b7b4ad;
    opacity: 1;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionSlider .slick-dots li button:before {
        height: 8px;
        width: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionSlider .slick-dots li button:before {
        height: 2.2222vw;
        width: 2.2222vw;
    }
}

.underSectionSlider .slick-dots li.slick-active button:before {
    color: #2f4438;
    background: #2f4438;
    opacity: 1;
}

@media only screen and (min-width: 499px) {
    .underSecitonSliderItem {
        width: 100%;
        max-width: 1080px;
        text-align: center;
        padding-bottom: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSecitonSliderItem {
        max-width: 940px;
        padding-bottom: 50px;
    }
}

@media only screen and (max-width: 500px) {
    .underSecitonSliderItem {
        max-width: 86.8055vw;
        padding-bottom: 12.5vw;
    }
}

.underSecitonSliderItem p {
    opacity: 0;
    -webkit-transition: 0.4s opacity;
    transition: 0.4s opacity;
}

@media only screen and (min-width: 499px) {
    .underSecitonSliderItem p {
        margin-top: 30px;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 1.8;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSecitonSliderItem p {
        margin-top: 25px;
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .underSecitonSliderItem p {
        margin-top: 6.9444vw;
        font-size: 3.1944vw;
        line-height: 1.73;
        padding: 0 6.25vw;
    }
}

.underSecitonSliderItem.slick-current p {
    opacity: 1;
}

.underSecitonSliderItemImg {
    -webkit-backface-visibility: hidden;
    position: relative;
    z-index: 2;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 499px) {
    .underSecitonSliderItemImg {
        width: 1080px;
        height: 600px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSecitonSliderItemImg {
        width: 891px;
        height: 495px;
    }
}

@media only screen and (max-width: 500px) {
    .underSecitonSliderItemImg {
        width: 86.8055vw;
        height: 57.7777vw;
    }
}

.underSecitonSliderItemImg:after {
    content: " ";
    display: block;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.7;
    -webkit-transition: 1s;
    transition: 1s;
}

.slick-current .underSecitonSliderItem p {
    opacity: 1;
}

.slick-current .underSecitonSliderItemImg:after {
    opacity: 0;
}

.underSectionArwPrv,
.underSectionArwNxt {
    position: absolute;
    top: 50%;
    z-index: 60;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: " ";
}

@media only screen and (min-width: 499px) {
    .underSectionArwPrv,
    .underSectionArwNxt {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .underSectionArwPrv:hover,
    .underSectionArwNxt:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .underSectionArwPrv,
    .underSectionArwNxt {
        width: 39px;
        height: 30px;
        margin-top: -35px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionArwPrv,
    .underSectionArwNxt {
        width: 32px;
        height: 30px;
        margin-top: -60px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionArwPrv,
    .underSectionArwNxt {
        width: 8.0555vw;
        height: 5vw;
        top: 0;
        -webkit-transform: translate(0, 0) !important;
        transform: translate(0, 0) !important;
        margin-top: 31.8055vw;
    }
}

.underSectionArwPrv {
    background-image: url(assets/images/common/uss_arw_prv.svg);
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

@media only screen and (min-width: 499px) {
    .underSectionArwPrv {
        margin-left: -540px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionArwPrv {
        margin-left: -470px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionArwPrv {
        left: 2.6388vw;
    }
}

.underSectionArwNxt {
    background-image: url(assets/images/common/uss_arw_nxt.svg);
    right: 50%;
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
}

@media only screen and (min-width: 499px) {
    .underSectionArwNxt {
        margin-right: -540px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .underSectionArwNxt {
        margin-right: -470px;
    }
}

@media only screen and (max-width: 500px) {
    .underSectionArwNxt {
        right: 2.6388vw;
    }
}

.secDef {
    background: rgba(255, 255, 255, 0.5);
}

@media only screen and (min-width: 499px) {
    .secDef {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 500px) {
    .secDef {
        padding: 0 4.4444vw;
    }
}

.secDef dl {
    border-bottom: 1px solid #aca59f;
}

@media only screen and (min-width: 499px) {
    .secDef dl {
        padding: 30px 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

@media only screen and (max-width: 500px) {
    .secDef dl {
        padding: 6.9444vw 0;
        text-align: center;
    }
}

.secDef dl:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

.secDef dt,
.secDef dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.secDef dt {
    text-align: center;
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    .secDef dt {
        width: 24.795918%;
    }
}

@media only screen and (max-width: 500px) {
    .secDef dt {
        padding: 0 0 3.3333vw;
    }
}

.secDef dt span {
    display: block;
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .secDef dt span.secDefVisitors {
        width: 125.27px;
    }
}

@media only screen and (max-width: 500px) {
    .secDef dt span.secDefVisitors {
        width: 24.35875vw;
    }
}

@media only screen and (min-width: 499px) {
    .secDef dt span.secDefClose {
        width: 85.699px;
    }
}

@media only screen and (max-width: 500px) {
    .secDef dt span.secDefClose {
        width: 16.66375vw;
    }
}

@media only screen and (min-width: 499px) {
    .secDef dt span.secDefFacility {
        width: 85.699px;
    }
}

@media only screen and (max-width: 500px) {
    .secDef dt span.secDefFacility {
        width: 26.284vw;
    }
}

.secDef dt span img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 500px) {
    .secDef dt span:after {
        content: " ";
        display: block;
        width: 12.7777vw;
        height: 1px;
        background: #afa18c;
        margin: 3.6111vw auto 0;
    }
}

@media only screen and (min-width: 499px) {
    .secDef dd {
        border-left: 1px solid #66543d;
        width: 75.2040816%;
        padding: 0 40px;
    }
}

@media only screen and (max-width: 500px) {
    .secDef dd {
        padding: 0;
    }
}

@media only screen and (min-width: 499px) {
    .secDef.secDef3cl dd:nth-of-type(1) {
        width: 33.877551%;
    }
}

@media only screen and (min-width: 499px) {
    .secDef.secDef3cl dd:nth-of-type(2) {
        width: 41.326531%;
    }
}

.secDef.secDefNoBorder dl {
    border: none;
}

.secDefElmWrap {
    width: 100%;
}

.spContentSlider * {
    outline: none;
}

.spContentSlider *:focus {
    outline: none;
}

@media only screen and (min-width: 499px) {
    .spContentSlider {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSlider {
        width: 100%;
        position: relative;
        padding-bottom: 8vw;
    }
}

.spContentSlider .slick-dots {
    width: 100%;
    bottom: 30px;
}

@media only screen and (min-width: 499px) {
    .spContentSlider .slick-dots {
        bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentSlider .slick-dots {
        bottom: 24.75px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSlider .slick-dots {
        bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    .spContentSlider .slick-dots li {
        height: 2px;
        width: 25px;
        margin: 0 6px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSlider .slick-dots li {
        height: 0.4166vw;
        width: 5.2777vw;
        margin: 0 1.5vw;
    }
}

.spContentSlider .slick-dots li button {
    padding: 5px;
    height: 2px;
    width: 25px;
}

.spContentSlider .slick-dots li button:hover,
.spContentSlider .slick-dots li button:focus {
    outline: none;
}

.spContentSlider .slick-dots li button:hover:before,
.spContentSlider .slick-dots li button:focus:before {
    opacity: 1;
}

.spContentSlider .slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    background: #aaa099;
    border: none;
    border-radius: 0;
    content: "";
    height: 2px;
    width: 25px;
    line-height: 2px;
    color: #aaa099;
    opacity: 1;
}

.spContentSlider .slick-dots li.slick-active button:before {
    color: #282f37;
    background: #282f37;
    opacity: 1;
}

@media only screen and (min-width: 499px) {
    .spContentSliderItem {
        width: 32%;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSliderItem {
        max-width: 76.3888vw;
        background: #ebe4dc;
        margin: 0 1.6666vw;
    }
}

.spContentArwPrv,
.spContentArwNxt {
    position: absolute;
    top: 50%;
    z-index: 60;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: " ";
}

@media only screen and (min-width: 499px) {
    .spContentArwPrv,
    .spContentArwNxt {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .spContentArwPrv:hover,
    .spContentArwNxt:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 500px) {
    .spContentArwPrv,
    .spContentArwNxt {
        width: 5.5555vw;
        height: 13.8888vw;
    }
}

.spContentArwPrv {
    background-image: url(assets/images/common/spcs_arw_prv.svg);
    left: 50%;
    -webkit-transform: translate(-60%, -50%);
    transform: translate(-60%, -50%);
}

@media only screen and (min-width: 499px) {
    .spContentArwPrv {
        margin-left: -540px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentArwPrv {
        margin-left: -470px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentArwPrv {
        left: 0;
    }
}

.spContentArwNxt {
    background-image: url(assets/images/common/spcs_arw_nxt.svg);
    right: 50%;
    -webkit-transform: translate(60%, -50%);
    transform: translate(60%, -50%);
}

@media only screen and (min-width: 499px) {
    .spContentArwNxt {
        margin-right: -540px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentArwNxt {
        margin-right: -470px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentArwNxt {
        right: 0;
    }
}

.spContentSliderEnTtl {
    text-align: center;
    font-family: "Dancing Script", cursive;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .spContentSliderEnTtl {
        font-size: 18px;
        margin-top: 40px;
        margin-bottom: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentSliderEnTtl {
        font-size: 15px;
        margin-top: 33px;
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSliderEnTtl {
        font-size: 3.8888vw;
        margin-top: 7.6388vw;
        margin-bottom: 5.5555vw;
    }
}

.spContentSliderEnTtl:before,
.spContentSliderEnTtl:after {
    content: " ";
    background: #808080;
    display: inline-block;
    vertical-align: middle;
    margin: 0 1.3em;
    height: 1px;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

@media only screen and (min-width: 499px) {
    .spContentSliderEnTtl:before,
    .spContentSliderEnTtl:after {
        width: 27px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentSliderEnTtl:before,
    .spContentSliderEnTtl:after {
        width: 22px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSliderEnTtl:before,
    .spContentSliderEnTtl:after {
        width: 6.3411vw;
    }
}

.spContentSliderLead {
    text-align: center;
    color: #49311d;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .spContentSliderLead {
        font-size: 20px;
        line-height: 1.777;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentSliderLead {
        font-size: 16px;
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSliderLead {
        font-size: 3.8888vw;
        line-height: 1.666;
        margin-bottom: 4.8611vw;
    }
}

.spContentSliderComment {
    text-align: left;
    color: #3a3a3a;
}

@media only screen and (min-width: 499px) {
    .spContentSliderComment {
        line-height: 2.1;
        padding: 0 44px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .spContentSliderComment {
        padding: 0 36px;
        letter-spacing: 0;
    }
}

@media only screen and (max-width: 500px) {
    .spContentSliderComment {
        line-height: 1.666;
        letter-spacing: 0;
        padding: 0 7vw 5.5555vw;
        font-size: 3.15vw;
    }
    .spContentSliderComment.small {
        letter-spacing: -0.03em;
    }
}

.frameDeco {
    margin: 0 auto;
    background: #2f4438;
}

@media only screen and (min-width: 499px) {
    .frameDeco {
        width: 980px;
        border: 3px solid #82566d;
        padding: 27px 37px 27px 42px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .frameDeco {
        width: 808px;
        padding: 22px 30px 22px 34px;
    }
}

@media only screen and (max-width: 500px) {
    .frameDeco {
        width: 88.8888vw;
        border: 0.8333vw solid #82566d;
        padding: 6.1111vw 5.6944vw 7.6388vw 5.6944vw;
    }
}

.frameDecoTxt {
    -ms-flex: 0 1 auto;
    color: #fff;
    position: relative;
}

@media only screen and (min-width: 499px) {
    .frameDecoTxt {
        width: 430px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .frameDecoTxt {
        width: 361px;
    }
}

@media only screen and (max-width: 500px) {
    .frameDecoTxt {
        width: 70.0638vw;
        margin: 0 auto 5.9722vw;
        text-align: center;
    }
}

.frameDecoTtl {
    position: relative;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 700;
}

@media only screen and (min-width: 499px) {
    .frameDecoTtl {
        font-size: 24px;
        margin-bottom: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .frameDecoTtl {
        font-size: 20px;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .frameDecoTtl {
        font-size: 4.7222vw;
        margin-bottom: 4.8611vw;
    }
}

.frameDecoTtl:after {
    content: " ";
    display: block;
    width: 100%;
    background-image: url(assets/images/common/line_dotted.svg);
    background-repeat: repeat-x;
    background-position: center;
}

@media only screen and (min-width: 499px) {
    .frameDecoTtl:after {
        height: 3px;
        background-size: auto 2.516px;
        margin-top: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .frameDecoTtl:after {
        background-size: auto 2px;
        margin-top: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .frameDecoTtl:after {
        height: 0.69875vw;
        background-size: auto 100%;
        margin-top: 6.4177vw;
    }
}

.frameDecoLead {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .frameDecoLead {
        font-size: 20px;
        line-height: 2;
        margin-bottom: 20px;
        letter-spacing: 0.12em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .frameDecoLead {
        font-size: 16px;
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .frameDecoLead {
        font-size: 4.1666vw;
        line-height: 1.666;
        margin-bottom: 3.4722vw;
        letter-spacing: 0.05em;
    }
}

@media only screen and (min-width: 499px) {
    .frameDecoComment {
        line-height: 1.714;
        letter-spacing: 0.05em;
    }
}

@media only screen and (max-width: 500px) {
    .frameDecoComment {
        line-height: 1.666;
        text-align: left;
        letter-spacing: 0.03em;
    }
}

.frameDecoImg {
    -ms-flex: 0 1 auto;
}

@media only screen and (min-width: 499px) {
    .frameDecoImg {
        width: 400px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .frameDecoImg {
        width: 330px;
    }
}

@media only screen and (max-width: 500px) {
    .frameDecoImg {
        width: 100%;
    }
}

.mainvUnder2 {
    -webkit-backface-visibility: hidden;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .mainvUnder2 {
        height: 430px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnder2 {
        height: 355px;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder2 {
        height: 54.5833vw;
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder2#mainvFair {
        background-image: url(assets/images/fair/mainv_fair_bg_pc.jpg);
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder2#mainvFair {
        background-image: url(assets/images/fair/mainv_fair_bg_sp.jpg);
        text-align: center;
    }
}

.mainvUnder2Inner {
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .mainvUnder2Inner {
        width: 1240px;
        padding: 0 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnder2Inner {
        width: 1024px;
        padding: 0 20px;
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder2Inner {
        width: 88.8888vw;
        padding: 0;
    }
}

.manvUnder2Ttl {
    color: #fff;
    font-family: "Dancing Script", cursive;
}

@media only screen and (min-width: 499px) {
    .manvUnder2Ttl {
        font-size: 75px;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .manvUnder2Ttl {
        font-size: 62px;
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .manvUnder2Ttl {
        font-size: 13.8888vw;
    }
}

.manvUnder2Txt {
    color: #fff;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .manvUnder2Txt {
        font-size: 20px;
        letter-spacing: 0.12em;
        line-height: 1.9;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .manvUnder2Txt {
        font-size: 16px;
    }
}

.mainvUnder3 {
    -webkit-backface-visibility: hidden;
}

@media only screen and (min-width: 499px) {
    .mainvUnder3 {
        height: 300px;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvUnder3 {
        height: 247px;
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder3#mainvContact {
        background-image: url(assets/images/contact/mainv_contact_bg_pc.jpg);
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder3#mainvContact .mainvUnder3Bg {
        background-image: url(assets/images/contact/mainv_contact_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    .mainvUnder3#mainvInformation {
        background-image: url(assets/images/information/mainv_info_bg_pc.jpg);
    }
}

@media only screen and (max-width: 500px) {
    .mainvUnder3#mainvInformation .mainvUnder3Bg {
        background-image: url(assets/images/information/mainv_info_bg_sp.jpg);
    }
}

.mainvUnder3Bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

@media only screen and (max-width: 500px) {
    .mainvUnder3Bg {
        width: 100%;
        height: 0;
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        padding-top: 36.1111%;
    }
}

.manvUnder3Ttl {
    width: 100%;
    text-align: center;
    font-family: dolce, sans-serif;
    font-weight: 500;
    font-style: normal;
}

@media only screen and (min-width: 499px) {
    .manvUnder3Ttl {
        font-size: 75px;
        min-width: 1024px;
        max-width: 1440px;
        padding-left: 100px;
        text-align: left;
        color: #fff;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .manvUnder3Ttl {
        font-size: 61.875px;
        padding-left: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .manvUnder3Ttl {
        font-size: 13.8888vw;
        text-align: center;
        background: #fff;
        padding: 11.1111vw 0 7.6388vw;
        color: #2f4438;
    }
}

.under3 {
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .under3 {
        width: 1120px;
        padding: 0 20px 130px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .under3 {
        width: 1024px;
        padding: 0 20px 107px;
    }
}

@media only screen and (max-width: 500px) {
    .under3 {
        width: 88.8888vw;
        padding: 0 0 11.1111vw;
    }
}

.secUnder3Ttl {
    text-align: center;
    color: #2e4437;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    letter-spacing: 0.1em;
}

@media only screen and (min-width: 499px) {
    .secUnder3Ttl {
        padding: 70px 0;
        font-size: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secUnder3Ttl {
        padding: 56px 0;
        font-size: 22px;
    }
}

@media only screen and (max-width: 500px) {
    .secUnder3Ttl {
        padding: 8.3333vw 0;
        font-size: 4.1666vw;
    }
}

.secUnder3Content {
    position: relative;
    border-left: 2px solid #2f4438;
    background: #fff;
}

@media only screen and (min-width: 499px) {
    .secUnder3Content {
        padding: 60px 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secUnder3Content {
        padding: 50px 41px;
    }
}

@media only screen and (max-width: 500px) {
    .secUnder3Content {
        padding: 9.7222vw 6.25vw;
    }
}

.secUnder3Content.borderTB {
    border-left: none;
    border-top: 2px solid #2f4438;
    border-bottom: 2px solid #2f4438;
}

.mainvWrap {
    background: #fff;
    position: relative;
}

#mainv {
    position: relative;
    background: #fff;
}

@media only screen and (min-width: 499px) {
    #mainv .slick-dots {
        width: 10px;
        left: 20px;
        top: 50%;
        bottom: auto;
        right: auto;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

@media only screen and (max-width: 500px) {
    #mainv .slick-dots {
        width: 2.5vw;
        right: 2vw;
        top: auto;
        bottom: 12.2222vw;
        text-align: center;
    }
}

@media only screen and (min-width: 499px) {
    #mainv .slick-dots li {
        display: block;
        width: 9px;
        height: 9px;
        margin: 0 auto 15px;
    }
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
    #mainv .slick-dots li {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    #mainv .slick-dots li:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 500px) {
    #mainv .slick-dots li {
        width: 2.5vw;
        height: 2.5vw;
        margin: 0 0 2vw;
    }
}

@media only screen and (min-width: 499px) {
    #mainv .slick-dots li button {
        width: 9px;
        height: 9px;
    }
}

@media only screen and (max-width: 500px) {
    #mainv .slick-dots li button {
        width: 2.5vw;
        height: 2.5vw;
    }
}

#mainv .slick-dots li button:before {
    color: #fff;
    background: #fff;
    opacity: 1;
}

@media only screen and (max-width: 500px) {
    #mainv .slick-dots li button:before {
        width: 1.5vw;
        height: 1.5vw;
    }
}

#mainv .slick-dots li.slick-active button:before {
    border-color: #2f4438;
    color: #2f4438;
    background: #2f4438;
    opacity: 1;
}

.mainvSlider {
    overflow: hidden;
    width: 100%;
    background: #fff;
}

.mainvSlider * {
    outline: none;
}

.mainvSlider *:focus {
    outline: none;
}

.mainvSlider figure {
    width: 100%;
    position: relative;
}

.mainvSlider figure figcaption {
    position: absolute;
    left: 0;
    bottom: 0;
    background: -webkit-gradient( linear, left top, left bottom, from(rgba(40, 47, 55, 0)), to(rgba(40, 47, 55, 0.8)));
    background: linear-gradient(rgba(40, 47, 55, 0), rgba(40, 47, 55, 0.8));
    text-align: center;
    z-index: 8;
}

@media only screen and (max-width: 500px) {
    .mainvSlider figure figcaption {
        background: none;
        position: static;
    }
}

.mainvSlider figure figcaption p {
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1.58;
    text-shadow: #000 1px 1px 7px;
    text-align: center;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .mainvSlider figure figcaption p {
        font-size: 24px;
        padding: 50px 40px 45px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvSlider figure figcaption p {
        font-size: 20px;
        padding: 41px 33px 37px;
    }
}

@media only screen and (max-width: 500px) {
    .mainvSlider figure figcaption p {
        font-size: 3.5vw;
        letter-spacing: 0.03em;
        padding: 6.9444vw 5.5555vw 4.1666vw;
    }
}

.mainvTxtPC {
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .mainvTxtPC {
        width: auto;
        max-height: 113px;
    }
}

.mainvTxtSPImg {
    margin: 0 auto;
}

@media only screen and (max-width: 500px) {
    .mainvTxtSPImg {
        width: auto;
        max-height: 12.2222vw;
    }
}

.mainvTxt {
    text-align: center;
    text-shadow: #fff 2px 2px 7px, #fff -2px 2px 7px, #fff 2px -2px 7px, #fff -2px -2px 7px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
}

.maivCur {
    line-height: 1.163;
    letter-spacing: 0.08em;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .maivCur {
        color: #2f4438;
        font-size: 47px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .maivCur {
        font-size: 39px;
    }
}

@media only screen and (max-width: 500px) {
    .maivCur {
        font-size: 6.25vw;
        text-align: center;
    }
}

.mainvComment {
    position: relative;
    z-index: 10;
    padding-top: 5vw;
    padding-bottom: 4vw;
}

.mainvComment .maivCur {
    margin-bottom: 0;
    display: inline-block;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.mainvComment .maivCur span {
    margin-top: -0.8em;
    padding-left: 1em;
}

.mainvTxtSpWrap {
    text-align: center;
    padding-top: 8.0555vw;
    padding-bottom: 8.0555vw;
}

.mainvTxtSp p {
    font-size: 3.8888vw;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.6956;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .mainvBtnWrap {
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        z-index: 10010;
        width: 980px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvBtnWrap {
        width: 100%;
    }
}

@media only screen and (max-width: 500px) {
    .mainvBtnWrap {
        background: #e8e3dd;
    }
}

.mainvBtn {
    display: block;
}

@media only screen and (min-width: 499px) {
    .mainvBtn {
        position: absolute;
        -webkit-transform: matrix3d(0, 0, 0);
        transform: matrix3d(0, 0, 0);
        bottom: 17px;
        right: -220px;
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .mainvBtn:hover {
        opacity: 0.7 !important;
    }
    .mainvBtn img {
        width: 200px;
        height: auto;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1420px) {
    .mainvBtn {
        right: -182px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mainvBtn {
        right: 18px;
    }
    .mainvBtn img {
        width: 180px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .mainvBtn img {
        width: 100%;
        height: auto;
    }
}

#topics {
    background: #fff;
    overflow-x: hidden;
}

@media only screen and (min-width: 499px) {
    #topics {
        padding: 70px 0;
    }
}

@media only screen and (max-width: 500px) {
    #topics {
        padding: 8.3333vw 0;
    }
}

@media only screen and (min-width: 499px) {
    #topics.fixed {
        padding-top: 122px;
    }
}

@media only screen and (min-width: 499px) {
    #topics .inner {
        padding: 0;
        max-width: 1048px;
    }
}

.topicsPC {
    position: relative;
}

.topicsPC * {
    outline: none;
}

.topicsPC *:focus {
    outline: none;
}

@media all and (-ms-high-contrast: none) {
    .topicsPC *::-ms-backdrop,
    .topicsPC .slick-track {
        -webkit-backface-visibility: visible;
        backface-visibility: visible;
    }
}

.topicsPC .arwPrv,
.topicsPC .arwNxt {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 37px;
    height: 40px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 20;
}

@media only screen and (min-width: 499px) {
    .topicsPC .arwPrv,
    .topicsPC .arwNxt {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topicsPC .arwPrv:hover,
    .topicsPC .arwNxt:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsPC .arwPrv,
    .topicsPC .arwNxt {
        width: 30px;
        height: 30px;
    }
}

.topicsPC .arwPrv {
    background-image: url(assets/images/common/arw_prv.svg);
    left: -77px;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsPC .arwPrv {
        left: -50px;
    }
}

.topicsPC .arwNxt {
    background-image: url(assets/images/common/arw_nxt.svg);
    right: -77px;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsPC .arwNxt {
        right: -50px;
    }
}

.topicsPCList {
    padding: 0 19px;
}

@media only screen and (max-width: 500px) {
    .topicsPCList {
        padding: 0;
        margin-bottom: 4vw;
    }
}

.topicsPCList.hide {
    display: none;
}

.topicsPCList a {
    display: block;
}

@media only screen and (min-width: 499px) {
    .topicsPCList a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topicsPCList a:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 500px) {
    .topicsPCList a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.topicsPCListTh {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

@media only screen and (min-width: 499px) {
    .topicsPCListTh {
        width: 100%;
        margin-bottom: 16px;
        padding-bottom: 71.428571%;
    }
}

@media only screen and (max-width: 500px) {
    .topicsPCListTh {
        width: 26.3888vw;
        padding-bottom: 26.3888vw;
    }
}

@media only screen and (max-width: 500px) {
    .topicsPCContentWrap {
        width: 57.5vw;
    }
}

.topicsPCListInfo {
    margin-bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    color: #2d3a33;
}

@media only screen and (max-width: 500px) {
    .topicsPCListInfo {
        margin-bottom: 4.1666vw;
    }
}

.topicsCat {
    font-family: "Dancing Script", cursive;
}

@media only screen and (min-width: 499px) {
    .topicsCat {
        font-size: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsCat {
        font-size: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .topicsCat {
        font-size: 5.5555vw;
    }
}

.topicsDate {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.08em;
}

@media only screen and (min-width: 499px) {
    .topicsDate {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsDate {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .topicsDate {
        font-size: 3.8888vw;
    }
}

@media only screen and (min-width: 499px) {
    .topicsDate span {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsDate span {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .topicsDate span {
        font-size: 3.8888vw;
    }
}

@media only screen and (min-width: 499px) {
    .topicsContent {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsContent {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .topicsContent {
        font-size: 3.3vw;
    }
}

.topicsTtl {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    line-height: 1.8;
    margin-bottom: 8px;
}

@media only screen and (min-width: 499px) {
    .topicsTtl {
        min-height: 4em;
    }
}

@media only screen and (max-width: 500px) {
    .topicsTtl {
        margin-bottom: 0;
        letter-spacing: -0.04em;
    }
}

.topicsTxt {
    line-height: 1.8;
}

@media only screen and (min-width: 499px) {
    .topicsTxt {
        font-size: 12px;
        letter-spacing: -0.01em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topicsTxt {
        font-size: 11px;
        letter-spacing: 0;
    }
}

@media only screen and (max-width: 500px) {
    .topicsTxt {
        font-size: 3.3vw;
    }
}

.topicsBtn .off {
    display: none;
}

.topicsBtn .topicsMore:after {
    width: 1.1896vw;
    height: 3.6293vw;
    background-image: url(assets/images/common/arw_btn_topics.svg);
}

.topicsBtn .topicsClose:after {
    width: 2.0833vw;
    height: 2.0833vw;
    background-image: url(assets/images/common/close.svg);
}

@media only screen and (min-width: 499px) {
    .bestrate {
        margin: 50px auto 0;
        text-align: center;
    }
    .bestrate img {
        width: 1010px;
    }
    .bestrate a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
    }
    .bestrate a:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 500px) {
    .bestrate {
        margin: 30px 0 0;
        padding: 0 20px;
        width: 100%;
    }
}

#concept {
    text-align: center;
    position: relative;
}

@media only screen and (min-width: 499px) {
    #concept {
        padding: 94px 0 0;
    }
}

@media only screen and (max-width: 500px) {
    #concept {
        padding-top: 16.6666vw;
    }
}

#concept .secTtl {
    text-shadow: #fff 2px 2px 10px, #fff -2px 2px 10px, #fff 2px -2px 10px, #fff -2px -2px 10px;
}

@media only screen and (min-width: 499px) {
    #concept .secTtl {
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #concept .secTtl {
        margin-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    #concept .secTtl {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    #concept .secComment {
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #concept .secComment {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    #concept .secComment {
        font-size: 3.2vw;
    }
}

@media only screen and (min-width: 499px) {
    .conceptTxt {
        width: auto;
        max-height: 132px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptTxt {
        width: auto;
        max-height: 109px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptTxt {
        width: 75vw;
        margin: 0 auto;
    }
}

.conceptContent {
    background-image: url(assets/images/common/main_bg_pc.jpg);
    background-size: 50px 50px;
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .conceptContent {
        padding-bottom: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptContent {
        padding-bottom: 66px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptContent {
        padding-bottom: 5.5555vw;
    }
}

.conceptContent .secComment {
    margin-bottom: 0;
}

@media only screen and (max-width: 500px) {
    .conceptContent .secComment {
        margin-top: 8.3333vw;
        font-size: 3vw;
        letter-spacing: 0;
    }
}

.conceptContent.conceptContentGra {
    background-size: contain;
    background-repeat: repeat-x;
}

@media only screen and (min-width: 499px) {
    .conceptContent.conceptContentGra {
        background-image: url(assets/images/top/concept_bg_gra_pc.png);
        margin-top: 200px;
        padding-top: 295px;
        padding-bottom: 75px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptContent.conceptContentGra {
        margin-top: 173px;
        padding-top: 213px;
        padding-bottom: 62px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptContent.conceptContentGra {
        background-image: url(assets/images/top/concept_bg_gra_sp.png);
        margin-top: 15.9722vw;
        padding-top: 51.3888vw;
        padding-bottom: 8.3333vw;
    }
}

@media only screen and (max-width: 500px) {
    .conceptContent.conceptContentSlide .inner1080 {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .conceptContent#conceptRestaurant {
        padding-top: 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptContent#conceptRestaurant {
        padding-top: 33px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptContent#conceptRestaurant {
        padding-top: 3vw;
    }
}

@media only screen and (min-width: 499px) {
    .conceptContent#conceptWedding {
        padding-top: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptContent#conceptWedding {
        padding-top: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptContent#conceptWedding {
        padding-top: 4vw;
    }
}

.conceptConntentInner {
    border: 1px solid rgba(170, 160, 140, 0.5);
    color: #fff;
}

@media only screen and (min-width: 499px) {
    .conceptConntentInner {
        padding: 70px 80px 100px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptConntentInner {
        padding: 10.5vw 2.7vw;
    }
}

.conceptConntentInner h2 {
    color: #4c3c2e;
    font-family: "Dancing Script", cursive;
}

@media only screen and (min-width: 499px) {
    .conceptConntentInner h2 {
        margin-bottom: 40px;
        font-size: 75px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptConntentInner h2 {
        margin-bottom: 35px;
        font-size: 62px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptConntentInner h2 {
        margin-bottom: 6.94vw;
        font-size: 13.8888vw;
    }
}

.conceptLead {
    line-height: 1.9;
}

@media only screen and (min-width: 499px) {
    .conceptLead {
        margin-bottom: 30px;
        font-size: 24px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptLead {
        margin-bottom: 25px;
        font-size: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptLead {
        margin-bottom: 6.94vw;
        font-size: 3.7vw;
        letter-spacing: -0.06em;
    }
}

.conceptBg {
    background-position: center;
    background-size: cover;
}

@media only screen and (min-width: 499px) {
    .conceptBg {
        background-image: url(assets/images/top/concept_bg_pc.jpg);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        height: 826px;
        width: 100%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptBg {
        height: 681px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptBg {
        background-image: url(assets/images/top/concept_bg_sp.jpg);
        height: 88.0555vw;
        background-position: center;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100vw;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transform: translate3d(0, 0, 0);
        overflow: hidden;
    }
}

.tb .conceptBg {
    background-size: auto 100%;
}

.conceptSubTtl {
    letter-spacing: 0.08em;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .conceptSubTtl {
        font-size: 38px;
        margin-bottom: 70px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptSubTtl {
        font-size: 31px;
        margin-bottom: 58px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptSubTtl {
        font-size: 5.5vw;
        margin-bottom: 8vw;
    }
}

.conceptSubTtl span {
    position: relative;
    display: inline-block;
    padding: 0 1em;
}

.conceptSubTtl span:before,
.conceptSubTtl span:after {
    content: " ";
    position: absolute;
    display: block;
    top: 45%;
    background: #808080;
    height: 1px;
}

@media only screen and (min-width: 499px) {
    .conceptSubTtl span:before,
    .conceptSubTtl span:after {
        width: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptSubTtl span:before,
    .conceptSubTtl span:after {
        width: 66px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptSubTtl span:before,
    .conceptSubTtl span:after {
        width: 12vw;
    }
}

.conceptSubTtl span:before {
    right: 100%;
}

.conceptSubTtl span:after {
    left: 100%;
}

@media only screen and (min-width: 499px) {
    .conceptLeadBox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .conceptLeadBox.rv .conceptLeadImg {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .conceptLeadBox.rv .conceptLead Txt {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }
}

@media only screen and (min-width: 499px) {
    .conceptLeadImg {
        width: 50%;
    }
}

@media only screen and (max-width: 500px) {
    .conceptLeadImg {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .conceptLeadTxt {
        width: 45.1851%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 500px) {
    .conceptLeadTxt {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .conceptLeadTxtInner {
        -ms-flex: 0 1 auto;
    }
}

@media only screen and (min-width: 499px) {
    .conceptLeadTxtCopy {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptLeadTxtCopy {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptLeadTxtCopy {
        margin-top: 8vw;
        margin-bottom: 6vw;
    }
}

@media only screen and (min-width: 499px) {
    #conceptRestaurant .conceptLeadTxtCopy {
        width: 96.72%;
    }
}

@media only screen and (max-width: 500px) {
    #conceptRestaurant .conceptLeadTxtCopy {
        height: 11.368vw;
    }
    #conceptRestaurant .conceptLeadTxtCopy img {
        height: 100%;
        width: auto;
    }
}

@media only screen and (min-width: 499px) {
    #conceptWedding .conceptLeadTxtCopy {
        width: 84.84%;
    }
}

@media only screen and (max-width: 500px) {
    #conceptWedding .conceptLeadTxtCopy {
        height: 11.368vw;
    }
    #conceptWedding .conceptLeadTxtCopy img {
        height: 100%;
        width: auto;
    }
}

.conceptLeadBody {
    text-align: left;
    width: auto;
}

.conceptDinner.secDef {
    border: 1px solid #c2bbaf;
}

@media only screen and (min-width: 499px) {
    .conceptDinner.secDef {
        margin-top: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinner.secDef {
        width: calc(100% + 6vw);
        margin-left: -3vw;
        margin-top: 10vw;
    }
}

@media only screen and (min-width: 499px) {
    .conceptDinner.secDef dt,
    .conceptDinner.secDef dd {
        text-align: left;
    }
}

@media only screen and (min-width: 499px) {
    .conceptDinner.secDef dt span.secDefconcept {
        width: 125.27px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinner.secDef dt span.secDefconcept {
        width: 24.35875vw;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinner.secDef dd .topFairSpLead .red {
        font-size: 4vw;
    }
}

@media only screen and (min-width: 499px) {
    .conceptDinner.secDef dd .topFairSpLead .red span {
        font-size: 30px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinner.secDef dd .topFairSpLead .red span {
        font-size: 6.4vw;
    }
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact {
        padding: 30px 40px 30px 50px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptDinnerContact {
        padding: 20px 20px;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact {
        padding: 6.9444vw 0;
    }
}

.conceptDinnerContact .topFairContactInfo {
    text-align: left;
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact .topFairContactInfo {
        width: 54%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .conceptDinnerContact .topFairContactInfo {
        width: 56%;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .topFairContactInfo {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInner {
        margin-bottom: 2vw;
        text-align: center;
    }
}

.conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDT {
    border: 1px solid #808076;
    text-align: center;
    color: #474137;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDT {
        width: 126px;
        padding: 15px 5px;
        font-size: 13px;
        line-height: 1.76923077;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDT {
        padding: 2.0833vw;
        font-size: 2.4vw;
        line-height: 1.55;
        width: auto;
        margin: 0 auto 3vw;
        display: inline-block;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDD {
        width: 100%;
        text-align: center;
    }
}

.conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDD .topFairOpen.mt {
    margin-top: 0.6em;
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDD .topFairTel a {
        font-size: 4vw;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .topFairContactInfo .conceptDinnerContactInnerDD .topFairTel a span {
        font-size: 6.4vw;
    }
}

.conceptDinnerContact .topFairOpen.taCenter {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact .conceptDinnerContactNotes {
        padding-top: 0.5em;
        width: 41%;
        text-align: left;
    }
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact .conceptDinnerContactNotes {
        width: 42%;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .conceptDinnerContactNotes {
        padding-top: 4vw;
    }
}

.conceptDinnerContact .conceptDinnerContactNotes ul li {
    text-align: left;
    position: relative;
    padding-left: 1em;
    letter-spacing: 0;
}

@media only screen and (min-width: 499px) {
    .conceptDinnerContact .conceptDinnerContactNotes ul li {
        font-size: 12px;
        margin-bottom: 0.8em;
    }
}

@media only screen and (max-width: 500px) {
    .conceptDinnerContact .conceptDinnerContactNotes ul li {
        font-size: 2.4vw;
        line-height: 1.5;
        margin-bottom: 0.4em;
    }
}

.conceptDinnerContact .conceptDinnerContactNotes ul li:last-child {
    margin-bottom: 0;
}

.conceptDinnerContact .conceptDinnerContactNotes ul li:before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}

.restaurantMenu {
    position: static;
    background: rgba(255, 255, 255, 0.5);
}

@media only screen and (min-width: 499px) {
    .restaurantMenu {
        margin-top: 80px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu {
        margin-top: 11.3888vw;
    }
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .secTtl {
        margin-bottom: 50px !important;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .secTtl {
        margin-bottom: 41px !important;
    }
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .secComment {
        margin-bottom: 100px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .secComment {
        margin-bottom: 82px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .secComment {
        margin-bottom: 9vw;
    }
}

.restaurantMenu .rMenuBox {
    text-align: left;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 110px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .rMenuBox {
        margin-bottom: 90px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox {
        margin-bottom: 12vw;
    }
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox:nth-child(2n-1) .rMenuTxt {
        padding-right: 1.7%;
    }
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox.last_rMenuBox {
        margin-bottom: 50px;
    }
    .restaurantMenu .rMenuBox:nth-child(2n) .rMenuTxt {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding-left: 1.8%;
    }
    .restaurantMenu .rMenuBox:nth-child(2n) .rMenuImg {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuTxt {
        width: 45.8333%;
    }
}

.restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl {
    margin-bottom: 1.8em;
}

.restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl span {
    display: block;
}

.restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl .en {
    color: #49361f;
    letter-spacing: 0.08em;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl .en {
        font-size: 33px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl .en {
        font-size: 27px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl .en {
        font-size: 5.5vw;
    }
}

.restaurantMenu .rMenuBox .rMenuTxt .rMenuTtl .jp {
    margin-top: 0.6em;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuImg {
        width: 50%;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox .rMenuImg {
        margin-bottom: 5vw;
    }
}

.restaurantMenu .rMenuBox .rMenuCon {
    border-top: 1px solid #c2bbaf;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuCon {
        padding: 30px 0 40px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox .rMenuCon {
        padding: 7vw 0;
    }
}

.restaurantMenu .rMenuBox .rMenuCon:last-child {
    padding-bottom: 0;
}

.restaurantMenu .rMenuBox .rMenuCon .ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.restaurantMenu .rMenuBox .rMenuCon .ttl p {
    line-height: 1.4;
}

.restaurantMenu .rMenuBox .rMenuCon .ttl .left {
    padding-left: 0.7em;
    position: relative;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuCon .ttl .left {
        font-size: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .rMenuBox .rMenuCon .ttl .left {
        font-size: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox .rMenuCon .ttl .left {
        font-size: 4vw;
    }
}

.restaurantMenu .rMenuBox .rMenuCon .ttl .left:before {
    content: " ";
    width: 3px;
    height: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #2f4438;
}

.restaurantMenu .rMenuBox .rMenuCon .ttl .right {
    margin-left: 1em;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuCon .ttl .right {
        font-size: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .rMenuBox .rMenuCon .ttl .right {
        font-size: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox .rMenuCon .ttl .right {
        font-size: 4vw;
    }
}

.restaurantMenu .rMenuBox .rMenuCon .ttl .right .small1 {
    font-size: 80%;
}

.restaurantMenu .rMenuBox .rMenuCon .ttl .right .small2 {
    font-size: 70%;
}

.restaurantMenu .rMenuBox .rMenuCon .ttl .notes {
    margin-top: 0.4em;
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .rMenuBox .rMenuCon .txt {
        margin-top: 50px;
        line-height: 2.1;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .restaurantMenu .rMenuBox .rMenuCon .txt {
        margin-top: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuBox .rMenuCon .txt {
        margin-top: 7vw;
        line-height: 1.666;
    }
}

@media only screen and (min-width: 499px) {
    .restaurantMenu .btn a {
        width: 310px;
        font-size: 17px;
        padding: 22px 28px 22px 6px;
        letter-spacing: 0;
        margin-top: 3px;
    }
    .restaurantMenu .btn a:after {
        width: 25px;
        height: 7px;
    }
    .restaurantMenu .btn.reservation {
        display: none;
    }
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .btn a {
        width: 100%;
        margin-top: 10px;
    }

    .restaurantMenu .btn.reservation {
        margin: -8vw auto 12vw;
    }
}

.restaurantMenu .rMenuNotes {
    margin-bottom: 30px;
    text-align: left;
}

@media only screen and (max-width: 500px) {
    .restaurantMenu .rMenuNotes .inner984 {
        width: 100%;
    }
}

.restaurantMenu .rMenuNotes li {
    padding-left: 0.9rem;
    text-indent: -0.9rem;
    line-height: 1.7;
}

@media only screen and (min-width: 499px) {
    .topSection.secBgWrap {
        padding-top: 54.166%;
    }
}

@media only screen and (max-width: 500px) {
    .topSection.secBgWrap {
        padding-top: 0;
    }
}

@media only screen and (max-width: 500px) {
    .topSection .secBg {
        padding-top: 46.805%;
        background-attachment: scroll;
        width: 100%;
        height: 0 !important;
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        position: static;
        display: block !important;
    }
}

@media only screen and (max-width: 500px) {
    .topSection .secDecoContentInner {
        padding: 8.3333vw 0 0;
    }
}

.tb .secBgWrap {
    background-attachment: scroll !important;
    background-size: 100% auto !important;
    background-position: top center !important;
}

@media only screen and (min-width: 499px) {
    .topSectionContentWrap {
        padding-bottom: 100px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topSectionContentWrap {
        padding-bottom: 82px;
    }
}

@media only screen and (min-width: 499px) {
    .topSectionContent {
        top: -80px;
        margin-bottom: -80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topSectionContent {
        top: -60px;
        margin-bottom: -60px;
    }
}

@media only screen and (min-width: 499px) {
    .topSectionContent .secTtl {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topSectionContent .secTtl {
        margin-bottom: 40px;
    }
}

@media only screen and (max-width: 500px) {
    .topSectionContent .secTtl {
        margin-bottom: 8.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .topSectionContentInner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 54px auto 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topSectionContentInner {
        margin: 45px auto 0;
    }
}

@media only screen and (max-width: 500px) {
    .topSectionContentInner {
        padding: 9.7222vw 5.5555vw 6.9444vw;
    }
}

.topSectionContentInnerBlock {
    position: relative;
    -ms-flex: 0 1 auto;
}

@media only screen and (min-width: 499px) {
    .topSectionContentInnerBlock {
        width: 50%;
    }
}

.topSectionContentInnerBlockTxtWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .topSectionContentInnerBlockTxtWrap {
        width: 50%;
        padding-left: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topSectionContentInnerBlockTxtWrap {
        padding-left: 20px;
    }
}

.topSectionContentInnerBlockTxt {
    -ms-flex: 0 1 auto;
    width: 100%;
}

.topSectionContentInnerBlockImgWrap {
    position: relative;
}

@media only screen and (max-width: 500px) {
    .topSectionContentInnerBlockImgWrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: 6.9444vw;
    }
    .topSectionContentInnerBlockImgWrap .spHalf {
        width: 49.6666%;
        height: auto;
    }
}

@media only screen and (min-width: 499px) {
    .topBanquetImg2,
    .topBanquetImg2 {
        width: 440px;
        margin-left: 52px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topBanquetImg2,
    .topBanquetImg2 {
        width: 363px;
        margin-left: 43px;
    }
}

@media only screen and (min-width: 499px) {
    #topBanquet .topSectionContentInner,
    #topCuisine .topSectionContentInner {
        margin: 40px auto 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topBanquet .topSectionContentInner,
    #topCuisine .topSectionContentInner {
        margin: 33px auto 0;
    }
}

@media only screen and (min-width: 499px) {
    #topChapel {
        background-image: url(assets/images/top/top_chapel_bg_pc.jpg);
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
    }
}

@media only screen and (max-width: 500px) {
    .chapelBg {
        background-image: url(assets/images/top/top_chapel_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    #topBanquet {
        background-image: url(assets/images/top/top_banquet_bg_pc.jpg);
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
    }
}

@media only screen and (max-width: 500px) {
    .banquetBg {
        background-image: url(assets/images/top/top_banquet_bg_sp.jpg);
    }
}

@media only screen and (min-width: 499px) {
    #topCuisine {
        background-image: url(assets/images/top/top_cuisine_bg_pc.jpg);
        background-attachment: fixed;
        background-size: cover;
        background-position: center;
    }
}

@media only screen and (max-width: 500px) {
    .cuisineBg {
        background-image: url(assets/images/top/top_cuisine_bg_sp.jpg);
    }
}

#topFixed {
    position: relative;
    background-size: cover;
    background-position: center;
}

@media only screen and (min-width: 499px) {
    #topFixed {
        background-image: url(assets/images/top/top_fixed_bg_pc.jpg);
        height: 873px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topFixed {
        height: 720px;
    }
}

@media only screen and (max-width: 500px) {
    #topFixed {
        background-image: url(assets/images/top/top_fixed_bg_sp.jpg);
        height: 98.6111vw;
    }
}

#topFixed p {
    position: absolute;
}

@media only screen and (min-width: 499px) {
    #topFixed p {
        top: 15%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 982px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topFixed p {
        width: 810px;
    }
}

@media only screen and (max-width: 500px) {
    #topFixed p {
        top: 8%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 73.3333vw;
    }
}

#topHospitality {
    background: #fff;
}

@media only screen and (min-width: 499px) {
    #topHospitality .secLead {
        font-size: 20px;
        margin-bottom: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topHospitality .secLead {
        font-size: 16px;
        margin-bottom: 50px;
    }
}

@media only screen and (max-width: 500px) {
    #topHospitality .secLead {
        font-size: 4.8611vw;
        margin-bottom: 9.0277vw;
    }
}

.topHospitalityContent {
    position: relative;
    z-index: 2;
}

@media only screen and (min-width: 499px) {
    .topHospitalityContent {
        padding-top: 70px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityContent {
        padding-top: 60px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityContent {
        padding-top: 8.3333vw;
    }
}

.topHospitalityContent:before {
    content: " ";
    display: block;
    width: 100%;
    background-image: url(assets/images/top/top_hospitality_bg_pc.jpg);
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

@media only screen and (min-width: 499px) {
    .topHospitalityContent:before {
        height: 684px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityContent:before {
        height: 590px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityContent:before {
        height: 235vw;
        background-image: url(assets/images/top/top_hospitality_bg_sp.jpg);
    }
}

.topHospitalityListWrap {
    position: relative;
    z-index: 10;
}

@media only screen and (min-width: 499px) {
    .topHospitalityListWrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 499px) {
    .topHospitalityList {
        width: 47.959184%;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityList {
        width: 83.3333vw;
        margin: 0 auto 5.5555vw;
    }
    .topHospitalityList:last-child {
        margin-bottom: 0;
    }
}

.topHospitalityListContent {
    background-image: url(assets/images/common/main_bg_pc.jpg);
    background-size: 50px 50px;
}

@media only screen and (min-width: 499px) {
    .topHospitalityListContent {
        padding: 8px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityListContent {
        padding: 7px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityListContent {
        padding: 0.8333vw;
    }
}

@media only screen and (min-width: 499px) {
    .topHospitalityListContent h3 {
        margin-bottom: 33px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityListContent h3 {
        margin-bottom: 27px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityListContent h3 {
        margin-bottom: 6.9444vw;
    }
}

.topHospitalityListContent h3 span {
    display: block;
    text-align: center;
}

.topHospitalityListContent h3 .en {
    color: #5e3b23;
    font-family: "Dancing Script", cursive;
}

@media only screen and (min-width: 499px) {
    .topHospitalityListContent h3 .en {
        font-size: 42px;
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityListContent h3 .en {
        font-size: 35px;
        margin-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityListContent h3 .en {
        font-size: 9.0277vw;
        margin-bottom: 2.2222vw;
    }
}

.topHospitalityListContent h3 .jp {
    font-weight: bold;
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topHospitalityListContent h3 .jp {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityListContent h3 .jp {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityListContent h3 .jp {
        font-size: 3.0555vw;
    }
}

.topHospitalityListContent p {
    line-height: 1.71;
    line-break: strict;
}

@media only screen and (max-width: 500px) {
    .topHospitalityListContent p {
        font-size: 3.1944vw;
    }
}

.topHospitalityListContentInner {
    border: 1px solid #d5cbbf;
}

@media only screen and (min-width: 499px) {
    .topHospitalityListContentInner {
        padding: 33px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityListContentInner {
        padding: 27px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityListContentInner {
        padding: 7.9166vw 5vw 8.3333vw;
    }
}

#topProduse {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    #topProduse {
        margin-top: 70px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topProduse {
        margin-top: 58px;
    }
}

@media only screen and (max-width: 500px) {
    #topProduse {
        margin-top: 11.1111vw;
    }
}

@media only screen and (min-width: 499px) {
    #topProduse>p {
        letter-spacing: 0.08em;
    }
}

@media only screen and (max-width: 500px) {
    #topProduse>p {
        font-size: 3.5vw;
        line-height: 1.66;
    }
}

@media only screen and (min-width: 499px) {
    .topProduseLogo {
        margin-bottom: 35px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topProduseLogo {
        margin-bottom: 28.875px;
    }
}

@media only screen and (max-width: 500px) {
    .topProduseLogo {
        margin-bottom: 5.5555vw;
    }
}

.topProduseLogo p {
    color: #afa18c;
    font-family: "Crimson Text", serif;
}

@media only screen and (min-width: 499px) {
    .topProduseLogo p {
        font-size: 20px;
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topProduseLogo p {
        font-size: 17px;
        margin-bottom: 12.375px;
    }
}

@media only screen and (max-width: 500px) {
    .topProduseLogo p {
        font-size: 4.0277vw;
        margin-bottom: 1.3888vw;
    }
}

@media only screen and (min-width: 499px) {
    .topProduseLogo img {
        width: 290px;
        height: auto;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topProduseLogo img {
        width: 239px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .topProduseLogo img {
        width: 58.8888vw;
        height: auto;
    }
}

@media only screen and (min-width: 499px) {
    .topHospitalityImg {
        margin-top: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topHospitalityImg {
        margin-top: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .topHospitalityImg {
        margin-top: 8.3333vw;
    }
}

#topFair {
    background-image: url(assets/images/common/main_bg_pc.jpg);
    background-size: 50px 50px;
}

@media only screen and (max-width: 500px) {
    #topFair {
        padding-top: 6.5vw;
    }
}

#topFair .secTtl .en {
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    #topFair .btn {
        margin-top: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topFair .btn {
        margin-top: 66px;
    }
}

@media only screen and (max-width: 500px) {
    #topFair .btn {
        margin-top: 8.3333vw;
    }
}

#topFair .toFairListBtn {
    margin-top: 0;
}

@media only screen and (max-width: 500px) {
    #topFair .toFairListBtn {
        margin-top: 7.9166vw;
    }
    #topFair .toFairListBtn a {
        margin-top: 0;
    }
}

@media only screen and (min-width: 499px) {
    .topFairContent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (max-width: 500px) {
    .topFairContent {
        margin-bottom: 8.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .topFairContentBox {
        width: 47.55102%;
    }
}

.topFairCalendar {
    background: #fff;
    border: 2px solid #808076;
}

@media only screen and (min-width: 499px) {
    .topFairCalendar {
        padding: 8px;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairCalendar {
        padding: 1.3888vw;
        margin-bottom: 6.9444vw;
    }
}

.topFairCalendarInner {
    border: 1px solid #808076;
    position: relative;
}

@media only screen and (min-width: 499px) {
    .topFairCalendarInner {
        padding: 30px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairCalendarInner {
        padding: 4.8611vw 4.4444vw 3.8888vw;
    }
}

.topFairCalendarTable {
    width: 100%;
}

.topFairCalendarTable caption {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .topFairCalendarTable caption {
        margin-bottom: 35px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairCalendarTable caption {
        margin-bottom: 4.5vw;
    }
}

.topFairCalendarTable caption span {
    display: block;
}

.topFairCalendarTable caption .monthNum {
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .topFairCalendarTable caption .monthNum {
        font-size: 55px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairCalendarTable caption .monthNum {
        font-size: 8.9736vw;
    }
}

.topFairCalendarTable caption .monthEn {
    font-family: "Cinzel", serif;
}

@media only screen and (max-width: 500px) {
    .topFairCalendarTable caption .monthEn {
        font-size: 2.143vw;
    }
}

.topFairCalendarTable th {
    text-align: center;
    width: 14.2857143%;
    font-weight: normal;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairCalendarTable th {
        padding: 8px;
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairCalendarTable th {
        padding: 1vw;
        font-size: 2.7777vw;
    }
}

.topFairCalendarTable th.week6 {
    color: #577f7f;
}

.topFairCalendarTable th.week7 {
    color: #6f1b39;
}

.topFairCalendarTable td {
    text-align: center;
    width: 14.2857143%;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairCalendarTable td {
        padding: 10px;
        font-size: 17px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairCalendarTable td {
        padding: 1.8055vw;
        font-size: 3.3333vw;
    }
}

.topFairCalendarTable td.week6 {
    color: #577f7f;
}

.topFairCalendarTable td.week7 {
    color: #6f1b39;
}

.topFairCalendarTable td a {
    text-decoration: underline;
}

.topFairArxPrv,
.topFairArxNxt {
    position: absolute;
    z-index: 20;
}

@media only screen and (min-width: 499px) {
    .topFairArxPrv,
    .topFairArxNxt {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topFairArxPrv:hover,
    .topFairArxNxt:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .topFairArxPrv,
    .topFairArxNxt {
        top: 65px;
        width: 22px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairArxPrv,
    .topFairArxNxt {
        top: 6.5833vw;
        width: 9.4722vw;
        padding: 3vw;
        cursor: pointer;
    }
}

.topFairArxPrv img,
.topFairArxNxt img {
    width: 100%;
    height: auto;
}

@media only screen and (min-width: 499px) {
    .topFairArxPrv {
        left: 10%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairArxPrv {
        left: 12%;
    }
}

@media only screen and (min-width: 499px) {
    .topFairArxNxt {
        right: 10%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairArxNxt {
        right: 12%;
    }
}

.topFairBtnArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .topFairBtnArea {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairBtnArea {
        margin-bottom: 6.9444vw;
    }
}

.topFairBtnArea li {
    width: 48.206278%;
    -ms-flex: 0 1 auto;
}

.topFairBtn {
    display: block;
    background: #4c3c2e;
    color: #fff;
    font-weight: bold;
    width: 100%;
    text-align: center;
    -ms-flex: 0 1 auto;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairBtn {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topFairBtn:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .topFairBtn {
        padding: 18px;
        letter-spacing: 0.08em;
    }
}

@media only screen and (max-width: 500px) {
    .topFairBtn {
        padding: 2.7777vw 2vw;
        letter-spacing: 0.03em;
        font-size: 3vw;
    }
}

@media only screen and (max-width: 500px) {
    .topFairContactInfo {
        width: 85vw;
        margin: 0 auto;
    }
}

.topFairContactInfo dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.topFairContactInfo dt {
    border: 1px solid #808076;
    text-align: center;
    color: #474137;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairContactInfo dt {
        width: 126px;
        padding: 5px;
        font-size: 13px;
        line-height: 1.76923077;
    }
}

@media only screen and (max-width: 500px) {
    .topFairContactInfo dt {
        padding: 2.0833vw 0.5vw;
        font-size: 2.4vw;
        line-height: 1.55;
        width: 40%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairContactInfo dd {
        width: 57%;
    }
}

@media only screen and (min-width: 499px) {
    #topFair .topFairContactInfoBtn {
        margin-top: 60px;
    }
}

@media only screen and (max-width: 500px) {
    #topFair .topFairContactInfoBtn {
        margin-top: 8.3333vw;
    }
    #topFair .topFairContactInfoBtn a {
        margin-top: 0;
    }
}

.topFairTel {
    margin-bottom: 10px;
    letter-spacing: 0.05em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .topFairTel a {
        cursor: default;
        font-size: 18px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairTel a {
        font-size: 3.0555vw;
    }
}

@media only screen and (min-width: 499px) {
    .topFairTel a span {
        font-size: 28px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairTel a span {
        font-size: 4.8611vw;
    }
}

.topFairOpen {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

@media only screen and (min-width: 499px) {
    .topFairOpen {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairOpen {
        font-size: 2.4vw;
        line-height: 1.5;
    }
}

.topFairInfo.overFlowY {
    overflow-y: auto;
}

@media only screen and (min-width: 499px) {
    .topFairInfoList {
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoList {
        margin-bottom: 1.3888vw;
    }
}

.topFairInfoList a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (min-width: 499px) {
    .topFairInfoList a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topFairInfoList a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .topFairInfoTh {
        width: 39.270386%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoTh {
        width: 28.125%;
    }
}

.topFairInfoTh figure {
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    display: block;
}

@media only screen and (min-width: 499px) {
    .topFairInfoTh figure {
        padding-bottom: 103.825137%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoTh figure {
        padding-bottom: 100%;
    }
}

.topFairInfoContent {
    background: #fff;
}

@media only screen and (min-width: 499px) {
    .topFairInfoContent {
        width: 60.729614%;
        padding: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoContent {
        width: 71.875%;
        padding: 3.8888vw 2vw;
    }
}

.topFairInfoContentTop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .topFairInfoContentTop {
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoContentTop {
        margin-bottom: 3vw;
    }
}

.topFairInfoDate {
    letter-spacing: 0.08em;
    color: #2f4438;
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairInfoDate {
        font-size: 18px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoDate {
        font-size: 3.3333vw;
    }
}

.topFairInfoDate span {
    display: inline-block;
    margin-left: 0.2em;
}

@media only screen and (min-width: 499px) {
    .topFairInfoDate span {
        font-size: 14px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoDate span {
        font-size: 2.9166vw;
    }
}

.topFairInfoBtn {
    color: #2f4438;
    font-family: "Crimson Text", serif;
}

@media only screen and (min-width: 499px) {
    .topFairInfoBtn {
        font-size: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoBtn {
        font-size: 3.2857vw;
    }
}

.topFairInfoBtn:after {
    content: "　";
    display: inline-block;
    background-image: url(assets/images/common/arw_btn_g.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 0.8em;
    padding-top: 0.1em;
}

@media only screen and (min-width: 499px) {
    .topFairInfoBtn:after {
        width: 17px;
        height: 17px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoBtn:after {
        width: 3.2vw;
        height: 3.2vw;
    }
}

.topFairInfoContentTtl {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairInfoContentTtl {
        font-size: 13px;
        line-height: 1.84615385;
    }
}

@media only screen and (max-width: 500px) {
    .topFairInfoContentTtl {
        font-size: 3.3333vw;
        line-height: 1.6666;
    }
}

@media only screen and (min-width: 499px) {
    .topFairInfoContentComment {
        font-size: 12px;
        line-height: 1.84615385;
        margin-top: 8px;
    }
}

@media only screen and (min-width: 499px) {
    .topFairSp {
        margin-top: 50px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSp {
        margin-top: 8.3333vw;
    }
}

.topFairSpLead {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFairSpLead {
        letter-spacing: 0.12em;
        font-size: 18px;
        margin-bottom: 12px;
        line-height: 1.2;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpLead {
        font-size: 3.3333vw;
        margin-bottom: 2.7777vw;
        line-height: 1.5;
    }
}

.topFairSpLead .red {
    display: inline-block;
    color: #806c28;
    letter-spacing: 0;
}

@media only screen and (min-width: 499px) {
    .topFairSpLead .red {
        font-size: 18px;
        letter-spacing: 0;
        margin: 0 0.1em;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpLead .red:first-child {
        margin-top: 0;
    }
    .topFairSpLead .red:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    .topFairSpLead .red span {
        font-size: 28px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpLead .red span {
        font-size: 5.4166vw;
    }
}

@media only screen and (min-width: 499px) {
    .topFairSpLead .small {
        font-size: 60%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpLead .small {
        font-size: 3.3333vw;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpLead .smallSp {
        font-size: 4.1666vw;
    }
}

@media only screen and (-ms-high-contrast: active) and (min-width: 499px),
only screen and (-ms-high-contrast: none) and (min-width: 499px) {
    .topFairSpLead {
        letter-spacing: 0;
        font-size: 17px;
        margin-bottom: 12px;
        line-height: 1.2;
    }
}

@media only screen and (-ms-high-contrast: active) and (min-width: 499px),
only screen and (-ms-high-contrast: none) and (min-width: 499px) {
    .topFairSpLead .red {
        font-size: 17px;
        margin: 0 0.08em;
    }
}

@media only screen and (-ms-high-contrast: active) and (min-width: 499px),
only screen and (-ms-high-contrast: none) and (min-width: 499px) {
    .topFairSpLead .red span {
        font-size: 27px;
    }
}

.topFairSpComment {
    margin-bottom: 0.5em;
}

@media only screen and (min-width: 499px) {
    .topFairSpComment {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpComment {
        font-size: 3.0555vw;
        line-height: 1.4;
    }
}

.topFairSpComment:last-of-type {
    margin-bottom: 0;
}

@media only screen and (min-width: 499px) {
    .topFairSpTable {
        width: 100%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpTable {
        width: 100%;
        display: block;
    }
    .topFairSpTable tbody,
    .topFairSpTable tr {
        display: block;
    }
    .topFairSpTable th,
    .topFairSpTable td {
        display: inline;
    }
}

.topFairSpTable th,
.topFairSpTable td {
    text-align: left;
    vertical-align: top;
    padding: 0 0 0.3em;
    font-weight: normal;
}

@media only screen and (min-width: 499px) {
    .topFairSpTable th,
    .topFairSpTable td {
        font-size: 13px;
        line-height: 1.69;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpTable th,
    .topFairSpTable td {
        font-size: 3.05vw;
        line-height: 1.69;
    }
}

@media only screen and (min-width: 499px) {
    .topFairSpTable th {
        width: 13%;
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpTable th {
        width: auto;
    }
    .topFairSpTable th:after {
        content: "　";
    }
}

@media only screen and (max-width: 500px) {
    .topFairSpTable td.pbNonSP {
        padding-bottom: 0;
    }
}

.topFairSpTable tr:last-child th,
.topFairSpTable tr:last-child td {
    padding-bottom: 0;
}

#topInfo {
    background: #fff;
}

@media only screen and (min-width: 499px) {
    #topInfo .btn {
        margin-top: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topInfo .btn {
        margin-top: 50px;
    }
}

@media only screen and (max-width: 500px) {
    #topInfo .btn {
        margin-top: 8.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .topInfoListWrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media only screen and (min-width: 499px) {
    .topInfoList {
        width: 47.96%;
        margin: 40px 4.08% 0 0;
    }
    .topInfoList:nth-child(2n) {
        margin: 40px 0 0 0;
    }
    .topInfoList:nth-child(1) {
        margin: 0 4.08% 0 0;
    }
    .topInfoList:nth-child(2) {
        margin: 0 0 0 0;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoList {
        margin-bottom: 5.5555vw;
    }
    .topInfoList:last-child {
        margin-bottom: 0;
    }
}

.topInfoList a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

@media only screen and (min-width: 499px) {
    .topInfoList a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topInfoList a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .topInfoTh {
        width: 38.3%;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoTh {
        width: 29.9%;
    }
}

.topInfoTh figure {
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    width: 100%;
}

@media only screen and (min-width: 499px) {
    .topInfoTh figure {
        padding-bottom: 66.6666%;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoTh figure {
        padding-bottom: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .topInfoContent {
        width: 55.32%;
        padding-top: 7px;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoContent {
        width: 65.6%;
        padding-top: 1.3888vw;
    }
}

.infoNewBadge {
    position: absolute;
    z-index: 10;
}

@media only screen and (min-width: 499px) {
    .infoNewBadge {
        width: 55px;
        height: auto;
        top: -10px;
        left: -7px;
    }
}

@media only screen and (max-width: 500px) {
    .infoNewBadge {
        width: 11.0916vw;
        height: auto;
        top: -2.7777vw;
        left: -1.2888vw;
    }
}

.topInfoContentTop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .topInfoContentTop {
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoContentTop {
        margin-bottom: 2vw;
    }
}

.topInfoDate {
    padding-right: 1em;
    border-right: 1px solid #282f37;
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topInfoDate {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topInfoDate {
        font-size: 14px;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoDate {
        font-size: 2.7777vw;
    }
}

.topInfoCat {
    padding-left: 1.4em;
    letter-spacing: 0.08em;
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
    font-family: garamond-fb-text, serif;
    font-weight: 400;
    font-style: normal;
}

@media only screen and (min-width: 499px) {
    .topInfoCat {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topInfoCat {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .topInfoCat {
        font-size: 3.1944vw;
    }
}

.topContentDiscription {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topContentDiscription {
        line-height: 1.714;
    }
}

@media only screen and (max-width: 500px) {
    .topContentDiscription {
        line-height: 1.6666;
    }
}

.topContentReadMore {
    position: absolute;
    right: 0;
    letter-spacing: 0.05em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topContentReadMore {
        bottom: 0.5em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topContentReadMore {
        bottom: 0.5em;
    }
}

@media only screen and (max-width: 500px) {
    .topContentReadMore {
        bottom: 0;
    }
}

.topContentReadMore:after {
    content: "　";
    display: inline-block;
    background-image: url(assets/images/common/arw_btn_g.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 0.4em;
}

@media only screen and (min-width: 499px) {
    .topContentReadMore:after {
        width: 17px;
        height: 14px;
    }
    .topIntroduction {
        margin-top: 50px;
        text-align: center;
    }
    .topIntroduction img {
        width: 720px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topContentReadMore:after {
        width: 14px;
        height: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .topContentReadMore:after {
        width: 3.2vw;
        height: 3.333vw;
    }
    .topIntroduction {
        margin-top: 30px;
    }
}

#conceptRestaurant.movieContent {
    text-align: center;
    background-color: #FAF7F2;
    padding: 70px 0;
}

#conceptRestaurant.movieContent .conceptSubTtl {
    margin-bottom: 15px;
}

#conceptRestaurant.movieContent .conceptLeadBody {
    margin-bottom: 15px;
}

#conceptRestaurant.movieContent .btn a {
    width: 47%;
    display: inline-block;
}

#conceptRestaurant.movieContent .btn a:last-child {
    margin-left: 15px;
    background: #3f3020;
}

@media only screen and (max-width: 499px) {
    #conceptRestaurant.movieContent {
        padding: 40px 0;
    }
    #conceptRestaurant.movieContent .conceptSubTtl {
        font-size: 5vw;
        margin-bottom: 10px;
    }
    #conceptRestaurant.movieContent .conceptSubTtl span {
        padding: 0 10px;
    }
    #conceptRestaurant.movieContent .secTtl span {
        display: inline-block;
    }
    #conceptRestaurant.movieContent .blockTxt {
        padding: 0;
    }
    #conceptRestaurant.movieContent .conceptLeadTxtCopy {
        margin-top: 15px;
        margin-bottom: 11px;
    }
    #conceptRestaurant.movieContent .btn a {
        width: 100%;
        margin: 7px 0;
    }
    #conceptRestaurant.movieContent .btn a:last-child {
        margin-left: 0;
    }
    #conceptRestaurant.movieContent .conceptSubTtl span:before,
    #conceptRestaurant.movieContent .conceptSubTtl span:after {
        width: 0;
    }
}

@media all and (max-width: 750px) {
    .lity-content video {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    #access .secDecoContentInner {
        padding-bottom: 45px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #access .secDecoContentInner {
        padding-bottom: 37px;
    }
}

@media only screen and (max-width: 500px) {
    #access .secDecoContentInner {
        padding-bottom: 12.7777vw;
    }
}

#access .secTtl {
    margin-bottom: 0;
}

@media only screen and (max-width: 500px) {
    #access .underSectionInnerFirst .secDecoContentInner {
        padding-bottom: 8.3333vw;
    }
}

.accessMap {
    position: relative;
}

@media only screen and (min-width: 499px) {
    .accessMap {
        width: 994px;
        margin: 0 auto;
        background-position: top right;
        background-repeat: no-repeat;
        background-size: contain;
        background-image: url(assets/images/access/access_map_pc.jpg);
        height: 555px;
        -webkit-backface-visibility: hidden;
    }
    .accessMap.noRetina {
        background-image: url(assets/images/access/access_map_pc@1x.jpg);
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessMap {
        height: 497px;
        width: 890px;
        background-image: url(assets/images/access/access_map_small.jpg);
    }
    .accessMap.noRetina {
        background-image: url(assets/images/access/access_map_small@1x.jpg);
    }
}

.accessMapSpContent {
    margin-bottom: 9.9027vw;
}

.accessMapSpContent:last-child {
    margin-bottom: 0;
}

.accessMapSpTtl {
    text-align: center;
    position: relative;
    margin-bottom: 4.1666vw;
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.accessMapSpTtl:before {
    content: " ";
    display: block;
    width: 100%;
    height: 1px;
    background: #c1b6a2;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.accessMapSpTtl span {
    display: inline-block;
    background: #fff;
    padding: 0 0.5em;
    position: relative;
    z-index: 2;
    font-size: 4.1666vw;
}

@media only screen and (min-width: 499px) {
    .mapBtn {
        position: absolute;
        bottom: 34px;
        left: 7px;
    }
    .mapBtn a {
        margin-top: 0;
    }
}

@media only screen and (max-width: 500px) {
    .mapBtn a {
        margin-top: 8.3333vw;
    }
}

.parkingListWrap {
    padding-left: 1.5em;
    border-left: 2px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .parkingListWrap {
        position: absolute;
        top: 0;
        right: 0;
    }
}

@media only screen and (max-width: 500px) {
    .parkingListWrap {
        width: 77.7777vw;
        margin: 8.3333vw auto 0;
    }
}

.parkingList {
    position: relative;
}

@media only screen and (min-width: 499px) {
    .parkingList {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .parkingList {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .parkingList {
        margin-bottom: 5.5555vw;
    }
}

.parkingList:last-child {
    margin-bottom: 0;
}

.parkingListLead {
    color: #2f4438;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .parkingListLead {
        font-size: 18px;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .parkingListLead {
        font-size: 15px;
        margin-bottom: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .parkingListLead {
        font-size: 3.6111vw;
        margin-bottom: 3.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .parkingListText {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .parkingListText {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .parkingListText {
        font-size: 3.0555vw;
    }
}

.accessInfo .secDef {
    border-top: 2px solid #afa18c;
    padding: 0;
}

.accessInfo .secDef:before {
    content: " ";
    height: 1px;
    width: 100%;
    background: #afa18c;
    display: block;
    margin-top: 2px;
}

@media only screen and (min-width: 499px) {
    .accessInfo .secDef {
        width: 980px;
        margin: 65px auto 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessInfo .secDef {
        width: 890px;
        margin: 55px auto 0;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfo .secDef {
        width: 77.7777vw;
        margin: 16.6666vw auto 0;
    }
}

.accessInfo .secDef dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    padding: 0;
}

@media only screen and (min-width: 499px) {
    .accessInfo .secDef dl {
        margin-top: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessInfo .secDef dl {
        margin-top: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfo .secDef dl {
        padding: 0;
        border-top: none;
        display: block;
    }
}

.accessInfo .secDef dt {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .accessInfo .secDef dt {
        width: 27.0408%;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfo .secDef dt {
        padding: 9.7222vw 0 8.3333vw;
    }
}

.accessInfo .secDef dd {
    border-left: none;
}

@media only screen and (min-width: 499px) {
    .accessInfo .secDef dd {
        width: 72.9592%;
        padding-left: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessInfo .secDef dd {
        padding-left: 50px;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfo .secDef dd {
        text-align: left;
        padding: 0;
    }
}

.accessLogo {
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    .accessLogo {
        width: 174px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessLogo {
        width: 143px;
    }
}

@media only screen and (max-width: 500px) {
    .accessLogo {
        width: 38.8888vw;
    }
}

.accessInfoTtl {
    color: #2f4438;
    letter-spacing: 0.08em;
    margin-bottom: 0.8em;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .accessInfoTtl {
        font-size: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessInfoTtl {
        font-size: 21px;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfoTtl {
        font-size: 4.4444vw;
    }
}

.accessInfoTtl span {
    display: block;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .accessInfoTtl span {
        font-size: 14px;
        margin-top: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessInfoTtl span {
        font-size: 12px;
        margin-top: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfoTtl span {
        font-size: 2.7777vw;
        margin-top: 1.3888vw;
    }
}

.accessInfoTable {
    width: 100%;
}

.accessInfoTable th,
.accessInfoTable td {
    font-weight: normal;
    vertical-align: top;
    line-height: 1.8461;
}

@media only screen and (min-width: 499px) {
    .accessInfoTable th,
    .accessInfoTable td {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .accessInfoTable th,
    .accessInfoTable td {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .accessInfoTable th,
    .accessInfoTable td {
        font-size: 3.0555vw;
    }
}

.accessInfoTable th {
    width: 13%;
}

@media only screen and (max-width: 500px) {
    .accessInfoTable th {
        width: 20%;
    }
}

.accessInfoTable th span {
    float: right;
}

.accessInfoTable td {
    width: 87%;
    padding-left: 1em;
}

@media only screen and (max-width: 500px) {
    .accessInfoTable td {
        width: 80%;
    }
}

.accessInfoTable td strong {
    font-weight: bold;
    color: #a49176;
}

@media only screen and (min-width: 499px) {
    .accessInfoTable .accessInfoTablePT th,
    .accessInfoTable .accessInfoTablePT td {
        padding-top: 1.3em;
    }
}

@media only screen and (max-width: 500px) {
    .contactSecDeco {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .contactSecDeco .secDecoContentInner {
        padding: 55px 40px 70px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactSecDeco .secDecoContentInner {
        padding: 45px 33px 58px;
    }
}

@media only screen and (max-width: 500px) {
    .contactSecDeco .secDecoContentInner {
        padding: 10vw 6.1111vw 11.1111vw;
    }
}

.contactLead {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .contactLead {
        font-size: 13px;
        letter-spacing: 0.1em;
        line-height: 1.846;
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactLead {
        font-size: 11px;
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .contactLead {
        font-size: 2.7777vw;
        margin-bottom: 5.9722vw;
        line-height: 1.7;
    }
}

.contactLead a {
    text-decoration: underline;
    color: #3c5064;
}

@media only screen and (min-width: 499px) {
    .contactLead a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .contactLead a:hover {
        opacity: 0.7;
    }
}

.contactTelInfo {
    text-align: center;
    border-top: 2px solid #aaa08c;
    padding-top: 2px;
}

@media only screen and (min-width: 499px) {
    .contactTelInfo {
        width: 460px;
        margin: 0 auto 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactTelInfo {
        width: 380px;
        margin: 0 auto 66px;
    }
}

@media only screen and (max-width: 500px) {
    .contactTelInfo {
        width: 100%;
        margin: 0 auto 13.8888vw;
    }
}

.contactTelInfoInner {
    border-top: 1px solid #aaa099;
}

@media only screen and (min-width: 499px) {
    .contactTelInfoInner {
        padding: 50px 0 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactTelInfoInner {
        padding: 41px 0 0;
    }
}

@media only screen and (max-width: 500px) {
    .contactTelInfoInner {
        padding: 5.5555vw 0 0;
    }
}

.contactTelInfoTtl {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .contactTelInfoTtl {
        letter-spacing: 0.1em;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactTelInfoTtl {
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .contactTelInfoTtl {
        letter-spacing: 0.12em;
        margin-bottom: 4.1666vw;
    }
}

.contactTelInfoTel {
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .contactTelInfoTel {
        font-size: 20px;
        letter-spacing: 0.09em;
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactTelInfoTel {
        font-size: 16px;
        margin-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .contactTelInfoTel {
        font-size: 3.3333vw;
        letter-spacing: 0.05em;
        margin-bottom: 2.7777vw;
    }
}

@media only screen and (min-width: 499px) {
    .contactTelInfoTel span {
        font-size: 32px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactTelInfoTel span {
        font-size: 26px;
    }
}

@media only screen and (max-width: 500px) {
    .contactTelInfoTel span {
        font-size: 5.9722vw;
    }
}

.contactTelInfoOpen {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .contactTelInfoOpen {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactTelInfoOpen {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .contactTelInfoOpen {
        font-size: 3.1944vw;
        line-height: 1.7;
    }
}

.contactFormWrap table {
    width: 100%;
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table {
        display: block;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table tbody {
        display: block;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table tr {
        display: block;
    }
}

@media only screen and (min-width: 499px) {
    .contactFormWrap table tr:last-child th,
    .contactFormWrap table tr:last-child td {
        border-bottom: 1px solid #e0e0e0;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table tr:last-child td {
        padding-bottom: 0;
    }
}

.contactFormWrap table th,
.contactFormWrap table td {
    vertical-align: middle;
}

@media only screen and (min-width: 499px) {
    .contactFormWrap table th,
    .contactFormWrap table td {
        border-top: 1px solid #e0e0e0;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table th,
    .contactFormWrap table td {
        display: block;
    }
}

.contactFormWrap table th {
    text-align: center;
    font-weight: normal;
}

@media only screen and (min-width: 499px) {
    .contactFormWrap table th {
        width: 15.3%;
        padding: 20px 15px;
        background: #f2f1ee;
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactFormWrap table th {
        padding: 16px 12px;
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table th {
        padding: 3.3333vw;
        border-top: 1px solid #ccc6ba;
        border-bottom: 1px solid #ccc6ba;
    }
}

@media only screen and (min-width: 499px) {
    .contactFormWrap table td {
        width: 84.7%;
        padding: 20px 45px 20px 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactFormWrap table td {
        padding: 16px 37.125px 16px 33px;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap table td {
        padding: 3.4722vw 0 11.1111vw;
    }
}

.contactFormWrap input[type="text"],
.contactFormWrap input[type="mail"],
.contactFormWrap input[type="tel"] {
    border: none;
    border-radius: 0;
    outline: none;
    background: #f2f1ee;
}

@media only screen and (min-width: 499px) {
    .contactFormWrap input[type="text"],
    .contactFormWrap input[type="mail"],
    .contactFormWrap input[type="tel"] {
        padding: 10px 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactFormWrap input[type="text"],
    .contactFormWrap input[type="mail"],
    .contactFormWrap input[type="tel"] {
        padding: 9px 9px;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap input[type="text"],
    .contactFormWrap input[type="mail"],
    .contactFormWrap input[type="tel"] {
        padding: 3.0555vw;
    }
}

.contactFormWrap input[type="text"]:placeholder-shown,
.contactFormWrap input[type="mail"]:placeholder-shown,
.contactFormWrap input[type="tel"]:placeholder-shown {
    color: #aaa08c;
}

.contactFormWrap input[type="text"]::-webkit-input-placeholder,
.contactFormWrap input[type="mail"]::-webkit-input-placeholder,
.contactFormWrap input[type="tel"]::-webkit-input-placeholder {
    color: #aaa08c;
}

@media only screen and (max-width: 500px) {
    .contactFormWrap input[type="text"]::-webkit-input-placeholder,
    .contactFormWrap input[type="mail"]::-webkit-input-placeholder,
    .contactFormWrap input[type="tel"]::-webkit-input-placeholder {
        padding-top: 0.2em;
    }
}

.contactFormWrap input[type="text"]:-moz-placeholder,
.contactFormWrap input[type="mail"]:-moz-placeholder,
.contactFormWrap input[type="tel"]:-moz-placeholder {
    color: #aaa08c;
    opacity: 1;
}

.contactFormWrap input[type="text"]::-moz-placeholder,
.contactFormWrap input[type="mail"]::-moz-placeholder,
.contactFormWrap input[type="tel"]::-moz-placeholder {
    color: #aaa08c;
    opacity: 1;
}

.contactFormWrap input[type="text"]:-ms-input-placeholder,
.contactFormWrap input[type="mail"]:-ms-input-placeholder,
.contactFormWrap input[type="tel"]:-ms-input-placeholder {
    color: #aaa08c;
}

.contactFormWrap textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    resize: none;
    padding: 0;
    border: 0;
    outline: none;
    background: #f2f1ee;
    max-width: 100%;
    min-width: 100%;
    line-height: 1.6;
}

@media only screen and (min-width: 499px) {
    .contactFormWrap textarea {
        padding: 10px 10px;
        height: 143px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contactFormWrap textarea {
        padding: 9px 9px;
        height: 118px;
    }
}

@media only screen and (max-width: 500px) {
    .contactFormWrap textarea {
        padding: 3.0555vw;
        height: 33.3333vw;
    }
}

.selectWrap {
    position: relative;
}

.selectWrap:after {
    content: "▼";
    position: absolute;
    right: 1em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 10;
    font-size: 6px;
}

.selectWrap select {
    outline: none;
    border: none;
    text-indent: 0.01px;
    text-overflow: "";
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #f2f1ee;
    border-radius: 0;
    width: 100%;
}

@media only screen and (min-width: 499px) {
    .selectWrap select {
        padding: 10px 30px 10px 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .selectWrap select {
        padding: 9px 27px 9px 9px;
    }
}

@media only screen and (max-width: 500px) {
    .selectWrap select {
        padding: 3.0555vw 9.1666vw 3.0555vw 3.0555vw;
    }
}

.selectWrap select::-ms-expand {
    display: none;
}

.selectWrap select:-moz-focusring {
    color: transparent;
    text-shadow: none;
}

.selectWrap select option {
    background-color: #fff;
    color: #282f37;
}

.inputTxtWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
}

.required {
    text-align: center;
    background: #2f4438;
    color: #fff;
}

@media only screen and (min-width: 499px) {
    .required {
        width: 6.42%;
        font-size: 11px;
        padding: 5px;
        position: absolute;
        top: 1em;
        left: 0;
    }
}

@media only screen and (max-width: 500px) {
    .required {
        width: 8.75vw;
        font-size: 2.2916vw;
        padding: 0.8vw;
    }
}

.inputTxtHalf,
.inputTxtFull {
    width: 100%;
}

@media only screen and (min-width: 499px) {
    .inputTxtHalf {
        padding-left: 10%;
    }
}

@media only screen and (max-width: 500px) {
    .inputTxtHalf {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.inputTxtHalf dt {
    display: inline-block;
    vertical-align: top;
}

@media only screen and (min-width: 499px) {
    .inputTxtHalf dt {
        width: 8%;
        text-align: right;
        padding-right: 0.8em;
        padding-top: 1em;
    }
}

@media only screen and (max-width: 500px) {
    .inputTxtHalf dt {
        width: 9%;
        margin-top: 3.4722vw;
    }
}

.inputTxtHalf dd {
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    .inputTxtHalf dd {
        width: 28.5714%;
    }
}

@media only screen and (max-width: 500px) {
    .inputTxtHalf dd {
        width: 91%;
        margin-top: 3.4722vw;
    }
}

.inputTxtHalf dd input {
    width: 100%;
}

@media only screen and (max-width: 500px) {
    .inputTxtHalf.inputTxtHalfKana dt {
        width: 11%;
    }
}

@media only screen and (max-width: 500px) {
    .inputTxtHalf.inputTxtHalfKana dd {
        width: 89%;
    }
}

@media only screen and (min-width: 499px) {
    .inputTxtFull {
        padding-left: 17%;
    }
}

@media only screen and (max-width: 500px) {
    .inputTxtFull {
        margin-top: 3.4722vw;
    }
}

.inputTxtFull input {
    margin-bottom: 0.3em;
    width: 100%;
}

.inputTxtFull input:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 499px) {
    .inputComment {
        font-size: 13px;
        margin-bottom: 15px;
        line-height: 1.69;
        display: block !important;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .inputComment {
        font-size: 11px;
        margin-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .inputComment {
        font-size: 2.7777vw;
        margin-bottom: 2.7777vw;
        line-height: 1.5;
    }
}

.inputComment:last-child,
.inputComment.last {
    margin-bottom: 0;
}

.inputRadio li {
    display: block;
    margin-bottom: 1em;
}

.inputRadio li:last-child {
    margin-bottom: 0;
}

.inputRadio li input {
    margin-right: 1em;
}

@media only screen and (min-width: 499px) {
    .inputCal {
        margin-left: 17%;
        width: 140px;
    }
}

@media only screen and (max-width: 500px) {
    .inputCal {
        margin-top: 3.4722vw;
        width: 100%;
    }
}

.inputCal input {
    width: 100%;
}

@media only screen and (min-width: 499px) {
    .inputCalElm {
        width: 140px;
    }
}

@media only screen and (max-width: 500px) {
    .inputCalElm {
        width: 100%;
    }
}

.inputCalElm input {
    width: 100%;
}

.inputAddressWrap {
    position: relative;
}

.inputAddress {
    margin-bottom: 1em;
}

@media only screen and (max-width: 500px) {
    .inputAddress {
        margin-top: 3.4722vw;
    }
}

.inputAddress:last-child {
    margin-bottom: 0;
}

.inputAddress dt,
.inputAddress dd {
    display: inline-block;
    vertical-align: top;
}

.inputAddress dt {
    text-align: right;
}

@media only screen and (min-width: 499px) {
    .inputAddress dt {
        width: 24%;
        padding-top: 1em;
        padding-right: 1em;
    }
}

@media only screen and (max-width: 500px) {
    .inputAddress dt {
        vertical-align: middle;
        padding-right: 0.5em;
    }
}

@media only screen and (min-width: 499px) {
    .inputAddress dd {
        width: 76%;
    }
}

@media only screen and (max-width: 500px) {
    .inputAddress dd {
        vertical-align: middle;
        width: 100%;
    }
}

.inputAddress .inputComment {
    margin-bottom: 0;
}

.inputAddressFull {
    width: 100%;
}

@media only screen and (max-width: 500px) {
    .inputAddressFull {
        margin-top: 0.5em;
    }
}

.inputAddressFull input {
    width: 100%;
}

@media only screen and (max-width: 500px) {
    .inputAddressFull input {
        margin-bottom: 0.5em;
    }
}

@media only screen and (max-width: 500px) {
    .inputZip {
        margin-bottom: 0.5em;
    }
}

.inputZip>* {
    display: inline-block;
}

.inputZip .inputTxtSpan {
    margin: 0 0.4em;
}

@media only screen and (max-width: 500px) {
    .inputAddressSpCol dt {
        width: 19.1666vw;
        text-align: left;
        margin-bottom: 0.5em;
    }
}

@media only screen and (max-width: 500px) {
    .inputAddressSpCol dd {
        width: 57vw;
    }
}

@media only screen and (max-width: 500px) {
    .inputAddressSpCol dd .inputZipW {
        width: 30vw;
    }
}

@media only screen and (max-width: 500px) {
    .inputAddressSpCol dd .inputSpFull {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .input140 {
        width: 160px;
    }
}

@media only screen and (max-width: 500px) {
    .input140 {
        width: 29vw;
    }
}

.input140 input {
    width: 100%;
}

@media only screen and (min-width: 499px) {
    .input160 {
        width: 160px;
    }
}

@media only screen and (max-width: 500px) {
    .input160 {
        width: 45vw;
    }
}

.input160 input {
    width: 100%;
}

.inputTxtSpan {
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    .inputTxtSpan {
        margin: 0 1em;
        line-height: 3em;
    }
}

@media only screen and (max-width: 500px) {
    .inputTxtSpan {
        margin: 0 0.4em;
        padding: 1.2em 0;
    }
}

.privacyPolicyLink {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .privacyPolicyLink {
        margin-top: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .privacyPolicyLink {
        margin-top: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .privacyPolicyLink {
        margin-top: 8.3333vw;
    }
}

.privacyPolicyLink a {
    text-decoration: underline;
}

@media only screen and (min-width: 499px) {
    .privacyPolicyLink a {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .privacyPolicyLink a {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .privacyPolicyLink a {
        font-size: 3.3333vw;
    }
}

.confirm td {
    letter-spacing: 0.08em;
}

@media only screen and (min-width: 499px) {
    .confirm td {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .confirm td {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .confirm td {
        font-size: 3.5vw;
    }
}

.confirm .inputTxtWrap {
    display: block;
    line-height: 1.5;
}

.confirm p + .inputTxtWrap {
    margin-top: 3px;
}

.confirm .inputTxtWrap + p {
    margin-top: 10px;
}

.confirm .inputTxtWrap .inputTxtHalf {
    padding: 0;
    display: inline-block;
}

.confirm .inputTxtWrap .inputTxtHalf * {
    margin: 0;
}

.confirm .inputTxtWrap .inputTxtFull {
    padding: 0;
    display: inline-block;
    margin: 0;
}

.confirm .inputTxtWrap .inputCal {
    padding: 0;
    margin: 0;
    width: 100%;
    display: inline-block;
}

.confirm .inputTxtWrap .inputCalElm {
    padding: 0;
    margin: 0;
    width: 100%;
    display: inline-block;
}

.confirm .inputTxtWrap .input140 {
    padding: 0;
    margin: 0;
    width: auto;
    display: inline-block;
}

.confirm .inputTxtWrap .input160 {
    padding: 0;
    margin: 0;
    width: auto;
    display: inline-block;
}

.confirm .inputTxtWrap .inputTxtSpan {
    line-height: 1;
    padding: 0;
    margin: 0;
    display: inline-block;
}

.confirm .selectWrap:after {
    content: none;
}

.confirm .formBtn {
    text-align: center;
}

.confirm .formBtn button {
    display: inline-block;
    margin-left: 1em;
    margin-right: 1em;
}

@media only screen and (max-width: 500px) {
    .confirm .formBtn button:last-child {
        margin-top: 3vw;
    }
}

.confirm .formBtn button.modify-btn {
    background: #bbb;
}

.confirm .formBtn button.modify-btn:after {
    -webkit-transform: scale(-1, 1) translate(0, -50%);
    transform: scale(-1, 1) translate(0, -50%);
    right: auto;
}

@media only screen and (min-width: 499px) {
    .confirm .formBtn button.modify-btn:after {
        left: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .confirm .formBtn button.modify-btn:after {
        left: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .confirm .formBtn button.modify-btn:after {
        left: 3.055vw;
    }
}

@media only screen and (min-width: 499px) {
    .formBtn button {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formBtn button {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .formBtn button {
        font-size: 3.3vw;
    }
}

.err-block {
    display: block !important;
}

@media only screen and (min-width: 499px) {
    .err-block.pcH {
        display: none !important;
    }
}

@media only screen and (max-width: 500px) {
    .err-block.spH {
        display: none !important;
    }
}

.err-block .pp-em {
    padding: 0;
    background: none;
}

@media only screen and (min-width: 499px) {
    .err-block .pp-em {
        margin-top: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .err-block .pp-em {
        margin-top: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .err-block .pp-em {
        margin-top: 2vw;
    }
}

.err-block .pp-em p {
    display: inline-block;
    padding: 0.5em;
    background: #df4547;
    border-radius: 0.3em;
}

@media only screen and (min-width: 499px) {
    .err-block .pp-em p {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .err-block .pp-em p {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .err-block .pp-em p {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .mailCheck {
        background: #f2f1ee;
        width: 100%;
        line-height: 42px;
        margin-top: 10px;
        padding: 0 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .mailCheck {
        line-height: 38px;
        margin-top: 8px;
        padding: 0 8px;
    }
}

@media only screen and (max-width: 500px) {
    .mailCheck {
        font-size: 3.4722vw;
        margin-top: 5.2777vw;
        padding-bottom: 0.5em;
        border-bottom: 1px solid #ccc6ba;
    }
}

.mailCheck span {
    display: inline-block;
    vertical-align: bottom;
    min-height: 1em;
    color: #aaa08c;
}

@media only screen and (max-width: 500px) {
    .mailCheck span {
        font-size: 3.4722vw;
    }
}

.mailCheck .text {
    color: #282f37;
    letter-spacing: 0.03em;
}

@media only screen and (min-width: 499px) {
    .mailCheck .text {
        margin-left: 1.4em;
    }
}

@media only screen and (max-width: 500px) {
    .mailCheck .text {
        font-size: 3.4722vw;
        margin-left: 0.5em;
    }
}

.ui-datepicker {
    z-index: 15 !important;
}

.contactDesiredDate td .inputTxtFull {
    margin-bottom: 1em;
}

.contactDesiredDate td .inputTxtFull:last-child {
    margin-bottom: 0;
}

.inputFlexWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.inputFlexWrap>* {
    margin-left: 0;
    margin-right: 1em;
}

.inputFlexWrap>*:last-child {
    margin-right: 0;
}

@media only screen and (max-width: 500px) {
    .contactDesiredDate .inputFlexWrap>*:first-child {
        width: 49.7%;
    }
}

.inputHead {
    margin-bottom: 0.5em;
}

.contactDesiredDateConfirm td>p {
    margin-bottom: 0.5em;
    font-size: 90%;
}

.contactDesiredDateConfirm td>div {
    margin-bottom: 1.2em;
}

.contactDesiredDateConfirm td>div:last-child {
    margin-bottom: 0;
}


/*レストラン予約フォーム改修*/

.contactDesiredDate .required {
    top: 0;
}

.contactDesiredDate .timeTxt {
    position: absolute;
    left: 0;
    top: 50%;
}

/*大人人数*/
@media only screen and (max-width: 500px) {
    .contactAdult .inputTxtFull {
        margin-top: 0.3em;
    }
}

/*子供人数*/

.contactChild .inputTxtFull {
    display: flex;
    margin-top: 0.3em;
}

.contactChild .inputTxtFull,
.contactChildLunch .inputTxtFull {
    padding-left: 0;
}

.contactChild td {
    padding-bottom: 0px !important;
}

.inputChildrenWrap {
    display: flex;
    align-items: center;
}

.inputChildrenWrap .input160 {
    display: flex;
    align-items: center;
}

.contactChildLunch th,
.contactChildLunch td {
    border-top: none !important;
}

.contactChildLunch .input160Wrap {
    display: flex;
}

.contactChild .inputTxtSpan-first,
.contactChildLunch .inputTxtSpan-first {
    margin: 0 1em 0 0;
}

@media only screen and (max-width: 500px) {
    .contactDesiredDate .inputFlexWrap {
        flex-direction: column;
    }
    .contactDesiredDateLunch td {
        padding-bottom: 1.5vw !important;
    }
    .contactDesiredDate .timeTxt {
        position: static !important;
        display: flex;
        width: 100%;
    }
    .contactDesiredDate .timeTxt1 {
        margin-top: 1em;
    }
    .contactDesiredDate .timeTxt2 {
        margin-top: 1em;
    }
    .contactDesiredDate .inputHead {
        margin-top: 0.5em;
    }
    .contactDesiredDate .inputFlexWrap>*:first-child {
        width: 100%;
    }
    .contactDesiredDate .input160 {
        width: 100%;
    }
    .contactDesiredDate .inputFlexWrap>* {
        margin-right: 0;
    }
    /*子供人数*/
    .contactChild .inputTxtFull {
        flex-direction: column;
    }
    .contactChild .inputChildrenWrap:first-child {
        margin-bottom: 0.5em;
    }
    .contactChild td {
        padding: 3.4722vw 0 0 !important;
    }
    .contactChildLunch .inputTxtFull {
        margin-top: 0;
    }
    .contactChild .inputTxtSpan-first,
    .contactChildLunch .inputTxtSpan-first {
        margin: 0 0.4em;
    }
    .contactChildLunch .inputChildrenWrap {
        flex-wrap: wrap;
    }
    .contactChildLunch .inputTxtSpanSp100 {
        width: 100%;
        margin-top: 0.5em;
    }
}

.formFair {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (max-width: 500px) {
    .formFair {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (min-width: 499px) {
    .formFairTh {
        width: 121px;
        -webkit-box-shadow: 3px 3px 0 0 rgba(215, 201, 181, 0.5);
        box-shadow: 3px 3px 0 0 rgba(215, 201, 181, 0.5);
        margin-right: 24px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formFairTh {
        width: 100px;
        margin-right: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .formFairTh {
        width: 30.36%;
        margin-right: 3.0555vw;
    }
}

.formFairTh figure {
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
}

.formFairTxt {
    max-width: 100%;
}

@media only screen and (min-width: 499px) {
    .formFairTxt {
        padding-top: 0.5em;
    }
}

@media only screen and (max-width: 500px) {
    .formFairTxt {
        width: 69.64%;
    }
}

.formFairDate {
    padding-left: 0.5em;
    border-left: 3px solid #2f4438;
}

@media only screen and (min-width: 499px) {
    .formFairDate {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formFairDate {
        margin-bottom: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .formFairDate {
        margin-bottom: 3.0555vw;
    }
}

.formFairDate span {
    display: inline-block;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .formFairDate .date {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formFairDate .date {
        font-size: 12px;
    }
}

.formFairDate .week {
    margin-right: 0.5em;
}

@media only screen and (min-width: 499px) {
    .formFairDate .week {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formFairDate .week {
        font-size: 11px;
    }
}

@media only screen and (min-width: 499px) {
    .formFairDate .time {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formFairDate .time {
        font-size: 12px;
    }
}

.formFairTtl {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
}

@media only screen and (min-width: 499px) {
    .formFairTtl {
        font-size: 18px;
        line-height: 1.4444;
        letter-spacing: 0.08em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .formFairTtl {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .formFairTtl {
        font-size: 3.3333vw;
        line-height: 1.6666;
    }
}

#fairWeekend {
    background-image: url(assets/images/common/noiseBgW.jpg);
    background-size: 50px 50px;
}

@media only screen and (min-width: 499px) {
    #fairWeekend {
        padding: 70px 0 90px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairWeekend {
        padding: 58px 0 74px;
    }
}

@media only screen and (max-width: 500px) {
    #fairWeekend {
        padding: 8.6111vw 0 12.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .secTtlWeekend {
        margin-bottom: 60px !important;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .secTtlWeekend {
        margin-bottom: 50px !important;
    }
}

@media only screen and (max-width: 500px) {
    .secTtlWeekend {
        margin-bottom: 8.6111vw !important;
    }
}

@media only screen and (max-width: 500px) {
    .single #fairWeekend {
        padding-top: 8.3333vw;
    }
}

@media only screen and (max-width: 500px) {
    .single .secTtlWeekend {
        display: block;
    }
}

.weekendContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 499px) {
    .weekendContent {
        margin-bottom: 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendContent {
        margin-bottom: 33px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendContent {
        margin-bottom: 8.3333vw;
    }
}

.weekendContent:last-child {
    margin-bottom: 0;
}

.weekendDateWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (min-width: 499px) {
    .weekendDateWrap {
        width: 5.5555%;
        padding-bottom: 5px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendDateWrap {
        width: 10.9375%;
        padding-bottom: 2.9166vw;
    }
}

.weekendDate {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    z-index: 20;
    width: 100%;
}

.weekendDate:after {
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(50%, -50%) rotate(45deg);
    transform: translate(50%, -50%) rotate(45deg);
}

@media only screen and (min-width: 499px) {
    .weekendDate:after {
        width: 11px;
        height: 11px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendDate:after {
        width: 9px;
        height: 9px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendDate:after {
        width: 2.5vw;
        height: 2.5vw;
    }
}

.weekendDate .dateCon {
    text-align: center;
    color: #fff;
    line-height: 1.2;
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .weekendDate .dateCon {
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendDate .dateCon {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendDate .dateCon {
        font-size: 3.6111vw;
    }
}

.weekendDate .dateCon.week {
    margin-top: 0.5em;
}

@media only screen and (max-width: 500px) {
    .weekendDate .dateCon.week {
        font-size: 3.0555vw;
    }
}

@media only screen and (min-width: 499px) {
    .weekendListWrap {
        width: 86.2962%;
        width: calc(86.2962% + 24px);
        padding-left: 12px;
    }
    .weekendListWrap .slick-slide {
        margin-right: 12px;
    }
    .weekendListWrap .slick-list {
        padding-top: 5px;
        position: relative;
        top: -5px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListWrap {
        width: 84.6875%;
    }
}

.weekendList {
    position: relative;
    border: 2px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .weekendList {
        padding: 4px;
        width: 49.3562%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendList {
        padding: 3px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendList {
        padding: 0.6944vw;
        margin-bottom: 2.9166vw;
    }
    .weekendList.hide {
        display: none !important;
    }
}

.weekendListInner {
    border: 1px solid #9e948b;
    max-width: 100%;
    height: 100%;
}

@media only screen and (min-width: 499px) {
    .weekendListInner {
        padding: 37px 24px 30px 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListInner {
        padding: 30px 20px 25px 25px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListInner {
        padding: 6.8055vw 4.1666vw 9.1666vw;
    }
}

.weekendListRibbon {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(assets/images/fair/ribbon_fair_pc.svg);
    text-align: center;
    position: absolute;
    overflow: visible !important;
}

@media only screen and (min-width: 499px) {
    .weekendListRibbon {
        right: -2px;
        top: -2px;
        width: 114px;
        height: 114px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListRibbon {
        width: 94px;
        height: 94px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListRibbon {
        right: 0;
        top: 0;
        width: 22.7083vw;
        height: 22.7083vw;
    }
}

.weekendListTop {
    border-bottom: 1px dotted #aaa08c;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .weekendListTop {
        padding-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListTop {
        padding-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListTop {
        padding-bottom: 3.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .weekendListTh {
        width: 41.7718%;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListTh {
        width: 31.1688%;
    }
}

.weekendListTh span {
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 499px) {
    .weekendListTxt {
        width: 52.0304%;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListTxt {
        width: 64.935%;
    }
}

.weekendListDateWrap {
    border-left: 2px solid #2e4437;
    padding-left: 0.5em;
    font-weight: bold;
    color: #2e4437;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .weekendListDateWrap {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListDateWrap {
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListDateWrap {
        margin-bottom: 4.0277vw;
    }
}

.weekendListDate {
    letter-spacing: 0.05em;
}

@media only screen and (min-width: 499px) {
    .weekendListDate {
        font-size: 20px;
        margin-bottom: 8px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListDate {
        font-size: 16px;
        margin-bottom: 7px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListDate {
        font-size: 3.6111vw;
        margin-bottom: 2.0833vw;
    }
}

@media only screen and (min-width: 499px) {
    .weekendListDate span {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListDate span {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListDate span {
        font-size: 2.7777vw;
    }
}

@media only screen and (min-width: 499px) {
    .weekendListTime {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListTime {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListTime {
        font-size: 3.3vw;
    }
}

.weekendListTtl {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .weekendListTtl {
        font-size: 16px;
        line-height: 1.625;
        letter-spacing: 0.1em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListTtl {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListTtl {
        font-size: 3.6111vw;
        line-height: 1.538;
        letter-spacing: 0.05em;
    }
}

@media only screen and (min-width: 499px) {
    .weekendListComment {
        margin-top: 15px;
        line-height: 1.571;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListComment {
        margin-top: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListComment {
        margin-top: 3.4722vw;
        line-height: 1.666;
    }
}

.weekendListBtn {
    color: #2f4438;
    position: absolute;
    z-index: 10;
    font-family: "Crimson Text", serif;
}

@media only screen and (min-width: 499px) {
    .weekendListBtn {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .weekendListBtn:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .weekendListBtn {
        bottom: 21px;
        right: 24px;
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListBtn {
        bottom: 18px;
        right: 20px;
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListBtn {
        bottom: 3.4722vw;
        right: 4.1666vw;
    }
}

.weekendListBtn:after {
    content: " ";
    display: inline-block;
    background: url(assets/images/common/arw_more_p.svg) center no-repeat;
    background-size: contain;
    margin-left: 0.8em;
}

@media only screen and (min-width: 499px) {
    .weekendListBtn:after {
        width: 22px;
        height: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .weekendListBtn:after {
        width: 22px;
        height: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendListBtn:after {
        width: 4.6527vw;
        height: 3.3333vw;
    }
}

.weekendArw {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 499px) {
    .weekendArw {
        width: 3.7037%;
        padding-bottom: 5px;
    }
}

@media only screen and (max-width: 500px) {
    .weekendArw {
        display: block;
        width: 100%;
        text-align: center;
    }
}

.weekendArw button,
.weekendArw a {
    background-color: transparent;
    border: 2px solid #9e948b;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .weekendArw button,
    .weekendArw a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .weekendArw button:hover,
    .weekendArw a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .weekendArw button,
    .weekendArw a {
        -webkit-transition: 0.2s;
        transition: 0.2s;
    }
    .weekendArw button.slick-disabled,
    .weekendArw a.slick-disabled {
        display: none !important;
    }
    .weekendArw button.weekendArwPrev,
    .weekendArw a.weekendArwPrev {
        margin-bottom: 1em;
    }
    .weekendArw button.weekendArwPrev:before,
    .weekendArw a.weekendArwPrev:before {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
    .weekendArw button.arwMBNone,
    .weekendArw a.arwMBNone {
        margin-bottom: 0;
    }
    .weekendArw button:before,
    .weekendArw a:before {
        content: " ";
        width: 9px;
        height: 15px;
        background: url(assets/images/fair/arw_weekend_pc.svg) center no-repeat;
        background-size: contain;
        display: inline-block;
    }
}

@media only screen and (max-width: 500px) {
    .weekendArw button,
    .weekendArw a {
        margin-top: 3.4722vw;
        display: block;
        text-align: center;
        padding: 4.25vw 0;
    }
    .weekendArw button.off,
    .weekendArw a.off {
        display: none;
    }
}

@media only screen and (max-width: 500px) {
    .weekendArw button img,
    .weekendArw a img {
        width: 2.9166vw;
        height: auto;
        display: block;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 500px) {
    .weekendArw button.weekendArwLink img,
    .weekendArw a.weekendArwLink img {
        text-align: center;
        -webkit-transform: rotate(-90deg);
        transform: rotate(-90deg);
    }
}

.weekendContentSat .weekendDate,
.weekendContentSat .weekendDate:after {
    background: #577f7f;
}

.weekendContentSat .slick-slide:nth-child(2n-1) .weekendList {
    background: #f7f6f0;
}

.weekendContentSat .slick-slide:nth-child(2n) .weekendList {
    background: #ebe4de;
}

@media only screen and (max-width: 500px) {
    .weekendContentSat .weekendList:nth-child(2n-1) {
        background: #f7f6f0;
    }
    .weekendContentSat .weekendList:nth-child(2n) {
        background: #ebe4de;
    }
}

.weekendContentSun .weekendDate,
.weekendContentSun .weekendDate:after {
    background: #6f1b39;
}

.weekendContentSun .slick-slide:nth-child(2n-1) .weekendList {
    background: #ebe4de;
}

.weekendContentSun .slick-slide:nth-child(2n) .weekendList {
    background: #f7f6f0;
}

@media only screen and (max-width: 500px) {
    .weekendContentSun .weekendList:nth-child(2n-1) {
        background: #ebe4de;
    }
    .weekendContentSun .weekendList:nth-child(2n) {
        background: #f7f6f0;
    }
}

@media only screen and (min-width: 499px) {
    .calLinkBtn a {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .calLinkBtn a {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .calLinkBtn a {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    #fairContent,
    #fairArc {
        padding-top: 80px;
        margin-top: -80px;
    }
}

@media only screen and (max-width: 500px) {
    #fairContent,
    #fairArc {
        padding-top: 16vw;
        margin-top: -16vw;
    }
}

@media only screen and (min-width: 499px) {
    #fairMain {
        padding: 95px 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairMain {
        padding: 78px 0;
    }
}

@media only screen and (max-width: 500px) {
    #fairMain {
        padding: 11.1111vw 0;
    }
}

.fairMainInner {
    position: relative;
    width: 100%;
    max-width: 1260px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairMainInner {
        width: 1024px;
    }
}

@media only screen and (max-width: 500px) {
    .fairMainInner {
        width: 88.8888vw;
        max-width: none;
        padding: 0;
    }
}

.fairMainTabBtnWrap {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .fairMainTabBtnWrap {
        width: 980px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairMainTabBtnWrap {
        width: 808px;
    }
}

@media only screen and (max-width: 500px) {
    .fairMainTabBtnWrap {
        width: 76.3888vw;
    }
}

.fairMainTabBtnWrap>span {
    border-bottom: 1px solid #4c3c2e;
    display: block;
}

@media only screen and (min-width: 499px) {
    .fairMainTabBtnWrap>span {
        width: 4px;
    }
}

@media only screen and (max-width: 500px) {
    .fairMainTabBtnWrap>span {
        width: 1.3888vw;
    }
}

.fairMainTabBtn {
    text-align: center;
    color: #fff;
    background: #4c3c2e;
    border-top: 1px solid #4c3c2e;
    border-left: 1px solid #4c3c2e;
    border-right: 1px solid #4c3c2e;
    font-weight: bold;
    display: block;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .fairMainTabBtn {
        width: 488px;
        line-height: 45px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairMainTabBtn {
        width: 402px;
        line-height: 37px;
    }
}

@media only screen and (max-width: 500px) {
    .fairMainTabBtn {
        width: 37.5vw;
        line-height: 12.0833vw;
    }
}

.fairMainTabBtn.current {
    color: #4c3c2e;
    background: #fff;
}

@media only screen and (min-width: 499px) {
    a.fairMainTabBtn {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    a.fairMainTabBtn:hover {
        opacity: 0.7;
    }
}

.fairMainTabContentWrap {
    width: 100%;
    background: #fff;
}

@media only screen and (min-width: 499px) {
    .fairMainTabContentWrap {
        padding: 70px 70px 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairMainTabContentWrap {
        padding: 58px 58px 66px;
    }
}

@media only screen and (max-width: 500px) {
    .fairMainTabContentWrap {
        padding: 8.3333vw 2.7777vw 2.7777vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPost .fairMainTabBtnWrap>span {
        width: 11px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPost .fairMainTabBtnWrap>span {
        width: 9px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPost .fairMainTabBtnWrap>span {
        width: 1.1111vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPost .fairMainTabBtn {
        width: 319px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPost .fairMainTabBtn {
        width: 263px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPost .fairMainTabBtn {
        width: 24.6944vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPost .fairMainTabContentWrap {
        padding: 70px 120px 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPost .fairMainTabContentWrap {
        padding: 58px 99px 66px;
    }
}

@media only screen and (min-width: 499px) {
    #fairCalendar .secTtlCal {
        margin-bottom: 44px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairCalendar .secTtlCal {
        margin-bottom: 36px;
    }
}

#fairCalendar .secTtlCal .en {
    letter-spacing: 0;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    #fairCalendar .secTtlCal .en {
        font-size: 42px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairCalendar .secTtlCal .en {
        font-size: 35px;
    }
}

@media only screen and (max-width: 500px) {
    #fairCalendar .secTtlCal .en {
        font-size: 6.25vw;
    }
}

#fairCalendar .secTtlCal .jp {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    #fairCalendar .secTtlCal .jp {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairCalendar .secTtlCal .jp {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    #fairCalendar .secTtlCal .jp {
        font-size: 3.3333vw;
    }
}

.fairCalendarTableWrap {
    position: relative;
    width: 100%;
}

@media only screen and (max-width: 500px) {
    .fairCalendarTableWrap {
        border: 1px solid #9e948b;
        padding: 0;
    }
}

.fairCalendarTableSpDot {
    width: 100%;
}

@media only screen and (max-width: 500px) {
    .fairCalendarTableSpDot {
        padding: 5.5555vw 3.1944vw;
    }
}

.fairCalendarTable {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

.fairCalendarTable caption {
    text-align: center;
    color: #2f4438;
    position: relative;
    margin: 0 auto;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable caption {
        padding-bottom: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable caption {
        padding-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable caption {
        padding-bottom: 3.4722vw;
    }
}

.fairCalendarTable caption span {
    display: block;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable caption .num {
        font-size: 55px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable caption .num {
        font-size: 45px;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable caption .num {
        font-size: 7.6388vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable caption .en {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable caption .en {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable caption .en {
        font-size: 1.9444vw;
    }
}

.fairCalendarTable caption:before,
.fairCalendarTable caption:after {
    content: " ";
    display: block;
    background-image: url(assets/images/common/recommend_ttl_left.svg);
    background-position: center;
    background-size: contain;
    position: absolute;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable caption:before,
    .fairCalendarTable caption:after {
        width: 44px;
        height: 63px;
        top: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable caption:before,
    .fairCalendarTable caption:after {
        width: 36px;
        height: 52px;
        top: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable caption:before,
    .fairCalendarTable caption:after {
        width: 6.2085vw;
        height: 8.8541vw;
        top: 12px;
    }
}

.fairCalendarTable caption:before {
    left: 50%;
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
}

.fairCalendarTable caption:after {
    right: 50%;
    -webkit-transform: translateX(200%) scale(-1, 1);
    transform: translateX(200%) scale(-1, 1);
}

.fairCalendarTable th,
.fairCalendarTable td {
    width: 14.2857143%;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable th,
    .fairCalendarTable td {
        border: 1px solid #e0e0e0;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable th,
    .fairCalendarTable td {
        text-align: center;
        padding: 0.8em 0.5em;
        border-top: 1px solid #e9e9e9;
    }
}

.fairCalendarTable thead th {
    text-align: center;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable thead th {
        font-weight: normal;
        font-size: 13px;
        background: #c8c5c1;
        padding: 0.8em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable thead th {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable thead th {
        font-size: 2.7777vw;
        font-weight: normal;
    }
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable thead th.week6 {
        background: #577f7f;
        color: #fff;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable thead th.week6 {
        color: #6e80bc;
    }
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable thead th.week7 {
        background: #6f1b39;
        color: #fff;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable thead th.week7 {
        color: #da6e94;
    }
}

.fairCalendarTable tbody td {
    vertical-align: top;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable tbody td {
        padding: 7px 7px 25px;
        -webkit-transition: 0.2s;
        transition: 0.2s;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable tbody td {
        padding: 5px 5px 20px;
    }
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable tbody td.eventAb {
        background: #efede9;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable tbody td.eventPr {
        cursor: pointer;
    }
    .fairCalendarTable tbody td.eventPr .eventBtn {
        text-decoration: underline;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable tbody td.week6 {
        color: #6e80bc;
    }
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable tbody td.week7 {
        color: #da6e94;
    }
}

.fairCalendarTable tbody td .spCal {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable tbody td .spCal {
        display: none;
    }
}

.fairCalendarTable tbody td .spCal .eventBtn {
    font-size: 3.3333vw;
}

.fairCalendarTable tbody td .spCal .hold {
    font-size: 2.7777vw;
    margin-top: 0.5em;
}

@media only screen and (max-width: 500px) {
    .fairCalendarTable tbody td .pcCal {
        display: none;
    }
}

.fairCalendarTable tbody td .pcCal a {
    display: block;
    margin-bottom: 5px;
    padding: 1em;
    background: #fff !important;
}

@media only screen and (min-width: 499px) {
    .fairCalendarTable tbody td .pcCal a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .fairCalendarTable tbody td .pcCal a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable tbody td .pcCal a {
        padding: 0.4em;
    }
}

.fairCalendarTable tbody td .pcCal a p {
    font-size: 12px;
    line-height: 1.4;
    text-decoration: underline;
    margin-bottom: 0.5em;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable tbody td .pcCal a p {
        font-size: 11px;
    }
}

.fairCalendarTable tbody td .pcCal a .tagArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.fairCalendarTable tbody td .pcCal a .tagArea>span {
    width: 24%;
    margin: 0 0.5% 2px;
    font-size: 10px;
    text-align: center;
    display: block;
    padding: 0.3em 0;
    background: #e7e4de !important;
    color: #282f37 !important;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

.fairCalendarTable tbody td .pcCal a .tagArea>span.tag1 {
    width: 48.5%;
    background: #6f1b39 !important;
    color: #fff !important;
}

.fairCalendarTable tbody td .pcCal a .tagArea>span.tag6 {
    width: 73%;
    font-size: 9.5px;
    letter-spacing: -0.15em;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairCalendarTable tbody td .pcCal a .tagArea>span.tag6 {
        letter-spacing: -0.2em;
    }
}

.calDay {
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 1em;
    color: #393d43;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .calDay {
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .calDay {
        font-size: 15px;
    }
}

.week6 .calDay {
    color: #577f7f;
}

.week7 .calDay {
    color: #6f1b39;
}

.calFairCat1 {
    background: #fafaf8;
}

.calFairCat2 {
    background: #f5f5f1;
}

.calFairCat3 {
    background: #f0f0ea;
}

.calFairCat4 {
    background: #f2e7eb;
}

.calFairCat5 {
    background: #e6d0d7;
}

.calFairCat6 {
    background: #ebedef;
}

.calFairCat7 {
    background: #edefee;
}

.calFairCat8 {
    background: #dbe0dc;
}

.calFairCat9 {
    background: #f8f4eb;
}

.tag1 {
    background: #6f1b39;
    color: #fff;
}

.tag2 {
    background: #f1edea;
}

.tag3 {
    background: #b56d57;
    color: #fff;
}

.tag4 {
    background: #4a6452;
    color: #fff;
}

.tag5 {
    background: #ebe4dc;
    color: #fff;
}

.tag6 {
    background: #4c3c2e;
    color: #fff;
}

.tag7 {
    background: #9e9e9e;
    color: #fff;
}

.fairArwArea {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (min-width: 499px) {
    .fairArwArea {
        width: 100%;
        top: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArwArea {
        width: 100%;
        top: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArwArea {
        width: 65vw;
        top: 2.5em;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        display: block;
        overflow: hidden;
    }
}

.fairArwArea>span {
    display: block;
    width: 3px;
    height: auto;
    background: #4c3c2e;
    display: none;
}

@media only screen and (max-width: 500px) {
    .fairArwArea>span {
        display: none;
    }
}

@media only screen and (min-width: 499px) {
    .fairArwArea>div {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .fairArwArea>div:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .fairArwArea>div {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 500px) {
    .fairArwArea>div {
        cursor: pointer;
        padding: 1em 1em;
    }
}

@media only screen and (min-width: 499px) {
    .fairArwArea>div>img {
        width: 22px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .fairArwArea>div>img {
        width: 4vw;
        height: auto;
    }
}

.fairArwArea>div>p {
    text-align: center;
    padding: 0 1.5em;
}

.fairArwArea>div>p span {
    display: block;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .fairArwArea>div>p .num {
        font-size: 26px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArwArea>div>p .num {
        font-size: 21px;
    }
}

@media only screen and (min-width: 499px) {
    .fairArwArea>div>p .en {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArwArea>div>p .en {
        font-size: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArwArea>div>p {
        display: none;
    }
}

@media only screen and (max-width: 500px) {
    .fairArwPrv {
        float: left;
    }
}

@media only screen and (max-width: 500px) {
    .fairArwNxt {
        float: right;
    }
}

@media only screen and (min-width: 499px) {
    .fairArwPrv {
        position: absolute;
        left: 0;
    }
    .fairArwNxt {
        position: absolute;
        right: 0;
    }
}

.spFairEventContentWrap {
    margin-top: 6.9444vw;
}

.spFairEventContentWrap h3 {
    text-align: center;
    margin-bottom: 5.5555vw;
}

.spFairEventContentWrap h3 span {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
    position: relative;
    padding: 0 6vw;
    font-size: 4.1666vw;
    display: inline-block;
}

.spFairEventContent .notes {
    text-align: center;
    padding: 8.3333vw;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
    line-height: 1.666;
    background: #f7f6f0;
}

.spFairEventListWrap {
    display: none;
}

.spFairEventListWrap a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 3.4722vw;
    background: #fafaf9;
    margin-bottom: 1.25vw;
}

.spFairEventListWrap a:last-child {
    margin-bottom: 0;
}

.spFairEventTh {
    width: 30.7407%;
}

.spFairEventTxt {
    width: 65%;
}

.spFairEventDate {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
    padding-left: 1.6666vw;
    border-left: 0.4166vw solid #2f4438;
    margin-bottom: 1em;
}

.spFairEventDate span {
    display: inline-block;
    letter-spacing: 0.05em;
}

.spFairEventDate .date {
    font-size: 3.5vw;
}

.spFairEventDate .week {
    font-size: 2.7777vw;
    margin-right: 0.7em;
}

.spFairEventDate .time {
    font-size: 3.1vw;
}

.spFairEventTtl {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
    line-height: 1.666;
    font-size: 3.1vw;
    letter-spacing: -0.03em;
}

#overlayEvent {
    display: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: 10100;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
}

#overlayEvent img {
    width: 20%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    -webkit-animation: loading 3s linear infinite;
    animation: loading 3s linear infinite;
}

@-webkit-keyframes loading {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

@keyframes loading {
    0% {
        -webkit-transform: translate(-50%, -50%) rotate(0deg);
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        -webkit-transform: translate(-50%, -50%) rotate(360deg);
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

.fairLinkSP a {
    margin-top: 8.0555vw;
}

.fairRecWrap {
    background: #eee5df;
    border: 2px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .fairRecWrap {
        padding: 4px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRecWrap {
        padding: 4px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecWrap {
        padding: 0.9722vw;
    }
}

.fairRec {
    position: relative;
    border: 1px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .fairRec {
        padding: 55px 57px 49px 44px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRec {
        padding: 50px 41px 50px 50px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRec {
        padding: 11.1111vw 6.9444vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairRecTh {
        width: 38.7797%;
        padding-right: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecTh {
        padding-right: 0.6819vw;
    }
}

.fairRecTh figure {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
    display: block;
}

@media only screen and (min-width: 499px) {
    .fairRecTh figure {
        -webkit-box-shadow: 10px 10px 0 0 rgba(83, 71, 65, 0.1);
        box-shadow: 10px 10px 0 0 rgba(83, 71, 65, 0.1);
    }
}

@media only screen and (max-width: 500px) {
    .fairRecTh figure {
        -webkit-box-shadow: 0.6819vw 0.6819vw 0 0 rgba(83, 71, 65, 0.1);
        box-shadow: 0.6819vw 0.6819vw 0 0 rgba(83, 71, 65, 0.1);
    }
}

@media only screen and (min-width: 499px) {
    .fairRecTxt {
        width: 55.2223%;
    }
}

@media only screen and (min-width: 499px) {
    .fairRecTxt h3 {
        margin-top: 10px;
        margin-bottom: 55px;
        width: 100%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRecTxt h3 {
        margin-top: 8px;
        margin-bottom: 45px;
        width: 100%;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecTxt h3 {
        margin-top: 4.8611vw;
        margin-bottom: 6.9444vw;
        width: 100%;
        width: calc(100% + 2.7777vw);
        margin-left: -1.3888vw;
        margin-right: -1.3888vw;
    }
}

.fairRecDateWrap {
    border-left: 2px solid #2f4438;
    padding-left: 0.5em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .fairRecDateWrap {
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRecDateWrap {
        margin-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecDateWrap {
        margin-bottom: 4.0277vw;
    }
}

.fairRecDate {
    letter-spacing: 0.05em;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairRecDate {
        font-size: 20px;
        display: inline-block;
        margin-right: 0.2em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRecDate {
        font-size: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecDate {
        font-size: 3.6111vw;
        margin-bottom: 2.0833vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairRecDate span {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRecDate span {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecDate span {
        font-size: 2.7777vw;
    }
}

.fairRecTime {
    margin-top: 0.5em;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairRecTime {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairRecTime {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairRecTime {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairRecTime {
        display: block;
    }
}

.fairArcTtl {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    padding-bottom: 1em;
    border-bottom: 1px dotted #282f37;
    letter-spacing: 0.02em;
    margin-bottom: 0.8em;
}

@media only screen and (min-width: 499px) {
    .fairArcTtl {
        font-size: 17px;
        line-height: 1.666;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcTtl {
        font-size: 14px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcTtl {
        font-size: 3.6111vw;
        line-height: 1.5384;
    }
}

@media only screen and (min-width: 499px) {
    .fairArcTtl.ichioshi {
        padding-right: 5em;
    }
}

@media only screen and (min-width: 499px) {
    .fairArcComment {
        line-height: 1.5714;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcComment {
        line-height: 1.666;
    }
}

.fairArcBtnArea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .fairArcBtnArea {
        margin-top: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcBtnArea {
        margin-top: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcBtnArea {
        margin-top: 7.6388vw;
    }
}

.fairArcBtnArea a,
.fairArcBtnArea button {
    display: block;
    position: relative;
    width: 48.6891%;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .fairArcBtnArea a:hover,
    .fairArcBtnArea button:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        height: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        height: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcBtnArea a,
    .fairArcBtnArea button {
        height: 9.7222vw;
        width: 48.6%;
    }
}

.fairArcBtnArea a:after,
.fairArcBtnArea button:after {
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    background-image: url(assets/images/common/arw_btn_w_sp.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 499px) {
    .fairArcBtnArea a:after,
    .fairArcBtnArea button:after {
        width: 22px;
        height: 5px;
        right: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcBtnArea a:after,
    .fairArcBtnArea button:after {
        width: 20px;
        height: 4px;
        right: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcBtnArea a:after,
    .fairArcBtnArea button:after {
        width: 3.0555vw;
        height: 1vw;
        right: 3.055vw;
    }
}

.fairArcBtnArea a span,
.fairArcBtnArea button span {
    font-weight: bold;
    text-align: center;
    color: #fff;
    position: absolute;
    display: block;
    width: 100%;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.fairArcBtnArea .postBtn {
    background: #4c3c2e;
}

.fairArcBtnArea .rsvBtn {
    background: #2f4438;
}

@media only screen and (max-width: 500px) {
    .fairArcBtnArea .rsvBtn span {
        font-size: 3.0555vw;
        line-height: 1.13;
    }
}

.fairArcNotes {
    float: right;
    text-align: center;
    margin-top: 1em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .fairArcNotes {
        font-size: 12px;
        width: 48.6891%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcNotes {
        font-size: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcNotes {
        font-size: 3.0555vw;
    }
}

.fairArcArea {
    margin-top: 80px;
}

@media only screen and (min-width: 499px) {
    .fairArcArea {
        margin-top: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcArea {
        margin-top: 66px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcArea {
        margin-top: 12.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairArcDayWrap {
        padding-top: 150px;
        margin-top: -150px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcDayWrap {
        margin-bottom: 2.7777vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .fairArcDayWrap:last-child {
        margin-bottom: 0;
    }
}

.airArcDay {
    background: #c8c5c1;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (min-width: 499px) {
    .airArcDay {
        width: 5.5555%;
        padding-top: 2em;
    }
}

@media only screen and (max-width: 500px) {
    .airArcDay {
        width: 11.6666%;
        padding-top: 1.5em;
    }
}

.airArcDay#weekendSat {
    background: #577f7f;
    color: #fff;
}

.airArcDay#weekendSun {
    background: #6f1b39;
    color: #fff;
}

.airArcDay .day {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .airArcDay .day {
        font-size: 22px;
        margin-bottom: 0.4em;
        letter-spacing: -0.05em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .airArcDay .day {
        font-size: 18px;
    }
}

@media only screen and (max-width: 500px) {
    .airArcDay .day {
        font-size: 3.6111vw;
    }
    .airArcDay .day span {
        display: block;
        margin-bottom: 0.3em;
    }
}

.airArcDay .week {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .airArcDay .week {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .airArcDay .week {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .airArcDay .week {
        font-size: 3.0555vw;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcWrap {
        width: 83.5%;
    }
}

.fairArcListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .fairArcListWrap {
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcListWrap {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcListWrap {
        margin-bottom: 2.5vw;
    }
}

.fairArcDayWrap:last-child .fairArcListWrap:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 499px) {
    .fairArcList {
        border: 1px solid #aaa099;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 27px 49px 27px 27px;
        margin-bottom: 30px;
        width: 92.5%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcList {
        padding: 23px 40px 23px 23px;
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcList {
        padding: 3.3333vw;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 2.7777vw;
        background: #f7f6f0;
    }
}

.fairArcList:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 499px) {
    .fairArcList .fairArcBtnArea {
        margin-top: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcList .fairArcBtnArea {
        margin-top: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcList .fairArcTtl {
        margin-bottom: 0;
    }
}

.fairArcList .weekendListRibbon {
    right: -1px;
    top: -1px;
}

@media only screen and (min-width: 499px) {
    .fairArcTh {
        width: 34.7826%;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcTh {
        width: 31.1688%;
    }
}

.fairArcTh figure {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
    display: block;
}

@media only screen and (min-width: 499px) {
    .fairArcTxt {
        width: 61.9565%;
        padding-top: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcTxt {
        padding-top: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcTxt {
        width: 64.935%;
    }
}

.fairArcTxt .fairArcTtl {
    padding-bottom: 0.7em;
}

@media only screen and (min-width: 499px) {
    .fairArcTxt .fairArcTtl {
        font-size: 17px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcTxt .fairArcTtl {
        font-size: 14px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcTxt .fairArcTtl {
        font-size: 3.5vw;
        letter-spacing: 0;
        border-bottom: none;
        padding-bottom: 0;
    }
}

.fairArcDateWrap {
    border-left: 2px solid #282f37;
    padding-left: 0.5em;
    color: #2f4438;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairArcDateWrap {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcDateWrap {
        margin-bottom: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcDateWrap {
        margin-bottom: 1.5vw;
    }
}

.fairArcTagWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 499px) {
    .fairArcTagWrap {
        margin-top: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcTagWrap {
        margin-top: 16px;
    }
}

.fairArcTag {
    border: 1px solid #282f37;
    text-align: center;
    line-height: 1.666;
    padding: 0.35em 1.2em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .fairArcTag {
        margin: 0 6px 8px 0;
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcTag {
        margin: 0 6px 7px 0;
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcTag {
        margin-bottom: 1.1111vw;
        font-size: 2.7777vw;
        margin-right: 2%;
    }
}

@media only screen and (min-width: 499px) {
    .fairArcTag.fairArcTagSmall {
        font-size: 11px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcTag.fairArcTagSmall {
        font-size: 10px;
        letter-spacing: -0.1em;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcTag.fairArcTagSmall {
        letter-spacing: -0.1em;
    }
}

.fairArcPageBtnWrap {
    border-top: 1px dotted #2f4438;
    display: block;
    clear: both;
    overflow: hidden;
}

@media only screen and (min-width: 499px) {
    .fairArcPageBtnWrap {
        margin-top: 60px;
        padding-top: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcPageBtnWrap {
        margin-top: 50px;
        padding-top: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcPageBtnWrap {
        margin-top: 8.3333vw;
        padding-top: 4.1666vw;
        padding-bottom: 6.9444vw;
    }
}

.fairArcPageBtn {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    .fairArcPageBtn {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcPageBtn {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcPageBtn {
        font-size: 3.3333vw;
    }
}

.fairArcPageBtn span,
.fairArcPageBtn img {
    display: inline-block;
    vertical-align: middle;
}

.fairArcPageBtn span {
    padding: 0 1.5em;
}

@media only screen and (min-width: 499px) {
    .fairArcPageBtn img {
        width: 22px;
        height: auto;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairArcPageBtn img {
        width: 18px;
        height: auto;
    }
}

@media only screen and (max-width: 500px) {
    .fairArcPageBtn img {
        width: 4.8888vw;
        height: auto;
    }
}

.fairArcPageBtnPrv {
    float: left;
}

.fairArcPageBtnNxt {
    float: right;
}

#fairPost {
    border: 2px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    #fairPost {
        padding: 7px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairPost {
        padding: 6px;
    }
}

@media only screen and (max-width: 500px) {
    #fairPost {
        padding: 0.9722vw;
    }
}

.fairPostInner {
    border: 1px solid #9e948b;
    position: relative;
}

@media only screen and (min-width: 499px) {
    .fairPostInner {
        padding: 40px 40px 48px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostInner {
        padding: 33px 33px 40px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostInner {
        padding: 5.5555vw 5.5555vw 8.0555vw;
    }
}

.fairPostRibbon {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(assets/images/fair/ribbon_fair_pc.svg);
    text-align: center;
    position: absolute;
    overflow: visible !important;
}

@media only screen and (min-width: 499px) {
    .fairPostRibbon {
        width: 140px;
        height: 140px;
        right: -10px;
        top: -10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRibbon {
        width: 115px;
        height: 115px;
        right: -9px;
        top: -9px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRibbon {
        width: 22.2222vw;
        height: 22.2222vw;
        right: calc(-0.9722vw - 3px);
        top: calc(-0.9722vw - 3px);
    }
}

.fairPostDateWrap {
    border-left: 2px solid #2f4438;
    padding-left: 0.5em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .fairPostDateWrap {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostDateWrap {
        margin-bottom: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostDateWrap {
        margin-bottom: 4.0277vw;
    }
}

.fairPostDate {
    letter-spacing: 0.05em;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairPostDate {
        font-size: 14px;
        display: inline-block;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostDate {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostDate {
        font-size: 3.6111vw;
        margin-bottom: 2.0833vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostDate span {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostDate span {
        font-size: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostDate span {
        font-size: 2.7777vw;
    }
}

.fairPostTime {
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairPostTime {
        display: inline-block;
    }
}

.fairPostTtl {
    letter-spacing: 0.1em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairPostTtl {
        font-size: 22px;
        line-height: 1.181;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostTtl {
        font-size: 18px;
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostTtl {
        font-size: 3.6111vw;
        line-height: 1.538;
        margin-bottom: 3.4722vw;
    }
}

.fairPostTagWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 499px) {
    .fairPostTagWrap {
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostTagWrap {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostTagWrap {
        margin-bottom: 7.9166vw;
    }
}

.fairPostTag {
    border: 1px solid #282f37;
    text-align: center;
    line-height: 1.666;
    padding: 0.35em 1.2em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .fairPostTag {
        margin-right: 6px;
        margin-bottom: 8px;
        font-size: 13px;
    }
    .fairPostTag:nth-child(7n) {
        margin-right: 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostTag {
        font-size: 6px;
        margin-bottom: 7px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostTag {
        margin-bottom: 1.1111vw;
        font-size: 2.7777vw;
        margin-right: 2%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostTag.fairPostTagSmall {
        font-size: 11px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostTag.fairPostTagSmall {
        font-size: 10px;
        letter-spacing: -0.1em;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostDescription {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 53px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostDescription {
        margin-bottom: 43px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostDescription {
        margin-bottom: 11.1111vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostTh {
        width: 39.886%;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostTh {
        margin-bottom: 3.4722vw;
    }
}

.fairPostTh figure {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
    display: block;
}

@media only screen and (min-width: 499px) {
    .fairPostTxt {
        width: 56.136%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostComment {
        line-height: 1.571;
        margin-bottom: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostComment {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostComment {
        line-height: 1.666;
        margin-bottom: 6.25vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostSpecial {
        margin-bottom: 55px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostSpecial {
        margin-bottom: 45px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostSpecial {
        margin-bottom: 12.5vw;
    }
}

.fairPostConTtl {
    padding-left: 0.5em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    .fairPostConTtl {
        font-size: 18px;
        margin-bottom: 20px;
        border-left: 4px solid #2f4438;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostConTtl {
        font-size: 15px;
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostConTtl {
        font-size: 4.1666vw;
        margin-bottom: 3.4722vw;
        border-left: 0.8333vw solid #2f4438;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostSpecialContent {
        padding-left: 1.2em;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostSpecialContent {
        padding-left: 1em;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostSpecialContent .fairSingleBenefit {
        margin-bottom: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostSpecialContent .fairSingleBenefit {
        margin-bottom: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostSpecialContent .fairSingleBenefit {
        margin-bottom: 4.1666vw;
    }
}

.fairPostSpecialContent .fairSingleBenefit tr .name,
.fairPostSpecialContent .fairSingleBenefit tr .txt {
    line-height: 1.6;
    position: relative;
    vertical-align: top;
}

@media only screen and (min-width: 499px) {
    .fairPostSpecialContent .fairSingleBenefit tr .name,
    .fairPostSpecialContent .fairSingleBenefit tr .txt {
        letter-spacing: 0.1em;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostSpecialContent .fairSingleBenefit tr .name,
    .fairPostSpecialContent .fairSingleBenefit tr .txt {
        font-size: 3.0555vw;
    }
}

.fairPostSpecialContent .fairSingleBenefit tr .name:first-child,
.fairPostSpecialContent .fairSingleBenefit tr .txt:first-child {
    padding-left: 1.5em;
}

.fairPostSpecialContent .fairSingleBenefit tr .name:first-child:before,
.fairPostSpecialContent .fairSingleBenefit tr .txt:first-child:before {
    content: "　";
    display: block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(assets/images/common/icn_flower.svg);
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateY(27%);
    transform: translateY(27%);
}

@media only screen and (min-width: 499px) {
    .fairPostSpecialContent .fairSingleBenefit tr .name:first-child:before,
    .fairPostSpecialContent .fairSingleBenefit tr .txt:first-child:before {
        width: 13px;
        height: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostSpecialContent .fairSingleBenefit tr .name:first-child:before,
    .fairPostSpecialContent .fairSingleBenefit tr .txt:first-child:before {
        width: 11px;
        height: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostSpecialContent .fairSingleBenefit tr .name:first-child:before,
    .fairPostSpecialContent .fairSingleBenefit tr .txt:first-child:before {
        width: 2.9166vw;
        height: 2.9166vw;
    }
}

.fairPostSpecialContent .fairSingleBenefit tr .name {
    font-weight: normal;
    padding-right: 1em;
    white-space: nowrap;
}

.fairPostSpecialContent .fairSingleBenefit tr .name:after {
    content: ":";
    position: absolute;
    top: 0;
    right: 0.4em;
    display: block;
}

.fairPostSpecialContent .notes tr th,
.fairPostSpecialContent .notes tr td {
    vertical-align: top;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .fairPostSpecialContent .notes tr th,
    .fairPostSpecialContent .notes tr td {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostSpecialContent .notes tr th,
    .fairPostSpecialContent .notes tr td {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostSpecialContent .notes tr th,
    .fairPostSpecialContent .notes tr td {
        font-size: 3vw;
    }
}

.fairPostSpecialContent .notes tr th {
    position: relative;
    padding-right: 1em;
    line-height: 1.692;
    font-weight: normal;
    white-space: nowrap;
}

.fairPostSpecialContent .notes tr th:after {
    content: ":";
    position: absolute;
    top: 0;
    right: 0.4em;
    display: block;
}

.fairPostSpecialContent .notes tr td {
    line-height: 1.692;
}

@media only screen and (max-width: 500px) {
    .fairPostSpecialContent .notes tr td {
        text-align: justify;
    }
}

.fairPostSpecialContent .notes tr.notesOne th {
    width: auto;
}

.fairPostSpecialContent .notes tr.notesOne td {
    width: auto;
}

@media only screen and (min-width: 499px) {
    .fairPostBtn.left,
    .fairPostFormBtn.left {
        text-align: left;
    }
    .fairPostBtn.left button,
    .fairPostBtn.left a,
    .fairPostFormBtn.left button,
    .fairPostFormBtn.left a {
        margin-left: 0;
        margin-right: auto;
    }
}

.fairPostBtn button,
.fairPostFormBtn button {
    margin-top: 0;
}

@media only screen and (min-width: 499px) {
    .fairPostBtn button,
    .fairPostFormBtn button {
        font-size: 14px;
        padding: 14px 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostBtn button,
    .fairPostFormBtn button {
        font-size: 12px;
        padding: 12px 0;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostBtn button,
    .fairPostFormBtn button {
        font-size: 3.3333vw;
        padding: 3.34722vw 0;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostRec {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRec {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRec {
        margin-bottom: 11.8055vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostRecInner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex: 0 1 auto;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostRecList {
        width: 48.409%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex: 0 1 auto;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecList {
        margin-bottom: 2.0833vw;
    }
    .fairPostRecList:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostRecTh {
        width: 45.774%;
    }
}

.fairPostRecTh span {
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    background-size: cover;
    background-position: center;
}

@media only screen and (min-width: 499px) {
    .fairPostRecTh span {
        padding-bottom: 133.3333%;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecTh span {
        padding-bottom: 56%;
    }
}

.fairPostRecTxt {
    background: #ebe4de;
    border: 1px solid #9e948b;
    -ms-flex: 0 1 auto;
}

@media only screen and (min-width: 499px) {
    .fairPostRecTxt {
        width: 54.226%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 5px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRecTxt {
        padding: 4px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecTxt {
        padding: 1.3888vw;
    }
}

.fairPostRecTxtInner {
    border: 1px solid #9e948b;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .fairPostRecTxtInner {
        padding: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRecTxtInner {
        padding: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecTxtInner {
        padding: 4.1666vw 3.0555vw;
    }
}

.fairPostRecTxtInner>div {
    -ms-flex: 0 1 auto;
}

.fairPostRecTtlSub {
    text-align: center;
    color: #4c3c2e;
    font-family: "Cinzel", serif;
}

@media only screen and (min-width: 499px) {
    .fairPostRecTtlSub {
        font-size: 20px;
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRecTtlSub {
        font-size: 16px;
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecTtlSub {
        font-size: 5.5555vw;
        margin-bottom: 5.5555vw;
    }
}

.fairPostRecTtl {
    text-align: center;
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .fairPostRecTtl {
        margin-bottom: 15px;
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRecTtl {
        margin-bottom: 13px;
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecTtl {
        margin-bottom: 3.4722vw;
        font-size: 3.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostRecComment {
        line-height: 1.714;
        letter-spacing: -0.01em;
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostRecComment {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostRecComment {
        font-size: 2.7777vw;
        line-height: 2;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostInc {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostInc {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostInc {
        margin-bottom: 8.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostIncInner dl {
        border-top: 1px solid #e0e0e0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .fairPostIncInner dl:last-child {
        border-bottom: 1px solid #e0e0e0;
    }
    .fairPostIncInner dl dt {
        background: #f2f1ee;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 32.5%;
        padding: 15px;
    }
    .fairPostIncInner dl dd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 67.5%;
        padding: 27px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostIncInner dl dt {
        padding: 13px;
    }
    .fairPostIncInner dl dd {
        padding: 22px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostIncInner dl {
        margin-bottom: 7.5vw;
    }
    .fairPostIncInner dl dt {
        text-align: center;
        padding-bottom: 3.75vw;
        border-bottom: 1px dotted #282f37;
        margin-bottom: 4.1666vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostIncTh {
        width: 32.812%;
        -webkit-box-shadow: 1.4px 1.4px 0 0 rgba(108, 87, 117, 0.4);
        box-shadow: 1.4px 1.4px 0 0 rgba(108, 87, 117, 0.4);
    }
}

@media only screen and (max-width: 500px) {
    .fairPostIncTh {
        -webkit-box-shadow: 0.6111vw 0.6111vw 0 0 rgba(108, 87, 117, 0.4);
        box-shadow: 0.6111vw 0.6111vw 0 0 rgba(108, 87, 117, 0.4);
        margin-bottom: 4vw;
    }
}

.fairPostIncTh span {
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    background-size: cover;
    background-position: center;
}

@media only screen and (min-width: 499px) {
    .fairPostIncTh span {
        padding-bottom: 100%;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostIncTh span {
        padding-bottom: 56%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostIncTtl {
        width: 60.156%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostIncTtl {
        width: 60.156%;
    }
}

.fairPostIncTtl p {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .fairPostIncTtl p {
        font-size: 13px;
        letter-spacing: 0.1em;
        line-height: 1.692;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostIncTtl p {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostIncTtl p {
        font-size: 3.6111vw;
        letter-spacing: 0.12em;
    }
}

.fairPostIncTxt {
    -ms-flex: 0 1 auto;
}

.fairPostIncTxt p {
    -ms-flex: 0 1 auto;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .fairPostIncTxt p {
        line-height: 1.714;
    }
    .fairPostIncTxt p.smallPC {
        letter-spacing: -0.04em;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostIncTxt p {
        line-height: 1.666;
    }
    .fairPostIncTxt p.small {
        letter-spacing: -0.04em;
    }
}

#overlayRsv {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 800;
    width: 100%;
    background: rgba(174, 165, 146, 0.3);
    display: none;
}

.fairPostFormWrap {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 900;
    display: none;
}

.fairPostForm {
    background: #fff;
    position: relative;
}

@media only screen and (min-width: 499px) {
    .fairPostForm {
        padding: 55px 100px 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostForm {
        padding: 45px 82px 41px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostForm {
        padding: 9.7222vw 6.25vw 11.1111vw;
    }
}

.fairPostForm h3 {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .fairPostForm h3 {
        font-size: 20px;
        margin-bottom: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostForm h3 {
        font-size: 16px;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostForm h3 {
        font-size: 3.6111vw;
        margin-bottom: 7.6388vw;
    }
}

.close {
    position: absolute;
}

@media only screen and (min-width: 499px) {
    .close {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .close:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .close {
        width: 26px;
        top: 25px;
        right: 25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .close {
        width: 21px;
        top: 20px;
        right: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .close {
        width: 5.5555vw;
        top: 4.8611vw;
        right: 4.8611vw;
    }
}

.fairPostFormCon {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon {
        margin-bottom: 34px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostFormCon {
        margin-bottom: 28px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon {
        margin-bottom: 8.1944vw;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dl:first-child {
        width: 64.772%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dl:last-child {
        width: 35.228%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dl:last-child dt {
        border-right: 1px solid #aaa08c;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dl:last-child dd {
        border-right: 1px solid #aaa08c;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dl:last-child dd {
        border-bottom: 1px solid #aaa08c;
    }
}

.fairPostFormCon dt {
    text-align: center;
    font-weight: bold;
    padding: 1em;
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dt {
        font-size: 18px;
        border-top: 1px solid #aaa08c;
        border-left: 1px solid #aaa08c;
        border-bottom: 1px solid #aaa08c;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostFormCon dt {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dt {
        font-size: 3.3333vw;
        border-top: 1px solid #aaa08c;
        border-left: 1px solid #aaa08c;
        border-right: 1px solid #aaa08c;
    }
}

.fairPostFormCon dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd {
        height: 167px;
        border-left: 1px solid #aaa08c;
        border-bottom: 1px solid #aaa08c;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostFormCon dd {
        height: 137px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd {
        border-top: 1px solid #aaa08c;
        border-left: 1px solid #aaa08c;
        border-right: 1px solid #aaa08c;
        padding: 1.5em;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd .fairPostFormTh {
        width: 20.97%;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd .fairPostFormTh {
        width: 33.877%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd .fairPostFormTh img {
        -webkit-box-shadow: 3.6px 3.6px 0 0 rgba(108, 87, 117, 0.2);
        box-shadow: 3.6px 3.6px 0 0 rgba(108, 87, 117, 0.2);
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd .fairPostFormTh img {
        -webkit-box-shadow: 0.6902vw 0.6902vw 0 0 rgba(108, 87, 117, 0.2);
        box-shadow: 0.6902vw 0.6902vw 0 0 rgba(108, 87, 117, 0.2);
    }
}

.fairPostFormCon dd .fairPostFormTh figure {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
    display: block;
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd .fairPostFormTh figure {
        -webkit-box-shadow: 3.6px 3.6px 0 0 rgba(108, 87, 117, 0.2);
        box-shadow: 3.6px 3.6px 0 0 rgba(108, 87, 117, 0.2);
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd .fairPostFormTh figure {
        -webkit-box-shadow: 0.6902vw 0.6902vw 0 0 rgba(108, 87, 117, 0.2);
        box-shadow: 0.6902vw 0.6902vw 0 0 rgba(108, 87, 117, 0.2);
    }
}

.fairPostFormCon dd .fairPostFormTtl {
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd .fairPostFormTtl {
        width: 65.043%;
        margin-left: 23px;
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostFormCon dd .fairPostFormTtl {
        width: 65.043%;
        margin-left: 19px;
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd .fairPostFormTtl {
        width: 60.612%;
        margin-left: 5%;
    }
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd .fairPostFormTtl p {
        line-height: 1.444;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd .fairPostFormTtl p {
        font-size: 3.6111vw;
        line-height: 1.538;
    }
}

.fairPostFormCon dd .ddFormWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.fairPostFormCon dd .ddFormWrap .date {
    margin-right: 1em;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .fairPostFormCon dd .ddFormWrap .date {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .fairPostFormCon dd .ddFormWrap .date {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .fairPostFormCon dd .ddFormWrap .date {
        font-size: 3.75vw;
    }
}

.fairPostFormCon dd .ddFormWrap select {
    background: #e7e4de;
}

.fairOnly {
    display: none;
}

@media only screen and (min-width: 499px) {
    #fairBenefit {
        padding-bottom: 80px;
    }
    #fairBenefit .fairOnly.pcH {
        display: block !important;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairBenefit {
        padding-bottom: 66px;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit {
        padding-bottom: 8.75vw;
    }
}

#fairBenefit .fairOnly {
    display: block;
}

#fairBenefit .fairOnlyNo {
    display: none !important;
}

@media only screen and (min-width: 499px) {
    #fairBenefit .topFairSp {
        margin-top: 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairBenefit .topFairSp {
        margin-top: 25px;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp {
        font-size: 4.8611vw;
    }
}

@media only screen and (min-width: 499px) {
    #fairBenefit .topFairSp dl {
        width: 49%;
        margin-bottom: 0;
        border-left: none;
        border-top: 2px solid #2f4438;
        display: block;
        text-align: center;
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairBenefit .topFairSp dl {
        padding-left: 25px;
        padding-right: 25px;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp dl {
        padding-left: 0;
        padding-right: 0;
    }
}

#fairBenefit .topFairSp dl dt,
#fairBenefit .topFairSp dl dd {
    width: 100%;
}

@media only screen and (min-width: 499px) {
    #fairBenefit .topFairSp dl dt {
        padding-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairBenefit .topFairSp dl dt {
        padding-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp dl dt {
        padding-bottom: 6.25vw;
        cursor: pointer;
        position: relative;
        height: auto !important;
    }
    #fairBenefit .topFairSp dl dt:after {
        content: " ";
        display: block;
        width: 3.2345vw;
        height: 1.7743vw;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        background-image: url(assets/images/fair/arw_bnf.svg);
        position: absolute;
        top: 50%;
        right: 4.1666vw;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    #fairBenefit .topFairSp dl dt.active:after {
        background-image: url(assets/images/fair/cls_bnf.svg);
        width: 2.3794vw;
        height: 2.3794vw;
    }
}

#fairBenefit .topFairSp dl dd {
    border-left: none;
    border-top: 1px dashed #2f4438;
}

@media only screen and (min-width: 499px) {
    #fairBenefit .topFairSp dl dd {
        padding: 40px 0 0;
        display: block !important;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairBenefit .topFairSp dl dd {
        padding: 33px 0 0;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp dl dd {
        padding: 5.5555vw 0 6.25vw;
        margin: 0 auto;
        width: 72vw;
        display: none;
    }
}

#fairBenefit .topFairSp .topFairSpLead {
    letter-spacing: 0;
}

@media only screen and (min-width: 499px) {
    #fairBenefit .topFairSp .topFairSpComment {
        text-align: left;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp .topFairSpComment {
        text-align: center;
    }
}

#fairBenefit .topFairSp .topFairSpTable th {
    width: 20%;
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp .topFairSpTable th {
        text-align: center;
    }
}

#fairBenefit .topFairSp .topFairSpTable td {
    width: 80%;
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp .topFairSpTable td {
        text-align: center;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp .topFairSpTable tr,
    #fairBenefit .topFairSp .topFairSpTable th,
    #fairBenefit .topFairSp .topFairSpTable td {
        display: block;
        width: 100%;
        letter-spacing: 0;
    }
}

@media only screen and (max-width: 500px) {
    #fairBenefit .topFairSp .topFairSpTable tr {
        margin-bottom: 2.7777vw;
    }
    #fairBenefit .topFairSp .topFairSpTable tr:last-child {
        margin-bottom: 0;
    }
}

#fairMain #topBenefits {
    background: #f3f1e9;
}

@media only screen and (min-width: 499px) {
    #fairMain #topBenefits .secDef {
        padding: 0 77px;
        margin-top: 75px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #fairMain #topBenefits .secDef {
        padding: 0 64px;
        margin-top: 62px;
    }
}

@media only screen and (max-width: 500px) {
    #fairMain #topBenefits .secDef {
        margin-top: 8.3333vw;
    }
}

.benefitsAreaTtl {
    text-align: center;
    letter-spacing: 0.12em;
    color: #2f4438;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .benefitsAreaTtl {
        font-size: 22px;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .benefitsAreaTtl {
        font-size: 18px;
    }
}

@media only screen and (max-width: 500px) {
    .benefitsAreaTtl {
        font-size: 3.8888vw;
        line-height: 1.6;
        -webkit-transform: translateY(-25%);
        transform: translateY(-25%);
    }
}

.airArcDay.Sat {
    background: #577f7f;
    color: #fff;
}

.airArcDay.Sun {
    background: #6f1b39;
    color: #fff;
}

.fairArcBtnArea form {
    width: 48.6891%;
}

.fairArcBtnArea button {
    width: 100%;
}

.fairArcList {
    position: relative;
}

@media only screen and (max-width: 500px) {
    .fairArcBtnArea button {
        margin: 0;
        padding: 0;
        font-size: 3.0555vw;
        height: 9.7222vw;
        line-height: 1.13;
    }
    .fairArcBtnArea button:after {
        width: 3.0555vw;
        height: 1vw;
        right: 3.055vw;
    }
}

@media only screen and (max-width: 500px) {
    #mainvPlan .manvUnderComment {
        font-size: 3vw;
    }
}

@media only screen and (max-width: 500px) {
    #mainvPlan .manvUnderLead {
        font-size: 3.7vw;
        letter-spacing: 0;
    }
}

@media only screen and (min-width: 499px) {
    #plan {
        padding-top: 160px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #plan {
        padding-top: 132px;
    }
}

@media only screen and (max-width: 500px) {
    #plan {
        padding-top: 0;
    }
}

@media only screen and (max-width: 500px) {
    #plan .secTtl.secTtlUnderTop {
        padding-top: 0;
    }
}

.planList {
    border: 2px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .planList {
        margin-bottom: 60px;
        padding: 8px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planList {
        margin-bottom: 50px;
        padding: 6px;
    }
}

@media only screen and (max-width: 500px) {
    .planList {
        margin-bottom: 11.0416vw;
        padding: 1vw;
    }
}

.planList:last-child {
    margin-bottom: 0;
}

.planList.planListRecommend {
    background: #e2d9d0;
}

.planList.planListRecommend .planListIncludedTable td {
    background: #fff;
}

@media only screen and (max-width: 500px) {
    .planList.planListRecommend .planListIncludedTable td {
        padding-right: 0.5em;
    }
}

.planList .planListInner {
    border: 1px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .planList .planListInner {
        padding: 55px 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planList .planListInner {
        padding: 45px 33px;
    }
}

@media only screen and (max-width: 500px) {
    .planList .planListInner {
        padding: 11.1111vw 4.1666vw;
    }
}

.planListTop {
    position: relative;
}

.planListRibbon {
    position: absolute;
}

@media only screen and (min-width: 499px) {
    .planListRibbon {
        right: -23px;
        top: -77px;
        width: 140px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListRibbon {
        right: -19px;
        top: -63px;
        width: 115px;
    }
}

@media only screen and (max-width: 500px) {
    .planListRibbon {
        width: 23.6111vw;
        right: -10.2777vw;
        top: -16.6666vw;
        z-index: 20;
    }
}

@media only screen and (min-width: 499px) {
    .planListRibbon .ribbonRec {
        margin-bottom: 5px;
    }
}

@media only screen and (max-width: 500px) {
    .planListRibbon .ribbonRec {
        margin-bottom: 2vw;
    }
}

@media only screen and (min-width: 499px) {
    .wBadge .planListRibbon {
        top: -90px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .wBadge .planListRibbon {
        top: -75px;
    }
}

@media only screen and (max-width: 500px) {
    .wBadge .planListRibbon {
        top: -16.6666vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListTopInner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 499px) {
    .planListTh {
        width: 30.612245%;
    }
}

@media only screen and (max-width: 500px) {
    .planListTh {
        margin-bottom: 6vw;
        position: relative;
        left: -0.8vw;
    }
}

.planListTh figure {
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

@media only screen and (min-width: 499px) {
    .planListTh figure {
        -webkit-box-shadow: 15px 15px 0 0 rgba(178, 165, 144, 0.7);
        box-shadow: 15px 15px 0 0 rgba(178, 165, 144, 0.7);
        padding-bottom: 100%;
        background-position: center;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListTh figure {
        -webkit-box-shadow: 12px 12px 0 0 rgba(178, 165, 144, 0.7);
        box-shadow: 12px 12px 0 0 rgba(178, 165, 144, 0.7);
    }
}

@media only screen and (max-width: 500px) {
    .planListTh figure {
        -webkit-box-shadow: 1.3888vw 1.3888vw 0 0 rgba(178, 165, 144, 0.7);
        box-shadow: 1.3888vw 1.3888vw 0 0 rgba(178, 165, 144, 0.7);
        padding-bottom: 56.36%;
        background-position: center;
    }
}

@media only screen and (min-width: 499px) {
    .planListTxt {
        width: 62.040816%;
    }
}

.planListTxt.active {
    border-bottom: 1px dashed #9e9076;
    padding-bottom: 20px;
}

@media only screen and (max-width: 500px) {
    .planListTxt.active {
        padding-bottom: 5vw;
    }
}

.planListLead {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .planListLead {
        font-size: 16px;
        line-height: 2.0125;
        margin-bottom: 20px;
        padding-right: 110px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListLead {
        font-size: 13px;
        margin-bottom: 20px;
        padding-right: 91px;
    }
}

@media only screen and (max-width: 500px) {
    .planListLead {
        font-size: 4.1666vw;
        line-height: 1.6666;
        margin-bottom: 3.3333vw;
    }
}

.planName {
    color: #9e9076;
}

@media only screen and (min-width: 499px) {
    .planName {
        margin-bottom: 20px;
        padding-right: 110px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planName {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .planName {
        margin-bottom: 3.6111vw;
        line-height: 1.2em;
    }
}

.planName .en {
    letter-spacing: 0.08em;
    font-family: "Cinzel", serif;
    display: inline-block;
    margin-bottom: 8px;
}

@media only screen and (min-width: 499px) {
    .planName .en {
        font-size: 29px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planName .en {
        font-size: 24px;
    }
}

@media only screen and (max-width: 500px) {
    .planName .en {
        font-size: 6.1111vw;
        display: block;
        margin-bottom: 1.2vw;
    }
}

.planName .jp {
    letter-spacing: 0.12em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    margin-bottom: 8px;
}

@media only screen and (min-width: 499px) {
    .planName .jp {
        display: inline-block;
        margin-left: 0.8em;
    }
}

@media only screen and (max-width: 500px) {
    .planName .jp {
        font-size: 2.9166vw;
        display: block;
    }
}

@media only screen and (min-width: 499px) {
    .planNum {
        margin-bottom: 8px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planNum {
        margin-bottom: 6px;
    }
}

@media only screen and (max-width: 500px) {
    .planNum {
        margin-bottom: 1.5vw;
    }
}

.planNum span {
    display: inline-block;
    background: #9e9076;
    color: #fff;
    letter-spacing: 0.16em;
}

@media only screen and (min-width: 499px) {
    .planNum span {
        padding: 3px 10px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planNum span {
        padding: 2px 8px;
    }
}

@media only screen and (max-width: 500px) {
    .planNum span {
        font-size: 3.0555vw;
        padding: 0.8333vw 1.6666vw;
    }
}

@media only screen and (min-width: 499px) {
    .planPriceWrap {
        margin-bottom: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planPriceWrap {
        margin-bottom: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .planPriceWrap {
        margin-bottom: 4.4444vw;
    }
}

.planPriceWrap>* {
    display: inline-block;
    letter-spacing: 0.16em;
    font-weight: bold;
}

.planPrice {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .planPrice {
        font-size: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planPrice {
        font-size: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .planPrice {
        font-size: 4.1666vw;
    }
}

.planPrice .num {
    font-weight: normal;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .planPrice .num {
        font-size: 36px;
        letter-spacing: 0.07em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planPrice .num {
        font-size: 30px;
    }
}

@media only screen and (max-width: 500px) {
    .planPrice .num {
        font-size: 7.5vw;
    }
}

.planPriceTax {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (max-width: 500px) {
    .planPriceTax {
        font-size: 3.0555vw;
    }
}

.planPriceNum {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .planPriceNum {
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planPriceNum {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .planPriceNum {
        font-size: 3.6111vw;
    }
}

@media only screen and (min-width: 499px) {
    .planPriceNum span {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planPriceNum span {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .planPriceNum span {
        font-size: 3.0555vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListComment {
        line-height: 1.7;
    }
}

@media only screen and (max-width: 500px) {
    .planListComment {
        line-height: 1.666;
        margin-bottom: 7.5vw;
    }
}

.planBtnOpen button {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .planBtnOpen button {
        font-size: 14px;
        padding: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planBtnOpen button {
        font-size: 12px;
        padding: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .planBtnOpen button {
        margin-top: 0;
        font-size: 3.3333vw;
    }
}

.planListContent {
    display: none;
}

@media only screen and (min-width: 499px) {
    .planListContent {
        margin-top: 76px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListContent {
        margin-top: 63px;
    }
}

@media only screen and (max-width: 500px) {
    .planListContent {
        margin-top: 5vw;
    }
}

.planConTtl {
    padding-left: 0.5em;
    letter-spacing: 0.1em;
    color: #2f4438;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .planConTtl {
        font-size: 21px;
        border-left: 4px solid #2f4438;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planConTtl {
        font-size: 17px;
        border-left: 3px solid #2f4438;
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .planConTtl {
        font-size: 4.1666vw;
        border-left: 0.8333vw solid #2f4438;
        margin-bottom: 3.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .planConTtl span {
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planConTtl span {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .planConTtl span {
        font-size: 3.6111vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListSpecial {
        margin-bottom: 35px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListSpecial {
        margin-bottom: 29px;
    }
}

@media only screen and (max-width: 500px) {
    .planListSpecial {
        margin-bottom: 7.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListSpecialList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

@media only screen and (max-width: 500px) {
    .planListSpecialList {
        padding-left: 1.5vw;
        padding-right: 1.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListSpecialList ul {
        margin-right: 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListSpecialList ul {
        margin-right: 33px;
    }
}

.planListSpecialList ul li {
    position: relative;
    padding-left: 1.5em;
    letter-spacing: 0.1em;
}

@media only screen and (min-width: 499px) {
    .planListSpecialList ul li {
        margin-bottom: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListSpecialList ul li {
        margin-bottom: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .planListSpecialList ul li {
        margin-bottom: 3.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListSpecialList ul li:last-child {
        margin-bottom: 0;
    }
}

.planListSpecialList ul li:before {
    content: "　";
    display: block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(assets/images/common/icn_flower.svg);
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (min-width: 499px) {
    .planListSpecialList ul li:before {
        width: 15px;
        height: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListSpecialList ul li:before {
        width: 13px;
        height: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .planListSpecialList ul li:before {
        width: 4.02777vw;
        height: 4.02777vw;
    }
}

@media only screen and (max-width: 500px) {
    .planListSpecialList ul:last-child li:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    .planListPeriod {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListPeriod {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .planListPeriod {
        margin-bottom: 7.5vw;
    }
}

@media only screen and (min-width: 499px) {
    .planListPeriodContent {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListPeriodContent {
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .planListPeriodContent {
        margin-bottom: 3.0555vw;
        padding-left: 1.5vw;
        padding-right: 1.5vw;
    }
}

.planListPeriodContent:last-child {
    margin-bottom: 0;
}

.planListPeriodContent p {
    line-height: 1.7;
}

@media only screen and (max-width: 500px) {
    .planListPeriodContent p {
        font-size: 3.0555vw;
        letter-spacing: 0.05em;
    }
}

.planListPeriodContent p.notes {
    margin-top: 0.5em;
}

@media only screen and (min-width: 499px) {
    .planListPeriodContent p.notes {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListPeriodContent p.notes {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .planListPeriodContent p.notes {
        font-size: 2.9166vw;
        letter-spacing: 0.03em;
    }
}

.planConHead {
    color: #2f4438;
    margin-bottom: 0.5em;
    margin-left: -0.5em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable {
        display: block;
    }
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable tbody {
        display: block;
    }
}

.planListIncludedTable th,
.planListIncludedTable td {
    border-top: 1px solid #d4ccbe;
    font-weight: normal;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    vertical-align: middle;
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable th,
    .planListIncludedTable td {
        display: block;
    }
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

.planListIncludedTable tr:last-child th,
.planListIncludedTable tr:last-child td {
    border-bottom: 1px solid #d4ccbe;
}

.planListIncludedTable th {
    text-align: center;
    background: #eeece3;
}

@media only screen and (min-width: 499px) {
    .planListIncludedTable th {
        padding: 15px 10px;
        width: 15.8%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListIncludedTable th {
        padding: 12px 8px;
    }
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable th {
        padding: 4vw 0;
        width: 32.6%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        line-height: 1.666;
    }
}

@media only screen and (min-width: 499px) {
    .planListIncludedTable td {
        padding: 15px 28px 15px 16px;
        width: 34.2%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planListIncludedTable td {
        padding: 12px 23px 12px 21px;
    }
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable td {
        padding: 4.3055vw 0 4.3055vw 3.3333vw;
        width: 67.4%;
    }
    .planListIncludedTable td.other {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.planListIncludedTable td>* {
    display: inline-block;
    vertical-align: middle;
}

@media only screen and (min-width: 499px) {
    .planListIncludedTable td .check {
        width: 10.3448%;
    }
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable td .check {
        width: 13.5642%;
        font-size: 3.0555vw;
    }
}

.planListIncludedTable td p {
    line-height: 1.7;
}

@media only screen and (min-width: 499px) {
    .planListIncludedTable td p {
        width: 89.6552%;
    }
}

@media only screen and (max-width: 500px) {
    .planListIncludedTable td p {
        width: 86.4358%;
        font-size: 2.9166vw;
    }
}

.planBtnClose button {
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    .planBtnClose button {
        font-size: 14px;
        padding: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planBtnClose button {
        font-size: 12px;
        padding: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .planBtnClose button {
        font-size: 3.3333vw;
    }
}

.planBtnClose button:after {
    background-image: url(assets/images/common/close.svg);
}

@media only screen and (min-width: 499px) {
    .planBtnClose button:after {
        width: 11px;
        height: 11px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .planBtnClose button:after {
        width: 9px;
        height: 9px;
    }
}

@media only screen and (max-width: 500px) {
    .planBtnClose button:after {
        width: 2.0833vw;
        height: 2.0833vw;
    }
}

@media only screen and (min-width: 499px) {
    .contentWrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 1120px;
        margin: 83px auto 0;
        padding: 0 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contentWrap {
        width: 1024px;
        margin: 68px auto 0;
    }
}

@media only screen and (max-width: 500px) {
    .contentWrap {
        margin: 10.8333vw auto 0;
    }
    .contentWrap.nomtsp {
        margin-top: 0;
    }
}

@media only screen and (min-width: 499px) {
    .contentWrap .content {
        width: 73.1481%;
        margin: 0;
        padding: 0 0 95px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contentWrap .content {
        padding: 0 0 78px;
    }
}

@media only screen and (min-width: 499px) {
    .contentWrap .content.postInfo {
        padding: 0 0 75px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .contentWrap .content.postInfo {
        padding: 0 0 62px;
    }
}

@media only screen and (min-width: 499px) {
    .contentWrap #sidebar {
        width: 22.7777%;
    }
}

@media only screen and (max-width: 500px) {
    .contentWrap #sidebar {
        width: 88.8888vw;
        margin: 0 auto;
        padding-bottom: 11.9444vw;
    }
}

#information .secDecoContent {
    top: 0;
    width: 100%;
}

@media only screen and (min-width: 499px) {
    #information .secDecoContentInner {
        padding: 70px 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #information .secDecoContentInner {
        padding: 57px 33px;
    }
}

@media only screen and (max-width: 500px) {
    #information .secDecoContentInner {
        padding: 11.5277vw 5.9722vw;
    }
}

@media only screen and (min-width: 499px) {
    #information .postInfoWrap .secDecoContentInner {
        padding: 70px 40px 37px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #information .postInfoWrap .secDecoContentInner {
        padding: 57px 33px 30px;
    }
}

@media only screen and (max-width: 500px) {
    #information .postInfoWrap .secDecoContentInner {
        padding: 11.5277vw 5.9722vw 6.5277vw;
    }
}

.categoryWrap {
    text-align: center;
}

@media only screen and (min-width: 499px) {
    .categoryWrap {
        margin-top: 94px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .categoryWrap {
        margin-top: 77px;
    }
}

@media only screen and (max-width: 500px) {
    .categoryWrap {
        padding-top: 9.3055vw;
        margin: 0 auto;
        width: 88.8888vw;
    }
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul {
        font-size: 0;
    }
}

@media only screen and (max-width: 500px) {
    .categoryWrap ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

.categoryWrap ul li {
    position: relative;
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul li {
        border-right: 1px solid #282f37;
        display: inline-block;
    }
}

@media only screen and (max-width: 500px) {
    .categoryWrap ul li {
        border-right: 1px solid #282f37;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

.categoryWrap ul li:first-child {
    border-left: 1px solid #282f37;
}

@media only screen and (max-width: 500px) {
    .categoryWrap ul li:first-child {
        border-left: none;
    }
}

@media only screen and (max-width: 500px) {
    .categoryWrap ul li:last-child {
        border-right: none;
    }
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul li.current {
        margin-left: -1px;
    }
}

.categoryWrap ul li.current a {
    position: relative;
    z-index: 10;
    background: #4c3c2e;
    color: #fff;
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul li.current a {
        padding: 0.3em 2.5em;
    }
}

.categoryWrap ul li.current a:after {
    content: " ";
    display: block;
    -webkit-transform: translateX(-50%) scale(0.8, 1);
    transform: translateX(-50%) scale(0.8, 1);
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 99%;
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul li.current a:after {
        border: 10px solid transparent;
        border-top: 10px solid #4c3c2e;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .categoryWrap ul li.current a:after {
        border: 8px solid transparent;
        border-top: 8px solid #4c3c2e;
    }
}

@media only screen and (max-width: 500px) {
    .categoryWrap ul li.current a:after {
        border: 2.2222vw solid transparent;
        border-top: 2.2222vw solid #4c3c2e;
    }
}

.categoryWrap ul li a {
    display: block;
    font-family: "Crimson Text", serif;
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul li a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .categoryWrap ul li a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .categoryWrap ul li a {
        padding: 0.1em 2.5em;
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .categoryWrap ul li a {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .categoryWrap ul li a {
        width: 100%;
        font-size: 3.0555vw;
        padding: 2.2222vw 0;
    }
}

.categoryWrap.searchWord a {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    padding: 0.5em 4em;
}

@media only screen and (min-width: 499px) {
    .infoList {
        margin-top: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoList {
        margin-top: 50px;
    }
}

@media only screen and (max-width: 500px) {
    .infoList {
        margin-top: 10.4166vw;
    }
    .infoList>a {
        display: block;
    }
}

.infoList:first-child {
    margin-top: 0;
}

.infoListTop {
    margin-bottom: 0.7em;
}

@media only screen and (max-width: 500px) {
    .infoListTop {
        margin-bottom: 0.2em;
    }
}

.infoListTop>* {
    display: inline-block;
    vertical-align: middle;
}

.infoListTop .date {
    padding-right: 1em;
    border-right: 1px solid #282f37;
    margin-right: 1em;
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
}

@media only screen and (min-width: 499px) {
    .infoListTop .date {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListTop .date {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListTop .date {
        font-size: 3.1944vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListTop .date span {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListTop .date span {
        font-size: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListTop .date span {
        font-size: 2.7777vw;
    }
}

.infoListTop .time {
    margin-right: 1.5em;
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
}

@media only screen and (max-width: 500px) {
    .infoListTop .time {
        font-size: 2.7777vw;
    }
}

.catArea .cat {
    font-family: "Crimson Text", serif;
    display: inline-block;
    vertical-align: middle;
    background: #4c3c2e;
    color: #fff;
    padding: 0.21em 0.5em 0.2em;
}

@media only screen and (min-width: 499px) {
    .catArea .cat {
        font-size: 11px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .catArea .cat {
        font-size: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .catArea .cat {
        font-size: 2.7777vw;
    }
}

.infoListTtl {
    font-weight: bold;
    padding-bottom: 0.7em;
    border-bottom: 1px dotted #9e948b;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .infoListTtl {
        font-size: 18px;
        letter-spacing: 0.16em;
        line-height: 1.4444;
        margin-bottom: 35px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListTtl {
        font-size: 15px;
        margin-bottom: 29px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListTtl {
        font-size: 4.1666vw;
        letter-spacing: 0.05em;
        line-height: 1.6666;
        margin-bottom: 3.4722vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListContent {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.infoListTh {
    position: relative;
}

@media only screen and (min-width: 499px) {
    .infoListTh {
        width: 265px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListTh {
        width: 241px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListTh {
        width: 100%;
        margin-bottom: 6.25vw;
    }
}

.infoListTh figure {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

@media only screen and (min-width: 499px) {
    .infoListTh figure {
        padding-bottom: 100%;
    }
}

@media only screen and (max-width: 500px) {
    .infoListTh figure {
        padding-bottom: 78.363636%;
    }
}

.new .infoListTh:before {
    content: " ";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(assets/images/common/icn_new.svg);
    display: block;
    position: absolute;
    z-index: 20;
}

@media only screen and (min-width: 499px) {
    .new .infoListTh:before {
        width: 80px;
        height: 80px;
        top: -24px;
        left: -25px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .new .infoListTh:before {
        width: 66px;
        height: 66px;
        top: -20px;
        left: -20px;
    }
}

@media only screen and (max-width: 500px) {
    .new .infoListTh:before {
        width: 21.9444vw;
        height: 21.9444vw;
        top: -3.4722vw;
        left: -4.0277vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListTxt {
        width: 387px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListTxt {
        width: 352px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListTxt {
        width: 100%;
    }
}

@media only screen and (min-width: 499px) {
    .infoListDes {
        letter-spacing: 0.1em;
        line-height: 1.6923;
        font-size: 13px;
        margin-top: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListDes {
        font-size: 11px;
        margin-top: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListDes {
        letter-spacing: 0.08em;
        line-height: 1.6666;
    }
}

.readMore {
    text-align: right;
    color: #2f4438;
    font-family: "Crimson Text", serif;
}

@media only screen and (min-width: 499px) {
    .readMore {
        font-size: 16px;
        margin-top: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .readMore {
        font-size: 13px;
        margin-top: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .readMore {
        font-size: 3.3333vw;
        margin-top: 4.8611vw;
    }
}

.readMore a,
.readMore p {
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    .readMore a,
    .readMore p {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .readMore a:hover,
    .readMore p:hover {
        opacity: 0.7;
    }
}

.readMore a:after,
.readMore p:after {
    content: " ";
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    -webkit-transform: translateY(-20%);
    transform: translateY(-20%);
    margin-left: 0.5em;
}

@media only screen and (min-width: 499px) {
    .readMore a:after,
    .readMore p:after {
        width: 17px;
        height: 6px;
        background-image: url(assets/images/common/arw_more_p.svg);
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .readMore a:after,
    .readMore p:after {
        font-size: 13px;
        width: 14px;
        height: 5px;
    }
}

@media only screen and (max-width: 500px) {
    .readMore a:after,
    .readMore p:after {
        font-size: 3.3333vw;
        width: 4.6944vw;
        height: 1vw;
        background-image: url(assets/images/common/arw_more_p_sp.svg);
    }
}

@media only screen and (min-width: 499px) {
    #pagination {
        margin-top: 76px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #pagination {
        margin-top: 63px;
    }
}

@media only screen and (max-width: 500px) {
    #pagination {
        margin-top: 4.8611vw;
    }
}

#pagination ul {
    text-align: center;
}

#pagination ul li {
    display: inline-block;
    font-weight: bold;
}

@media only screen and (min-width: 499px) {
    #pagination ul li {
        font-size: 16px;
        width: 40px;
        line-height: 40px;
        margin: 0 5px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #pagination ul li {
        font-size: 13px;
        width: 33px;
        line-height: 33px;
        margin: 0 4px;
    }
}

@media only screen and (max-width: 500px) {
    #pagination ul li {
        font-size: 3.3333vw;
        width: 8.3333vw;
        line-height: 8.3333vw;
        margin: 0 1vw;
    }
}

#pagination ul li a,
#pagination ul li span {
    display: block;
    border: 1px solid #4c3c2e;
}

#pagination ul li a {
    color: #4c3c2e;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 500;
}

@media only screen and (min-width: 499px) {
    #pagination ul li a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    #pagination ul li a:hover {
        opacity: 0.7;
    }
}

#pagination ul li .prev,
#pagination ul li .next {
    border: none;
}

#pagination ul li .prev:before,
#pagination ul li .next:before {
    content: " ";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    #pagination ul li .prev:before,
    #pagination ul li .next:before {
        width: 22px;
        height: 5px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #pagination ul li .prev:before,
    #pagination ul li .next:before {
        width: 18px;
        height: 4px;
    }
}

@media only screen and (max-width: 500px) {
    #pagination ul li .prev:before,
    #pagination ul li .next:before {
        width: 4.5833vw;
        height: 1vw;
    }
}

#pagination ul li .prev {
    margin-right: 1em;
}

#pagination ul li .prev:before {
    background-image: url(assets/images/common/arw_pagi_prv.svg);
}

#pagination ul li .next {
    margin-left: 1em;
}

#pagination ul li .next:before {
    background-image: url(assets/images/common/arw_pagi_nxt.svg);
}

#pagination ul li .current {
    border: 1px solid #4c3c2e;
    background: #4c3c2e;
    color: #fff;
}

@media only screen and (min-width: 499px) {
    .sidebarContent {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarContent {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarContent {
        margin-bottom: 9.7222vw;
    }
    .sidebarContent:last-child {
        margin-bottom: 0;
    }
}

.sidebarTtl {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    border-bottom: 1px solid #9e948b;
}

@media only screen and (min-width: 499px) {
    .sidebarTtl {
        font-size: 18px;
        letter-spacing: 0.1em;
        margin-bottom: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarTtl {
        font-size: 13px;
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarTtl {
        font-size: 4.4444vw;
        margin-bottom: 4.0244vw;
        text-align: center;
    }
}

.sidebarTtl:after {
    content: " ";
    height: 2px;
    width: 100%;
    margin-bottom: 2px;
    background: #9e948b;
    display: block;
}

@media only screen and (min-width: 499px) {
    .sidebarTtl:after {
        margin-top: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarTtl:after {
        margin-top: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarTtl:after {
        margin-top: 2.2222vw;
    }
}

@media only screen and (min-width: 499px) {
    .sidebarPostList {
        margin-bottom: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarPostList {
        margin-bottom: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostList {
        margin-bottom: 3.6111vw;
    }
}

.sidebarPostList:last-child {
    margin-bottom: 0;
}

.sidebarPostList a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (min-width: 499px) {
    .sidebarPostTh {
        width: 28.455%;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostTh {
        width: 28.906%;
    }
}

.sidebarPostTh span {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 100%;
}

.sidebarPostTxt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .sidebarPostTxt {
        width: 65.04%;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostTxt {
        width: 65.468%;
    }
}

.sidebarPostTxtInner {
    -ms-flex: 0 1 auto;
}

@media only screen and (min-width: 499px) {
    .sidebarPostTop {
        margin-bottom: 7px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarPostTop {
        margin-bottom: 5px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostTop {
        margin-bottom: 2vw;
    }
}

.sidebarPostTop .date {
    display: inline-block;
    vertical-align: middle;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    .sidebarPostTop .date {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarPostTop .date {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostTop .date {
        font-size: 3.1944vw;
    }
    .sidebarPostTop .date span {
        font-size: 2.7777vw;
    }
}

.sidebarPostTop .catArea {
    display: inline-block;
    vertical-align: middle;
}

.sidebarPostTop .catArea .cat {
    text-align: center;
    padding: 0.1em 0;
}

@media only screen and (min-width: 499px) {
    .sidebarPostTop .catArea .cat {
        width: 57px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarPostTop .catArea .cat {
        width: 47px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostTop .catArea .cat {
        width: 14.1666vw;
    }
}

.sidebarPostTtl {
    letter-spacing: 0.08em;
}

@media only screen and (min-width: 499px) {
    .sidebarPostTtl {
        font-size: 12px;
        line-height: 1.5;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sidebarPostTtl {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .sidebarPostTtl {
        font-size: 3.1944vw;
        line-height: 1.76;
    }
}

@media only screen and (min-width: 499px) {
    .sideCatList {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sideCatList {
        margin-bottom: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .sideCatList {
        margin-bottom: 4.1666vw;
    }
}

.sideCatList:last-child {
    margin-bottom: 0;
}

.sideCatList a {
    letter-spacing: 0.12em;
    position: relative;
    padding-left: 1.5em;
    display: block;
    font-family: "Crimson Text", serif;
}

@media only screen and (min-width: 499px) {
    .sideCatList a {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sideCatList a {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .sideCatList a {
        font-size: 4.1666vw;
    }
}

.sideCatList a:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(assets/images/common/icn_flower.svg);
}

@media only screen and (min-width: 499px) {
    .sideCatList a:before {
        width: 13px;
        height: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .sideCatList a:before {
        width: 10px;
        height: 10px;
    }
}

@media only screen and (max-width: 500px) {
    .sideCatList a:before {
        width: 3.7863vw;
        height: 3.7863vw;
    }
}

.searchForm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (min-width: 499px) {
    .searchForm {
        margin-top: 25px;
        padding-bottom: 10px;
        border-bottom: 1px solid #282f37;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .searchForm {
        margin-top: 21px;
        padding-bottom: 8px;
    }
}

@media only screen and (max-width: 500px) {
    .searchForm {
        margin-top: 6.9444vw;
        padding: 3.6111vw 2.2222vw 2.5vw;
        background: #e0d8cb;
    }
}

.searchsubmit {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media only screen and (min-width: 499px) {
    .searchsubmit {
        width: 6.09756%;
    }
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
    .searchsubmit {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .searchsubmit:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 500px) {
    .searchsubmit {
        width: 5.89875%;
    }
}

.searchsubmit img {
    width: 100%;
    height: auto;
}

.searchfield {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
    letter-spacing: 0.1em;
    padding: 0 1em;
}

@media only screen and (min-width: 499px) {
    .searchfield {
        font-size: 20px;
        width: 93.90244%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .searchfield {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .searchfield {
        font-size: 4.1666vw;
        width: 94.10125%;
    }
}

@media only screen and (min-width: 499px) {
    .postInfo .infoListTtl {
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postInfo .infoListTtl {
        margin-bottom: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .postInfo .infoListTtl {
        margin-bottom: 3.4722vw;
    }
}

.infoListSns ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media only screen and (min-width: 499px) {
    .infoListSns ul li {
        width: 17px;
        margin-left: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListSns ul li {
        width: 14px;
        margin-left: 16px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListSns ul li {
        width: 4.1666vw;
        margin-left: 4.1666vw;
    }
}

.infoListSns ul li a {
    display: block;
}

@media only screen and (min-width: 499px) {
    .infoListSns ul li a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .infoListSns ul li a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .infoListSns.infoListSnsBottom {
        margin-top: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListSns.infoListSnsBottom {
        margin-top: 66px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListSns.infoListSnsBottom {
        margin-top: 7.5vw;
    }
}

@media only screen and (max-width: 500px) {
    .infoListSns.infoListSnsBottom ul {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media only screen and (min-width: 499px) {
    .infoListPostContent {
        margin-top: 35px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent {
        margin-top: 29px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent {
        margin-top: 6.9444vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListPostContent p {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent p {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent p {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListPostContent p {
        line-height: 1.69;
        letter-spacing: 0.1em;
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent p {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent p {
        line-height: 1.66;
        letter-spacing: 0.08em;
        margin-bottom: 8.8888vw;
    }
}

.infoListPostContent p:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent .text-only {
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent .text-only {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent .text-only {
        margin-bottom: 8.8888vw;
    }
}

.infoListPostContent .text-only:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent figure {
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent figure {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent figure {
        margin-bottom: 8.8888vw;
    }
}

.infoListPostContent figure:last-child {
    margin-bottom: 0;
}

.infoListPostContent figure img {
    width: 100%;
    height: auto;
}

.infoListPostContent h3 {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent h3 {
        font-size: 18px;
        letter-spacing: 0.08em;
        margin-bottom: 25px;
        line-height: 1.444;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent h3 {
        font-size: 15px;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent h3 {
        font-size: 4.1666vw;
        letter-spacing: 0.08em;
        margin-bottom: 4.1666vw;
        line-height: 1.666;
    }
}

.infoListPostContent h3:last-child {
    margin-bottom: 0;
}

.infoListPostContent h4 {
    padding-left: 1.5em;
    position: relative;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent h4 {
        font-size: 18px;
        letter-spacing: 0.08em;
        margin-bottom: 25px;
        line-height: 1.444;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent h4 {
        font-size: 15px;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent h4 {
        font-size: 4.1666vw;
        letter-spacing: 0.08em;
        margin-bottom: 4.1666vw;
        line-height: 1.666;
    }
}

.infoListPostContent h4:last-child {
    margin-bottom: 0;
}

.infoListPostContent h4:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transform: translateY(22%);
    transform: translateY(22%);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(assets/images/common/icn_flower.svg);
}

@media only screen and (min-width: 499px) {
    .infoListPostContent h4:before {
        width: 16px;
        height: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent h4:before {
        width: 13px;
        height: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent h4:before {
        width: 5.1388vw;
        height: 5.1388vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListPostContent ul,
    .infoListPostContent ol {
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent ul,
    .infoListPostContent ol {
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent ul,
    .infoListPostContent ol {
        margin-bottom: 8.8888vw;
    }
}

.infoListPostContent ul:last-child,
.infoListPostContent ol:last-child {
    margin-bottom: 0;
}

.infoListPostContent ul li,
.infoListPostContent ol li {
    position: relative;
    padding-left: 1.8em;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent ul li,
    .infoListPostContent ol li {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent ul li,
    .infoListPostContent ol li {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent ul li,
    .infoListPostContent ol li {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .infoListPostContent ul li,
    .infoListPostContent ol li {
        line-height: 1.69;
        letter-spacing: 0.1em;
        margin-bottom: 4px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent ul li,
    .infoListPostContent ol li {
        margin-bottom: 3px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent ul li,
    .infoListPostContent ol li {
        line-height: 1.66;
        letter-spacing: 0.08em;
        margin-bottom: 1vw;
    }
}

.infoListPostContent ul li:last-child,
.infoListPostContent ol li:last-child {
    margin-bottom: 0;
}

.infoListPostContent ul li:before {
    content: "■";
    position: absolute;
    left: 0.3em;
    top: 0;
    color: #2f4438;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent ul li:before {
        font-size: 80%;
        -webkit-transform: translateY(12%);
        transform: translateY(12%);
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent ul li:before {
        font-size: 95%;
        -webkit-transform: translateY(5%);
        transform: translateY(5%);
    }
}

@media only screen and (min-width: 499px) {
    .infoListPostContent2 {
        margin-top: 80px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent2 {
        margin-top: 66px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent2 {
        margin-top: 9.7222vw;
    }
}

@media only screen and (min-width: 499px) {
    .postColumn {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postColumn {
        margin-bottom: 50px;
    }
}

@media only screen and (max-width: 500px) {
    .postColumn {
        margin-bottom: 8.8888vw;
    }
}

@media only screen and (min-width: 499px) {
    .postColumnBlockTxt p {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postColumnBlockTxt p {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .postColumnBlockTxt p {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .postColumnBlockTxt p {
        line-height: 1.69;
        letter-spacing: 0.1em;
    }
}

@media only screen and (max-width: 500px) {
    .postColumnBlockTxt p {
        line-height: 1.66;
        letter-spacing: 0.08em;
    }
}

@media only screen and (min-width: 499px) {
    .hasColumn2 .postColumnBlockImg {
        width: 46.3768%;
    }
}

@media only screen and (max-width: 500px) {
    .hasColumn2 .postColumnBlockImg {
        margin-bottom: 3.05vw;
    }
}

@media only screen and (min-width: 499px) {
    .hasColumn2 .postColumnBlockTxt {
        width: 50%;
    }
}

.postColumnBlockOder1 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.postColumnBlockOder2 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

@media only screen and (min-width: 499px) {
    .hasColumn3 {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media only screen and (min-width: 499px) {
    .hasColumn3 .postColumnBlock {
        width: 30.7246%;
        margin-right: 3.9131%;
    }
    .hasColumn3 .postColumnBlock:last-child {
        margin-right: 0;
    }
}

@media only screen and (max-width: 500px) {
    .hasColumn3 .postColumnBlock {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 4.1666vw;
    }
    .hasColumn3 .postColumnBlock:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 500px) {
    .hasColumn3 .postColumnBlock figure {
        width: 38.545%;
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 499px) {
    .hasColumn3 .postColumnBlock figcaption {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .hasColumn3 .postColumnBlock figcaption {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .hasColumn3 .postColumnBlock figcaption {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .hasColumn3 .postColumnBlock figcaption {
        line-height: 1.69;
        letter-spacing: 0.1em;
    }
}

@media only screen and (max-width: 500px) {
    .hasColumn3 .postColumnBlock figcaption {
        line-height: 1.66;
        letter-spacing: 0.08em;
        width: 56.909%;
    }
}

.postQuoteBlock {
    border: 2px solid #aaa099;
}

@media only screen and (min-width: 499px) {
    .postQuoteBlock {
        padding: 25px;
        margin-bottom: 30px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postQuoteBlock {
        padding: 20px;
        margin-bottom: 25px;
    }
}

@media only screen and (max-width: 500px) {
    .postQuoteBlock {
        padding: 6.9444vw 5.5555vw;
        margin-bottom: 8.8888vw;
    }
}

.postQuoteBlock:last-child {
    margin-bottom: 0;
}

.infoListPostContent h3.postQuoteTtl {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    border-left: none;
    padding-left: 0;
}

@media only screen and (min-width: 499px) {
    .infoListPostContent h3.postQuoteTtl {
        font-size: 18px;
        letter-spacing: 0.08em;
        line-height: 1.44;
        margin-bottom: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .infoListPostContent h3.postQuoteTtl {
        font-size: 15px;
        margin-bottom: 9px;
    }
}

@media only screen and (max-width: 500px) {
    .infoListPostContent h3.postQuoteTtl {
        font-size: 3.8888vw;
        letter-spacing: 0.12em;
        line-height: 1.78;
        margin-bottom: 2.7777vw;
    }
}

.infoListPostContent h3.postQuoteTtl:before,
.infoListPostContent h3.postQuoteTtl:after {
    content: none;
}

@media only screen and (min-width: 499px) {
    .postQuoteComment {
        font-size: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postQuoteComment {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .postQuoteComment {
        font-size: 3.3vw;
    }
}

@media only screen and (min-width: 499px) {
    .postQuoteComment {
        line-height: 1.69;
        letter-spacing: 0.1em;
    }
}

@media only screen and (max-width: 500px) {
    .postQuoteComment {
        line-height: 1.66;
        letter-spacing: 0.08em;
    }
}

@media only screen and (min-width: 499px) {
    .postBtnArea {
        margin-top: 57px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postBtnArea {
        margin-top: 47px;
    }
}

@media only screen and (max-width: 500px) {
    .postBtnArea {
        margin-top: 7.7777vw;
    }
}

.postBtnMove {
    clear: both;
    overflow: hidden;
    font-weight: bold;
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .postBtnMove {
        width: 92%;
    }
}

.postBtnMove a {
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
    .postBtnMove a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .postBtnMove a:hover {
        opacity: 0.7;
    }
}

.postBtnMove .prvPost {
    float: left;
}

.postBtnMove .nxtPost {
    float: right;
}

.postBtnMove .prvPost:before,
.postBtnMove .nxtPost:after {
    content: " ";
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media only screen and (min-width: 499px) {
    .postBtnMove .prvPost:before,
    .postBtnMove .nxtPost:after {
        width: 22px;
        height: 5px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .postBtnMove .prvPost:before,
    .postBtnMove .nxtPost:after {
        width: 18px;
        height: 4px;
    }
}

@media only screen and (max-width: 500px) {
    .postBtnMove .prvPost:before,
    .postBtnMove .nxtPost:after {
        width: 4.5833vw;
        height: 1vw;
    }
}

.postBtnMove .prvPost:before {
    background-image: url(assets/images/common/arw_pagi_prv.svg);
    margin-right: 1em;
}

.postBtnMove .nxtPost:after {
    background-image: url(assets/images/common/arw_pagi_nxt.svg);
    margin-left: 1em;
}

.postBtnTop {
    text-align: center;
}

@media only screen and (max-width: 500px) {
    .postBtnTop {
        margin-top: 1.8em;
    }
}

.postBtnTop a {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 0.08em;
    text-decoration: underline;
    color: #4c3c2e;
    display: inline-block;
}

@media only screen and (min-width: 499px) {
    .postBtnTop a {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
    .postBtnTop a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .postBtnTop a:hover {
        opacity: 0.7;
    }
}

#selection {
    background: #fff;
    text-align: center;
}

@media only screen and (min-width: 499px) {
    #selection {
        padding: 100px 0 100px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #selection {
        padding: 82px 0 82px;
    }
}

@media only screen and (max-width: 500px) {
    #selection {
        padding: 8.3333vw 0 7.6388vw;
    }
}

@media only screen and (min-width: 499px) {
    #selection .secTtl {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #selection .secTtl {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    #selection .secTtl {
        margin-bottom: 6.8vw;
    }
}

.selectionInner {
    margin: 0 auto;
}

@media only screen and (min-width: 499px) {
    .selectionInner {
        width: 980px;
    }
}

@media only screen and (max-width: 500px) {
    .selectionInner {
        width: 88.8888vw;
    }
}

.selectionListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 500px) {
    .selectionListWrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media only screen and (min-width: 499px) {
    .selectionList {
        width: 31.3265%;
    }
}

@media only screen and (max-width: 500px) {
    .selectionList {
        width: 47.65625%;
        margin-top: 4.1666vw;
    }
}

@media only screen and (max-width: 500px) {
    .selectionList.selectionListFull {
        width: 100%;
        margin-top: 0;
    }
}

.selectionList a {
    display: block;
}

@media only screen and (min-width: 499px) {
    .selectionList a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .selectionList a:hover {
        opacity: 0.7;
    }
}

.selectionList a img {
    position: relative;
    z-index: 2;
}

@media only screen and (min-width: 499px) {
    .selectionList a img {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .selectionList a img {
        margin-bottom: 16.5px;
    }
}

@media only screen and (max-width: 500px) {
    .selectionList a img {
        margin-bottom: 2.7777vw;
    }
}

.selectionList a p {
    font-family: garamond-fb-text, serif;
    font-weight: 400;
    font-style: normal;
}

@media only screen and (min-width: 499px) {
    .selectionList a p {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .selectionList a p {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .selectionList a p {
        font-size: 3.3333vw;
    }
}

.selectionList a p:after {
    content: "　";
    display: inline-block;
    background-image: url(assets/images/common/arw_btn.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 0.8em;
    padding-top: 0.3em;
}

@media only screen and (min-width: 499px) {
    .selectionList a p:after {
        width: 22px;
        height: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .selectionList a p:after {
        width: 18.15px;
        height: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .selectionList a p:after {
        width: 4.8888vw;
        height: 3.3333vw;
    }
}

@media only screen and (min-width: 499px) {
    .footerTopArea {
        background-image: url(assets/images/common/contact_bg_pc.jpg);
        background-attachment: fixed;
        background-position: top 80px center;
        background-size: cover;
        padding: 130px 0;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerTopArea {
        padding: 107px 0;
    }
}

@media only screen and (max-width: 500px) {
    .footerTopArea {
        padding: 7.5vw 0;
    }
}

.footerTopAreaBg {
    background-image: url(assets/images/common/contact_bg_sp.jpg);
    background-size: cover;
    background-position: top 14.44375vw right;
    background-repeat: repeat-y;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -2;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    background-position: top;
}

.footerTopAreaBg.up {
    background-position: top;
}

.tb .footerTopArea {
    background-attachment: scroll;
}

#footerContact {
    text-align: center;
    margin: 0 auto;
    background-image: url(assets/images/common/contact_tr_bg.png);
    background-size: 50px 50px;
}

@media only screen and (min-width: 499px) {
    #footerContact {
        padding: 8px;
        width: 1116px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #footerContact {
        padding: 7px;
        width: 920px;
    }
}

@media only screen and (max-width: 500px) {
    #footerContact {
        padding: 1.1111vw;
        width: 90.7638vw;
    }
}

@media only screen and (min-width: 499px) {
    #footerContact .secTtl {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #footerContact .secTtl {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    #footerContact .secTtl {
        margin-bottom: 6.9444vw;
    }
}

.footerContactInner {
    border: 1px solid #fff;
}

@media only screen and (min-width: 499px) {
    .footerContactInner {
        padding: 55px 60px 42px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerContactInner {
        padding: 45px 50px 35px;
    }
}

@media only screen and (max-width: 500px) {
    .footerContactInner {
        padding: 7.6388vw 6.6666vw 8.3333vw;
    }
}

.footerContactContent .secLead {
    margin-bottom: 15px;
    letter-spacing: 0.12em;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

@media only screen and (min-width: 499px) {
    .footerContactContent .secLead {
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerContactContent .secLead {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .footerContactContent .secLead {
        font-size: 4.1666vw;
    }
}

@media only screen and (min-width: 499px) {
    .footerContactBtnWrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 50px;
    }
    .footerContactBtnWrap li {
        width: 19%;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerContactBtnWrap {
        margin-bottom: 42px;
    }
    .footerContactBtnWrap li {
        width: 19%;
    }
}

@media only screen and (max-width: 500px) {
    .footerContactBtnWrap {
        margin-bottom: 7.6388vw;
    }
    .footerContactBtnWrap li {
        width: 72.2222vw;
        margin: 0 auto 1vw;
    }
}

.footerContactBtn {
    background: #4c3c2e;
    color: #fff;
    font-weight: bold;
    display: block;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .footerContactBtn {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .footerContactBtn:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .footerContactBtn {
        width: 100%;
        padding: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerContactBtn {
        padding: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .footerContactBtn {
        width: 100%;
        padding: 3.75vw;
    }
}

.footerContactBtn.footerContactBtnFair {
    background: #2f4438;
}

.footerContactBtn.footerContactBtnRestaurant {
    background: #2f4438;
}

.footerContactInfo h3 {
    font-weight: bold;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .footerContactInfo h3 {
        margin-bottom: 20px;
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerContactInfo h3 {
        margin-bottom: 16.5px;
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .footerContactInfo h3 {
        margin-bottom: 3.6111vw;
        font-size: 3.6111vw;
    }
}

.footerTel {
    letter-spacing: 0.05em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .footerTel {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerTel {
        margin-bottom: 16.5px;
    }
}

@media only screen and (max-width: 500px) {
    .footerTel {
        margin-bottom: 3.8888vw;
    }
}

@media only screen and (min-width: 499px) {
    .footerTel a {
        cursor: default;
        font-size: 20px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerTel a {
        font-size: 16px;
    }
}

@media only screen and (min-width: 499px) {
    .footerTel a span {
        font-size: 32px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerTel a span {
        font-size: 26px;
    }
}

@media only screen and (max-width: 500px) {
    .footerTel a span {
        font-size: 6.25vw;
    }
}

@media only screen and (min-width: 499px) {
    .footerOpen {
        line-height: 1.75;
        font-size: 16px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerOpen {
        font-size: 13px;
    }
}

@media only screen and (max-width: 500px) {
    .footerOpen {
        font-size: 3.1944vw;
        line-height: 1.4;
    }
}

@media only screen and (min-width: 499px) {
    .footerOpen .small {
        font-size: 14px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerOpen .small {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .footerOpen .small {
        font-size: 2.7777vw;
    }
}

#topFooter {
    background: #e8e3dd;
    text-align: center;
}

@media only screen and (min-width: 499px) {
    #topFooter {
        padding: 60px 0 55px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #topFooter {
        padding: 50px 0 45px;
    }
}

@media only screen and (max-width: 500px) {
    #topFooter {
        padding: 10.1388vw 0 11.3888vw;
    }
}

@media only screen and (min-width: 499px) {
    .topFooterLogo {
        width: 174px;
        margin: 0 auto 60px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .topFooterLogo {
        width: 143px;
        margin: 0 auto 50px;
    }
}

@media only screen and (max-width: 500px) {
    .topFooterLogo {
        width: 36.1111vw;
        margin: 0 auto 6.9444vw;
    }
}

.topFooterNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (min-width: 499px) {
    .topFooterNav {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 500px) {
    .topFooterNav {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.topFooterNav a {
    position: relative;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .topFooterNav a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .topFooterNav a:hover {
        opacity: 0.7;
    }
}

@media only screen and (min-width: 499px) {
    .topFooterNav a {
        margin: 0 1.5em;
    }
}

@media only screen and (max-width: 500px) {
    .topFooterNav a {
        padding: 4.8611vw 0;
        font-size: 3.0555vw;
        width: 48.4375%;
        border-bottom: 1px solid #c1b8b0;
    }
    .topFooterNav a:first-child {
        width: 100%;
        border-top: 1px solid #c1b8b0;
    }
    .topFooterNav a:after {
        content: "　";
        background-image: url(assets/images/common/arw_footer_b.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        display: inline-block;
        vertical-align: top;
        width: 12px;
        height: 8px;
        margin-left: 0.3em;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 2.2222vw;
    }
}

@media only screen and (min-width: 499px) {
    .topFooterNav .topFooterNavBorder {
        margin: 0 1.5em;
        width: 1px;
        height: 23px;
        background: #838080;
    }
}

#about {
    background: #fff;
}

.aboutInner {
    width: 100%;
    max-width: 1160px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px;
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .aboutInner {
        width: 1024px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutInner {
        width: 88.8888vw;
        max-width: none;
        padding: 0;
    }
}

@media only screen and (min-width: 499px) {
    .aboutInner .secTtl {
        margin-bottom: 50px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .aboutInner .secTtl {
        margin-bottom: 41px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutInner .secTtl {
        margin-bottom: 8.3333vw;
    }
}

.aboutInner .secLead {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 499px) {
    .aboutInner .secLead {
        font-size: 18px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .aboutInner .secLead {
        font-size: 15px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutInner .secLead {
        font-size: 4.7222vw;
    }
}

@media only screen and (max-width: 500px) {
    .aboutInner .secLead {
        text-align: left;
        font-size: 3.3333vw;
        padding: 0 0.1em;
        letter-spacing: 0;
    }
}

.aboutListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 499px) {
    .aboutListWrap {
        margin-top: 40px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .aboutListWrap {
        margin-top: 33px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutListWrap {
        margin-top: 11.1111vw;
    }
}

@media only screen and (min-width: 499px) {
    .aboutList {
        width: 31.96%;
        margin-right: 2.06%;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutList {
        width: 32.5%;
        margin-right: 1.25%;
        margin-bottom: 1.1111vw;
    }
}

.aboutList:nth-child(3n) {
    margin-right: 0;
}

@media only screen and (min-width: 499px) {
    .aboutList a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
    .aboutList a {
        -webkit-transition: opacity 0.2s ease 0s;
        transition: opacity 0.2s ease 0s;
        cursor: pointer;
    }
    .aboutList a:hover {
        opacity: 0.7;
    }
}

@media only screen and (max-width: 500px) {
    .aboutList a {
        display: block;
        position: relative;
    }
}

@media only screen and (min-width: 499px) {
    .aboutTh {
        width: 44.69%;
    }
}

@media only screen and (max-width: 500px) {
    .aboutTh {
        width: 100%;
        position: relative;
        z-index: 1;
    }
}

@media only screen and (min-width: 499px) {
    .aboutTxt {
        width: 51.8%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 500px) {
    .aboutTxt {
        text-align: center;
        color: #fff;
        width: 100%;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: 5;
        text-shadow: rgba(0, 0, 0, 0.5) 0 0 3px;
    }
}

.aboutNameEn {
    letter-spacing: 0.08em;
}

@media only screen and (min-width: 499px) {
    .aboutNameEn {
        color: #725b4c;
        font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-weight: bold;
        font-size: 18px;
        line-height: 1.444;
        margin-bottom: 5px;
    }
    .aboutNameEn span {
        font-size: 15px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .aboutNameEn {
        font-size: 15px;
    }
    .aboutNameEn span {
        font-size: 12px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutNameEn {
        font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-size: 3vw;
        line-height: 1.363;
        margin-bottom: 2.0833vw;
        letter-spacing: normal;
    }
}

@media only screen and (min-width: 499px) {
    .aboutNameJp {
        font-size: 13px;
        letter-spacing: 0.08em;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .aboutNameJp {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    .aboutNameJp {
        font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-size: 2.2vw;
        line-height: 1.5;
        letter-spacing: normal;
        font-weight: 600;
    }
}

@media only screen and (min-width: 499px) {
    #footer {
        background: #282f37;
        padding: 17px 0;
    }
}

@media only screen and (max-width: 500px) {
    #footer {
        padding-bottom: 11.8055vw;
        background: #fff;
    }
}

@media only screen and (min-width: 499px) {
    .fooerInner {
        width: 980px;
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.footerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media only screen and (max-width: 500px) {
    .footerNav {
        width: 100%;
        background: #282f37;
        padding: 5.5555vw;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media only screen and (min-width: 499px) {
    .footerNav li {
        margin-right: 3.5em;
    }
}

@media only screen and (max-width: 500px) {
    .footerNav li {
        text-align: center;
        border-right: 1px solid #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .footerNav li a {
        font-size: 2.7777vw;
        line-height: 1.35;
        padding: 0 4.5vw;
    }
    .footerNav li:first-child a {
        padding: 0 4.5vw 0 0;
    }
    .footerNav li:last-child {
        border-right: none;
    }
    .footerNav li:last-child a {
        padding: 0 0 0 4.5vw;
    }
}

@media screen and (max-width: 320px) {
    .footerNav li a {
        font-size: 2.5vw;
        line-height: 1.35;
        padding: 0 3vw;
    }
}

.footerNav a {
    color: #fff;
}

@media only screen and (min-width: 499px) {
    .footerNav a {
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    .footerNav a {
        font-size: 11px;
    }
}

@media only screen and (min-width: 499px) {
    #copyright {
        color: #fff;
        font-size: 12px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #copyright {
        font-size: 11px;
    }
}

@media only screen and (max-width: 500px) {
    #copyright {
        font-size: 3.0555vw;
        text-align: center;
        padding: 2.7777vw;
        font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-weight: bold;
        background: #fff;
        color: #3f3f3f;
    }
}

#toTop {
    position: fixed;
    z-index: 50;
    display: block;
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

@media only screen and (min-width: 499px) {
    #toTop {
        width: 60px;
        bottom: 57px;
        right: 13px;
    }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
    #toTop {
        width: 50px;
    }
}

@media only screen and (max-width: 500px) {
    #toTop {
        width: 11.1111vw;
        bottom: 13.8888vw;
        right: 2.0833vw;
    }
}

#toTop.active {
    opacity: 1;
}

#toTop:hover {
    opacity: 0.6;
}

.spFooterBtnWrap {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 450;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
}

.spFooterBtnWrap.active {
    -webkit-transform: none;
    transform: none;
}

.spFooterBtn {
    width: 50%;
    background: #2f4438;
    color: #fff;
    font-weight: bold;
    font-size: 3.4vw;
    text-align: center;
    line-height: 11.8055vw;
    letter-spacing: 0.08em;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.spFooterBtn:before {
    content: " ";
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(assets/images/common/icn_fair.svg);
    width: 4.1098vw;
    height: 4.18375vw;
    vertical-align: middle;
    margin-right: 0.5em;
}

.spFooterBtn:first-child {
    border-right: 1px solid #fff;
    background: #3f3020;
    font-size: 3.6vw;
    letter-spacing: 0.06em;
}

.spFooterBtn:first-child:before {
    background-image: url(assets/images/common/icn_tel.svg);
    width: 3.3705vw;
    height: 4.308vw;
}

.spFooterBtn span {
    vertical-align: middle;
    display: inline-block;
    padding-bottom: 0.1em;
}

.slick-slider {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
    -webkit-transform: rotate(0.0001deg);
    transform: rotate(0.0001deg);
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop,
    .slick-track {
        -webkit-backface-visibility: visible;
        backface-visibility: visible;
    }
}

.slick-slide {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.slick-loading .slick-list {
    background: #fff url("assets/slick/ajax-loader.gif") center center no-repeat;
}

@font-face {
    font-family: "slick";
    src: url("assets/js/slick/fonts/slick.eot");
    src: url("assets/js/slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("assets/js/slick/fonts/slick.woff") format("woff"), url("assets/js/slick/fonts/slick.ttf") format("truetype"), url("assets/js/slick/fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal;
}

.slick-prev,
.slick-next {
    position: absolute;
    z-index: 100;
    display: block;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
}

@media screen and (min-width: 751px) {
    .slick-prev,
    .slick-next {
        height: 32px;
        width: 16px;
    }
}

@media screen and (min-width: 0px) and (max-width: 750px) {
    .slick-prev,
    .slick-next {
        height: 12px;
        width: 8px;
    }
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    opacity: 0.6;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 0.6;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: #fff;
    opacity: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

@media screen and (min-width: 751px) {
    .slick-prev {
        background-image: url(assets/images/arrow_prev.png);
        left: 20px;
    }
}

@media screen and (min-width: 0px) and (max-width: 750px) {
    .slick-prev {
        background-image: url(assets/images/arrow_prev_sp.png);
        left: 10px;
    }
}

[dir="rtl"] .slick-prev {
    left: auto;
}

@media screen and (min-width: 751px) {
    [dir="rtl"] .slick-prev {
        background: url(assets/images/arrow_prev.png);
        right: 20px;
    }
}

@media screen and (min-width: 0px) and (max-width: 750px) {
    [dir="rtl"] .slick-prev {
        background: url(assets/images/arrow_prev_sp.png);
        right: 10px;
    }
}

.slick-prev:before {
    content: "　";
}

[dir="rtl"] .slick-prev:before {
    content: "　";
}

.slick-next {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

@media screen and (min-width: 751px) {
    .slick-next {
        background-image: url(assets/images/arrow_next.png);
        right: 20px;
    }
}

@media screen and (min-width: 0px) and (max-width: 750px) {
    .slick-next {
        background-image: url(assets/images/arrow_next_sp.png);
        right: 10px;
    }
}

[dir="rtl"] .slick-next {
    right: auto;
}

@media screen and (min-width: 751px) {
    [dir="rtl"] .slick-next {
        left: 20px;
    }
}

@media screen and (min-width: 0px) and (max-width: 750px) {
    [dir="rtl"] .slick-next {
        left: 10px;
    }
}

.slick-next:before {
    content: "　";
}

[dir="rtl"] .slick-next:before {
    content: "　";
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

.slick-dots {
    position: absolute;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
    bottom: 30px;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    padding: 0;
    cursor: pointer;
    height: 8px;
    width: 8px;
    margin: 0 11px;
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer;
    height: 8px;
    width: 8px;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 0.6;
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    content: "";
    font-family: "slick";
    height: 8px;
    width: 8px;
    font-size: 8px;
    line-height: 20px;
    text-align: center;
    color: #000;
    opacity: 0.25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: 1;
    background: #fff;
}


/*# sourceMappingURL=style.min.css.map */


/*----- ベストレート保証 -------------*/

#bestrate .underSectionContent {
    margin-bottom: 0px;
    padding-bottom: 0px;
    text-align: center;
}

#bestrate .secDecoContent.underSectionInnerFirst {
    border-bottom: 2px solid #cac0b4;
}

#bestrate .fadeinWrap:last-child {
    margin-bottom: 20px;
}

#bestrate h3 {
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.6;
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#bestrate .secLead {
    font-weight: bold;
}

#bestrate .txtRed {
    color: #702539;
}

#bestrate .condition {
    background: #f6f6f0;
}

#bestrate ul.list {
    margin: 10px auto 0;
}

#bestrate ul.list li {
    position: relative;
    text-align: left;
    margin-bottom: 7px;
    padding-left: 10px;
}

#bestrate ul.list li::after {
    display: block;
    content: '';
    position: absolute;
    top: .6em;
    left: 0;
    width: 5px;
    height: 5px;
    background-color: #C8B497;
    border-radius: 100%;
}

#bestrate .column2 li p,
#bestrate .secLead {
    text-align: center;
    line-height: 1.6;
}

#bestrate .secUnder3Content.borderTB {
    position: relative;
    border-top: 2px solid #dfe0e1;
    border-bottom: 2px solid #dfe0e1;
}

#bestrate .secUnder3Content.borderTB:before,
#bestrate .secUnder3Content.borderTB:after {
    content: " ";
    display: block;
    position: absolute;
    height: 2px;
    width: 62.2449%;
    background: #cac0b4;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 20
}

#bestrate .secUnder3Content.borderTB:before {
    top: -2px
}

#bestrate .secUnder3Content.borderTB:after {
    bottom: -2px
}

#bestrate .secUnder3Content .secTtl .jp {
    font-weight: bold;
}


/*スマホ*/

@media only screen and (max-width: 500px) {
    #bestrate {
        font-size: 3.3vw;
    }
    #bestrate.underSection,
    #bestrate .underSectionInner {
        padding-bottom: 10px;
    }
    #bestrate .underSectionInnerLast .secDecoContentInner {
        margin-bottom: 3px;
    }
    #bestrate .fadeinWrap {
        margin-bottom: 45px;
    }
    #bestrate .fadeinWrap:last-child {
        margin-bottom: 0px;
    }
    #bestrate .secTtl {
        margin-bottom: 15px;
    }
    #bestrate .secTtl .jp {
        font-size: 4.5vw;
        margin-bottom: 10px;
    }
    #bestrate .secTtl .en {
        font-size: 2.5vw;
        margin-bottom: 0px;
    }
    #bestrate h3 {
        font-size: 4.5vw;
    }
    #bestrate p,
    #bestrate ul.list li {
        text-align: left;
        font-size: 3.6vw;
        line-height: 1.8;
    }
    #bestrate p.secComment {
        margin-bottom: 15px;
    }
    #bestrate .secLead {
        font-size: 4vw;
    }
    #bestrate img {
        width: auto;
        margin: 10px 0;
    }
    #bestrate .logo {
        width: 50vw;
    }
    #bestrate .condition {
        padding: 25px 15px 10px;
    }
    #bestrate ul.list li {
        margin-bottom: 5px;
    }
    #bestrate .secUnder3Content {
        padding: 8vw 0 2vw;
    }
    #bestrate .column2 {
        margin: 30px 0 0;
    }
    #bestrate .column2 li {
        margin-bottom: 25px;
    }
    #bestrate .column2 li .btn a {
        width: 70vw;
        margin-top: 10px;
        font-size: 3.6vw;
    }
}


/*PC*/

@media only screen and (min-width: 499px) {
    #bestrate .underSectionInner {
        margin-bottom: 80px;
    }
    #bestrate .secDecoContent.underSectionInnerFirst .secDecoContentInner {
        margin-bottom: 7px;
        padding-bottom: 50px;
        border-bottom: 1px solid #cac0b4;
    }
    #bestrate .fadeinWrap {
        margin-bottom: 80px;
    }
    #bestrate .secTtl {
        margin-bottom: 25px;
    }
    #bestrate .secTtl .jp {
        font-size: 30px;
        margin-bottom: 15px;
    }
    #bestrate .secTtl .en {
        font-size: 100%;
        margin-bottom: 0px;
    }
    #bestrate h3 {
        font-size: 26px;
    }
    #bestrate p,
    #bestrate ul.list li {
        font-size: 16px;
        line-height: 1.8;
    }
    #bestrate .secLead {
        font-size: 20px;
    }
    #bestrate p.secComment {
        margin-bottom: 15px;
    }
    #bestrate img {
        width: auto;
        margin: 35px 0;
    }
    #bestrate .logo {
        width: 300px;
    }
    #bestrate .img01 {
        width: 950px;
    }
    #bestrate .img02 {
        width: 850px;
    }
    #bestrate .condition {
        padding: 40px 25px;
    }
    #bestrate ul.list {
        width: 700px;
    }
    #bestrate .secUnder3Content {
        padding-top: 50px;
    }
    #bestrate .column2 {
        margin: 40px 0 0;
    }
    #bestrate .column2 li {
        display: inline-block;
        width: 49.5%;
    }
    #bestrate .column2 li .btn a {
        width: 94%;
        margin-top: 20px;
        font-size: 16px;
    }
}
