html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  background-color: #FBFAF9;
  color: #6E4D39;
  line-height: 3.2rem;
  letter-spacing: 0.05rem;
  font-size: 1.5rem;
  /* Googleフォント */
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  min-width: 1000px;
  overflow-x: hidden;
  transform-origin: top center;
  animation: loading 1.5s;
}

@keyframes loading {
  0% {opacity: 0;transform: scale(1.02);}
  100% {opacity: 1;transform: scale(1);}
}

main, footer {
  contain: paint;
}

a {
  transition: .5s;
}

a:hover {
  opacity: .7;
}

.bold {
  font-weight: 700;
}

.pc_display_none {
  display: none;
}

.about_h2_sp {
  display: none;
}

.about_img3_sp {
  display: none;
}

/* セクション区切りマスク */
:root {
  --separator-top: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201270%2017.71%22%3E%0A%20%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M1270%2C17.71v-5.71c-140.67%2C0-205.7-12-290.7-12-116.63%2C0-177.3%2C12-344.3%2C12-201.98%2C0-264.33-10-353.01-10C172.67%2C2%2C140.67%2C12%2C0%2C12v5.71h1270Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E);
}

:root {
  --separator-bottom: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201270%2017.71%22%3E%0A%20%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1-2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M0%2C0v5.71c140.67%2C0%2C205.7%2C12%2C290.7%2C12%2C116.63%2C0%2C177.3-12%2C344.3-12%2C201.98%2C0%2C264.33%2C10%2C353.01%2C10%2C109.33%2C0%2C141.33-10%2C281.99-10V0H0Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E);
}

/* ボタン */
:root {
  --btn-bk: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjYwIiB2aWV3Qm94PSIwIDAgMjUwIDYwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNjguNjY4NiAxLjAyNDY1QzUxLjE0MiAtMC4xNjgxMTMgMjguOTU1IDIuNzY0MDkgMjIgNC4zNzkyOEM5LjU3MjEzIDcuMjY1NDUgLTYuMTUxMTVlLTA1IDE2LjQ3MDQgMCAzMi42MzE5QzQuODI4ODJlLTA1IDQ1LjMxODggOC4zNTkyMSA1My40Njg0IDE4IDU1LjY5OThDMzMgNTkuMTcxNyA1OC4yMzYxIDYxLjAzNTQgNzYuNDkzIDU5LjE3MTdDOTQuNzQ5OSA1Ny4zMDggMTEyLjQ4NSA1OS4xNzE3IDEzMC4yMjEgNTkuMTcxN0MxNDcuOTU2IDU5LjE3MTcgMTc4LjczMiA2MS4wMzU0IDE5OC4wMzIgNTkuMTcxN0MyMTcuMzMyIDU3LjMwOCAyMTkuOTQgNTcuNzM3NCAyMjkuMzMgNTUuNTAwOUMyMzguMDQyIDUzLjQyNTcgMjQ5LjUgNDIuNjIzMyAyNDkuNSAzMi42MzE5QzI0OS41IDE2LjUyNjEgMjQzLjQxMyAxMC4wNDYgMjI5LjMzIDUuNTczMTNDMjE1LjI0NiAxLjEwMDI4IDIwMy43NyAtMS41ODQ1MiAxNzIuOTk0IDEuMDI0NjVDMTQyLjIxOCAzLjYzMzgxIDEzMC43NDIgMS4wMjQ2NSAxMDkuMzU1IDEuMDI0NjVDODcuOTY4OCAxLjAyNDY1IDkwLjU3NjkgMi41MTU2IDY4LjY2ODYgMS4wMjQ2NVoiIGZpbGw9IiM1MTU3MzYiLz4KPC9zdmc+Cg==);
}

:root {
  --btn-wh: url(data:image/svg+xml,%3Csvg%20width%3D%22361%22%20height%3D%2280%22%20viewBox%3D%220%200%20361%2080%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M99.1498%201.35887C73.8433%20-0.22295%2041.8077%203.6657%2031.7655%205.80775C13.8211%209.63536%20-8.88157e-05%2021.8429%200%2043.276C6.97228e-05%2060.1013%2012.0698%2070.9092%2025.9899%2073.8685C47.6483%2078.4728%2084.0864%2080.9444%20110.447%2078.4728C136.808%2076.0012%20162.416%2078.4728%20188.024%2078.4728C213.632%2078.4728%20258.069%2080.9444%20285.936%2078.4728C313.803%2076.0012%20317.569%2076.5706%20331.126%2073.6047C343.706%2070.8525%20360.25%2056.5265%20360.25%2043.276C360.25%2021.9167%20351.462%2013.3229%20331.126%207.39102C310.791%201.45917%20294.221%20-2.10137%20249.784%201.35887C205.347%204.81911%20188.777%201.35887%20157.897%201.35887C127.017%201.35887%20130.783%203.33615%2099.1498%201.35887Z%22%20fill%3D%22white%22%2F%3E%0A%3C%2Fsvg%3E);
}

:root {
  --btn-ye: url(data:image/svg+xml,%3Csvg%20width%3D%22172%22%20height%3D%2254%22%20viewBox%3D%220%200%20172%2054%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M47.8458%201.1291C35.5443%200.0801294%2022.7058%202.65884%2017.8243%204.07931C6.05177%2010.2617%20-3.08592%2019.8138%200.982925%2032.9259C1.34904%2044.0711%2011.6003%2046.038%2017.8243%2050.2994C24.0483%2054.5608%2040.5235%2053.9052%2053.3376%2052.2662C66.1516%2050.6272%2078.5996%2052.2662%2091.0476%2052.2662C103.496%2052.2662%20125.096%2053.9052%20138.643%2052.2662C152.189%2050.6272%20154.02%2048.0048%20160.61%2046.038C167.2%2044.0712%20170.129%2039.1541%20171.959%2032.9259C171.959%2018.7617%20165.926%207.86778%20154.02%204.07931C144.134%200.14569%20142.67%20-1.16552%20121.069%201.1291C99.4683%203.42371%2091.4137%201.1291%2076.4029%201.1291C61.3921%201.1291%2063.2227%202.4403%2047.8458%201.1291Z%22%20fill%3D%22%23CEA24F%22%2F%3E%0A%3C%2Fsvg%3E);
}

:root {
  --btn-ye-sp: url(data:image/svg+xml,%3Csvg%20width%3D%22116%22%20height%3D%2246%22%20viewBox%3D%220%200%20116%2046%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M32.2757%200.970385C23.9774%200.0688661%2015.3169%202.2851%2012.0239%203.50591C4.08239%208.81931%20-2.0817%2017.0287%200.66306%2028.2977C0.910034%2037.8763%207.82531%2039.5667%2012.0239%2043.2291C16.2224%2046.8915%2027.3363%2046.3281%2035.9804%2044.9194C44.6245%2043.5108%2053.0216%2044.9194%2061.4187%2044.9194C69.8158%2044.9194%2084.3873%2046.3281%2093.5253%2044.9194C102.663%2043.5108%20103.898%2041.257%20108.344%2039.5667C112.789%2037.8763%20114.765%2033.6505%20116%2028.2977C116%2016.1245%20111.93%206.76185%20103.898%203.50591C97.2299%200.125211%2096.2421%20-1.00169%2081.6706%200.970385C67.0991%202.94246%2061.6657%200.970385%2051.5397%200.970385C41.4138%200.970385%2042.6487%202.09728%2032.2757%200.970385Z%22%20fill%3D%22%23CEA24F%22%2F%3E%0A%3C%2Fsvg%3E);
}


:root {
  --btn-menu: url(data:image/svg+xml,%3Csvg%20width%3D%2290%22%20height%3D%2289%22%20viewBox%3D%220%200%2090%2089%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M60.4518%2085.9731C51.5238%2090.4371%2036.8919%2087.8331%2030.6919%2085.9731C20.3236%2083.9085%206.04701%2070.6282%201.39703%2058.5382C-3.25294%2046.4483%205.11702%2029.7084%206.04701%2023.1984C6.97701%2016.6884%2018.0569%203.42096%2038.1319%200.413525C53.8811%20-1.94588%2068.3567%206.45849%2072.5417%208.78348C76.7267%2011.1085%2088.3516%2031.1034%2089.7466%2039.4733C91.1416%2047.8433%2086.4916%2064.5832%2082.7716%2068.7682C79.0517%2072.9532%2071.6117%2080.3931%2060.4518%2085.9731Z%22%20fill%3D%22%23515736%22%2F%3E%0A%3C%2Fsvg%3E);
}

.btn_gr {
  color: #fff;
  display: block;
  width: 250px;
  height: 60px;
  -webkit-mask-image: var(--btn-bk);
  mask-image: var(--btn-bk);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: #515736;
  position: relative;
  text-align: center;
  line-height: 5.5rem;
}

.btn_gr::after {
  content: "";
  width: 12px;
  height: 10px;
  display: inline-block;
  background: url(../images/arrow.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}

.btn_gr:hover {
  background-color: #5b632f;
  transform: scale(0.98, 0.98);
}

.btn_ye {
  color: #fff;
  display: block;
  width: 170px;
  height: 60px;
  -webkit-mask-image: var(--btn-ye);
  mask-image: var(--btn-ye);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: #CEA24F;
  position: relative;
  text-align: center;
  line-height: 5rem;
  z-index: 1000;
}

.btn_ye:hover {
  background-color: #C0933F;
  transform: scale(0.98, 0.98);
}

.btn_menu {
  color: #fff;
  display: block;
  width: 80px;
  height: 80px;
  -webkit-mask-image: var(--btn-menu);
  mask-image: var(--btn-menu);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: #515736;
  position: relative;
  text-align: center;
  line-height: 5rem;
  transition: .3s;
}

.btn_menu:hover {
  background-color: #5b632f;
  transform: scale(0.98, 0.98);
}

.btn_gr, .btn_wh, .btn_ye, .btn_menu:hover {
  opacity: 1 !important;
}

.btn_center {
  margin: 0 auto;
}

/* アニメーションキーフレーム */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

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

@keyframes fadeIn-bottom {
  0% {
    opacity: 0;
  }
  100% {
    transform: translateY(-10%);
    opacity: 1;
  }
}

@keyframes fadeIn-pyon {
  0% {
    transform: translateY(80px);
    opacity: 0;
  }
  60% {
    transform: translateY(-40px);
  }
  100% {
    transform: translateY(0);
  }
  40%,100% {
    opacity: 1;
  }
}

@keyframes fuwafuwa {
  0%, 100% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    transform: translate(0, 5px);
    opacity: 1;
  }
}

.fuwafuwa { 
  animation: fuwafuwa 3s infinite;
}

@keyframes furifuri {
  0%, 100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  60% {
    transform: rotate(1deg);
  }
  70% {
    transform: rotate(-1deg);
  }
  80% {
    transform: rotate(1deg);
  }
  90% {
    transform: rotate(-1deg);
  }
}

.furifuri { 
  animation: furifuri 5s infinite;
}

@keyframes yurayura {
  0%, 100% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    transform: translate(-20px, -5px);
    opacity: 1;
  }
}

.yurayura { 
  animation: yurayura 5s infinite;
}



/* スクロール時のフェードイン */
.fade-in-section {
  opacity: 0;
  transform: translate(0, 5%);
  transition: 2s;
}

.bottom-in-img {
  opacity: 0;
  transform: translateY(20%);
  transition: .5s;
}

.bottom-in {
  animation: fadeIn-pyon .5s forwards;
}

.bottom-in-img2 {
  opacity: 0;
  transform: translate(-50%, 20%);
  transition: .5s;
}

.bottom-in2 {
  animation: fadeIn-pyon2 .5s forwards;
}

@keyframes fadeIn-pyon2 {
  0% {
    transform: translate(-50%, 60px);
    opacity: 0;
  }
  60% {
    transform: translate(-50%, -20px);
  }
  100% {
    transform: translate(-50%, 0);
  }
  40%,100% {
    opacity: 1;
  }
}


.fade-in {
  opacity: 1;
  transform: translate(0, 0);
}

/* スクロール時の右スライドイン */
.slide-in-right-img {
  opacity: 1;
  transform: translate(120%, -20%);
  transition: 1.5s;
}

.slide-in-right {
  opacity: 1;
  transform: translate(0, 0);
}

/* スクロール時の左スライドイン */
.slide-in-left-img {
  opacity: 1;
  transform: translate(-120%, -20%);
  transition: 1.5s;
}

.slide-in-left {
  opacity: 1;
  transform: translate(0, 0);
}

/* スクロール時のズームイン */
.bottom-in-img {
  opacity: 0;
  transform: translateY(20%);
  transition: .5s;
}

.bottom-in {
  animation: fadeIn-pyon .5s forwards;
}

@keyframes fadeIn-pyon {
  0% {
    transform: translateY(80px);
    opacity: 0;
  }
  60% {
    transform: translateY(-40px);
  }
  100% {
    transform: translateY(0);
  }
  40%,100% {
    opacity: 1;
  }
}

/* ページトップ飛び出し */
.slide-in-pagetop-img {
  transform: translate(80%, 5%);
  transition: .5s;
}

.slide-in-pagetop {
  transform: translate(0, 0);
}

/* 横幅 */
.inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 40px;
}

/* ヘッダー */
.header {
  height: 150px;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 999;
  padding: 20px;
}

.header_logo {
  margin-top: -20px;
  margin-left: -20px;
}

.header_logo:hover {
  opacity: 1;
}

.header_menu {
  display: flex;
  gap: 30px;
  line-height: 2.8rem;
  flex-direction: column;
}

.header_right_gr {
  display: flex;
  gap: 20px;
  align-items: center;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1200;
}

/* メニューボタン */
:root {
  --btn-menu-bk: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwIiBoZWlnaHQ9IjQ1NyIgdmlld0JveD0iMCAwIDI1MCA0NTciIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik00My45MjM2IDMuMDI4ODhDMzIuNDY1MyAzLjAyODg4IDEzLjM2ODEgLTAuMjU3NjY4IDAgMy4wMjg4OEwyLjQzNDQ1IDM1LjY4NDZMMCA2My40NzU5TDIuNDM0NDUgMTE4LjQ0MUwwIDE2MS42NzJMNC4zODIwMSAyMTAuNDYxTDAgMjc1LjMwN0w0LjM4MjAxIDMyNi41NjdMMCAzNzMuNTAzTDQuMzgyMDEgNDE4LjU4N0wwIDQ1Ni4yNTlMNjcuMTkwOCA0NTIuNTU0TDExMC41MjQgNDU2LjI1OUwxNDYuMDY3IDQ1Mi41NTRMMTgyLjA5NyA0NTYuMjU5TDIyMS41MzUgNDUyLjU1NEwyNTAgNDU2LjI1OUwyNDcuMzQgMzkyLjY0OEwyNTAgMzU4LjA2M0wyNDcuMzQgMzA4LjAzOUwyNTAgMjQxLjM0TDI0Ny4zNCAxNDYuODVMMjUwIDc4LjI5NzlMMjQ3LjM0IDMxLjM2MTVMMjUwIDAuMDE2MjEzN0MyMjQuNDc5IDUuNzY3NjggMjA4LjE2IDAuMDE2MjEzNyAxODYuMjg1IDAuMDE2MjEzN0MxNzcuMjU3IDAuMDE2MjEzNyAxNTYuNzcxIDMuMDI4ODggMTM5Ljc1NyAzLjAyODg4QzEyMi43NDMgMy4wMjg4OCAxMDUuMzgyIDAuMjkwMDkzIDkyLjE4NzUgMC4wMTYyMTM3Qzc4Ljk5MzEgLTAuMjU3NjY2IDU1LjM4MTkgMy4wMjg4OCA0My45MjM2IDMuMDI4ODhaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjkiLz4KPC9zdmc+);
}

.menu {
  display: block;
  padding: 40px 30px;
  background-color: #fff;
  position: fixed;
  top: 6%;
  right: 3%;
  opacity: 0;
  width: 250px;
  transition: .5s;
  font-size: 1.5rem;
  overflow-x: hidden;
  line-height: 5rem;

  -webkit-mask-image: var(--btn-menu-bk);
  mask-image: var(--btn-menu-bk);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  pointer-events: none;
}

.menu.active{
  opacity: .95;
  z-index: 999;
  pointer-events: auto;
}

.hamburger {
  display: block; 
  position: relative;
  font-size: 1rem;
  letter-spacing: 0.2rem;
  line-height: 10rem;
  font-weight: 600;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
  z-index: 1000;
}

.hamburger span{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  height: 2px; 
  width: 40%; 
  border-radius: 2px;
  transition: all 0.4s ease-in-out;
}
.hamburger span:first-of-type{/* ハンバーガーメニューの1番目の線 */
  top: 25px;
}
.hamburger span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
  top: 32px;
}

/* メニュークリック時 */
.hamburger.active span:first-of-type{/* ハンバーガーメニューの1番目の線 */
  transform: translate(-50%, 3px) rotate(30deg);
}
.hamburger.active span:nth-of-type(2){/* ハンバーガーメニューの2番目の線 */
  transform: translate(-50%, -3px) rotate(-30deg);
}

.header_menu li {
color: #515736;
}

.header_link {
  display: flex;
  align-items: center;
}

.menu_icon {
  margin-right: 1rem;
}


.bird {
  position: absolute;
  width: 132px;
  right: 15%;
  bottom: -30px;
  z-index: 100;
}

/* ===============================================
TOPページ
=============================================== */

/* ~~~~~~~~~~~~~~ ファーストビュー ~~~~~~~~~~~~~~ */
.fv {
  width: 100%;
  position: relative;
  z-index: 50;
  background-image: url(../images/separator_be.svg);
  background-repeat: no-repeat;
  background-position: left 50% bottom 0px;
  background-size: 100%;
  padding-bottom: 20px;
}

.fv_gr {
  display: flex;
}

.fv_img_gr {
  width: 60%;
  margin-right: -2px;
}

.copy_gr {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  width: 40%;
  justify-content: center;
  gap: 50px;
  color: #515736;
  position: relative;
}

.fv_tx {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  font-size: 2rem;
  letter-spacing: 0.5rem;
  line-height: 5.5rem;
  margin-top: 100px;
}

:root {
  --fv: url(data:image/svg+xml,%3Csvg%20width%3D%22958%22%20height%3D%22687%22%20viewBox%3D%220%200%20958%20687%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M23.0449%20106C37.2782%2031.6703%2084.3493%2016.6201%20134%2010C209%200%20278%2010%20356%2010C434%2010%20403.045%200%20497.045%200C591.045%200%20609.045%2010%20673.045%2010C737.045%2010%20761.045%200%20843.045%200C908.645%200%20946.378%206.66667%20957.045%2010V672C901.045%20698%20765.045%20682%20685.045%20672C605.045%20662%20583.045%20682%20497.045%20682C411.045%20682%20321.045%20672%20255.045%20672C189.045%20672%20109.045%20694%2057.0449%20672C-46.9551%20638%2023.0449%20414%2023.0449%20352C23.0449%20290%205.04488%20200%2023.0449%20106Z%22%20fill%3D%22%23D9D9D9%22%2F%3E%0A%3C%2Fsvg%3E);
}

.fv_img {
  -webkit-mask-image: var(--fv);
  mask-image: var(--fv);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  object-fit: cover;
  width: 110%;
}

.tree1 {
  position: absolute;
  width: 317px;
  left: 0px;
  bottom: -300px;
}

/* ~~~~~~~~~~~~~~ MOKUReについて ~~~~~~~~~~~~~~ */

#about {
  background-color: #EDE5DB;
  padding: 120px 0 260px 0;
  margin-top: -10px;
  position: relative;
  z-index: 49;
}

.about_wrap {
  display: flex;
  gap: 6vw;
  position: relative;
}

.about_img {
  width: 100%;
  object-fit: contain;
}

.block {
  position: absolute;
  width: 230px;
  left: 18vw;
  bottom: -70px;
}

.about_tx_gr {
  display: flex;
  gap: 80px;
  flex-direction: row-reverse;
  padding-right: 10vw;
  padding-top: 100px;
}

.about_tx {
  width: 80%;
  text-align: justify;
}

.about_wrap2 {
  display: flex;
  flex-direction: row-reverse;
  gap: 6vw;
  position: relative;
  margin: 120px 0 200px 0;
}

.about_tx_gr2 {
  display: flex;
  gap: 80px;
  padding-left: 10vw;
  padding-top: 100px;
}

.relax {
  position: absolute;
  width: 300px;
  right: 16vw;
  bottom: -190px;
}

.tree2 {
  position: absolute;
  width: 267px;
  right: 0px;
  top: -233px;
}

.bbq {
  position: absolute;
  width: 415px;
  right: 0px;
  bottom: -220px;
}

.about_img_gr {
  width: 100%;
  padding-left: 6vw;
  position: relative;
}

.about_tx3 {
  text-align: justify;
  padding-right: 10vw;
  padding-top: 100px;
}

.tree3 {
  position: absolute;
  width: 280px;
  left: 0px;
  bottom: -200px;
}

/* ~~~~~~~~~~~~~~ お部屋 ~~~~~~~~~~~~~~ */
#room {
  padding: 300px 0 400px 0;
  margin-top: -10px;
  position: relative;
  background-image: url(../images/separator_be2.svg),
  url(../images/separator_gr.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 50% top 0px, left 50% bottom 0px;
}

.h2_gr {
  width: 28%;
}

.h2_sub {
  margin-bottom: 10px;
  display: block;
}

.head_wrap {
  display: flex;
  align-items: flex-end;
}

.head_tx {
  width: 72%;
}

/* カルーセル */
.slide_wrap {
  position: relative;
}

.room_slide {
  position: relative;
}

.room_contents {
  margin: 0 20px;
}

.room_img_gr {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 540 / 380;
  margin-bottom: 20px;
}

.room_img_link {
  display: block;
  width: 100%;
}

.room_img {
  object-fit: cover;
  width: 100%;
  height: auto;
  transition: transform .6s ease;
}

.slick-track {
  padding: 200px 0 80px 0;
}

[class*="carousel__arrow--"]{
  background: url(../images/arrow_prev.svg);
  position: absolute;
  width: 30px;
  background-size: 30px;
  aspect-ratio: 1;
  z-index: 2;
  cursor: pointer;
}
.carousel__arrow--prev{
  left: 40px !important;
  z-index: 50;
  top: 50%;
  transform: translateY(-50%);
}
.carousel__arrow--next{
  right: 40px !important;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}

.slick-dots li button:before {
  opacity: 1 !important;
  border: solid 1px #515736;
  content: "" !important;
  width: 10px !important;
  height: 10px !important;
  display: inline-block;
  border-radius: 50%;
}

.slick-dots li.slick-active button:before {
  background-color: #515736 !important;
}

.slick-dots {
  display: flex !important;
  justify-content: flex-end !important;
  position: static !important;
  padding: 0 40px !important;
  width: 100% !important;
  max-width: 1140px !important;
  margin: 0 auto !important;
}

.room_h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.sleep {
  position: absolute;
  width: 440px;
  right: 20px;
  top: 90px;
  z-index: 50;
}

.room_details_list_container {
  width: 40%;
}

.room_details_list {
  display: flex;
  padding: 1rem 0;
  border-bottom: 1px solid #cbc2c1;
}

.room_details_list_title {
  width: 30%;
}

.room_details_list_description {
  width: 70%;
  font-weight: 400;
}

.room_bottom_wrap {
  display: flex;
  gap: 40px;
  margin-top: -40px;
}

.room_discriction_container {
  margin-top: 100px;
}

.room_discriction_h3 {
  font-weight: 600;
  font-size: 2rem;
  color: #5b632f;
}

.room_discriction_h3 span {
  font-weight: 300;
  padding-right: 1rem;
}

.room_btn_wrap {
  width: 60%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.room_discriction_h4_2 {
  font-weight: bold;
  transition: .3s;
  padding: 20px 10px 20px 40px;
}

.room_discriction_wrap:first-of-type {
  margin-top: 40px;
  border-top: #cbc2c1 1px solid;
}

.room_discriction_wrap {
  border-bottom: #cbc2c1 1px solid;
}

.room_discriction_wrap:hover {
  .room_discriction_h4_2 {
    background-color: #f0f2ee;
  }
}


.room_discriction_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 50px;
  padding: 0 10px 20px 10px;
}

.room_discriction_grid_none {
  grid-template-columns: 1fr;
}

.room_discriction_h5 {
  font-weight: 700;
  margin-bottom: 10px;
}

.room_discriction_img {
  width: 100%;
  height: 300px;
  border-radius: 20px;
  object-fit: cover;
}

/* オプションアコーディオン */
.toggle, 
.toggle2, 
.toggle3, 
.toggle4, 
.toggle5 {
	display: none;
}
.Label_common {		/*タイトル*/
  font-weight: 600;
  display: block;
  position: relative;
}

.Label_common::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 10px;
  height: 1px;
  background-color: #6E4D39;
  transition: .2s;
  transform: rotate(0deg);
}

.Label_common::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 10px;
  width: 10px;
  height: 1px;
  background-color: #6E4D39;
  transition: .2s;
  transform: rotate(90deg);
}

.Label_common,
.content_common {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content_common {		/*本文*/
	height: 0;
	padding: 0 1px;
	overflow: hidden;
}
.toggle:checked + .Label + .content, 
.toggle2:checked + .Label2 + .content2, 
.toggle3:checked + .Label3 + .content3, 
.toggle4:checked + .Label4 + .content4, 
.toggle5:checked + .Label5 + .content5 {	/*開閉時*/
	height: auto;
	padding: 20px 1px;
	transition: all .3s;
}

.toggle:checked + .Label::after, 
.toggle2:checked + .Label2::after, 
.toggle3:checked + .Label3::after, 
.toggle4:checked + .Label4::after, 
.toggle5:checked + .Label5::after {
	transform: rotate(45deg) !important;
}

.toggle:checked + .Label::before, 
.toggle2:checked + .Label2::before, 
.toggle3:checked + .Label3::before, 
.toggle4:checked + .Label4::before, 
.toggle5:checked + .Label5::before {
	transform: rotate(135deg) !important;
}

.room_discriction_tx {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.8rem;
}

.house_rules_link {
  display: inline-block;
  font-weight: 700;
  border-bottom: #6E4D39 1px dotted;
}

.room_discriction_grid_house_rules {
  display: block;
}


/* ~~~~~~~~~~~~~~ 料金プラン ~~~~~~~~~~~~~~ */
#plan {
  background-color: #E5EAE2;
  padding: 80px 0 100px 0;
  margin-top: -10px;
  position: relative;
  z-index: 13;
}

.run {
  position: absolute;
  width: 305px;
  left: 20px;
  top: -220px;
}

.tree4 {
  position: absolute;
  width: 364px;
  right: 20px;
  top: -280px;
}

.plan_table {
  width: 100%;
  background-color: #fff;
  text-align: center;
  border-radius: 20px;
  margin-top: 80px;
  overflow: hidden;
  border: 1px solid #9FAE98;
}

.plan_list {
  display: flex;
}

.plan_title {
  width: 40%;
  color: #fff;
  background-color: #515736;
  padding: 20px;
  border-right: 1px solid #9FAE98;
  border-bottom: 1px solid #9FAE98;
  line-height: 2rem;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.plan_price {
  font-size: 1.7rem;
  width: 60%;
  padding: 20px;
  border-bottom: 1px solid #9FAE98;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.plan_price_bottom, .plan_title_bottom {
  border-bottom: none;
}

:where(.wp-block-columns.is-layout-flex) {
  gap: 0em !important;
}

:where(.wp-block-columns) {
  margin-bottom: 0em !important;
}

.plan_table_bottom_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  gap: 30px !important;
  font-weight: 400;
}

.plan_attenrion_left {
  position: relative;
}

.plan_block {
  position: absolute;
  width: 214px;
  right: 52px;
  bottom: -11px;
}

/* 写真ループ */
.c-loop-slider {
  margin-top: 80px;
  margin-bottom: -350px;
}

@keyframes infinity-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.c-loop-slider {
  overflow: hidden;
}
.c-loop-slider__wrapper {
  display: flex;
  width: max-content;
}
.c-loop-slider__items {
  display: flex;
  animation: infinity-scroll 40s linear infinite both;
}
.c-loop-slider__items img {
  margin-right: 40px;
  width: auto;
  height: 240px;

  @media screen and (min-width: 767px) {
    height: min(340 / 767 * 100vw, 340px);
  }

  @media screen and (min-width: 1200px) {
    height: max(340 / 1200 * 100vw, 340px);
  }
}

.stay_img1, .stay_img3, .stay_img5, .stay_img7, .stay_img9, .stay_img11 {
  width: 407px;
}

.stay_img2, .stay_img4, .stay_img6, .stay_img8, .stay_img10 {
  width: 293px;
}

.stay_img1, .stay_img3, .stay_img5, .stay_img7, .stay_img9 {
  margin-top: 150px;
}

.stay_img4, .stay_img8, .stay_img11 {
  margin-top: 50px;
}

.tree5 {
  width: 263px;
  position: absolute;
  bottom: -460px;
  left: 0px;
}

.piggyback {
  width: 140px;
  position: absolute;
  bottom: -500px;
  right: 20px;
}


/* ~~~~~~~~~~~~~~ お知らせ ~~~~~~~~~~~~~~ */
#news {
  padding: 500px 0 360px 0;
  margin-top: -10px;
  position: relative;
  z-index: 12;
  background-image: url(../images/separator_gr2.svg), 
  url(../images/separator_be3.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: left 50% top 0px,  left 50% bottom 0px;
}

.news_container {
  display: flex;
  gap: 60px;
}

.news_left {
  width: 30%;
}

.news_right {
  width: 70%;
}

.news_btn {
  margin-top: 60px;
}

.news_list {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  border-bottom: 1px solid #cbc2c1;
  padding: 20px 0;
}

.news_list_date {
  font-weight: 500;
  font-size: 1.4rem;
  width: 15%;
}

.news_list_title {
  font-weight: 600;
  display: block;
  width: 100%;
  padding-right: 3rem;
  position: relative;
}

.news_list_title::after {
  content:"";
	width: 10px;
	height: 10px;
	border-top: 1px solid #6E4D39;
	border-right: 1px solid #6E4D39;
	position: absolute;
	top:calc( 50% - 3px );
  right: 5px;
  transform: rotate(45deg);
  margin-left: -2rem;
}

.news_container_sp {
  display: none;
}

.baby_mother {
  width: 227px;
  position: absolute;
  bottom: 0px;
  left: 20px;
}

.tree6 {
  width: 297px;
  position: absolute;
  bottom: -70px;
  right: 0px;
}

/* ~~~~~~~~~~~~~~ アクセス ~~~~~~~~~~~~~~ */
#access {
  background-color: #EDE5DB;
  padding: 100px 0 0px 0;
  margin-top: -10px;
  position: relative;
  z-index: 11;
}

.access_top_wrap {
  display: flex;
  justify-content: space-between;
  margin: 60px 0 30px 0;
}

.adress {
  display: inline-block;
}

.btn_map span {
  border-bottom: 1px solid #515736;
  color: #515736;
  font-size: 1.8rem;
  font-weight: 600;
  padding: 0 10px 10px 10px;
}

.btn_map span::after {
  content: "";
  background-image: url(../images/arrow_gr.svg);
  background-repeat: no-repeat;
  width: 12px;
  height: 10px;
  display: inline-block;
  margin-left: 3rem;
}

.map {
  margin-bottom: 30px;
  border-radius: 20px;
  width: 100%;
  height: 330px;
}

.accsess_bottom_wrap {
  display: flex;
  gap: 60px;
}

.accsess_bottom_wrap div {
  width: 50%;
}

.accsess_bottom_wrap p {
  font-weight: 400;
}

.accsess_h3 {
  border-bottom: 1px solid #6E4D39;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 600;
}

/* 風景写真 */
.scenery_img_wrap {
  position: relative;
}

.scenery_img {
  width: 100%;
  margin-bottom: -40px;
  margin-top: 150px;
}

.scenery_img_sp {
  display: none;
}

.ship {
  position: absolute;
  top: 65px;
  right: 40px;
  width: 140px;
}

/* ~~~~~~~~~~~~~~ ご予約 ~~~~~~~~~~~~~~ */
#reserve {
  background-image: url(../images/separator_wh2.svg), 
  url(../images/bk_pk.jpg);
  background-position: left 50% bottom 0px;
  padding: 150px 0 250px 0;
  position: relative;
  z-index: 9;
  margin-bottom: -50px;
  background-repeat: no-repeat, repeat;
  background-size: 100%, 145px;
}

#reserve .head_wrap, 
#contact .head_wrap {
  text-align: center;
  display: block;
}

#reserve .h2_gr, 
#contact .h2_gr {
  width: auto;
  display: inline;
}

#reserve .h2_sub, 
#contact .h2_sub {
  display: inline-block;
}


.reserve_btn_wrap {
  display: flex;
  gap: 60px;
  margin-top: 130px;
}

.reserve_btn_gr_left, 
.reserve_btn_gr_right {
  width: 50%;
  position: relative;
  display: flex;
}

.reserve_btn_gr_left {
  justify-content: flex-end;
}

.reserve_btn_gr_right {
  justify-content: flex-start;
}

.reserve_btn_gr {
  position: relative;
}

.btn_wh {
  color: #515736;
  display: block;
  width: 360px;
  height: 80px;
  font-size: 1.8rem;
  -webkit-mask-image: var(--btn-wh);
  mask-image: var(--btn-wh);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background: #fff;
  position: relative;
  text-align: center;
  line-height: 8rem;
  z-index: 50;
}

.btn_wh::after {
  content: "";
  width: 12px;
  height: 10px;
  display: inline-block;
  background: url(../images/arrow_gr.svg) no-repeat center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  position: absolute;
  top: 50%;
  right: 2.5rem;
  transform: translateY(-50%);
}

.btn_wh:hover {
  background-color: #E4E8E0;
  transform: scale(0.98, 0.98);
}

.girl, .boy {
  width: 147px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -88px;
  z-index: 49;
}

.reserve_text {
  text-align: center;
  margin-top: 30px;
  font-size: 1.3rem;
  line-height: 2.5rem;
}

/* ~~~~~~~~~~~~~~ お問い合わせ ~~~~~~~~~~~~~~ */
#contact {
  background-color: #FBFAF9;
  padding: 150px 0 200px 0;
  position: relative;
  z-index: 12;
  text-align: center;
}

.tree7 {
  position: absolute;
  width: 280px;
  left: 0px;
  top: -130px;
}

.tree8 {
  position: absolute;
  width: 257px;
  right: 0px;
  top: -120px;
}

.contact_tx {
  margin: 40px 0;
  font-weight: 400;
}

.contact_line_wrap p {
  font-weight: 400;
}

.contact_line_wrap {
  background-color: #E4E8E0;
  border-radius: 20px;
  padding: 30px;
  margin-bottom: 60px;
}

.contact_line_wrap .btn_gr {
  margin: 20px auto 0 auto;
}

.contact_inner {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: 0 40px;
}

.tree9 {
  position: absolute;
  width: 518px;
  left: -20px;
  bottom: -50px;
}

.tree10 {
  position: absolute;
  width: 550px;
  right: -20px;
  bottom: -50px;
}

.tree9_sp, .tree10_sp {
  display: none;
}

/*ContactForm7カスタマイズ*/
.wp-block-contact-form-7-contact-form-selector {
  padding-bottom: 120px;
}

table.CF7_table{
  text-align: left;
	width:100%;
	margin: 60px auto 0px auto;
	border: none;
}

.CF7_table th{
	width:30%;/*横幅*/
	background-color: transparent;
  padding-right: 30px;
}

.CF7_table p {
  margin-bottom: 30px;
  text-align: left;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: none;
  background: #F9F9F9;
  border: 1px solid #E6E6E6;
  border-radius: 10px;
  padding: 5px 10px;
  width: 100%;
}

.CF7_table input[type="radio"], .CF7_table input[type="checkbox"] {
  background: transparent !important;
  appearance: auto;
  width: 15px;
  margin-right: 5px;
}

.CF7_table ::placeholder {
	color:#797979;
}

.wpcf7-radio {
  display: flex;
}

.wpcf7-acceptance label {
  display: flex;
}

.radio .wpcf7-list-item {
  display: grid;
  grid-template-columns: 1fr 2fr;
}

.check_contents p {
  display: flex !important;
  justify-content: center !important;
}

/*「必須」文字*/
.CF7_req{
	font-size: 1.5rem;
	color: #e25333;
	margin-left:2px;
}

/* 「送信する」ボタン */

.submit_btn {
  color: #fff !important;
  display: block !important;
  width: 250px !important;
  height: 60px !important;
  -webkit-mask-image: var(--btn-bk) !important;
  mask-image: var(--btn-bk) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  background: #515736 !important;
  position: relative !important;
  text-align: center !important;
  line-height: 5.5rem !important;
  transition: .3s !important;
  margin: 0 auto !important;
}

.submit_btn:hover {
  background-color: #5b632f !important;
  transform: scale(0.98, 0.98) !important;
}

.wpcf7-spinner {
  display: block !important;
  margin: 0 auto !important;
  background-color: #515736 !important;
}

.privacy_link {
  border-bottom: solid 1px #6E4D39 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #515736 !important;
}

/* ~~~~~~~~~~~~~~ フッター ~~~~~~~~~~~~~~ */

#footer {
  padding: 100px 0 30px 0;
  position: relative;
  z-index: 13;
  background-image: url(../images/bk_gr.jpg);

  --height: 12px;
  mask-image:
      var(--separator-top),
      linear-gradient(to bottom, transparent 0%, transparent var(--height), #000 var(--height), #000 100%);
  mask-size: 1270px;
  margin-top: calc(-1 * var(--height));
  mask-position: top;
  color: #fff;
}

.footer_inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px;
}

.page_top {
  position: absolute;
  bottom: 40px;
  right: 40px;
  text-align: center;
}

.page_top:hover {
  opacity: 1 !important;
}

.page_top:hover {
  .page_top_img {
    transform: translate(-2px, -2px);
  }
}

.page_top_img {
  width: 110px;
  display: block;
  margin-bottom: -10px;
  padding-right: 10px;
  transition: .3s;
}

.footer_container {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 80px;
}

.footer_logo {
  width: 140px;
}

.footer_left_gr {
  display: flex;
  gap: 40px;
  align-items: center;
}

.footer_left_tx_gr {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.footer_insta {
  margin-top: 20px;
}

.header_insta {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.footer_btn_gr {
  display: flex;
  gap: 30px;
  margin-bottom: 30px;
}

.footer_btn_gr .btn_gr {
  background-color: #fff;
  color: #515736;
}

.footer_btn_gr .btn_gr:hover {
  background-color: #E4E8E0;
}

.footer_btn_gr .btn_gr::after {
  background-image: url(../images/arrow_gr.svg);
}

.footer_menu {
  display: grid;
  grid-template-columns: 2.5fr 2fr 2fr 1.2fr;
  gap: 10px;
}

.footer_adress span {
  font-weight: 400;
  font-size: 1.2rem;
}

.copy_right, 
.recaptcha {
  text-align: center;
  font-size: 1rem;
  line-height: 2rem;
  font-weight: 400;
}

.grecaptcha-badge {
  visibility: hidden;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お知らせ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.child_header {
  width: 100%;
  position: relative;
  padding: 0 40px;
  z-index: 11;
  margin-bottom: 20px;
  position: relative;
}

.child_header_inner {
  width: 100%;
  aspect-ratio: 1280 / 360;
  background-image: url(../images/child_head_news.png);
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 80px;
  display: flex;
  align-items: end;
}

.breadcrumb {
  display: flex;
  font-size: 1.2rem;
  padding-left: 40px;
  color: #828282;
  flex-wrap: wrap;
  line-height: 2rem;
}

.breadcrumb li::after {
  content: "/";
  margin: 0 1rem;
}

.breadcrumb li:last-child::after {
  content: "";
  margin: 0;
}

.mark {
  font-weight: 700;
  color: #515736;
}

.child_main_container {
  position: relative;
  z-index: 10;
  padding-bottom: 150px;
}

.child_news_container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 60px 40px;
  margin-top: 110px;
}

.run_child_news {
  position: absolute;
  width: 305px;
  right: 10px;
  bottom: -155px;
}

.date {
  font-weight: 400;
}

.news_h3 {
  font-weight: 600;
  font-size: 1.7rem;
  text-align: justify;
}

.child_news_wrap .news_thumbnail {
  aspect-ratio: 3 / 2;
  margin-bottom: 20px;
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
}

.child_news_wrap .news_thumbnail img {
  width: 100% !important;
  object-fit: cover;
  height: auto;
}

/* ページネーション */
.nav-links > .page-numbers {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 2rem;
  margin-top: 80px;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  line-height: 3rem;
  font-size: 1.2rem;
}

.page-numbers .page-numbers {
  display: inline-block;
  text-align: center;
  background-color: #fff;
  color: #515736;
  border-radius: 100vh;
  width: 30px;
  height: 30px;
}

.page-numbers.current {
  display: inline-block;
  text-align: center;
  background-color: #515736;
  color: #fff;
  border-radius: 100vh;
  width: 30px;
  height: 30px;
}

.prev, .next, .dots {
  background: none !important;
  color: #515736;
}

.next {
  padding-left: 1rem;
  width: 5rem !important;
}

.prev {
  padding-right: 1rem;
  width: 5rem !important;
}

/* 下層ご予約 */
#reserve.child_reserve {
  padding: 200px 0;
  background-image: url(../images/separator_wh.svg), 
  url(../images/bk_pk.jpg);
  background-position: left 50% top 0;
  background-repeat: no-repeat, repeat;
  background-size: 100%, 145px;
  position: relative;
  z-index: 11;
  margin-top: -50px;
}

.tree11 {
  position: absolute;
  width: 280px;
  left: 0px;
  top: -60px;
}

.tree12 {
  position: absolute;
  width: 257px;
  right: 0px;
  top: -50px;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：NEWS 詳細
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.child_header_inner_detail {
  width: 100%;
  aspect-ratio: 1280 / 360;
  background-image: url(../images/child_head_news2.png);
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 80px;
  display: flex;
  align-items: end;
}

.sleep_child_news {
  position: absolute;
  width: 400px;
  right: 10px;
  bottom: -100px;
}

.news_detail_wrap {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 60px;
}

.news_detail_head_gr {
  border-bottom: #6E4D39 1px dotted;
  margin-bottom: 60px;
}

.detail_date {
  font-size: 1.6rem;
  margin-bottom: 10px;
}

.news_detail_h1 {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 5.5rem;
  margin-bottom: 30px;
  text-align: justify;
}

.news_detail_main_img {
  width: 100%;
  margin: 0 auto;
  border-radius: 20px;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.news_detail_main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news_detail_contents {
  margin-bottom: 100px;
}

.news_detail_contents .wp-block-image {
  display: flex;
  justify-content: center;
}

.news_detail_contents .wp-block-image img {
  margin: 40px auto;
  border-radius: 20px;
}

h2.wp-block-heading {
  font-size: 2.4rem;
  border-bottom: 2px solid #CEA24F;
  padding-bottom: 1rem;
  margin-bottom: 20px;
  margin-top: 40px;
  line-height: 3.5rem;
  font-weight: bold;
}

h3.wp-block-heading {
  font-size: 2rem;
  border-left: 5px solid #CEA24F;
  padding-left: 1.5rem;
  margin-top: 40px;
  margin-bottom: 15px;
  line-height: 3rem;
  font-weight: bold;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：ハウスルール
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.child_header_inner_house_rules {
  width: 100%;
  aspect-ratio: 1280 / 360;
  background-image: url(../images/child_head_house_rules.png);
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 80px;
  display: flex;
  align-items: end;
}

#house_rules {
  text-align: left !important;
  padding: 100px 0 150px 0;
}

ul.wp-block-list {
  margin-left: 20px;
  list-style-type: disc;
  list-style-position: outside;
}

#house_rules .wp-block-list li strong {
  color: #933333;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：プライバシーポリシー
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#privacy {
  text-align: left !important;
  padding: 100px 0 150px 0;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お問い合わせ完了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.thanks_main {
  margin-top: 70px;
}

.thanks_title {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
}

.thanks_container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tanks_wrap {
  max-width: 1200px;
  margin: 0 auto;
}

.thanks_img {
  width: 250px;
  margin: 50px auto;
  display: block;
}

.thanks_btn {
  margin: 50px auto 20vh auto;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：404
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.wrap_404 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
 margin: 0px auto 0px auto;
 height: 80vh;
 position: relative;
}

.wrap_404 .button_bk {
  width: 100%;
}

.title404 {
  font-size: 3.6rem;
  font-weight: 500;
}

.wrap_404 p {
  margin: 30px 0;
  text-align: center;
}

.grecaptcha-badge {
  visibility: hidden;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SP版
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

@media screen and (max-width: 767px) {
  body {
    min-width: auto;
    line-height: 3rem;
  }

  .inner {
    padding: 0 24px;
  }

  .btn_menu {
    width: 62px;
    height: 62px;
  }

  .hamburger {
    font-size: 0.8rem;
    line-height: 8rem;
  }

  .hamburger span:first-of-type {
    top: 20px;
  }

  .hamburger span:nth-of-type(2) {
    top: 27px;
  }

  .btn_ye {
    width: 116px;
    height: 46px;
    -webkit-mask-image: var(--btn-ye-sp);
    mask-image: var(--btn-ye-sp);
    line-height: 4.2rem;
  }

  .header {
    padding: 10px;
    display: flex;
    justify-content: space-between;
    height: 70px;
  }

  .header_logo {
    margin-top: -15px;
    margin-left: -15px;
  }

  .header_logo img {
    width: 130px;
  }

  .header_right_gr {
    top: 10px;
    right: 10px;
    gap: 10px;
  }

.header_right_gr .header_insta_tx {
    display: none;
  }

  .pc_display_none {
    display: block;
  }

  .bird {
    width: 94px;
    bottom: -70px;
  }

/* ===============================================
TOPページ
=============================================== */

/* ~~~~~~~~~~~~~~ ファーストビュー ~~~~~~~~~~~~~~ */
.fv_gr {
  flex-direction: column-reverse;
  gap: 40px;
}

.fv_img_gr {
  width: 100%;
  padding-left: 30px;
  padding-top: 50px;
}

.copy_gr {
  width: 100%;
  gap: 30px;
  padding: 0 24px;
}

.fv_h1 img {
  width: 32px;
}

.fv_tx {
  font-size: 1.6rem;
  line-height: 4rem;
  margin-top: 20px;
}

.tree1 {
  width: 140px;
  bottom: -130px;
}

/* ~~~~~~~~~~~~~~ MOKUReについて ~~~~~~~~~~~~~~ */
#about {
  padding-top: 80px;
}

.about_wrap, 
.about_wrap2 {
  flex-direction: column;
  gap: 60px;
}

.about_wrap .about_img {
  padding-right: 10px;
}

.about_wrap2 .about_img {
  padding-left: 10px;
}

.about_tx_gr, 
.about_tx_gr2 {
  padding: 0 24px;
  flex-direction: column;
  gap: 30px;
}

.about_wrap2 {
  margin-top: 100px;
}

.about_h2_tx {
  display: none;
}

.about_h2_sp {
  display: block;
}

.about_tx {
  width: 100%;
  line-height: 3.5rem;
}

.tree2 {
  width: 120px;
  top: -92px;
}

.block {
  width: 154px;
  top: -50px;
  bottom: auto;
  left: auto;
  right: 0px;
}

.relax {
  position: absolute;
  width: 204px;
  right: auto;
  left: 10px;
  bottom: -200px;
}

.about_img3 {
  display: none;
}

.about_img3_sp {
  display: block;
}

.about_img_gr {
  padding-left: 0;
}

.about_tx3 {
  padding: 0 24px;
}

.bbq {
  position: absolute;
  width: 294px;
  left: auto;
  right: 10px;
  bottom: -580px;
}

.tree3 {
  position: absolute;
  width: 124px;
  bottom: -100px;
}

/* ~~~~~~~~~~~~~~ お部屋 ~~~~~~~~~~~~~~ */
#room {
  padding: 160px 0 200px 0;
}

.head_wrap {
  flex-direction: column;
  gap: 30px;
}

.h2_sub_room {
  width: 45.76px;
}

.h2_room {
  width: 94px;
}

.h2_gr {
  width: 100%;
}

.head_tx {
  width: 100%;
}

.sleep {
  width: 294px;
  right: -50px;
  top: 13px;
}

.room_bottom_wrap {
  flex-direction: column;
}

.room_details_list_container {
  width: 100%;
}

.room_btn_wrap {
  width: 100%;
  justify-content: center;
}

.room_contents {
  margin: 0 10px;
}

.room_h3 {
  font-size: 1.8rem;
}

[class*="carousel__arrow--"]{
  background-size: 30px;
  width: 30px;
}
.carousel__arrow--prev{
  left: 10px !important;
  top: 48%;
  transform: translateY(-48%);
}
.carousel__arrow--next{
  right: 10px !important;
  top: 48%;
  transform: translateY(-48%) rotate(180deg);
}

.slick-track {
  padding: 100px 0 40px 0;
}

.slick-dots {
  padding: 0px !important;
  justify-content: center !important;
}

.room_bottom_wrap {
  margin-top: 80px;
}

.room_img_gr p {
  font-size: 1.4rem;
}

.plan_table_bottom_wrap {
  flex-direction: column;
  gap: 30px;
}

.check_time, .plan_attention {
  width: 100%;
}

.room_discriction_grid {
  grid-template-columns: 1fr;
  gap: 30px;
}

.room_discriction_grid_wrap {
  padding: 0;
}

.slick-dots li {
  width: 14px !important;
}

.room_discriction_img {
  height: 200px;
}

/* ~~~~~~~~~~~~~~ 料金プラン ~~~~~~~~~~~~~~ */

.run {
  position: absolute;
  width: 207px;
  left: -6px;
  top: -120px;
  z-index: 52;
}

.tree4 {
  position: absolute;
  width: 177px;
  right: -36px;
  top: -120px;
  z-index: 51;
}

.h2_sub_plan {
  width: 38.76px;
}

.h2_plan {
  width: 160px;
}

.plan_list {
  flex-direction: column;
}

.plan_title {
  width: 100%;
  padding: 20px;
}

.plan_price {
  width: 100%;
  padding: 20px;
}

.plan_table {
  margin-top: 40px;
}

.loop_wrap {
  margin-top: 60px;
  margin-bottom: -250px;
  .slideshow {
    grid-auto-columns: 280px;
  }
}

.stay_img1, .stay_img3, .stay_img5, .stay_img7, .stay_img9, .stay_img11 {
  width: 293px;
}

.stay_img2, .stay_img4, .stay_img6, .stay_img8, .stay_img10 {
  width: 214px;
}

.stay_img1, .stay_img3, .stay_img5, .stay_img7, .stay_img9 {
  margin-top: 70px;
}

.stay_img4, .stay_img8, .stay_img11 {
  margin-top: 30px;
}

.plan_block {
  width: 154px;
  right: -43px;
  bottom: auto;
  top: -66px;
}

.check_time {
  font-size: 1.6rem;
}

/* ~~~~~~~~~~~~~~ お知らせ ~~~~~~~~~~~~~~ */
#news {
  padding: 340px 0 200px 0;
}

.news_h3 {
  font-size: 1.6rem;
  line-height: 2.5rem;
}

.date {
  font-size: 1.3rem;
}

.h2_sub_news {
  width: 42.76px;
}

.h2_news {
  width: 127px;
}

.child_news_wrap .news_thumbnail {
  margin-bottom: 10px;
}

.tree5 {
  width: 120px;
  bottom: -300px;
  left: 0px;
}

.piggyback {
  width: 93px;
  bottom: -400px;
}

.news_container {
  display: none;
}

.news_container_sp {
  display: flex;
  flex-direction: column;
}

.news_right, .news_left {
  width: 100%;
}

.news_right {
  margin-top: 40px;
}

.news_list {
  flex-direction: column;
  gap: 0;
  padding: 15px 0;
}

.news_btn {
  margin: 60px auto 0 auto;
}

.baby_mother {
  width: 162px;
  bottom: -13px;
  left: 10px;
}

.tree6 {
  width: 147px;
  bottom: -40px;
}

/* ~~~~~~~~~~~~~~ アクセス ~~~~~~~~~~~~~~ */
#access {
  padding: 60px 0 0px 0;
}

.h2_sub_access {
  width: 52.76px;
}

.h2_access {
  width: 127px;
}

.adress_tx {
  overflow-wrap: anywhere;
}

.access_top_wrap {
  flex-direction: column;
  margin-top: 30px;
}

.btn_map {
  display: block;
  margin: 20px auto;
}

.accsess_bottom_wrap {
 flex-direction: column;
 gap: 30px;
}

.accsess_bottom_wrap div {
  width: 100%;
}

.ship {
  top: 20px;
  right: 20px;
  width: 120px;
}

.scenery_img {
  display: none;
}

.scenery_img_sp {
  display: inline;
  width: 100%;
  margin-bottom: -40px;
  margin-top: 100px;
}

/* ~~~~~~~~~~~~~~ ご予約 ~~~~~~~~~~~~~~ */
#reserve {
  padding: 100px 0 160px 0;
}

.h2_sub_reserve {
  width: 58.76px;
}

.h2_reserve {
  width: 266px;
}

.girl, .boy {
  width: 100px;
  top: -65px;
}

.reserve_btn_wrap {
  flex-direction: column;
  gap: 80px;
  margin-top: 100px;
}

.btn_wh {
  -webkit-mask-image: var(--btn-bk);
    mask-image: var(--btn-bk);
  font-size: 1.6rem;
  width: 250px;
  height: 60px;
  line-height: 6rem;
}

.reserve_btn_gr_left, .reserve_btn_gr_right {
  width: 100%;
  justify-content: center;
}

.tree7 {
  width: 140px;
  top: -60px;
}

.tree8 {
  width: 130px;
  top: -70px;
}

/* ~~~~~~~~~~~~~~ お問い合わせ ~~~~~~~~~~~~~~ */
#contact {
  padding: 100px 0;
}

.h2_sub_contact {
  width: 58.76px;
}

.h2_contact {
  width: 177px;
}

.contact_inner {
  padding: 0 24px;
}

.contact_tx {
  text-align: justify;
  margin: 30px 0;
}

.contact_line_wrap {
  padding: 30px 20px;
  margin-bottom: 40px;
}

.contact_line_wrap .btn_gr {
  width: 217px;
  height: 52px;
  line-height: 5rem;
}

.tree9, .tree10 {
  display: none;
}

.tree9_sp {
  display: block;
  position: absolute;
  width: 225px;
  left: -20px;
  bottom: -10px;
}

.tree10_sp {
  display: block;
  position: absolute;
  width: 201px;
  right: -20px;
  bottom: -15px;
}

/* お問い合わせフォーム */

.contact-btn {
  font-size: 1.3rem;
  width: 100% !important;
  max-width: 250px;
  height: 50px;
  line-height: 2rem;
}


.CF7_table p {
  margin-bottom: 0;
}

.CF7_table tr {
  margin-bottom: 20px;
}

.contact-btn:after {
  position: absolute;
  right: 1rem;
}

table.CF7_table{
  width:95%;
  }
  .CF7_table tr, .CF7_table td, .CF7_table th{
  display: block;
  width: 100%;
  }

/* ~~~~~~~~~~~~~~ フッター ~~~~~~~~~~~~~~ */
#footer {
  padding: 80px 0 30px 0;
  --height: 6px;
  mask-size: 635px;
}

.footer_container {
  flex-direction: column;
  margin-bottom: 40px;
}

.footer_left_gr {
  flex-direction: column;
  gap: 30px;
}

.footer_logo {
  width: 110px;
}

.footer_right_gr {
  display: none;
}

.page_top {
  position: static;
  display: inline-block;
}

.page_top_wrap {
  text-align: center;
}

.page_top_img {
  width: 90px;
}

.copy_right {
  margin-top: 30px;
}

.recaptcha {
  font-size: 0.8rem;
  line-height: 1rem;
}

.footer_adress {
  text-align: center;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お知らせ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.breadcrumb {
  padding-left: 24px;
}

.child_header {
  padding: 0 24px;
  margin-bottom: 20px;
  margin-top: 50px;
}

.child_header_inner {
  aspect-ratio: 336 / 240;
  background-image: url(../images/child_head_news_sp.png);
  padding: 40px;
}

#reserve.child_reserve {
  padding-bottom: 150px;
  padding: 100px 0 120px 0;
}

.run_child_news {
  width: 180px;
  right: 0px;
  bottom: -135px;
}

.child_news_container {
  grid-template-columns: 1fr 1fr;
  gap: 30px 20px;
}

.child_news_wrap .news_thumbnail {
  border-radius: 10px;
}

.tree11 {
  position: absolute;
  width: 142px;
  left: 0px;
  top: -60px;
}

.tree12 {
  position: absolute;
  width: 130px;
  right: 0px;
  top: -50px;
}


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お知らせ 詳細
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.child_header {
  padding: 0 24px;
  margin-bottom: 20px;
  margin-top: 50px;
}

.child_header_inner_detail {
  aspect-ratio: 336 / 240;
  background-image: url(../images/child_head_news2_sp.png);
  padding: 40px;
}

.sleep_child_news {
  width: 270px;
  right: 0px;
  bottom: -176px;
}

.news_detail_wrap {
  padding: 130px 24px  30px 24px;
}

.news_detail_contents {
  margin-bottom: 60px;
}

.news_detail_contents .wp-block-image img {
  margin: 20px auto;
}

.news_detail_head_gr {
  margin-bottom: 30px;
}

.news_detail_h1 {
  font-size: 2.4rem;
  line-height: 4rem;
}

h2.wp-block-heading {
  font-size: 2.2rem;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：ハウスルール
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.child_header_inner_house_rules {
  aspect-ratio: 336 / 240;
  background-image: url(../images/child_head_house_rules_sp.png);
  padding: 40px;
}

#house_rules {
  padding: 50px 0 150px 0;
}

.h2_house_rules {
  max-width: 368px;
  width: 100%;
}

.h2_sub_house_rules {
  width: 86px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：プライバシーポリシー
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#privacy {
  padding: 50px 0 150px 0;
}

.h2_privacy {
  max-width: 323px;
  width: 100%;
}

.h2_sub_privacy {
  width: 102px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下層ページ：お問い合わせ完了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.thanks_main {
  margin-top: 60px;
}

.thanks_title {
  font-size: 2rem;
  margin-bottom: 40px;
  text-align: left;
}

.thanks_img {
  width: 200px;
  margin: 80px auto 40px auto;
}

}

@media screen and (max-width: 400px) {
  .bbq {
    bottom: -593px;
  }
}

@media screen and (max-width: 350px) {
  .header_right_gr .header_insta {
    display: none;
  }

  .bbq {
    bottom: -645px;
  }
}