@charset "UTF-8";
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, l, label, legend, li, mark, menu, nav, object, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0
}

li {
  list-style: none
}

a {
  text-decoration: none
}

a img {
  border: none
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}

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

html {
  font-size: 18px;
  letter-spacing: 0.1em
}

body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, MS PGothic, sans-serif, "ＭＳ Ｐゴシック";
  line-height: 1;
  font-feature-settings: "palt";
  color: #4a4337
}

@media screen and (max-width:640px) {
  p {}
}

.gnav__link {
  font-weight: bold;
  font-size: 20px;
  display: block;
  color: #3d3730;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .gnav__link {
    display: inline-block
  }
  .gnav__link strong {
    position: relative;
    display: inline-block
  }
  .gnav__link strong:before {
    transition: opacity 0.5s;
    z-index: -1;
    top: 0.7em;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    position: absolute;
    width: 110%;
    height: 0.5em;
    background-color: rgba(77, 66, 52, 0.2);
    opacity: 0
  }
  .gnav__link:hover strong:before {
    opacity: 1
  }
}

.gnav .label {
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  font-size: 16px;
  display: block;
  color: #6cb95a;
  padding-top: 10px
}

.gnav__sp {
  transform: translateY(-20px);
  background-color: #fffefa;
  opacity: 0;
  visibility: hidden;
  position: fixed
}

.gnav__sp .footer__inner {
  display: none
}

@media screen and (min-width:1024px) {
  .gnav__sp {
    transform: translateY(0%);
    position: relative;
    opacity: 1;
    visibility: visible;
    display: block
  }
}

.gnav__list {
  padding-left: 10vw;
  padding-right: 10vw;
  padding-top: 40px;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100
}

.sitelogo {
  width: 28vw;
  padding: 8px
}

@media screen and (min-width:1024px) {
  .sitelogo {
    padding: 0
  }
  .sitelogo img {
    margin-left: 16px
  }
}

.gnav__trigger {
  width: 15vw;
  height: 15vw;
  position: fixed;
  right: 5vw;
  top: 7vw;
  background-color: #fffefa;
  border: 1px solid #3d3730;
  border-radius: 50%;
  z-index: 101
}

.gnav__trigger span {
  letter-spacing: -0.01em;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  display: block;
  width: 100%;
  text-align: center;
  transition-delay: transform 0.3s;
  transition: opacity 0.4s, transform 0.4s
}

.gnav__trigger .gnav__trigger-close {
  transform: translateY(-100%);
  opacity: 0
}

body.is-open {
  overflow-y: hidden
}

body.is-open .gnav__trigger-open {
  transform: translateY(0%);
  opacity: 0
}

body.is-open .gnav__trigger-close {
  transform: translateY(-50%);
  opacity: 1
}

body.is-open .gnav__list {
  background-color: #fffefa;
  opacity: 1;
  visibility: inherit
}

body.is-open .gnav__sp {
  height: 100vh;
  width: 100%;
  transform: translateY(0px);
  background-color: #fff;
  visibility: inherit;
  opacity: 1;
  display: block;
  overflow: scroll;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100
}

body.is-open .gnav__sp .footer__inner {
  display: block;
  background-color: #fcf9ed;
  padding-top: 40px;
  padding-bottom: 30px
}

@media screen and (min-width:1024px) {
  .gnav__trigger {
    display: none
  }
  .sitelogo {
    display: inline-block;
    width: 180px;
    margin-bottom: 30px;
    padding-top: 0
  }
  .gnav {
    text-align: center;
    width: 310px
  }
  .gnav__link {
    font-size: 16px;
    padding-bottom: 10px;
    margin-bottom: 20px
  }
  .gnav__link .label {
    font-size: 14px;
    padding-top: 10px
  }
  .gnav__list {
    padding: 0;
    height: auto
  }
}

.footer {
  background-color: #fcf9ed;
  padding-top: 50px;
  padding-bottom: 20px
}

.footer__inner {
  padding-left: 5vw;
  padding-right: 5vw
}

@media screen and (min-width:1024px) {
  .footer__inner {
    padding-left: 0;
    padding-right: 0;
    max-width: 380px;
    margin: auto
  }
}

.footer__logo {
  text-align: center;
  margin-bottom: 30px
}

.footer__logo a {
  width: 160px;
  display: inline-block
}

.footer__info {
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  margin-bottom: 30px;
  text-align: center;
  line-height: 1.3;
  font-size: 21px
}

.footer__info a {
  display: inline-block;
  margin-left: 0.4em
}

@media screen and (min-width:1024px) {
  .footer__info {
    font-size: 25px
  }
  .footer__info .tel {
    pointer-events: none
  }
}

.footer__tel {
  margin-bottom: 40px;
  width: 80vw;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em
}

@media screen and (min-width:1024px) {
  .footer__tel {
    width: auto;
    pointer-events: none
  }
}

.footer__tel a {
  color: #6cb95a;
  font-size: 28px;
  letter-spacing: 0.01em
}

@media screen and (min-width:1024px) {
  .footer__tel a {
    font-size: 40px
  }
}

.footer__sns {
  display: flex;
  justify-content: center;
  margin-bottom: 30px
}

.footer__sns a {
  display: block;
  margin: 0 10px
}

.footer__sns a img {
  height: 1.4em
}

.footer__copyright {
  text-align: center;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  font-size: 12px
}

.btn {
  font-size: 14px;
  line-height: 1.75;
  line-height: 1;
  background-color: #aa6a5b;
  border: 0;
  border-radius: 6px;
  display: inline-block;
  padding: 15px 36px 18px;
  min-width: 140px;
  cursor: pointer;
  vertical-align: middle;
  transition: background 0.2s;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  color: #fff;
  text-align: center
}

@media screen and (min-width:1024px) {
  .btn {
    font-size: 16px
  }
}

.btn:hover {
  background-color: #8a5448
}

.btn:disabled {
  opacity: 0.5;
  cursor: default
}

@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal
}

:root {
  --swiper-theme-color: #007aff
}

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1
}

.swiper-container-vertical>.swiper-wrapper {
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
  flex-wrap: wrap
}

.swiper-container-multirow-column>.swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column
}

.swiper-container-free-mode>.swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto
}

.swiper-container-pointer-events {
  touch-action: pan-y
}

.swiper-container-pointer-events.swiper-container-vertical {
  touch-action: pan-x
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto
}

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height
}

.swiper-container-3d {
  perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-css-mode>.swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none
}

.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar {
  display: none
}

.swiper-container-css-mode>.swiper-wrapper>.swiper-slide {
  scroll-snap-align: start start
}

.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper {
  scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper {
  scroll-snap-type: y mandatory
}

:root {
  --swiper-navigation-size: 44px
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none!important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto
}

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: "prev"
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto
}

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: "next"
}

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color: #ffffff
}

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color: #000000
}

.swiper-button-lock {
  display: none
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33)
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #000;
  opacity: 0.2
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-container-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar, .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical>.swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff
}

.swiper-pagination-black {
  --swiper-pagination-color: #000000
}

.swiper-pagination-lock {
  display: none
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center
}

.swiper-zoom-container>canvas, .swiper-zoom-container>img, .swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain
}

.swiper-slide-zoomed {
  cursor: move
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  to {
    transform: rotate(360deg)
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-cube {
  overflow: visible
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next+.swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0
}

.swiper-container-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px)
}

.swiper-container-flip {
  overflow: visible
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1)
}

.swiper-container-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 5vw;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 90vw
}

.swiper-container-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(61, 55, 48, 0.8);
  border-radius: 0px;
  left: 0;
  top: 0
}

.swiper-scrollbar-cursor-drag {
  cursor: move
}

.swiper-scrollbar-lock {
  display: none
}

.swiper-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 90vw
}

@media screen and (min-width:1024px) {
  .swiper-container._mv {
    min-height: 650px
  }
}

.mv__slide-item {
  height: 80vh;
  width: 100%
}

@media screen and (min-width:1024px) {
  .mv__slide-item {
    min-height: 650px
  }
}

.mv__slide-item>picture {
  display: block;
  height: 100%
}

.mv__slide-item>picture img, .mv__slide-item>picture source {
  object-fit: cover;
  height: 100%;
  width: 100%
}

@media screen and (min-width:1024px) {
  .mv__slide-item>picture img, .mv__slide-item>picture source {
    border-radius: 12px 0 0 12px
  }
}

.mv__slide {
  position: relative;
  height: calc(var(--vh) * 68)
}

@media screen and (min-width:1024px) {
  .mv__slide {
    height: 80vh
  }
}

._invisible img {
  opacity: 0;
  transform: translateY(20px)
}

._visible img {
  opacity: 1;
  transform: translateY(0px)
}

.fv {
  background-color: #fffefa
}

.fv img {
  vertical-align: bottom
}

@media screen and (min-width:1024px) {
  .fv {
    margin-bottom: 60px;
    display: flex;
    width: 100%;
    padding-top: 60px
  }
  .fv .mv {
    width: calc(100% - 310px);
    height: 80vh;
    min-height: 650px;
    position: relative
  }
}

.fv .mv-copy.higher-lg {
  position: absolute;
  bottom: 5vw;
  right: 5vw;
  z-index: 1;
  max-width: 680px;
  width: 50%
}

.fv .mv-copy.lower-lg {
  background-color: #ddf7cb;
  font-weight: bold;
  padding: 0.8em 5vw;
  font-size: 14px;
  line-height: 1.75;
  font-size: 16px;
  margin-bottom: 30px;
  box-shadow: 4px 4px 7px 0px rgba(0, 0, 0, 0.1)
}

@media screen and (min-width:1024px) {
  .fv .mv-copy.lower-lg {
    font-size: 16px
  }
}

.apoi__head .title, .goods__head .title, .samani__head .title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 30px
}

.apoi__head .title .label, .goods__head .title .label, .samani__head .title .label {
  margin-bottom: 15px
}

@media screen and (min-width:1024px) {
  .apoi__head .title, .goods__head .title, .samani__head .title {
    font-size: 40px;
    margin-bottom: 50px
  }
}

.apoi__head .label, .goods__head .label, .samani__head .label {
  display: block;
  color: #6cb95a;
  font-size: 14px;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  font-size: 20px
}

.news {
  margin: auto;
  background-color: #fff;
  box-shadow: 4px 4px 7px 0px rgba(0, 0, 0, 0.1);
  border-radius: 14px;
  max-width: 90vw;
  padding: 5vw;
  margin-bottom: 20px
}

.news__body {
  font-size: 14px;
  line-height: 1.6
}

.news__head {
  margin-bottom: 10px;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em
}

@media screen and (min-width:1024px) {
  .news {
    max-width: 1000px;
    display: flex;
    align-items: center;
    padding: 30px;
    padding-left: 50px
  }
  .news__head {
    width: 100px;
    font-size: 24px;
    margin-bottom: 0
  }
  .news__body {
    font-size: 14px;
    width: calc(100% - 100px)
  }
  .news__body a {
    color: #4a4337
  }
  .news__body a:hover {
    color: #6cb95a;
    text-decoration: underline
  }
}

.insta {
  padding-top: 30px;
  padding-bottom: 50px
}

@media screen and (min-width:1024px) {
  .insta {
    padding-top: 80px;
    padding-bottom: 100px
  }
}

.insta__head {
  padding-left: 5vw;
  padding-right: 5vw
}

@media screen and (min-width:1024px) {
  .insta__head {
    padding: 0;
    width: 300px
  }
}

.insta .swiper-container._insta {
  margin-left: 5vw;
  margin-top: 30px
}

@media screen and (min-width:1024px) {
  .insta .swiper-container._insta {
    margin-top: 0;
    margin-left: 60px;
    width: calc(100% - 300px)
  }
}

.insta .title {
  font-size: 30px;
  margin-bottom: 20px;
  font-family: ingra-condensed, sans-serif;
  font-weight: 300;
  font-style: normal
}

@media screen and (min-width:1024px) {
  .insta .title {
    font-size: 46px;
    margin-bottom: 30px
  }
}

.insta .txt {
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .insta .txt {
    font-size: 16px
  }
}

@media screen and (min-width:1024px) {
  .insta__inner {
    display: flex;
    align-items: center;
    padding-left: 60px;
    max-width: 1800px;
    margin-left: auto
  }
}

.insta .insta__item img {
  border-radius: 10px
}

.insta .insta__item .insta__list-thumb {
  aspect-ratio: 1/1;
  width: 100%;
  object-fit: cover
}

.insta .insta__linkarea {
  content: "";
  position: absolute;
  background-color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  opacity: 0;
  transition: opacity 0.5s
}

.insta .insta__linkarea:hover {
  opacity: 0.2
}

.apoi {
  position: relative;
  overflow: hidden;
  z-index: 2
}

@media screen and (min-width:1024px) {
  .apoi {
    padding-left: 60px;
    padding-right: 60px
  }
}

.apoi .subtxt-dotted {
  font-size: 13px;
  font-weight: normal;
  padding-bottom: 0.6em;
  border-bottom: 1px dashed #3d3730;
  display: block;
  line-height: 1.6;
  margin-top: 18px;
  width: 85%
}

@media screen and (min-width:1024px) {
  .apoi .subtxt-dotted {
    font-size: 14px
  }
}

@media screen and (min-width:1024px) {
  .apoi .subtxt-dotted {
    display: inline
  }
}

.apoi .txt {
  font-size: 15px;
  line-height: 2;
  text-align: justify
}

@media screen and (min-width:1024px) {
  .apoi .txt {
    font-size: 18px;
    line-height: 2
  }
}

.apoi__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

.apoi .apoi__inner-txt {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 50px
}

@media screen and (min-width:1024px) {
  .apoi .apoi__inner-txt {
    margin-bottom: 0;
    padding-left: 0vw;
    padding-right: 0;
    width: 65%
  }
}

.apoi__fig {
  display: none
}

@media screen and (min-width:1024px) {
  .apoi__fig {
    width: 60%;
    position: absolute;
    left: 0px;
    top: -450px;
    display: block;
    transform: translateX(-40%);
    z-index: 1
  }
}

.apoi__pic {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 50px
}

.apoi__pic picture {
  display: block
}

@media screen and (min-width:1024px) {
  .apoi__pic {
    margin-bottom: 0
  }
  .apoi__pic-0 {
    width: 105%;
    margin-bottom: 80px;
    transform: translateX(-70px)
  }
  .apoi__pic-0 img {
    border-radius: 8px;
    transition: opacity 0.8s, transform 0.8s
  }
  .apoi__pic-1 {
    position: absolute;
    top: 260px;
    left: calc(65% + 80px);
    width: 400px
  }
  .apoi__pic-2 {
    position: absolute;
    top: 910px;
    left: calc(65% + 130px);
    width: 350px
  }
  .apoi__pic-3 {
    display: block;
    margin-top: 60px
  }
  .apoi__pic-3 img, .apoi__pic-3 source {
    object-fit: cover;
    height: 580px;
    object-position: 0px -15px
  }
}

.apoi__pic img {
  border-radius: 8px;
  margin-bottom: 20px;
  transition: opacity 0.8s, transform 0.8s
}

@media screen and (min-width:1024px) {
  .apoi__pic {
    padding: 0
  }
}

.apoi__pic-0 {
  display: none
}

@media screen and (min-width:1024px) {
  .apoi__pic-0 {
    display: inline-block
  }
}

.apoi__pic-3 img {
  margin-bottom: 0
}

.samani {
  position: relative;
  padding-left: 5vw;
  padding-right: 5vw;
  padding-bottom: 40px;
  background-color: #fffefa;
  overflow: hidden
}

@media screen and (min-width:1024px) {
  .samani {
    overflow-x: clip;
    background-image: url("../img/samani-bg.png");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    padding-left: 60px;
    padding-right: 60px;
    padding-top: 200px;
    padding-bottom: 300px
  }
  .samani__inner {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    position: relative
  }
}

.samani__fig {
  margin-top: -250px;
  z-index: 0;
  position: relative
}

.samani__fig img {
  width: 160%;
  max-width: none
}

@media screen and (min-width:1024px) {
  .samani__fig {
    margin-top: 0;
    width: 760px;
    position: absolute;
    right: -100px;
    top: -100px
  }
  .samani__fig img {
    width: 100%
  }
}

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

@media screen and (min-width:1024px) {
  .samani__body {
    width: 50%
  }
}

.samani__body .txt {
  font-size: 15px;
  line-height: 2;
  text-align: justify
}

@media screen and (min-width:1024px) {
  .samani__body .txt {
    font-size: 18px;
    line-height: 2
  }
}

.local__inner {
  padding-left: 5vw;
  padding-right: 5vw
}

@media screen and (min-width:1024px) {
  .local__inner {
    padding-left: 0;
    padding-right: 0;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center
  }
}

.local__nav {
  padding-bottom: 40px;
  background-color: #fffefa
}

.local__nav-inner {
  width: 100%
}

@media screen and (min-width:1024px) {
  .local__nav-inner {
    display: flex;
    flex-direction: column;
    height: 100%
  }
}

.local__nav-a {
  color: #fff;
  background-color: #682525;
  display: block;
  height: 30vh;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px
}

.local__nav-a._hana {
  background-image: url("../img/apoi-thumb-1.jpg");
  background-size: cover
}

.local__nav-a._giop {
  background-image: url("../img/apoi-thumb-2.jpg");
  background-size: cover
}

@media screen and (min-width:1024px) {
  .local__nav {
    padding-top: 80px;
    padding-bottom: 80px
  }
  .local__nav-a {
    border-radius: 20px;
    padding: 60px;
    margin: 0 40px;
    height: 100%;
    color: #4a4337;
    background: #fffefa
  }
  .local__nav-a._giop, .local__nav-a._hana {
    background-image: none
  }
  .local__nav-a img {
    height: 0.95em;
    margin-left: 0.5em
  }
  .local__nav-a:hover {
    background-color: #fffcf0
  }
}

.local__nav-item {
  text-align: center
}

@media screen and (min-width:1024px) {
  .local__nav-item {
    width: 50%
  }
}

.local__nav-item .title {
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 20px
}

@media screen and (min-width:1024px) {
  .local__nav-item .title {
    margin-bottom: 40px
  }
}

.local__nav-item .body {
  font-size: 14px;
  line-height: 1.75
}

@media screen and (min-width:1024px) {
  .local__nav-item .body {
    font-size: 16px
  }
}

@media screen and (min-width:1024px) {
  .local__nav-item .body {
    margin-bottom: 40px
  }
}

.local__nav-item .more {
  display: none;
  color: #aa6a5b;
  padding-bottom: 0.8em;
  border-bottom: 2px solid #aa6a5b
}

@media screen and (min-width:1024px) {
  .local__nav-item .more {
    display: inline-block;
    margin-top: auto;
    align-self: center
  }
}

@media screen and (min-width:1024px) {
  .local__nav-item:last-child {
    border-left: 1px solid #cbcbcb
  }
}

.goods {
  padding-top: 40px;
  background-color: #fff;
  padding-bottom: 40px
}

@media screen and (min-width:1024px) {
  .goods {
    padding-top: 85px;
    padding-bottom: 85px
  }
}

.goods__head {
  text-align: center
}

.goods__head .title {
  font-size: 30px;
  font-weight: bold
}

.goods__btn {
  text-align: center
}

.goods .txt {
  font-size: 14px;
  line-height: 1.75
}

@media screen and (min-width:1024px) {
  .goods .txt {
    font-size: 16px
  }
}

@media screen and (min-width:1024px) {
  .goods .txt {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto
  }
}

.goods .txt-lede {
  line-height: 2;
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .goods .txt-lede {
    margin-bottom: 80px;
    padding-left: 0;
    padding-right: 0
  }
}

.goods .swiper-container {
  padding-right: 10vw;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .goods .swiper-container {
    margin-bottom: 0;
    padding-right: 0
  }
}

.goods__list {
  padding-left: 5vw
}

@media screen and (min-width:1024px) {
  .goods__list {
    padding-left: 0;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
  }
}

@media screen and (min-width:1024px) {
  .goods__list {
    margin-bottom: 40px
  }
}

.goods .item {
  width: 47%;
  margin-bottom: 40px;
  height: auto;
  display: flex;
  flex-direction: column
}

.goods .item .thumb {
  display: block;
  margin-bottom: 20px
}

.goods .item .thumb img {
  border-radius: 10px
}

.goods .item .lede {
  font-size: 14px;
  line-height: 1.75;
  font-weight: bold;
  margin-bottom: 10px
}

@media screen and (min-width:1024px) {
  .goods .item .lede {
    font-size: 16px
  }
}

.goods .item .body {
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 15px;
  flex-grow: 1
}

@media screen and (min-width:1024px) {
  .goods .item .body {
    margin-bottom: 15px
  }
}

.goods .item .price {
  color: #f63e19;
  font-size: 18px
}

.goods .item .price small {
  font-size: 13px
}

@media screen and (min-width:1024px) {
  .goods .item .price {
    font-size: 22px
  }
  .goods .item .price small {
    font-size: 14px
  }
}

.apoidake__head .title, .mamoribito__head .title {
  font-size: 20px;
  font-weight: bold;
  color: #6cb95a;
  border-bottom: 3px solid #6cb95a;
  display: inline-block;
  padding-bottom: 0.8em;
  margin-bottom: 20px
}

@media screen and (min-width:1024px) {
  .apoidake__head .title, .mamoribito__head .title {
    margin-bottom: 40px;
    font-size: 30px
  }
}

.apoidake__head .label, .mamoribito__head .label {
  display: block;
  color: #6cb95a;
  font-size: 14px;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  font-size: 20px
}

.apoidake, .mamoribito {
  position: relative;
  overflow: hidden;
  z-index: 2
}

@media screen and (min-width:1024px) {
  .apoidake, .mamoribito {
    padding-left: 60px;
    padding-right: 60px
  }
  .apoidake__pic figure, .mamoribito__pic figure {
    display: block;
    transform: translateX(68px)
  }
}

.apoidake .subtxt-dotted, .mamoribito .subtxt-dotted {
  font-size: 13px;
  font-weight: normal;
  padding-bottom: 0.6em;
  border-bottom: 1px dashed #3d3730;
  display: block;
  line-height: 1.6;
  margin-top: 18px;
  width: 85%
}

@media screen and (min-width:1024px) {
  .apoidake .subtxt-dotted, .mamoribito .subtxt-dotted {
    font-size: 14px
  }
}

@media screen and (min-width:1024px) {
  .apoidake .subtxt-dotted, .mamoribito .subtxt-dotted {
    display: inline
  }
}

.apoidake .txt, .mamoribito .txt {
  font-size: 15px;
  line-height: 2;
  text-align: justify
}

@media screen and (min-width:1024px) {
  .apoidake .txt, .mamoribito .txt {
    font-size: 18px;
    line-height: 2
  }
}

.apoidake__inner, .mamoribito__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

@media screen and (min-width:1024px) {
  .apoidake__inner, .mamoribito__inner {
    margin-bottom: 100px;
    display: flex;
    align-items: center
  }
}

.apoidake .apoidake__inner-txt, .apoidake .mamoribito__inner-txt, .mamoribito .apoidake__inner-txt, .mamoribito .mamoribito__inner-txt {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 20px
}

@media screen and (min-width:1024px) {
  .apoidake .apoidake__inner-txt, .apoidake .mamoribito__inner-txt, .mamoribito .apoidake__inner-txt, .mamoribito .mamoribito__inner-txt {
    margin-bottom: 0;
    padding-left: 0vw;
    padding-right: 0;
    width: 55%
  }
}

@media screen and (min-width:1024px) {
  .apoidake .mamoribito__inner-txt, .mamoribito .mamoribito__inner-txt {
    width: 45%
  }
}

.apoidake__fig, .mamoribito__fig {
  display: none
}

@media screen and (min-width:1024px) {
  .apoidake__fig, .mamoribito__fig {
    width: 100%
  }
}

.mamoribito__pic {
  margin-bottom: 50px
}

.mamoribito__pic picture {
  display: block
}

@media screen and (min-width:1024px) {
  .mamoribito__pic {
    margin-bottom: 0;
    width: 55%
  }
}

.mamoribito__pic-1 {
  text-align: right
}

.mamoribito__pic img {
  border-radius: 8px 0 0 8px;
  margin-bottom: 20px;
  transition: opacity 0.8s, transform 0.8s;
  width: 95vw
}

@media screen and (min-width:1024px) {
  .mamoribito__pic img {
    border-radius: 8px;
    width: 100%
  }
}

@media screen and (min-width:1024px) {
  .mamoribito__pic {
    padding: 0
  }
}

.apoidake__pic {
  margin-bottom: 50px
}

.apoidake__pic picture {
  display: block
}

@media screen and (min-width:1024px) {
  .apoidake__pic {
    padding-left: 5vw;
    padding-right: 5vw;
    margin-bottom: 0;
    width: 45%
  }
}

.apoidake__pic img {
  border-radius: 8px;
  transition: opacity 0.8s, transform 0.8s;
  border-radius: 0 8px 8px 0;
  margin-bottom: 20px;
  transition: opacity 0.8s, transform 0.8s;
  width: 95vw
}

@media screen and (min-width:1024px) {
  .apoidake__pic img {
    border-radius: 8px;
    width: 100%
  }
}

@media screen and (min-width:1024px) {
  .apoidake__pic {
    padding: 0
  }
}

.gallary {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 40px
}

@media screen and (min-width:1024px) {
  .gallary {
    padding-left: 60px;
    padding-right: 60px;
    margin-bottom: 100px
  }
}

.gallary__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  display: flex;
  flex-wrap: wrap
}

.gallary__item {
  margin-bottom: 15px;
  width: 48%;
  margin-right: 4%
}

@media screen and (min-width:1024px) {
  .gallary__item {
    margin-bottom: 30px
  }
}

.gallary__item img {
  border-radius: 8px;
  transition: opacity 0.8s, transform 0.8s
}

.gallary__item:nth-child(2n) {
  margin-right: 0
}

@media screen and (min-width:1024px) {
  .gallary__item {
    width: 32%;
    margin-right: 2%
  }
  .gallary__item:nth-child(2n) {
    margin-right: 2%
  }
  .gallary__item:nth-child(3n) {
    margin-right: 0
  }
}

.info {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 40px
}

@media screen and (min-width:1024px) {
  .info {
    padding-left: 60px;
    padding-right: 60px;
    margin-bottom: 100px
  }
}

.info__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

@media screen and (min-width:1024px) {
  .info__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
  }
}

.info__item {
  margin-bottom: 40px
}

@media screen and (min-width:1024px) {
  .info__item {
    margin-bottom: 0;
    width: 47%
  }
}

.info .info__head {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .info .info__head {
    font-size: 30px
  }
}

.info .info__head .label {
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  margin-top: 15px;
  display: block
}

.info .info__head span {
  color: #6cb95a;
  font-size: 14px
}

.info__body {
  font-size: 14px;
  line-height: 1.75
}

@media screen and (min-width:1024px) {
  .info__body {
    font-size: 16px
  }
}

.seibi__head .title, .shien__head .title {
  font-size: 20px;
  font-weight: bold;
  color: #6cb95a;
  border-bottom: 3px solid #6cb95a;
  display: inline-block;
  padding-bottom: 0.8em;
  margin-bottom: 20px
}

@media screen and (min-width:1024px) {
  .seibi__head .title, .shien__head .title {
    margin-bottom: 40px;
    font-size: 30px
  }
}

.seibi__head .label, .shien__head .label {
  display: block;
  color: #6cb95a;
  font-size: 14px;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  font-size: 20px
}

.seibi, .shien {
  position: relative;
  overflow: hidden;
  z-index: 2
}

@media screen and (min-width:1024px) {
  .seibi, .shien {
    padding-left: 60px;
    padding-right: 60px
  }
  .seibi__pic figure, .shien__pic figure {
    display: block;
    transform: translateX(68px)
  }
}

.seibi .subtxt-dotted, .shien .subtxt-dotted {
  font-size: 13px;
  font-weight: normal;
  padding-bottom: 0.6em;
  border-bottom: 1px dashed #3d3730;
  display: block;
  line-height: 1.6;
  margin-top: 18px;
  width: 85%
}

@media screen and (min-width:1024px) {
  .seibi .subtxt-dotted, .shien .subtxt-dotted {
    font-size: 14px
  }
}

@media screen and (min-width:1024px) {
  .seibi .subtxt-dotted, .shien .subtxt-dotted {
    display: inline
  }
}

.seibi .txt, .shien .txt {
  font-size: 15px;
  line-height: 2;
  text-align: justify
}

@media screen and (min-width:1024px) {
  .seibi .txt, .shien .txt {
    font-size: 18px;
    line-height: 2
  }
}

.seibi__inner, .shien__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

@media screen and (min-width:1024px) {
  .seibi__inner, .shien__inner {
    margin-bottom: 100px;
    display: flex;
    align-items: center
  }
}

.seibi .seibi__inner-txt, .seibi .shien__inner-txt, .shien .seibi__inner-txt, .shien .shien__inner-txt {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 20px
}

@media screen and (min-width:1024px) {
  .seibi .seibi__inner-txt, .seibi .shien__inner-txt, .shien .seibi__inner-txt, .shien .shien__inner-txt {
    margin-bottom: 0;
    padding-left: 0vw;
    padding-right: 0;
    width: 50%
  }
}

.seibi__fig, .shien__fig {
  display: none
}

@media screen and (min-width:1024px) {
  .seibi__fig, .shien__fig {
    width: 100%
  }
}

.seibi__pic {
  margin-bottom: 50px
}

.seibi__pic picture {
  display: block
}

@media screen and (min-width:1024px) {
  .seibi__pic {
    margin-bottom: 0;
    width: 50%
  }
}

.seibi__pic-1 {
  text-align: right
}

.seibi__pic img {
  border-radius: 8px 0 0 8px;
  margin-bottom: 20px;
  transition: opacity 0.8s, transform 0.8s;
  width: 95vw
}

@media screen and (min-width:1024px) {
  .seibi__pic img {
    border-radius: 8px;
    width: 100%
  }
}

@media screen and (min-width:1024px) {
  .seibi__pic {
    padding: 0
  }
}

@media screen and (min-width:1024px) {
  .shien__pic figure {
    display: block;
    transform: translateX(-68px)
  }
}

.shien__inner {
  flex-direction: row-reverse
}

.shien__pic {
  margin-bottom: 50px
}

.shien__pic picture {
  display: block
}

@media screen and (min-width:1024px) {
  .shien__pic {
    margin-bottom: 0;
    width: 50%
  }
}

.shien__pic img {
  border-radius: 8px;
  transition: opacity 0.8s, transform 0.8s;
  border-radius: 0 8px 8px 0;
  margin-bottom: 20px;
  transition: opacity 0.8s, transform 0.8s;
  width: 95vw
}

@media screen and (min-width:1024px) {
  .shien__pic img {
    border-radius: 8px;
    width: 100%
  }
}

@media screen and (min-width:1024px) {
  .shien__pic {
    padding: 0
  }
}

.project {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 40px
}

@media screen and (min-width:1024px) {
  .project {
    padding-left: 60px;
    padding-right: 60px;
    margin-bottom: 100px
  }
}

.project__head {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .project__head {
    font-size: 30px
  }
}

.project__head .label {
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  margin-top: 15px;
  display: block
}

.project__head span {
  color: #6cb95a;
  font-size: 14px
}

.project__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

.project__body {
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 60px
}

@media screen and (min-width:1024px) {
  .project__body {
    font-size: 16px
  }
}

@media screen and (min-width:1024px) {
  .project__gallary {
    display: flex;
    flex-wrap: wrap
  }
}

.project__gallary .project__item {
  margin-bottom: 30px
}

.project__gallary .project__item img {
  border-radius: 8px;
  transition: opacity 0.8s, transform 0.8s
}

@media screen and (min-width:1024px) {
  .project__gallary .project__item {
    width: 32%;
    margin-right: 2%
  }
  .project__gallary .project__item:nth-child(3n) {
    margin-right: 0
  }
}

.project__gallary .project__item figcaption {
  max-width: 90%
}

.ayumi {
  padding-left: 5vw;
  padding-right: 5vw;
  margin-bottom: 40px
}

@media screen and (min-width:1024px) {
  .ayumi {
    padding-left: 60px;
    padding-right: 60px;
    margin-bottom: 100px
  }
}

.ayumi__inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  position: relative
}

@media screen and (min-width:1024px) {
  .ayumi__inner {
    display: flex
  }
}

.ayumi__head {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px
}

@media screen and (min-width:1024px) {
  .ayumi__head {
    font-size: 30px
  }
}

.ayumi__head .label {
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  margin-top: 15px;
  display: block
}

.ayumi__head span {
  color: #6cb95a;
  font-size: 14px
}

@media screen and (min-width:1024px) {
  .ayumi__head {
    width: 300px
  }
}

.ayumi .ayumi__content {
  border-bottom: 1px solid #CCCCCC
}

.ayumi .ayumi__content li {
  border-top: 1px solid #CCCCCC;
  position: relative;
  font-size: 14px;
  line-height: 1.75;
  padding-top: 1em;
  padding-bottom: 1em
}

@media screen and (min-width:1024px) {
  .ayumi .ayumi__content li {
    padding-left: 200px
  }
}

@media screen and (min-width:1024px) {
  .ayumi .ayumi__content li {
    font-size: 16px
  }
}

.ayumi .ayumi__content li span {
  display: block
}

@media screen and (min-width:1024px) {
  .ayumi .ayumi__content li span {
    position: absolute;
    left: 0
  }
}

html {
  scroll-behavior: smooth
}

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

body {
  background-image: url("../img/tex.jpg")
}

body a {
  color: #4a4337
}

.wrapper {}

.higher-lg {
  display: none
}

@media screen and (min-width:1024px) {
  .higher-lg {
    display: block
  }
}

.lower-lg {
  display: block
}

@media screen and (min-width:1024px) {
  .lower-lg {
    display: none
  }
}

.caption {
  position: relative
}

.caption figcaption {
  background-color: #FFFEFA;
  position: absolute;
  left: 0;
  bottom: -1px;
  font-size: 11.4px;
  color: #AA6A5B;
  letter-spacing: -0.01em;
  padding: 0.5em 1em;
  padding-bottom: 0.3em;
  padding-right: 1.5em;
  border-radius: 0 8px 0 0;
  line-height: 1.8
}

.mv-title {
  border-radius: 0 8px 0 0;
  background-color: #FFFEFA;
  position: absolute;
  left: 0;
  bottom: -1px;
  letter-spacing: -0.01em;
  padding: 0.3em 0.8em;
  padding-bottom: 0em;
  padding-right: 1.2em;
  font-weight: bold;
  line-height: 1.8;
  font-size: 28px
}

@media screen and (min-width:1024px) {
  .mv-title {
    font-size: 36px
  }
}

.mv-title .label {
  color: #6cb95a;
  display: block;
  font-size: 16px;
  font-family: ingra-condensed-2, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.01em;
  line-height: 1
}

.fv .mv-2nd {
  position: relative;
  margin-bottom: 60px
}

.fv .mv-2nd img {
  border-radius: 0 12px 12px 0
}

@media screen and (min-width:1024px) {
  .fv .mv-2nd {
    width: calc(100% - 370px);
    height: 80vh;
    min-height: 500px
  }
  .fv .mv-2nd img {
    border-radius: 12px
  }
  .fv .mv-2nd .mv__slide-item {
    height: 80vh;
    min-height: 500px
  }
}

.fv .mv-2nd .mv__slide {
  padding-right: 5vw;
  height: 60vh
}

@media screen and (min-width:1024px) {
  .fv .mv-2nd .mv__slide {
    height: calc(var(--vh) * 68);
    padding-left: 0;
    padding-right: 0
  }
}

.fv .mv-2nd .mv__slide .mv__slide-item {
  height: 60vh
}

@media screen and (min-width:1024px) {
  .fv .mv-2nd .mv__slide .mv__slide-item {
    height: 80vh
  }
}


.banner {
    padding-top: 20px;
    background-color: #6cb95a;
    padding-bottom: 20px
  }
  
  @media screen and (min-width:1024px) {
    .banner {
      padding-top: 85px;
      padding-bottom: 85px
    }
  }

ul.banner-box{
    width:auto;
    height:auto;
    margin:0 auto;
    padding:0;
    text-align:center;
}

ul.banner-box li{
    width:20%;
    margin:0 auto;
    padding:0;
    text-align:center;
}


ul.banner-box li img{
width: 100%;
border: solid #cccccc 1px;
background-color: #ffffff;
padding: 0;
}

ul.banner-box li img:hover{
    opacity:0.8;
}

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

    ul.banner-box li{
        width:70%;
        margin:0 auto;
        padding:0;
        text-align:center;
    }
    

}


.membership .top-mb_banner{
  margin: auto;
  text-align: center;
  max-width: 1080px;
  padding: 4vw 2vw 2vw 2vw;
  margin-bottom: 0px
}

@media screen and (max-width:600px) {
  .membership .top-mb_banner{
    margin: auto;
    text-align: center;
    max-width: 1080px;
    padding: 8vw 5vw;
    margin-bottom: 0px
  }

}

.membership .top-mb_banner:hover{
  opacity: 0.6;
}

.membership-form a{
  margin: auto;
  background-color: #fff;
  box-shadow: 4px 4px 7px 0px rgba(0, 0, 0, 0.1);
  border:1px solid #cccccc;
  border-radius: 14px;
  max-width: 800px;
  padding: 6vw;
  display:block;
  text-align:center;
  font-weight:bold;
  margin-top:20px;
  margin-left:20px;
  margin-right:20px;
  margin-bottom: 60px
}

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

  .membership-form a{
    margin: auto;
    background-color: #fff;
    box-shadow: 4px 4px 7px 0px rgba(0, 0, 0, 0.1);
    border:1px solid #cccccc;
    border-radius: 14px;
    max-width: 800px;
    padding: 2vw;
    display:block;
    text-align:center;
    font-weight:bold;
    margin-top:-30px;
    margin-bottom: 90px
  }

}

.membership-form__body {
  font-size:16px;
  line-height: 1.6
}

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

  .membership-form__body {
    font-size:14px;
    line-height: 1.6
  }
}

.membership-form a:hover{
  opacity:0.7;
}

.txt a{
color:#d4975c;
}

.txt a:hover{
  color:#d4975c;
  text-decoration:underline;
  }

.st-bold{
  font-style: normal;
  font-weight:bold;
  margin:0 10px 0 0;
}

ol.list-f  {
  margin: 0;
  padding: 0
}
ol.list-f li  {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
  margin:10px 0 20px 0;
}

.txt2{
  margin:10px 0 0 0;
}

/*# sourceMappingURL=style.css.map */