/* -----------------------------------------------------------------------------
 * Foundation
 *   reset
 *   typography
 *   elements
 *   links
 * Layout
 * Object
 *   Component
 *   Project
 *     header
 *     footer
 *     page
 *   Utility
 ---------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
 # Foundation
 ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------
 ## reset
 ----------------------------------------------------------------- */
/*!
 * Bootstrap Reboot v4.1.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
 *,
 *::before,
 *::after {
   box-sizing: border-box;
 }

 html {
   font-family: sans-serif;
   line-height: 1.15;
   -webkit-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
   -ms-overflow-style: scrollbar;
   -webkit-tap-highlight-color: transparent;
 }

 @-ms-viewport {
   width: device-width;
 }

 article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
   display: block;
 }

 body {
   margin: 0;
   font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
   font-size: 1rem;
   font-weight: 400;
   line-height: 1.5;
   color: #212529;
   text-align: left;
   background-color: #fff;
 }

 [tabindex="-1"]:focus {
   outline: 0 !important;
 }

 hr {
   box-sizing: content-box;
   height: 0;
   overflow: visible;
 }

 h1, h2, h3, h4, h5, h6 {
   margin-top: 0;
   margin-bottom: 0.5rem;
 }

 p {
   margin-top: 0;
   margin-bottom: 1rem;
 }

 abbr[title],
 abbr[data-original-title] {
   text-decoration: underline;
   -webkit-text-decoration: underline dotted;
   text-decoration: underline dotted;
   cursor: help;
   border-bottom: 0;
 }

 address {
   margin-bottom: 1rem;
   font-style: normal;
   line-height: inherit;
 }

 ol,
 ul,
 dl {
   margin-top: 0;
   margin-bottom: 1rem;
 }

 ol ol,
 ul ul,
 ol ul,
 ul ol {
   margin-bottom: 0;
 }

 dt {
   font-weight: 700;
 }

 dd {
   margin-bottom: .5rem;
   margin-left: 0;
 }

 blockquote {
   margin: 0 0 1rem;
 }

 dfn {
   font-style: italic;
 }

 b,
 strong {
   font-weight: bolder;
 }

 small {
   font-size: 80%;
 }

 sub,
 sup {
   position: relative;
   font-size: 75%;
   line-height: 0;
   vertical-align: baseline;
 }

 sub {
   bottom: -.25em;
 }

 sup {
   top: -.5em;
 }

 a {
   color: #007bff;
   text-decoration: none;
   background-color: transparent;
   -webkit-text-decoration-skip: objects;
 }

 a:hover {
   color: #0056b3;
   text-decoration: underline;
 }

 a:not([href]):not([tabindex]) {
   color: inherit;
   text-decoration: none;
 }

 a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
   color: inherit;
   text-decoration: none;
 }

 a:not([href]):not([tabindex]):focus {
   outline: 0;
 }

 pre,
 code,
 kbd,
 samp {
   font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   font-size: 1em;
 }

 pre {
   margin-top: 0;
   margin-bottom: 1rem;
   overflow: auto;
   -ms-overflow-style: scrollbar;
 }

 figure {
   margin: 0 0 1rem;
 }

 img {
   vertical-align: middle;
   border-style: none;
 }

 svg:not(:root) {
   overflow: hidden;
 }

 table {
   border-collapse: collapse;
 }

 caption {
   padding-top: 0.75rem;
   padding-bottom: 0.75rem;
   color: #6c757d;
   text-align: left;
   caption-side: bottom;
 }

 th {
   text-align: inherit;
 }

 label {
   display: inline-block;
   margin-bottom: 0.5rem;
 }

 button {
   border-radius: 0;
 }

 button:focus {
   outline: 1px dotted;
   outline: 5px auto -webkit-focus-ring-color;
 }

 input,
 button,
 select,
 optgroup,
 textarea {
   margin: 0;
   font-family: inherit;
   font-size: inherit;
   line-height: inherit;
 }

 button,
 input {
   overflow: visible;
 }

 button,
 select {
   text-transform: none;
 }

 button,
 html [type="button"],
 [type="reset"],
 [type="submit"] {
   -webkit-appearance: button;
 }

 button::-moz-focus-inner,
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner {
   padding: 0;
   border-style: none;
 }

 input[type="radio"],
 input[type="checkbox"] {
   box-sizing: border-box;
   padding: 0;
 }

 input[type="date"],
 input[type="time"],
 input[type="datetime-local"],
 input[type="month"] {
   -webkit-appearance: listbox;
 }

 textarea {
   overflow: auto;
   resize: vertical;
 }

 fieldset {
   min-width: 0;
   padding: 0;
   margin: 0;
   border: 0;
 }

 legend {
   display: block;
   width: 100%;
   max-width: 100%;
   padding: 0;
   margin-bottom: .5rem;
   font-size: 1.5rem;
   line-height: inherit;
   color: inherit;
   white-space: normal;
 }

 progress {
   vertical-align: baseline;
 }

 [type="number"]::-webkit-inner-spin-button,
 [type="number"]::-webkit-outer-spin-button {
   height: auto;
 }

 [type="search"] {
   /* outline-offset: -2px; */
   -webkit-appearance: none;
 }

 [type="search"]::-webkit-search-cancel-button,
 [type="search"]::-webkit-search-decoration {
   -webkit-appearance: none;
 }

 ::-webkit-file-upload-button {
   font: inherit;
   -webkit-appearance: button;
 }

 output {
   display: inline-block;
 }

 summary {
   display: list-item;
   cursor: pointer;
 }

 template {
   display: none;
 }

 [hidden] {
   display: none !important;
 }
 /* ------------------------------------------------------------------
  ## typography
  ----------------------------------------------------------------- */
 body,
 button,
 input,
 select,
 optgroup,
 textarea {
   font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", "YuGothic", -apple-system, blinkmacsystemfont, "Helvetica Neue", "Segoe UI", hiragino kaku gothic pron, "ヒラギノ角ゴ ProN W3", arial, "メイリオ", meiryo, sans-serif;
   font-size: 16px;
   line-height: 1.75;
   color: #000;
 }

 dfn,
 cite,
 em,
 i {
   font-style: italic;
 }

 blockquote {
   padding: 1rem;
   margin: 0 0 1rem;
   background-color: #efefef;
 }

 address {
   margin: 0 0 1.5em;
 }

 big {
   font-size: 125%;
 }

 h1, h2, h3, h4, h5, h6 {
   clear: both;
 }

 @font-face {
   font-family: "Gabriola Font";
   font-style: normal;
   font-weight: 400;
   src: url("../fonts/gabriola Font Download.woff") format("woff"), url("../fonts/gabriola Font Download.ttf") format("truetype");
   font-display: swap;
 }

 .font-gabriola, .title-primary, .category-card__title, .movie-title {
   font-family: "Gabriola Font", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
 }

 /* ------------------------------------------------------------------
  ## elements
  ----------------------------------------------------------------- */
 body {
   background: #fff;
 }

 hr {
   height: 1px;
   margin-top: 2rem;
   margin-bottom: 2rem;
   background-color: #000;
   border: 0;
 }

 @media screen and (min-width: 960px) {
   hr {
     margin-top: 2rem;
     margin-bottom: 3rem;
   }
 }

 table {
   border-collapse: collapse;
   margin: 0 0 2.5rem;
   width: 100%;
 }

 /* ------------------------------------------------------------------
  ## links
  ----------------------------------------------------------------- */
 a {
   color: #9b8b54;
 }

 a > img {
   opacity: 1;
 }

 a:visited {
   color: #7a6d42;
 }

 a:hover, a:focus, a:active {
   color: #333333;
 }

 a:hover > img, a:focus > img, a:active > img {
   opacity: .75;
 }

 a:focus {
   outline: thin dotted;
 }

 a:hover, a:active {
   outline: 0;
 }

 /* ------------------------------------------------------------------
  ## forms
  ----------------------------------------------------------------- */
 button,
 input[type='button'],
 input[type='reset'],
 input[type='submit'] {
   -webkit-appearance: none;
      -moz-appearance: none;
           appearance: none;
   background-color: transparent;
   border-style: none;
   cursor: pointer;
   display: block;
   outline: none;
 }

 /* -----------------------------------------------------------------------------
  # Layout
  ---------------------------------------------------------------------------- */
 /* site
  ---------------------------------------- */
 .l-site {
   position: relative;
   width: 100%;
   overflow: hidden;
 }

 /* header
  ---------------------------------------- */
 .l-header {
   position: fixed;
   top: 0;
   right: 0;
   left: 0;
   z-index: 900;
   display: block;
   width: 100%;
   height: 64px;
   margin: 0;
 }

 .l-header__inner {
   box-sizing: content-box;
   display: -webkit-box;
   display: flex;
   -webkit-box-align: start;
           align-items: flex-start;
   -webkit-box-pack: justify;
           justify-content: space-between;
   max-width: 1140px;
   padding: 0;
   margin: 0 auto;
 }

 /* footer
  ---------------------------------------- */
 .l-footer {
   display: block;
   width: 100%;
   margin: 0;
 }

 /* contents
  ---------------------------------------- */
 .l-contents {
   box-sizing: content-box;
   padding: 0;
   margin: 0 auto;
 }

 /* inner
  ---------------------------------------- */
 .l-inner, .sect-movie__inner {
   box-sizing: border-box;
   max-width: 1140px;
   padding: 1rem 15px;
   margin: 0 auto;
 }

 /* l-sect
  ---------------------------------------- */
 .l-sect {
   margin: 0 auto 4rem;
 }

 .g-sect .l-inner {
   position: relative;
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   padding-bottom: 4rem;
 }

 .g-sect .l-inner.l-inner-slide {
   position: relative;
   display: block;
   padding-bottom: 4rem;
   text-align: center;
 }

 .l-sect:last-of-type {
   margin-bottom: 0;
 }

 .l-sect.has-bg {
   padding-top: 30px;
   padding-bottom: 15px;
   background-color: #f0edde;
 }

 @media screen and (min-width: 960px) {
   .l-sect {
     margin: 0 auto 6.5rem;
   }
   .l-sect.has-bg {
     padding-top: 60px;
     padding-bottom: 30px;
   }
   .g-sect .l-inner,
   .g-sect .l-inner.l-inner-slide {
     position: relative;
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     padding-bottom: 4rem;
   }
 }

 /* l-side
  ---------------------------------------- */
 .l-side {
   padding: 3rem 0 0;
 }

 .clear::before, .clear::after {
   box-sizing: inherit;
   display: table;
   table-layout: fixed;
   content: "";
 }

 /* -----------------------------------------------------------------------------
  # Object
  ---------------------------------------------------------------------------- */
 /* ------------------------------------------------------------------
  ## Component
  ----------------------------------------------------------------- */
 /* Text meant only for screen readers. */
 .screen-reader-text {
   border: 0;
   clip: rect(1px, 1px, 1px, 1px);
   -webkit-clip-path: inset(50%);
           clip-path: inset(50%);
   height: 1px;
   margin: -1px;
   overflow: hidden;
   padding: 0;
   position: absolute !important;
   width: 1px;
   word-wrap: normal !important;
   /* Many screen reader and browser combinations announce broken words as they would appear visually. */
 }

 .screen-reader-text:focus {
   background-color: #aaa;
   border-radius: 3px;
   box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
   clip: auto !important;
   -webkit-clip-path: none;
           clip-path: none;
   color: #444;
   display: block;
   font-size: 14px;
   font-weight: bold;
   height: auto;
   left: 5px;
   line-height: normal;
   padding: 15px 23px 14px;
   text-decoration: none;
   top: 5px;
   width: auto;
   z-index: 100000;
   /* Above WP toolbar. */
 }

 /* Do not show the outline on the skip link target. */
 .site-content[tabindex='-1']:focus {
   outline: 0;
 }

 /* site-logo
  ---------------------------------------- */
 .site-title {
   box-sizing: content-box;
   display: block;
   max-width: 259px;
   padding: 8px;
   margin: 0;
 }

 .site-title a {
   display: block;
   width: 100%;
   height: auto;
   padding: 0;
   margin: 0;
 }

 .site-title img {
   display: block;
   width: 100%;
   max-width: 100%;
   height: auto;
   padding: 0;
   margin: 0;
 }

 /* main-navigation
 ---------------------------------------- */
.main-navigation {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  width: 100%;
  height: 0;
  overflow: hidden;
  background-color: #b2a370;
  -webkit-transition: all .25s ease-out;
  transition: all .25s ease-out;
}

.main-navigation .menu {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.main-navigation .menu-item {
  position: relative;
  display: block;
  margin: 0 auto 1rem;
}

.main-navigation .menu-item > a,
.main-navigation .menu-item span.navParrent {
  font-size: 20px;
  font-size: 1.25rem;
  position: relative;
  z-index: 1;
  display: block;
  padding: .25rem .5rem;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  line-height: 1.25;
  color: #fff;
  text-align: left;
  text-decoration: none;
  border-radius: 13px;
}

.main-navigation #primary-menu > .menu-item > a,
.main-navigation .menu-item span.navParrent {
  border-radius: 13px 13px 0 0 ;
  transition: .3s;
}

.main-navigation .menu-item > a:hover, .main-navigation .menu-item > a:focus, .main-navigation .menu-item > a:active {
  color: #fff;
}

.main-navigation .menu-item.current-menu-item > a, .main-navigation .menu-item:hover > a {
  background-color: rgba(255, 255, 255, 0.1);
}

.main-navigation .menu-item span.navParrent {
  font-size: 1.25rem;
  cursor: pointer;
}

.main-navigation .menu-item .menu-item__desc {
  font-size: .75em;
  margin-left:1rem;
}

.main-navigation .menu-item .sub-menu .menu-item {
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  transition: .3s ease-out;
}

.main-navigation .menu-item .sub-menu .menu-item a {
  padding: 0 .5rem;
  line-height: 0;
  opacity: 0;
  visibility: hidden;
  transition: .3s ease-out;
}

.main-navigation .menu-item .sub-menu.active .menu-item {
  padding-top: .5rem;
  padding-bottom: .2rem;
}

.main-navigation .menu-item .sub-menu.active .menu-item a {
  line-height: 1.5;
  opacity: 1;
  visibility: visible;
  transition: .3s;
}

ul#primary-menu > li > a,
ul#primary-menu > li .navParrent {
  border-bottom:1px solid #FFF;
}

.main-navigation .menu-item.nav-single > a {
  position: relative;
  display: inline-block;
  width: 100%;
}

.nav-single a::before,
.nav-single a::after,
span.navParrent::before,
span.navParrent::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.nav-single a::before{
  right: 9px;
  width: 7px;
  height: 1px;
  background: #fff;
}

.nav-single a::after{
  right: 8px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

span.navParrent::before,
span.navParrent::after {
  right: 9px;
  width: 7px;
  height: 1px;
  background: #fff;
}

span.navParrent::after {
  transition: .3s;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

span.navParrent.active::after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

@media screen and (min-width: 960px) {
  #primary-menu {
    min-width:475px;
  }

  .main-navigation .menu-item > a {
    font-size: 24px;
    font-size: 1.5rem;
  }

  .main-navigation .menu-item span.navParrent {
    font-size: 1.5rem;
    cursor: pointer;
  }
}

.has-menuOpen .main-navigation {
  width: 100%;
  height: 100%;
  height: 100vh;
}

 /* btn-menutoggle
  ---------------------------------------- */
 .btn-menutoggle {
   position: relative;
   width: 48px;
   height: 48px;
   background-color: #000;
   border: none;
   border-radius: 0;
 }

 .btn-menutoggle:hover {
   background-color: #0d0d0d;
 }

 .btn-menutoggle > span {
   -webkit-transition: all 0.25s ease-in-out;
   transition: all 0.25s ease-in-out;
   position: absolute;
   top: 50%;
   left: 50%;
   display: block;
   width: 24px;
   height: 3px;
   background-color: #fff;
   -webkit-transform-origin: center;
           transform-origin: center;
 }

 .btn-menutoggle > span:nth-of-type(1) {
   -webkit-transform: translate(-50%, -10px) rotate(0);
           transform: translate(-50%, -10px) rotate(0);
 }

 .btn-menutoggle > span:nth-of-type(2) {
   opacity: 1;
   -webkit-transform: translate(-50%, 0);
           transform: translate(-50%, 0);
 }

 .btn-menutoggle > span:nth-of-type(3) {
   -webkit-transform: translate(-50%, 10px);
           transform: translate(-50%, 10px);
 }

 .btn-menutoggle.is-act {
   box-shadow: 0 0 0 rgba(0, 0, 0, 0.8);
 }

 .btn-menutoggle.is-act > span:nth-of-type(1) {
   -webkit-transform: translate(-50%, 0) rotate(45deg);
           transform: translate(-50%, 0) rotate(45deg);
 }

 .btn-menutoggle.is-act > span:nth-of-type(2) {
   opacity: 0;
   -webkit-transform: translate(-50%, 0);
           transform: translate(-50%, 0);
 }

 .btn-menutoggle.is-act > span:nth-of-type(3) {
   -webkit-transform: translate(-50%, 0) rotate(-45deg);
           transform: translate(-50%, 0) rotate(-45deg);
 }

 @media screen and (min-width: 600px) {
   .btn-menutoggle {
     width: 65px;
     height: 65px;
   }
 }

 /* .language-switch
  ---------------------------------------- */
 .language-switch {
   display: block;
 }

 .language-switch .btn-switch {
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
           align-items: center;
   height: 48px;
   padding: 0 12px;
   margin: 0;
   line-height: 1;
   color: #fff;
   background-color: #b2a370;
   -webkit-transition: background-color .2s ease;
   transition: background-color .2s ease;
 }

 .language-switch .btn-switch:hover {
   background-color: #9b8b54;
 }

 .language-switch .btn-switch > .icon {
   display: block;
   margin-right: 8px;
 }

 .language-switch .btn-switch > .icon > img {
   display: block;
   width: 25px;
   height: 25px;
 }

 .language-switch .btn-switch > span {
   display: block;
 }

 .language-switch .language-list {
   display: none;
 }

 .language-switch.has-open .language-list {
   display: block;
   -webkit-animation: list-show .25s ease 0s;
           animation: list-show .25s ease 0s;
 }

 @media screen and (min-width: 600px) {
   .language-switch .btn-switch {
     height: 65px;
     padding: 0 24px;
   }
 }

 @-webkit-keyframes list-show {
   from {
     opacity: 0;
   }
   to {
     opacity: 1;
   }
 }

 @keyframes list-show {
   from {
     opacity: 0;
   }
   to {
     opacity: 1;
   }
 }

 /* language-list
  ---------------------------------------- */
 .language-list {
   display: block;
   padding: 0;
   margin: 0;
   list-style: none;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
 }

 .language-list__item {
   display: block;
   padding: 0;
   margin: 0;
   border: 1px solid #d4c389;
   background-color: #fff;
 }

 .language-list__item:not(:last-of-type) {
   border-bottom: none;
 }

 .language-list__item > a {
   display: block;
   width: 100%;
   padding: 0 16px;
   line-height: 48px;
   color: #000;
   background-color: #fff;
 }

 .language-list__item > a:visited, .language-list__item > a:hover, .language-list__item > a:focus, .language-list__item > a:active {
   color: #000;
   text-decoration: none;
 }

 .language-list__item > a:hover {
   background-color: #f9f8f5;
   -webkit-transition: background-color .2s ease;
   transition: background-color .2s ease;
 }

 .language-list__item > a[data-stt-active] {
   background-color: rgba(178, 163, 112, 0.5);
 }

 /* link-text
  ---------------------------------------- */
 .link-text {
   position: relative;
   display: inline-block;
   padding-right: 1.5em;
 }

 .link-text::after {
   position: absolute;
   top: 50%;
   right: 0;
   -webkit-box-align: baseline;
           align-items: baseline;
   font-family: "Material Icons";
   font-size: 1.25em;
   color: #666;
   content: "\e315";
   -webkit-transform: translateY(-50%);
           transform: translateY(-50%);
 }

 /* link-btn
  ---------------------------------------- */
 .link-btn {
   font-size: 18px;
   font-size: 1.125rem;
   position: relative;
   display: inline-block;
   padding: 0 1.5em;
   overflow: hidden;
   font-weight: 300;
   line-height: 3em;
   color: #fff;
   text-align: center;
   background-color: #b2a370;
   /* outline: 1px solid #fff;
   outline-offset: -2px; */
 }

 .link-btn.has-arrow {
   padding: 0 2.5em 0 1.5em;
   text-align: left;
 }

 .link-btn.has-arrow::after {
   position: absolute;
   top: 50%;
   right: .5rem;
   -webkit-box-align: baseline;
           align-items: baseline;
   font-family: "Material Icons";
   font-size: 1.25em;
   content: "\e315";
   -webkit-transform: translateY(-50%);
           transform: translateY(-50%);
 }

 .link-btn::before {
   position: absolute;
   top: 50%;
   left: 50%;
   display: block;
   width: 110%;
   height: auto;
   padding-top: 110%;
   content: "";
   background-color: rgba(255, 255, 255, 0.15);
   border-radius: 50%;
   -webkit-transition: all .2s ease;
   transition: all .2s ease;
   -webkit-transform: translate(-50%, -50%) scale(0);
           transform: translate(-50%, -50%) scale(0);
 }

 .link-btn:visited, .link-btn:hover, .link-btn:focus, .link-btn:active {
   color: #fff;
   text-decoration: none;
   /* outline: 1px solid #fff;
   outline-offset: -2px; */
 }

 .link-btn:hover::before {
   -webkit-transform: translate(-50%, -50%) scale(1);
           transform: translate(-50%, -50%) scale(1);
 }

 .link-btn.is-mail::after {
   font-size: 1.5em;
   content: "\e0e1";
 }

 @media screen and (min-width: 960px) {
   .link-btn {
     min-width: 350px;
   }
 }

 .link-btn__wrap {
   width: 100%;
   margin: 0 -.5rem 1rem;
   margin-bottom: 1rem;
 }

 .link-btn__wrap.has-btncenter, .link-btn__wrap.has-btnright, .link-btn__wrap.has-btnleft {
   display: -webkit-box;
   display: flex;
   flex-wrap: wrap;
 }

 .link-btn__wrap.has-btncenter {
   -webkit-box-pack: center;
           justify-content: center;
 }

 .link-btn__wrap.has-btnright {
   -webkit-box-pack: end;
           justify-content: flex-end;
 }

 .link-btn__wrap.has-btnleft {
   -webkit-box-pack: start;
           justify-content: flex-start;
 }

 .link-btn__wrap .link-btn {
   margin: 0 .5rem .5rem;
 }

 /* link-sns
  ---------------------------------------- */
 .link-sns {
   display: block;
   width: 48px;
 }

 .link-sns > img {
   display: block;
   width: 100%;
   height: auto;
 }

 /* entry-header
  ---------------------------------------- */
  .entry-header, .archive-header {
   margin: 0 0 2rem;
   padding-top: 1rem;
 }

 .entry-header__inner, .archive-header__inner {
   box-sizing: border-box;
   max-width: 1140px;
   padding: 0 30px;
   margin: 0 auto;
 }

 .spot-content .entry-header__inner, .spot-content .archive-header__inner {
   padding: 0;
   justify-content: flex-start;
 }

 .entry-header__inner .entry-meta, .archive-header__inner .entry-meta {
   margin: 0 auto 1.5rem;
 }

 .entry-header__inner .share-lnks, .archive-header__inner .share-lnks {
   margin: 0 auto 2rem;
 }

 .entry-header__inner .entry-title, .archive-header__inner .entry-title, .entry-header__inner .archive-title, .archive-header__inner .archive-title {
   width: 100%;
 }

 .entry-header nav,
 .archive-header nav,
 .page-content nav {
   width: 100%;
 }

 .entry-header nav ul,
 .archive-header nav ul,
 .page-content nav ul {
   display: flex;
   justify-content: center;
   width: 100%;
   margin: 0 0 80px;
   padding: 0;
 }

 .archive-header nav ul {
   margin: 0;
 }

 .page-content nav ul {
   margin: 0 0 60px;
 }


 .entry-header nav ul li,
 .archive-header nav ul li,
 .page-content nav ul li {
   display: block;
   list-style-type: none;
   /* width: 250px;
   margin: 0 6px; */
 }

 .entry-header nav ul li a,
 .archive-header nav ul li a,
 .page-content nav ul li a {
   display: block;
   width: 100%;
   text-align: center;
   font-size:1.125rem;
   color: #bda366;
 }

 .entry-header nav ul li a:hover,
 .archive-header nav ul li a:hover,
 .page-content nav ul li a:hover {
   text-decoration: none;
   opacity: .7;
 }

 .entry-header__inner address,
 .archive-header__inner address {
   margin:0 3em 0 0;
 }

 .spot-content .entry-header__inner.customPost-header__inner {
   padding: 0 15px;
   text-align: center;
 }

 .spot-content .entry-header__inner.customPost-header__inner .entry-title {
   text-align: center;
 }

 .spot-content .entry-header__inner.customPost-header__inner address {
   margin: 0;
 }

 @media screen and (min-width: 600px) {
   .entry-header, .archive-header {
     max-width: 730px;
     margin: 0 auto 2rem;
   }
   .spot-content .entry-header,.spot-content .archive-header {
     max-width: 1140px;
     margin: 0 auto 2rem;
     padding:36px 15px 0;
   }
   .entry-header__inner, .archive-header__inner {
     display: -webkit-box;
     display: flex;
     flex-wrap: wrap;
     -webkit-box-pack: justify;
             justify-content: space-between;
   }
   .entry-header__inner .entry-meta, .archive-header__inner .entry-meta {
     -webkit-box-ordinal-group: 2;
             order: 1;
     margin: 0 0 3rem;
   }
   .entry-header__inner .share-lnks, .archive-header__inner .share-lnks {
     -webkit-box-ordinal-group: 3;
             order: 2;
     margin: 0 0 3rem 0;
   }
   .entry-header__inner .entry-title, .archive-header__inner .entry-title, .entry-header__inner .archive-title, .archive-header__inner .archive-title {
     -webkit-box-ordinal-group: 4;
             order: 3;
     width: 100%;
   }
   .spot-content .entry-header__inner .entry-title, .spot-content .archive-header__inner .entry-title, .entry-header__inner .archive-title, .spot-content .archive-header__inner .archive-title {
     -webkit-box-ordinal-group: 0;
             order:0;
     width: 100%;
     margin-bottom: .25em;
   }
 }

 @media screen and (min-width: 960px) {
   .spot-content .entry-header__inner.customPost-header__inner {
     padding: 0;
     text-align: left;
   }

   .spot-content .entry-header__inner.customPost-header__inner .entry-title {
     text-align: left;
   }

   .spot-content .entry-header__inner.customPost-header__inner address {
     margin: 0 3em 0 0;
   }
 }

 /* entry-content
  ---------------------------------------- */
 .entry-content {
   margin: 0 auto 3rem;
 }

 .entry-content h1 {
   font-size: 24px;
   font-size: 1.5rem;
   margin-bottom: 2rem;
   font-family: serif;
   font-weight: 300;
 }

 .entry-content h2 {
   font-size: 18px;
   font-size: 1.125rem;
   margin-bottom: 2rem;
   font-family: serif;
   font-weight: 300;
 }

 .entry-content h3 {
   font-size: 18px;
   font-size: 1.125rem;
   margin-bottom: 2rem;
   font-weight: 300;
   border-bottom: 1px solid #000;
 }

 .entry-content h5 {
   margin-bottom: 2rem;
   font-weight: 300;
 }

 .entry-content img {
   max-width: 100%;
   height: auto;
   margin: 0 auto 0;
 }

 @media screen and (min-width: 600px) {
   .entry-content {
     max-width: 730px;
     margin: 0 auto 5rem;
   }
   .spot-content .entry-content {
     max-width: 1140px;
     margin: 0 auto 5rem;
   }
 }

 /* spot-contents
  ---------------------------------------- */
 .s-wrap {
   display: block;
   margin-bottom: 60px;
 }

 .s-wrap:last-child {
   margin-bottom: 0;
 }

 .s-wrap h2 {
   display: block;
   width: 100%;
   padding: 0 0 1rem;
   margin: 0 0 1rem;
   font-size: 1.375rem;
   font-weight: 400;
   text-align: center;
   border-bottom: 1px solid #000;
 }

 .s-wrap ul {
   width: 100%;
   display: flex;
   justify-content: space-between;
   margin: 0;
   padding: 0;
 }

 .s-wrap ul li {
   list-style-type: none;
 }

 .s-wrap__discription picture {
   display: block;
   width: 100%;
   margin: 0 0 1rem;
 }

 .s-wrap__discription img {
   display: block;
   width: 100%;
   height: auto;
   margin: 0;
 }

 .s-wrap__discription p {
   width: 100%;
   line-height: 1.75;
   font-weight: normal;
 }

 .s-wrap ul.s-wrap__serviceList {
   width: 100%;
   display: block;
   margin: 0;
   padding: 0;
 }

 .s-wrap__service li {
   display: block;
   width: 100%;
   margin: 0 0 2rem;
 }

 .s-wrap__service li img {
   display: block;
   width: 100%;
   margin: 0 0 20px;
 }

 .s-wrap__service li dt {
   display: block;
   width: 100%;
   margin: 0 0 1rem;
   font-size: 1rem;
   font-weight: bold;
   line-height: 1em;
 }

 .s-wrap__service li dd {
   display: block;
   width: 100%;
   margin: 0;
   font-size: .75rem;
   line-height: 1.75;
 }

 .s-wrap.s-wrap__link {
   justify-content: center;
   padding-top: 40px;
 }

 .s-wrap__link a {
   display: block;
   width: 386px;
   padding: 20px 0;
   background-color:#bda366;
   color: #FFF;
   text-align: center;
   font-size: 1.25em;
   line-height: 1em;
 }

 .s-wrap__link a:hover {
   text-decoration: none;
 }

 .s-wrap__access {
   position: relative;
   width: 100vw;
   height: 0;
   margin-left: -15px;
   padding-bottom: 71.56%;
 }

 .s-wrap iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
 }

 .s-wrap__access h2 {
   display: none;
 }


 @media screen and (min-width: 960px) {
   .s-wrap {
     display: flex;
     justify-content: space-between;
     flex-wrap: wrap;
     margin-bottom: 60px;
   }

   .s-wrap h2 {
     display: block;
     width: 100%;
     margin: 0 0 2rem;
     padding: 0;
     font-size: 1.375rem;
     font-weight: bold;
     text-align: left;
     border-bottom: none;
   }

   .s-wrap__discription picture {
     width: 48.5%;
     margin: 0;
   }

   .s-wrap__discription p {
     width: 48.5%;
     font-weight: bold;
   }

   .s-wrap ul.s-wrap__serviceList {
     width: 100%;
     display: flex;
     justify-content: space-between;
     margin: 0;
     padding: 0;
   }

   .s-wrap__service li {
     display: block;
     width: 31.4%;
     margin: 0;
   }

   .s-wrap__service li dt {
     font-size: 1.375rem;
   }

   .s-wrap__service li dd {
     font-size: 1rem;
     line-height: 1.25rem;
   }

   .s-wrap__access {
     position: relative;
     width: 100%;
     height: auto;
     margin-left: 0;
     padding-bottom: 0;
   }

   .s-wrap iframe {
     position: relative;
     top: 0;
     left: 0;
     width: 100%;
     height: auto;
   }
   .s-wrap iframe {
     position: relative;
     width: 100%;
     max-width: 100%;
     height: 450px;
     margin-left: 0;
   }

   .s-wrap__access h2 {
     display: block;
   }
 }

 /* entry-title
  ---------------------------------------- */
 .entry-title, .archive-title {
   font-size: 24px;
   font-size: 1.5rem;
   display: block;
   padding: 0;
   margin: 0 auto;
   font-family: serif;
   line-height: 1.25;
   text-align: center;
 }

 .spot-content .entry-title {
   padding: 0;
   margin: 0;
   text-align: left;
   font-size: 1.375rem;
 }

 .entry-title > span, .archive-title > span {
   display: inline-block;
   padding: 0 0 1em;
   margin: 0 auto;
   font-weight: 300;
   color: #000;
   letter-spacing: -.05em;
   border-bottom: 1px solid #000;
 }

 .spot-content .entry-title > span {
   display: inline-block;
   padding: 0 0 1rem;
   margin: 0 0 1rem;
   font-weight: 400;
   color: #000;
   letter-spacing: 0;
   border-bottom: 1px solid #000;
 }

 @media screen and (min-width: 960px) {
   .entry-title, .archive-title {
     font-size: 30px;
     font-size: 1.875rem;
     margin: 0 auto;
     letter-spacing: .5rem;
   }

   .spot-content .entry-title > span {
     display: inline;
     padding: 0;
     margin: 0 ;
     font-weight: 700;
     color: #000;
     letter-spacing: 0;
     border-bottom: none
   }
 }

 /* .entry-meta
  ---------------------------------------- */
 .entry-meta {
   font-size: 14px;
   font-size: 0.875rem;
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
           align-items: center;
           font-family: serif;
           font-weight: 300;
   line-height: 1;
 }

 .entry-meta > span {
   display: block;
 }

 .entry-meta > span:not(:last-of-type) {
   margin-right: .5rem;
 }

 .entry-meta .entry-category {
   padding: 4px 8px;
   color: #fff;
   background-color: #ccc;
 }

 .entry-meta .entry-category > a {
   color: #fff;
   text-decoration: none;
 }

 .entry-meta .entry-category.is-news {
   background-color: #7e90c6;
 }

 .entry-meta .entry-category.is-resortwedding {
   background-color: #8ab5e6;
 }

 .entry-meta .entry-category.is-honeymoon {
   background-color: #ebb9aa;
 }

 .entry-meta .entry-category.is-propose {
   background-color: #b5acd6;
 }

 .entry-meta .entry-category.is-vowrenewal {
   background-color: #adb866;
 }

 .entry-meta .entry-category:hover {
   opacity: .75;
 }

 /* entry-eyecatch
  ---------------------------------------- */
 .entry-eyecatch {
   width: 100%;
   margin: 0 0 2rem;
 }

 .entry-eyecatch > img {
   display: block;
   max-width: 100%;
   height: auto;
 }

 /* entry-footer
  ---------------------------------------- */
 .entry-footer {
   padding: 0;
   margin: 0;
 }

 @media screen and (min-width: 600px) {
   .entry-footer {
     max-width: 730px;
     margin: 0 auto;
   }
 }

 /* posted-on
  ---------------------------------------- */
 .published + .updated {
   display: none;
 }

 /* title-primary
  ---------------------------------------- */
 .title-primary {
   font-size: 40px;
   font-size: 2.5rem;
   display: block;
   padding: 0;
   margin: 0 auto 2rem;
   line-height: 1;
   text-align: center;
 }

 .g-sect .title-primary {
   width: 100%;
   text-align: left;
 }

 .title-primary.is-small {
   font-size: 32px;
   font-size: 2rem;
 }

 .title-primary > span {
   display: inline-block;
   padding: 0 0 4px;
   margin: 0 auto;
   font-weight: 300;
   color: #000;
   letter-spacing: -.05em;
   border-bottom: 1px solid #000;
 }

 @media screen and (min-width: 350px) {
   .title-primary {
     font-size: 48px;
     font-size: 13.7142857143vw;
   }
   .title-primary.is-small {
     font-size: 32px;
     font-size: 9.1428571429vw;
   }
 }

 @media screen and (min-width: 600px) {
   .title-primary {
     font-size: 74px;
     font-size: 4.625rem;
     margin: 0 auto 4rem;
   }
   .g-sect .title-primary {
     position: relative;
     font-size: 74px;
     font-size: 4.625rem;
     font-weight: 400;
   }
   .title-primary.is-small {
     font-size: 48px;
     font-size: 3rem;
   }
 }

 /* title-secondary
  ---------------------------------------- */
 .title-secondary {
   font-size: 20px;
   font-size: 1.25rem;
   color: #666;
   display: block;
   margin: 0 0 24px;
   padding: 0 0 3px 32px;
   position: relative;
 }

 .title-secondary::before {
   background-image: url(../images/icon_title-primary.png);
   background-repeat: no-repeat;
   background-size: 100% auto;
   content: "";
   display: block;
   height: 24px;
   left: 0;
   position: absolute;
   top: 50%;
   -webkit-transform: translateY(-50%);
           transform: translateY(-50%);
   width: 24px;
 }

 @media screen and (min-width: 960px) {
   .title-secondary {
     font-size: 24px;
     font-size: 1.5rem;
     padding: 0 0 8px 56px;
   }
   .title-secondary::before {
     height: 40px;
     width: 40px;
   }
 }

 /* title-desc
  ---------------------------------------- */
 .title-desc {
   font-size: 16px;
   font-size: 1rem;
   display: block;
   padding: 0;
   font-family: serif;
   text-align: center;
 }

 .title-primary + .title-desc {
   margin: -1.5rem auto 2rem;
 }

 @media screen and (min-width: 350px) {
   .title-desc {
     font-size: 18px;
     font-size: 5.1428571429vw;
   }
 }

 @media screen and (min-width: 600px) {
   .title-desc {
     font-size: 24px;
     font-size: 1.5rem;
   }
   .title-primary + .title-desc {
     margin: -3rem auto 4rem;
   }
 }

 /* text-desc
  ---------------------------------------- */
 .text-desc {
   font-size: 18px;
   font-size: 1.125rem;
   margin: 0 0 2rem;
   font-family: serif;
   font-weight: 300;
   line-height: 1.75;
   text-align: center;
 }

 .text-desc:last-of-type {
   margin-bottom: 0;
 }

 @media screen and (min-width: 960px) {
   .text-desc {
     font-size: 22px;
     font-size: 1.375rem;
     line-height: 2.5;
   }
 }

 /* .breadcrumbs
  ---------------------------------------- */
 .breadcrumbs {
   width: 100%;
   max-width: 1140px;
   margin: 0 auto;
   position: relative;
   z-index: 10;
   padding: 0 20px;
   top: 0;
 }

 @media screen and (min-width: 960px) {
   .breadcrumbs {
     top: -30px;
   }
 }

 /* content-container
  ---------------------------------------- */
 .content-container {
   position: relative;
 }

 .content-container::before, .content-container::after {
   position: absolute;
   top: -70px;
   left: 50%;
   z-index: 1;
   display: block;
   content: "";
   -webkit-transform: translate(-50%, 0);
           transform: translate(-50%, 0);
 }

 .content-container::before {
   width: 100%;
   max-width: 1140px;
   height: 140px;
   background-color: #fff;
   outline: 1px solid #d4c389;
   outline-offset: -8px;
   box-shadow: 0 -5px 10px 10px rgba(0, 0, 0, 0.2);
 }

 .content-container::after {
   width: 100%;
   height: 155px;
   background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 30%, #fff 80%, #fff 100%);
   background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 30%, #fff 80%, #fff 100%);
 }

 .content-container .entry-header, .content-container .archive-header,
 .content-container .entry-content,
 .content-container .page-content {
   position: relative;
   z-index: 3;
 }

 @media screen and (min-width: 600px) {
   .content-container::before {
     width: calc(100% - 15px);
   }
 }

 /* page-header
  ---------------------------------------- */
 .page-header {
   position: relative;
   display: block;
 }

 .page-header__img {
   width: 100%;
   height: 400px;
 }

 .page-header__img > img {
   position: relative;
   left: 50%;
   display: block;
   width: auto;
   max-width: initial;
   height: 100%;
   padding: 0;
   margin: 0;
   -webkit-transform: translateX(-50%);
           transform: translateX(-50%);
 }

 .page-header__inner {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 1;
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
           align-items: center;
   -webkit-box-pack: end;
           justify-content: flex-end;
   width: 100%;
   max-width: 1140px;
   height: 100%;
   padding: 0 15px;
   margin: 0 auto;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
 }

 .page-header__inner .title-primary,
 .page-header__inner .title-desc {
   text-align: right;
 }

 .page-header__inner .title-desc {
   margin-bottom: 0;
 }

 @media screen and (min-width: 600px) {
   .page-header__img {
     height: auto;
     min-height: 320px;
   }
   .page-header__img > img {
     width: 100%;
     max-width: initial;
     height: auto;
     -o-object-fit: cover;
        object-fit: cover;
     font-family: "object-fit: cover;";
   }
 }

 @media screen and (min-width: 1366px) {
   .page-header__img > img {
     width: 100%;
     max-width: initial;
     height: auto;
   }
 }

 /* .page-content
  ---------------------------------------- */
 /* page-footer
  ---------------------------------------- */
 .page-footer {
   max-width: 1140px;
   padding: 0;
   margin: 0 auto;
 }



 /* f_category_wrap
  ---------------------------------------- */
  @media screen and (min-width: 600px){
   .l-sect.f_category_wrap .l-inner {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
   }
  }

  .l-sect.f_category_wrap .l-inner h2,
  .l-sect.f_category_wrap .l-inner p {
    width: 100%;
  }

  .l-sect.f_category_wrap .l-inner a:hover {
    color:#000;
    text-decoration: none;
  }

 /* category-card
  ---------------------------------------- */
 .category-card {
   margin: 0 auto 3rem;
 }

 .category-card:first-child {
   display: flex;
   flex-direction: column;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
 }

 .category-card:first-child > * {
   width: 100%;
 }

 .category-card:first-child > h2 {
   margin-bottom: 2rem;
 }

 .category-card:first-child > p {
   margin-bottom: 0;
 }

 .category-card:first-child > .title-primary + .title-desc {
   margin: 0;
 }

 .category-card__img {
   position: relative;
   z-index: 0;
 }

 .category-card__img > img {
   display: block;
   width: 100%;
   max-width: 100%;
   height: auto;
 }

 .category-card__contents {
   position: relative;
   z-index: 1;
   padding: 24px 0 0;
   background-color: #fff;
   color: #000;
 }

 .category-card__contents a {
   display: block;
   width: 100%;
   padding: .5rem 0;
   background-color: #b2a370;
   color: #FFF;
   text-align: center;
 }

 .category-card__title {
   font-size: 40px;
   font-size: 2.5rem;
   display: inline-block;
   padding: 0;
   margin: 0 auto 1.5rem 0;
   font-weight: 300;
   line-height: 1;
   color: #000;
   border-bottom: 1px solid #000;
 }

 .category-card__desc {
   font-size: 16px;
   font-size: 1rem;
   margin: 0 auto 1rem 0;
   font-family: serif;
   text-align: left;
 }

 .category-card__title + .category-card__desc {
   margin-top: -1.5rem;
 }

 .category-card__text {
   margin: 0 auto 2rem 0;
 }

 .category-card__link .link-btn {
   width: 100%;
   min-width: initial;
 }

 @media screen and (min-width: 350px) {
   .category-card__title {
     font-size: 40px;
     font-size: 11.4285714286vw;
   }
   .category-card__desc {
     font-size: 18px;
     font-size: 1.125rem;
   }
   .category-card__text {
     font-size: 16px;
     font-size: 1rem;
   }
 }

 @media screen and (min-width: 600px) {
   .category-card {
     width:47.6%;
     margin: 0;
   }
   .category-card:last-of-type {
     margin-bottom: 0;
   }
   .category-card > .category-card__img {
     display: flex;
     justify-content: center;
     align-items: center;
     height: 294px;
     overflow: hidden;
   }
   .category-card > .category-card__img img {
     flex-shrink: 0;
   }
   .category-card > .category-card__contents {
   }
   .category-card.has-imgright {
   }
   .category-card.has-imgright > .category-card__img {
   }
   .category-card.has-imgright > .category-card__contents {
   }
   .category-card__title {
     font-size: 60px;
     font-size: 2.625rem;
   }
   .category-card__desc {
     margin-bottom: .5rem;
     font-weight: bold;
   }
   .category-card__contents {
     font-size: 18px;
     font-size: 1.125rem;
     padding: 65px 8%;
   }
   .category-card__text {
     font-size: .8rem;
   }
 }

 @media screen and (min-width: 960px) {
   .category-card__contents {
     padding: 30px 0;
   }
 }

 /* entry-card
  ---------------------------------------- */
  .entry-card {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
 }

 .is-recommend .entry-card {
   flex-direction: row;
 }

 .is-recommend .entry-card > .entry-card__img {
   width:40%;
 }

 .is-recommend .entry-card > .entry-card__img > img {
   top: 0;
   margin-bottom: 1rem;
   -webkit-transform: translate(-50%, 0);
           transform: translate(-50%, 0);
 }

 .is-recommend .entry-card > .entry-card__infoWrap {
   width:55%;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
 }

 .entry-card > .entry-card__img {
 }

 .is-recommend .entry-card__meta {
   order: -1;
 }

 .entry-card__title {
   font-size: 16px;
   font-size: 1rem;
   display: block;
   margin: 0;
   font-family: serif;
   font-weight: 400;
   line-height: 1.2;
 }

 .entry-card__meta address {
   margin: 0 0 .75em;
   line-height: 1rem;
 }

 .entry-card__img {
   position: relative;
   width: 100%;
   height: auto;
   margin: 0;
   overflow: hidden;
 }

 .entry-card__img::before {
   display: block;
   width: 100%;
   padding-top: 66.6666%;
   content: "";
 }

 .entry-card__img > img {
   position: absolute;
   top: 50%;
   left: 50%;
   display: block;
   width: auto;
   min-width: 100%;
   height: auto;
   padding: 0;
   margin: 0;
   font-family: "object-fit: cover;";
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
 }

 @supports ((-o-object-fit: cover) or (object-fit: cover)) {
   .entry-card__img > img {
     width: 100%;
     min-width: initial;
     height: 100%;
     min-height: initial;
     -o-object-fit: cover;
        object-fit: cover;
     font-family: "object-fit: cover;";
   }
 }

 .entry-card__meta {
   font-size: 12px;
   font-size: 0.75rem;
   display: -webkit-box;
   display: flex;
   -webkit-box-orient: vertical;
   -webkit-box-direction: normal;
           flex-direction: column;
   font-family: serif;
   line-height: 1;
 }

 .is-recommend .entry-entry-card__title {
   font-size: 1.125rem;
 }

 .entry-card__meta .entry-category {
   margin: 0 .5em .5rem 0;
 }

 .entry-card__meta .entry-category::before {
   display: inline-block;
   width: 11px;
   height: 11px;
   margin: 0 .25em 0 0;
   content: "";
   background-color: #ccc;
 }

 .is-news .entry-card__meta .entry-category::before {
   background-color: #7e90c6;
 }

 .is-resortwedding .entry-card__meta .entry-category::before {
   background-color: #8ab5e6;
 }

 .is-honeymoon .entry-card__meta .entry-category::before {
   background-color: #ebb9aa;
 }

 .is-propose .entry-card__meta .entry-category::before {
   background-color: #b5acd6;
 }

 .is-vowrenewal .entry-card__meta .entry-category::before {
   background-color: #adb866;
 }

 @media screen and (min-width: 350px) {
   .entry-card__title {
     margin: .5rem 0;
     font-size: 16px;
     font-size: 1rem;
     flex-grow: 1;
   }
   .entry-card__meta {
     font-size: 13px;
     font-size: 0.8125rem;
   }
 }

 @media screen and (min-width: 600px) {
   .entry-card__title {
     font-size: 18px;
     font-size: 1.125rem;
   }
   .entry-card__meta {
     font-size: 14px;
     font-size: 0.875rem;
   }
 }

 @media screen and (min-width: 960px) {
   .entry-card__title {
     font-size: 16px;
     font-size: 1rem;
     display: block;
     font-weight: 400;
     line-height: 1.5;
   }

   .entry-card__meta address {
   margin: 0 0 1.5em;
 }
 }

 /* archive-list
  ---------------------------------------- */
 .archive-list {
   display: -webkit-box;
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   padding: 0;
   margin: 0 auto 2rem;
   list-style: none;
 }

 .archive-list > .archive-list__item {
   width: 100%;
   margin: 0 auto 1rem;
 }

 .archive-list__item {
   display: block;
   padding: 0;
   margin: 0;
 }

 .archive-list__item > a {
   position: relative;
   display: block;
   width: 100%;
   height: 100%;
   padding: 0 0 .5rem;
   overflow: hidden;
   color: #000;
 }

 .archive-list__item > a:visited, .archive-list__item > a:hover, .archive-list__item > a:focus, .archive-list__item > a:active {
   color: #000;
   text-decoration: none;
 }

 .archive-list__item > a::before {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 0;
   display: block;
   width: 150%;
   height: auto;
   padding-top: 150%;
   pointer-events: none;
   content: "";
   background-color: rgba(255, 255, 255, 0.25);
   border-radius: 50%;
   -webkit-transition: all .25s ease;
   transition: all .25s ease;
   -webkit-transform: translate(-50%, -50%) scale(0);
           transform: translate(-50%, -50%) scale(0);
 }

 .archive-list__item > a:hover::before {
   -webkit-transform: translate(-50%, -50%) scale(1);
           transform: translate(-50%, -50%) scale(1);
 }

 .archive-list__item .entry-card {
   width: 100%;
   height: 100%;
 }

 @media screen and (min-width: 350px) {
   .archive-list > .archive-list__item {
     width: calc((100% - 15px) / 2);
     margin: 0 15px 30px 0;
   }
   .archive-list > .archive-list__item:nth-of-type(2n) {
     margin-right: 0;
   }
   .archive-list.is-recommend > .archive-list__item {
     width: 100%;
     max-width: 540px;
     margin: 0 auto 30px;
   }
 }

 @media screen and (min-width: 600px) {
   .archive-list > .archive-list__item {
     width: calc((100% - 30px) / 3);
   }
   .archive-list > .archive-list__item:nth-of-type(2n) {
     margin-right: 15px;
   }
   .archive-list > .archive-list__item:nth-of-type(3n) {
     margin-right: 0;
   }
   .archive-list.is-recommend > .archive-list__item {
     width: 100%;
     max-width: 540px;
     margin: 0 auto 30px;
   }
 }

 @media screen and (min-width: 960px) {
   .archive-list > .archive-list__item {
     width: calc((100% - 90px) / 4);
     max-width: 255px;
     margin: 0 30px 30px 0;
   }
   .archive-list > .archive-list__item:nth-of-type(2n) {
     margin-right: 30px;
   }
   .archive-list > .archive-list__item:nth-of-type(3n) {
     margin-right: 30px;
   }
   .archive-list > .archive-list__item:nth-of-type(4n) {
     margin-right: 0;
   }
   .archive-list.is-recommend > .archive-list__item {
     width: calc((100% - 30px) / 2);
     max-width: 540px;
     margin: 0 30px 30px 0;
   }
   .archive-list.is-recommend > .archive-list__item:nth-of-type(2n) {
     margin-right: 0;
   }
   .archive-list.has-3col > .archive-list__item {
     width: calc((100% - 60px) / 3);
     max-width: 350px;
     margin: 0 30px 30px 0;
   }
   .archive-list.has-3col > .archive-list__item:nth-of-type(2n) {
     margin-right: 30px;
   }
   .archive-list.has-3col > .archive-list__item:nth-of-type(3n) {
     margin-right: 0;
   }
   .archive-list.has-3col > .archive-list__item .entry-card__title {
     font-size: 24px;
     font-size: 1.5rem;
   }
 }

 /* banner-container
  ---------------------------------------- */
 .banner-container {
   display: -webkit-box;
   display: flex;
   flex-wrap: wrap;
   -webkit-box-pack: center;
           justify-content: center;
   width: 100%;
   padding: 0;
   margin: 0;
   list-style: none;
 }

 .banner-container > .banner-itme {
   -webkit-box-flex: 1;
           flex-grow: 1;
   width: 80%;
   max-width: 430px;
   margin: 0 8px 16px;
 }

 .banner-container > .banner-itme:last-of-type {
   margin-bottom: 0;
 }

 .banner-itme {
   display: block;
   width: 100%;
   padding: 0;
 }

 .banner-itme > a {
   display: block;
   width: 100%;
   padding: 0;
   margin: 0;
 }

 .banner-itme img {
   display: block;
   width: 100% !important;
   max-width: 100% !important;
   height: auto;
   padding: 0;
   margin: 0;
 }

 @media screen and (min-width: 600px) {
   .banner-container {
     -webkit-box-pack: start;
             justify-content: flex-start;
     max-width: 920px;
     margin: 0 auto;
   }
   .banner-container > .banner-itme {
     -webkit-box-flex: initial;
             flex-grow: initial;
     width: calc((100% - 15px) / 2);
     margin: 0 0 15px;
   }
   .banner-container > .banner-itme:nth-of-type(2n + 1) {
     margin-right: 15px;
   }
   .banner-container > .banner-itme:last-of-type {
     margin-bottom: 15px;
   }
 }

 @media screen and (min-width: 960px) {
   .banner-container > .banner-itme {
     width: calc((100% - 30px) / 2);
     margin: 0 0 30px;
   }
   .banner-container > .banner-itme:nth-of-type(2n + 1) {
     margin-right: 30px;
   }
   .banner-container > .banner-itme:last-of-type {
     margin-bottom: 30px;
   }
 }


 /* f-gallery
  ---------------------------------------- */
  .g-sect.spot-sect .l-inner {
   padding-bottom: 0;
  }

  .g-sect-title {
    width: 100%;
    display: block;
    margin-bottom: 40px;
    text-align: center;
  }

  .g-sect-title h2.title-primary > span {
   display: inline-block;
   padding: 0 0 4px;
   margin: 0 auto;
   font-weight: 300;
   color: #000;
   letter-spacing: 0;
   border-bottom: 1px solid #000;
  }

  .g-sect-title h2.title-primary {
    display: inline-block;
    width: auto;
    margin: 0 0 10px;
  }

  .g-sect-title .title-primary + .title-desc {
   margin: 0;
 }

 .g-sect-linkWrap {
   display: block;
   width: 100%;
   text-align: center;
 }

  .g-sect a.g-sect-moreLink {
   display: inline-block;
   position: relative;
   margin: 3rem auto 0;
   padding: .5rem 2rem;
   background-color: #b2a370;
   color: #fff;
   font-family: serif;
   font-size: 1.5rem;
   font-weight: 400;
  }

  .g-sect a.g-sect-moreLink:hover {
   text-decoration: none;
   opacity: .7 !important;
  }

  .g-sect.spot-sect a.g-sect-moreLink {
   margin: 1rem auto 0;
  }

  .fmovieLink,
  a.fmovieLink {
    position: relative;
    display: block;
    width:48.3%;
    outline: none;
    margin-bottom:1rem;
  }

  a.fmovieLink:hover,
  a.fmovieLink:focus,
  a.fmovieLink:visited {
   outline: none;
 }

 a.fmovieLink::after {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   left: 0;
   bottom: 0;
   display: block;
   width:56px;
   height: 56px;
   margin: auto;
   background:url(../images/btn-movie-play.png) 0 0 no-repeat;
 }

 .page-content .f_content_movie_list--card {
   width: 100%;
   margin: 0 0 100px;
   text-align: center;
 }

 .page-content .f_content_movie_list--card p {
   display: inline-block;
   padding-bottom: 1rem;
   border-bottom:1px solid #000;
   font-weight: bold;
   font-size: 1.25rem;
 }

  .page-content a.fmovieLink {
   position: relative;
   display: block;
   width:100%;
   height: 0;
   margin-bottom: 100px;
   padding-bottom: 56.25%;
   overflow: hidden;
 }

 .page-content a.fmovieLink:last-child {
   margin-bottom: 0;
 }

 .page-content a.fmovieLink:hover {
   text-decoration: none;
 }

  a.fmovieLink img {
    display: block;
    width:100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
  }

  .page-content a.fmovieLink img {
   position: absolute;
   display: block;
   width:100%;
   height:100%;
 }

  a.l-gallery {
    display: block;
  }

  a.l-gallery img {
    display: block;
    width: 100%;
    height: auto;
  }

  @media screen and (min-width: 960px) {
   a.l-gallery {
     width: 14.4%;
   }

   .g-sect-title {
     width: 100%;
     display: flex;
     justify-content: start;
     align-items: center;
     margin-bottom: 40px;
   }

   .g-sect-title h2.title-primary {
     display: inline-block;
     width: auto;
     margin: 0;
   }

   .g-sect-title h2.title-primary > span {
     margin:0 2rem 0 0;
    border-bottom: none;
   }

   .g-sect-title .title-primary + .title-desc {
    margin: 0;
  }

  .g-sect a.g-sect-moreLink {
   display: block;
   position: absolute;
   top: 1rem;
   right: 15px;
   margin: 0;
   padding: .5rem 2rem;
   background-color: #b2a370;
   color: #fff;
   font-family: serif;
   font-size: 1.5rem;
   font-weight: 400;
  }


  .fmovieLink,
  a.fmovieLink {
   width:31.5%;
   margin-bottom: 0;
  }

  .page-content a.fmovieLink {
   display: block;
   width:100%;
   margin-bottom: 100px;
   color:#000;
   font-size: 1.375rem;
   font-weight: bold;
 }

  .page-content a.fmovieLink img {
   position: absolute;
   display: block;
   width:100%;
   object-fit: cover;
   font-family: "object-fit: cover;";
 }

  .g-sect a.g-sect-moreLink {
    margin:0 auto;
  }



 .page-content .f_content_movie_list--card {
   width: 100%;
   margin: 0 0 100px;
   text-align: left;
 }

 .page-content .f_content_movie_list--card p {
   display: inline-block;
   padding-bottom: 0;
   border-bottom:none;
 }
  }

  .g-sect ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 0;
  }

  .g-sect ul li,.g-sect ul span {
   display: block;
   width: 48.3%;
   margin-bottom: 1rem;
   line-height: 1.2rem;
   list-style-type: none;
  }

 .g-sect ul li a {
   color: #000;
 }

 .g-sect ul li a:hover {
   text-decoration: none;
 }

 .g-sect ul li a img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: .5em;
  object-fit: cover;
 }

 @media screen and (min-width: 960px) {
   .g-sect {
     flex-wrap: nowrap;
   }

   .g-sect ul li,.g-sect ul span {
     width: 22.9%;
     margin-bottom: 0;
     line-height: 1.75;
   }

   .g-sect ul li a img {
     height: auto;
     min-height: 200px;
    }
 }


 /* block-mediatext
  ---------------------------------------- */
 .block-mediatext {
   display: block;
 }

 .block-mediatext:not(:last-of-type) {
   margin-bottom: 4rem;
 }

 .block-mediatext__img {
   margin: 0 auto 1rem;
 }

 .block-mediatext__img > img {
   display: block;
   max-width: 100%;
   height: auto;
 }

 .block-mediatext__title {
   font-size: 24px;
   font-size: 1.5rem;
   display: block;
   padding: 0;
   margin: 0 auto 1rem;
   font-family: serif;
   font-weight: 300;
   line-height: 1.5;
   letter-spacing: -.05em;
 }

 @media screen and (min-width: 600px) {
   .block-mediatext {
     display: -webkit-box;
     display: flex;
     -webkit-box-align: center;
             align-items: center;
   }
   .block-mediatext:not(:last-of-type) {
     margin-bottom: 7rem;
   }
   .block-mediatext > .block-mediatext__img {
     max-width: 635px;
     margin-right: 30px;
   }
   .block-mediatext > .block-mediatext__contents {
     max-width: 445px;
   }
   .block-mediatext.has-imgright > .block-mediatext__img {
     -webkit-box-ordinal-group: 3;
             order: 2;
     margin-right: 0;
     margin-left: 30px;
   }
   .block-mediatext.has-imgright > .block-mediatext__contents {
     -webkit-box-ordinal-group: 2;
             order: 1;
   }
   .block-mediatext__title {
     font-size: 30px;
     font-size: 1.875rem;
     margin-bottom: 2rem;
   }
 }

 /* btn-toTop
  ---------------------------------------- */
 .toTop-wrap {
   position: fixed;
   right: 16px;
   bottom: 24px;
   z-index: 100;
   display: none;
   width: 48px;
   height: 48px;
   opacity: 1;
   -webkit-transition: opacity .2s ease-in;
   transition: opacity .2s ease-in;
 }

 .toTop-wrap.is-act {
   display: block;
 }

 .toTop-wrap.is-hide {
   opacity: 0;
 }

 .toTop-wrap .btn-toTop {
   position: relative;
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
           align-items: center;
   -webkit-box-pack: center;
           justify-content: center;
   width: 48px;
   height: 48px;
   padding: 0;
   margin: 0;
   overflow: hidden;
   background-color: #b2a370;
   border-radius: 50%;
   -webkit-transition: opacity .5s ease;
   transition: opacity .5s ease;
 }

 .toTop-wrap .btn-toTop:hover {
   opacity: .7;
 }

 .toTop-wrap .btn-toTop .material-icons {
   font-size: 36px;
   color: #fff;
 }

 /* google-map
  ---------------------------------------- */
 .google-map {
   position: relative;
   width: 100%;
   height: 0;
   padding-bottom: 56.25%;
   overflow: hidden;
 }

 .google-map > iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
 }

 @media screen and (min-width: 600px) {
   .google-map {
     padding-bottom: 75%;
   }
 }

 /* yt-movie
  ---------------------------------------- */
 .yt-movie {
   position: relative;
   height: 56.25vw;
   max-height: 720px;
   background-color: #000;
 }

 .yt-movie > iframe,
 .yt-movie > video {
   width: 100%;
   height: 56.25vw;
 }

 .yt-movie .video-thumbnail {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
   width: 100%;
   height: 100%;
   padding: 0;
   margin: 0;
   overflow: hidden;
 }

 .yt-movie .video-thumbnail::after {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 2;
   display: block;
   content: "";
   background-color: rgba(0, 0, 0, 0.2);
 }

 .yt-movie .video-thumbnail > img {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 1;
   display: block;
   width: 100%;
   height: auto;
   padding: 0;
   margin: 0;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
 }

 @supports ((-o-object-fit: cover) or (object-fit: cover)) {
   .yt-movie .video-thumbnail > img {
     width: 100%;
     min-width: initial;
     height: 100%;
     min-height: initial;
     -o-object-fit: cover;
        object-fit: cover;
   }
 }

 .yt-movie .btn-vidoPlay {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 3;
   width: 128px;
   height: 128px;
   -webkit-transition: -webkit-transform .25s ease-out;
   transition: -webkit-transform .25s ease-out;
   transition: transform .25s ease-out;
   transition: transform .25s ease-out, -webkit-transform .25s ease-out;
   -webkit-transform: translate(-50%, -50%) scale(1);
           transform: translate(-50%, -50%) scale(1);
 }

 .yt-movie .btn-vidoPlay:hover {
   -webkit-transform: translate(-50%, -50%) scale(0.9);
           transform: translate(-50%, -50%) scale(0.9);
 }

 .yt-movie .btn-vidoPlay > img {
   display: block;
   width: 100%;
   height: auto;
 }

 @media screen and (min-width: 600px) {
   .yt-movie .btn-vidoPlay {
     width: 128px;
     width: 25vw;
     height: 128px;
     height: 25vw;
   }
 }

 @media screen and (min-width: 960px) {
   .yt-movie {
     height: 720px;
   }
   .yt-movie > iframe,
   .yt-movie > video {
     width: 100%;
     height: 720px;
   }
   .yt-movie .btn-vidoPlay {
     width: 180px;
     height: 180px;
   }
 }

 /* video-container
  ---------------------------------------- */
 .video-container {
   position: relative;
   display: none;
   height: 56.25vw;
   max-height: 720px;
   background-color: #000;
 }

 .video-container > video {
   width: 100%;
   height: 56.25vw;
 }

 .video-container .video-thumbnail {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 1;
   width: 100%;
   height: 100%;
   padding: 0;
   margin: 0;
   overflow: hidden;
 }

 .video-container .video-thumbnail::after {
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   z-index: 2;
   display: block;
   content: "";
   background-color: rgba(0, 0, 0, 0.2);
 }

 .video-container .video-thumbnail > img {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 1;
   display: block;
   width: 100%;
   height: auto;
   padding: 0;
   margin: 0;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
 }

 @supports ((-o-object-fit: cover) or (object-fit: cover)) {
   .video-container .video-thumbnail > img {
     width: 100%;
     min-width: initial;
     height: 100%;
     min-height: initial;
     -o-object-fit: cover;
        object-fit: cover;
   }
 }

 .video-container .btn-vidoPlay {
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 3;
   width: 128px;
   height: 128px;
   -webkit-transition: -webkit-transform .25s ease-out;
   transition: -webkit-transform .25s ease-out;
   transition: transform .25s ease-out;
   transition: transform .25s ease-out, -webkit-transform .25s ease-out;
   -webkit-transform: translate(-50%, -50%) scale(1);
           transform: translate(-50%, -50%) scale(1);
 }

 .video-container .btn-vidoPlay:hover {
   -webkit-transform: translate(-50%, -50%) scale(0.9);
           transform: translate(-50%, -50%) scale(0.9);
 }

 .video-container .btn-vidoPlay > img {
   display: block;
   width: 100%;
   height: auto;
 }

 @media screen and (min-width: 600px) {
   .video-container .btn-vidoPlay {
     width: 128px;
     width: 25vw;
     height: 128px;
     height: 25vw;
   }
 }

 @media screen and (min-width: 960px) {
   .video-container {
     height: 720px;
   }
   .video-container > video {
     width: 100%;
     height: 720px;
   }
   .video-container .btn-vidoPlay {
     width: 180px;
     height: 180px;
   }
 }

 /* block-gallery
 ---------------------------------------- */
 .block-gallery {
   display: -webkit-box;
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   padding: 0;
   margin: 0 auto;
   list-style: none;
 }

 .block-gallery:not(:last-of-type) {
   margin-bottom: 4rem;
 }

 .block-gallery__item {
   display: block;
   width: calc(50% - 8px);
   padding: 0;
   margin: 0;
   margin-bottom: 16px;
 }

 .block-gallery__item:not(:nth-child(2n)) {
   margin-right: 16px;
 }

 .block-gallery__item > a {
   position: relative;
   display: block;
   width: 100%;
   height: auto;
   padding-top: 66.6666666667%;
   overflow: hidden;
 }

 .block-gallery__item img {
   position: absolute;
   top: 50%;
   left: 50%;
   width: 100%;
   height: auto;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
 }

 @media screen and (min-width: 600px) {
   .block-gallery__item {
     width: calc((100% - 32px) / 3);
     margin-bottom: 16px;
   }
   .block-gallery__item:not(:nth-child(2n)) {
     margin-right: 0;
   }
   .block-gallery__item:not(:nth-child(3n)) {
     margin-right: 16px;
   }
 }

 @media screen and (min-width: 960px) {
   .block-gallery__item {
     width: calc((100% - 12px) / 5);
     margin-bottom: 30px;
   }
   .block-gallery__item:not(:nth-child(3n)) {
     margin-right: 0;
   }
   .block-gallery__item:not(:nth-child(4n)) {
     margin-right: 0;
   }
   .block-gallery__item:not(:nth-child(5n)) {
     margin-right: 30px;
   }
 }

 /* title-pageblock
  ---------------------------------------- */
 .title-pageblock {
   font-size: 22px;
   font-size: 1.375rem;
   display: block;
   width: 100%;
   padding: 0;
   margin: 0 auto 2rem;
   line-height: 1.5;
   text-align: center;
 }

 .title-pageblock > span {
   display: inline-block;
   padding: 1rem 1rem;
   margin: 0 auto;
   font-family: serif;
   font-weight: 400;
   border-bottom: 1px solid #000;
 }

 .title-pageblock > span .on-sp {
   display: inline;
 }

 @media screen and (min-width: 600px) {
   .title-pageblock {
     font-size: 24px;
     font-size: 6.8571428571vw;
   }
   .title-pageblock > span {
     padding: 1rem .5rem;
   }
 }

 @media screen and (min-width: 600px) {
   .title-pageblock {
     font-size: 30px;
     font-size: 1.875rem;
     margin-bottom: 3rem;
   }
   .title-pageblock > span .on-sp {
     display: none;
   }
 }

 /* gallery-swiper
  ---------------------------------------- */
 .gallery-swiper-container {
   position: relative;
   padding: 0;
   margin: 0 auto;
 }

 .gallery-swiper-container .btn-gallery-swiper-prev,
 .gallery-swiper-container .btn-gallery-swiper-next {
   position: absolute;
   top: 50%;
   z-index: 10;
   display: -webkit-box;
   display: flex;
   -webkit-box-align: center;
           align-items: center;
   -webkit-box-pack: center;
           justify-content: center;
   width: 32px;
   height: 64px;
   -webkit-transform: translateY(-50%);
           transform: translateY(-50%);
 }

 .gallery-swiper-container .btn-gallery-swiper-prev:hover,
 .gallery-swiper-container .btn-gallery-swiper-next:hover {
   background-color: #eee;
   opacity: .7;
 }

 .gallery-swiper-container .btn-gallery-swiper-prev > .material-icons,
 .gallery-swiper-container .btn-gallery-swiper-next > .material-icons {
   font-size: 32px;
   color: #333;
 }

 .gallery-swiper-container .btn-gallery-swiper-prev {
   left: 0;
 }

 .gallery-swiper-container .btn-gallery-swiper-next {
   right: 0;
 }

 .gallery-swiper {
   padding: 0;
   margin: 0;
 }

 .gallery-swiper .swiper-wrapper {
   margin: 0;
 }

 .gallery-swiper .swiper-slide-img {
   position: relative;
   width: 100%;
   height: auto;
   padding-top: 66.6666666667%;
   overflow: hidden;
 }

 .gallery-swiper .swiper-slide-img > img {
   position: absolute;
   top: 50%;
   left: 50%;
   display: block;
   width: 100%;
   height: 100%;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
   -o-object-fit: cover;
      object-fit: cover;
      font-family: "object-fit: cover;";
 }

 @media all and (-ms-high-contrast: none) {
   .gallery-swiper .swiper-slide-img > img {
     width: 100%;
     height: auto;
     font-family: "object-fit: cover;";
   }
 }

 .gallery-swiper .swiper-pagination {
   bottom: 0 !important;
   padding: 0 0 1px;
   background-color: transparent;
 }

 .gallery-swiper .swiper-pagination .swiper-pagination-bullet {
   background-color: #eee;
   opacity: 1;
 }

 .gallery-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
   background-color: #ffc500;
 }

 @media screen and (min-width: 600px) {
   .gallery-swiper-container {
     padding: 0 70px;
   }
   .gallery-swiper-container .btn-gallery-swiper-prev,
   .gallery-swiper-container .btn-gallery-swiper-next {
     width: 70px;
   }
   .gallery-swiper-container .btn-gallery-swiper-prev > .material-icons,
   .gallery-swiper-container .btn-gallery-swiper-next > .material-icons {
     font-size: 64px;
   }
 }

 @media screen and (min-width: 960px) {
   .gallery-swiper-container {
     width: 80%;
   }
   .gallery-swiper .swiper-pagination {
     padding: 0 0 1px;
   }
 }

 /* ------------------------------------------------------------------
  ## Project
  ----------------------------------------------------------------- */
 /* ### header
  ------------------------------------------------------- */
 /* site-header
  ---------------------------------------- */
 .site-header {
   background-color: transparent;
 }

 .site-header .site-title {
   width: 80px;
 }

 @media screen and (min-width: 600px) {
   .site-header .site-title {
     width: 200px;
     width: 25vw;
   }
 }

 @media screen and (min-width: 960px) {
   .site-header .site-title {
     width: 259px;
   }
 }

 /* js-header
  ---------------------------------------- */
 .site-header.js-header {
   position: fixed;
   opacity: 1;
   -webkit-transition: opacity .25s ease, -webkit-transform .25s ease;
   transition: opacity .25s ease, -webkit-transform .25s ease;
   transition: opacity .25s ease, transform .25s ease;
   transition: opacity .25s ease, transform .25s ease, -webkit-transform .25s ease;
 }

 .site-header.js-header.is-hide {
   opacity: 0;
   -webkit-transform: translateY(-100%);
           transform: translateY(-100%);
 }

 .site-header.js-header .site-title {
   opacity: 1;
   -webkit-transition: opacity .25s ease-out;
   transition: opacity .25s ease-out;
 }

 .site-header.js-header.is-shrink .site-title {
   pointer-events: none;
   opacity: 0;
 }

 /* header-navigation
  ---------------------------------------- */
 .header-navigation {
   position: relative;
   display: -webkit-box;
   display: flex;
   -webkit-box-pack: right;
           justify-content: right;
 }

 .header-navigation .btn-menutoggle {
   z-index: 1010;
 }

 .header-navigation .language-switch {
   margin-right: 2px;
 }

 /* ### footer
  ------------------------------------------------------- */
 /* site-footer
  ---------------------------------------- */
 .site-footer {
   background-color: #fff;
 }

 /* site-copyright
  ---------------------------------------- */
 .site-copyright {
   font-size: 12px;
   font-size: 0.75rem;
   font-family: serif;
   line-height: 2;
   text-align: center;
 }

 /* ### page-top
  ------------------------------------------------------- */
/* top-hero
 ---------------------------------------- */
 .top-hero {
  position: relative;
  width: 100%;
  height: 99vh;
  max-height: 870px;
  margin: 0 0 5rem;
  overflow: hidden;
}

.top-hero__contents {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
}

.top-hero__title,
.top-hero__message {
  position: absolute;
  display: block;
}

.top-hero__title > img,
.top-hero__message > img {
  display: block;
  width: 50%;
  max-width: 100%;
  height: auto;
  padding: 0;
}

.top-hero__message > img {
  margin-left: auto;
}

.top-hero__title {
  bottom: 0;
  left: 10px;
  width: 40%;
  max-width: 280px;
}

.top-hero__message {
  top: 10%;
  right: 0;
  width: 35%;
  max-width: 360px;
}

.top-hero__catchcopy {
  position: absolute;
  top: 40%;
  right: 50%;
  transform: translateX(50%);
  color: #F0FFFF;
  font-size: max(4.27vw, 16px);
  font-weight: 500;
  font-family: "Yu Mincho", "游明朝", serif;
  text-align: center;
  line-height: 1.5;
  letter-spacing: .3em;
  margin: 0;
}

.top-hero__bg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.top-hero__bg > picture img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  object-position: top;
}

.top-hero .btn-toContent {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 20%;
  max-width: 72px;
  -webkit-transition: -webkit-transform 0.25s ease-out;
  transition: -webkit-transform 0.25s ease-out;
  transition: transform 0.25s ease-out;
  transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  filter: drop-shadow(0px 0px 4px #000);
}

.top-hero .btn-toContent > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
}

.top-hero .btn-toContent:hover {
  -webkit-transform: translate(-50%, 5px);
          transform: translate(-50%, 5px);
}

@media screen and (min-width: 600px) {
  .top-hero {
  }
  .top-hero__title {
    bottom: 2%;
    width: 25%;
  }
  .top-hero__title > img,
  .top-hero__message img {
    width: 100%;
  }
}

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

  .top-hero__title {
    left: auto;
    right: 2%;
    width: 20%;
  }
  .top-hero__bg > picture img {
    object-position: 60% 20%;
  }
  .top-hero__catchcopy {
    top: 52%;
    right: initial;
    left: 2%;
    transform: none;
    color: #fff;
    font-size: 40px;
    text-align: left;
    writing-mode: horizontal-tb;
    letter-spacing: 0;
  }
  .top-hero__catchcopy span {
    display: block;
    margin-top: 0;
    margin-left: 2em;
  }
}

/* @media screen and (min-width: 1366px) {
  .top-hero__message {
    top: 15%;
    left: auto;
    right: 10%;
    width: 25%;
  }
  .top-hero__title {
    bottom: 15%;
    left: auto;
    right: 15%;
    width: 20%;
  }
  .top-hero__bg > picture img {
    object-position: 100% 20%;
  }
} */

@media screen and (orientation: landscape) and (min-width: 600px) and (max-width: 767px) {
  .top-hero__message {
    top: 66%;
    left: auto;
    left: 3%;
    width: 35%;
  }
  .top-hero__title {
    bottom: 15%;
    left: auto;
    right: 15%;
    width: 20%;
  }
  .top-hero__bg > picture img {
    object-position: 60% 20%;
  }
}
@media screen and (orientation: landscape) and (max-width: 767px) {
  .top-hero__message {
    max-width: initial;
    width: 35%;
    top: 66%;
    left: 3%;
  }
}
 /* sect-about
  ---------------------------------------- */
 .sect-about {
   box-sizing: content-box;
   padding: 3rem .5rem;
   background-color: #fff;
   background-image: url(../images/img_top-about@2x.jpg);
   background-repeat: no-repeat;
   background-position: top center;
   background-size: auto 100%;
 }

 .sect-about__inner {
   position: relative;
   box-sizing: content-box;
   max-width: 730px;
   padding: 2rem .5rem;
   margin: 0 auto;
   background-color: rgba(255, 255, 255, 0.4);
   box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.2);
 }

 .sect-about__deco {
   position: absolute;
   top: -25px;
   right: -2.7777777778%;
   width: 33.3333333333%;
   max-width: 302px;
   pointer-events: none;
 }

 .sect-about__deco > img {
   display: block;
   width: 100%;
   height: auto;
   padding: 0;
   margin: 0;
   pointer-events: none;
 }

 .sect-about__text {
   font-size: 14px;
   font-weight: 300;
   line-height: 2;
   text-align: center;
 }

 .sect-about__text > p {
   padding: 0;
   margin: 0;
 }

 .sect-about__text > p:not(:last-of-type) {
   margin-bottom: 2em;
 }

 .sect-about__text .on-sp {
   display: inline;
 }

 @media screen and (min-width: 350px) {
   .sect-about__text {
     font-size: 19px;
     font-size: 3.1666666667vw;
   }
   .sect-about__text .on-sp {
     display: none;
   }
 }

 @media screen and (min-width: 600px) {
   .sect-about {
     padding: 3rem 1rem;
   }
   .sect-about__inner {
     padding: 2rem 1rem;
   }
   .sect-about__deco {
     top: -40px;
     right: -5.5555555556%;
     width: 30.5555555556%;
   }
   .sect-about__text {
     font-size: 18px;
     font-size: 1.125rem;
   }
 }

 @media screen and (min-width: 960px) {
   .sect-about {
     padding: 7rem 1rem 7rem;
   }
   .sect-about__inner {
     padding: 4rem 1rem;
   }
   .sect-about__deco {
     top: -50px;
     right: -12.5%;
     width: 41.9444444444%;
   }
   .sect-about__text {
     font-size: 20px;
     font-size: 1.25rem;
   }
 }

 @media screen and (min-width: 1366px) {
   .sect-about__deco {
     top: -50px;
     right: -90px;
     width: 302px;
   }
   .sect-about {
     background-size: 100% auto;
   }
 }

 /* sect-movie
 ---------------------------------------- */
.movieWrap__top {
    position: relative;
    width: 100%;
    margin-bottom: 2rem;
  }

  @media screen and (min-width: 600px) {
    .movieWrap__top {
      width: 31.5%;
      margin-bottom: 0;
    }
  }

  .movieWrap__top a {
    display: block;
    position: relative;
    width: 100%;
    margin-bottom: .5rem;
  }

  .movieWrap__top a img {
    width: 100%;
  }

  .movieWrap__top p {
    font-size: .875rem;
    text-align: center;
  }

  a.fmovieLink::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    display: block;
    width: 56px;
    height: 56px;
    margin: auto;
    background: url(../images/btn-movie-play.png) 0 0 no-repeat;
  }

  .movie-title {
    font-size: 56px;
    font-size: 3.5rem;
    position: relative;
    z-index: 10;
    display: block;
    padding: 0;
    margin: 0;
    font-weight: 300;
    line-height: 1;
    color: #000;
    text-align: left;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
    letter-spacing: -.05em;
    -webkit-transform: translateY(28px);
            transform: translateY(28px);
  }

  @media screen and (min-width: 350px) {
    .movie-title {
      font-size: 64px;
      font-size: 18.2857142857vw;
      -webkit-transform: translateY(9.1428571429vw);
              transform: translateY(9.1428571429vw);
    }
  }

  @media screen and (min-width: 600px) {
    .movie-title {
      font-size: 130px;
      font-size: 8.125rem;
      -webkit-transform: translateY(60px);
              transform: translateY(60px);
    }
  }

  .modaal-video-wrap {
    margin: auto;
    position: relative;
  }

  @media screen and (min-width: 600px) {
    .modaal-video-wrap {
      margin: auto 50px;
      position: relative;
    }
  }

/* campaign-container
 ---------------------------------------- */
 .l-sect.f_campaign_wrap {
  width: 100%;
}

.l-sect.f_campaign_wrap .l-inner {
  padding: 1rem 0;
}

@media screen and (min-width: 960px) {
  .l-sect.f_campaign_wrap .l-inner {
    padding: 1rem 15px;
  }
}

.f_campaign-innner>picture,
.f_campaign-innner>picture img {
  position: relative;
  display: block;
  width: 100%;
}

.f_campaign-innner>picture {
  margin-bottom: 25px;
}


.l-sect.f_campaign_wrap ul.linkWrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 15px;
}

@media screen and (min-width: 960px) {
  .l-sect.f_campaign_wrap ul.linkWrap {
    margin: -45px auto 0;
    padding: 0;
  }
}

.l-sect.f_campaign_wrap ul.linkWrap li {
  display: block;
  width: 100%;
  margin: 0 0 25px;
  padding: 35px;
  background-color: #FFF;
  border: 1px solid #c4ba93;
  outline: 1px solid #c4ba93;
  outline-offset: -15px;
  box-shadow: 0px 5px 16px -6px rgba(0,0,0,0.6);
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .l-sect.f_campaign_wrap ul.linkWrap li {
  margin: 0;
  }
  .l-sect.f_campaign_wrap ul.linkWrap li:last-child {
    display: flex;
    justify-content: space-between;
    grid-column: 1/3;
  }
}

.l-sect.f_campaign_wrap ul.linkWrap li h3 {
  margin-bottom: 10px;
  border-bottom: 1px solid #0f0e09;
  font-size: 2rem;
  line-height: 1.5;
  text-align: center;
}

.l-sect.f_campaign_wrap ul.linkWrap li img {
  width: 100%;
  margin-bottom: 10px;
}

.l-sect.f_campaign_wrap ul.linkWrap li p {
  margin-bottom: 1.5rem;
  font-size: .95rem;
  line-height: 1.2em;
  text-align: center;
}

.l-sect.f_campaign_wrap ul.linkWrap li p.cancel,
.l-sect.f_campaign_wrap ul.linkWrap li p.end {
  height: auto;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.2rem;
  line-height: 1.5rem;
}

@media screen and (min-width: 600px) {
  .l-sect.f_campaign_wrap ul.linkWrap li p.cancel,
  .l-sect.f_campaign_wrap ul.linkWrap li p.end {
    font-size: 1.25rem;
  }
}

.l-sect.f_campaign_wrap ul.linkWrap li p.cancel span,
.l-sect.f_campaign_wrap ul.linkWrap li p.end span {
  color: #F00;
}

.l-sect.f_campaign_wrap ul.linkWrap li p.note {
  margin-bottom: 1.2rem;
  font-size: .625rem;
}

.l-sect.f_campaign_wrap ul.linkWrap li a {
  display: block;
  width:100%;
  padding: .6rem;
  background:#a50a16;
  outline: 1px solid #fff;
  outline-offset: -2px;
  color: #FFF;
  font-size: 1.25rem;
  text-align: center;
  transition: .3s;
  opacity: 1;
}

.l-sect.f_campaign_wrap ul.linkWrap li a:hover {
  text-decoration: none;
  opacity: .7;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toCWrap {
  width: 100%;
  margin-bottom: 20px;
  padding: 15px 7.5px;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap {
  width: 100%;
  padding: 15px 7.5px;
  background: #e6e6e6;
}

@media screen and (min-width: 600px) {
  .l-sect.f_campaign_wrap ul.linkWrap li .toCWrap{
    width: 48%;
    margin-bottom: 0;
    padding: 0;
  }

  .l-sect.f_campaign_wrap ul.linkWrap li .toBWrap {
    width: 48%;
    padding: 15px;
  }
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap .head {
  position: relative;
  display: block;
  width: 80%;
  margin: 0 auto 10px;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap .head img {
  display: block;
  width: 100%;
  margin:0;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap .head span {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFF;
  line-height: 1.2rem;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap h3 {
  font-size: 1.4rem;
  line-height: 1.2;
  border: none;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap>picture img {
  width: 100%;
  margin-bottom: 20px;
}

.l-sect.f_campaign_wrap ul.linkWrap li .toBWrap a {
  background: #069DCA;
}

@media screen and (min-width: 600px) {
  .l-sect.f_campaign_wrap ul.linkWrap li .toCWrap p {
    margin-bottom: .3rem;
    font-size: .8rem;
  }
  .l-sect.f_campaign_wrap ul.linkWrap li img {
    margin-bottom: 0;
  }
  .l-sect.f_campaign_wrap ul.linkWrap li .toCWrap p.note {
    margin-bottom: .8rem;
    font-size: .725rem;
  }
  .l-sect.f_campaign_wrap ul.linkWrap li .toBWrap>picture img {
    margin-bottom: 0;
  }
}

 /* news-container
  ---------------------------------------- */
 .news-container {
   display: -ms-grid;
   display: grid;
   -ms-grid-rows: auto 15px 1fr 15px auto;
   -ms-grid-columns: 100%;
       grid-template: "nc-title" auto "nc-contents" 1fr "nc-link" auto / 100%;
   grid-row-gap: 15px;
   grid-column-gap: 30px;
   margin: 0 auto;
 }

 .news-title {
   -ms-grid-row: 1;
   -ms-grid-column: 1;
   grid-area: nc-title;
   text-align: center;
 }

 .news-contents {
   -ms-grid-row: 3;
   -ms-grid-column: 1;
   grid-area: nc-contents;
 }

 .news-link {
   -ms-grid-row: 5;
   -ms-grid-column: 1;
   display: -webkit-box;
   display: flex;
   grid-area: nc-link;
   -webkit-box-align: center;
           align-items: center;
 }

 .news-link::before {
   -webkit-box-flex: 1;
           flex-grow: 1;
   height: 0;
   margin-right: 1em;
   content: "";
   border-top: 1px dotted #000;
 }

 .news-link__item > a {
   color: #000;
 }

 .news-link__item > a:visited, .news-link__item > a:hover, .news-link__item > a:focus, .news-link__item > a:active {
   color: #000;
   text-decoration: none;
 }

 .news-link__item > a:hover {
   color: #b2a370;
   text-decoration: underline;
 }

 .news-link__item > a::before {
   margin-right: .5em;
   content: ">";
 }

 @media screen and (min-width: 600px) {
   .news-container {
     width: 92%;
   }
   .news-title {
     text-align: left;
   }
   .news-container {
     -ms-grid-rows: 1fr auto;
     -ms-grid-columns: auto 1fr;
         grid-template: "nc-title nc-contents" 1fr "nc-link nc-link" auto / auto 1fr;
   }
   .news-link__item > a {
     font-size: 18px;
     font-size: 1.125rem;
   }
   .news-title {
     -ms-grid-row: 1;
     -ms-grid-column: 1;
   }
   .news-contents {
     -ms-grid-row: 1;
     -ms-grid-column: 2;
   }
   .news-link {
     -ms-grid-row: 2;
     -ms-grid-column: 1;
     -ms-grid-column-span: 2;
   }
 }

 /* news-list
  ---------------------------------------- */
 .news-list {
   padding: 0;
   margin: 0;
   list-style: none;
 }

 .news-list__item {
   padding: 0;
   margin: 0 0 1.25rem;
 }

 .news-list__item:last-of-type {
   margin-bottom: 0;
 }

 .news-list__item > a {
   position: relative;
   display: block;
   width: 100%;
   padding: 0 36px 0 8px;
   overflow: hidden;
   color: #000;
   -webkit-transition: background-color .25s ease-out;
   transition: background-color .25s ease-out;
 }

 .news-list__item > a::after {
   position: absolute;
   top: 50%;
   right: 0;
   font-family: "Material Icons";
   font-size: 32px;
   line-height: 1;
   color: #fff;
   content: "\e5cc";
   opacity: 0;
   -webkit-transition: opacity .25s ease-out, -webkit-transform .25s ease-out;
   transition: opacity .25s ease-out, -webkit-transform .25s ease-out;
   transition: transform .25s ease-out, opacity .25s ease-out;
   transition: transform .25s ease-out, opacity .25s ease-out, -webkit-transform .25s ease-out;
   -webkit-transform: translate(-50%, -50%);
           transform: translate(-50%, -50%);
 }

 .news-list__item > a:visited, .news-list__item > a:hover, .news-list__item > a:focus, .news-list__item > a:active {
   color: #000;
   text-decoration: none;
 }

 .news-list__item > a:hover {
   background: -webkit-linear-gradient(left, #fff, #f0f0f0);
   background: linear-gradient(to right, #fff, #f0f0f0);
   background-color: #f0f0f0;
 }

 .news-list__item > a:hover::after {
   opacity: 1;
   -webkit-transform: translate(0, -50%);
           transform: translate(0, -50%);
 }

 .news-list__meta {
   margin: 0 auto .5rem 0;
 }

 .news-list__meta .entry-category {
   margin: 0 .5em 0 0;
 }

 .news-list__meta .entry-category::before {
   display: inline-block;
   width: 11px;
   height: 11px;
   margin: 0 .25em 0 0;
   content: "";
   background-color: #ccc;
 }

 .is-news .news-list__meta .entry-category::before {
   background-color: #7e90c6;
 }

 .is-resortwedding .news-list__meta .entry-category::before {
   background-color: #8ab5e6;
 }

 .is-honeymoon .news-list__meta .entry-category::before {
   background-color: #ebb9aa;
 }

 .is-propose .news-list__meta .entry-category::before {
   background-color: #b5acd6;
 }

 .is-vowrenewal .news-list__meta .entry-category::before {
   background-color: #adb866;
 }

 .news-list__title {
   font-size: 16px;
   font-size: 1rem;
   margin: 0;
   font-weight: 300;
   line-height: 1.5;
 }

 @media screen and (min-width: 350px) {
   .news-list__title {
     font-size: 16px;
     font-size: 1rem;
   }
   .news-list__meta {
     font-size: 13px;
     font-size: 0.8125rem;
   }
 }

 @media screen and (min-width: 600px) {
   .news-list__title {
     font-size: 18px;
     font-size: 1.125rem;
   }
   .news-list__meta {
     font-size: 14px;
     font-size: 0.875rem;
   }
 }

 /* ### page-topics
  ------------------------------------------------------- */
 /* archive-header
  ---------------------------------------- */
 .archive-header__inner .archive-title {
   width: 100%;
 }

 /* archive-title
  ---------------------------------------- */
 /* archive-navigation
  ---------------------------------------- */
 .archive-navigation {
   display: block;
   margin: 0 auto 2rem;
 }

 .archive-navigation.sp-off {
   display: none;
 }



 .archive-navigation.pc-off {
   display: block;
   width: 100vw;
   margin: 0 0 0 -15px;
 }

 .page-content nav.archive-navigation.pc-off ul.archive-menu {
   justify-content: flex-start;
   margin: 0;
   padding: 0 15px;
   border: none;
 }

 .page-content nav.archive-navigation.pc-off ul.archive-menu li {
   font-size: 0.875rem;
   display: block;
   width: auto;
   padding: 0;
   margin: 0 .25rem .5rem;
   line-height: 32px;
 }

 .page-content nav.archive-navigation.pc-off ul.archive-menu li a {
   display: block;
   width: 100%;
   height: auto;
   padding: 0 .5em;
   font-family: serif;
   color: #000;
   text-align: center;
   text-decoration: none;
   -webkit-transition: background-color .25s ease-out;
   transition: background-color .25s ease-out;
   background-color: transparent;
   border: none;
   font-size: 0.875rem;
 }

 .page-content nav.archive-navigation.pc-off ul.archive-menu li.is-act > a {
   color: #fff;
 }

 .page-content nav.archive-navigation.pc-off ul.spot-contents-menu {
   justify-content: space-around;
   margin: 0;
 }

 .page-content nav.archive-navigation.pc-off ul li {
   width: 45%;
   margin: 0;
 }

 @media screen and (min-width: 960px) {
   .archive-navigation {
     margin-bottom: 4rem;
   }
   .archive-navigation.sp-off {
     display: block;
   }
   .archive-navigation.pc-off {
     display: none;
   }
 }

 /* archive-menu
  ---------------------------------------- */
 .archive-menu {
   display: -webkit-box;
   display: flex;
   flex-wrap: wrap;
   padding: 0;
   margin: 0 auto;
   list-style: none;
 }

 .archive-menu__item {
   font-size: 14px;
   font-size: 0.875rem;
   display: block;
   padding: 0;
   margin: 0 .25rem .5rem;
   line-height: 32px;
   border: 1px solid #000;
 }

 .archive-menu__item > a {
   display: block;
   width: 100%;
   height: auto;
   padding: 0 .5em;
   font-family: serif;
   color: #000;
   text-align: center;
   text-decoration: none;
   -webkit-transition: background-color .25s ease-out;
   transition: background-color .25s ease-out;
 }

 .archive-menu__item > a:hover, .archive-menu__item > a:focus, .archive-menu__item > a:active {
   color: #000;
   text-decoration: none;
 }

 .archive-menu__item > a:hover {
   background-color: rgba(255, 255, 255, 0.3);
 }

 .archive-menu__item.is-act {
   background-color: #b2a370 !important;
   border-color: #b2a370 !important;
 }

 .archive-menu__item.is-act > a {
   color: #fff;
   text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
 }

 .archive-menu__item.is-news {
   border-color: #7e90c6;
 }

 .archive-menu__item.is-resortwedding {
   border-color: #8ab5e6;
 }

 .archive-menu__item.is-honeymoon {
   border-color: #ebb9aa;
 }

 .archive-menu__item.is-propose {
   border-color: #b5acd6;
 }

 .archive-menu__item.is-vowrenewal {
   border-color: #adb866;
 }

 @media screen and (min-width: 960px) {
   .archive-menu {
     display: -webkit-box;
     display: flex;
     flex-wrap: nowrap;
     -webkit-box-pack: center;
             justify-content: center;
   }
   .archive-menu__item {
     position: relative;
     display: block;
     padding: 0;
     margin: 0;
     border: 1px solid #000;
     border-bottom: 3px solid #000;
   }
   .archive-menu__item:not(:last-of-type) {
     border-right-style: none;
   }
   .archive-menu__item > a {
     font-size: 18px;
     font-size: 1.125rem;
     padding: 0 1em;
     line-height: 52px;
     color: #000;
   }
   .archive-menu__item > a:hover, .archive-menu__item > a:focus, .archive-menu__item > a:active {
     color: #000;
   }
   .archive-menu__item > a:hover {
     background-color: #ece8db;
   }
   .archive-menu__item.is-act {
     background-color: #b2a370;
     border-color: #b2a370 !important;
   }
   .archive-menu__item.is-act::after {
     position: absolute;
     bottom: -16px;
     left: 50%;
     display: block;
     width: 0;
     height: 0;
     content: "";
     border: 16px solid transparent;
     border-top-color: #b2a370;
     -webkit-transform: translate(-50%, 50%);
             transform: translate(-50%, 50%);
   }
   .archive-menu__item.is-news, .archive-menu__item.is-resortwedding, .archive-menu__item.is-honeymoon, .archive-menu__item.is-propose, .archive-menu__item.is-vowrenewal {
     border-color: #000;
   }
   .archive-menu__item.is-news {
     border-bottom-color: #7e90c6;
   }
   .archive-menu__item.is-resortwedding {
     border-bottom-color: #8ab5e6;
   }
   .archive-menu__item.is-honeymoon {
     border-bottom-color: #ebb9aa;
   }
   .archive-menu__item.is-propose {
     border-bottom-color: #b5acd6;
   }
   .archive-menu__item.is-vowrenewal {
     border-bottom-color: #adb866;
   }
 }

 /* -----------------------------------------------------------------
  ## WP
  ----------------------------------------------------------------- */
 .page-content .wp-smiley,
 .entry-content .wp-smiley,
 .comment-content .wp-smiley {
   padding: 0;
   margin-top: 0;
   margin-bottom: 0;
   border: none;
 }

 /* Make sure embeds and iframes fit their containers. */
 embed,
 iframe,
 object {
   max-width: 100%;
 }

 /* Make sure logo link wraps around logo image. */
 .custom-logo-link {
   display: inline-block;
 }

 .wp-caption {
   max-width: 100%;
   margin-bottom: 1.5em;
 }

 .wp-caption img[class*="wp-image-"] {
   display: block;
   max-width: 100%;
   height: auto;
   margin: 0 auto;
 }

 .wp-caption .wp-caption-text {
   margin: .8075em 0;
 }

 .wp-caption-text {
   text-align: center;
 }

 .gallery {
   margin-bottom: 1.5em;
 }

 .gallery-item {
   display: inline-block;
   width: 100%;
   text-align: center;
   vertical-align: top;
 }

 .gallery-columns-2 .gallery-item {
   max-width: 50%;
 }

 .gallery-columns-3 .gallery-item {
   max-width: 33.33%;
 }

 .gallery-columns-4 .gallery-item {
   max-width: 25%;
 }

 .gallery-columns-5 .gallery-item {
   max-width: 20%;
 }

 .gallery-columns-6 .gallery-item {
   max-width: 16.66%;
 }

 .gallery-columns-7 .gallery-item {
   max-width: 14.28%;
 }

 .gallery-columns-8 .gallery-item {
   max-width: 12.5%;
 }

 .gallery-columns-9 .gallery-item {
   max-width: 11.11%;
 }

 .gallery-caption {
   display: block;
 }

 /* pagination
  ---------------------------------------- */
 .navigation.pagination .nav-links {
   display: -webkit-box;
   display: flex;
   -webkit-box-pack: center;
           justify-content: center;
 }

 .navigation.pagination .nav-links .page-numbers {
   font-size: 18px;
   font-size: 1.125rem;
   display: block;
   -webkit-box-flex: 1;
           flex-grow: 1;
   width: auto;
   max-width: 2em;
   padding: 0 .25em;
   margin: 0 5px;
   font-family: serif;
   line-height: 48px;
   color: #b2a370;
   text-align: center;
   text-decoration: none;
   border: 1px solid #b2a370;
 }

 .navigation.pagination .nav-links .page-numbers:visited, .navigation.pagination .nav-links .page-numbers:hover, .navigation.pagination .nav-links .page-numbers:focus, .navigation.pagination .nav-links .page-numbers:active {
   color: #b2a370;
 }

 .navigation.pagination .nav-links .page-numbers.current {
   color: #fff;
   text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
   background-color: #b2a370;
   border-color: #b2a370;
 }

 .navigation.pagination .nav-links .page-numbers .material-icons {
   font-size: 18px;
   font-size: 1.125rem;
   display: block;
   padding: 0;
   margin: 0;
   line-height: 48px;
 }

 .navigation.pagination .nav-links a.page-numbers:not(.current) {
   -webkit-transition: background-color .25s ease-out;
   transition: background-color .25s ease-out;
 }

 .navigation.pagination .nav-links a.page-numbers:not(.current):hover {
   background-color: #ece8db;
 }

 @media screen and (min-width: 960px) {
   .navigation.pagination .nav-links .page-numbers {
     font-size: 24px;
     font-size: 1.5rem;
     -webkit-box-flex: unset;
             flex-grow: unset;
     width: 65px;
     max-width: initial;
     margin: 0 5px;
     line-height: 65px;
   }
   .navigation.pagination .nav-links .page-numbers .material-icons {
     font-size: 28px;
     font-size: 1.75rem;
     line-height: 65px;
   }
 }

 /* -----------------------------------------------------------------
  ## Utility
  ----------------------------------------------------------------- */
 /* ### helpers
  ------------------------------------------------------- */
 .u-center {
   text-align: center !important;
 }

 .u-left {
   text-align: left !important;
 }

 .u-right {
   text-align: right !important;
 }

 .u-pull-left {
   float: left !important;
 }

 .u-pull-right {
   float: right !important;
 }

 .u-fontxsmall {
   font-size: .5em;
 }

 .u-fontsmall {
   font-size: .75em;
 }

 .u-fontlarge {
   font-size: 1.25em;
 }

 .u-fontxlarge {
   font-size: 1.5em;
 }

 .u-unmargin {
   margin: 0 !important;
 }

 .u-mgbt-0r {
   margin-bottom: 0rem !important;
 }

 .u-mgbt-1r {
   margin-bottom: 1rem !important;
 }

 .u-mgbt-2r {
   margin-bottom: 2rem !important;
 }

 .u-mgbt-3r {
   margin-bottom: 3rem !important;
 }

 .u-mgbt-4r {
   margin-bottom: 4rem !important;
 }

 .u-mgbt-5r {
   margin-bottom: 5rem !important;
 }

 .u-mgtop-0r {
   margin-top: 0rem !important;
 }

 .u-mgtop-1r {
   margin-top: 1rem !important;
 }

 .u-mgtop-2r {
   margin-top: 2rem !important;
 }

 .u-mgtop-3r {
   margin-top: 3rem !important;
 }

 .u-mgtop-4r {
   margin-top: 4rem !important;
 }

 .u-mgtop-5r {
   margin-top: 5rem !important;
 }



/* gallary slider
***********************************/
.slide-box {
  margin-bottom: 50px;
}

.slider {
  position: relative;
  width: 100%;
  height: 0;
  margin: 0 auto;
  padding: 0 0 66%;
  overflow: visible;
  overflow-y: hidden;
}

@media screen and (min-width: 960px) {
  .slider {
    width: 80%;
    padding: 0 0 52.8%;
  }
}


.slider img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.navThumb {
  width: calc( 90% - 10px);
  margin: 0 auto;
  padding: 0;
}

@media screen and (min-width: 960px) {
  .navThumb {
    width: calc( 70% - 10px);
  }
}

.navThumb li {
  width: 100%;
  cursor: pointer;
}

.navThumb li img{
  width: 100%;
  border: 1px solid #EEE;
}

.navThumb .slick-slide {
  margin: 0 5px;
}


/* gallary nav
***********************************/
ul.galleryNav {
  display: block;
  width: 100%;
  padding: 30px 0 0;
  flex-wrap: wrap;
}
ul.galleryNav li {
  list-style-type: none;
  width: 100%;
  margin-bottom: 1.5rem;
}

ul.galleryNav li a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  padding: .5rem 1rem;
  background-color: #B0A377;
  color: #FFF;
  font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
  text-align: center;
  outline: 1px solid #B0A377;
  outline-offset: 3px;
  transition: .3s;
}

ul.galleryNav li a:hover {
  text-decoration: none;
  opacity: .75;
}

ul.galleryNav li a span {
  margin: 0 .3rem;
}
ul.galleryNav li a span:first-child {
  margin: 0 .3rem 0 0;
}
ul.galleryNav li a span:last-child {
  margin: 0 0 0 .3rem;
}


@media screen and (min-width: 960px) {
    ul.galleryNav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 30px 0 0;
  }
  ul.galleryNav li {
    width: 48%;
    margin-bottom: 0;
    margin-bottom: 1.5rem;
  }
}

button{
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
button:focus{
  outline: none;
}
.slider .slide-arrow{
  position: absolute;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin-top: -10px;
  background-color: rgba(102,102,102,0.2);
  border-radius: 15px;
  z-index: 1;
}
.slider .prev-arrow{
  left: 5px;
}
.slider .next-arrow{
  right: 5px;
}
.navThumb .slide-arrow{
  position: absolute;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  background-color: #B0A377;
  border-radius: 10px;
}
.navThumb .prev-arrow{
  left: -20px;
}
.navThumb .next-arrow{
  right: -20px;
}
.slide-arrow img {
  width: 50%;
}

@media screen and (min-width: 960px) {
  .slider .slide-arrow{
    width: 46px;
    height: 46px;
    margin-top: -10px;
    border-radius: 23px;
    z-index: 1;
  }
  .slider .prev-arrow{
    left: 30px;
  }
  .slider .next-arrow{
    right: 30px;
  }
  .navThumb .slide-arrow{
    width: 28px;
    height: 28px;
    margin-top: -15px;
    background-color: #B0A377;
    border-radius: 14px;
  }
  .navThumb .prev-arrow{
    left: -40px;
  }
  .navThumb .next-arrow{
    right: -40px;
  }
  .slide-arrow img {
    width: 60%;
  }
}