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", HGS明朝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) {
  html {
    overscroll-behavior: none
  }
}

body {
  width: 100%;
  min-width: 1024px;
  image-rendering: -webkit-optimize-contrast;
  -webkit-font-smoothing: antialiased;
  color: #282834;
  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:before {
    content: " ";
    display: block;
    width: 100%;
    height: 13.992vw;
    background: #fff
  }
}

body.hidden {
  overflow: hidden
}

body.under {
  background: #F0F0EA
}

@media only screen and (min-width: 499px) {
  body.under {
    padding-top: 122px
  }
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top
}

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
  }
}

@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 (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
  }
}

.secWrapBg {
  position: relative;
  z-index: 1
}

.secWrapBg.bgWhite {
  background: #fff
}

.secWrapBg.bgMainBg {
  background: #F0F0EA
}

.secWrapBg.bgBrownBg {
  background: #F7F4EF
}

.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: #F0F0EA
  }
  .secWrapBgSp.bgBrownBg {
    background: #F7F4EF
  }
}

.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.12em;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .secTtl .en {
    font-size: 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secTtl .en {
    font-size: 32px
  }
}

@media only screen and (max-width: 500px) {
  .secTtl .en {
    font-size: 6.66vw
  }
}

.secTtl .jp {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 400;
  letter-spacing: 0.08em
}

.secTtl.secTtlCur .en {
  color: #DCC8B4;
  letter-spacing: normal;
  font-family: 'Italianno', cursive
}

@media only screen and (min-width: 499px) {
  .secTtl.secTtlCur .en {
    font-size: 60px;
    margin-bottom: 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secTtl.secTtlCur .en {
    font-size: 49.5px;
    margin-bottom: 0
  }
}

@media only screen and (max-width: 500px) {
  .secTtl.secTtlCur .en {
    font-size: 15.1388vw;
    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: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
  }
}

.blockTtl {
  font-weight: 400;
  line-height: 2;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .blockTtl {
    font-size: 20px;
    margin-bottom: 25px;
    letter-spacing: 0.1em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .blockTtl {
    font-size: 16.5px;
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 500px) {
  .blockTtl {
    font-size: 4.1666vw;
    margin-bottom: 5vw;
    text-align: center;
    line-height: 1.666;
    letter-spacing: 0.08em
  }
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .blockTtl .msSmall {
    letter-spacing: 0em
  }
}

@media all and (-ms-high-contrast: none) {
  .blockTtl .msSmall {
    letter-spacing: 0em
  }
}

.blockTxt {
  line-height: 1.7
}

@media only screen and (min-width: 499px) {
  .blockTxt {
    width: 370px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .blockTxt {
    width: 305px
  }
}

@media only screen and (max-width: 500px) {
  .blockTxt {
    padding: 0 1em;
    line-height: 1.666;
    font-size: 3.2vw
  }
}

.white {
  color: #fff
}

.gold {
  color: #D7C9B5
}

.brown {
  color: #8c7c52
}

.red {
  color: #966982
}

.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;
  border-radius: 3px
}

@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: #3D3D48
}

.btn.btnGold a, .btn.btnGold button {
  background: #C8B497
}

.btn.btnPink a, .btn.btnPink button {
  background: #966982
}

.btn.btnBlue a, .btn.btnBlue button {
  background: #DCC8B4;
  color: #F7F4EF
}
.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
}

#header {
  background: #fff;
  width: 100%;
  min-width: 1024px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  position: relative;
  z-index: 10000
}

@media only screen and (max-width: 500px) {
  #header {
    min-width: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 500;
    border-bottom: 1px solid #dfe0e1
  }
}

#header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  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 #dfe0e1
  }
}

@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: 15px 0 14px
  }
}

@media only screen and (max-width: 500px) {
  .headerTop .headerInner {
    padding: 3.472vw
  }
}

@media only screen and (min-width: 499px) {
  .headerLogo {
    width: 140px;
    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: 15px;
  -ms-flex: 0 1 auto
}

.headerTel {
  margin-bottom: 5px;
  letter-spacing: 0.1em;
  font-family: petersburg-web, serif;
  font-weight: 400, 700;
  font-style: normal, italic
}

@media only screen and (min-width: 499px) {
  .headerTel a {
    cursor: default
  }
}

.headerTel a span {
  font-size: 150%
}

@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: 4px;
  position: relative
}

.headerSubNavList>a {
  display: block;
  width: 90px;
  padding: 10px 8px;
  text-align: center;
  background: #3D3D48;
  color: #fff;
  font-weight: bold;
  border-radius: 3px
}

@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: #966982;
  padding: 10px
}

.headerNavWrap {
  border-bottom: 1px solid #dfe0e1
}

.headerNav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.headerNavList {
  width: 16.66666%
}

.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: #dfe0e1;
  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: #dfe0e1;
  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
}

@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: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .headerNavList a .navOn {
    font-size: 13px;
    -webkit-transform: translate(0, -60%);
    transform: translate(0, -60%)
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .headerNavList a .navOn {
    font-size: 11px
  }
}

.headerNavList a .navOff {
  opacity: 1;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .headerNavList a .navOff {
    font-size: 15px
  }
}

@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: #F0F0EA
}

.headerNavList a:hover .navOn {
  opacity: 1
}

.headerNavList a:hover .navOff {
  opacity: 0
}

.headerNavList:first-child span {
  border-left: 1px solid #dfe0e1
}

.navRecommend {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 10000;
  background: #F0F0EA;
  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: #F0F0EA;
  -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: #966982;
  font-family: 'Italianno', cursive
}

@media only screen and (min-width: 499px) {
  .navRecommend h3 .en {
    font-size: 50px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .navRecommend h3 .en {
    font-size: 41px
  }
}

@media only screen and (min-width: 499px) {
  .navRecommend h3 .jp {
    font-size: 12px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .navRecommend h3 .jp {
    font-size: 10px
  }
}

.navRecommend h3:before, .navRecommend h3: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) {
  .navRecommend h3:before, .navRecommend h3:after {
    width: 37px;
    height: 53px;
    top: 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .navRecommend h3:before, .navRecommend h3:after {
    width: 30px;
    height: 44px;
    top: 29px
  }
}

@media only screen and (max-width: 500px) {
  .navRecommend h3:before, .navRecommend h3:after {
    width: 6.2083vw;
    height: 8.854vw;
    top: 5.5vw
  }
}

.navRecommend h3:before {
  left: 50%;
  -webkit-transform: translateX(-340%);
  transform: translateX(-340%)
}

.navRecommend h3:after {
  right: 50%;
  -webkit-transform: translateX(340%) scale(-1, 1);
  transform: translateX(340%) scale(-1, 1)
}

.navRecommendInner {
  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
}

.navRecommendTxtInner {
  -ms-flex: 0 1 auto
}

.navRecommendDate {
  color: #966982;
  letter-spacing: 0.08em
}

@media only screen and (min-width: 499px) {
  .navRecommendDate {
    font-size: 16px;
    margin-bottom: 5px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .navRecommendDate {
    font-size: 13px
  }
}

@media only screen and (min-width: 499px) {
  .navRecommendDate span {
    font-size: 12px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .navRecommendDate span {
    font-size: 11px
  }
}

.navRecommendTime {
  color: #966982;
  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
}

@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 .4s;
  transition: all .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: #966982;
  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;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

.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
}

.headerNavSpSubBtn {
  color: #fff;
  width: 29.1666vw;
  font-size: 3.3333vw;
  font-weight: bold;
  background: #AAA08C;
  padding: 2.7777vw 0;
  margin-bottom: 7.3611vw;
  border-radius: 0.5555vw;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif
}

.headerNavSpSubBtn.headerNavSpSubBtnFair {
  background: #966982
}

.headerNavSpContact {
  padding-bottom: 6.9444vw;
  border-bottom: 1px dotted #282834
}

.headerNavSpTelTtl {
  font-size: 3.4722vw;
  margin-bottom: 2.7777vw;
  letter-spacing: 0.12em
}

.headerNavSpTel {
  font-size: 3.6111vw;
  letter-spacing: 0.05em
}

.headerNavSpTel span {
  font-size: 6.25vw
}

.headerNavSpListWrap {
  margin-bottom: 6.9444vw
}

.headerNavSpList {
  border-bottom: 1px dotted #282834
}

.headerNavSpList a {
  display: block;
  padding: 5.5555vw 0
}

.headerNavSpList a span {
  display: block;
  letter-spacing: 0.08em
}

.headerNavSpList a span.en {
  font-weight: bold;
  font-size: 3.8888vw;
  margin-bottom: 1.3888vw;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

.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 #282834;
  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 4.5vw
}

.headerNavSpFooterList:first-child a {
  padding: 0 4.5vw 0 0
}

.headerNavSpFooterList:last-child {
  border-right: none
}

.headerNavSpFooterList:last-child a {
  padding: 0 0 0 4.5vw
}

@media only screen and (min-width: 499px) {
  .mainvUnder {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 1440px;
    margin: 0 auto
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvUnder {
    width: 1188px
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder {
    width: 100%
  }
}

@media only screen and (min-width: 499px) {
  .mainvUnder .mainvUnderImg {
    width: 1036px;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvUnder .mainvUnderImg {
    width: 71.9444%
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder .mainvUnderImg {
    width: 100%
  }
}

.mainvUnder .mainvUnderImg figure {
  width: 100%;
  height: 0;
  padding-top: 61.77%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

@media only screen and (min-width: 499px) {
  .mainvUnder#mainvWeddingStage .mainvUnderImg figure {
    background-image: url(assets/images/wedding_stage/mainv_wedding_stage_bg_pc.jpg)
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder#mainvWeddingStage .mainvUnderImg figure {
    background-image: url(assets/images/wedding_stage/mainv_wedding_stage_bg_sp.jpg)
  }
}

@media only screen and (min-width: 499px) {
  .mainvUnder#mainvCuisine .mainvUnderImg figure {
    background-image: url(assets/images/cuisine/mainv_cuisine_bg_pc.jpg)
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder#mainvCuisine .mainvUnderImg figure {
    background-image: url(assets/images/cuisine/mainv_cuisine_bg_sp.jpg)
  }
}

.mainvUnder#mainvAccess .mainvUnderImg figure {
  background-image: url(assets/images/access/mainv_access_bg_pc.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 .mainvUnderImg figure {
    background-image: url(assets/images/plan/mainv_plan_bg_sp.jpg)
  }
}

@media only screen and (min-width: 499px) {
  .mainvUnder#mainvFair {
    background-image: url(assets/images/fair/mainv_fair_bg_pc.jpg)
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder#mainvFair .mainvUnderImg figure {
    background-image: url(assets/images/fair/mainv_fair_bg_sp.jpg)
  }
}
@media only screen and (min-width: 499px) {
  .mainvUnder#mainvBestrate .mainvUnderImg figure {
    background-image: url(assets/images/bestrate/mainv_bestrate_bg_pc.jpg)
  }
}
@media only screen and (max-width: 500px) {
  .mainvUnder#mainvBestrate .mainvUnderImg figure {
    background-image: url(assets/images/bestrate/mainv_bestrate_bg_sp.jpg)
  }
}

.mainvUnder.mainvUnderMin {
  width: 100%;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

@media only screen and (min-width: 499px) {
  .mainvUnder.mainvUnderMin {
    height: 430px;
    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: 500px) and (max-width: 1366px) {
  .mainvUnder.mainvUnderMin {
    height: 355px
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder.mainvUnderMin {
    background: #fff
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder.mainvUnderMin .mainvUnderImg figure {
    padding-top: 36.1111%
  }
}

.mainvUnder.mainvUnderMin .mainvUnderInner {
  width: 100%;
  margin-right: auto;
  margin-left: auto
}

@media only screen and (min-width: 499px) {
  .mainvUnder.mainvUnderMin .mainvUnderInner {
    max-width: 1280px;
    padding: 0 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvUnder.mainvUnderMin .mainvUnderInner {
    width: 1024px
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder.mainvUnderMin .mainvUnderInner {
    width: 88.8888vw;
    text-align: center;
    padding-top: 9.72222vw;
    padding-bottom: 9.72222vw
  }
}

@media only screen and (min-width: 499px) {
  .mainvUnder.mainvUnderMin .mainvUnderContent {
    color: #fff;
    padding-bottom: 0
  }
}

@media only screen and (min-width: 499px) {
  .mainvUnder.mainvUnderMin .manvUnderTtl {
    color: #fff
  }
}

.mainvUnder.mainvUnderMin .manvUnderLead {
  margin-bottom: 0
}

@media only screen and (min-width: 499px) {
  .mainvUnder.mainvUnderMin .manvUnderLead {
    font-size: 20px;
    line-height: 1.9;
    letter-spacing: 0.12em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvUnder.mainvUnderMin .manvUnderLead {
    font-size: 17px
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnder.mainvUnderMin .manvUnderLead {
    font-size: 4.5vw;
    margin-bottom: 3.8vw;
    line-height: 1.666
  }
}

.tb .mainvUnder {
  background-attachment: scroll
}

.mainvUnderInner {
  position: relative;
  z-index: 2
}

@media only screen and (min-width: 499px) {
  .mainvUnderInner {
    width: 755px;
    padding: 0 50px 0 100px;
    margin-right: -350px;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvUnderInner {
    width: 50%;
    padding: 0 80px 0 40px;
    margin-right: -240px
  }
}

@media only screen and (max-width: 500px) {
  .mainvUnderInner {
    width: 100%;
    padding-top: 11.1111vw;
    padding-bottom: 15.1111vw;
    text-align: center
  }
}

@media only screen and (min-width: 499px) {
  .mainvUnderContent {
    padding-bottom: 80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvUnderContent {
    padding-bottom: 66px
  }
}

.manvUnderTtl {
  color: #966982;
  font-family: 'Italianno', cursive;
  font-weight: 500;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .manvUnderTtl {
    font-size: 62px;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .manvUnderTtl {
    font-size: 58px;
    margin-bottom: 16px
  }
}

@media only screen and (max-width: 500px) {
  .manvUnderTtl {
    font-size: 10.5555vw;
    margin-bottom: 4vw
  }
}

.manvUnderLead {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .manvUnderLead {
    font-size: 26px;
    margin-bottom: 35px;
    letter-spacing: 0.12em
  }
  .manvUnderLead span {
    background: #F0F0EA;
    display: inline-block;
    margin-bottom: 0.5em;
    padding: 0.25em 0.4em 0.35em 0
  }
  .manvUnderLead span:last-child {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .manvUnderLead {
    font-size: 21px;
    margin-bottom: 28px
  }
}

@media only screen and (max-width: 500px) {
  .manvUnderLead {
    font-size: 4.1666vw;
    margin-bottom: 3.8vw;
    line-height: 1.666
  }
}

@media only screen and (min-width: 499px) {
  .manvUnderComment {
    width: 253px;
    line-height: 2.14
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .manvUnderComment {
    width: 220px
  }
}

@media only screen and (max-width: 500px) {
  .manvUnderComment {
    font-size: 3.1944vw;
    line-height: 1.7391
  }
}

.secDecoContentWrap {
  background: #F0F0EA
}

@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
}

.secDecoContent:before, .secDecoContent:after {
  content: " ";
  display: block;
  width: 100%;
  height: 0;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center
}

.secDecoContent:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

@media only screen and (min-width: 499px) {
  .secDecoContent {
    top: -80px;
    padding: 15px
  }
  .secDecoContent:before, .secDecoContent:after {
    padding-bottom: 3.3181%;
    background-image: url(assets/images/common/line_flame.svg)
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDecoContent {
    top: -60px;
    padding: 12px;
    width: 1024px
  }
}

@media only screen and (max-width: 500px) {
  .secDecoContent {
    width: 94.4444vw;
    max-width: none;
    padding: 1.9444vw;
    top: -5.555vw
  }
  .secDecoContent:before, .secDecoContent:after {
    padding-bottom: 6.3%;
    background-image: url(assets/images/common/line_flame_sp.svg)
  }
}

.secDecoContent.underSectionInner {
  top: 0
}

.secDecoContent.underSectionInnerFirst {
  padding-bottom: 0
}

.secDecoContent.underSectionInnerFirst:after {
  content: 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
  }
}

@media only screen and (max-width: 500px) {
  .secDecoContent.underSectionInnerFirst {
    margin-top: -5.555vw
  }
}

.secDecoContent.underSectionInnerFirst .secDecoContentInner {
  margin-bottom: 0
}

.secDecoContent.underSectionInnerLast {
  padding-top: 0
}

.secDecoContent.underSectionInnerLast:before {
  content: none
}

.secDecoContent.underSectionInnerLast .secDecoContentInner {
  margin-top: 0
}

.secDecoContentInner {
  position: relative;
  border-right: 1px solid #D7C9B5;
  border-left: 1px solid #D7C9B5
}

@media only screen and (min-width: 499px) {
  .secDecoContentInner {
    width: 99.173553715%;
    margin: 9px auto;
    padding: 10px 59px 21px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDecoContentInner {
    padding: 8px 48px 17px;
    margin: 7px auto
  }
}

@media only screen and (max-width: 500px) {
  .secDecoContentInner {
    padding: 2.5vw 3.3333vw 4.3055vw;
    width: 98.484848484%;
    margin: 1.25vw auto
  }
}

@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: 2.5vw 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: 2.5vw 2.5vw 4.3055vw
  }
}

.underSectionSliderWrap {
  width: 100%;
  position: relative;
  overflow: 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 #D7C9B5;
  border-left: 1px solid #D7C9B5;
  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: #dfe0e1;
  border-radius: 0;
  content: "";
  height: 11px;
  width: 11px;
  color: #dfe0e1;
  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: #966982;
  background: #966982;
  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: .4s opacity;
  transition: .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 {
  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 dl {
  background: #fff
}

@media only screen and (min-width: 499px) {
  .secDef dl {
    border-left: 2px solid #966982;
    padding: 30px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDef dl {
    padding: 25px 0;
    margin-bottom: 12px
  }
}

@media only screen and (max-width: 500px) {
  .secDef dl {
    border-top: 2px solid #966982;
    margin-bottom: 4.1666vw;
    padding: 0 8vw;
    text-align: center
  }
}

.secDef dl:last-child {
  margin-bottom: 0
}

.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: #966982
}

@media only screen and (min-width: 499px) {
  .secDef dt {
    width: 24.795918%
  }
}

@media only screen and (max-width: 500px) {
  .secDef dt {
    padding: 5.5555vw 0
  }
}

.secDef dt span {
  display: block;
  margin: 0 auto
}

@media only screen and (min-width: 499px) {
  .secDef dt span.secDefVisitors {
    width: 136.67px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDef dt span.secDefVisitors {
    width: 112.75px
  }
}

@media only screen and (max-width: 500px) {
  .secDef dt span.secDefVisitors {
    width: 26.5755vw
  }
}

@media only screen and (min-width: 499px) {
  .secDef dt span.secDefClose {
    width: 91.996px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDef dt span.secDefClose {
    width: 75.8967px
  }
}

@media only screen and (max-width: 500px) {
  .secDef dt span.secDefClose {
    width: 17.889vw
  }
}

@media only screen and (min-width: 499px) {
  .secDef dt span.secDefFacility {
    width: 135.169px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDef dt span.secDefFacility {
    width: 111.514425px
  }
}

@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 (min-width: 499px) {
  .secDef dd {
    border-left: 1px dashed #966982;
    width: 75.2040816%;
    padding: 0 40px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secDef dd {
    padding: 0 33px
  }
}

@media only screen and (max-width: 500px) {
  .secDef dd {
    border-top: 1px dashed #966982;
    padding: 5.5555vw 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
  }
}

@media only screen and (min-width: 499px) {
  .spContentSliderItem {
    width: 32%
  }
}

@media only screen and (max-width: 500px) {
  .spContentSliderItem {
    padding: 6.9444vw;
    background: #F7F4EF
  }
}

.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;
  color: #53535D;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-image: url(assets/images/common/spcontent_slider_ttl_bg.svg);
  font-family: 'Italianno', cursive;
  font-weight: 500;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .spContentSliderEnTtl {
    font-size: 26px;
    margin-top: 18px;
    margin-bottom: 18px;
    background-size: 130px auto;
    padding-bottom: 3px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .spContentSliderEnTtl {
    font-size: 21px;
    margin-top: 15px;
    margin-bottom: 15px;
    background-size: 107px auto;
    padding-bottom: 2px
  }
}

@media only screen and (max-width: 500px) {
  .spContentSliderEnTtl {
    font-size: 6.1388vw;
    margin-top: 4.5833vw;
    margin-bottom: 3vw;
    background-size: 30.6388vw auto;
    padding-bottom: 0.5vw
  }
}

.spContentSliderLead {
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .spContentSliderLead {
    font-size: 18px;
    line-height: 1.777;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .spContentSliderLead {
    font-size: 15px;
    margin-bottom: 16px
  }
}

@media only screen and (max-width: 500px) {
  .spContentSliderLead {
    font-size: 4vw;
    line-height: 1.666;
    margin-bottom: 4.1666vw
  }
}

@media only screen and (min-width: 499px) {
  .spContentSliderComment {
    line-height: 2.1;
    padding: 0 15px;
    letter-spacing: 0.057em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .spContentSliderComment {
    padding: 0 12px;
    letter-spacing: 0
  }
}

@media only screen and (max-width: 500px) {
  .spContentSliderComment {
    line-height: 1.666;
    letter-spacing: 0
  }
  .spContentSliderComment.small {
    letter-spacing: -0.03em
  }
}

.frameDeco {
  margin: 0 auto;
  background: #966982
}

@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: 'Noto Serif JP', serif;
  font-weight: 400;
  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: 'Noto Serif JP', serif;
  font-weight: 400
}

@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 {
  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: 'Italianno', 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
  }
}

@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: 'Italianno', cursive;
  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: #966982
  }
}

.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;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@media only screen and (min-width: 499px) {
  .secUnder3Ttl {
    padding: 70px 0;
    font-size: 24px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .secUnder3Ttl {
    padding: 56px 0;
    font-size: 20px
  }
}

@media only screen and (max-width: 500px) {
  .secUnder3Ttl {
    padding: 8.3333vw 0;
    font-size: 4.1666vw
  }
}

.secUnder3Content {
  position: relative;
  border-left: 2px solid #966982;
  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 #966982;
  border-bottom: 2px solid #966982;
}


.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;
    left: 2vw;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
  }
}

@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 {
    display: block;
    width: 2.5vw;
    height: 2.5vw;
    margin: 0 auto 3vw
  }
}

@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;
  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 {
  background: #fff;
  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: left;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .mainvSlider figure figcaption p {
    font-size: 24px;
    padding: 50px 40px 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mainvSlider figure figcaption p {
    font-size: 20px;
    padding: 41px 33px 24px
  }
}

@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
  }
}

.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 {
  margin-bottom: 20px;
  color: #966982;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .maivCur {
    font-size: 60px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .maivCur {
    font-size: 49.5px
  }
}

@media only screen and (max-width: 500px) {
  .maivCur {
    font-size: 6.25vw
  }
}

.maivCur span {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  display: block;
  font-weight: bold;
  margin-top: 1em;
  letter-spacing: 0.1em
}

@media only screen and (min-width: 499px) {
  .maivCur span {
    font-size: 13px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .maivCur span {
    font-size: 10px
  }
}

@media only screen and (max-width: 500px) {
  .maivCur span {
    font-size: 3.0555vw
  }
}

.mainvComment {
  position: relative;
  z-index: 10;
  padding-top: 5vw;
  padding-bottom: 5vw
}

.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-bottom: 5vw
}

.mainvTxtSp p {
  font-size: 3.8888vw;
  font-weight: bold;
  letter-spacing: 0.03em;
  line-height: 1.6956;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .mainvBtnWrap,
  .mainvTxtPcWrap {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 10010
  }
}

@media only screen and (max-width: 500px) {
  .mainvBtnWrap {
    background: #F0F0EA;
  }
}

.mainvBtn,
.mainvTxtPc {
  display: block
}

@media only screen and (min-width: 499px) {
  .mainvTxtPc {
    position: absolute;
    bottom: 30px;
    left: 30px;
  }
  .mainvTxtPc p {
    font-size: 24px;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1.58;
    text-shadow: #000 1px 1px 7px;
    text-align: left;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: 500;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
  }
  .mainvBtn {
    position: absolute;
    -webkit-transform: matrix3d(0, 0, 0);
    transform: matrix3d(0, 0, 0);
    bottom: -20px;
    right: 18px;
    -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: 1366px) {
  .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: 192px
  }
}

@media only screen and (min-width: 499px) {
  #topics .inner {
    padding: 0;
    max-width: 1048px
  }
}

.topicsPC {
  position: relative
}

.topicsPC * {
  outline: none
}

.topicsPC *:focus {
  outline: none
}

.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: 10px;
    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: 10px;
  position: relative
}

@media only screen and (max-width: 500px) {
  .topicsPCListInfo {
    margin-bottom: 4.1666vw
  }
}

.topicsCat {
  color: #966982;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .topicsCat {
    font-size: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topicsCat {
    font-size: 25px
  }
}

@media only screen and (max-width: 500px) {
  .topicsCat {
    font-size: 6.9444vw
  }
}

.topicsDateWrap {
  position: absolute;
  z-index: 10;
  text-align: center;
  background: #3D3D48;
  border-radius: 50%;
  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 (min-width: 499px) {
  .topicsDateWrap {
    right: 10px;
    top: -35px;
    width: 70px;
    height: 70px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topicsDateWrap {
    right: 8px;
    top: -28px;
    width: 57px;
    height: 57px
  }
}

@media only screen and (max-width: 500px) {
  .topicsDateWrap {
    right: 0;
    top: -3.3333vw;
    width: 12.7777vw;
    height: 12.7777vw
  }
}

.topicsDateWrap.weekSat {
  background: #859FB1
}

.topicsDateWrap.weekSun {
  background: #DA9CAF
}

.topicsDate {
  -ms-flex: 0 1 auto;
  color: #fff;
  max-width: 100%;
  line-height: 1.3;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topicsDate {
    font-size: 19px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topicsDate {
    font-size: 16px
  }
}

@media only screen and (max-width: 500px) {
  .topicsDate {
    font-size: 3.6111vw
  }
}

.topicsDate span {
  display: block
}

@media only screen and (min-width: 499px) {
  .topicsDate span {
    font-size: 12px
  }
}

@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.3333vw
  }
}

@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;
  line-height: 1.8;
  margin-bottom: 10px
}

@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: 2vw;
  height: 1vw;
  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: 975px;
  }
  .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
}

@media only screen and (min-width: 499px) {
  #concept {
    padding: 54.166% 0 130px
  }
}

@media only screen and (max-width: 500px) {
  #concept {
    padding: 13.88888vw 0
  }
}

.conceptConntent {
  background: rgba(60, 80, 100, 0.95);
  margin: 0 auto
}

@media only screen and (min-width: 499px) {
  .conceptConntent {
    width: 840px;
    padding: 5px
  }
}

@media only screen and (max-width: 500px) {
  .conceptConntent {
    width: 88.8888vw;
    padding: 1vw
  }
}

.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: #DCC8B4;
  font-family: 'Italianno', 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
  }
}

.conceptTxt {
  line-height: 1.8
}

@media only screen and (min-width: 499px) {
  .conceptTxt {
    font-size: 17px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .conceptTxt {
    font-size: 14.5px
  }
}

@media only screen and (max-width: 500px) {
  .conceptTxt {
    font-size: 3.3333vw;
    text-align: left;
    padding: 0 0.9em;
    line-break: strict
  }
}

@media only screen and (min-width: 499px) {
  .conceptBg {
    background-image: url(assets/images/top/top_concept_bg_pc.jpg)
  }
}

@media only screen and (max-width: 500px) {
  .conceptBg {
    background-image: url(assets/images/top/top_concept_bg_sp.jpg)
  }
}

.tb .conceptBg {
  background-size: auto 100% !important
}

@media only screen and (max-width: 500px) {
  #floor {
    padding-top: 80.8333vw
  }
}

@media only screen and (min-width: 499px) {
  #floor .secLeadWrap {
    padding-top: 170px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(240, 240, 234, 0)), color-stop(40%, #F0F0EA), to(#F0F0EA));
    background: linear-gradient(rgba(240, 240, 234, 0), #F0F0EA 40%, #F0F0EA)
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #floor .secLeadWrap {
    padding-top: 140px
  }
}

@media only screen and (max-width: 500px) {
  #floor .secLeadWrap {
    padding-top: 16.6666vw;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(240, 240, 234, 0)), color-stop(40%, #F0F0EA), to(#F0F0EA));
    background: linear-gradient(rgba(240, 240, 234, 0), #F0F0EA 40%, #F0F0EA);
    margin-bottom: -1px
  }
}

#floor .secLead {
  margin-bottom: 0
}

@media only screen and (min-width: 499px) {
  #floor .secLead {
    font-size: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #floor .secLead {
    font-size: 24px
  }
}

@media only screen and (max-width: 500px) {
  #floor .secLead {
    font-size: 4.7222vw;
    letter-spacing: 0.05em
  }
}

@media only screen and (min-width: 499px) {
  .floorBg {
    background-image: url(assets/images/top/top_map_bg_pc.jpg);
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    padding-top: 1127px;
    margin-bottom: -290px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .floorBg {
    padding-top: 926px;
    margin-bottom: -236px
  }
}

@media only screen and (max-width: 500px) {
  .floorBg {
    background-image: url(assets/images/top/top_map_bg_sp.jpg);
    height: 110vh !important;
    background-position: center;
    position: absolute;
    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
  }
}

.floorContent {
  background-color: #f0f0ea;
  background-image: url(assets/images/top/top_map_grade_bg_pc.jpg);
  background-position: top center;
  background-size: 100% auto;
  background-repeat: repeat-x;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

@media only screen and (min-width: 499px) {
  .floorContentInner {
    padding: 110px 0 100px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .floorContentInner {
    padding: 90px 0 82px
  }
}

@media only screen and (max-width: 500px) {
  .floorContentInner {
    padding: 9.7222vw 0 14.4444vw
  }
}

.floorMap {
  margin: 0 auto;
  position: relative;
  z-index: 1;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat
}

@media only screen and (min-width: 499px) {
  .floorMap {
    width: 1140px;
    background-image: url(assets/images/top/floor_map_pc.png)
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .floorMap {
    width: 940px
  }
}

@media only screen and (max-width: 500px) {
  .floorMap {
    background-image: url(assets/images/top/floor_map_sp.png)
  }
}

@media only screen and (min-width: 499px) {
  .floorMapInner {
    padding-bottom: 49.2982%
  }
}

@media only screen and (max-width: 500px) {
  .floorMapInner {
    padding-bottom: 165.5556%
  }
}

.floorElm {
  position: absolute;
  text-align: center
}

@media only screen and (min-width: 499px) {
  .floorElm {
    width: 17.98%
  }
}

@media only screen and (max-width: 500px) {
  .floorElm {
    width: 32.92%
  }
}

@media only screen and (min-width: 499px) {
  .floorElm img {
    -webkit-box-shadow: 5px 5px 0 0 rgba(215, 201, 181, 0.5);
    box-shadow: 5px 5px 0 0 rgba(215, 201, 181, 0.5)
  }
}

@media only screen and (max-width: 500px) {
  .floorElm img {
    -webkit-box-shadow: 0.8333vw 0.8333vw 0 0 rgba(215, 201, 181, 0.5);
    box-shadow: 0.8333vw 0.8333vw 0 0 rgba(215, 201, 181, 0.5)
  }
}

.floorElm p, .floorElm figcaption {
  margin-top: 0.5em;
  font-family: 'Italianno', cursive;
  font-weight: 500;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .floorElm p, .floorElm figcaption {
    font-size: 22px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .floorElm p, .floorElm figcaption {
    font-size: 18px
  }
}

@media only screen and (max-width: 500px) {
  .floorElm p, .floorElm figcaption {
    font-size: 4.1667vw
  }
}

.floorElmTxt {
  display: inline-block;
  width: auto
}

.floorElmTxt p {
  display: inline-block
}

.floorTtl {
  position: absolute
}

@media only screen and (min-width: 499px) {
  .floorTtl1 {
    width: 20.18%;
    left: 28.42%;
    top: 8%
  }
}

@media only screen and (max-width: 500px) {
  .floorTtl1 {
    width: 36.81%;
    right: 10.69%;
    top: 3.5%
  }
}

@media only screen and (min-width: 499px) {
  .floorTtl2 {
    width: 26.05%;
    right: 22.98%;
    bottom: 0
  }
}

@media only screen and (max-width: 500px) {
  .floorTtl2 {
    width: 37.22%;
    left: 11.67%;
    bottom: 6%
  }
}

@media only screen and (min-width: 499px) {
  .floorBrides {
    left: 2.28%;
    top: 3.56%
  }
}

@media only screen and (max-width: 500px) {
  .floorBrides {
    left: 8.47%;
    top: 0
  }
}

@media only screen and (min-width: 499px) {
  .floorSalon {
    left: 0;
    top: 50.89%
  }
}

@media only screen and (max-width: 500px) {
  .floorSalon {
    left: 8.33%;
    top: 23.66%
  }
}

@media only screen and (min-width: 499px) {
  .floorWedding {
    left: 37.80%;
    top: 28.20%
  }
}

@media only screen and (max-width: 500px) {
  .floorWedding {
    right: 7.92%;
    top: 15.5%
  }
}

@media only screen and (min-width: 499px) {
  .floorChanging1 {
    left: 12.45%;
    top: 38.08%
  }
}

@media only screen and (max-width: 500px) {
  .floorChanging1 {
    left: 20.8%;
    top: 17.5%
  }
}

@media only screen and (min-width: 499px) {
  .floorChanging2 {
    left: 36.14%;
    top: 54.45%
  }
}

@media only screen and (max-width: 500px) {
  .floorChanging2 {
    right: 7%;
    top: 23.5%
  }
}

@media only screen and (min-width: 499px) {
  .floorEntrance {
    left: 28.33%;
    top: 67.97%
  }
}

@media only screen and (max-width: 500px) {
  .floorEntrance {
    left: 5%;
    top: 61.5%
  }
}

@media only screen and (min-width: 499px) {
  .floorChapel {
    right: 26.75%;
    top: 0
  }
}

@media only screen and (max-width: 500px) {
  .floorChapel {
    left: 20.1%;
    top: 42.2%
  }
}

@media only screen and (min-width: 499px) {
  .floorGuest {
    right: 0.96%;
    top: 8.72%
  }
}

@media only screen and (max-width: 500px) {
  .floorGuest {
    right: 9.72%;
    top: 40.02%
  }
}

@media only screen and (min-width: 499px) {
  .floorGarden {
    right: 3.60%;
    top: 61.57%
  }
}

@media only screen and (max-width: 500px) {
  .floorGarden {
    right: 8.33%;
    bottom: -1%
  }
}

.floorTxt {
  text-align: center;
  font-weight: 500;
  line-height: 2;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .floorTxt {
    font-size: 20px;
    margin-top: 93px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .floorTxt {
    font-size: 16px;
    margin-top: 76.725px
  }
}

@media only screen and (max-width: 500px) {
  .floorTxt {
    font-size: 3.6111vw;
    margin-top: 11.9444vw
  }
}

@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: 75%;
    background-attachment: scroll;
    width: 100%;
    height: 0 !important;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    position: static;
    display: block !important
  }
}

.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 (max-width: 500px) {
  .topSectionContent {
    top: -11.1111vw;
    margin-bottom: -11.1111vw
  }
}

@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: 40px auto 0;
    width: 980px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topSectionContentInner {
    margin: 35px auto 0;
    width: 808px
  }
}

@media only screen and (max-width: 500px) {
  .topSectionContentInner {
    margin: 8.3333vw auto 0
  }
}

.topSectionContentInnerBlock {
  position: relative;
  -ms-flex: 0 1 auto
}

@media only screen and (min-width: 499px) {
  .topSectionContentInnerBlock {
    width: 50%
  }
}

.topSectionContentInnerBlock img {
  position: relative;
  display: block
}

.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: 42.0408%
  }
}

.topSectionContentInnerBlockTxt {
  -ms-flex: 0 1 auto
}

.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) {
  #topCeremony {
    background-image: url(assets/images/top/top_ceremony_bg_pc.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center
  }
}

@media only screen and (min-width: 499px) {
  .topCeremonyImg2 {
    margin-bottom: 100px;
    width: 427px;
    height: auto;
    left: 0px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topCeremonyImg2 {
    margin-bottom: 50px;
    width: 352px;
    height: auto;
    left: 0px
  }
}

@media only screen and (max-width: 500px) {
  .topCeremonyImg2 {
    margin-bottom: 0.6944vw
  }
}

@media only screen and (min-width: 499px) {
  .topCeremonyImg3 {
    position: absolute !important;
    width: 220px;
    height: auto;
    bottom: 30px;
    right: -26px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topCeremonyImg3 {
    width: 180px;
    height: auto;
    bottom: 20px;
    right: -16px
  }
}

@media only screen and (min-width: 499px) {
  .topCeremonyImg4 {
    width: 244px;
    height: auto;
    left: 2px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topCeremonyImg4 {
    width: 199px;
    height: auto;
    left: 0
  }
}

@media only screen and (max-width: 500px) {
  .ceremonyBg {
    background-image: url(assets/images/top/top_ceremony_bg_sp.jpg)
  }
}

@media only screen and (min-width: 499px) {
  #topGarden {
    background-image: url(assets/images/top/top_garden_bg_pc.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center
  }
  #topGarden .topSectionContentInnerBlockTxtWrap {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
  #topGarden .topSectionContentInnerBlockImgWrap {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

@media only screen and (min-width: 499px) {
  .topGardenImg2 {
    margin-bottom: 104px;
    right: -70px;
    width: 410px;
    height: auto
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topGardenImg2 {
    margin-bottom: 97px;
    width: 352px;
    height: auto
  }
}

@media only screen and (max-width: 500px) {
  .topGardenImg2 {
    margin-bottom: 0.6944vw
  }
}

@media only screen and (min-width: 499px) {
  .topGardenImg3 {
    position: absolute !important;
    width: 220px;
    height: auto;
    bottom: 30px;
    left: -30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topGardenImg3 {
    width: 200px;
    height: auto;
    bottom: 27px;
    left: -24.75px
  }
}

@media only screen and (min-width: 499px) {
  .topGardenImg4 {
    width: 241px;
    height: auto;
    left: 230px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topGardenImg4 {
    width: 199px;
    height: auto;
    left: 210px
  }
}

@media only screen and (max-width: 500px) {
  .gardenBg {
    background-image: url(assets/images/top/top_garden_bg_sp.jpg)
  }
}

@media only screen and (min-width: 499px) {
  #topParty {
    background-image: url(assets/images/top/top_party_bg_pc.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center
  }
}

@media only screen and (min-width: 499px) {
  .topPartyImg2 {
    margin-bottom: 94px;
    width: 427px;
    height: auto;
    left: 50px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topPartyImg2 {
    margin-bottom: 77px;
    width: 352px;
    height: auto;
    left: 41px
  }
}

@media only screen and (max-width: 500px) {
  .topPartyImg2 {
    margin-bottom: 0.6944vw
  }
}

@media only screen and (min-width: 499px) {
  .topPartyImg3 {
    position: absolute !important;
    width: 280px;
    height: auto;
    bottom: 57px;
    right: -16px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topPartyImg3 {
    width: 231px;
    height: auto;
    bottom: 47px;
    right: -13px
  }
}

@media only screen and (min-width: 499px) {
  .topPartyImg4 {
    width: 241px;
    height: auto;
    left: 2px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topPartyImg4 {
    width: 199px;
    height: auto;
    left: 0
  }
}

@media only screen and (max-width: 500px) {
  .partyBg {
    background-image: url(assets/images/top/top_party_bg_sp.jpg)
  }
}

@media only screen and (min-width: 499px) {
  #topDelicious {
    background-image: url(assets/images/top/top_delicious_bg_pc.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center
  }
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
  #topDelicious .topSectionContentInner {
    margin-top: 65px
  }
}

@media only screen and (min-width: 499px) and (min-width: 500px) and (max-width: 1366px) {
  #topDelicious .topSectionContentInner {
    margin-top: 54px
  }
}

@media only screen and (min-width: 499px) {
  #topDelicious .topSectionContentInnerBlockTxtWrap {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
  }
  #topDelicious .topSectionContentInnerBlockImgWrap {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}

@media only screen and (min-width: 499px) and (min-width: 499px) {
  #topDelicious .topSectionContentInnerBlockImgWrap {
    margin-top: 15px
  }
}

@media only screen and (min-width: 499px) and (min-width: 500px) and (max-width: 1366px) {
  #topDelicious .topSectionContentInnerBlockImgWrap {
    margin-top: 12px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #topDelicious .topSectionContentInnerBlockTxtWrap {
    margin-right: 10px
  }
}

@media only screen and (min-width: 499px) {
  #topDelicious .topSectionContentInnerBlockTxt,
  #topDelicious .btn a {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  #topDelicious .blockTxt {
    width: 100%;
  }
  .topCuisineImg2 {
    width: 465px;
    height: auto
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topCuisineImg2 {
    width: 383px;
    height: auto
  }
}

@media only screen and (max-width: 500px) {
  .topCuisineImg2 {
    width: 75%;
    height: auto;
    margin: 0 auto;
    display: block
  }
  #topDelicious .btn a {
    margin-top: 25px;
  }
}

@media only screen and (max-width: 500px) {
  .deliciousBg {
    background-image: url(assets/images/top/top_delicious_bg_sp.jpg)
  }
}

#topHospitality {
  background: #F7F4EF
}

@media only screen and (min-width: 499px) {
  #topHospitality {
    padding-bottom: 100px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #topHospitality {
    padding-bottom: 82px
  }
}

@media only screen and (max-width: 500px) {
  #topHospitality .secLead {
    font-size: 4.5vw;
    letter-spacing: 0.02em
  }
}

@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;
    margin-bottom: 80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topHospitalityListWrap {
    margin-bottom: 66px
  }
}

@media only screen and (max-width: 500px) {
  .topHospitalityListWrap {
    margin-bottom: 13.8888vw
  }
}

@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: #fff
}

@media only screen and (min-width: 499px) {
  .topHospitalityListContent {
    padding: 30px 50px 50px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topHospitalityListContent {
    padding: 24.75px 41px 41px
  }
}

@media only screen and (max-width: 500px) {
  .topHospitalityListContent {
    padding: 7.7777vw 4.8611vw 8.3333vw
  }
}

@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: #966982;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .topHospitalityListContent h3 .en {
    font-size: 40px;
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topHospitalityListContent h3 .en {
    font-size: 33px;
    margin-bottom: 8px
  }
}

@media only screen and (max-width: 500px) {
  .topHospitalityListContent h3 .en {
    font-size: 10.4166vw;
    margin-bottom: 1.8055vw
  }
}

.topHospitalityListContent h3 .jp {
  font-weight: 500;
  letter-spacing: 0.12em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topHospitalityListContent h3 .jp {
    font-size: 16px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topHospitalityListContent h3 .jp {
    font-size: 13px
  }
}

@media only screen and (max-width: 500px) {
  .topHospitalityListContent h3 .jp {
    font-size: 3.3333vw
  }
}

.topHospitalityListContent p {
  line-height: 1.71;
  line-break: strict
}

@media only screen and (max-width: 500px) {
  .topHospitalityListContent p {
    font-size: 3vw
  }
}

#topProduse {
  text-align: center
}

#topProduse>p {
  line-break: strict;
  font-weight: 400;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  #topProduse>p {
    font-size: 16px;
    line-height: 2.06;
    letter-spacing: 0.12em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #topProduse>p {
    font-size: 13px
  }
}

@media only screen and (max-width: 500px) {
  #topProduse>p {
    font-size: 3.5vw;
    line-height: 1.69;
    text-align: left;
    padding: 0 1.2em;
    letter-spacing: -0.01em;
    text-align: justify
  }
}

@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 {
  position: relative
}

@media only screen and (min-width: 499px) {
  .topProduseLogo p {
    margin-bottom: 25px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topProduseLogo p {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 500px) {
  .topProduseLogo p {
    margin-bottom: 1.3888vw
  }
}

.topProduseLogo p:before {
  content: " ";
  display: block;
  width: 660px;
  height: 1px;
  background: #966982;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

@media only screen and (max-width: 500px) {
  .topProduseLogo p:before {
    width: 83.3333vw
  }
}

.topProduseLogo p span {
  position: relative;
  color: #966982;
  display: inline-block;
  z-index: 5;
  background: #F7F4EF;
  padding: 0 0.5em;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .topProduseLogo p span {
    font-size: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topProduseLogo p span {
    font-size: 25px
  }
}

@media only screen and (max-width: 500px) {
  .topProduseLogo p span {
    font-size: 4.0277vw
  }
}

@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: 40px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topHospitalityImg {
    margin-top: 33px
  }
}

@media only screen and (max-width: 500px) {
  .topHospitalityImg {
    margin-top: 8.3333vw
  }
}

@media only screen and (min-width: 499px) {
  #topBeauty {
    background-image: url(assets/images/top/top_beauty_bg_pc.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center
  }
}

#topBeauty .topSectionContentWrap {
  background: #fff;
  background: #F0F0EA
}

@media only screen and (min-width: 499px) {
  #topBeauty .topSectionContentWrap {
    padding-bottom: 30px
  }
}

@media only screen and (max-width: 500px) {
  #topBeauty .topSectionContentWrap {
    padding-bottom: 16vw
  }
}

#topBeauty .topSectionContent {
  padding: 0;
  max-width: 1240px;
  margin-right: auto;
  margin-left: auto;
  position: relative
}

@media only screen and (min-width: 499px) {
  #topBeauty .topSectionContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    top: -80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #topBeauty .topSectionContent {
    top: -60px;
    width: 1024px
  }
}

@media only screen and (max-width: 500px) {
  #topBeauty .topSectionContent {
    width: 94.4444vw;
    max-width: none;
    top: -5.555vw
  }
}

.topDressBox {
  position: relative
}

@media only screen and (min-width: 499px) {
  .topDressBox {
    width: 50%
  }
}

.topDressLeft {
  text-align: center;
  color: #fff;
  background: #966982
}

@media only screen and (min-width: 499px) {
  .topDressLeft {
    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;
    width: 43%
  }
}

@media only screen and (max-width: 500px) {
  .topDressLeft {
    padding: 8.3333vw 0 11.1111vw
  }
}

@media only screen and (min-width: 499px) {
  .topDressLeft .secTtl {
    margin-bottom: 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topDressLeft .secTtl {
    margin-bottom: 29px
  }
}

@media only screen and (min-width: 499px) {
  .topDressLeft l p {
    letter-spacing: 0.12em;
    font-size: 20px;
    line-height: 2
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topDressLeft l p {
    font-size: 16.5px
  }
}

@media only screen and (max-width: 500px) {
  .topDressLeft l p {
    letter-spacing: 0.1em;
    font-size: 3.7vw;
    line-height: 1.6666
  }
}

@media only screen and (max-width: 500px) {
  .topDressLeft .btn a {
    margin-top: 7.6388vw
  }
}

@media only screen and (max-width: 500px) {
  .topDressLeftInner {
    margin: 0 auto;
    width: 88.8888vw
  }
}

.topDressLeftInner p {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topDressLeftInner p {
    letter-spacing: 0.12em;
    font-size: 16px;
    line-height: 1.625
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topDressLeftInner p {
    font-size: 13px
  }
}

@media only screen and (max-width: 500px) {
  .topDressLeftInner p {
    letter-spacing: 0.1em;
    font-size: 3.7vw;
    line-height: 1.6666
  }
}

@media only screen and (min-width: 499px) {
  .dressLogo {
    width: 180px;
    height: auto;
    margin-bottom: 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .dressLogo {
    width: 148.5px;
    height: auto;
    margin-bottom: 29px
  }
}

@media only screen and (max-width: 500px) {
  .dressLogo {
    width: 39.6786vw;
    height: auto;
    margin-bottom: 8.3333vw
  }
}

.txtDress {
  position: absolute;
  z-index: 10
}

@media only screen and (min-width: 499px) {
  .txtDress {
    width: 376.6px;
    height: auto;
    right: 24px;
    bottom: -53px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .txtDress {
    width: 310.695px;
    height: auto;
    right: 19.8px;
    bottom: -43.725px
  }
}

@media only screen and (max-width: 500px) {
  .txtDress {
    width: 69.4444vw;
    height: auto;
    right: 4.1666vw;
    bottom: -10.4166vw
  }
}

@media only screen and (min-width: 499px) {
  .topDressRight {
    width: 57%
  }
}

@media only screen and (max-width: 500px) {
  .beautyBg {
    background-image: url(assets/images/top/top_beauty_bg_sp.jpg)
  }
}

#topFair {
  background: #F0F0EA
}

@media only screen and (max-width: 500px) {
  #topFair {
    padding-top: 4.3333vw
  }
}

@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
}

@media only screen and (min-width: 499px) {
  .topFairCalendar {
    padding: 8px;
    margin-bottom: 24px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendar {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendar {
    padding: 1.3888vw;
    margin-bottom: 6.9444vw
  }
}

.topFairCalendarInner {
  position: relative
}

@media only screen and (min-width: 499px) {
  .topFairCalendarInner {
    padding: 21px 32px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarInner {
    padding: 16px 26px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarInner {
    padding: 4.8611vw 4.4444vw 3.8888vw
  }
}

.topFairCalendarTable {
  width: 100%
}

.topFairCalendarTable caption {
  text-align: center;
  position: relative
}

@media only screen and (min-width: 499px) {
  .topFairCalendarTable caption {
    margin: 0 auto 10px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarTable caption {
    margin: 0 auto 8px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarTable caption {
    margin: 0 auto 4.3vw
  }
}

.topFairCalendarTable caption:before, .topFairCalendarTable 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) {
  .topFairCalendarTable caption:before, .topFairCalendarTable caption:after {
    width: 37px;
    height: 53px;
    top: 15px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarTable caption:before, .topFairCalendarTable caption:after {
    width: 30px;
    height: 44px;
    top: 12px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarTable caption:before, .topFairCalendarTable caption:after {
    width: 6.2083vw;
    height: 8.854vw;
    top: 2.7777vw
  }
}

.topFairCalendarTable caption:before {
  left: 50%;
  -webkit-transform: translateX(-220%);
  transform: translateX(-220%)
}

.topFairCalendarTable caption:after {
  right: 50%;
  -webkit-transform: translateX(220%) scale(-1, 1);
  transform: translateX(220%) scale(-1, 1)
}

.topFairCalendarTable caption span {
  display: block;
  color: #966982
}

.topFairCalendarTable caption .monthNum {
  margin: 0 auto
}

@media only screen and (min-width: 499px) {
  .topFairCalendarTable caption .monthNum {
    width: 65px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarTable caption .monthNum {
    width: 53px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarTable caption .monthNum {
    width: 11.1111vw
  }
}

.topFairCalendarTable caption .monthEn {
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .topFairCalendarTable caption .monthEn {
    font-size: 24px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarTable caption .monthEn {
    font-size: 20px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarTable caption .monthEn {
    font-size: 4vw
  }
}

.topFairCalendarTable th {
  text-align: center;
  width: 14.2857143%;
  font-weight: normal;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .topFairCalendarTable th {
    padding: 8px;
    font-size: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarTable th {
    font-size: 16px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarTable th {
    padding: 1vw;
    font-size: 2.7777vw
  }
}

.topFairCalendarTable th.week6 {
  color: #6E80BC
}

.topFairCalendarTable th.week7 {
  color: #DA6E94
}

.topFairCalendarTable td {
  text-align: center;
  width: 14.2857143%;
  font-family: petersburg-web, serif;
  font-weight: 400, 700;
  font-style: normal, italic
}

@media only screen and (min-width: 499px) {
  .topFairCalendarTable td {
    padding: 8px;
    font-size: 17px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairCalendarTable td {
    padding: 8px;
    font-size: 14px
  }
}

@media only screen and (max-width: 500px) {
  .topFairCalendarTable td {
    padding: 1.8055vw;
    font-size: 3.3333vw
  }
}

.topFairCalendarTable td.week6 {
  color: #6E80BC
}

.topFairCalendarTable td.week7 {
  color: #DA6E94
}

.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 (min-width: 500px) and (max-width: 1366px) {
  .topFairArxPrv, .topFairArxNxt {
    top: 60px
  }
}

@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 (min-width: 500px) and (max-width: 1366px) {
  .topFairBtnArea {
    margin-bottom: 20px
  }
}

@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: #3D3D48;
  color: #fff;
  font-weight: bold;
  width: 100%;
  text-align: center;
  -ms-flex: 0 1 auto;
  border-radius: 3px
}

@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 (min-width: 500px) and (max-width: 1366px) {
  .topFairBtn {
    padding: 15px
  }
}

@media only screen and (max-width: 500px) {
  .topFairBtn {
    padding: 2.7777vw 2vw;
    letter-spacing: 0.03em;
    font-size: 3vw
  }
}

.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: start;
  -ms-flex-align: start;
  align-items: flex-start
}

.topFairContactInfo dt {
  font-weight: bold;
  color: #966982;
  text-align: center;
  border: 1px solid #966982;
}

@media only screen and (min-width: 499px) {
  .topFairContactInfo dt {
    font-size: 13px;
    line-height: 1.76923077;
    padding: 12px 10px;
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairContactInfo dt {
    font-size: 11px;
    padding: 12px 10px;
  }
}

@media only screen and (max-width: 500px) {
  .topFairContactInfo dt {
    line-height: 1.55;
    width: 33%;
    font-size: 3vw;
    padding: 21px 1vw;
  }
}

@media only screen and (max-width: 500px) {
  .topFairContactInfo dd {
    width: 64%;
  }
}

@media only screen and (min-width: 499px) {
  #topFair .topFairContactInfoBtn {
    margin-top: 60px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #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.1em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topFairTel a {
    cursor: default;
    font-size: 18px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairTel a {
    font-size: 15px
  }
}

@media only screen and (max-width: 500px) {
  .topFairTel a {
    font-size: 3.4722vw
  }
}

@media only screen and (min-width: 499px) {
  .topFairTel a span {
    font-size: 26px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairTel a span {
    font-size: 21px
  }
}

@media only screen and (max-width: 500px) {
  .topFairTel a span {
    font-size: 5vw
  }
}

@media only screen and (min-width: 499px) {
  .topFairOpen {
    font-size: 12px;
    line-height: 1.5;
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairOpen {
    font-size: 11px
  }
}

@media only screen and (max-width: 500px) {
  .topFairOpen {
    line-height: 1.5;
    font-size: 3.1vw
  }
}

.topFairInfo.overFlowY {
  overflow-y: auto
}

@media only screen and (min-width: 499px) {
  .topFairInfoList {
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoList {
    margin-bottom: 8px
  }
}

@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: 90.7103%
  }
}

@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: 18px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoContent {
    padding: 16px
  }
}

@media only screen and (max-width: 500px) {
  .topFairInfoContent {
    width: 71.875%;
    padding: 3.8888vw 2.0vw
  }
}

.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 (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoContentTop {
    margin-bottom: 8px
  }
}

@media only screen and (max-width: 500px) {
  .topFairInfoContentTop {
    margin-bottom: 3vw
  }
}

.topFairInfoDate {
  letter-spacing: 0.08em;
  color: #966982;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topFairInfoDate {
    font-size: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoDate {
    font-size: 16px
  }
}

@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 (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoDate span {
    font-size: 12px
  }
}

@media only screen and (max-width: 500px) {
  .topFairInfoDate span {
    font-size: 2.9166vw
  }
}

.topFairInfoBtn {
  color: #966982
}

@media only screen and (min-width: 499px) {
  .topFairInfoBtn {
    font-size: 16px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoBtn {
    font-size: 13px
  }
}

@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 (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoBtn:after {
    width: 14px;
    height: 14px
  }
}

@media only screen and (max-width: 500px) {
  .topFairInfoBtn:after {
    width: 3.2vw;
    height: 3.2vw
  }
}

@media only screen and (min-width: 499px) {
  .topFairInfoContentTtl {
    font-size: 13px;
    line-height: 1.84615385
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoContentTtl {
    font-size: 12px
  }
}

@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: 13px;
    line-height: 1.84615385;
    margin-top: 5px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairInfoContentComment {
    font-size: 12px;
    margin-top: 3px
  }
}

.topFairEvent {
  position: relative;
  -webkit-box-shadow: 3px 3px 0 0 rgba(60, 80, 100, 0.2);
  box-shadow: 3px 3px 0 0 rgba(60, 80, 100, 0.2);
  background-image: url(assets/images/common/bg_blue_noise.jpg);
  background-size: 200px 200px
}

@media only screen and (min-width: 499px) {
  .topFairEvent {
    padding: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEvent {
    padding: 13px;
    margin-top: 66px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEvent {
    padding: 6.9444vw;
    margin-top: 8.3333vw;
    background-image: url(assets/images/common/bg_blue_noise_sp.jpg);
    background-size: 100px 100px
  }
}

.topFairEvent:before, .topFairEvent:after {
  content: "　";
  position: absolute;
  z-index: 10;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

@media only screen and (min-width: 499px) {
  .topFairEvent:before, .topFairEvent:after {
    width: 77px;
    height: 77px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEvent:before, .topFairEvent:after {
    width: 66px;
    height: 66px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEvent:before, .topFairEvent:after {
    width: 10.6944vw;
    height: 10.6944vw
  }
}

.topFairEvent:before {
  background-image: url(assets/images/common/corner_left.svg)
}

@media only screen and (min-width: 499px) {
  .topFairEvent:before {
    bottom: -15px;
    left: -15px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEvent:before {
    bottom: -12px;
    left: -12px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEvent:before {
    bottom: -2.0833vw;
    left: -2.0833vw
  }
}

.topFairEvent:after {
  background-image: url(assets/images/common/corner_right.svg)
}

@media only screen and (min-width: 499px) {
  .topFairEvent:after {
    top: -15px;
    right: -15px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEvent:after {
    top: -12px;
    right: -12px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEvent:after {
    top: -2.0833vw;
    right: -2.0833vw
  }
}

@media only screen and (min-width: 499px) {
  .topFairEventImg {
    width: 43%
  }
}

.topFairEventContent {
  text-align: center
}

@media only screen and (min-width: 499px) {
  .topFairEventContent {
    width: 57%;
    padding: 25px 35px 25px 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEventContent {
    padding: 21px 29px 21px 29px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEventContent {
    padding: 4.1666vw 0 0;
    text-align: left
  }
}

@media only screen and (min-width: 499px) {
  .topFairEventContent h3 {
    width: 433px;
    margin: 0 auto 20px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEventContent h3 {
    width: 72.2222vw;
    margin: 0 auto 4.1666vw
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEventContent .secLead {
    font-size: 18px;
    margin-bottom: 15px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEventContent .secLead {
    line-height: 1.6666;
    font-size: 3.6vw
  }
}

.topFairEventContent .topFairEventComment {
  line-break: strict
}

@media only screen and (min-width: 499px) {
  .topFairEventContent .topFairEventComment {
    font-size: 14px;
    line-height: 1.75
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairEventContent .topFairEventComment {
    font-size: 13px
  }
}

@media only screen and (max-width: 500px) {
  .topFairEventContent .topFairEventComment {
    font-size: 3.2vw;
    line-height: 1.6666;
    letter-spacing: -0.03em
  }
}

@media only screen and (min-width: 499px) {
  .topFairSp {
    margin-top: 50px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairSp {
    margin-top: 41px
  }
}

@media only screen and (max-width: 500px) {
  .topFairSp {
    margin-top: 8.3333vw
  }
}

.topFairSpLead {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topFairSpLead {
    letter-spacing: 0.12em;
    font-size: 15px;
    margin-bottom: 12px;
    line-height: 1.2
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairSpLead {
    font-size: 12px;
    margin-bottom: 10px
  }
}

@media only screen and (max-width: 500px) {
  .topFairSpLead {
    font-size: 3.3333vw;
    margin-bottom: 5vw;
    line-height: 1.5
  }
}

.topFairSpLead .red {
  display: inline-block
}

@media only screen and (min-width: 499px) {
  .topFairSpLead .red {
    font-size: 146.6666%;
    margin: 0 0.1em
  }
}

@media only screen and (max-width: 500px) {
  .topFairSpLead .red {
    font-size: 4.7222vw;
    margin-top: 2vw;
    margin-bottom: 2vw
  }
  .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: 136.3636%
  }
}

@media only screen and (max-width: 500px) {
  .topFairSpLead .red span {
    font-size: 138.8888%
  }
}

@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
  }
}

.topFairSpComment {
  margin-bottom: 0.5em
}

@media only screen and (min-width: 499px) {
  .topFairSpComment {
    font-size: 13px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFairSpComment {
    font-size: 12px
  }
}

@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%;
    text-align: left
  }
}

.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 (min-width: 500px) and (max-width: 1366px) {
  .topFairSpTable th, .topFairSpTable td {
    font-size: 12px
  }
}

@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: 28%
  }
}

@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: 0.5em;
  border-right: 1px solid #966982;
  color: #966982;
  letter-spacing: 0.08em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .topInfoDate {
    font-size: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topInfoDate {
    font-size: 16px
  }
}

@media only screen and (max-width: 500px) {
  .topInfoDate {
    font-size: 3.1944vw
  }
}

@media only screen and (min-width: 499px) {
  .topInfoDate span {
    font-size: 14px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topInfoDate span {
    font-size: 12px
  }
}

@media only screen and (max-width: 500px) {
  .topInfoDate span {
    font-size: 2.7777vw
  }
}

.topInfoCat {
  padding-left: 1.4em;
  letter-spacing: 0.08em;
  color: #966982;
  -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
  }
}

@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;
  color: #966982
}

@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;
  }
}

.topImage2 {
  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) {
  .topImage2 {
    background-image: url(assets/images/top/top_img2_pc.jpg);
    background-attachment: fixed;
    padding-bottom: 43.055%
  }
}

@media only screen and (max-width: 500px) {
  .topImage2 {
    background-image: url(assets/images/top/top_img2_sp.jpg);
    padding-bottom: 41.666%
  }
}

.tb .topImage2 {
  background-attachment: scroll
}

.facilityContent {
  background: #FCFCFB
}

.facilityContent dl {
  background: #FCFCFB
}

.facilityContent dl:first-child {
  border-bottom: none !important
}

@media only screen and (min-width: 499px) {
  .facilityContent {
    margin-bottom: 60px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityContent {
    margin-bottom: 50px
  }
}

@media only screen and (max-width: 500px) {
  .facilityContent {
    margin-bottom: 8.3333vw;
    padding-left: 7vw;
    padding-right: 7vw
  }
  .facilityContent dl:last-child {
    padding: 0
  }
}

@media only screen and (min-width: 499px) {
  .facilityContent.facilityContentBanquet dd {
    padding-top: 17px;
    padding-bottom: 17px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityContent.facilityContentBanquet dd {
    padding-top: 14px;
    padding-bottom: 14px
  }
}

.facilityTable {
  width: 100%
}

.facilityTable th {
  font-weight: normal;
  color: #966982
}

@media only screen and (min-width: 499px) {
  .facilityTable th {
    width: 46%;
    letter-spacing: 0.16em
  }
}

@media only screen and (max-width: 500px) {
  .facilityTable th {
    width: 40%
  }
}

.facilityTable th span {
  display: inline-block;
  font-size: 87%;
  margin-right: 0.2em
}

.facilityTable td {
  text-align: left
}

@media only screen and (min-width: 499px) {
  .facilityTable td {
    width: 54%
  }
}

@media only screen and (max-width: 500px) {
  .facilityTable td {
    width: 60%
  }
}

@media only screen and (min-width: 499px) {
  .facilityTable th, .facilityTable td {
    padding: 0 0 10px;
    font-size: 13px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityTable th, .facilityTable td {
    padding: 0 0 8px;
    font-size: 11px
  }
}

@media only screen and (max-width: 500px) {
  .facilityTable th, .facilityTable td {
    padding: 0 0 2.0833vw;
    font-size: 2.7777vw
  }
}

.facilityTable tr:last-child th, .facilityTable tr:last-child td {
  padding: 0
}

.facilityPoint {
  color: #966982;
  letter-spacing: 0.08em;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .facilityPoint {
    font-size: 20px;
    margin-bottom: 10px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityPoint {
    font-size: 16px;
    margin-bottom: 8px
  }
}

@media only screen and (max-width: 500px) {
  .facilityPoint {
    font-size: 4.2857vw;
    margin-bottom: 3.75vw
  }
}

@media only screen and (min-width: 499px) {
  .facilityList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (max-width: 500px) {
  .facilityList {
    text-align: center
  }
}

@media only screen and (min-width: 499px) {
  .facilityList li {
    line-height: 1.69;
    margin-right: 5%;
    font-size: 13px;
    width: 40%
  }
  .facilityList li:nth-child(2n) {
    margin-right: 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityList li {
    font-size: 11px;
    width: 45%
  }
}

@media only screen and (max-width: 500px) {
  .facilityList li {
    font-size: 2.7777vw;
    display: inline-block;
    line-height: 1.8
  }
}

.facilityList.facilityListBanquet li {
  display: inline-block
}

@media only screen and (min-width: 499px) {
  .facilityList.facilityListBanquet li {
    margin-right: 5%;
    width: auto
  }
  .facilityList.facilityListBanquet li:nth-child(2n) {
    margin-right: 5%
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityList.facilityListBanquet li {
    width: auto
  }
}

.underSecMinvBg {
  width: 100%;
  height: 0;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center
}

@media only screen and (min-width: 499px) {
  .underSecMinvBg {
    padding-bottom: 45.8333%;
    background-attachment: fixed
  }
}

@media only screen and (max-width: 500px) {
  .underSecMinvBg {
    padding-bottom: 72.5%
  }
}

.tb .underSecMinvBg {
  background-attachment: scroll
}

#privateGarden {
  background: #fff
}

@media only screen and (min-width: 499px) {
  #privateGarden {
    padding: 130px 0 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #privateGarden {
    padding: 107px 0 0
  }
}

@media only screen and (max-width: 500px) {
  #privateGarden {
    padding: 24.7222vw 0 0
  }
}

.privateGardenInner {
  position: relative
}

@media only screen and (min-width: 499px) {
  .privateGardenInner {
    background: #F7F4EF
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenInner {
    background: #F7F4EF
  }
}

.privateGardenInnersec1 {
  margin: 0 auto;
  position: relative
}

@media only screen and (min-width: 499px) {
  .privateGardenInnersec1 {
    width: 100%;
    max-width: 1240px;
    min-width: 1024px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenInnersec1 {
    width: 1024px
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenInnersec1 {
    width: 88.8888vw
  }
}

.privateGardenMainv {
  position: relative
}

@media only screen and (min-width: 499px) {
  .privateGardenMainv {
    width: 850px;
    margin-top: -50px;
    margin-right: -100px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenMainv {
    width: 701px;
    margin-top: -41px;
    margin-right: -82px
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenMainv {
    width: 94.4444vw;
    top: -11.1111vw;
    margin-left: -5.5555vw;
    margin-bottom: 7vw
  }
}

.pg_illust1 {
  position: absolute;
  z-index: 2
}

@media only screen and (min-width: 499px) {
  .pg_illust1 {
    width: 279px;
    height: auto;
    right: 100px;
    bottom: -174px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .pg_illust1 {
    width: 230px;
    height: auto;
    right: 82px;
    bottom: -143px
  }
}

@media only screen and (max-width: 500px) {
  .pg_illust1 {
    width: 42.5vw;
    height: auto;
    right: -2.6388vw;
    bottom: -14.8611vw
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenContent {
    position: absolute;
    width: 460px;
    top: 106px;
    left: -20px;
    text-align: left
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenContent {
    width: 380px;
    top: 87px;
    left: 23px
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenContent .secTtl {
    text-align: left
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenContent .secLead {
    text-align: left;
    margin-bottom: 35px;
    letter-spacing: 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenContent .secLead {
    margin-bottom: 29px
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenContent .secLead {
    letter-spacing: -0.02em;
    font-size: 4.3vw
  }
  .privateGardenContent .secLead .small {
    letter-spacing: -0.04em
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenContent .secComment {
    text-align: left;
    padding-right: 75px;
    margin-bottom: 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenContent .secComment {
    padding-right: 62px
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenContent .secComment {
    text-align: justify;
    line-break: strict;
    letter-spacing: 0.07em
  }
}

.privateGardenInnersec2 {
  position: relative
}

@media only screen and (min-width: 499px) {
  .privateGardenInnersec2 {
    margin-top: 60px;
    padding-bottom: 180px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenInnersec2 {
    margin-top: 50px;
    padding-bottom: 148px
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenInnersec2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-bottom: 12.3611vw
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenImg2 {
    position: relative;
    width: 460px;
    height: auto
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenImg2 {
    width: 379px;
    height: auto
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenImg2 {
    width: 50%;
    height: auto
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenInnersec2Inner {
    position: absolute;
    top: 103px;
    left: 520px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenInnersec2Inner {
    top: 85px;
    left: 429px
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenInnersec2Inner {
    width: 50%;
    padding-left: 0.2777vw
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenImg3 {
    width: 328px;
    height: auto
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenImg3 {
    width: 270px;
    height: auto
  }
}

@media only screen and (max-width: 500px) {
  .privateGardenImg3 {
    margin-top: 12.5vw;
    margin-bottom: 0.2777vw
  }
}

@media only screen and (min-width: 499px) {
  .privateGardenImg4 {
    width: 490px;
    height: auto;
    margin-top: 65px;
    margin-left: 73px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .privateGardenImg4 {
    width: 404px;
    height: auto;
    margin-top: 53px;
    margin-left: 60px
  }
}

.pg_illust2 {
  position: absolute;
  z-index: 2
}

@media only screen and (min-width: 499px) {
  .pg_illust2 {
    width: 237px;
    height: auto;
    left: 120px;
    top: 580px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .pg_illust2 {
    width: 195px;
    height: auto;
    left: 102px;
    top: 478px
  }
}

@media only screen and (max-width: 500px) {
  .pg_illust2 {
    width: 37.5vw;
    height: auto;
    left: 1.8055vw;
    top: 51.25vw
  }
}

.pgRenewalWrap {
  background-size: cover;
  background-position: center
}

@media only screen and (min-width: 499px) {
  .pgRenewalWrap {
    background-image: url(assets/images/wedding_stage/private_garden_bg_pc.jpg);
    padding-bottom: 498px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .pgRenewalWrap {
    padding-bottom: 411px
  }
}

@media only screen and (max-width: 500px) {
  .pgRenewalWrap {
    background-image: url(assets/images/wedding_stage/private_garden_bg_sp.jpg);
    padding-bottom: 45.5555vw
  }
}

@media only screen and (min-width: 499px) {
  .pgRenewal {
    padding: 27px 27px 27px 57px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .pgRenewal {
    padding: 22px 22px 22px 47px
  }
}

.pgRenewal .frameDecoTtl {
  font-weight: normal;
  font-family: 'Italianno', cursive;
  font-weight: 500;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .pgRenewal .frameDecoTtl {
    font-size: 40px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .pgRenewal .frameDecoTtl {
    font-size: 33px
  }
}

@media only screen and (max-width: 500px) {
  .pgRenewal .frameDecoTtl {
    font-size: 8.3333vw
  }
}

@media only screen and (min-width: 499px) {
  .pgRenewal .frameDecoTtl:after {
    margin-top: 5px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .pgRenewal .frameDecoTtl:after {
    margin-top: 4px
  }
}

@media only screen and (max-width: 500px) {
  .pgRenewal .frameDecoTtl:after {
    margin-top: 2.7777vw
  }
}

@media only screen and (max-width: 500px) {
  .pgRenewal .frameDecoTxt {
    padding: 0 0.3em
  }
}

@media only screen and (max-width: 500px) {
  #banquetArea .secLead {
    letter-spacing: -0.06em;
    font-size: 4.35vw
  }
}

@media only screen and (max-width: 500px) {
  #banquetArea .underSectionInnerFirst {
    margin-top: 0;
    margin-bottom: -5.5555vw;
    position: relative;
    top: -5.5555vw
  }
}

#facility {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top
}

@media only screen and (min-width: 499px) {
  #facility {
    background-image: url(assets/images/wedding_stage/facility_bg_pc.jpg);
    padding-bottom: 154px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #facility {
    padding-bottom: 127px
  }
}

@media only screen and (max-width: 500px) {
  #facility {
    background-image: url(assets/images/wedding_stage/facility_bg_sp.jpg);
    padding-bottom: 10.8333vw
  }
}

#facility .secComment {
  margin-bottom: 0
}

@media only screen and (min-width: 499px) {
  .facilityTop {
    padding-top: 125px;
    padding-bottom: 135px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilityTop {
    padding-top: 103px;
    padding-bottom: 111px
  }
}

@media only screen and (max-width: 500px) {
  .facilityTop {
    padding-top: 13.8888vw;
    padding-bottom: 10.4166vw
  }
}

.facilitySliderWrap {
  position: relative
}

@media only screen and (max-width: 500px) {
  .facilitySliderWrap {
    width: 83vw;
    margin: 0 auto
  }
}

.facilitySliderImg {
  position: relative
}

@media only screen and (min-width: 499px) {
  .facilitySliderImg {
    width: 1210px;
    left: -230px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilitySliderImg {
    width: 998px;
    left: -190px;
    padding-bottom: 30px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderImg {
    vertical-align: bottom;
    margin-bottom: -2px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderImgItem {
    color: #fff;
    position: relative;
    padding-top: 2vw
  }
}

@media only screen and (min-width: 499px) {
  .facilitySliderTxtWrap {
    position: absolute;
    width: 640px;
    top: 386px;
    right: -230px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilitySliderTxtWrap {
    width: 528px;
    top: 318px;
    right: -100px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderTxtWrap {
    position: relative
  }
}

.facilitySliderTxt {
  position: relative
}

@media only screen and (max-width: 500px) {
  .facilitySliderTxt * {
    overflow: auto !important
  }
}

.facilitySliderTxtItem {
  position: relative;
  background: rgba(150, 105, 130, 0.95);
  text-align: left;
  color: #fff
}

@media only screen and (min-width: 499px) {
  .facilitySliderTxtItem {
    padding: 90px 156px 60px;
    margin-top: 14px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilitySliderTxtItem {
    padding: 74px 120px 49px;
    margin-top: 11px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderTxtItem {
    padding: 6.9444vw 9vw
  }
}

.facilitySliderRibbon {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center;
  position: absolute;
  z-index: 300
}

@media only screen and (min-width: 499px) {
  .facilitySliderRibbon {
    top: -14px;
    right: 40px;
    width: 98px;
    height: 98px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilitySliderRibbon {
    top: -11px;
    right: 33px;
    width: 81px;
    height: 81px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderRibbon {
    top: 0;
    left: 1.5vw;
    width: 18vw;
    height: 18vw
  }
}

.facilitySliderRibbon.facilitySliderRibbon1 {
  background-image: url(assets/images/wedding_stage/icn_facility1.svg)
}

.facilitySliderRibbon.facilitySliderRibbon2 {
  background-image: url(assets/images/wedding_stage/icn_facility2.svg)
}

.facilitySliderRibbon.facilitySliderRibbon3 {
  background-image: url(assets/images/wedding_stage/icn_facility3.svg)
}

.facilitySliderRibbon.facilitySliderRibbon4 {
  background-image: url(assets/images/wedding_stage/icn_facility4.svg)
}

.facilitySliderTtl {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .facilitySliderTtl {
    font-size: 17px;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilitySliderTtl {
    font-size: 14px;
    margin-bottom: 16px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderTtl {
    font-size: 3.0555vw;
    margin-bottom: 1.3888vw
  }
}

.facilitySliderLead {
  text-align: left;
  line-height: 1.833
}

@media only screen and (min-width: 499px) {
  .facilitySliderLead {
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .facilitySliderLead {
    margin-bottom: 16px
  }
}

@media only screen and (max-width: 500px) {
  .facilitySliderLead {
    margin-bottom: 1.3888vw
  }
}

.facilitySliderComment {
  text-align: left;
  letter-spacing: 0
}

@media only screen and (min-width: 499px) {
  .facilitySliderComment.small {
    letter-spacing: -0.03em
  }
}

.arwPrvW, .arwNxtW {
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 20
}

@media only screen and (min-width: 499px) {
  .arwPrvW, .arwNxtW {
    -webkit-transition: opacity 0.2s ease 0s;
    transition: opacity 0.2s ease 0s;
    cursor: pointer
  }
  .arwPrvW:hover, .arwNxtW:hover {
    opacity: 0.7
  }
}

@media only screen and (min-width: 499px) {
  .arwPrvW, .arwNxtW {
    background-position: center;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 38px;
    height: 40px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .arwPrvW, .arwNxtW {
    width: 35px;
    height: 35px
  }
}

@media only screen and (max-width: 500px) {
  .arwPrvW, .arwNxtW {
    width: 10.8333vw;
    height: 9.7222vw;
    bottom: 100%;
    background: #966982;
    text-align: center;
    color: #fff;
    padding-top: 1vw
  }
  .arwPrvW:before, .arwNxtW:before {
    content: " ";
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    width: 6.25vw;
    height: 1.8958vw
  }
  .arwPrvW:after, .arwNxtW:after {
    font-family: petersburg-web, serif;
    font-weight: 400, 700;
    font-style: normal, italic;
    display: inline-block;
    font-size: 2.2222vw
  }
}

@media only screen and (min-width: 499px) {
  .arwPrvW {
    background-image: url(assets/images/common/arw_prv_w.svg);
    left: 80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .arwPrvW {
    left: 66px
  }
}

@media only screen and (max-width: 500px) {
  .arwPrvW {
    right: 10.8333vw
  }
  .arwPrvW:before {
    background-image: url(assets/images/common/arw_prv_w.svg)
  }
  .arwPrvW:after {
    content: "BACK"
  }
}

@media only screen and (min-width: 499px) {
  .arwNxtW {
    background-image: url(assets/images/common/arw_nxt_w.svg);
    right: 80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .arwNxtW {
    right: 66px
  }
}

@media only screen and (max-width: 500px) {
  .arwNxtW {
    right: 0
  }
  .arwNxtW:before {
    background-image: url(assets/images/common/arw_nxt_w.svg)
  }
  .arwNxtW:after {
    content: "NEXT"
  }
}

@media only screen and (min-width: 499px) {
  #cuisine .underSectionInnerFirst .secTtl {
    margin-bottom: 45px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #cuisine .underSectionInnerFirst .secTtl {
    margin-bottom: 37px
  }
}

@media only screen and (max-width: 500px) {
  #cuisine .underSectionInnerFirst .secTtl {
    margin-bottom: 7.5vw
  }
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureArea .underSectionContent {
    padding-top: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureArea .underSectionContent {
    padding-top: 25px
  }
  .cuisineFeatureArea .underSectionContent .inner {
    width: 808px;
    padding-left: 0;
    padding-right: 0
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureArea .underSectionContent {
    padding-top: 1.5vw
  }
  .cuisineFeatureArea .underSectionContent .inner {
    width: 100%
  }
}

.cuisineFeature {
  position: relative
}

@media only screen and (min-width: 499px) {
  .cuisineFeature {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 63px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeature {
    margin-bottom: 52px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeature {
    margin-bottom: 10.8333vw
  }
  .cuisineFeature:nth-child(1) .cuisineFeatureHead {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-left: 1em
  }
  .cuisineFeature:nth-child(1) .secLead {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
  .cuisineFeature:nth-child(1) .cuisineFeatureImg {
    left: -8vw
  }
  .cuisineFeature:nth-child(2) .cuisineFeatureHead {
    margin-right: -0.5em
  }
  .cuisineFeature:nth-child(2) .secLead {
    text-align: right
  }
  .cuisineFeature:nth-child(2) .cuisineFeatureImg {
    right: -3.8966vw
  }
  .cuisineFeature:nth-child(3) {
    margin-bottom: 16.9444vw
  }
  .cuisineFeature:nth-child(3) .cuisineFeatureHead {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    margin-left: -0.5em;
    margin-right: -0.5em
  }
  .cuisineFeature:nth-child(3) .secLead {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
  .cuisineFeature:nth-child(3) .cuisineFeatureImg {
    left: -8vw
  }
}

.cuisineFeature:last-child {
  margin-bottom: 0
}

@media only screen and (min-width: 499px) {
  .cuisineFeature:nth-child(2n) .cuisineFeatureTxtWap {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
  .cuisineFeature:nth-child(2n) .cuisineFeatureImg {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    margin-top: 0
  }
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureTxtWap {
    width: 330px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureTxtWap {
    width: 322px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureTxtWap {
    margin: 0 auto;
    width: 76.3888vw
  }
}

.cuisineFeatureTxtWap .secLead {
  text-align: left
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureTxtWap .secLead {
    font-size: 22px;
    letter-spacing: 0.05em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureTxtWap .secLead {
    font-size: 18px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureTxtWap .secLead {
    -ms-flex: 0 1 auto;
    font-size: 3.6111vw;
    line-height: 1.923
  }
}

.cuisineFeatureTxtWap .secComment {
  text-align: left
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureTxtWap .secComment {
    line-height: 1.8181;
    font-size: 3.0555vw;
    letter-spacing: -0.05em
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureHeadWrap {
    margin-bottom: 3.8vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
  .cuisineFeatureHeadWrap .secLead {
    margin-bottom: 0;
    font-size: 3.8888vw;
    line-height: 1.571;
    letter-spacing: 0
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureHead {
    -ms-flex: 0 1 auto
  }
}

.cuisineFeatureHead span {
  display: inline-block;
  color: #966982;
  background-image: url(assets/images/common/ttl_bg.svg);
  background-position: bottom;
  background-repeat: no-repeat;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureHead span {
    font-size: 40px;
    margin-bottom: 30px;
    padding: 0 1em 5px;
    margin-left: -1em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureHead span {
    font-size: 33px;
    padding-bottom: 4px;
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureHead span {
    font-size: 6.1111vw;
    padding: 0 0.5em 1.5277vw
  }
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureHead.cuisineFeatureHead1 span {
    background-size: 114px 29.7px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureHead.cuisineFeatureHead1 span {
    background-size: 94px 24.5px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureHead.cuisineFeatureHead1 span {
    background-size: 17.3561vw 4.301vw;
    -webkit-transform: translateX(5%);
    transform: translateX(5%)
  }
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureHead.cuisineFeatureHead2 span {
    background-size: 135px 29.7px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureHead.cuisineFeatureHead2 span {
    background-size: 111px 24.5px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureHead.cuisineFeatureHead2 span {
    background-size: 20.6033vw 4.301vw;
    -webkit-transform: translateX(-5%);
    transform: translateX(-5%)
  }
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureHead.cuisineFeatureHead3 span {
    background-size: 142px 29.7px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureHead.cuisineFeatureHead3 span {
    background-size: 117px 24.5px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureHead.cuisineFeatureHead3 span {
    background-size: 21.8273vw 4.301vw;
    -webkit-transform: translateX(5%);
    transform: translateX(5%)
  }
}

.cuisineFeatureImg {
  position: relative
}

.cuisineFeatureImg img {
  position: relative;
  z-index: 20
}

@media only screen and (min-width: 499px) {
  .cuisineFeatureImg {
    width: 542px
  }
  .cuisineFeatureImg:after {
    content: " ";
    position: absolute;
    display: block;
    width: 100%;
    height: 0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    padding-bottom: 56.273%;
    z-index: 10;
    top: 8px;
    left: 8px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineFeatureImg {
    width: 447px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineFeatureImg {
    width: 88.1944vw;
    margin-top: 5.5555vw
  }
}

@media only screen and (min-width: 499px) {
  .cuisineKodawari .frameDecoComment {
    width: 340px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineKodawari .frameDecoComment {
    width: 280px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineKodawari .frameDecoComment {
    letter-spacing: 0
  }
}

@media only screen and (min-width: 499px) {
  .cuisineKodawari {
    margin-bottom: 25px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineKodawari {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineKodawari {
    width: 100%;
    margin: 0 0 4.1666vw;
    padding-bottom: 10.4166vw
  }
  .cuisineKodawari .frameDecoImg {
    margin-bottom: 6.25vw
  }
  .cuisineKodawari .frameDecoTxt {
    margin-bottom: 0;
    padding: 0 0.5em
  }
}

.cuisineKodawariIllust {
  position: absolute
}

@media only screen and (min-width: 499px) {
  .cuisineKodawariIllust {
    width: 177px;
    height: auto;
    right: -52px;
    bottom: -100px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .cuisineKodawariIllust {
    width: 146px;
    height: auto;
    right: -43px;
    bottom: -82px
  }
}

@media only screen and (max-width: 500px) {
  .cuisineKodawariIllust {
    width: 27.2222vw;
    height: auto;
    right: -6vw;
    bottom: -23vw
  }
}

#sweets {
  width: 100%;
  margin: 0 auto;
  background: #fff
}

@media only screen and (min-width: 499px) {
  #sweets {
    min-width: 1024px
  }
}

@media only screen and (min-width: 499px) {
  .sweetsFlex {
    margin-top: 1px;
    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) {
  .sweetsFlexImg {
    width: 20.69%
  }
}

@media only screen and (min-width: 499px) {
  .sweetsFlexContent {
    width: 58.33%
  }
}

@media only screen and (max-width: 500px) {
  .sweetsFlexContent .secLead {
    letter-spacing: -0.05em
  }
}

.sweetsFlexContent .secComment {
  margin-bottom: 0
}

@media only screen and (max-width: 500px) {
  .sweetsFlexContent .secComment {
    text-align: left;
    padding: 0 0.8em;
    letter-spacing: -0.04em
  }
}

.sweetsFlexContentWrap {
  background: #fff
}

@media only screen and (min-width: 499px) {
  .sweetsFlexContentWrap {
    padding: 5px;
    margin-bottom: 2px
  }
}

@media only screen and (max-width: 500px) {
  .sweetsFlexContentWrap {
    padding: 1.3888vw
  }
}

.sweetsFlexContentWrap2 {
  border: 1px solid #DCC8B4
}

@media only screen and (min-width: 499px) {
  .sweetsFlexContentWrap2 {
    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) {
  .sweetsFlexContentWrap2 {
    padding: 11.1111vw 6.5vw
  }
}

@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: 6.6666vw
  }
}

#access .secTtl {
  margin-bottom: 0
}

.accessMap {
  position: relative
}

@media only screen and (min-width: 499px) {
  .accessMap {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(assets/images/access/access_map_pc.jpg);
    height: 739px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .accessMap {
    height: 610px
  }
}

.accessMapSpContent {
  margin-bottom: 9.9027vw
}

.accessMapSpContent:last-child {
  margin-bottom: 0
}

.accessMapSpTtl {
  text-align: center;
  position: relative;
  margin-bottom: 4.1666vw
}

.accessMapSpTtl:before {
  content: " ";
  display: block;
  width: 100%;
  height: 1px;
  background: #D7C9B5;
  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;
    top: 537px;
    left: 52px
  }
  .mapBtn a {
    margin-top: 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mapBtn {
    top: 443px;
    left: 43px
  }
}

@media only screen and (max-width: 500px) {
  .mapBtn a {
    margin-top: 8.3333vw
  }
}

@media only screen and (min-width: 499px) {
  .parkingListWrap {
    position: absolute;
    top: 60px;
    right: 0
  }
  .parkingListWrap a {
    margin-top: 0
  }
}

@media only screen and (max-width: 500px) {
  .parkingListWrap {
    width: 66.6666vw;
    margin: 8.3333vw auto 0
  }
}

.parkingList {
  border-bottom: 1px dashed #966982;
  position: relative
}

@media only screen and (min-width: 499px) {
  .parkingList {
    padding-left: 55px;
    padding-bottom: 25px;
    margin-bottom: 25px;
    width: 320px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .parkingList {
    padding-left: 45px;
    padding-bottom: 21px;
    margin-bottom: 21px;
    width: 264px
  }
}

@media only screen and (max-width: 500px) {
  .parkingList {
    padding-left: 11.1111vw;
    padding-bottom: 5.5555vw;
    margin-bottom: 5.5555vw
  }
}

.parkingList:before {
  content: " ";
  display: block;
  left: 0;
  top: 0;
  -webkit-transform: translateY(-15%);
  transform: translateY(-15%);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute
}

.parkingList p {
  color: #53535D;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .parkingList p {
    font-size: 18px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .parkingList p {
    font-size: 15px
  }
}

@media only screen and (max-width: 500px) {
  .parkingList p {
    font-size: 3.6111vw
  }
}

.parkingList p:nth-child(2) {
  margin-top: 0.8em
}

.parkingList p span {
  color: #966982;
  font-size: 155.5555%;
  display: inline-block;
  margin: 0 0.09em
}

.parkingListCar:before {
  background-image: url(assets/images/access/icn_car.svg);
  top: 50%;
  -webkit-transform: translateY(-70%);
  transform: translateY(-70%)
}

@media only screen and (min-width: 499px) {
  .parkingListCar:before {
    width: 35px;
    height: 26px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .parkingListCar:before {
    width: 29px;
    height: 22px
  }
}

@media only screen and (max-width: 500px) {
  .parkingListCar:before {
    width: 7.2916vw;
    height: 5.3116vw
  }
}

.parkingListBus:before {
  background-image: url(assets/images/access/icn_bus.svg)
}

@media only screen and (min-width: 499px) {
  .parkingListBus:before {
    width: 24px;
    height: 28px;
    left: 6px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .parkingListBus:before {
    width: 20px;
    height: 24px;
    left: 5px
  }
}

@media only screen and (max-width: 500px) {
  .parkingListBus:before {
    width: 5vw;
    height: 5.7863vw;
    left: 1vw
  }
}

.parkingListPark:before {
  background-image: url(assets/images/access/icn_park.svg)
}

@media only screen and (min-width: 499px) {
  .parkingListPark:before {
    width: 26px;
    height: 26px;
    left: 6px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .parkingListPark:before {
    width: 22px;
    height: 22px;
    left: 5px
  }
}

@media only screen and (max-width: 500px) {
  .parkingListPark:before {
    width: 5.4166vw;
    height: 5.4166vw;
    left: 1vw
  }
}

.accessInfo .secDef {
  background: #FCFCFB
}

@media only screen and (min-width: 499px) {
  .accessInfo .secDef {
    width: 980px;
    margin: 40px auto 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .accessInfo .secDef {
    width: 808px;
    margin: 33px auto 0
  }
}

@media only screen and (max-width: 500px) {
  .accessInfo .secDef {
    width: 100%;
    margin: 16.6666vw auto 0
  }
}

.accessInfo .secDef dl {
  background: Transparent
}

@media only screen and (max-width: 500px) {
  .accessInfo .secDef dl {
    padding: 0 4.1666vw;
    border-top: none
  }
}

.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: 11.1111vw 0
  }
}

@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: 10.4166vw 0
  }
}

.accessLogo {
  display: inline-block
}

@media only screen and (min-width: 499px) {
  .accessLogo {
    width: 147px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .accessLogo {
    width: 121px
  }
}

@media only screen and (max-width: 500px) {
  .accessLogo {
    width: 30.5555vw
  }
}

.accessInfoTtl {
  color: #966982;
  font-weight: bold;
  letter-spacing: 0.08em;
  margin-bottom: 1em
}

.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%
  }
}

.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.5555vw;
    line-height: 1.7
  }
}

.contactLead a {
  text-decoration: underline
}

@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: 2px solid #D7C9B5
}

@media only screen and (min-width: 499px) {
  .contactTelInfo {
    width: 660px;
    margin: 0 auto 50px;
    padding: 2px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .contactTelInfo {
    width: 544px;
    margin: 0 auto 41px
  }
}

@media only screen and (max-width: 500px) {
  .contactTelInfo {
    width: 100%;
    margin: 0 auto 8.3333vw;
    padding: 1.3888vw
  }
}

.contactTelInfoInner {
  border: 1px solid #D7C9B5
}

@media only screen and (min-width: 499px) {
  .contactTelInfoInner {
    padding: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .contactTelInfoInner {
    padding: 25px
  }
}

@media only screen and (max-width: 500px) {
  .contactTelInfoInner {
    padding: 6.25vw
  }
}

@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 {
  color: #966982;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
  }
}

@media only screen and (min-width: 499px) {
  .contactTelInfoOpen {
    font-size: 15px;
    line-height: 1.7
  }
}

@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
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .contactFormWrap table th {
    padding: 16px 12px
  }
}

@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: #A0A0A0
}

.contactFormWrap input[type="text"]::-webkit-input-placeholder, .contactFormWrap input[type="mail"]::-webkit-input-placeholder, .contactFormWrap input[type="tel"]::-webkit-input-placeholder {
  color: #A0A0A0
}

@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: #A0A0A0;
  opacity: 1
}

.contactFormWrap input[type="text"]::-moz-placeholder, .contactFormWrap input[type="mail"]::-moz-placeholder, .contactFormWrap input[type="tel"]::-moz-placeholder {
  color: #A0A0A0;
  opacity: 1
}

.contactFormWrap input[type="text"]:-ms-input-placeholder, .contactFormWrap input[type="mail"]:-ms-input-placeholder, .contactFormWrap input[type="tel"]:-ms-input-placeholder {
  color: #A0A0A0
}

.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: #282834
}

.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: #966982;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@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
}

.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
  }
}

@media only screen and (max-width: 500px) {
  .inputAddressSpCol dd {
    width: 57vw
  }
}

@media only screen and (max-width: 500px) {
  .inputAddressSpCol dd .inputZipW {
    width: 25vw
  }
}

@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: 30.1388vw
  }
}

.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
}

.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
  }
}

.mailCheck {
  padding-bottom: 0.5em;
  border-bottom: 1px solid #282834
}

@media only screen and (min-width: 499px) {
  .mailCheck {
    font-size: 13px;
    margin-top: 10px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mailCheck {
    font-size: 11px;
    margin-top: 8px
  }
}

@media only screen and (max-width: 500px) {
  .mailCheck {
    font-size: 2.7777vw;
    margin-top: 2vw
  }
}

.mailCheck span {
  display: inline-block;
  vertical-align: bottom;
  min-height: 1em
}

.mailCheck .text {
  margin-left: 0.3em;
  letter-spacing: 0.03em
}

@media only screen and (min-width: 499px) {
  .mailCheck .text {
    font-size: 16px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .mailCheck .text {
    font-size: 14px
  }
}

@media only screen and (max-width: 500px) {
  .mailCheck .text {
    font-size: 3.7vw
  }
}

.ui-datepicker {
  z-index: 15 !important
}

.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 (max-width: 500px) {
  .formFairTxt {
    width: 69.64%
  }
}

.formFairDate {
  padding-left: 0.5em;
  border-left: 3px solid #966982
}

@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: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
  }
}

@media only screen and (max-width: 500px) {
  .formFairDate .date {
    font-size: 3.6111vw
  }
}

.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 (max-width: 500px) {
  .formFairDate .week {
    font-size: 2.7777vw
  }
}

@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
  }
}

@media only screen and (max-width: 500px) {
  .formFairDate .time {
    font-size: 3.3333vw
  }
}

.formFairTtl {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  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: #fff
}

@media only screen and (min-width: 499px) {
  #fairWeekend {
    padding: 100px 0 60px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #fairWeekend {
    padding: 82px 0 50px
  }
}

@media only screen and (max-width: 500px) {
  #fairWeekend {
    padding: 0 0 12.5vw
  }
}

@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-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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;
  background: #FAFAF9
}

@media only screen and (min-width: 499px) {
  .weekendList {
    padding: 5px;
    width: 49.3562%
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .weekendList {
    padding: 4px
  }
}

@media only screen and (max-width: 500px) {
  .weekendList {
    padding: 0.6944vw;
    margin-bottom: 2.9166vw
  }
  .weekendList.hide {
    display: none !important
  }
}

.weekendListInner {
  border: 1px solid #D7C9B5;
  max-width: 100%;
  height: 100%
}

@media only screen and (min-width: 499px) {
  .weekendListInner {
    padding: 37px 25px 22px 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .weekendListInner {
    padding: 30px 20px 18px 25px
  }
}

@media only screen and (max-width: 500px) {
  .weekendListInner {
    padding: 7.2222vw 4.8611vw 3.8888vw
  }
}

.weekendListRibbon {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(assets/images/fair/ribbon_fair_pc.png);
  text-align: center;
  position: absolute;
  overflow: visible !important
}

@media only screen and (min-width: 499px) {
  .weekendListRibbon {
    right: 0;
    top: 0;
    width: 109px;
    height: 109px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .weekendListRibbon {
    right: 0;
    top: 0;
    width: 90px;
    height: 90px
  }
}

@media only screen and (max-width: 500px) {
  .weekendListRibbon {
    right: 0;
    top: 0;
    width: 22.7083vw;
    height: 22.7083vw
  }
}

.weekendListTop {
  border-bottom: 1px dotted #DCC8B4;
  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 #966982;
  padding-left: 0.5em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@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
  }
}

@media only screen and (min-width: 499px) {
  .weekendListBtn a {
    margin-top: 20px;
    font-size: 14px;
    padding: 1em
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .weekendListBtn a {
    margin-top: 16px;
    font-size: 12px
  }
}

@media only screen and (max-width: 500px) {
  .weekendListBtn a {
    margin-top: 4.1666vw;
    font-size: 3.3333vw;
    width: 57.7777vw
  }
}

.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 #D7C9B5;
  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: .2s;
    transition: .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: #859FB1
}

.weekendContentSun .weekendDate, .weekendContentSun .weekendDate:after {
  background: #DA9CAF
}

@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
  }
}
#fairMovie {
    text-align: center;
    padding: 70px 0;
    background-color: #fff;
}

#fairMovie p {
    margin-top: 15px;
    line-height: 1.6;
}

@media screen and (max-width:491px){
    #fairMovie {
        padding: 0px 15px 50px !important; 
    }
    #fairMovie video {
        width: 100%;
    }
}
@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 #966982;
  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: #966982;
  border-top: 1px solid #966982;
  border-left: 1px solid #966982;
  border-right: 1px solid #966982;
  font-weight: bold;
  display: block
}

@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: #966982;
  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 10.5555vw
  }
}

@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
  }
}

#fairCalendar .secTtlCal {
  color: #53535D
}

@media only screen and (min-width: 499px) {
  #fairCalendar .secTtlCal {
    margin-bottom: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #fairCalendar .secTtlCal {
    margin-bottom: 25px
  }
}

#fairCalendar .secTtlCal .en {
  letter-spacing: 0;
  font-family: 'Italianno', cursive;
  font-weight: 500;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  #fairCalendar .secTtlCal .en {
    font-size: 55px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #fairCalendar .secTtlCal .en {
    font-size: 45px
  }
}

@media only screen and (max-width: 500px) {
  #fairCalendar .secTtlCal .en {
    font-size: 10.1388vw
  }
}

@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 {
    background: #F0F0EA;
    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: #966982;
  position: relative;
  margin: 0 auto
}

@media only screen and (min-width: 499px) {
  .fairCalendarTable caption {
    padding-bottom: 40px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairCalendarTable caption {
    padding-bottom: 33px
  }
}

@media only screen and (max-width: 500px) {
  .fairCalendarTable caption {
    padding-bottom: 3.4722vw
  }
}

.fairCalendarTable caption span {
  display: block
}

.fairCalendarTable caption .num {
  margin: 0 auto
}

@media only screen and (min-width: 499px) {
  .fairCalendarTable caption .num {
    width: 76px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairCalendarTable caption .num {
    width: 63px
  }
}

@media only screen and (max-width: 500px) {
  .fairCalendarTable caption .num {
    width: 11.1111vw
  }
}

.fairCalendarTable caption .en {
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .fairCalendarTable caption .en {
    font-size: 28px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairCalendarTable caption .en {
    font-size: 23px
  }
}

@media only screen and (max-width: 500px) {
  .fairCalendarTable caption .en {
    font-size: 4vw
  }
}

.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 #CCC6BA
  }
}

@media only screen and (max-width: 500px) {
  .fairCalendarTable th, .fairCalendarTable td {
    text-align: center;
    padding: 0.8em 0.5em
  }
}

.fairCalendarTable thead th {
  text-align: center
}

@media only screen and (min-width: 499px) {
  .fairCalendarTable thead th {
    font-weight: normal;
    font-size: 13px;
    background: #E3D9CB;
    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: #859FB1;
    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: #DA9CAF;
    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: #F0F0EA
  }
}

@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: #FAFAF9
}

@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;
  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%
}

.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: #32323E
}

@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: #6E80BC
}

.week7 .calDay {
  color: #DA6E94
}

.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: #DA6E94;
  color: #fff
}

.tag2 {
  background: #e6e6dc
}

.tag3 {
  background: #b56d57;
  color: #fff
}

.tag4 {
  background: #4a6452;
  color: #fff
}

.tag5 {
  background: #F7F4EF;
  color: #fff
}

.tag6 {
  background: #DCC8B4;
  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: 50px;
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairArwArea {
    width: 100%;
    top: 41px
  }
}

@media only screen and (max-width: 500px) {
  .fairArwArea {
    width: 65vw;
    top: 3em;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    overflow: hidden
  }
}

.fairArwArea>span {
  display: block;
  width: 3px;
  height: auto;
  background: #DCC8B4;
  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;
  color: #966982
}

@media only screen and (min-width: 499px) {
  .fairArwArea>div>p .num {
    width: 24px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairArwArea>div>p .num {
    width: 20px
  }
}

.fairArwArea>div>p .en {
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .fairArwArea>div>p .en {
    font-size: 14px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairArwArea>div>p .en {
    font-size: 12px
  }
}

@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: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500;
  position: relative;
  padding: 0 6vw;
  font-size: 4.1666vw;
  display: inline-block
}

.spFairEventContentWrap h3 span:before, .spFairEventContentWrap h3 span:after {
  content: " ";
  display: block;
  width: 4.5833vw;
  height: 4.5833vw;
  background: url(assets/images/common/icn_flower.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-52%);
  transform: translateY(-52%)
}

.spFairEventContentWrap h3 span:before {
  left: 0
}

.spFairEventContentWrap h3 span:after {
  right: 0
}

.spFairEventContent .notes {
  text-align: center;
  padding: 8.3333vw;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500;
  line-height: 1.666;
  background: #f2f1ee
}

.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: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500;
  padding-left: 1.6666vw;
  border-left: 0.4166vw solid #966982;
  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: 'Noto Serif JP', serif;
  font-weight: 400;
  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)
  }
}

.fairRec {
  position: relative;
  background: #F7F4EF
}

@media only screen and (min-width: 499px) {
  .fairRec {
    padding: 60px 50px 60px 60px;
    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
  }
}

.fairRec:before, .fairRec:after {
  content: "　";
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 0;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  position: absolute;
  z-index: 10
}

@media only screen and (min-width: 499px) {
  .fairRec:before, .fairRec:after {
    background-image: url(assets/images/fair/fair_rec_line_pc.svg);
    width: 1058px;
    padding-bottom: 2.268045%
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairRec:before, .fairRec:after {
    width: 848px;
    padding-bottom: 2.3%
  }
}

@media only screen and (max-width: 500px) {
  .fairRec:before, .fairRec:after {
    background-image: url(assets/images/fair/fair_rec_line_sp.svg);
    width: 79.1666vw;
    padding-bottom: 6.37613255%
  }
}

@media only screen and (min-width: 499px) {
  .fairRec:before {
    top: 10px;
    left: 10px
  }
}

@media only screen and (max-width: 500px) {
  .fairRec:before {
    top: 2.0833vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

.fairRec:after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg)
}

@media only screen and (min-width: 499px) {
  .fairRec:after {
    bottom: 10px;
    left: 10px
  }
}

@media only screen and (max-width: 500px) {
  .fairRec:after {
    bottom: 2.0833vw;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(180deg);
    transform: translateX(-50%) rotate(180deg)
  }
}

@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) {
  .fairRecTxt {
    width: 55.2223%
  }
}

@media only screen and (min-width: 499px) {
  .fairRecTxt h3 {
    margin-top: 20px;
    margin-bottom: 35px;
    margin-left: -20px;
    width: 404px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairRecTxt h3 {
    margin-top: 10px;
    margin-bottom: 30px;
    margin-left: -16px;
    width: 333px
  }
}

@media only screen and (max-width: 500px) {
  .fairRecTxt h3 {
    margin-top: 4.8611vw;
    margin-bottom: 6.9444vw;
    width: 74.8351vw;
    margin-left: -2.6909vw;
    margin-right: -2.6909vw
  }
}

.fairRecDateWrap {
  border-left: 2px solid #966982;
  padding-left: 0.5em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
}

@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
  }
}

@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: inline-block
  }
}

.fairArcTtl {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500;
  padding-bottom: 1em;
  border-bottom: 1px dashed #966982;
  letter-spacing: 0.05em;
  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%;
  border-radius: 3px
}

@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: #C8B497
}

.fairArcBtnArea .rsvBtn {
  background: #966982
}

@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: #d7d0c6;
  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: #859FB1;
  color: #fff
}

.airArcDay#weekendSun {
  background: #DA9CAF;
  color: #fff
}

.airArcDay .day {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
}

.fairArcList {
  border: 1px solid #D7C9B5
}

@media only screen and (min-width: 499px) {
  .fairArcList {
    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
  }
}

.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
  }
}

@media only screen and (min-width: 499px) {
  .fairArcList .weekendListRibbon {
    right: -4px;
    top: -4px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairArcList .weekendListRibbon {
    right: -3px;
    top: -3px
  }
}

@media only screen and (max-width: 500px) {
  .fairArcList .weekendListRibbon {
    right: -0.8333vw;
    top: -0.8333vw
  }
}

@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 #966982;
  padding-left: 0.5em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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: 2.7777vw
  }
}

.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 #282834;
  text-align: center;
  line-height: 1.666;
  padding: 0.5em 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 dashed #966982;
  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: 7.6388vw
  }
}

.fairArcPageBtn {
  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
}

.fairPostInner {
  border: 2px solid #D7C9B5;
  position: relative
}

@media only screen and (min-width: 499px) {
  .fairPostInner {
    padding: 48px 48px 63px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairPostInner {
    padding: 40px 40px 52px
  }
}

@media only screen and (max-width: 500px) {
  .fairPostInner {
    padding: 6.9444vw 6.9444vw 11.1111vw
  }
}

.fairPostRibbon {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(assets/images/fair/ribbon_fair_pc.png);
  text-align: center;
  position: absolute;
  overflow: visible !important;
  right: -2px;
  top: -2px
}

@media only screen and (min-width: 499px) {
  .fairPostRibbon {
    width: 109px;
    height: 109px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairPostRibbon {
    width: 90px;
    height: 90px
  }
}

@media only screen and (max-width: 500px) {
  .fairPostRibbon {
    width: 22.7083vw;
    height: 22.7083vw
  }
}

.fairPostDateWrap {
  border-left: 2px solid #966982;
  padding-left: 0.5em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
}

@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
  }
}

@media only screen and (min-width: 499px) {
  .fairPostTime {
    display: inline-block
  }
}

.fairPostTtl {
  letter-spacing: 0.1em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@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 #282834;
  text-align: center;
  line-height: 1.666;
  padding: 0.5em 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: 25px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairPostSpecial {
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 500px) {
  .fairPostSpecial {
    margin-bottom: 8.3333vw
  }
}

.fairPostConTtl {
  padding-left: 0.5em
}

@media only screen and (min-width: 499px) {
  .fairPostConTtl {
    font-size: 18px;
    margin-bottom: 20px;
    border-left: 4px solid #966982
  }
}

@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 #966982
  }
}

@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(10%);
  transform: translateY(10%)
}

@media only screen and (min-width: 499px) {
  .fairPostSpecialContent .fairSingleBenefit tr .name:first-child:before, .fairPostSpecialContent .fairSingleBenefit tr .txt:first-child:before {
    width: 15px;
    height: 15px
  }
}

@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: 13px;
    height: 13px
  }
}

@media only screen and (max-width: 500px) {
  .fairPostSpecialContent .fairSingleBenefit tr .name:first-child:before, .fairPostSpecialContent .fairSingleBenefit tr .txt:first-child:before {
    width: 3.75vw;
    height: 3.75vw
  }
}

.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: #F7F4EF;
  -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 #D7C9B5;
  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
}

.fairPostRecTtl {
  text-align: center
}

@media only screen and (min-width: 499px) {
  .fairPostRecTtl {
    margin-bottom: 15px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairPostRecTtl {
    margin-bottom: 13px
  }
}

@media only screen and (max-width: 500px) {
  .fairPostRecTtl {
    margin-bottom: 3.4722vw
  }
}

.fairPostRecTtl span {
  display: block
}

@media only screen and (min-width: 499px) {
  .fairPostRecTtl .jp {
    font-size: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairPostRecTtl .jp {
    font-size: 16px
  }
}

@media only screen and (max-width: 500px) {
  .fairPostRecTtl .jp {
    font-size: 4.1666vw
  }
}

@media only screen and (min-width: 499px) {
  .fairPostReccomment {
    line-height: 1.714;
    letter-spacing: -0.01em;
    font-size: 14px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .fairPostReccomment {
    font-size: 12px
  }
}

@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 #ccc6ba;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .fairPostIncInner dl:last-child {
    border-bottom: 1px solid #ccc6ba
  }
  .fairPostIncInner dl dt {
    background: #F7F4EF;
    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 #282834;
    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(215, 201, 181, 0.5);
    box-shadow: 1.4px 1.4px 0 0 rgba(215, 201, 181, 0.5)
  }
}

@media only screen and (max-width: 500px) {
  .fairPostIncTh {
    -webkit-box-shadow: 0.6111vw 0.6111vw 0 0 rgba(215, 201, 181, 0.5);
    box-shadow: 0.6111vw 0.6111vw 0 0 rgba(215, 201, 181, 0.5);
    margin-bottom: 3.75vw
  }
}

.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(175, 161, 140, 0.8);
  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 {
  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
  }
}

@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 #D7C9B5
  }
}

@media only screen and (min-width: 499px) {
  .fairPostFormCon dl:last-child dd {
    border-right: 1px solid #D7C9B5
  }
}

@media only screen and (max-width: 500px) {
  .fairPostFormCon dl:last-child dd {
    border-bottom: 1px solid #D7C9B5
  }
}

.fairPostFormCon dt {
  text-align: center;
  padding: 1em
}

@media only screen and (min-width: 499px) {
  .fairPostFormCon dt {
    font-size: 18px;
    border-top: 1px solid #DCC8B4;
    border-left: 1px solid #DCC8B4;
    border-bottom: 1px solid #DCC8B4
  }
}

@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 #DCC8B4;
    border-left: 1px solid #DCC8B4;
    border-right: 1px solid #DCC8B4
  }
}

.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
}

@media only screen and (min-width: 499px) {
  .fairPostFormCon dd {
    height: 167px;
    border-left: 1px solid #DCC8B4;
    border-bottom: 1px solid #DCC8B4
  }
}

@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 #DCC8B4;
    border-left: 1px solid #DCC8B4;
    border-right: 1px solid #DCC8B4;
    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(60, 80, 100, 0.2);
    box-shadow: 3.6px 3.6px 0 0 rgba(60, 80, 100, 0.2)
  }
}

@media only screen and (max-width: 500px) {
  .fairPostFormCon dd .fairPostFormTh img {
    -webkit-box-shadow: 0.6902vw 0.6902vw 0 0 rgba(60, 80, 100, 0.2);
    box-shadow: 0.6902vw 0.6902vw 0 0 rgba(60, 80, 100, 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(60, 80, 100, 0.2);
    box-shadow: 3.6px 3.6px 0 0 rgba(60, 80, 100, 0.2)
  }
}

@media only screen and (max-width: 500px) {
  .fairPostFormCon dd .fairPostFormTh figure {
    -webkit-box-shadow: 0.6902vw 0.6902vw 0 0 rgba(60, 80, 100, 0.2);
    box-shadow: 0.6902vw 0.6902vw 0 0 rgba(60, 80, 100, 0.2)
  }
}

.fairPostFormCon dd .fairPostFormTtl {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@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
}

@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
  }
}

.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 #966982;
    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 #966982
}

@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
  }
}

#fairArchive #topBenefits:first-child .topFairSp {
  margin-top: 0
}

#fairArchive #topBenefits dl {
  background: #FCFCFB
}

@media only screen and (max-width: 500px) {
  #fairArchive .topFairSpTable th {
    width: 32%
  }
}

@media only screen and (max-width: 500px) {
  #fairArchive .topFairSpTable td {
    width: 68%
  }
}

.benefitsAreaTtl {
  text-align: center;
  letter-spacing: 0.12em;
  color: #966982;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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: #859FB1;
  color: #fff
}

.airArcDay.Sun {
  background: #DA9CAF;
  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) {
  .planList {
    margin-bottom: 60px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planList {
    margin-bottom: 50px
  }
}

@media only screen and (max-width: 500px) {
  .planList {
    margin-bottom: 11.0416vw;
    padding-top: 10.9722vw
  }
}

.planList:last-child {
  margin-bottom: 0
}

.planList.planListRecommend {
  border-left: 2px solid #506E82;
  background: #E3E1D2;
  -webkit-box-shadow: 2px 2px 0 0 rgba(215, 201, 181, 0.5);
  box-shadow: 2px 2px 0 0 rgba(215, 201, 181, 0.5)
}

.planList.planListRecommend .planName {
  color: #506E82
}

.planList.planListRecommend .planNum span {
  background: #506E82
}

.planList.planListRecommend .planListTxt.active {
  border-bottom: 1px dashed #506E82
}

.planList.planListRecommend .planConTtl {
  border-left-color: #506E82
}

.planList.planListRecommend .planConHead {
  color: #506E82
}

.planList.planListRecommend .planListIncludedTable td {
  background: #fff
}

@media only screen and (max-width: 500px) {
  .planList.planListRecommend .planListIncludedTable td {
    padding-right: 0.5em
  }
}

.planListTop {
  position: relative
}

.planListRibbon {
  position: absolute
}

@media only screen and (min-width: 499px) {
  .planListRibbon {
    right: -36px;
    top: -46px;
    width: 140px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planListRibbon {
    right: -30px;
    top: -38px;
    width: 115px
  }
}

@media only screen and (max-width: 500px) {
  .planListRibbon {
    width: 26.6666vw;
    right: -9.3055vw;
    top: -14.4444vw;
    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) {
  .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(215, 201, 181, 0.5);
    box-shadow: 15px 15px 0 0 rgba(215, 201, 181, 0.5);
    padding-bottom: 100%;
    background-position: center;
    border: 3px solid #C8B497
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planListTh figure {
    -webkit-box-shadow: 12px 12px 0 0 rgba(215, 201, 181, 0.5);
    box-shadow: 12px 12px 0 0 rgba(215, 201, 181, 0.5)
  }
}

@media only screen and (max-width: 500px) {
  .planListTh figure {
    -webkit-box-shadow: 1.3888vw 1.3888vw 0 0 rgba(215, 201, 181, 0.5);
    box-shadow: 1.3888vw 1.3888vw 0 0 rgba(215, 201, 181, 0.5);
    padding-bottom: 56.36%;
    background-position: center;
    border: 0.5555vw solid #C8B497
  }
}

@media only screen and (min-width: 499px) {
  .planListTxt {
    width: 62.040816%
  }
}

.planListTxt.active {
  border-bottom: 1px dashed #966982;
  padding-bottom: 20px
}

@media only screen and (max-width: 500px) {
  .planListTxt.active {
    padding-bottom: 5vw
  }
}

.planListLead {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .planListLead {
    letter-spacing: 0.12em;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
    padding-right: 110px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planListLead {
    font-size: 13px;
    margin-bottom: 25px;
    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: #966982
}

@media only screen and (min-width: 499px) {
  .planName {
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planName {
    margin-bottom: 15px
  }
}

@media only screen and (max-width: 500px) {
  .planName {
    margin-bottom: 3.6111vw
  }
}

.planName .en {
  letter-spacing: 0.08em;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  .planName .en {
    font-size: 29px;
    display: block
  }
}

@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.8vw
  }
}

.planName .jp {
  letter-spacing: 0.12em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  line-height: 1.6;
}

@media only screen and (min-width: 499px) {
  .planName .jp {
    display: block;
    margin-top: 0.3em
  }
}

@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: 5px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planNum {
    margin-bottom: 5px
  }
}

@media only screen and (max-width: 500px) {
  .planNum {
    margin-bottom: 2.7777vw
  }
}

.planNum span {
  display: inline-block;
  background: #966982;
  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: 'Noto Serif JP', serif;
  font-weight: 400
}

@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: minion-3, serif;
  font-weight: 400;
  font-style: normal
}

@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: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (max-width: 500px) {
  .planPriceTax {
    font-size: 3.0555vw
  }
}

.planPriceNum {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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-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
}

@media only screen and (min-width: 499px) {
  .planConTtl {
    font-size: 21px;
    border-left: 4px solid #966982;
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .planConTtl {
    font-size: 17px;
    border-left: 3px solid #966982;
    margin-bottom: 16px
  }
}

@media only screen and (max-width: 500px) {
  .planConTtl {
    font-size: 4.1666vw;
    border-left: 0.8333vw solid #966982;
    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 (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
  }
}

.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: #966982;
  margin-bottom: 0.5em;
  margin-left: -0.5em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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 #ccc6ba;
  font-weight: normal;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif
}

@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 #ccc6ba
}

.planListIncludedTable th {
  text-align: center;
  background: #f2f1ee
}

@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>* {
  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
  }
}

.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 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 #282834;
    display: inline-block
  }
}

@media only screen and (max-width: 500px) {
  .categoryWrap ul li {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

.categoryWrap ul li:last-child {
  border-right: none
}

@media only screen and (min-width: 499px) {
  .categoryWrap ul li.current a {
    color: #966982
  }
}

@media only screen and (max-width: 500px) {
  .categoryWrap ul li.current a {
    background: #C8B497
  }
}

.categoryWrap ul li.current a:before {
  content: " ";
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(assets/images/common/icn_flower.svg);
  display: inline-block
}

@media only screen and (min-width: 499px) {
  .categoryWrap ul li.current a:before {
    position: absolute;
    left: 50%;
    top: -26px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 17px;
    width: 17px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .categoryWrap ul li.current a:before {
    top: -21px;
    height: 14px;
    width: 14px
  }
}

@media only screen and (max-width: 500px) {
  .categoryWrap ul li.current a:before {
    height: 3.5vw;
    width: 3.5vw;
    -webkit-transform: translate(-0.5em, 15%);
    transform: translate(-0.5em, 15%)
  }
}

.categoryWrap ul li a {
  display: inline-block;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@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 {
    background: #966982;
    color: #fff;
    line-height: 12.5vw;
    width: 100%
  }
}

.categoryWrap.searchWord a {
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
  }
}

@media only screen and (min-width: 499px) {
  .infoList:first-child {
    margin-top: 15px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoList:first-child {
    margin-top: 12px
  }
}

@media only screen and (max-width: 500px) {
  .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 #282834;
  margin-right: 1em;
  letter-spacing: 0.08em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  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: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@media only screen and (max-width: 500px) {
  .infoListTop .time {
    font-size: 2.7777vw
  }
}

.catArea .cat {
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  vertical-align: middle;
  background: #966982;
  color: #fff;
  padding: 0.2em 0.5em 0.1em
}

@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 dashed #966982;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@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: 82px;
    height: 82px;
    top: -14px;
    left: -16px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .new .infoListTh:before {
    width: 67px;
    height: 67px;
    top: -12px;
    left: -13px
  }
}

@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: 14px;
    margin-top: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoListDes {
    font-size: 12px;
    margin-top: 25px
  }
}

@media only screen and (max-width: 500px) {
  .infoListDes {
    letter-spacing: 0.08em;
    line-height: 1.6666
  }
}

.readMore {
  text-align: right;
  font-weight: bold;
  color: #966982
}

@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: 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: 5px;
    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 #282834
}

#pagination ul li a {
  color: #282834;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  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 #966982;
  background: #966982;
  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: 6.9444vw
  }
  .sidebarContent:last-child {
    margin-bottom: 0
  }
}

.sidebarTtl {
  color: #fff;
  font-weight: bold;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 600
}

@media only screen and (min-width: 499px) {
  .sidebarTtl {
    line-height: 39px;
    background-image: url(assets/images/information/ribbon_side_ttl_pc.svg);
    font-size: 16px;
    letter-spacing: 0.1em;
    margin-bottom: 29px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .sidebarTtl {
    line-height: 32px;
    font-size: 13px;
    margin-bottom: 24px
  }
}

@media only screen and (max-width: 500px) {
  .sidebarTtl {
    line-height: 10.3811vw;
    background-image: url(assets/images/information/ribbon_side_ttl_sp.svg);
    font-size: 4.4444vw;
    margin-bottom: 4.0244vw
  }
}

@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: 'Noto Serif JP', serif;
  font-weight: 400;
  font-weight: 500
}

@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.25em 0 0.05em
}

@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.1em
}

@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: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@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: 17px;
    height: 17px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .sideCatList a:before {
    width: 14px;
    height: 14px
  }
}

@media only screen and (max-width: 500px) {
  .sideCatList a:before {
    width: 4.625vw;
    height: 4.625vw
  }
}

.searchForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #282834
}

@media only screen and (min-width: 499px) {
  .searchForm {
    margin-top: 25px;
    padding-bottom: 10px
  }
}

@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-bottom: 3.8888vw
  }
}

.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 (max-width: 500px) {
  .postInfoWrap {
    padding-bottom: 5.5555vw
  }
}

@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
  }
}

.infoListPostContent {
  border-bottom: 1px dotted #3C5064
}

@media only screen and (min-width: 499px) {
  .infoListPostContent {
    margin-top: 35px;
    padding-bottom: 80px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoListPostContent {
    margin-top: 29px;
    padding-bottom: 66px
  }
}

@media only screen and (max-width: 500px) {
  .infoListPostContent {
    margin-top: 6.9444vw;
    padding-bottom: 9.7222vw
  }
}

@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 {
  position: relative;
  padding-left: 0.6em
}

@media only screen and (min-width: 499px) {
  .infoListPostContent h3 {
    border-left: 4px solid #966982;
    font-size: 24px;
    letter-spacing: 0.08em;
    margin-bottom: 25px;
    line-height: 1.444
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoListPostContent h3 {
    border-left: 3px solid #966982;
    font-size: 20px;
    margin-bottom: 20px
  }
}

@media only screen and (max-width: 500px) {
  .infoListPostContent h3 {
    border-left: 0.6666vw solid #966982;
    font-size: 4.1666vw;
    letter-spacing: 0.08em;
    margin-bottom: 4.1666vw;
    line-height: 1.666
  }
}

.infoListPostContent h3:last-child {
  margin-bottom: 0
}

.infoListPostContent h3:before {
  content: " ";
  display: block;
  line-height: 1;
  height: 1px;
  width: 1px;
  margin-bottom: -0.25em
}

.infoListPostContent h3:after {
  content: " ";
  display: block;
  line-height: 1;
  height: 1px;
  width: 1px;
  margin-top: -0.25em
}

.infoListPostContent h4 {
  padding-left: 1.5em;
  position: relative
}

@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(10%);
  transform: translateY(10%);
  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: 20px;
    height: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoListPostContent h4:before {
    width: 16px;
    height: 16px
  }
}

@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.5em
}

@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: 10px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoListPostContent ul li, .infoListPostContent ol li {
    margin-bottom: 8px
  }
}

@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;
  top: 0;
  color: #3C5064
}

@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%)
  }
}

.infoListPostContent ol {
  counter-reset: item
}

.infoListPostContent ol li:before {
  counter-increment: item;
  content: counter(item);
  position: absolute;
  left: 0.1em;
  top: 0;
  -webkit-transform: translateY(-20%);
  transform: translateY(-20%);
  color: #3C5064;
  font-family: 'Italianno', cursive
}

@media only screen and (min-width: 499px) {
  .infoListPostContent ol li:before {
    font-size: 22px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .infoListPostContent ol li:before {
    font-size: 18px
  }
}

@media only screen and (max-width: 500px) {
  .infoListPostContent ol li:before {
    font-size: 6.3888vw
  }
}

@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 #D7C9B5
}

@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 {
  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
}

@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;
  letter-spacing: 0.08em;
  text-decoration: underline;
  color: #3C5064;
  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: 60px 0 100px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #selection {
    padding: 50px 0 82px
  }
}

@media only screen and (max-width: 500px) {
  #selection {
    padding: 11.1111vw 0 13.8888vw
  }
}

#selection h2 {
  color: #966982;
  letter-spacing: 0.12em;
  font-family: garamond-fb-text, serif;
  font-weight: 400;
  font-style: normal
}

@media only screen and (min-width: 499px) {
  #selection h2 {
    margin-bottom: 60px;
    font-size: 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #selection h2 {
    margin-bottom: 50px;
    font-size: 28.875px
  }
}

@media only screen and (max-width: 500px) {
  #selection h2 {
    margin-bottom: 8.3333vw;
    font-size: 6.25vw
  }
}

.selectionInner {
  margin: 0 auto
}

@media only screen and (min-width: 499px) {
  .selectionInner {
    width: 980px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .selectionInner {
    width: 100%
  }
}

@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: 18.834951%
  }
}

@media only screen and (max-width: 500px) {
  .selectionList {
    width: 47.65625%;
    margin-top: 4.1666vw
  }
}

@media only screen and (max-width: 500px) {
  .selectionList.selectionListWedding {
    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
  }
}

#top #selection {
  background-position: center;
  text-align: center;
  padding: 0;
  -webkit-transform: matrix3d(0, 0, 0);
  transform: matrix3d(0, 0, 0)
}

@media only screen and (min-width: 499px) {
  #top #selection {
    background-image: url(assets/images/top/top_selection_bg_pc.jpg);
    background-attachment: fixed;
    background-size: cover
  }
}

@media only screen and (max-width: 500px) {
  #top #selection {
    background-image: url(assets/images/top/top_selection_bg_sp.jpg);
    background-size: 100% auto
  }
}

#top #selection .selectionListWrapBg {
  background: rgba(255, 255, 255, 0.75)
}

@media only screen and (min-width: 499px) {
  #top #selection .selectionListWrapBg {
    height: 202px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #top #selection .selectionListWrapBg {
    height: 167px
  }
}

@media only screen and (max-width: 500px) {
  #top #selection .selectionListWrapBg {
    padding-bottom: 6.9444vw
  }
}

#top #selection .selectionListWrap {
  position: relative
}

@media only screen and (min-width: 499px) {
  #top #selection .selectionListWrap {
    top: -40px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #top #selection .selectionListWrap {
    top: -33px
  }
}

@media only screen and (max-width: 500px) {
  #top #selection .selectionListWrap {
    top: -6.9444vw
  }
}

#top #selection .selectionList:before {
  background: #fff;
  width: 18.834951%;
  height: 0;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  padding-bottom: 13.307288%;
  position: absolute;
  z-index: 0;
  content: " ";
  display: block;
  opacity: 1
}

#top.tb #selection {
  background-attachment: scroll
}

@media only screen and (min-width: 499px) {
  .selectionCopy {
    padding-top: 438px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .selectionCopy {
    padding-top: 361px
  }
}

@media only screen and (max-width: 500px) {
  .selectionCopy {
    padding: 16.6666vw 0 18.0555vw
  }
}

.selectionCopy p {
  font-size: 4.1666vw;
  color: #fff;
  font-weight: 700;
  line-height: 1.6666;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@media only screen and (min-width: 499px) {
  .footerTopArea {
    background-image: url(assets/images/top/top_contact_bg_pc.jpg);
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    padding-top: 400px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .footerTopArea {
    padding-top: 330px
  }
}

@media only screen and (max-width: 500px) {
  .footerTopArea {
    padding-top: 58.3333vw
  }
}

.footerTopAreaBg {
  background-image: url(assets/images/top/top_contact_bg_sp.jpg);
  background-size: cover;
  background-position: center top;
  background-repeat: repeat-y;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2
}

.tb .footerTopArea {
  background-attachment: scroll
}

#footerContact {
  background: rgba(255, 255, 255, 0.7);
  text-align: center
}

@media only screen and (min-width: 499px) {
  #footerContact {
    padding: 55px 0 35px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #footerContact {
    padding: 45px 0 29px
  }
}

@media only screen and (max-width: 500px) {
  #footerContact {
    padding: 7.6388vw 0 10.4166vw
  }
}

@media only screen and (min-width: 499px) {
  #footerContact .secTtl {
    margin-bottom: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #footerContact .secTtl {
    margin-bottom: 25px
  }
}

@media only screen and (max-width: 500px) {
  #footerContact .secTtl {
    margin-bottom: 7.6388vw
  }
}

.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: 14px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .footerContactContent .secLead {
    font-size: 12px
  }
}

@media only screen and (max-width: 500px) {
  .footerContactContent .secLead {
    font-size: 3.3333vw
  }
}

@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: 236px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .footerContactBtnWrap {
    margin-bottom: 42px
  }
}

@media only screen and (max-width: 500px) {
  .footerContactBtnWrap {
    margin-bottom: 7.6388vw
  }
  .footerContactBtnWrap li {
    width: 72.2222vw;
    margin: 0 auto 1vw
  }
}

.footerContactBtn {
  background: #3D3D48;
  color: #fff;
  font-weight: bold;
  display: block;
  border-radius: 3px
}

@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 (max-width: 500px) {
  .footerContactBtn {
    width: 100%;
    padding: 3.75vw
  }
}

.footerContactBtn.footerContactBtnFair {
  background: #966982
}

@media only screen and (min-width: 499px) {
  .footerContactInfo h3 {
    margin-bottom: 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .footerContactInfo h3 {
    margin-bottom: 16.5px
  }
}

@media only screen and (max-width: 500px) {
  .footerContactInfo h3 {
    margin-bottom: 3.6111vw
  }
}

.footerTel {
  letter-spacing: 0.05em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

@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: 18px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .footerTel a {
    font-size: 15px
  }
}

@media only screen and (min-width: 499px) {
  .footerTel a span {
    font-size: 30px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .footerTel a span {
    font-size: 25px
  }
}

@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
  }
}

@media only screen and (max-width: 500px) {
  .footerOpen {
    line-height: 1.739
  }
}

#topFooter {
  text-align: center
}

@media only screen and (min-width: 499px) {
  #topFooter {
    padding: 40px 0
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  #topFooter {
    padding: 33px 0
  }
}

@media only screen and (max-width: 500px) {
  #topFooter {
    padding: 8.6111vw 0 13.8888vw
  }
}

@media only screen and (min-width: 499px) {
  .topFooterLogo {
    width: 147px;
    margin: 0 auto 20px
  }
}

@media only screen and (min-width: 500px) and (max-width: 1366px) {
  .topFooterLogo {
    width: 121px;
    margin: 0 auto 16px
  }
}

@media only screen and (max-width: 500px) {
  .topFooterLogo {
    width: 31.3888vw;
    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
  }
}

@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: petersburg-web, serif;
  font-weight: 400, 700;
  font-style: normal, italic
}

@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
  }
}

.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
}

@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 #282834
  }
  .topFooterNav a:first-child {
    width: 100%;
    border-top: 1px solid #282834
  }
  .topFooterNav a:after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 2.2222vw
  }
}

#about {
  background: #F0F0EA
}

.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: 'Noto Serif JP', serif;
  font-weight: 400
}

@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
  }
}

.aboutNameEn {
  letter-spacing: 0.08em
}

@media only screen and (min-width: 499px) {
  .aboutNameEn {
    font-family: garamond-fb-text, serif;
    font-weight: 400;
    font-style: normal;
    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: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 3vw;
    line-height: 1.363;
    margin-bottom: 2.0833vw;
    letter-spacing: normal;
    font-weight: 600
  }
}

@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: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 2.2vw;
    line-height: 1.5;
    letter-spacing: normal;
    font-weight: 600
  }
}

@media only screen and (min-width: 499px) {
  #footer {
    background: #282834;
    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: #282834;
    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: 'Noto Serif JP', serif;
    font-weight: 400;
    font-weight: bold;
    background: #fff
  }
}

#toTop {
  position: fixed;
  z-index: 50;
  display: block;
  opacity: 0;
  -webkit-transition: opacity .2s;
  transition: opacity .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: .4s;
  transition: .4s;
  -webkit-transform: translateY(100%);
  transform: translateY(100%)
}

.spFooterBtnWrap.active {
  -webkit-transform: none;
  transform: none
}

.spFooterBtn {
  width: 50%;
  background: #966982;
  color: #fff;
  font-weight: 600;
  font-size: 3.4vw;
  text-align: center;
  line-height: 11.8055vw;
  letter-spacing: 0.14em;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400
}

.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: #aba08c;
  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
}

.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: .6
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: .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: .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: .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 h3 {
   font-weight: bold;
   margin-bottom: 20px;
   line-height: 1.6;
}
#bestrate .txtPink {
    color: #966982;
}
#bestrate .condition {
    background: #FCFCFB;
}
#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 #C8B497;
  border-bottom: 2px solid #C8B497;
}

#bestrate .secUnder3Content.borderTB:before, #bestrate .secUnder3Content.borderTB:after {
    content: " ";
    display: block;
    position: absolute;
    height: 2px;
    width: 62.2449%;
    background: #966982;
    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 .underSectionContent {
    margin-bottom: 0px;
    padding-bottom: 0px;
    text-align: center;
}
#bestrate .underSectionInnerLast .secDecoContentInner {
    margin-bottom: 10px;
    padding-bottom: 1px;
}
#bestrate .fadeinWrap:last-child {
    margin-bottom: 20px;
}

/*スマホ*/
@media only screen and (max-width: 500px) {
    #bestrate {
        font-size: 3.3vw;
    }
    #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 .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: 665px;
    }
    #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;
    }
}