@charset "UTF-8";
/*========================================
mixin
==========================================*/
/*========================================
base
==========================================*/
body,
html {
  font-family: "Noto Sans JP", sans-serif;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #1b1a16;
}

a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

a:focus {
  /*\*/
  overflow: visible;
  /**/
}

@media (min-width: 767px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
.gradation {
  background: -webkit-gradient(linear, left top, right top, from(#4158d0), color-stop(30%, #c850c0), to(#ffcc70));
  background: -webkit-linear-gradient(left, #4158d0, #c850c0 30%, #ffcc70);
  background: linear-gradient(90deg, #4158d0, #c850c0 30%, #ffcc70);
  background: -webkit-linear-gradient(0deg, #4158d0, #c850c0 30%, #ffcc70);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.serif {
  font-family: "Noto Serif JP", serif;
}

.cormorant {
  font-family: "Cormorant Garamond", serif;
}

h2,
h3,
h4 {
  font-family: "Noto Serif JP", serif;
}

p {
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #1b1a16;
}

:root {
  /* グローバルスコープ変数 */
  /* color変数 */
  --main-color: #416d19;
  --sub-color: #69a333;
  --accent-color: #928649;
  --theme-color: #e9f2df;
  --line-color: #06c755;
  --link-color: #21ade4;
  --black-color: #000000;
  --white-color: #ffffff;
  --main-text-color: #222222;
  --gray-color: #eeeeee;
  /*　color rgb */
  --main-color-rgb: 65 109 25;
  --sub-color-rgb: 105 163 51;
  --accent-color-rgb: 146 134 73;
  --theme-color-rgb: 233 242 223;
  --line-color-rgb: 6 199 85;
  --link-color-rgb: 33 173 228;
  --black-color-rgb: 0 0 0;
  --white-color-rgb: 255 255 255;
  --main-text-color-rgb: 34 34 34;
  --gray-color-rgb: 238 238 238;
  /* colorの輝度を下げた色 */
  --darken-main-color: #355814;
  --darken-sub-color: #5c902d;
  --darken-accent-color: #706738;
  --darken-gray-color: #e1e1e1;
  /* colorの輝度を上げた色 */
  --lighten-main-color: #4d821e;
  --lighten-sub-color: #76b639;
  --lighten-accent-color: #a39652;
  --lighten-gray-color: #fbfbfb;
  /* colorの彩度を上げた色 */
  --saturate-main-color: #417016;
  --saturate-sub-color: #69a82e;
  --saturate-accent-color: #978a44;
  --saturate-gray-color: #efeded;
  /* colorの彩度を下げた色 */
  --desaturate-main-color: #416a1c;
  --desaturate-sub-color: #699e38;
  --desaturate-accent-color: #8d824e;
  --desaturate-gray-color: #eeeeee;
  /* gradiation設定 */
  --gradiation-main: var(--sub-color) 0%, var(--main-color) 100%;
  /* font設定 */
  --line-height-base: 1.5;
  --letter-spacing-base: 0.06em;
  --letter-spacing-none: 0;
  --letter-spacing-xs: 0.02em;
  --letter-spacing-small: 0.04em;
  --letter-spacing-regular: 0.08em;
  --letter-spacing-medium: 0.1em;
  --letter-spacing-large: 0.12em;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
  /* font family */
  --font-main: Noto Sans JP, sans-serif;
  --font-sub: Noto Serif JP, sans-serif;
}

/*========================================
component
==========================================*/
.icon {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.icon::before {
  left: 0;
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
}

.icon-after {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.icon-after::after {
  top: 0;
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
}

.dashed {
  background-image: -webkit-linear-gradient(left, #ddd 13px, transparent 8px);
  background-image: linear-gradient(to right, #ddd 13px, transparent 8px);
  background-size: 15px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.dots {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.flex-col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.counter {
  counter-reset: number 0;
}
.counter .item {
  position: relative;
}
.counter .item::before {
  position: absolute;
  content: "";
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  counter-increment: number 1;
  content: "0" counter(number);
}

.accordion li.none {
  display: none;
}

.trigger {
  display: none;
  cursor: pointer;
}

.post-none-text {
  text-align: center;
  margin: 60px 0;
}

.none {
  display: none;
}

/*========================================
slick
==========================================*/
.slick-list {
  height: 100%;
}
.slick-list .slick-slide {
  height: 100%;
}
.slick-list .slick-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.slick-track {
  height: 100%;
}

/*========================================
contact
==========================================*/
.complete-inner {
  padding: 100px 0;
}
.complete-textbox {
  text-align: center;
}
.complete-text {
  font-size: 1.6rem;
}

/*========================================
error
==========================================*/
.error404-inner {
  padding: 100px 0;
}
.error404-text {
  font-size: 1.6rem;
  text-align: center;
  color: #000;
}
.error404 .error-text {
  color: #e74c3c !important;
}